/// SCRIPT CREADO EN ALTIMEA
var loadstatustext="<img src='./images/loading1.gif' />"
function createREQ() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
     return req;
}
function requestGET(url, query, req) {
myRand=parseInt(Math.random()*99999999);
req.open("GET",url+'?'+'query'+'&rand='+myRand,true);
req.send(null);
}
function requestPOST(url, query, req) {
req.open("POST", url,true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//alert(query);
req.send(query);
}
function doCallback(callback,item) {
eval(callback + '(item)');
}

function doAjax(url,query,callback,reqtype,getxml) {
// crea la instancia del objeto XMLHTTPRequest
document.getElementById('preload').innerHTML=loadstatustext
var myreq = createREQ();
myreq.onreadystatechange = function() {
if(myreq.readyState == 4) {
   if(myreq.status == 200) {
      var item = myreq.responseText;
      if(getxml==1) {
         item = myreq.responseXML;
      }
      doCallback(callback, item);
    }
  }
}
if(reqtype=='post') {
requestPOST(url,query,myreq);
} else {
requestGET(url,query,myreq);
}
}
//############################### he aqui comienza el tabs */
var peticion = false; 
function ObtenerDatos(datos,divID,query) { 
var peticion = createREQ();
if(peticion) {
     var obj = document.getElementById(divID); 
	 obj.innerHTML =loadstatustext;    
     peticion.onreadystatechange = function()  { 
          if (peticion.readyState == 4) { 
               obj.innerHTML = peticion.responseText; 
          } 
     }
	 //llamando la funcion para hacer la petion del GET
	 requestPOST(datos,query,peticion);
}
}

function CambiarEstilo(id) {
	var elementosMenu = getElementsByClassName(document, "li", "activo");
	for (k = 0; k< elementosMenu.length; k++) {
	elementosMenu[k].className = "inactivo";
	}
	var identity=document.getElementById(id);
	identity.className="activo";
}


function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

//########################################### MESCLANDO VALIDATOR CON  AJAX
function validaFormulario(ruta){
var propControl = new Array();
debecontar=0;
contar=0;
validar=0;
vacios=0;
	for(var i=0; i<ruta.elements.length; i++){
		controlAct=ruta.elements[i];
		if(ruta.elements[i].title.indexOf("*")!=-1){//si existe * entonces valida datos del control actual
			propControl = ruta.elements[i].title.split("*");
			//alert(propControl[1]);
			if(propControl[1].indexOf("r")!= -1){//si es diferente de -1 entonces es un control requerido
				if(controlAct.value=="" || controlAct.value=="0"){
					alert("Le champ \""+propControl[0]+"\" est obligatoire");
					controlAct.focus();
					return false;
					break;
				}
			}
			if(propControl[1].indexOf("m")!= -1){//si es diferente de -1 entonces se debe validar el email
				if(emailCheck(controlAct.value)==0){
					alert("Votre email n'est pas valide");
					controlAct.focus();
					return false;
					break;
				}
			}if(propControl[1].indexOf("c")!= -1){
				debecontar=1;
				contar=contar+1;
				if(controlAct.value==""){
					vacios=vacios+1;
					if(contar==1){
						kontrol=controlAct;
						nombreKontrol=propControl[0];
					}
				}				
			}			
			if(propControl[1].indexOf("f")!= -1){
				if(checkDecimals(controlAct)==0){
					alert("Le champ "+propControl[0]+" ne doit pas contenir de caractères alphanumériques");
					controlAct.focus();
					controlAct.select();
					return false;
					break;
				}else{
					num=roundOff(controlAct.value, 2);
					//alert(num);
				}				
			}
			if(propControl[1].indexOf("p1")!= -1){//hay un "campo password"
				password1=controlAct.value;
			}
			if(propControl[1].indexOf("p2")!= -1){//hay un campo "repetir password"
				password2=controlAct.value;
				validar=1;
				ctrlRep=controlAct;
			}
		}
	}
	if(validar==1){
		if(password1!=password2){
			alert('Vous n\’avez pas retapé correctement votre mot de passe');
			ctrlRep.focus();
			ctrlRep.select();
			return false;
		}
	}
	if(debecontar==1){
		if(contar==vacios){
			alert('Les champs "'+nombreKontrol+'" ne peuvent être vides ');
			kontrol.focus();
			return false;
		}
	}
}

function roundOff(value, precision){
value = "" + value //convert value to string
precision = parseInt(precision);
var whole = "" + Math.round(value * Math.pow(10, precision));
var decPoint = whole.length - precision;

	if(decPoint != 0){
		result = whole.substring(0, decPoint);
		result += ".";
		result += whole.substring(decPoint, whole.length);
	}else{
		result = whole;
	}
	return result;
}


function checkDecimals(fieldName) {
decallowed = 2;  // cuantos decimales se desea
fieldValue=fieldName.value;
	if(fieldValue.length>=1){
		if (isNaN(fieldValue) || fieldValue == "") {
			return 0;
		}
		else {
			if (fieldValue.indexOf('.') == -1) 
				fieldValue += ".";
			dectext = fieldValue.substring(fieldValue.indexOf('.')+1, fieldValue.length);
	
			if (dectext.length > decallowed){
				return 0;
	      	}else {
			return 1;
	      	}
		}
	}else{
		return 1;
	}
}


function emailCheck (emailStr) {
if(emailStr.length>=1){
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	return 0;
}
var user=matchArray[1]
var domain=matchArray[2]

if (user.match(userPat)==null) {
	return 0;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
		return 0;
	    }
    }
	return 1;
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	return 0;
}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   return 0;
}

