function callPage_(url, objId, elementType) {
	if (window.XMLHttpRequest) {
		objHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	objHttp.open( "GET", url, true );
	document.getElementById(objId).innerHTML = "carregando...";
	objHttp.onreadystatechange = function(){
		if (objHttp.readyState == 4) {
			if (objHttp.status == 200) {
				document.getElementById(objId).innerHTML = objHttp.responseText;
			}
		}
	}
	objHttp.send( null );
}



//Todos os créditos à Christian Pach
function AJAX(url,metodo,params,processa,modo) {
	this.url = url;
	this.metodo = (metodo) ? metodo : 'GET';
	this.params  = (metodo='GET') ? '' : params;
	this.processaresultado = processa;
	this.Header = new Array();
	this.modo = (modo) ? modo : 'T';
	if(this.modo!='T'&&this.modo!='X') {
		this.modo = 'T';
	}
	this.conectar();
}
AJAX.prototype = {
	addHeader:	function(h,v) {
					this.Header[h] = v;
				},
	delHeader:	function(h) {
					delete(this.Header[h]);
				},
	setHeader:	function() {
					if(this.httprequest==null) { return;} 
					if(this.metodo == "POST"){
	                    this.httprequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
						this.httprequest.setRequestHeader("Content-length", this.params.length);
                    }
					for(h in this.Header) {
						this.httprequest.setRequestHeader(h,this.Header[h]);
					}
				},
	conectar:			function() {
							if(this.url==undefined||this.url=='') {
								return; 
							}
							this.httprequest = null;
						   	if (window.XMLHttpRequest) { // Mozilla, Safari,...
					         	this.httprequest = new XMLHttpRequest();
				        	} else if (window.ActiveXObject) { // IE
					         	try {
							     	 this.httprequest = new ActiveXObject("Msxml2.XMLHTTP");
				    	     	} catch (e) {
				               		try {
		        		           	 this.httprequest = new ActiveXObject("Microsoft.XMLHTTP");
									} catch (e) {}
								}
							}
							if(this.httprequest!=null&&this.httprequest!=undefined) {
								var obj = this;
								this.httprequest.onreadystatechange = 	function() {
																			obj.processaretorno.call(obj);
																		}
								if(this.metodo==undefined || this.metodo=='') {
                                    this.metodo = 'GET';
                                }else{
                                    this.metodo = this.metodo.toUpperCase();
                                }
                                
								if(this.metodo == 'GET'){
									while(this.url.indexOf('\n')!=-1){
										this.url=this.url.replace('\n','%0D%0A');
									}
                                    this.url += this.params;
								}
					        	this.httprequest.open(this.metodo,this.url, true);
								this.setHeader();
						        this.httprequest.send(this.params);
							}
						},
	processaretorno:	function() {
							if(this.httprequest.readyState==4) {
								if(this.httprequest.status==200) {
									var resp = (this.modo=='T') ? 
												this.httprequest.responseText : 
												this.httprequest.responseXML;
									if(this.processaresultado!=null) {
										this.processaresultado(resp);
									} else {
										document.write(resp);
									}
								} else { 
									this.processaerro();
								}
							}
						},
	processaerro:		function() {
							alert(this.httprequest.status + '-' + this.httprequest.statusText + ' :-> ' + this.url);
						}
}

//Todos os créditos à Christian Pach
function extraiScript(texto,url){
	var ini, pos_src, fim, codigo, uri;
	if(url!=''){
		uri=url.split('/');
		uri.pop();
		url=uri.join('/')+'/';
	}
	var objScript = null;
	ini = texto.indexOf("<script", 0);
	while(ini!=-1){
		var objScript = document.createElement("script");
		//Busca se tem algum src a partir do inicio do script
		pos_src = texto.indexOf(" src", ini);
		ini = texto.indexOf(">", ini) + 1;
		//Verifica se este e um bloco de script ou include para um arquivo de scripts
		if(pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
			//Marca como sendo o inicio do nome do arquivo para depois do src
			ini = pos_src + 4;
			//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
			fim = texto.indexOf(".", ini)+4;
			//Pega o nome do arquivo
			codigo = texto.substring(ini,fim);
			//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
			codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
			// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
			objScript.src = url+codigo;
		}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
			// Procura o final do script
			fim = texto.indexOf("</script", ini);
			// Extrai apenas o script
			codigo = texto.substring(ini,fim);
			// Adiciona o bloco de script ao objeto que sera adicionado ao documento
			objScript.text = codigo;
		}
		//Adiciona o script ao documento
		document.body.appendChild(objScript);
		// Procura a proxima tag de <script
		ini = texto.indexOf("<script", fim);
		//Limpa o objeto de script
		objScript = null;
	}
}

