//--- START Función que abre un link en una pagina nueva---------------------------------------------------
function openInBlankAll(url){
	var newWindow = window.open(url,"_blank","width=810,height=550,left=1,top=1,location=no,menubar=no,status=no,resizable=yes,toolbar=no,scrollbars=yes");
}
//--- End -------------------------------------------------------------------------------------------------

//--- START Función que abre un link en una pagina nueva---------------------------------------------------
function openInPopUp(url){
	var newWindow = window.open(url,"_blank","width=300,height=370,left=300,top=150,location=no,menubar=no,status=no,resizable=no,toolbar=no,scrollbars=no");
}
//--- End -------------------------------------------------------------------------------------------------

//--Begin PopUp Generic------------------------------------------------------------------------------------
function openPopup(url,wWidth,wHight,wLeftP,wTopP,wResize,scrl){
	var newWindow = window.open(url,"_blank","width="+wWidth+", height="+wHight+", left="+wLeftP+", top="+wTopP+", scrollbars="+scrl+", resizable="+wResize);
}
//--End PopUp Generic--------------------------------------------------------------------------------------

//--- START --- Función que pasa el valor de un elemento a un campo tipo hidden ---------------------------
function setGroupValue(hdnID, valueToSet){
	
	var hdnToSet = document.getElementById(hdnID);
	hdnToSet.value = valueToSet;
	//alert(hdnToSet.value);
}
// --- END ------------------------------------------------------------------------------------------------

// --- START --- Función para limpiar un formulario -------------------------------------------------------
function formClear(formName){
	if(confirm("¿Estas seguro que deseas borrar tus datos?")){
		document.forms[formName].reset();
	}
}
// --- END ------------------------------------------------------------------------------------------------

//--- START --- Función para mostrar/ocultar items --------------------------------------------------------
function showHideItem(itemID, valueToAvaluate){
	// - Campos actores
	var itemToEvaluate = document.getElementById(itemID);
	// - Validamos si el valor de la selección no es vacío -
	if(valueToAvaluate != ""){
		// - Si el valor es  = 138 "México" -
		if(valueToAvaluate == "1"){
			// - Campo estados para méxico
			itemToEvaluate.style.display = "";
		}else{
			itemToEvaluate.style.display = "none";
		}
		
	}else{
		itemToEvaluate.style.display = "none";
	}
	//itemToEvaluate.style.display = (itemToEvaluate.style.display == "") ? "none" : "";
}
//--- END -------------------------------------------------------------------------------------------------

//--- START --- Función para mostrar/ocultar items --------------------------------------------------------
function showHideCel(itemID, valueToAvaluate){
	// - Campos actores
	var itemToEvaluate = document.getElementById(itemID);
	// - Validamos si el valor de la selección no es vacío -
	if(valueToAvaluate != ""){
		// - Si el valor es  = 138 "México" -
		if(valueToAvaluate == "otro"){
			// - Campo estados para méxico
			itemToEvaluate.style.display = "";
		}else{
			itemToEvaluate.style.display = "none";
		}
		
	}else{
		itemToEvaluate.style.display = "none";
	}
	//itemToEvaluate.style.display = (itemToEvaluate.style.display == "") ? "none" : "";
}
//--- END -------------------------------------------------------------------------------------------------

