/*----------------------------------------------------------
  UserSettings Class
  
  
  Basic function:
    * Saves Advanced Options into cookie
  

  Requires the utilities.js 

  @package NTP
  @author Arnd Beyer, arnd.beyer@wmdata.fi
  @copyright WM-data Novo 2006
  @version $Id: UserSettings.php,v 1.0 2005/07/26 12:44:42 arnd Exp $
  ---------------------------------------------------------*/

/*
*  parameter: objectVariableName String Name of the variable 
*									where the Object will be stored in
*  Used for the setTimeout Function
*/
function UserSettings(){
    var cookiePostfix = "_advanced_settings";
	var cookiePrefix ="";
	var savedMessage ="";
	
	this.saveAdvancedOptions = saveAdvancedOptions;
	this.setCookieName =setCookieName;
	this.setSavedMessage =setSavedMessage;
	
	function setCookieName(cookieName){
		cookiePrefix =cookieName;
	}
	function setSavedMessage(savedMessageSet){
		savedMessage =savedMessageSet;
	}
	//saves advanced Options in cookie
	function saveAdvancedOptions(event) {
	  // walking_speed_start
	  var walking_speed_start=1;
	  if (document.search.as_walking_speed_start) {
	   	 walking_speed_start= document.search.as_walking_speed_start.value;
	  }
	  // walking_speed_end
	  var walking_speed_end=1;
	  if (document.search.as_walking_speed_end) {
	   	 walking_speed_end= document.search.as_walking_speed_end.value;
	  }
	  // walking_speed
	  var walking_speed=1;
	  if (document.search.as_walking_speed) {
	   	 walking_speed= document.search.as_walking_speed.value;
	  }
	  // max_walking_distance
	  var max_walking_distance=1;
	  if (document.search.as_max_walking_distance) {
	   	 max_walking_distance= document.search.as_max_walking_distance.value;
	  }
	  // transport_accessible
	  var transport_accessible=1;
	  if (document.search.as_transport_accessible) {
	   	 transport_accessible= document.search.as_transport_accessible.checked ? 1:0;
	  }
	  // enable_bus
	  var enable_bus=1;
	  if (document.search.as_enable_bus) {
	   	 enable_bus= document.search.as_enable_bus.checked ? 1:0;
	  }
	  // enable_train
	  var enable_train=1;
	  if (document.search.as_enable_train) {
	   	enable_train = document.search.as_enable_train.checked ? 1:0;
	  }
	  // enable_unused
	  var enable_unused=1;
	  if (document.search.as_enable_unused) {
	   	 enable_unused= document.search.as_enable_unused.checked ? 1:0;
	  }
	
	  // enable_metro
	  var enable_metro=1;
	  if (document.search.as_enable_metro) {
	   	 enable_metro= document.search.as_enable_metro.checked ? 1:0;
	  }
	
	  //enable_tram 
	  var enable_tram=1;
	  if (document.search.as_enable_tram) {
	   	enable_tram = document.search.as_enable_tram.checked ? 1:0;
	  }
	
	  //disable_all 
	  var disable_all=1;
	  if (document.search.as_disable_all) {
	   	disable_all = document.search.as_disable_all.checked ? 1:0;
	  }
	  //route type 
	  var route_type=1;
	  if (document.search.as_route_type) {
	   	route_type = document.search.as_route_type.value;
	  }
	
	  //changemargin
	  var changemargin=1;
	  if (document.search.as_changemargin) {
	   	changemargin = document.search.as_changemargin.value;
	  }
	
	  //preferred transportation
	  var transport_preferred=-1;
	  if (document.search.as_transport_preferred) {
	   	transport_preferred = document.search.as_transport_preferred.value;
	  }
	  
	  //in/exclude Lines
	  var in_exclude_lines=0;
	  if (document.search.as_ix0) {
	  	if (document.search.as_ix0.checked) 
	   		in_exclude_lines = document.search.as_ix0.value;
	  	if (document.search.as_ix1.checked) 
	   		in_exclude_lines = document.search.as_ix1.value;
	  	if (document.search.as_ix2.checked) 
	   		in_exclude_lines = document.search.as_ix2.value;
	  }
	
	  //exclude Lines
	  var exclude_lines = "";
	  if (document.search.as_el1) {
	  	for(n=0;n<20;n++) {
	  		 feld = document.getElementsByName("as_el" + n)[0];
	  		 if(feld) 
	  		 	exclude_lines += n +":" + feld.value+";" ;
	  	}
	  }
	  
	  //number of routes
	  var number_routes=3;
	  if (document.search.as_number_routes1) {
	    if(document.search.as_number_routes1.checked)
	    	number_routes = document.search.as_number_routes1.value;
	    else if(document.search.as_number_routes3.checked)
	    	number_routes = document.search.as_number_routes3.value;
	    else if(document.search.as_number_routes5.checked)
	    	number_routes = document.search.as_number_routes5.value;
	  }
	
	  var settings =  "walking_speed_end=" + walking_speed_end
					 + "|walking_speed_start=" + walking_speed_start
					 + "|walking_speed=" + walking_speed
					 + "|max_walking_distance=" + max_walking_distance
					 + "|transport_accessible=" + transport_accessible
					 + "|enable_bus=" + enable_bus
					 + "|enable_train=" + enable_train
					 + "|enable_unused=" + enable_unused
					 + "|enable_metro=" + enable_metro
	  				 + "|enable_tram=" + enable_tram 
	  				 + "|disable_all=" + disable_all
	  				 + "|route_type="+ route_type 
	                 + "|changemargin=" + changemargin 
	                 + "|number_routes=" + number_routes
	                 + "|transport_preferred=" + transport_preferred
	                 + "|in_exclude=" + in_exclude_lines
	                 + "|exclude_lines=" + exclude_lines;
	                 
		setCookie( settings, true);
		messages.display(event,"jsMessages",savedMessage, 2000);	
	}

	function setCookie( settings, persistant){
	    var futdate = new Date()		//Get the current time and date
      	var expdate = futdate.getTime()  //Get the milliseconds since Jan 1, 1970
     	expdate += 356*24*3600*1000  //expires in 1 Year(milliseconds)
      	futdate.setTime(expdate)
      	var cookie = cookiePrefix+cookiePostfix+"="+settings+"; path=/";
      	if(persistant)
      		cookie+= "; expires=" + futdate;
	  	document.cookie=cookie;
	
	}

}