/*
MODIFICACION: 29-30/06/2011 AUTOR: CORTIZ
DESCRIPCION : Creación de método ChangeUserPassword

MODIFICACION: 22/12/2011 AUTOR: SVAZQUEZ
DESCRIPCION: Adaptar sistema para usar el certificado de asp-grp. Hacer las cookies globales al dominio

*/

var Asp = {
	Ajax : {
		peticionAjaxPost: function(strPage, objParams, fncSuccess, fncError ){
			$.ajax({
				type: "POST",
				url: strPage,
				data: objParams,
				success: fncSuccess,
				error: fncError
			});
		},
		peticionAjaxGet: function(strPage, objParams, fncSuccess, fncError ){
			$.ajax({
				type: "GET",
				url: strPage,
				data: objParams,
				success: fncSuccess,
				error: fncError
			});
		}
	}
	,Login: {
		validateForm: function(strUrl, formularioPrincipal, formularioPassword){
			var strUser = $("#txtUser").val();
			var strPwd = $("#txtPwd").val();
			var strId = $("#txtId").val();

			if(strUser.length == 0 || strPwd.length == 0){
				alert("Por favor, rellene todos los campos");
				return;
			}

			Asp.Ajax.peticionAjaxPost(strUrl, 
				{
					"u": strUser
					,"p": strPwd
					,"i": strId
					,"t": "ajax"
				},
				function(data){	// Function OK					
					if(data.indexOf("session_ok")>=0){
						
						var htmlContent = data.split("##separadorLoginContent##")[1];
						
						// abro el popup y le asigno el contenido
						var popup = null;
						try{popup = window.open("",'myPopup',"toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes");}catch(msg){}
						
						if(popup == null){
							try{popup = window.open("",'myPopup',"toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes", true);}catch(msg){}
						}
						
						if(!popup) return;		// Si no existe el objeto popup es porque el navegador no ha podido abrirlo. Quizá porque no se permiten ventanas emergentes en la página
						
						popup.document.write(htmlContent);
						popup.document.close();					// Finaliza el código de la página (NO ESTA CERRANDO EL DOCUMENTO)
						
						// Posiciono la pantalla como MAXIMIZADA
						popup.moveTo(0,0)
						popup.resizeTo(window.screen.availWidth,window.screen.availHeight)

						if(LabelBrowser.isIE() && LabelBrowser.Version() <= 6){
							ventana.opener = window.self;
						}else if(LabelBrowser.isIE()){ // para versiones superiores de IE
							window.open('','_self','');
						}
						
						// inicializo el valor del password
						$("#txtPwd").val(""); 
						
						// cierro la ventana actual 
						window.close();

					}else{					   
						if(data == "session_ko#labelUserNeedChangePassword"){
							$(formularioPrincipal).hide();
							$(formularioPassword).show();
						}else{
							alert("Los datos introducidos no son correctos");
						}
					}
				},
				function(){	// Function KO
					alert("No se ha podido hacer la validación correctamente debido a un problema de conexión");
				}
			);
		}
		,ChangeUserPassword: function(strUrl, formularioPrincipal, formularioPassword){
			var strUser 	= $("#txtUser").val();
			var strId 		= $("#txtId").val();
			var strOldPwd  	= $("#txtOldPwd").val();
			var strNewPwd 	= $("#txtNewPwd").val();
			var strNewPwdr 	= $("#txtNewPwdr").val();			
			
			if(strOldPwd.length == 0 || strNewPwd.length == 0 || strNewPwdr.length == 0){
				alert("Por favor, rellene todos los campos");
				return;
			}
			
			if(strNewPwd != strNewPwdr){
				alert("Los campos referentes a la nueva clave no coinciden");
				$("#txtNewPwd").val("");		// inicializo los valores del password
				$("#txtNewPwdr").val("");
				return;
			}		
			
			Asp.Ajax.peticionAjaxPost(strUrl, 
				{
					"u"		: strUser
					,"p"	: strOldPwd
					,"i"	: strId
					,"pwdn"	: strNewPwd
					,"pwdnr": strNewPwdr
					,"t"	: "changePwd"
				},
				function(data){	// Function OK
					if(data.indexOf("session_ok")>=0){
						var htmlContent = data.split("##separadorLoginContent##")[1];
						
						// abro el popup y le asigno el contenido
						var popup = window.open("",'myPopup',"toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes");
						
						if(!popup) return;		// Si no existe el objeto popup es porque el navegador no ha podido abrirlo. Quizá porque no se permiten ventanas emergentes en la página
						
						popup.document.write(htmlContent);
						popup.document.close();					// Finaliza el código de la página (NO ESTA CERRANDO EL DOCUMENTO)
						
						// Posiciono la pantalla como MAXIMIZADA
						popup.moveTo(0,0)
						popup.resizeTo(window.screen.availWidth,window.screen.availHeight)

						if(LabelBrowser.isIE() && LabelBrowser.Version() <= 6){
							ventana.opener = window.self;
						}else if(LabelBrowser.isIE()){ // para versiones superiores de IE
							window.open('','_self','');
						}
						
						$("#txtOldPwd").val("");  // inicializo los valores del password
						$("#txtNewPwd").val(""); 
						$("#txtNewPwdr").val("");
					
						// cierro la ventana actual 
						window.close();

					}else{
						alert("Los datos introducidos no son correctos");
					}
				},
				function(){	// Function KO
					alert("No se ha podido hacer la validación correctamente debido a un problema de conexión");
				}
			);
		}
	}
}

