	function handleDivTag(divtag){
	   var divtag;
	   return divtag;
	}
	
   function createRequestObject() {
        var req;
        if(window.XMLHttpRequest){
            req = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            alert("There was a problem creating the XMLHttpRequest object");
        }
        return req;
    }
    
    // Make the XMLHttpRequest object
    var http = createRequestObject();
	var divhandler = new handleDivTag(null);
    var add_request_number = 0;
	var timeoutID = new Array();
	var timeoutID1 = new Array();
    function sendRequest(more,divtag) {
		if (http) {
			if (divtag == "mini_cart") {
				//alert(divtag);
				document.getElementById(divtag).innerHTML = "<table id='small_cart'><tr><td>Loading...</td></tr></table>";
				http.open("get", "mini_cart.php?"+more);
			}
			else if (divtag == "mini_account") {
				divtag = "mini_cart";
				document.getElementById(divtag).innerHTML = "Loading...";
				http.open("get", "mini_account.php?"+more);
			}
			if (divtag == "event_detail") {
				//document.getElementById(divtag).innerHTML = "Loading...";
				http.open("get", "mini_email.php?"+more);
			}
			if (divtag  == "shipping_div") {
				document.getElementById(divtag).innerHTML = "Loading...";
				http.open("get", "shipping_forms.php?"+more);
			}
			if (divtag  == "view_orders") {
				document.getElementById(divtag).innerHTML = "Loading...";
				http.open("get", "view_orders.php?"+more);
			}
			if (divtag  == "ajax_account") {
				document.getElementById(divtag).innerHTML = "Loading...";
				http.open("get", "mini_account.php?"+more);
			}
			http.onreadystatechange = handleResponse;
			divhandler.divtag = divtag;
			http.send(null);
		}
    }

    function handleResponse() {
		//alert("in handle: "+http.status);
        if(http.readyState == 4 && http.status == 200){
            // Text returned FROM PHP script
            var response = http.responseText;
            if(response) {
                document.getElementById(divhandler.divtag).innerHTML = response;
				//setTimeout("update_view()",50);
				if (response == "&nbsp;not valid" && divhandler.divtag == "check_email") {
					//document.getElementById("submit").disabled = true;
				}
				if (response == "&nbsp;" && divhandler.divtag == "check_email") {
					//document.getElementById("submit").disabled = false;
				}
				if (divhandler.divtag == "mini_cart") {
					//resize();
				}
            }
        }
    }
	function resize() {
		var height = document.getElementById("small_cart").offsetHeight+15;
		if (height>500) height = 600;
		//var width = document.getElementById("small_cart").offsetWidth;
		//alert(height+" - height, "+width+" - width");
		if (document.getElementById("small_cart").offsetHeight != 0) {
			document.getElementById("mini_cart").style.height = height+"px";
			document.getElementById("cart_iframe").style.height = height+"px";
			//document.getElementById("cart_iframe").style.width = document.getElementById("FloatingLayer").style.offsetWidth;
		}
	}
	//cart functions:
	function update_product(mc_cart_product_id) {
		var more = "action=update&";
		more += "mc_cart_product_id="+document.getElementById("prod_"+mc_cart_product_id).value;
		more += "&qty="+document.getElementById("qty_"+mc_cart_product_id).value;
		setTimeout("sendRequest('"+more+"', 'mini_cart')",50);
		//sendRequest(more,'mini_cart');
		//sendRequest('action=display','cart_total');
	}
	function remove_product(mc_cart_product_id) {
		var more = "action=remove&";
		more += "mc_cart_product_id="+document.getElementById("prod_"+mc_cart_product_id).value;
		setTimeout("sendRequest('"+more+"', 'mini_cart')",50);
		//sendRequest(more,'mini_cart');
	}
	function validateInteger( strValue ) {
	  var objRegExp  = /(^-?\d\d*$)/;
	  return objRegExp.test(strValue);
	}
	function add_product(product_id) {
		var more = "action=add_product&product_id="+product_id;
		if (validateInteger(document.getElementById("qty_"+product_id).value)) {
			if (document.getElementById("qty_"+product_id).value <= 100) {
			//For var and objects
			var form_obj = document.getElementById("form_"+product_id);
			var var_line = "";
			for(i=0;i<form_obj.length;i++) {
				//alert(number[i].value);
				if (form_obj[i].name == "product_vo") {
					if (form_obj[i].value != "") var_line += form_obj[i].value +",";
					//alert(form_obj[i].value);
					//k++;
				}
			}
			if (var_line != "") {
				var length = var_line.length;
				var_line = var_line.substring(0, length-1);
				more += "&product_vo="+var_line;
			}
				more += "&qty="+document.getElementById("qty_"+product_id).value;
				if (document.getElementById("gift_wrap_"+product_id)) {
					if (document.getElementById("gift_wrap_"+product_id).checked == true) more += "&gift_wrap=Yes";
					else more += "&gift_wrap=No";
				}
				else {
					more += "&gift_wrap=No";
				}
				//+"&gift_message="+document.getElementById("gift_message_"+product_id).value;
				//alert(more);
				document.getElementById("current_add_id").value = product_id;
				//document.getElementById("add_"+product_id).value = "Adding ...";
				//document.getElementById("add_"+product_id).disabled = true;
				//document.getElementById("add_flag_"+product_id).innerHTML = "Adding Product ...";
				//alert(add_request_number);
				setTimeout("sendRequest('"+more+"', 'mini_cart')",100);
				//alert(more);
				//sendRequest(more, 'mini_cart');
			}
			else {
				document.getElementById("qty_"+product_id).style.color = 'red';
			}
		}
		else {
			document.getElementById("qty_"+product_id).style.color = 'red';
		}
	}
	function change_zip() {
		var more = "action=zip&zip="+document.getElementById("zip").value;
		//setTimeout("sendRequest('"+more+"', 'mini_cart')",100);
		sendRequest(more,'mini_cart');
	}
	
	function clear_cart() {
		var more = "action=clear_cart";
		sendRequest(more,'mini_cart');
	}
	
	function update_shipping() {
		var more = "action=shipping&shipping="+document.getElementById("shipping").value;
		//setTimeout("sendRequest('"+more+"', 'mini_cart')",100);
		sendRequest(more,'mini_cart');
	}
	function display_cart() {
		if (document.getElementById("mini_cart").style.display == "none") document.getElementById("mini_cart").style.display='block';
		else document.getElementById("mini_cart").style.display='none';
		//update_view();
	}
	function add_coupon() {
		if (document.getElementById("coupon").value != "") {
			var more = "action=coupon&coupon="+document.getElementById("coupon").value;
			sendRequest(more, "mini_cart");
		}
	}
	function update_view() {
			http.open("get", "cart_total.php");
			http.onreadystatechange = handleResponse1;
			http.send(null);
	}
	function handleResponse1() {
	   if(http.readyState == 4 && http.status == 200){
		  var response = http.responseText;
		  if(response) {
			 // UPDATE ajaxTest content
			 document.getElementById("cart_total").innerHTML = response;
			 if (document.getElementById("current_add_id").value != "") {
			 	//document.getElementById("add_"+document.getElementById("current_add_id").value).value = "Add";
			 	//document.getElementById("add_"+document.getElementById("current_add_id").value).disabled = false;
				//document.getElementById("add_flag_"+document.getElementById("current_add_id").value).innerHTML = "product added :)";
				document.getElementById("current_add_id").value = "";
				alert("The product has been added to your cart.");
			 }
		  }
	
	   }
	
	}
