/***********************************************************************/
/*******************   USER LOGIN PRINCIPAL ****************************/
/***********************************************************************/
function JSObj_user_login()
{
	this.posId = 1;
	this.lngId = 'es';
	
	this.url_ok;
	this.url_nok;
	this.url_signon;
	this.url_rempass;
	this.url_logoff;
	this.loginStatus = 0;
	this.url_paypal = "";
	this.host_securized = "";
	this.useEvent = "user_login";
	//this.use_cookie;

	this.msg_validation_err = 'Debes escribir un usuario y contraseña.';
	this.msg_login_err = 'El usuario y/o contraseña introducidos no son válidos.';
	this.msg_paypal_err = 'Error al intentar la operación.';
	this.msg_general_err = null;        // se utiliza para mostrar un unico mensaje de error. Contiene el texto del mensaje.
	
	this.doLogOff = function () 
	{
		var oAjax = new WBE_AjaxClass();
		oAjax.throwEvent2("user_logoff");
		if (this.url_logoff) window.location.href = this.url_logoff;	
		else window.location.reload();
	}
	
	this.doSignon = function ()
	{
		if (this.url_signon) window.location.href = this.url_signon;	
		else window.location.reload();
	}
	
	this.doLogin = function () 
	{
		var oAjax = new WBE_AjaxClass();
		var oField1, oField2;
		var oXmlDoc;
		oField1 = eval('document.forms[0].txt_login_' + this.posId);
		oField2 = eval('document.forms[0].txt_password_' + this.posId);
 
		oAjax.clear();
		oAjax.host_securized = this.host_securized;
		if (oField1.value=='' || oField2.value=='') {
		    alert(this.msg_validation_err);
			return false;
		}
		oAjax.addPostParameter("txt_login", oField1.value);
		oAjax.addPostParameter("txt_password", oField2.value);
		oXmlDoc = oAjax.throwEventXML(this.useEvent);
		
		if (!oXmlDoc) {	alert(this.msg_login_err); return false;	}
		this.loginStatus = oAjax.getXMLNodeValue(oXmlDoc, 's');
		//this.doPostLogin(oXmlDoc);
		return this.doPostLogin(oXmlDoc);
	};

	this.doPostLogin = function(oXmlDoc) {
	    var oAjax = new WBE_AjaxClass();
	    if (this.loginStatus != 0) {
	        var sErrorMessage = oAjax.getXMLNodeValue(oXmlDoc, 'm');
	        if (this.msg_general_err)
	            alert(this.msg_general_err);
	        else
	            alert(sErrorMessage);
	        return false;
	    } else {
	        if (this.use_cookie == "1") {
	            var expires = new Date(2100, 1, 1);
	            document.cookie = "cookie_user_login=" + escape(oField1.value) + ";path=/;expires=" + expires.toGMTString();
	            document.cookie = "cookie_pass_login=" + escape(oField2.value) + ";path=/;expires=" + expires.toGMTString();
	        }
	        if (this.doOkReload) this.doOkReload();
	    }
	    return true;
	}

	this.doPaypalExpressCheckout = function() {
	    var oAjax = new WBE_AjaxClass();
	    var oField1, oField2;
	    var oXmlDoc;

	    oAjax.clear();
	    
	    oXmlDoc = oAjax.throwEventXML("com_paypal_express_checkout");

	    if (!oXmlDoc) { alert(this.msg_paypal_err); return; }

	    this.url_paypal = oAjax.getXMLNodeValue(oXmlDoc, 'url_paypal');

	    if (this.url_paypal == "") {
	        var sErrorMessage = oAjax.getXMLNodeValue(oXmlDoc, 'message');
	        alert(sErrorMessage);
	        return;
	    }
	    else {
	        window.location.href = this.url_paypal;
	    }
	};

	// Recarga la página
	this.doOkReload = function() {
		if (this.url_ok) window.location.href = this.url_ok;	
		else window.location.reload();
	}
	
};

/********************************************************************/
/*******************   USER LOGIN EDIT   ****************************/
/********************************************************************/
function JSObj_user_login_edit()
{
	this.posId = 1;
	this.compId = 1;
	this.parentPosId = 1;
	this.varName = '';
	this.lngId = 'es';
	this.config_xml_process = 'xml_process';
	this.use_cookie = false;

	// Oculta todos los campos de formulario SELECT por el problema que tiene el IE. (como en el back azul)
	this.hideSelectBoxes = function () {
		for(var i = 0; i < document.forms.length; i++) {
			for(var e = 0; e < document.forms[i].length; e++){
				if(document.forms[i].elements[e].tagName == "SELECT")
					document.forms[i].elements[e].style.visibility="hidden";
			} // for e
		} // for i
	};
	
	// Muestra todos los campos de formulario SELECT por el problema que tiene el IE. (como en el back azul)
	this.displaySelectBoxes = function () {
		for(var i = 0; i < document.forms.length; i++) {
			for(var e = 0; e < document.forms[i].length; e++){
				if(document.forms[i].elements[e].tagName == "SELECT")
					document.forms[i].elements[e].style.visibility="visible";
			} // for e
		} // for i
	};
	
	// Muestra la ruta de la xsl al seleccionar algún proceso
	this.changeProcess = function () {
		var dest_div = document.getElementById('xsl_path_' + this.posId);
		var elem_sel = eval('document.InmediaFrm.config_' + this.config_xml_process + '_' + this.posId);
		var from_div = document.getElementById('xsl_path_' + this.posId + '_' + elem_sel.selectedIndex);
		dest_div.innerHTML = from_div.innerHTML;
	};
	
	this.save = function () {
		var objConfig = new WBEConfigMgr();
		objConfig.posId = this.posId;
		objConfig.compId = this.compId;
		//objConfig.cache_delete_prefix = '|travel_offerings/front_offering_data.' + this.posId + '|';

		window.parent.objLoading.showWindow();
		this.hideSelectBoxes();
		
		objConfig.saveConfig();
	
		var objReloader = new WbePositionReloader();
		objReloader.posId = this.parentPosId;
		objReloader.reload();

		window.parent.___wbeADMIN.hidePopUp();
		window.parent.objLoading.hideWindow();

		this.displaySelectBoxes();
	};

};