// Obtiene el navegador y su version
var LabelBrowser = {
	userAgent : function(){return navigator.userAgent.toLowerCase();},
	_version: function(strCadena){
		var index = this.userAgent().indexOf(strCadena);
		var subCadena = this.userAgent().substr(index+strCadena.length);
		var indexFinal = subCadena.indexOf(".");
		return subCadena.substr(0,indexFinal);
	},
	Version: function() {
		var version = 999; // we assume a sane browser
		if (this.isIE()){
			version = this._version("msie ");
		}else if (this.isMozilla()){
			version = this._version("firefox/");
		}else if(this.isChrome()){
			version = this._version("chrome/");
		}
		return version;
	},
	Name: function(){
		if (LabelBrowser.isIE()){
			return "IE";
		}else if (this.isMozilla()){
			return "FF";
		}else if (this.isOpera()){
			return "OPERA";
		}else if (this.isSafari()){
			return "SAFARI";
		}else if (this.isChrome()){
			return "CHROME";
		}else{
			return "UNDEFINED";
		}
	},
	isChrome: function(){return (/chrome/.test( this.userAgent() ));},
	isSafari: function(){return (/webkit/.test( this.userAgent() ) && !/chrome/.test( this.userAgent() ));},
	isOpera: function(){return (/opera/.test( this.userAgent() ));},
	isIE: function(){return (/msie/.test( this.userAgent() ) && !/opera/.test( this.userAgent() ));},
	isMozilla: function(){return (/mozilla/.test( this.userAgent() ) && !/(compatible|webkit)/.test( this.userAgent() ));}
};
// FIN - Obtiene el navegador y si version

// Funcion utilizada en la home para mostrar u ocultar las capas de las webs
function mostrarInfoWeb(strWeb){
	// Si se llama desde el flash para mostrar Web de Label
	if(typeof strWeb == "undefined"){
		//Oculto todas las capas de iframe
		$(".capasIframe").hide();			// Oculto las capas el iframe
		$("#login_bkg, #login_form").show(); // Muestro las capas del formulario
		return;
	}

	var sitesDir = "/custom/corp_sites/" + strWeb.toLowerCase() + "/";
	var configWebs = {
		"ASP-GRP":	{	"url": sitesDir + "home.html"}
		,"IPORIUM": {	"url": sitesDir + "index.html"}
		,"INECOP": {	"url": sitesDir + "fmjges.htm"}
		,"TYDA": 	{	"url": sitesDir + "index.html"}
		,"LABEL": 	{	"url": sitesDir + "index.html"}
	}

	//Oculto todas las capas de iframe y todo el formulario de login
	$(".capasIframe, #login_bkg, #login_form").hide();

	var iframe = $("#" + strWeb);
	if(iframe.show()[0].src != configWebs[strWeb].url)
		iframe.show()[0].src = configWebs[strWeb].url;
}