//
	function register_form() {
		var err = "";
		if (!validateNotEmpty(document.getElementById("fname").value)) err += "First Name is missing.\n";
		if (!validateNotEmpty(document.getElementById("lname").value)) err += "Last Name is missing.\n";
		if (!validateNotEmpty(document.getElementById("password_reg").value)) err += "Password is missing.\n";
		if (!validateNotEmpty(document.getElementById("email_reg").value)) err += "Email is missing.\n";
		if (err == "") {
			return true;
		}
		else {
			alert(err);
			return false;
		}
	}
	function validateNotEmpty( strValue ) {
	   var strTemp = strValue;
	   strTemp = trimAll(strTemp);
	   if(strTemp.length > 0){
		 return true;
	   }
	   return false;
	}
	function trimAll( strValue ) {
	 var objRegExp = /^(\s*)$/;
		//check for all spaces
		if(objRegExp.test(strValue)) {
		   strValue = strValue.replace(objRegExp, '');
		   if( strValue.length == 0)
			  return strValue;
		}
	   //check for leading & trailing spaces
	   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
	   if(objRegExp.test(strValue)) {
		   //remove leading and trailing whitespace characters
		   strValue = strValue.replace(objRegExp, '$2');
		}
	  return strValue;
	}
	function validate_email() {
		var more = "email="+document.getElementById("email_reg").value;
		sendRequest(more,'check_email');
	}
	function clear_check() {
		document.getElementById("check_email").innerHTML = "&nbsp;";
	}
