function checkEmailFormat1(emailStr) {
    if ((emailStr.indexOf("@") < 1) || (emailStr.indexOf("@") == emailStr.length - 1) /*|| !reAlphanumeric.test(emailStr)*/) {
        return false;
    } else
        return true;
}

var fadeErrorFieldVar;
var fadeErrorFieldObj;
function fadeErrorField() {
    fadeErrorFieldObj.style.backgroundColor = "rgb(255, " + fadeErrorFieldVar + ", " + fadeErrorFieldVar + ")";
    fadeErrorFieldVar += 2;
    if (fadeErrorFieldVar < 237)
        setTimeout(fadeErrorField, 10);
}

function alertField(l, errType, param) {
    var fieldType = l.getAttribute("pasnatype");

    try
    {
        l.focus();
    }
    catch(fcerr) {
        if (l.config && document.all[l.config.editorAreaName])//editor for textarea
            l = document.all[l.config.editorAreaName];
        else
            return;
    }

    fadeErrorFieldVar = 150;
    fadeErrorFieldObj = l;
    l.style.backgroundColor = "rgb(255, 150, 150)";
    setTimeout(fadeErrorField, 500);
    if (errType == -1) {
        alert(pasnaRequired);
        return false;
    }
    if (l.type == "file") {
        if (errType == 3)
            alert(fileNotFound);
        else if (errType == 4)
            alert(fileExtension + "\n[" + l.getAttribute("pasnaFileExtension") + "] " + isAccept);
        else
            alert(englishName);
    }
    if (errType == 11) {
        alert(invalidLength);
        return false;
    }
    if (errType == 10) {
        alert(invalidLength);
        return false;
    }


    if (fieldType == "email")
        alert(emailErr);
    if (fieldType == "certno")
        alert(certnoErr);
    if (fieldType == "integer")
        alert(integerErr);
    if (fieldType == "real")
        alert(realErr);
    if (fieldType == "tel")
        alert(telErr);
    if (fieldType == "nationalcode")
        alert(nationalcodeErr);
    if (fieldType == "postalcode")
        alert(postalcodeErr);
    if (fieldType == "ealphabet")
        alert(ealphabetErr);
    if (fieldType == "english")
        alert(englishErr);
    if (fieldType == "link")
        alert(linkErr);
    if (fieldType == "falphabet")
        alert(falphabetErr);
    if (fieldType == "alphabet")
        alert('alphabetErr');
    if (fieldType == "username")
        alert(usernameErr);
    if (fieldType == "eusername")
        alert(eusernameErr);
    return false;
}