//Submete um formulário em um objeto
//getUrl('info.php',div1);
//resultado = o conteúdo html retornado na execução da url info.php devolvido no objeto com id div1
//dependencia: extraiScript, ajax.js
//compatibilidade IE6+ Firefox
//Todos os créditos à Christian Pach, nome original getUrl()
function callPage(url,div){
	div = (div) ? div : 'mainContent';
	var ajax = new AJAX();
	ajax.url=url;
	ajax.modo = 'T';
	ajax.metodo = 'GET';
	ajax.processaresultado = 
	function(res) {
		document.getElementById(div).innerHTML=res;
		extraiScript(res,ajax.url);
		//Adicionado à biblioteca
		try{
			addReflections();
		}catch(e){
			<!--alert('Adicione a biblioteca de reflexos!');-->
		}
	}
	ajax.conectar();
}

function clickIt(){
}

function hideModalWidow(){
	document.getElementById("modalWindow").className = 'modalWindow_hide';
}

function showModalWidow(url){
	callPage(url,'modalWindow_content');
	document.getElementById("modalWindow").className = 'modalWindow_show';
}

function hideShow_element(idElement){
	if(document.getElementById(idElement).style.display=='none'){
		document.getElementById(idElement).style.display='';
	}else{
		document.getElementById(idElement).style.display='none';
	}
}

function changeFlash(currentItem){
//	document.getElementById("direita_responsabilidade").style.display = "none";
	
//	document.getElementById("direita_"+currentItem).style.display = "block";
}

