function SCookie()
	{
	  //definiamo le proprietà dell'oggetto cookie
	  var page= window.location.pathname; 
	  this.$name='cookie@hotelsolelimone';
	  this.entryreferrer=document.referrer;
	  this.IPAddress='-';
	  this.entrypage= page;
	  this.entrytime=  new Date();
	  this.visitduration=0;
	  this.pagesequence= page;
	  this.visitedpages=1;
	  this.lastpage= page;
	  this.$path= '';
	  this.$domain=null;
	  this.$expires=null;
	  this.$secure=false;
        return;
	}


/* FUNZIONE VERIFICA ESISTENZA DEL COOKIE CON NOME 'cookie@hotelsolelimone' */
function CTrack()
	{
	  var cookies=document.cookie;
	  var exist= cookies.indexOf('cookie@hotelsolelimone=');
	  if(exist== -1)
	       {
	        var cookie= new SCookie();

		if((navigator.appName == "Microsoft Internet Explorer") && ((navigator.appVersion.indexOf('3.') != -1) || (navigator.appVersion.indexOf('4.') != -1))) {cookie.IPAddress='xxxxx'}; 
	           else{ 
	         	var adress1=java.net.InetAddress.getLocalHost();
	         	var adress2=java.net.InetAddress.getLocalHost();
		 	var ip=adress1.getHostAddress();
	          	cookie.IPAddress=ip;
		       }
	          if(cookie.entryreferrer.indexOf('www.hotelsolelimone.com')>0)
		{
		   var queryref=window.location.search;
		   var x= queryref.indexOf('=') +1; var y= queryref.length; 
		   var id= queryref.substring(x,y);
		   cookie.entryreferrer=id;
 		}
	          var cookievalues='';
	          for (var prop in cookie)
		     {
		        if(prop.charAt(0)=='$'){continue; }
		        if( cookievalues=='')
		               { cookievalues+= prop + '*' + cookie[prop];}
		        else{ cookievalues+= '|' + prop + '*' + cookie[prop];
		                }
		     }
	          var visitordata= cookie.$name + '=' +  cookievalues;
	          if(cookie.$path){ visitordata+= ';path=' + cookie.$path; }
	          if(cookie.$domain){ visitordata+= ';domain=' + cookie.$domain; }
	          if(cookie.$expires){ visitordata+= ';expires=' + cookie.$expires; }
	          if(cookie.$secure){ visitordata+= ';secure'; }
	          document.cookie= visitordata;
//window.alert(exist + '\n' +  visitordata);  
	        }
	else{
	          var page= window.location.pathname;
	          var start = exist+23;
	          var end= cookies.indexOf(';',start);
	          if(end== -1){end= cookies.length;}
	          var cookieData= cookies.substring(start,end);
	          var cookieArray= cookieData.split('|');
	          var cookieArray2= new Array(8);
	          for( var i=0; i<cookieArray.length; i++)
	                {
		 cookieArray[i]= cookieArray[i].split('*');
		 switch(cookieArray[i][0])
		             {
			case 'pagesequence' :
				cookieArray2[i]= cookieArray[i][0] + '*' + cookieArray[i][1] + ',' + page;
				break;
			case 'visitedpages' :
				var visitedpgs=cookieArray[i][1]; visitedpgs++;
				cookieArray2[i]= cookieArray[i][0] + '*' + visitedpgs;
				break;
			case 'lastpage' :
				var sequence=cookieArray2[i-2].substring(13,cookieArray2[i-2].length);
				sequence= sequence.split(',');
				cookieArray2[i]= cookieArray[i][0] + '*' + sequence[sequence.length - 2];
				break;
			default :
				cookieArray2[i]= cookieArray[i][0] + '*' + cookieArray[i][1];
				break;
		             }
	                }
	          var cookievalues='';
	          for( var i=0; i<cookieArray2.length; i++)
		{
		  if( cookievalues=='')
		         { cookievalues+=cookieArray2[i];}
		  else{ cookievalues+='|' + cookieArray2[i];}
		}
	          var visitordata= 'cookie@hotelsolelimone=' +  cookievalues;
	          var $path='';var $domain=null;var $expires=null; var $secure=false;
	          if($path){ visitordata+= ';path=' + $path; }
	          if($domain){ visitordata+= ';domain=' + $domain; }
	          if($expires){ visitordata+= ';expires=' + $expires; }
	          if($secure){ visitordata+= ';secure'; }
	          document.cookie= visitordata;
//window.alert(exist + '\n' +  visitordata);  
	         }
        return;
	}


