function MM_findObj(n, d) { //v4.01
    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 && d.getElementById) x = d.getElementById(n);
    return x;
}

function MM_callJS(jsStr) { //v2.0
    return eval(jsStr)
}

function YY_checkform() { //v4.65
    //copyright (c)1998,2002 Yaromat.com
    var args = YY_checkform.arguments;
    var myDot = true;
    var myV = '';
    var myErr = '';
    var addErr = false;
    var myReq;
    for (var i = 1; i < args.length; i = i + 4) {
        if (args[i + 1].charAt(0) == '#') {
            myReq = true;
            args[i + 1] = args[i + 1].substring(1);
        } else {
            myReq = false
        }
        var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig, ""));
        myV = myObj.value;
        if (myObj.type == 'text' || myObj.type == 'password' || myObj.type == 'hidden' || myObj.type == 'textarea') {
            if (myReq && myObj.value.length == 0) {
                addErr = true
            }
            if ((myV.length > 0) && (args[i + 2] == 1)) { //fromto
                var myMa = args[i + 1].split('_');
                if (isNaN(parseInt(myV)) || myV < myMa[0] / 1 || myV > myMa[1] / 1) {
                    addErr = true
                }
            } else if ((myV.length > 0) && (args[i + 2] == 2)) {
                var rx = new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");
                if (!rx.test(myV)) addErr = true;
            } else if ((myV.length > 0) && (args[i + 2] == 3)) { // date
                var myMa = args[i + 1].split("#");
                var myAt = myV.match(myMa[0]);
                if (myAt) {
                    var myD = (myAt[myMa[1]]) ? myAt[myMa[1]] : 1;
                    var myM = myAt[myMa[2]] - 1;
                    var myY = myAt[myMa[3]];
                    var myDate = new Date(myY, myM, myD);
                    if (myDate.getFullYear() != myY || myDate.getDate() != myD || myDate.getMonth() != myM) {
                        addErr = true
                    };
                } else {
                    addErr = true
                }
            } else if ((myV.length > 0) && (args[i + 2] == 4)) { // time
                var myMa = args[i + 1].split("#");
                var myAt = myV.match(myMa[0]);
                if (!myAt) {
                    addErr = true
                }
            } else if (myV.length > 0 && args[i + 2] == 5) { // check this 2
                var myObj1 = MM_findObj(args[i + 1].replace(/\[\d+\]/ig, ""));
                if (myObj1.length) myObj1 = myObj1[args[i + 1].replace(/(.*\[)|(\].*)/ig, "")];
                if (!myObj1.checked) {
                    addErr = true
                }
            } else if (myV.length > 0 && args[i + 2] == 6) { // the same
                var myObj1 = MM_findObj(args[i + 1]);
                if (myV != myObj1.value) {
                    addErr = true
                }
            }
        } else if (!myObj.type && myObj.length > 0 && myObj[0].type == 'radio') {
            var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
            var myObj1 = (myObj.length > 1) ? myObj[myTest[2]] : myObj;
            if (args[i + 2] == 1 && myObj1 && myObj1.checked && MM_findObj(args[i + 1]).value.length / 1 == 0) {
                addErr = true
            }
            if (args[i + 2] == 2) {
                var myDot = false;
                for (var j = 0; j < myObj.length; j++) {
                    myDot = myDot || myObj[j].checked
                }
                if (!myDot) {
                    myErr += '* ' + args[i + 3] + '\n'
                }
            }
        } else if (myObj.type == 'checkbox') {
            if (args[i + 2] == 1 && myObj.checked == false) {
                addErr = true
            }
            if (args[i + 2] == 2 && myObj.checked && MM_findObj(args[i + 1]).value.length / 1 == 0) {
                addErr = true
            }
        } else if (myObj.type == 'select-one' || myObj.type == 'select-multiple') {
            if (args[i + 2] == 1 && myObj.selectedIndex / 1 == 0) {
                addErr = true
            }
        } else if (myObj.type == 'textarea') {
            if (myV.length < args[i + 1]) {
                addErr = true
            }
        }
        if (addErr) {
            myErr += '* ' + args[i + 3] + '\n';
            addErr = false
        }
    }
    if (myErr != '') {
        alert(myErr)
    }
    document.MM_returnValue = (myErr == '')
}
