﻿function chgvalidate(obj,clbasic,clerror){
    var test,val,nm,p,errors;
    test = obj.title;
    val = obj.value;
    nm=obj.id;
    if(test.indexOf('R')!=-1){
        if (val!= "") {
            document.getElementById("s" + nm).className = clbasic;
            if (test.indexOf('isEmail') != -1) {
                if (Is_Email(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            } else if (test.indexOf('isNo') != -1) {
                if (isNaN(val)) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            } else if (test.indexOf('isDate') != -1) {
                if (Is_Date(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else if (test.indexOf('isTime') != -1) {
                if (Is_Time(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else if (test.indexOf('isMD') != -1) {
                if (Is_MonthDay(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }
        }else if (test.charAt(0) == 'R') { 
            errors = true; document.getElementById("s" + nm).className=clerror; 
        }
    }else if(test.indexOf('isEmail')!=-1){
        if (val!= "") {
            if (Is_Email(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
        }else{
            document.getElementById("s" + nm).className = clbasic;
        }
    }else if(test.indexOf('isNo')!=-1){
        if (val!= "") {
            if (isNaN(val)) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
        }else{
            document.getElementById("s" + nm).className = clbasic;
        }
    }else if (test.indexOf('isDate') != -1) {
        if (val!= "") {
            if (Is_Date(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
        }else{
            document.getElementById("s" + nm).className = clbasic;
        }
    }else if (test.indexOf('isTime') != -1) {
        if (val!= "") {
            if (Is_Time(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
        }else{
            document.getElementById("s" + nm).className = clbasic;
        }
    }else if (test.indexOf('isMD') != -1) {
        if (val!= "") {
            if (Is_MonthDay(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
        }else{
            document.getElementById("s" + nm).className = clbasic;
        }
    }
}

function validate(frm,clbasic,clerror){
    var test,val,nm,p;
    var errors=false;
    for(var i=0; i<frm.length;i++){
        test = frm[i].title;
        val = frm[i].value;
        nm=frm[i].id;
        if(test.indexOf('R')!=-1){
            if (val!= "") {
                document.getElementById("s" + nm).className = clbasic;
                if (test.indexOf('isEmail') != -1) {
                    if (Is_Email(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
                } else if (test.indexOf('isNo') != -1) {
                    if (isNaN(val)) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
                } else if (test.indexOf('isDate') != -1) {
                    if (Is_Date(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
                }else if (test.indexOf('isTime') != -1) {
                    if (Is_Time(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
                }else if (test.indexOf('isMD') != -1) {
                    if (Is_MonthDay(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
                }
            }else if (test.charAt(0) == 'R') { 
                errors = true;
				document.getElementById("s" + nm).className=clerror; 
            }
        }else if(test.indexOf('isEmail')!=-1){
            if (val!= "") {
                if (Is_Email(val)==false) { errors = true;document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else{
                document.getElementById("s" + nm).className = clbasic;
            }
        }else if(test.indexOf('isNo')!=-1){
            if (val!= "") {
                if (isNaN(val)) { errors = true;document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else{
                document.getElementById("s" + nm).className = clbasic;
            }
        }else if (test.indexOf('isDate') != -1) {
            if (val!= "") {
                if (Is_Date(val)==false) { errors = true;document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else{
                document.getElementById("s" + nm).className = clbasic;
            }
        }else if (test.indexOf('isTime') != -1) {
            if (val!= "") {
                if (Is_Time(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else{
                document.getElementById("s" + nm).className = clbasic;
            }
        }else if (test.indexOf('isMD') != -1) {
            if (val!= "") {
                if (Is_MonthDay(val)==false) { errors = true; document.getElementById("s" + nm).className=clerror; } else { document.getElementById("s" + nm).className = clbasic; }
            }else{
                document.getElementById("s" + nm).className = clbasic;
            }
        }
    } if (errors) {  alert('Please Fill required fields or correct data.'); return false;}
    else {return true; }
}
function Is_Email(email) {
    var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 
    var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
    if (!(!reg1.test(email) && reg2.test(email))) return false;
    else return true;
}
function Is_Date(dt){
    var tdate = new Date();
    splitDate = dt.split("/");
    refDate = new Date(splitDate[1]+ "/" + splitDate[0]+"/"+splitDate[2]);
    if (splitDate[1] < 1 || splitDate[1] > 12 || refDate.getDate() != splitDate[0] || splitDate[2].length != 4)
    {
        return false;
    }else{
        if(splitDate[2]<(tdate.getFullYear() -100) || splitDate[2]>(tdate.getFullYear() +100)){
            return false;
        }else{
            return true;
        }
    }
}
function Is_MonthDay(dt){
    splitDate = dt.split("/");
    if (splitDate[1] < 1 || splitDate[1] > 12 || splitDate[0] < 1 || splitDate[0] > 31)
    {
        return false;
    }else{
        return true;
    }
}
function numbersonly(obj,e){
    var unicode=e.charCode? e.charCode : e.keyCode
    if(unicode==46){
        if (obj.value.toString().indexOf(".",0)>0){return false}
    }else if (unicode==9){
    }else if (unicode!=8){
        if (unicode<48||unicode>57) {return false;}
    }
}
function entersearch(e){
    var unicode=e.charCode? e.charCode : e.keyCode
    if(unicode==13){
        search();
    }
}

function Is_Time(timeStr) {
    var timePat = /^(\d{1,2}):(\d{2})?(\s?(AM|am|PM|pm))?$/;
    var matchArray = timeStr.match(timePat);
    if (matchArray == null) {
        return false;
    }
    hour = matchArray[1];
    minute = matchArray[2];
    ampm = matchArray[3];

    if (hour < 0  || hour > 23) {
        return false;
    }
    if (minute<0 || minute > 59) {
        return false;
    }
    return true;
}


function showOfDiv(div) {
    if(!div) {return;}
    div = typeof div === "string" ? document.getElementById(div) : div;
    var elms = div.getElementsByTagName("*");
    for(var i = 0, maxI = elms.length; i < maxI; ++i) {
        if(elms[i].type=="text" || elms[i].type=="select-one"){
            elms[i].focus();
            break;
        }
    }
}

function tabpress(e){
    var unicode=e.charCode? e.charCode : e.keyCode
    alert(unicode);
}

function replacehash(val){
    var str= val.toString().replace(/#/g,"!11!");
    str = str.toString().replace(/&/g,"!22!");
    return str;
}
