function generateID(agentCode){
    // generate unique code
    var today = new Date();
    var year = today.getYear() % 100;
    var month = today.getMonth() + 1;
    var day = today.getDate();
    var hour = today.getHours();
    var minute = today.getMinutes();
    
    // fix up values that are less than 10
    if (year < 10) {
        year = '0' + year;
    }
    if (month < 10) {
        month = '0' + month;
    }
    if (day < 10) {
        day = '0' + day;
    }
    if (hour < 10) {
        hour = '0' + hour;
    }
    if (minute < 10) {
        minute = '0' + minute;
    }
    var uniqCode = agentCode + year + month + day + hour + minute;
    
    // change the element value
    document.forms[0].elements["trans_id"].value = uniqCode;
}

generateID("BBE");
// Only fill first time!
if (document.forms[0].elements["trans_id"].value == "") {
    document.forms[0].elements["trans_id"].value = this.document.forms[0].elements["merchant"].value + "-" + Math.floor((new Date()).getTime() / 10000);
}

function MM_findObj(n, d){ //v4.0
    var p, i, x;
    if (!d) 
        d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) 
        x = d.all[n];
    for (i = 0; !x && i < d.forms.length; i++) 
        x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) 
        x = MM_findObj(n, d.layers[i].document);
    if (!x && document.getElementById) 
        x = document.getElementById(n);
    return x;
}

function MM_validateForm(){ //v4.0
    var i, p, q, nm, test, num, min, max, errors = '', args = MM_validateForm.arguments;
    for (i = 0; i < (args.length - 2); i += 3) {
        test = args[i + 2];
        val = MM_findObj(args[i]);
        if (val) {
            nm = val.name;
            if ((val = val.value) != "") {
                if (test.indexOf('isEmail') != -1) {
                    p = val.indexOf('@');
                    if (p < 1 || p == (val.length - 1)) 
                        errors += '- ' + nm + ' must contain an e-mail address.\n';
                }
                else 
                    if (test != 'R') {
                        if (isNaN(val)) 
                            errors += '- ' + nm + ' must contain a number.\n';
                        if (test.indexOf('inRange') != -1) {
                            p = test.indexOf(':');
                            min = test.substring(8, p);
                            max = test.substring(p + 1);
                            if (val < min || max < val) 
                                errors += '- ' + nm + ' must contain a number between ' + min + ' and ' + max + '.\n';
                        }
                    }
            }
            else 
                if (test.charAt(0) == 'R') 
                    errors += '- ' + nm + ' is required.\n';
        }
    }
    if (errors) 
        alert('The following error(s) occurred:\n' + errors);
    document.MM_returnValue = (errors == '');
}

