

//------------------------------------------------------------------------------
//functions to fill a select for a date's choice
//------------------------------------------------------------------------------
function fill_select(data_tab,empty_value,form_name,select_name) {
  var select_index = 0;
  document.forms[form_name].elements[select_name].length=0;
  for(var j=0; j<data_tab.length; j++) {
  	document.forms[form_name].elements[select_name].options[select_index] = new Option(data_tab[j][1],data_tab[j][0]);
    select_index++;
  }
  if(select_index == 0){
  	document.forms[form_name].elements[select_name].options[select_index] = new Option(empty_value,0);
  }
}
/*//--------------------------- fill days select ---------------------------------
function fill_select_days(Day_,Month,Year,form_name,select_name) {
	Month = Month-1;
	document.forms[form_name].elements[select_name].length=0;
	days = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  if (((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0)) 
  	days[1] = 29; 
  else 
  	days[1] = 28;     
  for (i=0; i<days[Month]; i++) {
    document.forms[form_name].elements[select_name].options[i]=new Option(addzero(i+1),addzero(i+1));
  }
  if(Day_-1<days[Month]) {
  	document.forms[form_name].elements[select_name].selectedIndex = Day_-1;
  }
}*/
//--------------------------- fill days select ---------------------------------
function fill_select_days() {
 var args = arguments.length, Day_, Month,Year,form_name,select_name,empty_choice;
/* alert(arguments[0]+ ',' +arguments[1]+ ',' +arguments[2]+ ',' +arguments[3]+ ',' +arguments[4]);*/
  switch(args) {
		// one argument passed
		case 5:
		  Day_ = arguments[0];
  		Month = arguments[1];
  		Year = arguments[2];
      form_name = arguments[3];
      select_name = arguments[4];
      empty_choice = 0;
		break;

		case 6:
  		Day_ = arguments[0];
      Month = arguments[1];
  		Year = arguments[2];
      form_name = arguments[3];
      select_name = arguments[4];
      empty_choice = arguments[5];
    break;
	}

	Month = Month-1;
	document.forms[form_name].elements[select_name].length=0;
	days = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31);
  if (((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0)) 
  	days[1] = 29; 
  else 
  	days[1] = 28;
  	
  for (i=0; i<days[Month]; i++) {
    document.forms[form_name].elements[select_name].options[i]=new Option(addzero(i+1),addzero(i+1));
  }
  if(Day_-1<days[Month]) {
  	document.forms[form_name].elements[select_name].selectedIndex = Day_-1;
  }
  if(empty_choice) {
    document.forms[form_name].elements[select_name].options[i]=new Option('',0);
    document.forms[form_name].elements[select_name].selectedIndex = i;
  }
}
/*//--------------------------- fill month select --------------------------------
function fill_select_month(month,form_name,select_name) {
	month = month-1;
  document.forms[form_name].elements[select_name].length = 0;
  for (i=1; i<13; i++) {
    document.forms[form_name].elements[select_name].options[i-1]=new Option(addzero(i),addzero(i));
  }
  document.forms[form_name].elements[select_name].selectedIndex = month;
}*/
//--------------------------- fill month select --------------------------------
function fill_select_month() {
  var args = arguments.length, month,form_name,select_name,empty_choice;
  switch(args) {
		// one argument passed
		case 3:
  		month = arguments[0];
      form_name = arguments[1];
      select_name = arguments[2];
      empty_choice = 0;
		break;

		case 4:
  		month = arguments[0];
      form_name = arguments[1];
      select_name = arguments[2];
      empty_choice = arguments[3];
    break;
	}

	month = month-1;
  document.forms[form_name].elements[select_name].length = 0;

  for (i=1; i<13; i++) {
    document.forms[form_name].elements[select_name].options[i-1]=new Option(addzero(i),addzero(i));
  }
  document.forms[form_name].elements[select_name].selectedIndex = month;
  if(empty_choice) {
    document.forms[form_name].elements[select_name].options[i-1]=new Option('',0);
    document.forms[form_name].elements[select_name].selectedIndex = i-1;
  }
}
/*//--------------------------- fill year select ---------------------------------
function fill_select_year(select_year,year,form_name,select_name) {
  document.forms[form_name].elements[select_name].length = 0;
  year_number = year - 1990 + 1;
  for (i=0; i<year_number; i++) {
    document.forms[form_name].elements[select_name].options[i]=new Option(i+1990,i+1990);
  }
  if(select_year <= year) {
    document.forms[form_name].elements[select_name].selectedIndex = select_year-1990;
  }
}*/
//--------------------------- fill year select ---------------------------------
function fill_select_year() {
  var args = arguments.length, start_year,select_year,year,form_name,select_name,empty_choice;
	switch(args) {
		// one argument passed
		case 5:
  		start_year = arguments[0];
      select_year = arguments[1];
      year = arguments[2];
      form_name = arguments[3];
      select_name = arguments[4];
      empty_choice = 0;
		break;

		case 6:
  		start_year = arguments[0];
      select_year = arguments[1];
      year = arguments[2];
      form_name = arguments[3];
      select_name = arguments[4];
      empty_choice = arguments[5];
    break;
	}

  document.forms[form_name].elements[select_name].length = 0;
  year_number = year - start_year + 1;
  if(empty_choice) {
    document.forms[form_name].elements[select_name].options[0]=new Option('',0);
  }
  for (i=0; i<year_number; i++) {
    document.forms[form_name].elements[select_name].options[i]=new Option(i+start_year,i+start_year);
  }
  if((select_year <= year) && (empty_choice==0)) {
    document.forms[form_name].elements[select_name].selectedIndex = select_year-start_year;
  }
  if(empty_choice) {
    document.forms[form_name].elements[select_name].options[i]=new Option('',0);
    document.forms[form_name].elements[select_name].selectedIndex = i;
  }
}
//----------------------------
function y2k(number) {
	return (number < 1000) ? number + 1900 : number; 
}
function addzero(number) {
	return (number < 10) ? '0' + number : number; 
}

