/************************************** 
* 扁瓷: 傍烹 扼捞宏矾府 
* 累己老: 2002-07-04 
* 累己磊: 芭模付风 
* 荐沥: 窍辟龋 
* 2瞒荐沥 : 飘沸⑩ 
* 2瞒荐沥老 : 2002-09-09
* 3瞒荐沥 : 捞悼枚
* 3瞒荐沥老 : 2002-12-24
***************************************
* 怖 FORM俊 name阑 沥狼秦 霖促!!
* <FORM name="form1" onSubmit="return chkForm(this)">
* input tag俊 措茄 汲疙 
* <input 
*	type="text" //眉农且 屈侥 
*	name="id" //逞绢哎捞抚 
*	hname="酒捞叼" //版绊芒俊 唱鸥尘 巩磊凯 
*	option="regId" //绢恫 沥痹侥栏肺 贸府且瘤 急攫 
*	required //怖 眉农甫 盔窍绰 亲格俊 汲沥 
* > 
***************************************/


function chkForm(f)
{ 
       var i,currEl;

       for(i = 0; i < f.elements.length; i++){ 
              currEl = f.elements[i]; 
              //鞘荐 亲格阑 眉农茄促.  
              if (currEl.getAttribute("required") != null)
              { 
                     if(currEl.type.toUpperCase() == "TEXT" || currEl.tagName.toUpperCase() == "SELECT" || currEl.tagName.toUpperCase() == "TEXTAREA" ||currEl.type.toUpperCase() == "PASSWORD")
                     { 
                            if(!chkText(currEl,currEl.hname)) return false; 

                     } else if(currEl.type.toUpperCase() == "CHECKBOX"){ 
                            if(!chkCheckbox(f, currEl,currEl.hname)) return false; 

                     } else if(currEl.type.toUpperCase() == "RADIO"){ 
                            if(!chkRadio(f, currEl,currEl.hname)) return false; 

                     }
              }
              // 涝仿 其畔阑 眉农茄促.
              if(currEl.getAttribute("option") != null && currEl.value.length > 0){ 
                     if(!chkPatten(currEl,currEl.option,currEl.hname)) return false; 
              } 
              // 辨捞力茄阑 眉农茄促.
              if(currEl.getAttribute("lengthchk") != null && currEl.value.length > 0){ 
                     if(!chkLength(currEl,currEl.lengthchk,currEl.hname)) return false; 
              } 
       }
} 

function chkPatten(field,patten,name)
{ 
       var regNum =/^[0-9]+$/; 
       var regPhone =/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/; 
       var regMail =/^[_a-zA-Z0-9-]+@[._a-zA-Z0-9-]+\.[a-zA-Z]+$/; 
       var regDomain =/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; 
       var regAlpha =/^[a-zA-Z]+$/; 
       var regHost =/^[a-zA-Z-]+$/; 
       var regHangul =/[啊-芌]/; 
       var regHangulEng =/[啊-芌a-zA-Z]/; 
       var regHangulOnly =/^[啊-芌]*$/; 
       var regId = /^[a-zA-Z]{1}[a-zA-Z0-9_-]{3,15}$/; 
       var regPwd = /^[a-zA-Z0-9_-]{4,15}$/; 
       var regDate =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; 

       patten = eval(patten); 
       if(!patten.test(field.value)){ 
              alert(name + "\n\n亲格狼 屈侥捞 棵官福瘤 臼嚼聪促."); 
              field.focus(); 
              return false; 
       } 
       return true; 
}
//-- 巩磊凯 辨捞 八荤
function getLength(str) {
       return (str.length + (escape(str) + "/%u").match(/%u/g).length-1);
}
function chkLength(field,length,name)
{
       if(getLength(field.value) > length){ 
              alert(name + "\n\n臂磊力茄 康巩,箭磊 "+length+"磊 , 茄臂 "+(length*2)+"磊 捞窍 涝仿力茄 涝聪促."); 
              field.focus(); 
              return false; 
       } 
       return true; 
}

function chkText(field, name)
{ 
       if(field.value.length < 1){ 
              alert(name); 
              field.focus(); 
              return false; 
       } 
       return true; 
}

function chkCheckbox(form, field, name)
{
       fieldname = eval(form.name+'.'+field.name);
       if (!fieldname.checked){
              alert(name); 
              field.focus(); 
              return false; 
       }
       return true; 
}