/* FUNZIONE COMPILAZIONE CAMPI NASCOSTI CON I DATI DI 'cookie@hotelsolelimone' */
function FillHidden(form)
	{
		  var cookies=document.cookie;
	  	  var exist= cookies.indexOf('cookie@hotelsolelimone=');
	 	  if(exist!= -1)
	     	      {
		         var start = exist+23;
		         var end= cookies.indexOf(';',start);
		         if(end== -1){end= cookies.length;}
		         var cookieData= cookies.substring(start,end);
		         var cookieArray= cookieData.split('|');
		         var entrytime; var entrytimedate; var duration;
		         for( var i=0; i<cookieArray.length; i++)
		              {
		               cookieArray[i]= cookieArray[i].split('*');
		               switch(cookieArray[i][0])
		                          {
			          case 'entryreferrer' :
				var ereferrer=cookieArray[i][1];
				switch(ereferrer)
		                         	         {
				            case '':
					ereferrer=jsGlobalReferrer[0];
					break;
				            case '1':
					ereferrer=jsGlobalReferrer[1];
					break;
				            case '2':
					ereferrer=jsGlobalReferrer[2];
					break;
				            case '3':
					ereferrer=jsGlobalReferrer[3];
					break;
				            case '4':
					ereferrer=jsGlobalReferrer[4];
					break;
				            case '5':
					ereferrer=jsGlobalReferrer[5];
					break;
				            case '6':
					ereferrer=jsGlobalReferrer[6];
					break;
		                         	         }
				form.entryreferrer.value= ereferrer;
				break;
			          case 'IPAddress' : 
				form.IPAddress.value= cookieArray[i][1];
				break;
			          case 'entrypage' :
				form.entrypage.value= cookieArray[i][1];
				break;
			          case 'entrytime' :
				entrytimedate= new Date(cookieArray[i][1]);
				var eweekday= entrytimedate.getDay();
				var emonthday= entrytimedate.getDate();
				var emonth= entrytimedate.getMonth()+1;
				var eyear= entrytimedate.getFullYear();
				var ehours= entrytimedate.getHours();
				var eminutes= entrytimedate.getMinutes();
				var eseconds= entrytimedate.getSeconds();
				switch(eweekday)
				           {
					case 0:
					      eweekday= jsGlobalDaysAbbrev_it[6];
					      break;
					case 1:
					      eweekday= jsGlobalDaysAbbrev_it[0];
					      break;
					case 2:
					      eweekday= jsGlobalDaysAbbrev_it[1];
					      break;
					case 3:
					      eweekday= jsGlobalDaysAbbrev_it[2];
					      break;
					case 4:
					      eweekday= jsGlobalDaysAbbrev_it[3];
					      break;
					case 5:
					      eweekday= jsGlobalDaysAbbrev_it[4];
					      break;
					case 6:
					      eweekday= jsGlobalDaysAbbrev_it[5];
					      break;
				           }
				if(emonthday<10){emonthday= '0' + emonthday;}
				if(emonth<10){emonth= '0' + emonth;}
				if(ehours<10){ehours= '0' + ehours;}
				if(eminutes<10){eminutes= '0' + eminutes;}
				if(eseconds<10){eseconds= '0' + eseconds;}
				entrytimedate= eweekday +' ' + emonthday + '/' + emonth + '/' + eyear + ' ore: ' + ehours + ':' + eminutes + ':' + eseconds;
				entrytime= Date.parse(cookieArray[i][1]);
				form.entrytime.value= entrytimedate;
				break;
			          case 'visitduration' :
				var time= new Date(); 
				duration= time.getTime() - entrytime;
				var vhours=Math.floor(duration/3600000);
				var vminutes=Math.floor(duration/60000);
				var vseconds=Math.floor((duration % 60000)/1000);
				if(vhours<10){vhours= '0' + vhours;}
				if(vminutes<10){vminutes= '0' + vminutes;}
				if(vseconds<10){vseconds= '0' + vseconds;}
				duration= vhours + ':' + vminutes + ':' + vseconds
				form.visitduration.value= duration;
				break;
			          case 'pagesequence' :
				form.pagesequence.value= cookieArray[i][1];
				break;
			          case 'visitedpages' :
				form.visitedpages.value= cookieArray[i][1];
				break;
			          case 'lastpage' :
				form.lastpage.value= cookieArray[i][1];
				break;
			          default :
				break;
		                          }
		              }
	     	      }
	 	  else
	     	      { ;}
        return;
	}