//------------------------------------------------------------------------------
//functions to disabled element
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function obj_disabled(form_name,display_array,disable_array) {
  for(var i=0; i < disable_array.length; i++) {
  	document.forms[form_name].elements[disable_array[i]].disabled = true;
    }
  for(var i=0; i < display_array.length; i++) {
    document.forms[form_name].elements[display_array[i]].disabled = false;
  }  
}

function obj_disabled2(form_name,checkbox,displayed_on_check,disabled_on_check,displayed_on_uncheck,disabled_on_uncheck) {
  if(document.forms[form_name].elements[checkbox].checked){
    for(var i=0; i < disabled_on_check.length; i++) {
    	document.forms[form_name].elements[disabled_on_check[i]].disabled = true;      
    }
    for(var i=0; i < displayed_on_check.length; i++) {
      document.forms[form_name].elements[displayed_on_check[i]].disabled = false;
    }
  }
  else {
    for(var i=0; i < disabled_on_uncheck.length; i++) {
    	document.forms[form_name].elements[disabled_on_uncheck[i]].value = "";
    	document.forms[form_name].elements[disabled_on_uncheck[i]].style.backgroundColor	= "";
    	document.forms[form_name].elements[disabled_on_uncheck[i]].style.color = "#000000"
		document.forms[form_name].elements[disabled_on_uncheck[i]].disabled = true;
    	
      }
    for(var i=0; i < displayed_on_uncheck.length; i++) {
      document.forms[form_name].elements[displayed_on_uncheck[i]].disabled = false;     
    }
  }  
}

function obj_disabled_by_Id(checkbox,displayed_on_check,disabled_on_check,displayed_on_uncheck,disabled_on_uncheck) {
	if(document.getElementById(checkbox).checked){
    for(var i=0; i < disabled_on_check.length; i++) {
    	document.getElementById(disabled_on_check[i]).disabled = true;      
    }
    for(var i=0; i < displayed_on_check.length; i++) {
      document.getElementById(displayed_on_check[i]).disabled = false;
    }
  }
  else {
    for(var i=0; i < disabled_on_uncheck.length; i++) {
			document.getElementById(disabled_on_uncheck[i]).disabled = true;  	
      }
    for(var i=0; i < displayed_on_uncheck.length; i++) {
      document.getElementById(displayed_on_uncheck[i]).disabled = false;     
    }
  }  
}
//------------------------------------------------------------------------------
//functions to check or unchek checkbox array with a main check_box
//------------------------------------------------------------------------------
function check_checkbox(form_name,main_checkbox_name,main_check_box_state,checkbox_array,check_action) {
  if(document.forms[form_name].elements[main_checkbox_name].checked == main_check_box_state) {
    for(var i=0; i < checkbox_array.length; i++) {
    	document.forms[form_name].elements[checkbox_array[i]].checked = check_action;
  	}
  }
}

