/**************************************************************************************************************
	stefano guagnini
	5/5/2002
 **************************************************************************************************************
 
	Object Config

 ***************************************************************************************************************/

var OS_CONTEXT = "OS",
	DS_CONTEXT = "DS",
	OP_CONTEXT = "OP",
	IS_OTO = false;


//*************************************************************************************************************

var CookieManager = new _CookieManager();

//*************************************************************************************************************


function _Config()
{
	//	metodi per l'inizializzazione
	this.Reset = _Config_Reset;
	this.Store = _Config_Store;
	this.Dump = _Config_Dump;
	this.GetXML = _Config_GetXml;
	this.private_ResetInterface = _Config_ResetInterface;

    if ( window.WebServerName == null || window.WebServerName == "" )
        window.config_SERVERNAME = location.hostname.split(".")[0];
    else
        window.config_SERVERNAME = window.WebServerName;
	    
	try 
	{
		if (window.isOTO)
			IS_OTO=true;
	}
	catch(e)
	{}    
	if ( window.isHomepage )
	{	
		//  common
		window.config_CONTEXT = 
		window.config_SERVERTIME_DELTA = null;		
						
		window.config_CCMENABLED =
		window.config_CCMFILTER =		
		window.config_DEALERID =
		window.config_DEALERCHANNEL =
		window.config_DEALERCODE = 
		window.config_DEALERNAME =	
		window.config_DEALERADDRESS = 
		window.config_DEALERCITY = 
		window.config_DEALERCITYCODE = 
		window.config_DEALERPROV = 
		window.config_CASHENABLED = 
		window.config_TTENABLED = 
		window.config_EPENABLED = 
		window.config_CTENABLED = 
		window.config_USERNAME = 
		window.config_USERPWD = 
		window.config_BILLINGCONSUMER = 
		window.config_BILLINGBUSINESS = null;
				
		//  ds
		window.config_COMPORT =
		window.config_STATIONID =
		window.config_TID =
		window.config_SIA =
		window.config_PCCODE =
		window.config_TELNETADDR =
		window.config_NTGROUPS =
		window.config_ISOMNIONE =
		window.config_ISOMNIA =
		window.config_SCANENABLED =
		window.config_SCANONLINE =
		window.config_MONITORING = null;

		

        //  op
		window.config_OPID =
		window.config_OPCODE =
		window.config_OPNAME =
		window.config_OPIVACODE =
		window.config_OPPROVINCE =
		window.config_OPCITY =
		window.config_OPCITYCODE =
		window.config_OPADDRESS = 
		window.config_OPPINPAD = null;
		//if (IS_OTO)	
		//	_Config_Preload();
	}
	else
	{
		//	load dei valori
		_Config_Preload();
		
		//	verifica configurazione presente
		if (window.config_CONTEXT == null || window.config_CONTEXT == "" || window.config_DEALERCODE == null || window.config_DEALERCODE == "")
		{
			alert(DSLIB[10]);
			window.close();
			window.location = "about:blank";
		}
		else
		{
		    this.private_ResetInterface(window.config_CONTEXT);
		}
	}
}

//*************************************************************************************************************

function _Config_ResetInterface(szContext)
{
    this.Context = _Config_Context;
	this.HaveCertificate = _Config_HaveCertificate;
	this.ServerName = _Config_ServerName;
	this.ServerTime = _Config_ServerTime;
	this.IEVersion = _Config_IEVersion;
	this.IsCCMUser = _Config_IsCCMUser;
	this.CCMFilter = _Config_CCMFilter;
	this.DealerID = _Config_DealerID;
	this.DealerChannel = _Config_DealerChannel;
	this.DealerName = _Config_DealerName;
	this.DealerCode = _Config_DealerCode;
	this.DealerAddress = _Config_DealerAddress;
	this.DealerCity = _Config_DealerCity;
	this.DealerCityCode = _Config_DealerCityCode;
	this.DealerProvince = _Config_DealerProvince;
	this.DealerEMail = _Config_DealerEMail;
	this.ID = _Config_ID;
	this.Monitoring = _Config_Monitoring;
	this.CashEnabled = _Config_CashEnabled;
	this.TTEnabled = _Config_TTEnabled;
	this.EPEnabled = _Config_EPEnabled;
	this.CTEnabled = _Config_CTEnabled;
	this.UserName = _Config_UserName;
	this.UserPwd = _Config_UserPwd;	
	
	this.ScannerEnabled = _Config_ScannerEnabled;
	this.ScanOnLine = _Config_ScanOnLine;
	this.BillingEnabledConsumer	= _Config_BillingEnabledConsumer;
	
	if ( szContext == "DS" )
	{
		this.PinpadComPort = _Config_PinpadComPort;
		this.TID = _Config_TID;
		this.SIA = _Config_SIA;
		this.StationID = _Config_StationID;
		this.PcCode = _Config_PcCode;
		this.TelnetAddr = _Config_TelnetAddr;
		this.NTGroups = _Config_NTGroups;
		this.IsOmnione = _Config_IsOmnione;
		this.IsOmnia = _Config_IsOmnia;	
		this.BillingEnabledBusiness	= _Config_BillingEnabledBusiness;

	}
	else if ( szContext == "OP" )
	{
		this.OPName = _Config_OPName;
		this.OPID = _Config_OPID;
		this.OPCode = _Config_OPCode;
		this.OPIvaCode = _Config_OPIvaCode;
		this.OPProvince = _Config_OPProvince;
		this.OPCity = _Config_OPCity;
		this.OPCityCode = _Config_OPCityCode;
		this.OPAddress = _Config_OPAddress;
		this.OPPinPad = _Config_OPPinPad;
			
	}
}