function callPopup(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

//Todos os créditos à Christian Pach
function submete(cad,div){
	div = (div) ? div : 'direito';
	var ajax = new AJAX();
	ajax.url=cad.action;
	ajax.modo = 'T';
	ajax.metodo = cad.method.toUpperCase();
	if(ajax.metodo=='GET'){
		ajax.url=ajax.url+enviaForm(cad);
	}else{
		ajax.params = enviaForm(cad);
	}

	ajax.processaresultado=
	function(conteudo){
		document.getElementById(div).innerHTML = conteudo;
		extraiScript(conteudo,ajax.url);
	}
	ajax.conectar();
}

//Todos os créditos à Christian Pach
function enviaForm(cad){
	var objeto;
	if(cad.method.toUpperCase() == "GET"){
		var query = '?';
	}else if(cad.method.toUpperCase() == "POST"){
		var query = '';
	}
	for (i=0;i<cad.elements.length;i++){
		if(cad.elements[i].type == "radio"){
			if(cad.elements[i].checked){
				query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
				query += '&';
			}
		}
		
		if(cad.elements[i].type == "checkbox"){
			if(cad.elements[i].checked){
				query += cad.elements[i].name;
				if(cad.elements[i].name.indexOf('[')==-1 && cad.elements[i].name.indexOf(']')==-1){
					query += '%5B%5D';
				}
				query +='='+ encodeURIComponent(cad.elements[i].value);
				query += '&'; 
			}
		}else if(cad.elements[i].type == "password" || cad.elements[i].type == "text" || cad.elements[i].type == "textarea" || cad.elements[i].type == "hidden"){
			query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
			query += '&';
		
		}else if(cad.elements[i].type == "select-one"){
			query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
			query += '&';
		
		}else if(cad.elements[i].type == "select-multiple"){
			objeto = cad.elements[i];
			if(objeto.length>0){
				for(j=0;j<objeto.length;j++){
					if(objeto.options[j].selected == true){
						query += objeto.name;
						if(objeto.name.indexOf('[')==-1 && objeto.name.indexOf(']')==-1){
							query += '%5B%5D';
						}
						query +='='+ encodeURIComponent(objeto.options[j].value);
						query += '&';
					}
				}
			}
		}
	} 
	return query;
}

function validaCommentsForm(form, divWarningId,divSenderId){
	document.getElementById(divWarningId).innerHTML = '';
	form.name.style.borderColor = '#DDD';
	form.email.style.borderColor = '#DDD';
	form.text.style.borderColor = '#DDD';
	if((Math.random()*10)>5){
		var phrase = 'Oops! Não está esquecendo nada?';
	}else{
		var phrase = 'Oops! Está faltando algo, não?';
	}
	if(form.name.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.name.style.borderColor = '#F00';
		return false;
	}
	if(!verifica_email(form.email.value)){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.email.style.borderColor = '#F00';
		return false;
	}
	if(form.text.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.email.style.borderColor = '#F00';
		return false;
	}

	submete(form,divSenderId);
	return false;
}

//Todos os créditos à Christian Pach
function verifica_email(imeiu){
	erro=0;
	if(imeiu.indexOf('@')<=0){
		erro=1;
	}else if(imeiu.indexOf('.')== -1 || imeiu.indexOf('.')==imeiu.indexOf('@')+1){
		erro=1;
	}else if(imeiu.length -1 == imeiu.indexOf('.')){
	    erro=1;
	}else{
        erro=1;
	    for(i=imeiu.indexOf('@')+1;i<imeiu.length-1;i++){
			if(imeiu.charAt(i)=='.' && imeiu.charAt(imeiu.length-1)!='.'){
	  		   erro=0;
	           break;
   			}
	    }
    }
	if(erro==1){
		return false;
	}else{
		return true;
	}
}


function validaYVideoForm(form, divWarningId,divSenderId){
	document.getElementById(divWarningId).innerHTML = '';
	form.name.style.borderColor = '#DDD';
	form.email.style.borderColor = '#DDD';
	form.text.style.borderColor = '#DDD';
	form.url.style.borderColor = '#DDD';
	form.title.style.borderColor = '#DDD';

	if((Math.random()*10)>5){
		var phrase = 'Oops! Não está esquecendo nada?';
	}else{
		var phrase = 'Oops! Está faltando algo, não?';
	}
	if(form.name.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.name.style.borderColor = '#F00';
		return false;
	}
	if(!verifica_email(form.email.value)){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.email.style.borderColor = '#F00';
		return false;
	}
	if((form.url.value=='')||(form.url.value.substr(0,23)!='http://www.youtube.com/')){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.url.style.borderColor = '#F00';
		return false;
	}

	if(form.title.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.title.style.borderColor = '#F00';
		return false;
	}

	if(form.text.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.text.style.borderColor = '#F00';
		return false;
	}

	submete(form,divSenderId);
	return false;
}


function validaSubscribeForm(form, divWarningId,divSenderId){
	document.getElementById(divWarningId).innerHTML = '';
	form.name.style.borderColor = '#DDD';
	form.email.style.borderColor = '#DDD';

	if((Math.random()*10)>5){
		var phrase = 'Oops! Não está esquecendo nada?';
	}else{
		var phrase = 'Oops! Está faltando algo, não?';
	}
	if(form.name.value==''){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.name.style.borderColor = '#F00';
		return false;
	}
	if(!verifica_email(form.email.value)){
		document.getElementById(divWarningId).innerHTML = phrase;
		form.email.style.borderColor = '#F00';
		return false;
	}
	submete(form,divSenderId);
	return false;
}



//verifica se o campo foi preenchido
function presenceOf(obj,msg){
	if(!msg){
		msg='Campo Obrigatório!';
	}

	if(is_array(obj)){
	   var teste = true;

	   for(i=0;i<obj.length;i++){
		   teste = (presenceOf(obj[i])&&teste);
	   }

	   return teste;
	}else if(obj.value == ''){
		//coreMensagem(msg);
		borderAlertInput(obj);
		obj.focus();

		return false;
	}else{
		return true;
	}
}

 

//chama atenção para o campo
function borderAlertInput(obj){
	tempBorderColor = obj.style.borderColor;
	tempBgColor = obj.style.backgroundColor;

	obj.style.borderColor = '#FF2200';
	obj.style.backgroundColor = '#FFFFAA';

	setTimeout(function(){
	   obj.style.borderColor = tempBorderColor;
	   obj.style.backgroundColor = tempBgColor;
	},5000);
}

function is_array(input){
	return typeof(input)=='object'&&(input instanceof Array);
}

function getEndereco() {
	
	// Se o campo CEP não estiver vazio
	if($.trim($("#cep").val()) != ""){
		
		$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){
		
			if (resultadoCEP["tipo_logradouro"] != '') {
					if (resultadoCEP["resultado"]) {
					
					// troca o valor dos elementos
					$("#endereco").val(unescape(resultadoCEP["tipo_logradouro"]) + ": " + unescape(resultadoCEP["logradouro"]));
					$("#bairro").val(unescape(resultadoCEP["bairro"]));
					$("#municipio").val(unescape(resultadoCEP["cidade"]));
					$("#uf").val(unescape(resultadoCEP["uf"]));
					
					//dá o foco no numero
					$("#numero").focus();
				}
			}	
			
		});
	}
}