//--- START --- Función para mostrar ocultar en checkboxes ------------------------------------------------
function enableDisableField(fieldID){
	
	var itemToEvaluate = document.getElementById(fieldID);
	itemToEvaluate.style.display = (itemToEvaluate.style.display == "") ? "none" : "";
	
}
//--- END -------------------------------------------------------------------------------------------------
// --- START --- Funcion para poner como minimo un numero de caracteres -----------------------------------
function atLeastCharacters(fieldName, characters){
	
	var fieldContent = fieldName.value;

	if(fieldContent != ""){
		if (fieldContent.length < characters ) {
			
			alert("Por favor debes de ingresar al menos " + characters + " caracteres");
			fieldName.value = "";
			//fieldName.focus();
			
		}
	}
	
}
// --- END ------------------------------------------------------------------------------------------------
// --- START --- Ajax engine -------------------------------------------------------------------------------
function ajaxEngine(){
	var xmlhttp=false;
 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
// --- END ------------------------------------------------------------------------------------------------
// --- START --- Función para hacer el envio de variables a través de ajax --------------------------------
function callAjax(url,variables,content,mist){
	contenedor = document.getElementById(content);
	ajax=ajaxEngine();
	if(variables == "null"){
		ajax.open("GET",url,true);
	}else{
		ajax.open("POST",url,true);
	}
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			contenedor.innerHTML = ajax.responseText;
			if(mist == 1){
				//resetMist();
			}
	 	}else{
			if(mist == 1){
				//showMist(); 
				//showHideLoader('loaderHolder', 'messageHolder');
				contenedor.innerHTML = '<center><img src="images/ajax-loadermini.gif" /></center>';
				//alert("cargando");
			}
		}
	}
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
		if(variables == "null"){
		ajax.send(null);
	}else{
		ajax.send(variables);
	}

}
// --- END ------------------------------------------------------------------------------------------------
/////////////// START ----------- Envio de Fomrularios Via POST con AJAT's By: Luis R. Perez Huichita Huichita
function formSend(url, formID, contentID){ 
    var formData = document.getElementById(formID);  
    var formDataString = ""; 
    var fieldSplit;
	var formRequest = false
	fieldSplit = "" ;
    for (var i=0; i <= formData.elements.length-1;i++) { 
		formDataString += fieldSplit+formData.elements[i].name+'='+encodeURI(formData.elements[i].value); 
	 	fieldSplit="&"; 
	} 	
	callAjax(url,formDataString, contentID,1);

}
// --- END ----------------------------------------------------------------------------------------------
//-- START Función para traer el código postal ------------------------------------------------------------
function getCP(codigoPostal,comboClass,ajaxHolder){
	var cp = document.getElementById(codigoPostal).value;
	if(cp.length==5){
		document.getElementById("trAsenta").style.display = '';
		callAjax('classes/getAsentamiento.php?cp='+cp+'&class='+comboClass,'null',ajaxHolder,1);
	}
}
// --- END ------------------------------------------------------------------------------------------------


// --- START --- Función que verifica un dia valido -------------------------------------------------------
setDay = function (ano,mes,td){
	var ano = document.getElementById(ano);
	var mes = document.getElementById(mes);
	if(ano.value == ""){
		alert('Debes de seleccionar el año')
	}else{
		
		//alert('includes/getDayOfTheMonth.php?month='+mes.value+'&year='+ano.value, td);
		//llamarasincrono('includes/getDayOfTheMonth.php?month='+mes.value+'&year='+ano.value, td);
			
			callAjax('classes/getDayOfTheMonth.php?month='+mes.value+'&year='+ano.value,'null',td,1);
	}
}
// --- END ------------------------------------------------------------------------------------------------

// --- START Función para checar si un usuario ya ha sido registrado en el sistema ------------------------
function checkUser(usuario){
	callAjax('classes/CheckUser.php?userName='+usuario,'null','userField',0);
	//alert(usuario);
}
// --- END ------------------------------------------------------------------------------------------------

// --- START ----------------------------------------------------------------------------------------------
function setDateValue(year,month,day,field){

	document.getElementById(field).value = year+"-"+month+"-"+day;
}
// --- END ------------------------------------------------------------------------------------------------

// --- START --- Rating Stars Images ----------------------------------------------------------------------
function setStarImagesOn(postID,counter){
	//alert("star_"+postID+"_"+counter);
	for(i=1; i <= counter; i++){
		document.getElementById("star_"+postID+"_"+i).src = "images/rating_over.gif";
	}
}
function setStarImagesOff(postID,counter,img){
	//alert(counter);
	for(i=1; i <= counter; i++){
		document.getElementById("star_"+postID+"_"+i).src = img;
	}
}
function setStarImagesOff2(postID,counter,imgStars,img){
	//alert(counter+imgStars);
	for(i=1; i <= imgStars; i++){
		document.getElementById("star_"+postID+"_"+i).src = "images/rating_on.gif";
		//alert("star_"+postID+"_"+i)
	}
	for(k=i; k <= counter; k++){
		document.getElementById("star_"+postID+"_"+k).src = "images/rating_off.gif";
		//alert("star_"+postID+"_"+k)
	}
}

function setArticleRating(postID,rating,table){
	//alert("el post es: "+postID+" y el rating es: "+rating);
	alert("Gracias por tu voto.");
	callAjax('classes/setRating.php','postID='+postID+"&rating="+rating+"&table="+table,'ratingAjax_'+postID,0);
}
//--- END -------------------------------------------------------------------------------------------------

