//function MM_findObj(n, d)  
//function YY_checkform() 
//function MM_setTextOfTextfield(objName,x,newText)
//function tmt_confirm(msg)

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_setTextOfTextfield(objName,x,newText) { var obj = MM_findObj(objName); if (obj) obj.value = newText;}
function tmt_confirm(msg){document.MM_returnValue=(confirm(unescape(msg)));}

function YY_checkform() { //v3.02
 
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;
  var myForm = MM_findObj(args[0]);
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){var myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
	var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));//eval(myForm+'.'+args[i]);
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
		while(myObj.value.substring(0,1)==" ")
		   {myObj.value=myObj.value.substring(1,myObj.value.length);}
		while(myObj.value.substring(myObj.value.length-1,myObj.value.length)==" ")
		   {myObj.value=myObj.value.substring(0,myObj.value.length-1);}
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        if (isNaN(parseInt(myV,10))||myV<args[i+1].substring(0,args[i+1].indexOf('_'))/1||myV > args[i+1].substring(args[i+1].indexOf('_')+1)/1){addErr=true} else {myObj.value=parseFloat(myV)}
      }
      if ((myV.length>0)&&(args[i+2]==2)&&!myV.match("^[\\w\\.=-]+@[\\w\\.-]+\\.([A-Z]|[a-z]){2,4}$")){addErr=true}// email
      if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myD=''; myM=''; myY=''; myYY=0; myDot=true;
        for(var j=0;j<args[i+1].length;j++){
          var myAt = args[i+1].charAt(j);
          if(myAt=='D')myD=myD.concat(myObj.value.charAt(j));
          if(myAt=='M')myM=myM.concat(myObj.value.charAt(j));
          if(myAt=='Y'){myY=myY.concat(myObj.value.charAt(j)); myYY++}
          if(myAt=='-'&&myObj.value.charAt(j)!='-')myDot=false;
          if(myAt=='.'&&myObj.value.charAt(j)!='.')myDot=false;
          if(myAt=='/'&&myObj.value.charAt(j)!='/')myDot=false;
        }
        if (isNaN(myD)||isNaN(myM)||isNaN(myY))myDot=false;
        if(parseInt(myD,10)<1||parseInt(myD,10)>31||parseInt(myM,10)<1||parseInt(myM,10)>12||myY.length!=myYY)myDot=false;
        if((parseInt(myM,10)==4||parseInt(myM,10)==6||parseInt(myM,10)==9||parseInt(myM,10)==11)&&(parseInt(myD,10)>30))myDot=false;
        if(parseInt(myY,10)%4!=0&&parseInt(myM,10)==2&&parseInt(myD,10)>28)myDot=false;
        if(parseInt(myY,10)%4==0&&parseInt(myM,10)==2&&parseInt(myD,10)>29)myDot=false;
        if(!myDot){addErr=true}
       }
      if ((myV.length>0)&&(args[i+2]==4)){ // time
        myDot=true;
        var myH = myObj.value.substr(0,myObj.value.indexOf(':'))/1;
        var myM = myObj.value.substr(myObj.value.indexOf(':')+1,2)/1;
        var myPold = myObj.value.substr(myObj.value.indexOf(':')+3,3);
		var myP = myPold.replace(" ","");
        if ((args[i+1])=="12:00pm"){if(myH<0||myH>12||myM<0||myM>59||(myP.toUpperCase()!="PM"&&myP.toUpperCase()!="AM")||myObj.value.length>8)myDot=false;}
        if ((args[i+1])=="12:00"){if(myH<0||myH>12||myM<0||myM>59||myObj.value.length>5)myDot=false;}
        if ((args[i+1])=="24:00"){if(myH<0||myH>23||myM<0||myM>59||myObj.value.length>5)myDot=false;}
        if(!myDot){addErr=true}
      }
      if (myV.length>0&&args[i+2]==5){
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(!myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")].checked){addErr=true} // check this 2
          }
    }else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
      if (args[i+2]==1&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        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('The required information is incomplete or contains errors:\t\n______________________________________________\n\n'+myErr+'______________________________________________\n Please re-enter and submit again')
  }
  document.MM_returnValue = (myErr=='');
}

