
//FUNÇÃO PARA REMOVER O ENCODE NA URL
function url_encode(str) { 
    var hex_chars = "0123456789ABCDEF"; 
    var noEncode = /^([a-zA-Z0-9\_\-\.])$/; 
    var n, strCode, hex1, hex2, strEncode = ""; 

    for(n = 0; n < str.length; n++) { 
        if (noEncode.test(str.charAt(n))) { 
            strEncode += str.charAt(n); 
        } else { 
            strCode = str.charCodeAt(n); 
            hex1 = hex_chars.charAt(Math.floor(strCode / 16)); 
            hex2 = hex_chars.charAt(strCode % 16); 
            strEncode += "%" + (hex1 + hex2); 
        } 
    } 
    return strEncode; 
}  

function submitGSForm(f,target,waiting,override,confirmbefore,checkrequired){

	// Se não setou confirmbefore, não precisa de confirmação
	if (confirmbefore==null) { confirmbefore="N"; }
	
	// Se precisar confirmar
	if (confirmbefore=="S") {
	
		var confirma = confirm("Confirma a Ação?");
	
	}
	
	// Se pediu para verificar campos requeridos
	if (checkrequired=="S") {
		
		var requireds = "";
	
		for(var s=0; s<f.elements.length; s++){
		
			elem = f.elements[s];		
			
			if ((elem.alt=="required" && elem.value=="") || (elem.type=="select-one" && elem.value=="")) {
				
				requireds += " - " + elem.title + "\n";
				
			}
			
		}
		
		if (requireds!="") {
					
			alert("Campos Obrigatórios não digitados:\n\n" + requireds);
			return false;
			
		
		}
	
	}
	
	// Se confirmou ou se não precisa confirmar
	if (confirma || confirmbefore=="N") {

		// Se não setou nenhuma área de espera, utiliza a área do target final
		if (waiting==null) { waiting = target; }
		
		// Se não setou override==S substitui para N
		if (override==null) { override = "N"; }
		
		// Cria uma variável para armazenar a área de espera anterior
		var old_waiting = '';
	
		// Armazena a área de espera anterior
		old_waiting = document.getElementById(waiting).innerHTML;
		
		if(window.XMLHttpRequest){
			var xmlReq = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			var xmlReq = new ActiveXObject('Microsoft.XMLHTTP');
		}

		var formData = '', elem = ''; 
	
		for(var s=0; s<f.elements.length; s++){
		
			elem = f.elements[s];
		
			// Verifica se o elemento é um radio button
			// Caso não seja envia o campo
			// Caso seja um radio, só envia se estiver selecionado				
			if ((elem.type != "radio") || ((elem.type=="radio") && (elem.checked))){
				if(formData != ''){
					formData += '&';
				}
				// Se não for checkbox
				if (elem.type!="checkbox") {
					formData += elem.name+"="+url_encode(elem.value);
				// Se for checkbox, verifica se está marcado
				}else{
					if (elem.checked) {
						formData += elem.name+"=on";
					}else{
						formData += elem.name+"=off";
					}
				}
			
			}
		}
		
		xmlReq.onreadystatechange = function(){
			if(xmlReq.readyState == 4){
				document.getElementById(waiting).innerHTML = old_waiting;
				
				if (override=="S") {
					document.getElementById(target).innerHTML = xmlReq.responseText;
				}else{
					document.getElementById(target).innerHTML = xmlReq.responseText + document.getElementById(target).innerHTML;
				}
			
			}else{			
				document.getElementById(waiting).innerHTML = "<center><img src='./indicator.gif' />Processando..</center>";
			}
		}
	
		xmlReq.open(f.method, f.action, true);
		xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlReq.send(formData);
	
		return false;
	
	} else {
		alert ("Cancelado!");
		return false;
	}

}

function changeFontSize() {
	var e = document.getElementById('conteudo_noticia');
	auxSize = e.style.fontSize.split('px');
	actualSize = Number(auxSize[0]);
	if (actualSize >= 16) {
	    newSize = '11px';
	} else {
	    actualSize = actualSize + 2;
	    newSize = actualSize + 'px';
	}
	e.style.fontSize = newSize;
}

function conta_letras(campo,elem) {

	document.getElementById(elem).innerHTML = "[ Você digitou "+campo.length+" caracteres. ]";
	
	if (campo.length>105) {
	
		document.getElementById(elem).style.color = "red";
	
	}
	
}

function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

function EnviaForm(f) {

	var requireds = "";
	
	for(var s=0; s<f.elements.length; s++){
		
		elem = f.elements[s];		
			
		if ((elem.alt=="required" && trim(elem.value)=="") || (elem.type=="select-one" && trim(elem.value)=="") || (elem.type=="textarea" && trim(elem.value)=="")) {
				
			requireds += " - " + elem.title + "\n";
				
		}
			
	}
		
	if (requireds!="") {
					
		alert("Campos Obrigatórios não digitados:\n\n" + requireds);
		return false;
		
		
	}else{
		f.submit();	
	}

}