//------------------------------------------------------------------------------
//functions to fill activity select and parameter select according to the activity_sector
//------------------------------------------------------------------------------
function fill_select_act_param(param_act_sector_tab,act_act_sector_tab,param_select_name,act_select_name,act_sector_index,act_sector_select_name,empty,form_name) {
//fill param select
	for(var i=0; i<param_select_name.length; i++) {
  	document.forms[form_name].elements[param_select_name[i]].length = 0;
    var param_index = 0;  
    var act_sector_value = document.forms[form_name].elements[act_sector_select_name].options[act_sector_index].value;
    for(var j=0; j<param_act_sector_tab.length; j++) {
    	if(param_act_sector_tab[j][2] == act_sector_value) {
      	document.forms[form_name].elements[param_select_name[i]].options[param_index] = new Option(param_act_sector_tab[j][1],param_act_sector_tab[j][0]);
        document.forms[form_name].elements[param_select_name[i]].disabled = false;
        param_index++;
      }
    }
    if(param_index == 0){
    	document.forms[form_name].elements[param_select_name[i]].options[param_index] = new Option(empty,0);
    }
  }
//fill act select
	for(var i=0; i<act_select_name.length; i++) {
		document.forms[form_name].elements[act_select_name[i]].length = 0;
	  var act_index = 0;  
	  var act_sector_value = document.forms[form_name].elements[act_sector_select_name].options[act_sector_index].value;
	  for(var j=0; j<act_act_sector_tab.length; j++) {
	  	if(act_act_sector_tab[j][2] == act_sector_value) {
	    	document.forms[form_name].elements[act_select_name[i]].options[act_index] = new Option(act_act_sector_tab[j][1],act_act_sector_tab[j][0]);
	      document.forms[form_name].elements[act_select_name[i]].disabled = false;
	      act_index++;
	    }
	  }
	  if(act_index == 0){
	  	document.forms[form_name].elements[act_select_name[i]].options[act_index] = new Option(empty,0);
	  }
  }
}

// write a text in the iframe at bottom of Ecoline  
function setButtonText(text) {
	iframe_process.document.form_process.info.value = text;	
}

function move_element(source_table,destination_table,section_tab,form_name) {
//we get the element_id and the element_text of the element selected
	var selected_element_array = Array();
	var new_source_array	 		 = Array();
  var new_source_array_index = 0;
  for(var i=0; i<document.forms[form_name].elements[source_table].length; i++) {
  	if(document.forms[form_name].elements[source_table].options[i].selected == true) {
      selected_element_array[0] = document.forms[form_name].elements[source_table].options[i].value;
      selected_element_array[1] = document.forms[form_name].elements[source_table].options[i].text;
    }
    //we create an array without the element selected
    else {
    	var temp_id = document.forms[form_name].elements[source_table].options[i].value;
      var temp_name = document.forms[form_name].elements[source_table].options[i].text;
      new_source_array[new_source_array_index] = Array(temp_id,temp_name);
      new_source_array_index++;
    }
  }

//we build the new source table
  document.forms[form_name].elements[source_table].length = 0;
  for(var j=0; j<new_source_array.length; j++) {
  	document.forms[form_name].elements[source_table].options[j] = new Option(new_source_array[j][1],new_source_array[j][0]);
  }
//we add the selected_element to the destination_table
  var new_destination_array	= Array();
  //we insert elements < new element
/*  tstt = document.forms[form_name].elements[destination_table].options[0].value;*/
  /*alert(tstt);*/
  
	for(var j=0; j<document.forms[form_name].elements[destination_table].length; j++) {
    if(document.forms[form_name].elements[destination_table].options[j].text.valueOf() > selected_element_array[1].valueOf()) {
    	break;
    }  
  	new_destination_array[j] = Array(document.forms[form_name].elements[destination_table].options[j].text,document.forms[form_name].elements[destination_table].options[j].value);
  }
  //we insert the new element 
  new_destination_array[j] = Array(selected_element_array[1],selected_element_array[0]);
	//we insert elements > new elements
  for(var i=j; i<document.forms[form_name].elements[destination_table].length; i++) {  
  	new_destination_array[i+1] = Array(document.forms[form_name].elements[destination_table].options[i].text,document.forms[form_name].elements[destination_table].options[i].value);
  }
  document.forms[form_name].elements[destination_table].length = 0;
  for(var k=0; k < new_destination_array.length; k++) {
  	document.forms[form_name].elements[destination_table].options[k] = new Option(new_destination_array[k][0],new_destination_array[k][1]);
  }
  
}