// --- Funcion que solo permite caracteres numericos-------------------------------------------------------
function justVarchar(fieldName, fieldType){
	
	//Definimos que tipo de caracteres aceptara
	if(fieldType == "num"){ 
		var allowedKeys = "0123456789";
	}else if(fieldType == "char"){
		var allowedKeys = ".0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz@-_";	
	}else if(fieldType == "url"){
		var allowedKeys = ".0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz ";	
	}
	//////////////////////////////////////////
	
	var contentArray = new Array();
	var finalArray = new Array();
	var fieldContent = fieldName.value;
	var cont = 0;
	var filteredContent = "";
	
	// Creación de un arreglo con los caracteres del campo de texto
	for(i=0; i<=fieldContent.length; i++){
		contentArray[i] = fieldContent.substring(i,i+1);
	}
	
	for(j=0; j<=contentArray.length; j++){
		for(x=0; x<=allowedKeys.length; x++){
			if(contentArray[j] == allowedKeys.charAt(x)){
				finalArray[cont] = contentArray[j];
				cont++;
			}
		}
	}

	for(z=0; z<=finalArray.length-2; z++){
		filteredContent += finalArray[z];
	}
	fieldName.value = filteredContent;
}
//--- END -------------------------------------------------------------------------------------------------

function enableDisableItem(itemID){
	
	var itemToEvaluate = document.getElementById(itemID);
	itemToEvaluate.disabled = (itemToEvaluate.disabled == true) ? false : true;
	
}
//--- END -------------------------------------------------------------------------------------------------


//--- START Función para validar el captcha ---------------------------------------------------------------
function checkCaptcha(userKey){
	var userKeyCode = document.getElementById(userKey);
	var publicKeyCode = document.getElementById("captchaPublic");
	if(userKeyCode.value.length == 5){
		callAjax("classes/checkCaptcha.php","userCode="+userKeyCode.value+"&publicCode="+publicKeyCode.value,"captchaFlag",0);
		//alert(publicKeyCode.value);
	}
	
}

function refreshCaptcha(){

	document.getElementById("code").value = "";
	//document.getElementById("captchaValidation").value = document.getElementById("captchaPublic").value;
	callAjax("classes/setCaptchaImage.php",'null',"captchaTD",0);

}
//--- END -------------------------------------------------------------------------------------------------

//-- START Función para traer delegacion y municipio ------------------------------------------------------
function getDelegMuni(estado,comboClass,ajaxHolder){
	
	var estado = document.getElementById(estado).value;
	if(estado.value!=0){
		callAjax('classes/getDelegMuni.php?estado='+estado+'&class='+comboClass,'null',ajaxHolder,1);
	}
}
// --- END ------------------------------------------------------------------------------------------------

//-- START Función para traer asentamiento ----------------------------------------------------------------
function getAsentamiento(deleg_muni,comboClass,ajaxHolder){
	
	var deleg_muni = document.getElementById(deleg_muni).value;
	
	if(deleg_muni.value!=0){
		callAjax('classes/getAsentamientoReverse.php?','deleg_muni='+deleg_muni+'&class='+comboClass,ajaxHolder,1);
	}
}
// --- END ------------------------------------------------------------------------------------------------

//-- START Función para mostrar las alertas de validación -------------------------------------------------
function displayError(errorMsg){
	callAjax('classes/setError.php','error='+errorMsg,'ajaxErrors',1);
}
// --- END ------------------------------------------------------------------------------------------------

function openGetAsenta(){
	openPopup('pages/getReverseCp.php',400,200,500,50,1,1);	
}


function clearForm(){
	if(confirm("¿Estas seguro que deseas borrar el formulario?")){
		document.forms[0].reset();
	}
}

//-- START Función para mostrar los PM de contacto --------------------------------------------------------
function showPermission(itemToEvaluated,itemToShow){
	var itemID = document.getElementById(itemToEvaluated);
	var itemToDisplay = document.getElementById(itemToShow);
	if(itemID.value != ""){
		itemToDisplay.style.display = "";
	}else{
		itemToDisplay.style.display = "none";
	}
}
// --- END ------------------------------------------------------------------------------------------------

function showTutorial(tutorial){
	//alert(tutorial);
	myLightWindow.activateWindow({href: 'pages/viewTutorial.php?tutorialID='+tutorial, title: 'Tutorial:', height: '286', width: '334'});	
}