//registry suff here:
	function add_wishlist(product_id, mc_account_id, wishlist_id) {
		var more = "product_id="+product_id+"&wishlist_id="+wishlist_id;
		if (mc_account_id != "") {
			if (validateInteger(document.getElementById("qty_"+product_id).value)) {
				
					//For var and objects
					var form_obj = document.getElementById("form_"+product_id);
					var var_line = "";
					for(i=0;i<form_obj.length;i++) {
						//alert(number[i].value);
						if (form_obj[i].name == "product_vo") {
							if (form_obj[i].value != "") var_line += form_obj[i].value +",";
							//alert(form_obj[i].value);
							//k++;
						}
					}
					if (var_line != "") {
						var length = var_line.length;
						var_line = var_line.substring(0, length-1);
						more += "&product_vo="+var_line;
					}
					//end var and options
				
					more += "&qty="+document.getElementById("qty_"+product_id).value;
					var url = "add_wishlist.php?"+more;
					var xml = new JKL.ParseXML(url);
					var data = xml.parse();
					var suc = data.instance.action;
					if (suc==1) {
						alert("Product In Your Wish List!");
						//document.getElementById("wish_"+product_id).value = "In WL";
					}
					else {
						alert("Oops!");
						//document.getElementById("wish_"+product_id).value = "Add WL";
						//document.getElementById("wish_"+product_id).disabled = false;
					}
					close_reg();
			}
			else {
				document.getElementById("qty_"+product_id).style.color = 'red';
			}
		}
		else {
			alert("You have to login to your account first.");	
		}
	}
function show_registry(e) {
  var tempX = 0;
  var tempY = 0;
  var offset = 5;

  if (document.all) {
    tempX = event.clientX + document.documentElement.scrollLeft;//document.body.scrollLeft;
    tempY = event.clientY + document.documentElement.scrollTop;//document.body.scrollTop;
	//alert(event.clientY+" ScrollTop:"+document.documentElement.scrollTop);
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }

  // step 4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
	//document.getElementById("event_iframe").style.left = tempX+"px";
	//document.getElementById("event_iframe").style.top = tempY+"px";
	//alert(tempX+" "+tempY);
	//document.getElementById("event_iframe").style.display = "block";
	
	document.getElementById("registry_list").style.left = tempX+"px";
	document.getElementById("registry_list").style.top = tempY+"px";
	//alert(tempX+" "+tempY);
	document.getElementById("registry_list").style.display = "block";
	//event_d(id, page_id);
  }
  function close_reg() {
	  document.getElementById("registry_list").style.display = "none";
  }
  function reg_on(obj) {
	  obj.className = "div_on";
  }
  function reg_off(obj) {
	  obj.className = "div_off";
  }
  //////////
function event_d() {
var more = "action=form";
sendRequest(more,'event_detail');
}
function moveObject1(e) {
  var tempX = 0;
  var tempY = 0;
 var offset = 5;

  if (document.all) {
    tempX = event.clientX + document.documentElement.scrollLeft;//document.body.scrollLeft;
    tempY = event.clientY + document.documentElement.scrollTop;//document.body.scrollTop;
//alert(event.clientY+" ScrollTop:"+document.documentElement.scrollTop);
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }

  // step 4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
  	tempY = tempY - 45;
	document.getElementById("event_iframe").style.left = tempX+"px";
	document.getElementById("event_iframe").style.top = tempY+"px";
	//alert(tempX+" "+tempY);
	document.getElementById("event_iframe").style.display = "block";
	
	document.getElementById("event_detail").style.left = tempX+"px";
	document.getElementById("event_detail").style.top = tempY+"px";
	//alert(tempX+" "+tempY);
	document.getElementById("event_detail").style.display = "block";
	event_d();
  }
  
function close_div() {
	 document.getElementById("event_iframe").style.display = "none";
	 document.getElementById("event_detail").style.display = "none";
 }
 function send_email() {
	obj = document.s_email;
	var more = "action=send_email";
	more += "&your_name="+encodeURI(obj.your_name.value);
	more += "&your_email="+encodeURI(obj.your_email.value);
	more += "&friend_name="+encodeURI(obj.friend_name.value);
	more += "&friend_email="+encodeURI(obj.friend_email.value);
	more += "&page_url="+location.href;
	sendRequest(more,'event_detail');
 }