/*****************************************************************************\
	portal www.alcorce.com
	(c) alcorce e-business
	------------------------------------------------------------------------
	fichero: sessCClient.js
	autor: r@f@
	fecha: febrero de 2001
	modificacion: septiembre de 2001
	descripcion: define el 'objeto de sesion cliente' para mantener sesiones
				de colaboradores registrados.
				Cliente - Actua a nivel de página, comunicándose con el
				servidor sessServ (instancia scServ)
\*****************************************************************************/

//Class sesionCClient------------------------------------------------------------------------------------
//Constructor
function sesscClient(par) {
	this.accFrame="parent.";
	if((par!=null)){
		this.accFrame=par;
	}
}

//Métodos---------------------------------------------------------------------------------------------
//getsessData devuelve un array con 6 componentes. Si la sesion esta activa y ok, las componentes 
//son (true,nombre del usuario,clave del usuario,null,null,null), sino (false,null,null,null,null,null)
sesscClient.prototype.getSessData=function () {
	var data = new Array(false,null,null,null,null,null);
	if(eval(this.accFrame+"scServ.getIsOk()")){
		data[0]=true
		data[1]=eval(this.accFrame+"scServ.getUsuario()")
		data[2]=eval(this.accFrame+"scServ.getClave()")
		data[3]=eval(this.accFrame+"scServ.getPais()")
		data[4]=eval(this.accFrame+"scServ.getIdioma()")
		data[5]=eval(this.accFrame+"scServ.getMoneda()")
	}
	return data
}

//setLogin pone activa y ok una sesion con los parámetros (usuario y clave) en ese orden
sesscClient.prototype.setLogin=function (usr,pass) {
	if(!eval(this.accFrame+"scServ.getIsOk()") && usr!=null && pass!=null ){
		eval(this.accFrame+"scServ.setUsuario('"+usr+"')")
		eval(this.accFrame+"scServ.setClave('"+pass+"')")
		eval(this.accFrame+"scServ.setPais('')")
		eval(this.accFrame+"scServ.setIdioma('')")
		eval(this.accFrame+"scServ.setMoneda('')")
		eval(this.accFrame+"scServ.setIsOk(true)")
		eval(this.accFrame+"mainFrame.location.reload(true)")
		return true
	}
	return false
}

//setCambioClave
sesscClient.prototype.setCambioClave=function (pass) {
	if(eval(this.accFrame+"scServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"scServ.setClave('"+pass+"')")
		return true
	}
	return false
}

//setCambioPais cambia el valor de la propiedad pais del obj sevidor
sesscClient.prototype.setCambioPais=function (pass) {
	if(eval(this.accFrame+"scServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"scServ.setPais('"+pass+"')")
		return true
	}
	return false
}

//setCambioIdioma cambia el valor de la propiedad idioma del obj sevidor
sesscClient.prototype.setCambioIdioma=function (pass) {
	if(eval(this.accFrame+"scServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"scServ.setIdioma('"+pass+"')")
		return true
	}
	return false
}

//setCambioMoneda cambia el valor de la propiedad moneda del obj sevidor
sesscClient.prototype.setCambioMoneda=function (pass) {
	if(eval(this.accFrame+"scServ.getIsOk()") && pass!=null ){
		eval(this.accFrame+"scServ.setMoneda('"+pass+"')")
		return true
	}
	return false
}

//setLogout pone inactiva y ko la sesion actual
sesscClient.prototype.setLogout=function () {
	if(eval(this.accFrame+"scServ.getIsOk()")){
		eval(this.accFrame+"scServ.setIsOk(false)")
		eval(this.accFrame+"mainFrame.location.reload(true)")
	}
}

//getUsuarioActual devuelve el usuario si esta loggeado o "invitado" si no lo está.
sesscClient.prototype.getUsuarioActual=function() {
	if(eval(this.accFrame+"scServ.getIsOk()")){
		return eval(this.accFrame+"scServ.getUsuario()")
	}
	return "( INVITADO )"
}

//openLogin abre la ventana de peticion de login 
sesscClient.prototype.openLogin=function(ruta) {
	if ((ruta==null) || (ruta=="undefined")){
		ruta = "";
	}
	loginWin= eval("window.open('"+ruta+"loginC.asp', 'loginWindow','width=350,height=200,status=yes,hotkeys=no,toolbar=no,menubar=no,dependent=yes,alwaysRaised=yes,titlebar=no')");
}

//openClavePerdida abre la ventana de clave perdida
sesscClient.prototype.openClavePerdida=function(ruta) {
	if ((ruta==null) || (ruta=="undefined") || ruta == ''){
		ruta = "";
	}
	/* clavePerdidaWin= eval("window.open('"+ruta+"clavePerdidaC.asp', 'clavePerdidaWindow','width=350,height=300,status=yes,hotkeys=no,toolbar=no,menubar=no,dependent=yes,alwaysRaised=yes,titlebar=no')"); */
	clavePerdidaWin= eval("window.open('clavePerdidaC.asp', 'clavePerdidaWindow','width=350,height=300,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
sesscClient.prototype.cargaLink=function(par) {
	eval(this.accFrame+"mainFrame.location.href='"+par+"'");
}

//cargaLinkSeguro abre un enlace pasado como parámetro en el frame mainFrame
sesscClient.prototype.cargaLinkSeguro=function(par,extra) {
	var sessActual = this.getSessData();
	//alert(this.accFrame+"mainFrame.location.href='"+par+"?login="+sessActual[1]+"&password="+sessActual[2]+extra+"'");
	eval(this.accFrame+"mainFrame.location.href='"+par+"?login="+sessActual[1]+"&password="+sessActual[2]+extra+"'");
}

