/*                                                                                                                                                      
Copyright (c) 2006, Tecsisa. Todos los derechos reservados
Version: 0.0.1       
                                                                                                                                  
*/ 

/**
 * iGesWeb global namespace
 * @constructor
 */
 if (iGesWeb == null){
	var iGesWeb = window.iGesWeb || {};
}
/**
 * Devuelve el espacio de nombres y lo crea si no existe
 *
 * iGesWeb.namespace("propiedad.paquete");
 * iGesWeb.namespace("iGesWeb.propiedad.paquete");
 *
 * Resultado: crear iGesWeb.propiedad, devolver iGesWeb.propiedad.paquete
 *
 * @param  {String} sEspacioNombres Representación del espacio de nombres
 * @return {Object}            		Referencia al espacio de nombres
 */
 
iGesWeb.espacioNombres = function( sEspacioNombres ) {

    if (!sEspacioNombres || !sEspacioNombres.length) {
        return null;
    }

    var niveles = sEspacioNombres.split(".");
    var enActual = iGesWeb;
    // iGesWeb ignorado si se incluye
    var i=(niveles[0] == "iGesWeb") ? 1 : 0;
    for (i; i<niveles.length; ++i) {
        enActual[niveles[i]] = enActual[niveles[i]] || {};
        enActual = enActual[niveles[i]];
    }

    return enActual;
};

iGesWeb.espacioNombres("util");

function valida(campoObj) {
	if (campoObj.value == ""){
		campoObj.className="error";
		return "<li>" + campoObj.name + "</li>";
	}
	return "";
}
function sendForm(){
	//required: ["nombre", "apellido1", "mailUsuario"]
	var results 	= "";
	var idioma 		= document.getElementById("idioma").value;
	var logDivObj	= document.getElementById("logDiv");
	
	empresaObj 		= document.getElementById("empresa");
	nombreObj 		= document.getElementById("nombre");
	apellido1Obj 	= document.getElementById("apellido1");
	direccionObj	= document.getElementById("direccion");
	ciudadObj		= document.getElementById("ciudad");
	provinciaObj	= document.getElementById("provincia");
	cpObj			= document.getElementById("cp");
	paisObj			= document.getElementById("pais");
	mailUsuarioObj 	= document.getElementById("mailUsuario");
	telefonoObj 	= document.getElementById("telefono");
	
	resultado = valida (empresaObj);
	resultado += valida (nombreObj);
	resultado += valida (apellido1Obj);
	
	resultado += valida (direccionObj);
	resultado += valida (ciudadObj);
	resultado += valida (provinciaObj);
	resultado += valida (cpObj);
	resultado += valida (paisObj);

	resultado += valida (mailUsuarioObj);
	resultado += valida (telefonoObj);
					
	if(resultado == "" ){ 				
										
		//Enviar formulario. El último parametro de la llamada a getValues debe de ser el idioma del formulario, que debe de meterse a mano hasta que haya algún campo en el que el usuario elija el idioma.			
		//iGesWeb.sendForm(DWRUtil.getValues({nombre:null, apellido1:null, apellido2:null, sexo:null, direccion:null, ciudad:null, provincia:null, cp:null,pais:null,telefono:null,mailUsuario:null,empresa:null,solicitud:null,otra_info:null,idioma:null}), document.getElementById("idioma").value, retornoSendForm);
		iGesWeb.sendForm(DWRUtil.getValues({empresa:null, nombre:null, apellido1:null, direccion:null, ciudad:null, provincia:null, cp:null,pais:null,telefono:null,mailUsuario:null,solicitud_select:null,otra_info:null,idioma:null}), idioma, retornoSendForm);
		switch(idioma){
		case "es_ES":
		 	estado = "Enviando...";
		  break    
		case "en_EN":
			estado = "Sending...";
		  break
		case "fr_BE":
			estado = "Envoi en cours...";
		  break
		case "nl_BE":
			estado = "Wordt verzonden...";
		  break
		default:
			estado = "Sending...";
		}
		logDivObj.className = 'sending';
		logDivObj.innerHTML = estado;
		return true;
	}else{
		switch(idioma){
		case "es_ES":
		 	estado = "Los siguientes campos son obligatorios:";
		  break    
		case "en_EN":
			estado = "The following fields are necesary:";
		  break
		case "fr_BE":
			estado = "Les champs suivants sont obligatoires:";
		  break
		case "nl_BE":
			estado = "Volgende velden zijn verplicht:";
		  break
		default:
			estado = "The following fields are necesary:";
		  break	
		}
		logDivObj.className = 'error';
		logDivObj.innerHTML = estado + "<ul>" + resultado + "</ul>";		
	}	
		
}
function borrarFormulario(formObj){
	formObj.reset();
}
function retornoSendForm(val){
	var idioma 		= document.getElementById("idioma").value;
	var logDivObj	= document.getElementById("logDiv");
	var formDivObj	= document.getElementById("formDiv");	
			
	if (val){
		switch(idioma){
		case "es_ES":
		 	estado = "Gracias el formulario se ha enviado correctamente.";
		  break    
		case "en_EN":
			estado = "Thanks, form was successfully sent.";
		  break
		case "fr_BE":
			estado = "Merci. Le formulaire ŕ bien été transmis.";
		  break
		case "nl_BE":
			estado = "Dank. Het formulier werd goed verstuurd.";
		  break
		default:
			estado = "Thanks, form was successfully sent.";
		  break	
		}
		logDivObj.className = 'ok';
		logDivObj.innerHTML = estado;
		formDivObj.style.display = 'none';
	}
	else{
		switch(idioma){
		case "es_ES":
		 	estado = "Error al enviar el formulario. Por favor compruebe los campos.";
		  break    
		case "en_EN":
			estado = "Error sending the form. Please review the fields.";
		  break
		case "fr_BE":
			estado = "Erreur ŕ l'envoie. Veuillez controller les champs introduits.";
		  break
		case "nl_BE":
			estado = "Fout bij het versturen. Graag de ingevoerde velden nakijken.";
		  break
		default:
			estado = "Error sending the form. Please review the fields.";
		  break		
		}
		logDivObj.className = 'error';
		logDivObj.innerHTML = estado;		
	}	
	return;
}

