	fLogin=null;
	fRemind=null;

	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function readCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function eraseCookie(name) {
		createCookie(name,"",-1);
	}
	
	function ProcessRemindPassword (objHTTPRequester)	{
		var objStruct=null;
		var objReq=null;
		
		var objPacket = new DataPacket (objHTTPRequester.responseText);
		if (! objPacket.IsValid)	{
			alert(objPacket.Status);
			return;
		}
		objStruct = new Struct (objPacket.Content);
		if (! objStruct.IsValid)	{
			alert(objStruct.Status);
			return;
		}
		if (objStruct.Values.Code > -1)	{
				switch(objStruct.Values.Code) { 
				  
				  case '0': 
				    alert('Errore del server: \'' + objStruct.Values.Message + '\''); 
				  break; //si ferma qui 

				  case '1': 
				    alert('Campo errato o mancante: \'' + objStruct.Values.Message + '\''); 
				  break; //si ferma qui 
				
				  case '2': 
				    alert('Email non fornita.\nIndicare la propria email.'); 
				  break; //si ferma qui 
			
				  case '3': 
				    alert('Formato email errato.'); 
				  break; //si ferma qui 

				  default: 
				    alert('Messaggio di default'); 
			}	
		}
		else		{
			
			if (objStruct.Values.EmailStatus != '1')	{
			    alert('Email non presente in archivio.'); 
			}
			else	{
			    alert('Username e password sono state inviata al tuo indirizzo di posta elettronica.'); 
			}
			
		}

	}

	
	function ProcessGetUserInfo (objHTTPRequester)	{
		var objPacket = new DataPacket (objHTTPRequester.responseText);
		if (! objPacket.IsValid)	{
			alert(objPacket.Status);
			return;
		}
		objStruct = new Struct (objPacket.Content);
		if (! objStruct.IsValid)	{
			alert(objStruct.Status);
			return;
		}
		
		if  (objStruct.Values.TypeID == 2 || objStruct.Values.TypeID == 6 || objStruct.Values.TypeID == 7)	{
			createCookie('OperatorSessionID',fLogin.SessionID.value,0);
			window.open('pag_Rappresentante.cfm','_self');
		}
		else	{
			fLogin.submit();
		}
		
	}
	
	
	function ProcessVerifyUser (objHTTPRequester)	{
		var objStruct=null;
		var objReq=null;
		
		var objPacket = new DataPacket (objHTTPRequester.responseText);
		if (! objPacket.IsValid)	{
			alert(objPacket.Status);
			return;
		}
		objStruct = new Struct (objPacket.Content);
		if (! objStruct.IsValid)	{
			alert(objStruct.Status);
			return;
		}
		if (objStruct.Values.Code > -1)	{
			
			alert('Campo errato o mancante: \'' + objStruct.Values.Message + '\'');
		}
		else		{
			
			if (objStruct.Values.LoginStatus != '0')	{
			
				switch(objStruct.Values.LoginStatus) { 
				  
				  case '1': 
				    alert('Username inesistente.'); 
				  break; //si ferma qui 
				
				  case '2': 
				    alert('Password errata.'); 
				  break; //si ferma qui 
				
				  case '3': 
				    alert('La registrazione non e\' ancora stata confermata.'); 
				  break; //si ferma qui 
	
				  case '4': 
				    alert('Utente disattivato.'); 
				  break; //si ferma qui 
	
				  default: 
				    alert('Messaggio di default'); 
				}
			}
			else	{
				var objReq=new Requester ();
				fLogin.SessionID.value=objStruct.Values.SessionID;
				objReq.url='dat_GetUserInfo.cfm?SessionID='+objStruct.Values.SessionID;
				objReq.elOutput=elOutput;
				objReq.RequestHandler=ProcessGetUserInfo;
				objReq.Call();
				elOutput.value=objReq.url;
			}
			
		}

	}
	
	function RemindPassword (fForm)	{
		var objReq=new Requester ();
		
		objReq.url='dat_RemindPassword.cfm';
		objReq.elOutput=elOutput;
		objReq.RequestHandler=ProcessRemindPassword;
		objReq.Submit(fForm);
		elOutput.value=objReq.url;
	}
	
	
	function VerifyUser (fForm)	{
	
	
		var objReq=new Requester ();
		
		objReq.url='dat_Login.cfm';
		objReq.elOutput=elOutput;
		objReq.RequestHandler=ProcessVerifyUser;
		objReq.Submit(fForm);
		elOutput.value=objReq.url;
	}
	
	
	function Initialize ()	{
		elOutput=document.Login.output;
		elOutput.value='Initialize'
		fLogin=document.Login;
		fRemind=document.Remind;
		eraseCookie('OperatorSessionID');
		eraseCookie('OPERATORSESSIONID');
		eraseCookie('cmRS');
		
		
	}
