<!--
/** Cookies Handler */

var cookies = new Object();

cookies = function(key){
	this.key = key;
	this.value = "";
	this.path = "";
	this.set = function(value){		
		doublon = false;
		list = new Array();
		list = this.rowsToArray();		
		listToUpdate = this.rowsFilter(value);
		lastInList=listToUpdate[listToUpdate.length-1];
		
		inList = new String();
		outList = new String();
		outList ='';
		cList=list.length-1;
		
		for(i=0;i<cList;i++){
			
			if(list[i]==lastInList){
				doublon=true;				
				outList +=  list[i]+";";
			}else{				
				inList +=  list[i]+";";
			}	
			
		}
		
		//Only After a refresh and a submit of duplicate item
		if(doublon==true && value!=''){			
			value = this.getValue();			
		}		
		if(value != null){	
		//if(value != null && value!='' ){								
			this.value = value;		
			var argv=this.set.arguments;
			var argc=this.set.arguments.length;
			var expires=(argc > 2) ? argv[2] : null;
			if(this.path==''){
				this.path=(argc > 3) ? argv[3] : null;			
			}
			var domain=(argc > 4) ? argv[4] : null;
			var secure=(argc > 5) ? argv[5] : false;
			/**
			document.cookie=this.key+"="+escape(this.value)+"$"+
			((expires==null) ? "" : ("@ expires="+expires.toGMTString()))+
			((this.path==null) ? "" : ("@ path="+this.path))+
			((domain==null) ? "" : ("@ domain="+domain))+
			((secure==true) ? "@ secure" : "");
			*/
			document.cookie=this.key+"="+escape(this.value)+"$"+
			((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
			((this.path==null) ? "" : ("; path="+this.path))+
			((domain==null) ? "" : ("; domain="+domain))+
			((secure==true) ? "; secure" : "");
				
		}
		
		
	}//EO this.set = function(value){
	
	this.getOffsetValue = function(offset){
		
		var endstr=document.cookie.indexOf ("$", offset);
		if (endstr==-1) endstr=document.cookie.length;;
		return unescape(document.cookie.substring(offset, endstr)); 
	}//EO this.getOffsetValue = function(offset){
	
	this.getValue = function(){		
		var arg=this.key+"=";
		
		var alen=arg.length;
		var clen=document.cookie.length;
		var i=0;
		while (i<clen){		
			var j=i+alen;
			if (document.cookie.substring(i, j)==arg){
				//alert('off set '+this.getOffsetValue(j));				
				return this.getOffsetValue(j);
			}
						
			i=document.cookie.indexOf(" ",i)+1;
			
			if (i==0){				
				return '';
				break;
			}
		
		} 
		
	}//EO this.getValue = function(key){	
	
	
	this.rowsToArray = function(){
		list = new Array();
		//Return All rows
		rowValue = this.getValue();		
		if(rowValue != null){
			
			rvLen = this.getValue().length;
						
			row='';
			rowCount=0;
			for(i=0;i<=rvLen;i++){
				cStr=rowValue.substring(i,i+1);
				if(cStr==';'){				
					list[rowCount] = row;
					rowCount++;
					row='';
					
				}else{
					row+=cStr;
				}
				
			}	
			return list;
		}else{
			return null;	
		}
		
	}
	
	this.rowsFilter = function(valueToFilter){
		
		list = new Array();
		//Return All rows
		rowValue = valueToFilter;
		rvLen = 0;
		rvLen = valueToFilter.length;
		
		row='';
		rowCount=0;
		for(i=0;i<=rvLen;i++){
			cStr=rowValue.substring(i,i+1);
			if(cStr==';'){				
				list[rowCount] = row;
				rowCount++;
				row='';
				
			}else{
				row+=cStr;
			}
			
		}		
		return list;
		
	}
	
	this.getList = function(rowCount){		
		list = new Array();
		list = this.rowsToArray();
		row = list[rowCount];
		return row;
	}
	
	this.setPath = function(path){
		this.path = path;	
	}
	
	this.getPath = function(){
		return this.path;	
	}
	this.unSet = function(rowId){
		
		list = new Array();
		list = this.rowsToArray();
		newList = new String();
		
		for(row in list){
			if(row != rowId){
				newList += list[row] + ";";				
			}
		}
		this.set('');
		this.set(''+newList);
		
	}//EO unSet(rowId)
	this.getRowValue = function(rowId){
		list = new Array();
		list = this.rowsToArray();
		if(typeof(list[rowId]) != 'undefined'){
			return list[rowId];
		}else{
			return 'Unknown Id in cookie';	
		}
	}

}//EO cookies = function(){




//-->: