﻿Input=function(f,m){
	var patterns={"1":/[A-Z]/i,"2":/[0-9]/,"4":/[áéíóúàâãêôõçÁÉÍÓÚÀÃÂÊÔÕÇ]/i,"8":/./},rules={"a":3,"A":7,"9":2,"C":5,"c":1,"*":8};
	function accept(c,rule){for(var i=1,r=rules[rule]||0;i<=r;i<<=1)if(r&i&& patterns[i].test(c))break;return i<=r||c==rule;}
	var e=window.event,k,mC,r,c=String.fromCharCode(k=e.keyCode),l=f.value.length;
	l<m.length? 
	  (!k||k==8?1:(r=/^(.)\^(.*)$/.exec(m))&&(r[0]=r[2].indexOf(c)+1)+1?r[1]=="O"?r[0]:r[1]=="E"?!r[0]:accept(c,r[1])||r[0]: 
	  (l=(f.value+=m.substr(l,(r=/[A|9|C|\*]/i.exec(m.substr(l)))?r.index:l)).length)< m.length&&accept(c,m.charAt(l)))||e.preventDefault()
	:(e.returnValue=false,e.cancelBubble=true);
};
InputCpfCnpj=function(e){
	if(m==""||e.value=="")return;
	var m=e.value.replace(/[^\d]/gi,'');
	e.value=m.length<=11?m.mask("###.###.###-##"):m.mask("##.###.###/####-##");
};
isCPF=function(campo,type){/*type -> 0 para alert e 1 para return*/
	var c = $(campo).value.trim(),erro=false;
	if(c=="")return;
	if((c = c.replace(/[^\d]/g,"").split("")).length != 11 && !erro) erro=true;
	if(new RegExp("^" + c[0] + "{11}$").test(c.join("")) && !erro) erro=true;
	for(var s = 10, n = 0, i = 0; s >= 2 && !erro; n += c[i++] * s--);
	if(c[9] != (((n %= 11) < 2) ? 0 : 11 - n)) erro=true;
	for(var s = 11, n = 0, i = 0; s >= 2 && !erro; n += c[i++] * s--);
	if(c[10] != (((n %= 11) < 2) ? 0 : 11 - n)) erro=true;
	if(erro){return (type==0 || type==undefined) ? alert('CPF Inválido'):false;}else return true;
};
isCNPJ=function(campo,type){/*type -> 0 para alert e 1 para return*/
	var b = [6,5,4,3,2,9,8,7,6,5,4,3,2], c = $(campo), erro=false;
	if(c.value.trim()=="")return;
	if((c = c.replace(/[^\d]/g,"").split("")).length != 14 && !erro) erro=true;
	for(var i = 0, n = 0; i < 12  && !erro; n += c[i] * b[++i]);
		if(c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) erro=true;
	for(var i = 0, n = 0; i <= 12 && !erro; n += c[i] * b[i++]);
		if(c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) erro=true;
	if(erro){(type==0 || type==undefined) ? alert('CNPJ Inválido'):false;}else return true;
};
isCpfCnpj=function(o,type){
	/*return(type==undefined||type==0)?((campo.value=="")?"":((campo.value.length<=14)?isCPF(campo):isCNPJ(campo))): 
	((campo.value=="")?"":((campo.value.length <=14)?(isCPF(campo,type)?true:false):(isCNPJ(campo,type)?true:false)))*/
	
	var t=type||0;
	o.value.length<=14?isCPF(o,t):isCNPJ(o,t);
};
isDATE=function(c){//@param 'c' object or id of field.
	var y=$(c).value,m=/^([0-9]{1,2})[\/]([0-9]{1,2})[\/]([0-9]{1,4})$/,d={d:1,m:2,y:3};
	if(y.trim()=="")return;
	if(typeof y=="string"&&m instanceof RegExp&&d){if(!m.test(y))return 1;y=RegExp["$"+d.y],m=RegExp["$"+d.m],d=RegExp["$"+d.d];}
	var getDateMsg=function(x){return x==0?"Data válida":x==1?"Formato de data inválido":x==2?"Dia inválido":x==3?"Mês inválido"
	:x==4?"Nos meses de abril, junho, setembro e novembro não existe o dia 31":x==5?"Fevereiro só tem 28 dias":x==6?"Em anos bissextos, fevereiro tem 29 dias":"Data inválida";};
	d = Math.abs(d) || 0, m = Math.abs(m) || 0, y = Math.abs(y) || 0;
	x = arguments.length != 1 ? 1 : d < 1 || d > 31 ? 2 : m < 1 || m > 12 ? 3 : /4|6|9|11/.test(m) && d == 31 ? 4
	: m == 2 && (d > ((y = !(y % 4) && (y % 1e2) || !(y % 4e2)) ? 29 : 28)) ? 5 + !!y : 0;
	x?(c.select(),alert(getDateMsg(x)),window.event.returnValue=false):true;
};
/*
removeClassTabStrip=function(x){
    var elems=$('tabStrip');
    if(!elems)elems=$('tabStrip1');
	elems=elems.getElementsByTagName('a');
	for(var i=elems.length; i--;){elems[i].className=elems[i].className.replace(new RegExp('(^|\\s)select(\\s|$)'),'');if(i==x) elems[i].className+=' select';}
};*/
MaskInput=function(f,m){//@param 'f' form, @param 'm' mask.
 function mask(e){
   var patterns={"1":/[A-Z]/i,"2":/[0-9]/,"4":/[áéíóúàâãêôõçÁÉÍÓÚÀÃÂÊÔÕÇ]/i,"8":/./},rules={"a":3,"A":7,"9":2,"C":5,"c":1,"*":8};
   function accept(c,rule){for(var i=1,r=rules[rule]||0;i<=r;i<<=1)if(r&i&&patterns[i].test(c))break;return i <= r || c == rule;}
   var k,mC,r,c=String.fromCharCode(k=e.key),l=f.value.length;(!k||k==8?1:(r=/^(.)\^(.*)$/.exec(m))&&(r[0]=r[2].indexOf(c)+1)+1?r[1]=="O"?r[0]:r[1]=="E"?!r[0]:accept(c,r[1])||r[0]:(l=(f.value+=m.substr(l,(r=/[A|9|C|\*]/i.exec(m.substr(l)))?r.index:l)).length)<m.length&&accept(c,m.charAt(l)))||e.preventDefault();
 }for(var i in !/^(.)\^(.*)$/.test(m)&&(f.maxLength=m.length),{keypress:0,keyup:1})Event.add(f,i,mask);
};
MoneyInput=function(o, n, dig, dec){
  o.c=!isNaN(n)?Math.abs(n):2;o.dec=dec||",",o.dig=dig||".";
  Event.add(o,"keypress",function(e){if(e.key>47&&e.key<58){var o,s=((o=this).value.replace(/^0+/g,"")+String.fromCharCode(e.key)).replace(/\D/g,""),l,n;(l=s.length)<=(n=o.c)&&(s=new Array(n-l+2).join("0")+s);for(var i=(l=(s=s.split("")).length)-n;(i-=3)>0;s[i-1]+=o.dig);n&&n<l&&(s[l-++n]+=o.dec);o.value=s.join("");}e.key > 30 && e.preventDefault();});
};
HidePageForReport=function(){
  var oStyleSheet = document.styleSheets[0];
  oStyleSheet.addRule(".top","display: none;");
  oStyleSheet.addRule(".menu","display: none;");
  oStyleSheet.addRule(".Quick","display: none;");
  oStyleSheet.addRule("#Ajuda","display: none;");
};

