/* Validate CGC */
function ValidateCGC(s){
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++)	{
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
    
	if (d1 == 0) return false;
    
	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) d1 = 0;
	
	if (dv.charAt(0) != d1){
		return false;
	}

	d1 *= 2;
	
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	
	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) d1 = 0;
	
	if (dv.charAt(1) != d1){
		return false;
	}

	return true;
}

/* Função que válida apenas os e-mails */
function ValidateEmail(email) {
	var dot=false;
	var arr=false;
	var char=false;
	for(var i=0; i<email.length; i++) {
		if (email.charAt(i)=="@") arr=true;
        else if (email.charAt(i)==".") dot=true;
        else if (email.charAt(i)!=" ") char=true;
        }
        return (dot & arr & char);
}

// valideate all form objects
function validate(obj,type){	
	var retorno = false;	// avoid submit out of order
	var i    	= 0; 		// init value to verify each form object
	var pos		= true;
	
	if(type != 3 ){
		// loop for all form objects
		while ((i < obj.elements.length)){
			if(obj.elements[i].getAttribute("required")=="yes"){
				if(obj.elements[i].value.length==0){
					if(document.getElementById("formMsg") != undefined){
						document.getElementById("formMsg").innerHTML = "Campo "+ obj.elements[i].parentNode.firstChild.nodeValue + " precisa ser preenchido.";	
						document.getElementById("formMsg").style.visibility = "visible";
					}else{
						var message = (obj.elements[i].parentNode.firstChild.nodeValue == null) ? message = "" : message = obj.elements[i].parentNode.firstChild.nodeValue;
						alert("O campo "+ message + " precisa ser preenchido.");
					}
					obj.elements[i].focus();
					var pos	= false;
					break;				
				}else{
					var pos	= true;
				}
			}
			
			if((obj.elements[i].getAttribute("format")=="email") && (obj.elements[i].value.length > 0)){
				if(!ValidateEmail(obj.elements[i].value)){
					if(document.getElementById("formMsg") != undefined){
						document.getElementById("formMsg").innerHTML = "Por favor, preencha o campo "+ obj.elements[i].parentNode.firstChild.nodeValue +" corretamente.";	
						document.getElementById("formMsg").style.visibility = "visible";
					}else{
						alert("Por favor, preencha o campo "+ obj.elements[i].parentNode.firstChild.nodeValue +" corretamente.");
					}
					obj.elements[i].focus();
					var pos	= false;
					break;
					return pos;
				}
				
			}
			
			i++;
		}
	}
	if(pos){
		if(document.getElementById("formMsg") != undefined){
			document.getElementById("formMsg").style.visibility = "visible";
			document.getElementById("formMsg").innerHTML = "Aguardando...";
		}
		// type of procedure, 1=new, 2=alter, 3=delete, 0=null		
		// only for delete
		if(type == "3"){			
			// needed to confirm delete action
			if(confirm("Confirma excluir?")){
				pos = true;
			}else{
				pos = false;
				if(document.getElementById("formMsg") != undefined){
					document.getElementById("formMsg").style.visibility = "hidden";
					document.getElementById("formMsg").innerHTML = "";
				}
			}
		}
	}
	
	return pos;
}

// validate object extension
function validetaImg(obj){

	var ext = obj.value.substring((obj.value.length-3),obj.value.length);
	if(ext.toUpperCase()=="JPG" || ext.toUpperCase()=="GIF" || ext.toUpperCase()=="PNG"){

	}else{
		alert("Arquivo incorreto, selecione somente extensões dos tipos jpg, gif ou png.");
		obj.value = "";
	}
}

// to reser a form select
function resetSelect(obj){
	// reset select options
	for (var i=obj.length; i>0; i--){
		try {
			// for FF, Chrome
			obj.remove(i);
		} catch(ex) {
			// for IE
			obj.options[i] = null;
			obj.selectedIndex = 0;
		}
	}
	obj.options[0].text = "Aguarde";
}

// Open up a new popup
function dinamicPopUp(url,w,h){

	// to set window position center center
	var winLeft = (screen.width/2)  - (w/2);
	var winTop  = (screen.height/2) - (h/2);
	
	// open a new window
	windowImg = window.open(url,"popop","top="+winTop+",left="+winLeft+",width="+w+",height="+h);
	windowImg.focus();
}