/********************************************************
 *	Fas as verificaÃ§Ãµes javascript			*
 *	[validar.js]					*
 *	Por Marcel N. Santos				*
 *	Date: 2007/03/01				*
 ********************************************************/


 /*****
 * FUNCTION: validarCheckBox()
 * @param -> form: <form>
 * return true [se pelo um checkbox do form estiver marcado] OR false [se todos os checks estiverem desmarcados]
 ******/
 function validarCheckBox(form){
	 check = false;
	 inputs = form.getElementsByTagName("input");
	 for(i=0;i<inputs.length;i++){ //percorre todos os inputs
		 if(inputs[i].getAttribute("type") == "checkbox"){ //testa se eh checkbox
			 if(inputs[i].checked) //se um estiver marcado seta true
				 check = true;
		 }
	 }
	 return check;
 }

 /*****
 * FUNCTION: groupRadiosByName()
 * @param -> radios: array de <input type='radio'>
 * Agrupa pelo attribute name
 ******/
 function groupRadiosByName(radios){
	 // Monta o array de radios por grupo
	 name = new Array();
	 group = new Array();
	 for(i=0;i<radios.length-1;i++){
		 exist = false;
		 for(cont = 0 ; cont<name.length; cont++){ //testa se ja foi add esse name
			 if(name[cont] == radios[i].getAttribute("name")){
				 exist = true;
				 break;
			 }
		 }
		 if(exist)
			 continue; //proxima itereaÃ§Ã£o
		 groupRadio = new Array();
		 groupRadio.push(radios[i]) //add o item
		 name.push(radios[i].getAttribute("name"));
		 alert("A");
		 for(j=i+1;j<radios.length;j++){
			 if(radios[j].getAttribute("name") == radios[i].getAttribute("name")) //nome igual add
				 groupRadio.push(radios[j]);
		 }
		 group.push(groupRadio); //add o grupoAtual ao group geral
	 }
	 return group;
 }

 /*****
 * FUNCTION: validarRadio()
 * @param -> form: <form>
 * @param -> text: string
 * return true [se pelo um radio do group estiver selecionado] OR false [se todos os radios de um groupo estiverem desmarcados]
 ******/
 function validarRadio(form,text){
	 inputs = form.getElementsByTagName("input");
	 radios = new Array();
	 for(i=0;i<inputs.length;i++){ //percorre todos os inputs
		 if(inputs[i].getAttribute("type") == "radio"){ //testa se eh checkbox
			 radios.push(inputs[i]); //add
		 }
	 }
	 check = false;
	 for(j = 0; j<radios.length ; j++){
		 if(radios[j].checked)
			 check = true;
	 }
	 if(!check){
		 alert(text); //alert no texto
		 radios[0].focus(); //focu no primeiro radio
		 return false;
	 }
	 return true;
 }

 /*****
 * FUNCTION: validarText()
 * @param <FORM>
 * return true [se se todos os texts estiver preenchidos] OR false [se pelo menos um text estiver vazio]
 ******/
 function validarText(form){
	 check = true;
	 inputs = form.getElementsByTagName("input");
	 for(i=0;i<inputs.length;i++){ //percorre todos os inputs
		 if(inputs[i].getAttribute("type") == "text"){ //testa se eh checkbox
			 if(inputs[i].value == "") //se um estiver marcado seta true
				 check = false;
		 }
	 }
	 return check;
 }

 function validar(form, args){
	 for(i=0; i < args.length; i++){
		 switch(args[i]){
		 	case ("text"):
				if(!validarText(form)){
					alert("Por favor preencha todos os campos texto");
					return false;
				}
			break;
			case ("checkbox"):
				if(!validarCheckBox(form)){
					alert("Por favor selecione ao menos um item antes de prosseguir");
					return false;
				}
			break;
		 }
	 }
	 return true;
 }

 /*****
 * compara duas datas, e informa se um Ã© menor do q a outra
 * Evitar data de fechamento menor do que data de compra no pool
 * @param -> dt_menor: args{dia,mes,ano}
 * @param -> dt_maior: args{dia,mes,ano}
 * return boolean
 ******/
 function comparaDatas(dt_menor, dt_maior){
	 if(dt_menor.dia == ""){
		var date = new Date();
		dia = date.getDate();
		mes = date.getMonth()+1;
		ano = date.getFullYear();
		dt_menor = {dia: dia, mes:mes, ano:ano};
		//console.debug(dt_menor);
		//console.debug(dt_maior);
	 }
	 if(dt_menor.ano > dt_maior.ano)
		 return false;
	 if(dt_menor.mes > dt_maior.mes)
		 return false;
	 if(dt_menor.dia > dt_maior.dia)
		 return false;
	 return true;
 }
 
function ChecaCookie(name,msg)
{
	var CookieName=name
	cookiesStr = document.cookie;
	cookies = cookiesStr.split(';');
	setSize = cookies.length;
	var CookiePieces
	var ReturnValue = "";
	
	for (var x = 0; ((x < setSize) && (ReturnValue == "")); x++) 
	{
		CookiePieces = cookies[x].split ('=');
		
		if (CookiePieces[0].substring (0,1) == ' ') 
		{
			CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
		}
		if (CookiePieces[0].substring(0,5) == CookieName) 
		{
			ReturnValue = CookiePieces[1];
		}
	}
	if(ReturnValue=="")
		
		return true;
	else 
		if(msg!='')
			alert(msg);
		return false;
}
function validaVotacao(form,name)
{
	if(ChecaCookie(name,"Seu voto já foi prcessado, Obrigado!"))
	{
		if(validarRadio(form,'Por favor escolha uma opção antes de votar!'))
		{
			
			alert('Obrigado por votar!');
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}
function popup(xx,A,B)
		{
			window.open(xx,A,B)//onclick="window.open('/spaw/img_popup.php?img_url=/admin/upload/BLuizOrlaVejaRio4outubro2006.jpg', href="#");
		}