// function to compare the last value and the current value
// we need 
//--------- last value -----------
//    last_value ==> array(value/day number)
//----------current value -------
//name of the inputs given by the form
//		form_name
//    inp_value ==> array(inp value name) || array(inp high_value name,inp low_value name)
//		start_date ==> array(year,month,day)
//		end_date ==> array(year,month,day)
//		advice ==> array(part01,part02,part11,part12,..) *** (value ||price) && ( < || > ) && (sentence_start,sentence_end)


function verification_counter_value_keying(last_value, form_name, inp_value, inp_start_date, inp_end_date, advice) {
  	var bool_return = true;
	if(last_value>0) {
		var i;
		var current_value = 0;
		for(i in inp_value) {
		current_value = current_value + Number(document.forms[form_name].elements[inp_value[i]].value);
	}

    start_date = new Date(document.forms[form_name].elements[inp_start_date[0]].value,( document.forms[form_name].elements[inp_start_date[1]].value-1), document.forms[form_name].elements[inp_start_date[2]].value, 00, 00, 00);    //start date
    end_date = new Date(document.forms[form_name].elements[inp_end_date[0]].value,(document.forms[form_name].elements[inp_end_date[1]].value-1), document.forms[form_name].elements[inp_end_date[2]].value, 00, 00, 00);    //end date

    diff 			 = end_date - start_date; //difference in milliseconds
    days_nbr 	 = new String(diff/86400000);//calculate days and convert to string
    point	     = days_nbr.indexOf(".");    //find the decimal point
    
    if(point > 0) {
      days			 = days_nbr.substring(0,point);    //get just the whole days
    }
    else {
    	days = days_nbr
    }
    
    if(days == 0 )
    	days = 1;
    ratio 		 = current_value / days;
    val_ratio	 = ratio / last_value;

    if(val_ratio > 5) {
	    val_ratio = parseInt(val_ratio);
   		bool_return = confirm(advice[0]+' '+val_ratio+' '+advice[1]);
    }

    if(val_ratio < 0.2) {
	    val_ratio = parseInt(1/val_ratio);
	    bool_return = confirm(advice[2]+' '+val_ratio+' '+advice[3]);
    }
  }
  return bool_return;
}

// function to compare the last value and the current value
// we need 
//--------- last value -----------
//    price      ==> price/value 
//----------current value -------
//name of the inputs given by the form
//		form_name
//		inp_price ==> inp_price name
//    inp_value ==> array(inp value name) || array(inp high_value name,inp low_value name)
//		advice ==> array(part01,part02,part11,part12,..) *** (value ||price) && ( < || > ) && (sentence_start,sentence_end)

function verification_counter_price_keying(last_price,form_name,inp_price,inp_value,advice) {
  bool_return = true;
  if(last_price>0) {
    var i;
    var current_value = 0;
		for(i in inp_value) { 
    	current_value = current_value + Number(document.forms[form_name].elements[inp_value[i]].value);
    }
    ratio 		 = document.forms[form_name].elements[inp_price].value/current_value;
    val_ratio	 = ratio / last_price;
    if(val_ratio>0){ 
      if(val_ratio>5) {
      	val_ratio = parseInt(val_ratio);
     		bool_return = confirm(advice[0]+' '+val_ratio+' '+advice[1]);
      }
      if(val_ratio<0.2) {
      	val_ratio = parseInt(1/val_ratio);
  	    bool_return = confirm(advice[2]+' '+val_ratio+' '+advice[3]);
      }
    }
  }
  return bool_return;
}

//function used when you choose element in two list
//availbale list and selected list. treat infos before the submit 
function PostSubmit(list_name,form_name,form_name_after_submit){
  //we count the item number 
  NbCol1 =  document.forms[form_name].elements[list_name].length;    
  //we select all the item 
  for(a=0; a<NbCol1; a++){
    document.forms[form_name].elements[list_name].options[a].selected = true;
  }
  //we modify the select name to treat the list as an array
  document.forms[form_name].elements[list_name].name =  form_name_after_submit;  
  document.forms[form_name].submit();
}

