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 YY_checkform() { //v4.66
//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'){
      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(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('Os seguintes campos estão incompletos ou contém erros:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}

function ValidaCPF(obj)
{
	var str
	str=obj.value
  
	if (str != "")
	{
	   var MaskNumber = "";
	   var Lpad = "00000000000";
	   for (var i = 0; i < str.length; i++)
	   {
	      var chr = str.substring(i, i + 1);
	      if (chr >= "0" && chr <= "9")
	      {
	         MaskNumber += chr;
	      }
	   }
	   MaskNumber = Lpad.substring(0, 11 - MaskNumber.length) + MaskNumber;
	   MaskNumber = MaskNumber.substring((MaskNumber.length - 11), MaskNumber.length);
	   SumBlock1 = 0,
	   RemBlock1 = 0;
	   SumBlock2 = 0;
	   RemBlock2 = 0;

	   for (var i = 0; i < (MaskNumber.length - 2); i++)
	   {
	      var chr = MaskNumber.substring(i, i + 1);
	      SumBlock1 += eval(chr * (10 - i));
	   }
	   RemBlock1 = eval(SumBlock1 - (parseInt(SumBlock1 / 11) * 11));
	   if (RemBlock1 == 0 || RemBlock1 == 1)
	   {
	      RemBlock1 = 0;
	   }
	   else
	   {
	      RemBlock1 = eval(11 - RemBlock1);
	   }
	   for (var i = 0; i < (MaskNumber.length - 1); i++)
	   {
	      var chr = MaskNumber.substring(i, i + 1);
	      SumBlock2 += eval(chr * (11 - i));
	   }
	   RemBlock2 = eval(SumBlock2 - (parseInt(SumBlock2 / 11) * 11));
	   if (RemBlock2 == 0 || RemBlock2 == 1)
	   {
	      RemBlock2 = 0;
	   }
	   else
	   {
	      RemBlock2 = eval(11 - RemBlock2);
	   }
	   var result = "";
		if (RemBlock1 == parseInt(MaskNumber.substring(09,10)) && RemBlock2 == parseInt(MaskNumber.substring(10,11)))
		{
			if(MaskNumber != '00000000000' && MaskNumber != '11111111111' && MaskNumber != '22222222222' && MaskNumber != '33333333333' && MaskNumber != '44444444444' && MaskNumber != '55555555555' && MaskNumber != '66666666666' && MaskNumber != '77777777777' && MaskNumber != '88888888888' && MaskNumber != '99999999999') 
			{
				if (str.length<14)
				{
					obj.value=''
					for (var i = 0; i < str.length; i++)
					{
						obj.value = obj.value + str.substr(i,1)
						mascarar(obj,'###.###.###-##')
					}
				}
				return true;
			}else
			{
				alert("CPF Inválido!")
				obj.value = "";
				return false;
			}
		}else
		{
			alert("CPF Inválido!")
			obj.value = "";
			return false;
		} 
	}
}

function mascarar(Comp,Mascara)
{if (Mascara.substring(Comp.value.length,Comp.value.length+1)!="#")
	{Comp.value = Comp.value + Mascara.substring(Comp.value.length,Comp.value.length+1);}}  