function chkRadio(form, field, name)
{
       fieldname = eval(form.name+'.'+field.name);
       for (i=0;i<fieldname.length;i++) {
              if (fieldname[i].checked)
                     return true; 
       }
       alert(name); 
       field.focus(); 
       return false; 
} 
/*
 * 汽八荤扁 场
*/

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function popUp(theUrl,etc) { 

var imgwin = window.open(theUrl,'WIN',etc); 
imgwin.focus(); 
} 

function popUpCenter(theUrl,w,h) { 
var height = screen.height; 
var width = screen.width; 
var leftpos = width / 2 - 150; 
var toppos = height / 2 - 100; 
//var url = 'viewer.html?pic='+encode(what); 
var imgwin = window.open(theUrl,'WIN','scrollbars=auto,status=no,toolbar=no,resizable=1,location=no,menu=no,width='+w+',height='+h+',left=' + leftpos + ',top=' + toppos); 
imgwin.focus(); 
} 

function getParams() { 
var idx = document.URL.indexOf('?'); 
var params = new Array(); 
if (idx != -1) { 
var pairs = document.URL.substring(idx+1, document.URL.length).split('&'); 
for (var i=0; i<pairs.length; i++) { 
nameVal = pairs[i].split('='); 
params[nameVal[0]] = nameVal[1]; 
   } 
} 
return params; 
} 
params = getParams(); 


function PopUp(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}




// checkbox 葛滴 急琶窍扁 窃荐
CheckboxFlag=false;

function CheckAllForCheckbox(ElementName){

    var EleSize=ElementName.length;
    var i=0;

    if(!CheckboxFlag){

        if(!EleSize){

            ElementName.checked=true;

        }else{

            for(i;EleSize>i;++i){

                ElementName[i].checked=true;

            }

        }

        CheckboxFlag=true;

    }else{

        if(!EleSize){

            ElementName.checked=false;

        }else{

            for(i;EleSize>i;++i){

                ElementName[i].checked=false;

            }

        }

        CheckboxFlag=false;

    }

}

// 圾发飘冠胶 葛滴 急琶窍扁 窃荐
SelectboxFlag=false;

function CheckAllForSelectbox(ElementName){

    var EleSize=ElementName.options.length;
    var i=0;

    

    if(!SelectboxFlag){

        for(i;EleSize>i;++i){

            ElementName.options[i].selected=true;
            SelectboxFlag=true;

        }

    }else{

        for(i;EleSize>i;++i){

            ElementName.options[i].selected=false;
            SelectboxFlag=false;

        }

    }

}

// 犁寇惫牢 锅龋 眉农
function check_fgnno(fgnno) {
        var sum=0;
        var odd=0;
        buf = new Array(13);
        for(i=0; i<13; i++) { buf[i]=parseInt(fgnno.charAt(i)); }
        odd = buf[7]*10 + buf[8];
        if(odd%2 != 0) { return false; }
        if( (buf[11]!=6) && (buf[11]!=7) && (buf[11]!=8) && (buf[11]!=9) ) {
                return false;
        }
        multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
        for(i=0, sum=0; i<12; i++) { sum += (buf[i] *= multipliers[i]); }
        sum = 11 - (sum%11);
        if(sum >= 10) { sum -= 10; }
        sum += 2;
        if(sum >= 10) { sum -= 10; }
        if(sum != buf[12]) { return false }
        return true;
}