//*************************************************************************************************************

function _Config_Reset()
{
	
	//	orario server se disponibile
	if ( window.ServerTime != null )
	{
		if ( typeof(window.ServerTime) == "string" )
		{
			//	IMPLEMENTAZIONE X VECCHIA HP
			var t = window.ServerTime.split(" ");
			t[0] = t[0].split("/");
			t[1] = t[1].split(":");
	
			var st = new Date( t[0][2],t[0][1]-1,t[0][0],t[1][0],t[1][1],t[1][2] );
			var ct = new Date();
				
			window.config_SERVERTIME_DELTA = Number(ct.valueOf() - st.valueOf())/1000;
		}
		else
		{		
			//	IMPLEMENTAZIONE X NUOVA HP
			var ct = new Date();
			window.config_SERVERTIME_DELTA = Number(ct.valueOf() - window.ServerTime.valueOf())/1000;
		}
	}
	else window.config_SERVERTIME_DELTA = "";
	
	//  parametri sempre presenti...
	window.config_CONTEXT = arguments[0];
    window.config_DEALERID = arguments[1];
	window.config_DEALERCODE = arguments[2]; 
	window.config_DEALERNAME = arguments[3];	
	window.config_DEALERCHANNEL = arguments[4];
	window.config_DEALERADDRESS = arguments[5];
	window.config_DEALERCITY = arguments[6];
	window.config_DEALERCITYCODE = arguments[7];
	window.config_DEALERPROV = arguments[8];
	//window.config_SERVERTIME_DELTA 

	if ( window.config_CONTEXT == "DS" )
	{			
		//	parametri ricevuti
		window.config_COMPORT = arguments[9];
		window.config_STATIONID = arguments[10];
		window.config_TID = arguments[11];
		window.config_SIA = arguments[12];
		window.config_PCCODE = arguments[13];
		window.config_TELNETADDR = arguments[14];
		window.config_NTGROUPS = arguments[15];
		window.config_ISOMNIONE = arguments[16] ? "Y" : "N";
		window.config_ISOMNIA = arguments[17] ? "Y" : "N"
		window.config_CCMENABLED = arguments[18];
		window.config_CCMFILTER = arguments[19];
		window.config_SCANENABLED = arguments[20]; 
		window.config_SCANONLINE = arguments[21];
		window.config_MONITORING = arguments[22];
		window.config_CASHENABLED = arguments[23]; 
		window.config_TTENABLED = arguments[24]; 
		window.config_EPENABLED = arguments[25];
		if (IS_OTO)
		{
			window.config_CTENABLED = arguments[26];
			window.config_USERNAME = arguments[27];
			window.config_USERPWD = arguments[28];
			window.config_BILLINGCONSUMER = arguments[29];
			window.config_BILLINGBUSINESS = arguments[30];
		}	
		else
		{
			window.config_CTENABLED = "";
			window.config_USERNAME = "";
			window.config_USERPWD = "";	
			window.config_BILLINGCONSUMER = arguments[26];
			window.config_BILLINGBUSINESS = arguments[27];

		}
	}
	else if ( window.config_CONTEXT == "OP" )
	{
		//	parametri ricevuti
		window.config_OPID = arguments[9];
		window.config_OPCODE = arguments[10];
		window.config_OPNAME = arguments[11];
		window.config_OPIVACODE = arguments[12];
		window.config_OPPROVINCE = arguments[13];
		window.config_OPCITY = arguments[14];
		window.config_OPCITYCODE = arguments[15];
		window.config_OPADDRESS = arguments[16];
		window.config_OPPINPAD = arguments[17];
		window.config_CCMENABLED = "N";
		window.config_CCMFILTER = "N";
		window.config_SCANENABLED = "N";
		window.config_SCANONLINE = "N";
		window.config_MONITORING = "N";
		window.config_CASHENABLED = arguments[18];
		window.config_TTENABLED = "N";
		window.config_EPENABLED = arguments[19];
		window.config_CTENABLED = "N";
		window.config_USERNAME = "";
		window.config_USERPWD = "";	
		window.config_BILLINGCONSUMER = arguments[20];		

	}
	else  if ( window.config_CONTEXT == "OS" )
	{
	}
	this.private_ResetInterface();
}