function PostSubmit2(list_name,form_name,form_name_after_submit){
  //we count the item number 
  NbCol1 =  document.forms[form_name].elements[list_name].length;    
  //we select all the item 
  for(a=0; a<NbCol1; a++){
    document.forms[form_name].elements[list_name].options[a].selected = true;
  }
  //we modify the select name to treat the list as an array
  document.forms[form_name].elements[list_name].name =  form_name_after_submit;  
}

function select_all_list(source_table,destination_table,form_name){ 
  //we had available elements to the destination table
	for(var i=0; i<document.forms[form_name].elements[source_table].length; i++) {
    	var temp_id = document.forms[form_name].elements[source_table].options[i].value;
      var temp_name = document.forms[form_name].elements[source_table].options[i].text;
      var new_element_index = document.forms[form_name].elements[destination_table].length;
		  document.forms[form_name].elements[destination_table].options[new_element_index] = new Option(temp_name,temp_id);
  }
//we erase datas in the new source table
  document.forms[form_name].elements[source_table].length = 0;
}

function select_unselect_all_elements(source_table,destination_table,form_name,checkbox_name) {
  if(document.forms[form_name].elements[checkbox_name].checked == true) {	
  	select_all_list(source_table,destination_table,form_name); 
  }	
  else {
    select_all_list(destination_table,source_table,form_name);
  }
}

function check_list_length(table_name,length,form_name,message) {
	if(document.forms[form_name].elements[table_name].length > length) {
  	alert(message);
    return true;
  }
  else {
  	return false;
  }
}

function move_length_check(source_table,length,destination_table,form_name,year_tab,message){
  if(check_list_length(destination_table,length,form_name,message)== false) { 
  	move_element(source_table,destination_table,year_tab,form_name);
  }
}

function reverse(tab,i,j) {
	var temp=tab[i];
	tab[i]=tab[j];
	tab[j]=temp;
}

function TriTab(tab,_sort) {
	// tab est le nom du tableau
	// ordre vaut 1 si tri croissant et -1 sinon
	_sort =-_sort;
	var n=tab.length;
	var to_continue=true;
	var i=0;
	var iter=0;
	for (i=0;i<n;i++) {tab[i]=_sort*tab[i];}
	while (to_continue) {
		iter++;
		to_continue = false;
		for (i=0;i<n-1;i++) {
			if (Math.min(tab[i],tab[i+1])!=tab[i+1]) {reverse(tab,i,i+1);  to_coninue=true;}
		}
	}
	for (i=0;i<n;i++) {tab[i]=_sort*tab[i];}

	return tab;
}

function DispTab(tab) {
	var nb=tab.length;
	for (var i = 0; i < nb; i++)
		disp("El&eacute;ment n° "+i+" : <B>"+tab[i]+"</B><BR>");
}

//xDisplay is defined twice in x_core.js and xDHTML.js !!! i create xDisplay_
function xDisplay_(sId) {
  var ele = xGetElementById(sId);
  if(ele.style) {
		ele.style.display = 'block';
	}
  else if(document.layers) {
		ele.visibility = 'block';
	}
	else {
		alert("ERROR: <element> [" + hide + "] is missing");
	}

}

//----------------- ENERGY COUNTER FUNCTION1 ---------------------
function local_energy_counter_function1(form_name,div_tarif_choice_name,energy_select_name,energy_index,parent_select_name,usage_type_select_name,parent_tab) {
  //if energy is electricity -> tarif choice(simple double) is aavailable
  if(energy_index == -1) {
    energy_index = 0;
  }
  energy_id = document.forms[form_name].elements[energy_select_name].options[energy_index].value;
  parent_id = parent_tab[energy_id][0][0];
	if(energy_id == '11') {
  	xDisplay_(div_tarif_choice_name);
  }
  else {
  	xDisplayHide(div_tarif_choice_name);
  }
  //fill the parent choice select
  fill_select(parent_tab[energy_id],'<?insert("lang","empty")?>',form_name,parent_select_name);
  //fill the usage type select
  for(var i = 0; i<parent_tab[energy_id].length; i++) {
   	if(parent_id == parent_tab[energy_id][i][0]) {
  		fill_select(parent_tab[energy_id][i][2],'<?insert("lang","empty")?>',form_name,usage_type_select_name);
    }
  }
}
//----------------- ENERGY COUNTER FUNCTION2 ---------------------