removeClassTabStrip=function(x){
    var elems=$('TabStrip');
	elems=elems.getElementsByTagName('td');
	for(var i=elems.length; i--;){
		elems[i].className=elems[i].className.replace(new RegExp('(^|\\s)tabselect(\\s|$)'),'');
		if(i==x) elems[i].className+=' tabselect';
	}
};
radioGroups=[];
function RadioButtonListInTheGrid(gridName,groupName) {
    if(!radioGroups[groupName])
        radioGroups[groupName]=[];
    var els=k.forms[0].elements;var rexp=new RegExp('.*'+gridName.replace(/\$/g,'\\\$')+'.*'+groupName);
    for(var i=0;i<els.length;i++) {
        var el=els[i];
        if (rexp.test(el.name)) {
            el.onclick=function(){
                    for(var i=0;i<radioGroups[this.groupName].length;i++)
                        radioGroups[this.groupName][i].checked=false;
                    this.checked=true;
                };
            radioGroups[groupName][radioGroups[groupName].length]=el;
            el.groupName=groupName;
        }
    }
}

function MaskControlsRegex(idparent,idctl,f) {
    var els=document.forms[0].elements;var re=new RegExp(idparent+'.*'+idctl);
    for(var i=0;i<els.length;i++){
        var el=els[i];
        if(re.test(el.id)) {
            f(el);
        }
    }
}