//*************************************************************************************************************

function _Config_Dump(bSilent)
{
	return "not implemented.";
}

//*************************************************************************************************************

function _Config_GetXml()
{
	return	"<xml>"+
			"<DEALERID>" + window.config_DEALERID + "</DEALERID>"+
			"<DEALERCHANNEL>" + window.config_DEALERCHANNEL + "</DEALERCHANNEL>"+
			"<DEALERCODE>" + window.config_DEALERCODE + "</DEALERCODE>"+
			"<NOMEDEALER>" + window.config_DEALERNAME + "</NOMEDEALER>"+
			"<OPID>" + window.config_OPID + "</OPID>"+
			"<OPCODE>" + window.config_OPCODE + "</OPCODE>"+
			"<NOMEOP>" + window.config_OPNAME + "</NOMEOP>"+
			"<COMPORT>" + window.config_COMPORT + "</COMPORT>"+
			"<STATIONID>" + window.config_STATIONID + "</STATIONID>"+
			"<SERVERTIME_DELTA>" + window.config_SERVERTIME_DELTA + "</SERVERTIME_DELTA>"+
			"<TID>" + window.config_TID + "</TID>"+
			"<SIA>" + window.config_SIA + "</SIA>"+
			"<PCCODE>" + window.config_PCCODE + "</PCCODE>"+
			"<TELNETADDR>" + window.config_TELNETADDR + "</TELNETADDR>"+
			"<NTGROUPS>" + window.config_NTGROUPS + "</NTGROUPS>"+
			"<ISOMNIONE>" + window.config_ISOMNIONE + "</ISOMNIONE>"+
			"<ISOMNIA>" + window.config_ISOMNIA + "</ISOMNIA>"+
			"<SCANENABLED>" + window.config_SCANENABLED + "</SCANENABLED>"+
			"<SCANONLINE>" + window.config_SCANONLINE + "</SCANONLINE>"+
			"<MONITORING>" + window.config_MONITORING + "</MONITORING>"+
			"<CONTEXT>" + window.config_CONTEXT + "</CONTEXT>"+
			"<ADDRESS>" + window.config_DEALERADDRESS + "</ADDRESS>"+
			"<CITY>" + window.config_DEALERCITY + "</CITY>"+
			"<CITYCODE>" + window.config_DEALERCITYCODE  + "</CITYCODE>"+
			"<PROV>" + window.config_DEALERPROV + "</PROV>"+
			"<CERTIFICATE>Y</CERTIFICATE>"+
			"<CCMUSER>" + window.config_CCMENABLED + "</CCMUSER>"+
			"<BILLINGENABLEDCONSUMER>" + window.config_BILLINGCONSUMER + "</BILLINGENABLEDCONSUMER>"+
			"<BILLINGENABLEDBUSINESS>" + window.config_BILLINGBUSINESS + "</BILLINGENABLEDBUSINESS>"+
			"</xml>";
}

//*************************************************************************************************************