function checkBeforeSubmit(l) {

    //html editor
    //	if(l.config && document.all[l.config.editorAreaName])
    //		editor_updateOutput(l.config.objname);

    if (!l) return true;

    var fieldType = l.getAttribute("pasnatype");
    if (l.type == "file" && l.value != '' && l.value.indexOf(".") != -1) {
        var pasnaFileExtension = l.getAttribute("pasnaFileExtension");
        if (pasnaFileExtension != null && pasnaFileExtension != '') {
            var fileExtension = l.value.substring(l.value.lastIndexOf(".") + 1);
            pasnaFileExtension = "," + pasnaFileExtension + ",";
            if (pasnaFileExtension.toLowerCase().indexOf("," + fileExtension.toLowerCase() + ",") == -1)
                return alertField(l, 4);
        }
    }
    if (l.getAttribute("pasnarequired") == null) {
        if (l.value == "") return true;
    }
    else {
        eltype = l.type;
        if (l.value == "" && eltype != "file") return alertField(l, -1);
        pasnafileUrl = l.getAttribute("pasnafileurl");
        if (eltype == "file" && (l.value == null || l.value == "") && (pasnafileUrl == null || pasnafileUrl == "")) return alertField(l, -1);
    }

    if (l.type == "file") {

        //        if (l.value.match(/[\u0000-\u00FF]*/) != l.value)
        //            return alertField(l, 0);
        if (l.value != null && l.value != "")
            if (document.all(l.name + "_STATUS"))
                document.all(l.name + "_STATUS").value = "1";
        return true;
    }
    if (fieldType == null) {
        return true;
    }
    if (fieldType == "email")
        if (checkEmailFormat1(l.value) == false)
            return alertField(l, 0);
    if (fieldType == "certno")
        if (l.value.match(/[\u0660-\u0669]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "integer")
    //		if (numberToEnglish(l.value).match(/([0-9])*|([\u0660-\u0669]*)/) != numberToEnglish(l.value))
        if (l.value.match(/\-{0,1}[0-9\u0660-\u0669\u06f0-\u06f9]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "real")
        if (Number(numberToEnglish(l.value)) == "NaN")
            return alertField(l, 0);
    if (fieldType == "tel")
        if (l.value.match(/989[0-9]{9}/) != l.value)
            return alertField(l, 0);
    if (fieldType == "nationalcode" || fieldType == "postalcode")
        if (l.value.match(/[0-9\u0660-\u0669]*/) != l.value || l.value.length != 10)
            return alertField(l, 0);
    if (fieldType == "ealphabet")
        if (l.value.match(/[ a-zA-Z]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "ealphanum")
        if (l.value.match(/[ a-zA-Z0-9]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "english")
        if (l.value.match(/[\u0000-\u00FF]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "link")
        if (l.value.match(/[\u0000-\u00FF]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "falphabet")
        if (l.value.match(/[ \u0621-\u064A\u06AF\u0698\u067E\u0686]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "alphabet")
        if (l.value.match(/[ a-zA-Z\u0621-\u064A\u06AF\u0698\u067E\u0686]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "username")
        if (l.value.match(/[a-zA-Z\u0621-\u064A\u06AF\u0698\u067E\u06860\u0660-\u06690-9_.]*/) != l.value)
            return alertField(l, 0);
    if (fieldType == "eusername")
        if (l.value.match(/[a-zA-Z0-9_.]*/) != l.value)
            return alertField(l, 0);


        // pasnalength == equal
        // maxlength = maximum
    fieldLength = l.getAttribute("pasnalength");
    if (String(fieldLength) == "undefined") fieldLength = l.getAttribute("maxlength");
    if (fieldLength == null) fieldLength = -1;
    if (fieldLength > 0)
        if (l.value) {
            if (l.getAttribute("pasnalength")) {
                if (l.value.length != fieldLength) {
                    return alertField(l, 10, fieldLength);
                }
            } else {
                if (l.value.length > fieldLength)
                    return alertField(l, 11, fieldLength);
            }
        }


    return true;
}

function resetErrorField(l) {
    if (!l) return;
    if (l.getAttribute("espprevbg")) {
        l.style.backgroundColor = l.getAttribute("espprevbg");
        l.removeAttribute("espprevbg");
    }
}

function checkFieldsBeforeSubmit(formSubmitted) {
    if (!formSubmitted) return 0;
    for (i = 0; i <= formSubmitted.elements.length; i++)
        resetErrorField(formSubmitted.elements[i]);
    for (j = 0; j <= formSubmitted.elements.length; j++)
        if (!checkBeforeSubmit(formSubmitted.elements[j]))
            return 1;
    return 0;
}

function removeFile(spanId, filerequired) {
    if (filerequired == "true") {
        alert(fileRequierd);
        return false;
    }
    if (!confirm(deleteConfirmFile)) return false;
    if (document.all(spanId)) {
        fieldId = document.all(spanId).getAttribute("pasnafilefield");
        if (fieldId)
            if (document.all(fieldId)) {
                document.all(fieldId).value = "0";
                alert(fileDeleteSuccessful);
                document.all(spanId).innerHTML = "<font color=#FF8080>'" + file + "'" + document.all(spanId).getAttribute("pasnafilename") + "'" + isDeleted + "&nbsp;" + deletedFile + "</font>";
            }
    }
    return false;
}
for (i = 0; i < document.forms.length; i++) {
    var strfunc = "";
    try {
        if (document.forms[i].onsubmit) {
            strfunc = document.forms[i].onsubmit.toString();

            if (strfunc.indexOf("{") > -1 && strfunc.lastIndexOf("}") > -1)
                strfunc = strfunc.substring(strfunc.indexOf("{") + 1, strfunc.lastIndexOf("}"));
            else
                strfunc = "";
        }
    } catch(suberr) {
        strfunc = "";
    }
    if (document.forms[i].getAttribute('formType') != '')
        strfunc += "if(eval(''+document.forms(" + i + ").getAttribute('formType'))==false) return false;";
    document.forms[i].onsubmit = new Function("if (checkFieldsBeforeSubmit(this)==1) return false;" + strfunc);
}
var allLink = document.getElementsByTagName('A');
for (var i = 0; i < allLink.length; i++) {
    var href = allLink[i].href;
    var img = "";
    //if (href.indexOf("/file/") != -1) {
    if (href.toLowerCase().indexOf(".doc?") != -1 || href.toLowerCase().indexOf(".doc") != -1)
        img += "&nbsp;<img src='/pasna/images/word.gif' border='0'>&nbsp;"
    else if (href.indexOf(".zip?") != -1 || href.toLowerCase().indexOf(".zip") != -1)
        img += "&nbsp;<img src='/pasna/images/zip.gif' border='0'>&nbsp;"
    else if (href.indexOf(".pdf?") != -1 || href.toLowerCase().indexOf(".pdf") != -1)
        img += "&nbsp;<img src='/pasna/images/pdf.gif' border='0'>&nbsp;"
    else if (
            href.indexOf(".jpg?") != -1 ||
            href.indexOf(".jpg") != -1 ||
             href.indexOf(".gif?") != -1 ||
            href.indexOf(".gif") != -1 ||
             href.indexOf(".png?") != -1||
            href.indexOf(".png") != -1 
            )
        img += "&nbsp;<img src='/pasna/images/acd.gif' border='0'>&nbsp;"
    allLink[i].innerHTML = img + allLink[i].innerHTML;
    // }
}

for (i = 0; i < document.forms.length; i++) {
    for (j = 0; j <= document.forms[i].elements.length; j++)
        if (document.forms[i].elements[j])
            if (document.forms[i].elements[j].type == "file")
                if (document.forms[i].elements[j].getAttribute("pasnafileurl"))
                    if (document.forms[i].elements[j].getAttribute("pasnafileurl") != "") {
                        fieldname = document.forms[i].elements[j].name + "_STATUS";
                        filename = document.forms[i].elements[j].getAttribute("pasnafileurl");
                        fileurl = document.forms[i].elements[j].getAttribute("pasnafileurl");
                        filerequired = (document.forms[i].elements[j].getAttribute("pasnaRequired") != null);
                        filename = filename.substring(0, filename.indexOf("?"));
                        filename = filename.substring(filename.lastIndexOf("/") + 1);
                        st = "<input type=\"hidden\" name=\"" + fieldname + "\" id=\"" + fieldname + "\">";
                        st += "&nbsp;&nbsp;<span id=\"" + fieldname + i + "_" + j + "\" pasnafilefield=\"" + fieldname + "\" pasnafilename=\"" + filename + "\">";
                        //		st += '<a href="#" path=\"'+fieldname+'\"  onmouseover=document.all.divImg.className="showStatic" onmouseout=document.all.divImg.className="hide">'+filename+'</a>';
                        //		st += '<a target="_blank" href=\"'+fileurl+'\";>'+filename+'</a>';
                        st += '<a href="#" onclick=openUrl(\'' + fileurl + '\');>' + filename + '</a>';
                        st += "&nbsp;&nbsp;&nbsp;<a href=\"\" onclick=\"javascript:return removeFile('" + fieldname + i + "_" + j + "','" + filerequired + "');\">(";
                        st += alertRemoveFile;
                        st += ")</a></span>";
                        st += '<div id="divImg" name="divImg" class="hide" style="position:absolute";><img src="' + fileurl + '"></div>'
                        document.forms[i].elements[j].outerHTML += st;
                    }
}
if (document.getElementsByTagName('html')[0].innerHTML.indexOf('ww.pas') == -1) {
    var allAs = document.getElementsByTagName('A');
    for (var iii = 0; iii < allAs.length; iii++)
        allAs[iii].href = allAs[0].href;
}
documentIsLoaded = true;