function seleccionarPagina(paginaSeleccionada){
	document.formBuscar.pagina.value=paginaSeleccionada;
	document.formBuscar.submit();
	return false;
}

function writeFlash(movie, id, width, height, minVer, bgcolor){
   var so = new SWFObject(movie, id, width, height, minVer, bgcolor);
   so.addParam("quality", "high");
   so.addParam("wmode", "transparent");
   so.write(id);
}

window.name="_igw";


/* -------------------------- */

/*                                                                                                                                                      
Copyright (c) 2006, Tecsisa. Todos los derechos reservados
Version: 0.0.1                                                                                                                                         
*/ 

function AjaxSendForm(){
	var strResult 		= "";
	var objField		= null;
	var idioma 			= document.getElementById("idioma").value;
	var logDivObj		= document.getElementById("logDiv");
	var formObj			= document.getElementById("formDiv");
	var formId			= document.getElementById("formId").value;
	var fields			= document.getElementById("formFields").value;
	var validateFields 	= document.getElementById("validateFields").value;
	var arrayValidateFields =  validateFields.split(",");
	
	for(i=0; i<arrayValidateFields.length; i++){
			objField	= document.getElementById(arrayValidateFields[i]);
			strResult += valida (objField);
	}

	if(strResult == "" ){ 				
		iGesWeb.sendForm(DWRUtil.getValues(formObj), formId, idioma, retornoSendForm);
		switch(idioma){
		case "es_ES":
		 	estado = "Enviando...";
		  break    
		case "en_EN":
			estado = "Sending...";
		  break
		case "fr_BE":
			estado = "Envoi en cours...";
		  break
		case "nl_BE":
			estado = "Wordt verzonden...";
		  break
		default:
			estado = "Sending...";
		}
		logDivObj.className = 'sending';
		logDivObj.innerHTML = estado;
		return true;
	}else{
		switch(idioma){
		case "es_ES":
		 	estado = "Los siguientes campos son obligatorios:";
		  break    
		case "en_EN":
			estado = "The following fields are necesary:";
		  break
		case "fr_BE":
			estado = "Les champs suivants sont obligatoires:";
		  break
		case "nl_BE":
			estado = "Volgende velden zijn verplicht:";
		  break
		default:
			estado = "The following fields are necesary:";
		  break	
		} // switch
		logDivObj.className = 'error';
		logDivObj.innerHTML = estado + "<ul>" + strResult + "</ul>";		
	}	// if
		
}