function _Config_Store()
{
	if ( window.config_CONTEXT == "DS" )
	{
		try{
			if (!IS_OTO)
			{
				var pKernel = GetKernelObj();
				pKernel.SetCookie( "p0", window.config_CONTEXT );
				pKernel.SetCookie( "p1", window.config_DEALERID );
				pKernel.SetCookie( "p2", window.config_DEALERCODE );
				pKernel.SetCookie( "p3", window.config_DEALERNAME );
				pKernel.SetCookie( "p4", window.config_COMPORT );
				pKernel.SetCookie( "p5", window.config_STATIONID );
				pKernel.SetCookie( "p6", window.config_TID );
				pKernel.SetCookie( "p7", window.config_SIA );
				pKernel.SetCookie( "p8", window.config_PCCODE );
				pKernel.SetCookie( "p9", window.config_TELNETADDR );
				pKernel.SetCookie( "p10", window.config_NTGROUPS );
				pKernel.SetCookie( "p11", window.config_ISOMNIONE );
				pKernel.SetCookie( "p12", window.config_ISOMNIA );
				pKernel.SetCookie( "p13", window.config_DEALERCHANNEL );
				pKernel.SetCookie( "p14", window.config_SERVERTIME_DELTA );
		 		pKernel.SetCookie( "p15", window.config_DEALERADDRESS );
		 		pKernel.SetCookie( "p16", window.config_DEALERCITY );
				pKernel.SetCookie( "p17", window.config_DEALERCITYCODE );
				pKernel.SetCookie( "p18", window.config_DEALERPROV );
				pKernel.SetCookie( "p19", window.config_CCMENABLED );
				pKernel.SetCookie( "p20", window.config_CCMFILTER );
				pKernel.SetCookie( "p21", window.config_SCANENABLED );
				pKernel.SetCookie( "p22", window.config_SCANONLINE );
				pKernel.SetCookie( "p23", window.config_MONITORING );
				pKernel.SetCookie( "p24", window.config_CASHENABLED );
				pKernel.SetCookie( "p25", window.config_TTENABLED );
				pKernel.SetCookie( "p26", window.config_EPENABLED );
				pKernel.SetCookie( "p27", window.config_BILLINGCONSUMER  );
				pKernel.SetCookie( "p28", window.config_BILLINGBUSINESS  );
				
			
			}
		    else
		    {
				CookieManager.Set( "p0", window.config_CONTEXT );
				CookieManager.Set( "p1", window.config_DEALERID );
				CookieManager.Set( "p2", window.config_DEALERCODE );
				CookieManager.Set( "p3", window.config_DEALERNAME );
				CookieManager.Set( "p4", window.config_COMPORT );
				CookieManager.Set( "p5", window.config_STATIONID );
				CookieManager.Set( "p6", window.config_TID );
				CookieManager.Set( "p7", window.config_SIA );
				CookieManager.Set( "p8", window.config_PCCODE );
				CookieManager.Set( "p9", window.config_TELNETADDR );
				CookieManager.Set( "p10", window.config_NTGROUPS );
				CookieManager.Set( "p11", window.config_ISOMNIONE );
				CookieManager.Set( "p12", window.config_ISOMNIA );
				CookieManager.Set( "p13", window.config_DEALERCHANNEL );
				CookieManager.Set( "p14", window.config_SERVERTIME_DELTA );
		 		CookieManager.Set( "p15", window.config_DEALERADDRESS );
		 		CookieManager.Set( "p16", window.config_DEALERCITY );
				CookieManager.Set( "p17", window.config_DEALERCITYCODE );
				CookieManager.Set( "p18", window.config_DEALERPROV );
				CookieManager.Set( "p19", window.config_CCMENABLED );
				CookieManager.Set( "p20", window.config_CCMFILTER );
				CookieManager.Set( "p21", window.config_SCANENABLED );
				CookieManager.Set( "p22", window.config_SCANONLINE );
				CookieManager.Set( "p23", window.config_MONITORING );
				CookieManager.Set( "p24", window.config_CASHENABLED );
				CookieManager.Set( "p25", window.config_TTENABLED );
				CookieManager.Set( "p26", window.config_EPENABLED );
			    CookieManager.Set( "p27", window.config_CTENABLED );
			    CookieManager.Set( "p28", window.config_USERNAME );
			    CookieManager.Set( "p29", window.config_USERPWD );
				CookieManager.Set( "p30", window.config_BILLINGCONSUMER  );
				CookieManager.Set( "p31", window.config_BILLINGBUSINESS  );			    
			}		    
		    
		}
		catch(e){return false;}
	}
	else if ( window.config_CONTEXT == "OP" )
	{
		try{
			var pKernel = GetKernelObj();
			pKernel.SetValue( "p0", window.config_CONTEXT );
			pKernel.SetValue( "p1", window.config_DEALERID );
			pKernel.SetValue( "p2", window.config_DEALERCODE );
			pKernel.SetValue( "p3", window.config_DEALERNAME );
			pKernel.SetValue( "p4", window.config_DEALERCHANNEL );
		 	pKernel.SetValue( "p5", window.config_DEALERADDRESS );
		 	pKernel.SetValue( "p6", window.config_DEALERCITY );
		    pKernel.SetValue( "p7", window.config_DEALERCITYCODE );
		    pKernel.SetValue( "p8", window.config_DEALERPROV );
			pKernel.SetValue( "p9", window.config_SERVERTIME_DELTA );
			pKernel.SetValue( "p10", window.config_OPID );
			pKernel.SetValue( "p11", window.config_OPCODE );
			pKernel.SetValue( "p12", window.config_OPNAME );			
			pKernel.SetValue( "p13", window.config_OPIVACODE );
			pKernel.SetValue( "p14", window.config_OPPROVINCE );
			pKernel.SetValue( "p15", window.config_OPCITY );
			pKernel.SetValue( "p16", window.config_OPCITYCODE );
			pKernel.SetValue( "p17", window.config_OPADDRESS );
			pKernel.SetValue( "p18", window.config_OPPINPAD );
		    pKernel.SetValue( "p19", window.config_CASHENABLED );
		    pKernel.SetValue( "p20", window.config_TTENABLED );
		    pKernel.SetValue( "p21", window.config_EPENABLED );
		    pKernel.SetValue( "p22", window.config_BILLINGCONSUMER  );
				
		}
		catch(e){return false;}
	}
	else if ( window.config_CONTEXT == "OS" )
	{
		try{
			CookieManager.Set( "p0", window.config_CONTEXT );
			CookieManager.Set( "p1", window.config_DEALERID );
			CookieManager.Set( "p2", window.config_DEALERCODE );
			CookieManager.Set( "p3", window.config_DEALERNAME );
		}
		catch(e){return false;}
	}
	else return false;
	
	return true;
}

