URL_ACTION = '/bpo/action/';
URL_JS 	   = '/bpo/js/';
URL_IMG    = '/bpo/img/';
QUERY_STRING = '';

function ExecuteState(actionFile , idElementDest, state  , params , notSendQueryString){
	aux ='';
	if(state && state.length > 0)
		aux += '&state='+state;
	if(params && params.length > 0)
		aux += '&'+params;

	fnAjaxSendHtml(actionFile, aux , '_ExecuteState' ,' , "' +idElementDest + '"');
}

function ExecuteStateReturnFunction(actionFile , funcaoJsRetorno, state  , params , notSendQueryString){
 aux ='';
 if(state && state.length > 0)
  aux += '&state='+state;
 if(params && params.length > 0)
  aux += '&'+params;
 
 fnAjaxSend(actionFile,'&'+aux,funcaoJsRetorno,'' , notSendQueryString);
}

function ExecuteStateReturnFunctionHtml(actionFile , funcaoJsRetorno, state  , params , notSendQueryString){
 aux ='';
 if(state && state.length > 0)
  aux += '&state='+state;
 if(params && params.length > 0)
  aux += '&'+params;
 
 fnAjaxSendHtml(actionFile,'&'+aux,funcaoJsRetorno,'' , notSendQueryString);
}

function _ExecuteState(retorno , idElementDest){
	$(idElementDest).innerHTML = retorno;
}

function FormSubmitAjaxArray(formId , actionFile , funcaoJsRetorno , divId){
	serializedForm = $(formId).serialize();
	fnAjaxSend(actionFile,'&'+serializedForm,funcaoJsRetorno," ,'"+divId+"'");
}

function FormSubmitAjax(formId , actionFile , funcaoJsRetorno , divId){
	serializedForm = $(formId).serialize();
	fnAjaxSendHtml(actionFile,'&'+serializedForm,funcaoJsRetorno," ,'"+divId+"'");
}

function _FormSubmitAjax(retorno, divId){
	if(divId == '')
		divId = 'divPrincipal';
	$(divId).innerHTML = retorno;
	setScriptAjax(retorno, $(divId));
}

function setScriptAjax(texto, obj){
	var ini, pos_src, fim, codigo;
	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 = 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
		obj.appendChild(objScript);
		// Procura a proxima tag de <script
		ini = texto.indexOf("<script", fim);

		//Limpa o objeto de script
		objScript = null;
	}
}

function mostraCampos(div){
	document.getElementById('indique').style.display = "none";
	document.getElementById('novidade').style.display = "none";
	document.getElementById(div).style.display = "block";
}


function sendPopula_estado(estado_preenchido){
	if(estado_preenchido > 0){
		str_complemento = " , '"+estado_preenchido+"'";
	}else{
		str_complemento = '';
	}
	fnAjaxSend('general.php','&state=GetEstado',"getPopula_estado",str_complemento);
}

function getPopula_estado(respReturn , estado_preenchido){
	if(!estado_preenchido){
		estado_preenchido = estado_preenchido;
	}

	arrayToOptions(respReturn , $('estado') , 'estado_id' , 'sigla' , estado_preenchido);
}

function sendPopula_cidade(estado , cidade_preenchido){
	if(cidade_preenchido > 0){
		str_complemento = " , '"+cidade_preenchido+"'";
	}else{
		str_complemento = '';
	}
	fnAjaxSend('general.php','&state=GetCidadeByEstado&estado_id='+estado,"getPopula_cidade",str_complemento);
}

function getPopula_cidade(respReturn ,cidade_preenchido){
	arrayToOptions(respReturn , $('cidade') , 'cidade_id' , 'cidade' , cidade_preenchido);
}

function sendPopula_assunto(assunto_preenchido){
	if(assunto_preenchido > 0){
		str_complemento = " , '"+assunto_preenchido+"'";
	}else{
		str_complemento = '';
	}

	fnAjaxSend('general.php','&state=GetContatoAssunto',"getPopula_assunto",str_complemento);
}

function getPopula_assunto(respReturn , assunto_preenchido){
	if(!assunto_preenchido){
		assunto_preenchido = assunto_preenchido;
	}

	arrayToOptions(respReturn , $('assunto') , 'contato_assunto_id' , 'assunto' , assunto_preenchido);
}

function somente_numero(campo){
    var digits="0123456789";
    var campo_temp ;
    for (var i=0;i< campo.value.length;i++){
        campo_temp=campo.value.substring(i,i+1)
        if (digits.indexOf(campo_temp)==-1){
            campo.value = campo.value.substring(0,i);
            break;
        }
    }
}

//função para obrigar preenchimento ou seleção de campo
function obrigatorio(ids,titulos) {
   var id,titulo,i,tipo

   id = ids.split("|");
   titulo = titulos.split("|");

   for (i=0;i < id.length;i++) {

   	   tipo = $(id[i]).type;

      if(!$(id[i]).value || $(id[i]).value.trim() == ""){
         tipo = $(id[i]).type;
         if (tipo == "select-one"){
            alert("O campo "+titulo[i]+" deve ser selecionado");

         }else{
            if((tipo == "text") || (tipo == "textarea") || (tipo == "password")){
              	 alert("O campo "+titulo[i]+" deve ser preenchido");

            }

         }
         $(id[i]).focus();
         return false;
      }
	  
	  if( $(id[i]).name == "email") {
			var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

			if(filter.test($(id[i]).value) == false) {
				alert("Formato de e-mail inválido.");
				$(id[i]).focus();
         		return false;
			}
		}
   }
   return true;
}

function limparFormulario(ids) {
   var id,titulo,i,tipo

   id = ids.split("|");

   for (i=0;i < id.length;i++) {

   	 tipo = $(id[i]).type;

     if (tipo == "select-one"){
        $(id[i]).options[0].selected = true;
     }else{
         $(id[i]).value='';
     }

   }
   return true;
}