function local_energy_counter_function2(form_name,energy_select_name,energy_index
	,usage_type_select_name,parent_select_name,parent_index,parent_tab) {
	parent_id = document.forms[form_name].elements[parent_select_name].options[parent_index].value;
  energy_id = document.forms[form_name].elements[energy_select_name].options[energy_index].value;
	//we look for the right parent
	for(var i = 0; i<parent_tab[energy_id].length; i++) {
   	if(parent_id == parent_tab[energy_id][i][0]) {
    //we fill usage type select 
  		fill_select(parent_tab[energy_id][i][2],'<?insert("lang","empty")?>',form_name,usage_type_select_name);
    }
  }
}

// check that a period is valid, meaning that start date < end date
function period_validity_check(formId) {
	_form = xGetElementById(formId);
	period_start = _form.start_date_year.value + _form.start_date_month.value
		+ _form.start_date_day.value;

	period_end = _form.end_date_year.value + _form.end_date_month.value
		+ _form.end_date_day.value;

	// check if the end period is not before start period
	return (period_end >= period_start);
}

//--------------- functions to get the Y-coordinate of an anchor <a> -----------
function getY(MyObject) {
  if (MyObject.offsetParent) 
   return (MyObject.offsetTop + getY(MyObject.offsetParent));// ;
  else 
   return (MyObject.offsetTop);
}
function getYAnchor(ID_Anchor,Name_Anchor) {
  var ie4 = (document.all)? true:false;	  						//IE 4
  var dom = (document.getElementById)? true:false;	  //DOM
  AnchorY = 0;
  if (dom) {
    pos = document.getElementById(ID_Anchor);
    AnchorY = getY(pos);
  }
  else if (ie4) {
    pos = document.all[ID_Anchor];
    AnchorY = getY(pos);
  }
  return AnchorY
}


// function to compare the last value and the current value
// we need 
//--------- last value -----------
//    last_value ==> array(value/day number)
//----------current value -------
//name of the inputs given by the form
//		form_name
//    inp_value ==> array(inp value name) || array(inp high_value name,inp low_value name)
//		start_date ==> array(year,month,day)
//		end_date ==> array(year,month,day)
//		advice ==> array(part01,part02,part11,part12,..) *** (value ||price) && ( < || > ) && (sentence_start,sentence_end)


function verification_counter_value_keying2(last_value, form_name, inp_value) {

	if(last_value > 0) {

		var i, message;
		var current_value = 0;
		var xForm = document.forms[form_name];

		for(i in inp_value) {
			current_value = current_value + Number(xForm.elements[inp_value[i]].value);
		}

    var date_start	= new Date(xForm.start_date_year.value, ( xForm.start_date_month.value - 1), xForm.start_date_day.value, 0, 0, 0);		//start date
    var date_end		= new Date(xForm.end_date_year.value, (xForm.end_date_month.value - 1), xForm.end_date_day.value, 0, 0, 0);			//end date
    var days				= ((date_end - date_start) / 86400000) +1; //difference in milliseconds
    var ratio 		 = current_value / days;
    var val_ratio	 = ratio / last_value;
  }
  return val_ratio;
}

function verification_counter_price_keying2(last_price, form_name, inp_price, inp_value) {

	var val_ratio = 0;

  if(last_price != 0) {
    var i;
    var current_value = 0;

		for(i in inp_value) { 
    	current_value = current_value + Number(document.forms[form_name].elements[inp_value[i]].value);
    }

    var ratio 		 = document.forms[form_name].elements[inp_price].value / current_value;
    var val_ratio	 = ratio / last_price;
  }
  return val_ratio;
}

function setcookie(name, value, expire) {
    var timestamp=new Date(expire);
    document.cookie=name + "=" + escape(value) + "; expires=" + timestamp.toGMTString();
}

function getcookie(name) {
	var dcookie = document.cookie;
	var cname = name + "=";
	var clen = dcookie.length;
	var cbegin = 0;
	while (cbegin < clen) {
		var vbegin = cbegin + cname.length;
		if (dcookie.substring(cbegin, vbegin) == cname) {
			var vend = dcookie.indexOf (";", vbegin); if (vend == -1) vend = clen;
			return unescape(dcookie.substring(vbegin, vend));
		} 
		cbegin = dcookie.indexOf(" ", cbegin) + 1;
		if (cbegin == 0) break;
	}
	return null;
}

// save Y scrren offset in a cookie
function EM_screenYoffset_save() {
	xSetCookie("pageY", xScrollTop());
}

// restore Y screen position from a cookie
function EM_screenYoffset_restore() {
	xScrollTopTo(xGetCookie("pageY"));
}

