// JavaScript Document

//Lista de localizaciones y de categorias
//var ruta_web_gen="http://durendesa/";
var ruta_web_gen="http://www.durendesa.com/";

var intervalo_subida;
var color_intervalo="#FF0000";
var objXML;
function enviaFormulario(frmDatos){
   //compruebo la introducción de datos
   if (check_form(frmDatos)){
	  var iIndice;
      var strContenido="";
      var strSeparador="";
      //Recorremos el formulario	 
      for (iIndice=0;iIndice<12;iIndice++){
         //Si se trata de un checkbox
		 if(frmDatos.elements[iIndice].type=="checkbox"){
             if (frmDatos.elements[iIndice].checked){
			     strContenido=strContenido+strSeparador+frmDatos.elements[iIndice].name+"=1";		 
             }
			 else{
			     strContenido=strContenido+strSeparador+frmDatos.elements[iIndice].name+"=0"; 
			 }
		 } //Si no se trata de un checkbox
		 else{
		     strContenido=strContenido+strSeparador+frmDatos.elements[iIndice].name+"="+encodeURIComponent(frmDatos.elements[iIndice].value);
		 }
	     strSeparador="&";
      }
	  objXML=CreaXHR();
	  //alert(strContenido);
      //Si tenemos el objeto
      if(objXML){     
	    //Enviamos la solicitud al servidor		
		var url_xml='./Mail/registraUsuario.php';
		objXML.onreadystatechange=ProcesaRespuesta;
		objXML.open('POST',url_xml);
		//objXML.open('POST','http://fotoyvoto/new_modules/prueba.xml');	    
		//con las cabeceras apropiadas
	    objXML.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    objXML.setRequestHeader('Content-Length',strContenido.length);
	    objXML.send(strContenido);	
		//ahora informo en la casilla de la acción
		 var elemento=document.getElementById('informa_div');
         intervalo_subida=setInterval("cambia_color()",500);
         elemento.innerHTML="Grabando los datos!!";			
      }
	  else{
	    alert('Objeto XMLHttpRequest no activo.Actualize su navegador');
	  }	  
	  return false;
   }
   else{
	 return false;
   }	  
}

function cambia_color(){
   var elemento=document.getElementById('informa_div');   
   if(color_intervalo=="#FF0000"){
      color_intervalo="#FFFFFF";	  
   }
   else{
      color_intervalo="#FF0000";
   }
   elemento.style.color=color_intervalo;   
}

function ProcesaRespuesta(){
  if (objXML.readyState==4){
	 //limpio el intervalo de tiempo
	 clearInterval(intervalo_subida);
	 var XMLCo=objXML.responseXML;
	 var respuesta=XMLCo.getElementsByTagName('resultado'); 
	 var elemento=document.getElementById('informa_div');
     elemento.innerHTML=respuesta[0].getAttribute('descrip');
     if (respuesta[0].getAttribute('resul')=="SI"){
 		 var elemento=document.getElementById('informa_div'); 
		 elemento.style.color="#FF0000";  
		 //asigno el código de usuario al campo oculto
		 frm=document.getElementById('formu_user_img');
		 frm["NombreCompleto"].value=respuesta[0].getAttribute('NombreCompleto');
		 frm["Email"].value=respuesta[0].getAttribute('Email');		 
		 //desbloqueo los controles
         desbloquea_imagen();
     }
  }
}



function check_form(frm){
	if(validanom(frm.NombreCompleto.value,'Nombre Completo','NombreCompleto')==false){return false;};			
	if(validaEmail(frm.Email.value)==false){return false;};
	if(validanom(frm.Telefono.value,'Teléfono','Telefono')==false){return false;};
	if(validanom(frm.TipoVivienda.value,'Tipo Vivienda','TipoVivienda')==false){return false;};
	if(validanom(frm.Superficie.value,'Superficie','Superficie')==false){return false;};
	if(validanom(frm.Direccion.value,'Direccion','Direccion')==false){return false;};
	if(validanom(frm.Poblacion.value,'Poblacion','Poblacion')==false){return false;};
	if(validanom(frm.CP.value,'CP','CP')==false){return false;};
	if(validanom(frm.Provincia.value,'Provincia','Provincia')==false){return false;};
	if(validanom(frm.Precio.value,'Precio','Precio')==false){return false;};
	if(validanom(frm.Descripcion.value,'Descripcion','Descripcion')==false){return false;};
	return true;
}

function bloquea_imagen(){
   frm=document.getElementById('formu_user_img');
   frm["sube_img_btn"].disabled=true;
   frm["fileUpload"].disabled=true;
}

function desbloquea_imagen(){
   frm=document.getElementById('formu_user_img');
   frm["sube_img_btn"].disabled=false;
   frm["fileUpload"].disabled=false;
   frm_user=document.getElementById('formDatosOferta');
   frm_user["btn_submit"].disabled=true;
}

//función que comprueba la existencia de al menos un carácter
function validanom(nomtxt,nombrecampo,nomcasilla){
	frm=document.getElementById('formDatosOferta');
	if (nomtxt.length==0){
	    alert("La longitud del campo " + nombrecampo + " no puede ser 0");
        frm[nomcasilla].focus(); 
		return false;
	}
	var i;
	var suma=0;
	for (i=0;i<nomtxt.length;i++){
		if (nomtxt.charAt(i) !=" "){
		   suma++;
		}
	}
	if (suma==0){
     	alert("La longitud del campo " + nombrecampo + "no puede ser 0");
		//frm[nomcasilla].focus(); 
		return false; 
	}
	else {
	    //var txtmayus = nomtxt.toUpperCase();
		//frm(nomcasilla).value=txtmayus;
		return true;
	}
}
//formato de emails
function validaEmail(emailtxt){
     frm=document.getElementById('formDatosOferta');
	 //comprueba la existencia de una arroba y un punto 
	 if (emailtxt.length==0){
	    alert("La dirección de e-mail no puede ser un campo vacío");
		return false;
	 }
	 var i;
	 var sumarroba=0;
	 var sumapunto=0;
	 for (i=0;i<emailtxt.length;i++){
	     if (emailtxt.charAt(i)=="@"){
		    sumarroba++;
		 } 
		 if (emailtxt.charAt(i)=="."){
		    sumapunto++;
		 } 
	 }
	 if ((sumarroba!=1) || (sumapunto==0)){
	     alert("El formato de la dirección e-mail es incorrecto");
		 return false; 
	 }
	 return true;
}

function enviaImagen(frmImagen){
   if (frmImagen.fileUpload.value==""){
       alert("Seleccione alguna imagen");
	   return false;
   }
   var elemento=document.getElementById('informa_div');
   intervalo_subida=setInterval("cambia_color()",500);
   elemento.innerHTML="Subiendo archivo, espera confirmación!!";
   return true;
}