// Shopping cart menu functions

var getcookie = -1;


function init() {	
	Get_Cookie("dhtml");//when it finishes, it calls initb()
}

function initb() {
	m = document.getElementById("menu");
	b = document.getElementById("button");
	
	if (getcookie == "1") {
		left = 0;
		i = 2;
		menu_open = true;
		b.src = "images/list_closelist.gif";
	} else {
		left = 160;
		i = 27;
		menu_open = false;
		b.src = "images/list_openlist.gif";
	}
	m.style.left = left;
	if (menu_open == true) {
		MM_setTextOfLayer('productlist', '', buffer);			
	} else {
		MM_setTextOfLayer('productlist', '', buffer2);
	}
}

function slide() {
	m = document.getElementById("menu");
	b = document.getElementById("button");
	
	var days = 14; // valid two weeks from now
	var today = new Date();
	var zero_date = new Date(0,0,0);
	today.setTime(today.getTime() - zero_date.getTime());
	var todays_date = new Date(today.getYear(),today.getMonth(),today.getDate(),0,0,0);
	var expires_date = new Date(todays_date.getTime() + (days * 86400000));
	
	if (menu_open == false) {
		if (left > 0) {
			Set_Cookie("dhtml","1",expires_date);
			// Menu Slide Open
			if (i > 1) i = i * .86;
			left = left - i;
			if (left < 0) left = 0;
			m.style.left = left;
			setTimeout('slide()', 10);
			return false;
		} else {
			// Menu is open
			menu_open = true;
			b.src = "images/list_closelist.gif";
			i = 2;
			
			return true;
		}
	} else {
		if (left < 160) {
			Set_Cookie("dhtml","0",expires_date);
			// Menu Slide Closed
			left = left + i;
			if (left > 160) left = 160;
			i = i * 1.4;
			m.style.left = left;
			setTimeout('slide()', 20);
			return true;
		} else {
			// Menu is closed
			menu_open = false;
			b.src = "images/list_openlist.gif";
			i = 27;
			
			return false;
		}
	}
}

function force_menu_open() {
	if (menu_open == false) {
		slide();
	}
}

function mouseon() {
	m = document.getElementById("button");
	if (menu_open == true) {
		m.src = "images/list_closelist2.gif";
	} else {
		m.src = "images/list_openlist2.gif";
	}
	return false;
}

function mouseoff() {
	m = document.getElementById("button");
	if (menu_open == false) {
		m.src = "images/list_openlist.gif";
	} else {
		m.src = "images/list_closelist.gif";
	}
	return false;
}

function remove_on(elem) {
	elem.src = "images/list_remove2.gif";
}
function remove_off(elem) {
	elem.src = "images/list_remove1.gif";
}

function header_on(elem) {
	elem.src = "images/list_header2.gif";
}
function header_off(elem) {
	elem.src = "images/list_header.gif";
}

function Get_Cookie(name) {
	/*
  var start = document.cookie.indexOf(name + '=');
  var len = start + name.length + 1;
  if ((!start) && (name != document.cookie.substring(0,name.length)))
    return null;
  if (start == -1)
    return null;
  var end = document.cookie.indexOf(';',len);
  if (end == -1) end = document.cookie.length;
  return unescape(document.cookie.substring(len,end));
  */
  dorequest();
}


function Set_Cookie(name,value,expires,path,domain,secure) {
	/*
  document.cookie = 
    name + '=' + escape(value) +
    ( (expires) ? ';expires=' + expires.toGMTString() : '') +
    ( (path) ? ';path=' + path : '') + 
    ( (domain) ? ';domain=' + domain : '') +
    ( (secure) ? ';secure' : '');
	*/
	if (getcookie != value) {
		getcookie = value;
		dorequest(value);
	}
}


var aurl = "./php/getcookie.php";
var burl = "./php/setcookie.php?menustatus=";
var callinitb = false;

function handleHttpResponse() {
  if (http.readyState == 4) {
	  getcookie = http.responseText;
	  if (callinitb == true) {
		  callinitb = false;
		  initb();
	  }
  }
}

function dorequest(somenum) {
	if ((somenum == 0) || (somenum == 1)) {
		http.open("GET", burl + somenum, true); //set cookie
	} else {
		http.open("GET", aurl, true); //get cookie
		callinitb = true;
	}
	http.onreadystatechange = handleHttpResponse;
	http.send(null);
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on

  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }

  return xmlhttp;
}

var http = getHTTPObject(); // We create the HTTP Object