//*************************************************************************************************************

function _Config_ModuleName(){			return window.moduleName;		 		}

//	comuni
function _Config_Context(){		    	return window.config_CONTEXT;			}
function _Config_HaveCertificate(){		return true;}
function _Config_ServerName(){			return window.config_SERVERNAME; 		}
function _Config_ServerTime()
{
	var now;

	if ( window.config_SERVERTIME_DELTA > 0 )
		now = new Date( Date().valueOf()+window.config_SERVERTIME_DELTA );
	else
		now = new Date( Date().valueOf() );

	return now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();
}
function _Config_IEVersion(){			return Number(window.navigator.userAgent.substr(window.navigator.userAgent.indexOf("MSIE")+5,3)); }
function _Config_IsCCMUser(){		    return window.config_CCMENABLED == "Y";		}
function _Config_CCMFilter(){			return window.config_CCMFILTER == "Y";		} 
function _Config_DealerID(){			return window.config_DEALERID;			}
function _Config_DealerCode(){			return window.config_DEALERCODE;		}
function _Config_DealerName(){			return window.config_DEALERNAME;		}
function _Config_DealerCity(){          return window.config_DEALERCITY;		        }
function _Config_DealerProvince(){      return window.config_DEALERPROV;		        }
function _Config_DealerEMail(){			return "D"+ window.config_DEALERCODE + "@partners.omnitel.it";}
function _Config_DealerChannel(){		return window.config_DEALERCHANNEL;		}
function _Config_DealerAddress(){       return window.config_DEALERADDRESS;		    }
function _Config_DealerCityCode(){      return window.config_DEALERCITYCODE;		    }
function _Config_Monitoring(){			return window.config_CONTEXT=="DS"?(window.config_MONITORING=="Y"):false;}
function _Config_ScannerEnabled(){		return window.config_SCANENABLED=="Y";}
function _Config_ScanOnLine(){			return window.config_SCANONLINE=="Y";}
function _Config_CashEnabled(){			return window.config_CASHENABLED=="Y";}
function _Config_TTEnabled(){			return window.config_TTENABLED=="Y";}
function _Config_EPEnabled(){			return window.config_EPENABLED=="Y";}
function _Config_CTEnabled(){			return window.config_CTENABLED=="Y";}
function _Config_UserName(){			return window.config_USERNAME;}
function _Config_UserPwd(){				return window.config_USERPWD;}
function _Config_BillingEnabledConsumer(){return window.config_BILLINGCONSUMER=="Y";}
function _Config_BillingEnabledBusiness(){return window.config_BILLINGBUSINESS=="Y";}