function MaskInputRegex(idgrid,txtBox,m) {
    var f=function(el){MaskInput(el,m);}
    MaskControlsRegex(idgrid,txtBox,f);
}

MaskMoney=function(o, n, dig, dec){//MaskMoney(objInput, 2, ".", ",");
  o.c=!isNaN(n)?Math.abs(n):2;o.dec=dec||",",o.dig=dig||".";
  Event.add(o,"keypress",function(e){if(e.key>47&&e.key<58){var o,s=((o=this).value.replace(/^0+/g,"")+String.fromCharCode(e.key)).replace(/\D/g,""),l,n;(l=s.length)<=(n=o.c)&&(s=new Array(n-l+2).join("0")+s);for(var i=(l=(s=s.split("")).length)-n;(i-=3)>0;s[i-1]+=o.dig);n&&n<l&&(s[l-++n]+=o.dec);o.value=s.join("");}e.key > 30 && e.preventDefault();});
};

function RestauraPosicaoRolagem(fld) {
    fld=$(fld);
    
    if(fld){
        try{
            var v=parseInt(fld.value);
            if(!isNaN(v)) document.body.scrollTop=v;
        }catch(e){}
        
        document.fldRolagem=fld;
        Event.add(document.forms[0],'submit',function(){document.fldRolagem.value=document.body.scrollTop;});
        //document.forms[0].attachEvent('onsubmit',function(){document.fldRolagem.value=document.body.scrollTop;});
    }
}
function ChecarDevedor()
{
alert('O número de identificador já foi utilizado em outro cadastro.');
return false;
}
/*
add atributo onclick no button de postback == return __ValidFileExt;
renderizar uma chamada verifyExt(field,ext) passando o obj input file e um array das extensão permitidas
verifyExt($('_file'),['.jpg','.gif','.bmp']);
*/
var __ValidFileExt=false;
function verifyExt(field,exts){
	function verify(path,exts){
		for(var i in exts)
			if(path.indexOf(exts[i])!=-1)
				return __ValidFileExt=true;
		alert('Arquivo Inválido');
		return false;
	};
	add(field,'change',function(){if(this.value!='')verify(this.value,exts);});
};


Event.add(document,'keydown',function(evt){
	var e = (document.all)? event.keyCode : evt.keyCode;		
	var l = window.location;
	switch(e){
	}
});



function MaskCEP(o) {
    var v = o.value;
    v = v.replace(/[^\d]/g, '');
    
    v = v.replace(/^(\d{2})(\d{3})(\d{1,3}).*$/, '$1.$2-$3');
    v = v.replace(/^(\d{2})(\d{1,3})$/, '$1.$2');
    
    if(o.value != v)
        o.value = v;
    /*
    var kc = event.keyCode;
    var retValue = (kc >= 48 && kc <= 57
    */ 
    return true;
}

function MaskFone(txt){
    var t = txt.value.replace(/[^\d]/g,'');
    
    t = t.replace(/^(\d{4})(\d{1,4})$/, '$1-$2');
    t = t.replace(/^(\d{1,2})(\d{4})(\d{4})$/, '($1)$2-$3');
    t = t.replace(/^(\d{1,2})(\d{2})(\d{4})(\d{4})$/, '+$1($2)$3-$4');
    
    if(txt.value != t)
        txt.value = t;
    
    var k='09';
    return event.keyCode >= k.charCodeAt(0) && event.keyCode <= k.charCodeAt(1);
}


//Fix dos validators
function fvPageLoaded(sender, e) {
    //Validators
    if(typeof(Page_Validators) == 'undefined') return;
    
    var vals = Page_Validators;
    var idArray = [];
    
    for(var i=vals.length-1; i>=0; i--) {
        var val = vals[i];
        
        if (Array.contains(idArray, val.id))
            vals.splice(i, 1);
        else
            idArray.push(val.id);
    }
    
    //Sumários
    if(typeof(Page_ValidationSummaries) == 'undefined') return;
    
    var sums = Page_ValidationSummaries;
    idArray = [];
    
    for(var i=sums.length-1; i>=0; i--) {
        var sum = sums[i];
        
        if (Array.contains(idArray, sum.id))
            sums.splice(i, 1);
        else
            idArray.push(sum.id);
    }
}

function fixValidators() {
    if(typeof(Sys) != 'undefined') {
        try {
            Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(fvPageLoaded);
        } catch(err) {}
    }
}

if (document.all)
window.attachEvent('onload', fixValidators);
else
window.addEventListener("load", fixValidators, false);
