/*****************************************************************************\
	portal www.alcorce.com
	(c) alcorce e-business
	------------------------------------------------------------------------
	fichero: sessClient.js
	autor: r@f@
	fecha: febrero de 2001
	modificacion: septiembre de 2001
	descripcion: define el 'objeto de sesion cliente' para mantener sesiones
				de usuario.
				Cliente - Actua a nivel de página, comunicándose con el
				servidor sessServ
\*****************************************************************************/

//Class sesionClient------------------------------------------------------------------------------------
//Constructor
function sessClient(par) {
	this.accFrame="parent.";
	if((par!=null)){
		this.accFrame=par;
	}
}

//Métodos---------------------------------------------------------------------------------------------

sessClient.prototype.getPrb=function () {
	var aux=eval(this.accFrame+"sServ.prb()")
	return aux;
}

//getsessData devuelve un array con 6 componentes. Si la sesion esta activa y ok, las componentes 
//son (true,nombre del usuario,clave del usuario, pais,idioma y moneda), sino (false,null,null,null,null,null)
sessClient.prototype.getSessData=function () {
	var data = new Array(false,null,null,null,null,null);
	if(eval(this.accFrame+"sServ.getIsOk()")){
		data[0]=true
		data[1]=eval(this.accFrame+"sServ.getUsuario()")
		data[2]=eval(this.accFrame+"sServ.getClave()")
		data[3]=eval(this.accFrame+"sServ.getPais()")
		data[4]=eval(this.accFrame+"sServ.getIdioma()")
		data[5]=eval(this.accFrame+"sServ.getMoneda()")
	}
	return data
}

//setLogin pone activa y ok una sesion con los parámetros recibidos
sessClient.prototype.setLogin=function (usr,pass,pais,idi,moneda) {
	if(!eval(this.accFrame+"sServ.getIsOk()") && usr!=null && pass!=null){
		eval(this.accFrame+"sServ.setUsuario('"+usr+"')")
		eval(this.accFrame+"sServ.setClave('"+pass+"')")
		eval(this.accFrame+"sServ.setPais('"+pais+"')")
		eval(this.accFrame+"sServ.setIdioma('"+idi+"')")
		eval(this.accFrame+"sServ.setMoneda('"+moneda+"')")
		eval(this.accFrame+"sServ.setIsOk(true)")
		eval(this.accFrame+"mainFrame.location.reload(true)")
		return true
	}
	return false
}

//setCambioLogin cambia el valor de la propiedad usuario del obj sevidor
sessClient.prototype.setCambioUsuario=function (usu) {
	if(eval(this.accFrame+"sServ.getIsOk()") && usu!=null ){
		eval(this.accFrame+"sServ.setUsuario('"+usu+"')")
		return true
	}
	return false
}

//setCambioClave cambia el valor de la propiedad clave del obj sevidor
sessClient.prototype.setCambioClave=function (pass) {
	if(eval(this.accFrame+"sServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"sServ.setClave('"+pass+"')")
		return true
	}
	return false
}

//setCambioPais cambia el valor de la propiedad pais del obj sevidor
sessClient.prototype.setCambioPais=function (pass) {
	if(eval(this.accFrame+"sServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"sServ.setPais('"+pass+"')")
		return true
	}
	return false
}

//setCambioIdioma cambia el valor de la propiedad idioma del obj sevidor
sessClient.prototype.setCambioIdioma=function (pass) {
	if(eval(this.accFrame+"sServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"sServ.setIdioma('"+pass+"')")
		return true
	}
	return false
}

//setCambioMoneda cambia el valor de la propiedad moneda del obj sevidor
sessClient.prototype.setCambioMoneda=function (pass) {
	if(eval(this.accFrame+"sServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"sServ.setMoneda('"+pass+"')")
		return true
	}
	return false
}

//setLogout pone inactiva y ko la sesion actual
sessClient.prototype.setLogout=function () {
	if(eval(this.accFrame+"sServ.getIsOk()")){
		eval(this.accFrame+"sServ.setIsOk(false)")
		eval(this.accFrame+"mainFrame.location.reload(true)")
	}
}

//getUsuarioActual devuelve el usuario si esta loggeado o "invitado" si no lo está.
sessClient.prototype.getUsuarioActual=function() {
	if(eval(this.accFrame+"sServ.getIsOk()")){
		return eval(this.accFrame+"sServ.getUsuario()")
	}
	return "( INVITADO )"
}

//openLogin abre la ventana de peticion de login
sessClient.prototype.openLogin=function(ruta) {
	if ((ruta==null) || (ruta=="undefined")){
		ruta = "";
	}
	//alert(ruta);
	loginWin= eval("window.open('"+ruta+"login.asp', 'loginWindow','width=390,height=200,status=yes,hotkeys=no,toolbar=no,menubar=no,dependent=yes,alwaysRaised=yes,titlebar=no')");
}

//openAlta abre la ventana de alta de usuarios
sessClient.prototype.openAlta=function(ruta) {
	if ((ruta==null) || (ruta=="undefined")){
		ruta = "";
	}
	altaWin= eval("window.open('"+ruta+"nuevaAlta.asp', 'altaWindow','width=525,height=510,status=yes,hotkeys=no,toolbar=no,menubar=no,dependent=yes,alwaysRaised=yes,titlebar=no,resizable=yes')");
}

//openClavePerdida abre la ventana de clave perdida
sessClient.prototype.openClavePerdida=function(ruta) {
	if ((ruta==null) || (ruta=="undefined")){
		ruta = "";
	}
	clavePerdidaWin= eval("window.open('"+ruta+"clavePerdida.asp', 'clavePerdidaWindow','width=380,height=350,status=yes,hotkeys=no,toolbar=no,menubar=no,dependent=yes,alwaysRaised=yes,titlebar=no')");
}

//cargaLink abre un enlace pasado como parámetro en el frame mainFrame
sessClient.prototype.cargaLink=function(par) {
	eval(this.accFrame+"mainFrame.location.href='"+par+"'");
}

//cargaLinkSeguro abre un enlace pasado como parámetro en el frame mainFrame
sessClient.prototype.cargaLinkSeguro=function(par,extra)
{
	var sessActual = this.getSessData();
	var url = par+"?login="+sessActual[1]+"&password="+sessActual[2]+"&pais="+sessActual[3]+"&idioma=es&moneda="+sessActual[4]+extra;
	//alert("Le pasamos : "+url);
	//eval(this.accFrame+"mainFrame.location.href='"+par+"?login="+sessActual[1]+"&password="+sessActual[2]+"&pais="+sessActual[3]+"&idioma="+sessActual[4]+"&moneda="+sessActual[5]+extra+"'");
	window.location.href=url;
}

//cargaLinkSeguroNuevaVentana abre un enlace pasado como parámetro en una nueva ventana, con login y password
sessClient.prototype.cargaLinkSeguroNuevaVentana=function(par,extra,nombreWin,parametros) {
	var sessActual = this.getSessData();
	eval("window.open('"+par+"?login="+sessActual[1]+"&password="+sessActual[2]+"&pais="+sessActual[3]+"&idioma=ES"+"&moneda="+sessActual[4]+extra+"','"+nombreWin+"','"+parametros+"')");
}