function _Config_ID()
{

	/*	PATCH ORRENDA PER DEALER CODE MANCANTE	*/
	if ( window.config_DEALERCODE == null || window.config_DEALERCODE == "" )
	{	
		try{
			var now = new Date();
	        var pKernel = new ActiveXObject("KERNELXP.WebKernel");
	        
			pKernel.RemoteLogWriter( /*_logFatal*/ 16, "**********************************************" );
			pKernel.RemoteLogWriter( /*_logFatal*/ 16, "FATAL ERROR: DEALER CODE MANCANTE - " + now );
			pKernel.RemoteLogWriter( /*_logFatal*/ 16, "EXPLORER:" );
			pKernel.RemoteLogWriter( /*_logFatal*/ 16, _Config_Dump(true) );
			pKernel.RemoteLogWriter( /*_logFatal*/ 16, "OSAL:" );
	        pKernel.SendCookieLog();
	        pKernel.RemoteLogWriter( /*_logFatal*/ 16, "**********************************************" );
	        pKernel=null;
	    }
	    catch(e){
	    }
		_Config_Preload();
		alert(DSLIB[25]);
    }
    
	var ret, l = location.href;
	l = l.toUpperCase();

	if ( l.indexOf("DSATT") >= 0 || l.indexOf("DSCONV") >= 0 || l.indexOf("SIMSOST") >= 0 || l.indexOf("PAVIR") >= 0 )
	{	//	applicativi per cui è previsto log...
		ret = window.config_DEALERCODE+";";
		ret += (window.config_CONTEXT == "OP" ? (window.config_OPCODE+";") : ";");
		ret += (window.config_CONTEXT == "DS" ? (window.config_PCCODE+";") : ";");
		ret += window.timeStamp + ";";
		ret += window.config_SERVERNAME;
	}
	else
	{	//	applicativi per cui NON è previsto log...
		ret = window.config_DEALERCODE;
		if ( window.config_CONTEXT == "OP" )
			ret += ";"+window.config_OPCODE;
	}
	return ret;
}
						 
//	ds
function _Config_PinpadComPort(){		return window.config_COMPORT; 		}
function _Config_TID(){					return window.config_TID;			}
function _Config_SIA(){					return window.config_SIA;			}
function _Config_StationID(){			return window.config_STATIONID;		}
function _Config_PcCode(){				return window.config_PCCODE;		}
function _Config_TelnetAddr(){			return window.config_TELNETADDR;	}
function _Config_NTGroups(){			return window.config_NTGROUPS;		}
function _Config_IsOmnione(){			return window.config_ISOMNIONE=="Y";}
function _Config_IsOmnia(){				return window.config_ISOMNIA=="Y";	}

//	op
function _Config_OPName(){				return window.config_OPNAME;			}
function _Config_OPID(){				return window.config_OPID;				}
function _Config_OPCode(){				return window.config_OPCODE;			}
function _Config_OPIvaCode(){			return window.config_OPIVACODE;			}
function _Config_OPProvince(){			return window.config_OPPROVINCE;		}
function _Config_OPCity(){				return window.config_OPCITY;			}
function _Config_OPCityCode(){			return window.config_OPCITYCODE;		}
function _Config_OPAddress(){			return window.config_OPADDRESS;			}
function _Config_OPPinPad(){			return window.config_OPPINPAD == "Y";   }

//*************************************************************************************************************
//***	PRELOAD PER OS
//*************************************************************************************************************

