	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 (divtag == "mini_cart") {
			//alert(divtag);
			document.getElementById(divtag).innerHTML = "<table id='small_cart'><tr><td><img src='/filebin/images/loading_apple.gif' boredr='0'></td><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);
		}
		else if (divtag == "event_detail") {
			document.getElementById(divtag).innerHTML = "<table id='small_cart'><tr><td><img src='/filebin/images/loading_apple.gif' boredr='0'></td><td>Loading...</td></tr></table>";
			http.open("get", "mini_email.php?"+more);
		}
		/*if (divtag == "check_email") {
			//document.getElementById(divtag).innerHTML = "Loading...";
			http.open("get", "validate_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();
					//update_view();
				}
				if (divhandler.divtag == "event_detail") {
					if (document.getElementById("your_name")) document.getElementById("your_name").focus();
				}
            }
        }
    }
	function resize() {
		var height = document.getElementById("small_cart").offsetHeight;
		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";
	}
	//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() {
		if (validateInteger(document.getElementById("qty").value) && document.getElementById("product_id").value != "") {
			var product_id = document.getElementById("product_id").value;
			var more = "action=add_product&product_id="+product_id;
			if (document.getElementById("qty").value <= 100) {
			//For var and objects
			var form_obj = document.getElementById("add_to_cart");
			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].name+" - "+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").value;
				if (document.getElementById("gift_wrap")) {
					if (document.getElementById("gift_wrap").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');
				//window.loaction = "http://aquaz.mighty-site.com/mini_cart.php?"+more;
			}
			else {
				document.getElementById("qty").style.color = 'red';
			}
		}
		else {
			document.getElementById("qty").style.color = 'red';
		}
	}
	
	function add_product_spec(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 <= 10000) {
			//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 != "") {
			 	if (document.getElementById("add_"+document.getElementById("current_add_id").value)) document.getElementById("add_"+document.getElementById("current_add_id").value).value = "Add";
			 	if (document.getElementById("add_"+document.getElementById("current_add_id").value)) 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;";
	}
	//////////
function event_d() {
	var more = "action=form";
	sendRequest(more,'event_detail');
}
function moveObject(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');
 }