if (len<2) {
   return 0;
}

}else{
	return 1;
}

}

function retornadatos_usuarios(xml_pueblos){
var valor = new Array();
 var numero1=xml_pueblos.getElementsByTagName("login").length;;
 var numero2=xml_pueblos.getElementsByTagName("email").length;;
 if(numero1>0){
  document.getElementById('login').innerHTML='&nbsp; &nbsp;' + xml_pueblos.getElementsByTagName('login').item(0).firstChild.nodeValue;
 } if(numero2>0){
 document.getElementById('email').innerHTML=' &nbsp;&nbsp;' +  xml_pueblos.getElementsByTagName('email').item(0).firstChild.nodeValue;
 }
 document.getElementById('preload').innerHTML="";
}
function enviarFormulario(Formulario){
    var longitudFormulario = Formulario.elements.length;
    var cadenaFormulario = ""
    var sepCampos
    sepCampos = ""
    for (var i=0; i <= Formulario.elements.length-1;i++) {
      cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
      sepCampos="&";
    }
	return cadenaFormulario; 
 }
//  funcion para la paginacion
function verCampos(ruta){
	val=0;
	for(var i=0; i<ruta.elements.length; i++){
		controlAct=ruta.elements[i];
		if(ruta.elements[i].title.indexOf("@")!=-1){//si existe * entonces valida datos del control actual
			propControl = ruta.elements[i].title.split("@");
			if(propControl[1].indexOf("r")!= -1){//si es diferente de -1 entonces es un control requerido
				if(controlAct.value!=""){
					val++;
				}
				
			}
		}
	}
	return val;
}

function listado_busqueda(xml_pueblos){
 document.getElementById('preload').innerHTML=xml_pueblos;
}
function Pagina(nropagina,dato){
		dato=document.frmbusqueda;
		cadenaFormulario=enviarFormulario(dato);
		doAjax('./'+document.getElementById('page').value+'.php?pag='+nropagina,cadenaFormulario ,'listado_busqueda','post','0');
}
function listado_busqueda(txt){
 document.getElementById('preload').innerHTML=txt;
}
function get_detail(pagina,id){
		doAjax('./affiches.php?page='+pagina+'&id='+id,'','listado_busqueda','post','0');
}

function onfocus_gral(text,ctrl){
	if(document.getElementById(ctrl).value==text){
		document.getElementById(ctrl).value="";
	}
}
function onblur_gral(text,ctrl){
	if(document.getElementById(ctrl).value==""){
		document.getElementById(ctrl).value=text;
	}	
}
function buscarDato(lista){
		/// 
	if(document.frmbusqueda.txtSearch.value==""){
		if(lista==""){
			if(document.frmbusqueda.temas.value!="")
				lista='temas';
				
			if(document.frmbusqueda.autor.value!="")
				lista='autor';
		}
		if(lista=='autor')
		document.frmbusqueda.temas.options[0].selected = "true";
		else
		document.frmbusqueda.autor.options[0].selected = "true";
	}
	
		ruta=document.frmbusqueda;
		cadenaFormulario=enviarFormulario(ruta);
		doAjax('./'+document.getElementById('page').value+'.php',cadenaFormulario ,'listado_busqueda','post','0');
}

function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
    return (true)
  } else {
    return (false);
  }
 }
 
function checked_email(){
	if(document.getElementById('txtEmail_news').value=="Email" || document.getElementById('txtEmail_news').value==""){
		alert("Vous devez saisir une adresse email valide / Please enter a valid email adress");
		document.getElementById('txtEmail_news').focus();
		return false;
	}else{
		if(!validarEmail(document.getElementById('txtEmail_news').value)){
			alert("Vous devez saisir une adresse email valide / Please enter a valid email adress");
			return false;
			document.getElementById('txtEmail_news').focus();
		}else{
			document.frm_newsletter.submit();	
		}	
	}	
}

//// validar formulario de contacto
function checked_contact(){ 
	if(document.getElementById('txtApel').value=="Nom_Last name" || document.getElementById('txtApel').value==""){alert("Le champ Nom_Last_name est obligatoire"); return false;}
	if(document.getElementById('txtNom').value=="Prénom_Name" || document.getElementById('txtNom').value==""){alert("Le champ Prénom_Name est obligatoire"); return false;}
	if(document.getElementById('txtVille').value=="Ville_city" || document.getElementById('txtVille').value==""){alert("Le champ Ville_city est obligatoire"); return false;}
	if(document.getElementById('txtEmail').value=="Adresse email_Email adress" || document.getElementById('txtEmail').value==""){
		alert("Vous devez saisir une adresse email valide / Please enter a valid email adress");
		document.getElementById('txtEmail').focus();
		return false;
	}
	if(!validarEmail(document.getElementById('txtEmail').value)){
		alert("Vous devez saisir une adresse email valide / Please enter a valid email adress");
		document.getElementById('txtEmail').focus();
			return false;
	}
	if(document.getElementById('txtMessage').value=="Message" || document.getElementById('txtMessage').value==""){alert("Le champ Message est obligatoire"); return false;}
			
	
	document.frm_newsletter.submit();	
	
}