function _Config_Preload()
{
	var p=null;

	//	provo a caricare per DS
	try{
		var pKernel = new ActiveXObject("KERNELXP.WebKernel");
		
		window.config_CONTEXT			= pKernel.GetCookie("p0");
		window.config_DEALERID			= pKernel.GetCookie("p1");
		window.config_DEALERCODE		= pKernel.GetCookie("p2");
		window.config_DEALERNAME		= pKernel.GetCookie("p3");
		window.config_COMPORT			= pKernel.GetCookie("p4");
		window.config_STATIONID			= pKernel.GetCookie("p5");
		window.config_TID				= pKernel.GetCookie("p6");
		window.config_SIA				= pKernel.GetCookie("p7");
		window.config_PCCODE			= pKernel.GetCookie("p8");
		window.config_TELNETADDR		= pKernel.GetCookie("p9");
		window.config_NTGROUPS			= pKernel.GetCookie("p10");
		window.config_ISOMNIONE			= pKernel.GetCookie("p11");
		window.config_ISOMNIA			= pKernel.GetCookie("p12");
		window.config_DEALERCHANNEL		= pKernel.GetCookie("p13");
		window.config_SERVERTIME_DELTA	= pKernel.GetCookie("p14");
		window.config_DEALERADDRESS	    = pKernel.GetCookie("p15");
		window.config_DEALERCITY        = pKernel.GetCookie("p16");
		window.config_DEALERCITYCODE    = pKernel.GetCookie("p17");
		window.config_DEALERPROV	    = pKernel.GetCookie("p18");	
		window.config_CCMENABLED		= pKernel.GetCookie("p19");
		window.config_CCMFILTER			= pKernel.GetCookie("p20");	 
		window.config_SCANENABLED		= pKernel.GetCookie("p21");	 
		window.config_SCANONLINE		= pKernel.GetCookie("p22");	 
		window.config_MONITORING		= pKernel.GetCookie("p23");	 
		window.config_CASHENABLED		= pKernel.GetCookie("p24");	 
		window.config_TTENABLED			= pKernel.GetCookie("p25");	 
		window.config_EPENABLED			= pKernel.GetCookie("p26");	 
		window.config_BILLINGCONSUMER	= pKernel.GetCookie("p27");	
		window.config_BILLINGBUSINESS	= pKernel.GetCookie("p28");			 
		
		
	}
	catch(e){

		window.config_CONTEXT			= CookieManager.Find("p0");
		window.config_DEALERID			= CookieManager.Find("p1");
		window.config_DEALERCODE		= CookieManager.Find("p2");
		window.config_DEALERNAME		= CookieManager.Find("p3");
		window.config_COMPORT			= CookieManager.Find("p4");
		window.config_STATIONID			= CookieManager.Find("p5");
		window.config_TID				= CookieManager.Find("p6");
		window.config_SIA				= CookieManager.Find("p7");
		window.config_PCCODE			= CookieManager.Find("p8");
		window.config_TELNETADDR		= CookieManager.Find("p9");
		window.config_NTGROUPS			= CookieManager.Find("p10");
		window.config_ISOMNIONE			= CookieManager.Find("p11");
		window.config_ISOMNIA			= CookieManager.Find("p12");
		window.config_DEALERCHANNEL		= CookieManager.Find("p13");
		window.config_SERVERTIME_DELTA	= CookieManager.Find("p14");
		window.config_DEALERADDRESS	    = CookieManager.Find("p15");
		window.config_DEALERCITY        = CookieManager.Find("p16");
		window.config_DEALERCITYCODE    = CookieManager.Find("p17");
		window.config_DEALERPROV	    = CookieManager.Find("p18");	
		window.config_CCMENABLED		= CookieManager.Find("p19");
		window.config_CCMFILTER			= CookieManager.Find("p20");	 
		window.config_SCANENABLED		= CookieManager.Find("p21");	 
		window.config_SCANONLINE		= CookieManager.Find("p22");	 
		window.config_MONITORING		= CookieManager.Find("p23");	 
		window.config_CASHENABLED		= CookieManager.Find("p24");	 
		window.config_TTENABLED			= CookieManager.Find("p25");	 
		window.config_EPENABLED			= CookieManager.Find("p26");	 
		window.config_CTENABLED			= CookieManager.Find("p27");	
		window.config_USERNAME			= CookieManager.Find("p28");	
		window.config_USERPWD			= CookieManager.Find("p29");
		window.config_BILLINGCONSUMER	= CookieManager.Find("p30");
		window.config_BILLINGBUSINESS	= CookieManager.Find("p31");
		}
	
	if ( window.config_CONTEXT == null || window.config_CONTEXT == "" )
	{	
		//	provo a caricare per OP
		try{
			var pKernel = new ActiveXObject("CIRIO.KeyManager.1");

			window.config_CONTEXT			= pKernel.GetValue("p0");
			window.config_DEALERID			= pKernel.GetValue("p1");
			window.config_DEALERCODE		= pKernel.GetValue("p2");
			window.config_DEALERNAME		= pKernel.GetValue("p3");
			window.config_DEALERCHANNEL     = pKernel.GetValue("p4");
		 	window.config_DEALERADDRESS     = pKernel.GetValue("p5");
		 	window.config_DEALERCITY        = pKernel.GetValue("p6");
		    window.config_DEALERCITYCODE    = pKernel.GetValue("p7");
		    window.config_DEALERPROV        = pKernel.GetValue("p8");
			window.config_SERVERTIME_DELTA  = pKernel.GetValue("p9");
			window.config_OPID              = pKernel.GetValue("p10");
			window.config_OPCODE            = pKernel.GetValue("p11");
			window.config_OPNAME            = pKernel.GetValue("p12");
			window.config_OPIVACODE         = pKernel.GetValue("p13"); 
			window.config_OPPROVINCE        = pKernel.GetValue("p14"); 
			window.config_OPCITY            = pKernel.GetValue("p15"); 
			window.config_OPCITYCODE        = pKernel.GetValue("p16"); 
			window.config_OPADDRESS         = pKernel.GetValue("p17");
			window.config_OPPINPAD          = pKernel.GetValue("p18");
			window.config_CASHENABLED		= pKernel.GetValue("p19");	
			window.config_TTENABLED			= pKernel.GetValue("p20");	
			window.config_EPENABLED			= pKernel.GetValue("p21");	
			window.config_BILLINGCONSUMER	= pKernel.GetValue("p22");			
		}
		catch(e){}
	}
	
	if ( window.config_CONTEXT == null || window.config_CONTEXT == "" )
	{
		//	provo a caricare per OS
		try{
			window.config_CONTEXT = CookieManager.Find( "p0" );
			window.config_DEALERID = CookieManager.Find( "p1" );
			window.config_DEALERCODE = CookieManager.Find( "p2" );
			window.config_DEALERNAME = CookieManager.Find( "p3" );
		}
		catch(e){}
	}
}