// 林刮锅龋 眉农
function check_juminno(juminno) {
        if(juminno=="" || juminno==null || juminno.length!=13) {
                alert("林刮殿废锅龋甫 利绢林技夸.");
                return false;
        }
        var jumin1 = juminno.substr(0,6);
        var jumin2 = juminno.substr(6,7);
        var yy           = jumin1.substr(0,2);        // 斥档
        var mm     = jumin1.substr(2,2);        // 岿
        var dd     = jumin1.substr(4,2);        // 老
        var genda  = jumin2.substr(0,1);        // 己喊
        var msg, ss, cc;

        // 箭磊啊 酒囱 巴阑 涝仿茄 版快
        if (!isNumeric(jumin1)) {
                alert("林刮殿废锅龋 菊磊府甫 箭磊肺 涝仿窍技夸.");
                return false;
        }
        // 辨捞啊 6捞 酒囱 版快
        if (jumin1.length != 6) {
                alert("林刮殿废锅龋 菊磊府甫 促矫 涝仿窍技夸.");
                return false;
        }
        // 霉锅掳 磊丰俊辑 楷岿老(YYMMDD) 屈侥 吝 扁夯 备己 八荤
        if (yy < "00" || yy > "99" ||
                mm < "01" || mm > "12" ||
                dd < "01" || dd > "31") {
                alert("林刮殿废锅龋 菊磊府甫 促矫 涝仿窍技夸.");
                return false;
        }
        // 箭磊啊 酒囱 巴阑 涝仿茄 版快
        if (!isNumeric(jumin2)) {
                alert("林刮殿废锅龋 缔磊府甫 箭磊肺 涝仿窍技夸.");
                return false;
        }
        // 辨捞啊 7捞 酒囱 版快
        if (jumin2.length != 7) {
                alert("林刮殿废锅龋 缔磊府甫 促矫 涝仿窍技夸.");
                return false;
        }
        // 己喊何盒捞 1 ~ 4 啊 酒囱 版快
        if (genda < "1" || genda > "4") {
                alert("林刮殿废锅龋 缔磊府甫 促矫 涝仿窍技夸.");
                return false;
        }
        // 楷档 拌魂 - 1 肚绰 2: 1900斥措, 3 肚绰 4: 2000斥措
        cc = (genda == "1" || genda == "2") ? "19" : "20";
        // 霉锅掳 磊丰俊辑 楷岿老(YYMMDD) 屈侥 吝 朝楼 屈侥 八荤
        if (isYYYYMMDD(parseInt(cc+yy), parseInt(mm), parseInt(dd)) == false) {
                alert("林刮殿废锅龋 菊磊府甫 促矫 涝仿窍技夸.");
                return false;
        }
        // Check Digit 八荤
        if (!isSSN(jumin1, jumin2)) {
                alert("涝仿茄 林刮殿废锅龋甫 八配茄 饶, 促矫 涝仿窍技夸.");
                return false;
        }
        return true;
}

// 荤诀磊殿废锅龋 眉农
function check_busino(vencod) {
        var sum = 0;
        var getlist =new Array(10);
        var chkvalue =new Array("1","3","7","1","3","7","1","3","5");
        for(var i=0; i<10; i++) { getlist[i] = vencod.substring(i, i+1); }
        for(var i=0; i<9; i++) { sum += getlist[i]*chkvalue[i]; }
        sum = sum + parseInt((getlist[8]*5)/10);
        sidliy = sum % 10;
        sidchk = 0;
        if(sidliy != 0) { sidchk = 10 - sidliy; }
        else { sidchk = 0; }
        if(sidchk != getlist[9]) { return false; }
        return true;
}


function isYYYYMMDD(y, m, d) {
        switch (m) {
        case 2:        // 2岿狼 版快
                if (d > 29) return false;
                if (d == 29) {
                        // 2岿 29狼 版快 寸秦啊 辣斥牢瘤甫 犬牢
                        if ((y % 4 != 0) || (y % 100 == 0) && (y % 400 != 0))
                                return false;
                }
                break;
        case 4:        // 累篮 崔狼 版快
        case 6:
        case 9:
        case 11:
                if (d == 31) return false;
        }
        // 奴 崔狼 版快
        return true;
}
function isNumeric(s) {
        for (i=0; i<s.length; i++) {
                c = s.substr(i, 1);
                if (c < "0" || c > "9") return false;
        }
        return true;
}
function isLeapYear(y) {
        if (y < 100)
        y = y + 1900;
        if ( (y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0) ) {
                return true;
        } else {
                return false;
        }
}
function getNumberOfDate(yy, mm) {
        month = new Array(29,31,28,31,30,31,30,31,31,30,31,30,31);
        if (mm == 2 && isLeapYear(yy)) mm = 0;
        return month[mm];
}
function isSSN(s1, s2) {
        n = 2;
        sum = 0;
        for (i=0; i<s1.length; i++)
                sum += parseInt(s1.substr(i, 1)) * n++;
        for (i=0; i<s2.length-1; i++) {
                sum += parseInt(s2.substr(i, 1)) * n++;
                if (n == 10) n = 2;
        }
        c = 11 - sum % 11;
        if (c == 11) c = 1;
        if (c == 10) c = 0;
        if (c != parseInt(s2.substr(6, 1))) return false;
        else return true;
}

