window.addEvent('domready',function(){
	new Asset.image(PATH_IMG+'back_menu_sel.jpg');
	$$('li[menuTopo]').addEvents({
		'mouseover':function(){
			var li = $(this);
			li.set('class','li_selecionada');
			dados = JSON.decode(li.get('menuTopo'));
			if (dados.align==null)
				dados.align='left';
			var menu = $(dados.id);
			menu.setStyles({'display':'block'}).position({'relativeTo':li,'position':'upper'+dados.align,'edge':'upper'+dados.align});
		},
		'mouseout':function(){
			var li = $(this);
			li.set('class','');
			dados = JSON.decode(li.get('menuTopo'));
			var menu = $(dados.id);
			menu.setStyle('display','none');
		}
	});
});

function href(modulo,pagina,id,query) {
	if (id!=null && id!='') id='/'+id; else id='';
	if (pagina!=null && pagina!='') pagina='/'+pagina; else pagina='';
	if (query!=null && query!='') query='/'+query; else query='';
	document.location.href = PATH_INDEX+modulo+pagina+id+query;
}

function input_limpar(id,text) {
	if ((id.value!=text) || ((id.value==text) && (document.activeElement==id))) {
		id.value=id.value.replace(text,'');
	}
}

function vcep(id) {
	vr='';
	if (id.value.length>5) {
		vr=id.value;
		if (vr.substr(5,1)!='-')
			id.value=vr.substr(0,5)+'-'+vr.substr(5,vr.lenght);
	}
}

function embedswf(arquivo, id, width, height, flashvars, params, attributes) {
	swfobject.embedSWF(arquivo, id, width, height, '9.0.0', PATH_FLASH+'expressInstall.swf', flashvars, params, attributes);
}

function zoomfont(id,tipo) {
	var size = $(id).getStyle('font-size').toUpperCase();
	size=parseFloat(size.replace('PX',''));
	if ((tipo=="+") && (tamFonte<=3)) {
		$(id).setStyle('font-size',(size+1)+'px');
		tamFonte++;
	}
	if ((tipo=="-") && (tamFonte>=-1)) {
		$(id).setStyle('font-size',(size-1)+'px');
		tamFonte--;
	}
}

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_validateForm() { //v4.0 // modificado por hpmais
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2]; val=MM_findObj(args[i]);
		// alteracoes hpmais
		if (val) {
			nm=val.title;
			if ((val=val.value)!="") {
				// cpf cnpj
				if (test.indexOf('isCpfCnpj')!=-1) {
					if ((TESTA(val,'CPF')=='invalido') && (TESTA(val,'CNPJ')=='invalido')) errors+='- '+nm+' inválido.\n';
					// soh cpf
				} else if (test.indexOf('isCpf')!=-1) {
					if (TESTA(val,'CPF')=='invalido') errors+='- '+nm+' inválido.\n';
					// soh cnpj
				} else if (test.indexOf('isCnpj')!=-1) {
					if (TESTA(val,'CNPJ')=='invalido') errors+='- '+nm+' inválido.\n';
					// 2 campos iguais
				} else if (test.indexOf('isIgual')!=-1) {
					val2=MM_findObj(args[i+1]);
					nm2=val2.title;
					val2=val2.value;
					if (val!=val2) errors+='- '+nm+' e '+nm2+' não conferem.\n';
					// fim alteracoes hpmais
				} else if (test.indexOf('isEmail')!=-1) {
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- '+nm+' precisa ser um e-mail.\n';
				} else if ((test.indexOf('isNum')!=-1) || (test.indexOf('inRange')!=-1)) {
					num = parseFloat(val);
					if (isNaN(val)) errors+='- '+nm+' precisa ser um número. (Ex.: 9.89)\n';
					if (test.indexOf('inRange') != -1) {
						p=test.indexOf(':');
						min=test.substring(8,p); max=test.substring(p+1);
						if (num<min || max<num) errors+='- '+nm+' precisa ser um número entre '+min+' e '+max+'.\n';
					}
				}
				// alteracoes hpmais	
				// minimo de caracteres	
				if (test.indexOf('minChar')!=-1) {
					p=test.indexOf('minChar:')+8;
					minchar=test.substring(p);
					ttchar=val.length;
					if (ttchar<minchar) errors+='- '+nm+' precisa conter no mínimo '+minchar+' caracteres.\n';
				}
				//	fim alteracoes hpmais
			} else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n';
		}
	}
	if (errors) alert('Erro(s):\n'+errors);
	document.MM_returnValue = (errors == '');	
}

function TESTA(CNUMB,CTYPE) {
	if(Verify(CNUMB, CTYPE)) {
		return("valido");
	} else {
		return("invalido");
	}
}

function ClearStr(str, char) {
	while((cx=str.indexOf(char))!=-1) {		
		str = str.substring(0,cx)+str.substring(cx+1);
	}
	return(str);
}

function ParseNumb(c) {
	c=ClearStr(c,'-');
	c=ClearStr(c,'/');
	c=ClearStr(c,',');
	c=ClearStr(c,'.');
	c=ClearStr(c,'(');
	c=ClearStr(c,')');
	c=ClearStr(c,' ');
	if((parseFloat(c) / c != 1)) {
		if(parseFloat(c) * c == 0) {
			return(c);
		} else {
			return(0);
		}
	} else {
		return(c);
	}
}

function Verify(CNUMB,CTYPE) {
	CNUMB=ParseNumb(CNUMB)
	if (CNUMB == 0) {
		return(false);
	} else {
		g=CNUMB.length-2;
		if(TestDigit(CNUMB,CTYPE,g)) {
			g=CNUMB.length-1;
			if(TestDigit(CNUMB,CTYPE,g)) {	
				return(true);
			} else {
				return(false);
			}
		} else {
			return(false);
		}
	}
}

function TestDigit(CNUMB,CTYPE,g) {
	var dig=0;
	var ind=2;
	for(f=g;f>0;f--) {
		dig+=parseInt(CNUMB.charAt(f-1))*ind;
		if (CTYPE=='CNPJ') {
			if(ind>8) {ind=2} else {ind++}
		} else { ind++ }
	}
	dig%=11;
	if(dig<2) {
		dig=0;
	} else {
		dig=11-dig;
	}
	if(dig!=parseInt(CNUMB.charAt(g))) {
		return(false);
	} else {
		return(true);
	}
}