//*************************************************************************************************************/

var Config = new _Config();



/**************************************************************************************************************
 
	Object CookieManager 
	--------------------
 
 **************************************************************************************************************/

function _CookieManager()
{
	this.Set			= _CookieManager_Set;		//	imposta cookie nella finestra corrente
	this.Get			= _CookieManager_Get;		//	legge cookie nella finestra corrente
	this.Find			= _CookieManager_Find;		//	cerca cookie nella finestra corrente e in tutta la catena di opener
	this.ToArray		= _CookieManager_ToArray;	//	converte in array i cookies delle finestra corrente
	this.Length			= _CookieManager_Length;	//	numero di cookies delle finestra corrente
	this.SecureGet = _CookieManager_SecureGet; //  legge il valore di un cookie che può contenere anche il carattere = (la Get ha un bug)
	this.SecureFind = _CookieManager_SecureFind // Versione sicura della Find vedi SecureGet
}

//*************************************************************************************************************

function _CookieManager_Set( szName, szValue )
{
	document.cookie = szName + "=" + szValue + "; path=/;";
	//alert(document.cookie);
}

//*************************************************************************************************************

function _CookieManager_Get( szName, pWnd /* = this window */ )
{
	if ( pWnd == null ) pWnd = window;
	//pWnd = window;
	var p = pWnd.document.cookie.split("; ");
	for ( var q=0; q < p.length; q++ )
	{
		var c = unescape(p[q]).split("=");
		
		if ( c[0] == szName )
			return c[1];
	}
	return null;
}

//*************************************************************************************************************

function _CookieManager_Find(szID)
{
	try
	{
		var wnd = window, ret="";
		
		while( (ret=CookieManager.Get( szID, wnd )) == null && wnd.opener != null )
			wnd = wnd.opener;
	}
	catch(e){}

	return ret;
}

//*************************************************************************************************************

function _CookieManager_ToArray()
{
	var ret = new Array();
	var p = document.cookie.split("; ");
	for ( var q=p.length-1; q >= 0 ; q-- )
	{
		var c = p[q].split("=");
		ret[unescape(c[0])] = unescape(c[1]);
		ret.length++;
	}
	return ret;
}

//*************************************************************************************************************

function _CookieManager_Length()
{
	var p = document.cookie.split("; ");
	return p.length;
}

//*************************************************************************************************************

function _CookieManager_SecureGet(szName, pWnd /* = this window */) {
    if (pWnd == null) pWnd = window;
    if (pWnd.document.cookie.length > 0) {
        c_start = pWnd.document.cookie.indexOf(szName + "=");
        if (c_start != -1) {
            c_start = c_start + szName.length + 1;
            c_end = pWnd.document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = pWnd.document.cookie.length;
            return unescape(pWnd.document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

//*************************************************************************************************************

function _CookieManager_SecureFind(szID) {
    try {
        var wnd = window, ret = "";

        while ((ret = CookieManager.SecureGet(szID, wnd)) == null && wnd.opener != null)
            wnd = wnd.opener;
    }
    catch (e) { }

    return ret;
}

