function updateAddressForm(form)
{
	for (var i=0;i<form.length;i++)
  		if (form.elements[i].name.indexOf("ship_") != -1 && form.elements[i].name != "ship_equals_bill")
			form.elements[i].disabled = document.getElementById('ship_equals_bill').checked;
}

function checkAddressForm(form)
{
	if (!(
		checkInput(form.bill_first_name,"Please enter billing first name")
		&&  checkInput(form.bill_last_name,"Please enter billing last name")
		&&  checkEmail(form.bill_email,"Please enter valid billing email")
		&&  checkInput(form.bill_address,"Please enter billing address line")
		&&  checkInput(form.bill_city,"Please enter billing city")
		&&  checkSelect(form.bill_state,"Please enter billing state")
		&&  checkInput(form.bill_zip,"Please enter billing ZIP")
		&&  checkSelect(form.bill_country,"Please enter billing country")
		&&  checkInput(form.bill_phone,"Please enter billing phone")
		)) return false;

	if (form.ship_equals_bill[0].checked) return true;

	if (!(
		checkInput(form.ship_first_name,"Please enter shipping first name")
		&&  checkInput(form.ship_last_name,"Please enter shipping last name")
		&&  checkEmail(form.ship_email,"Please enter valid shipping email")
		&&  checkInput(form.ship_address,"Please enter shipping address line")
		&&  checkInput(form.ship_city,"Please enter shipping city")
		&&  checkSelect(form.ship_state,"Please enter shipping state")
		&&  checkInput(form.ship_zip,"Please enter shipping ZIP")
		&&  checkSelect(form.ship_country,"Please enter shipping country")
		&&  checkInput(form.ship_phone,"Please enter shipping phone")
		)) return false;

	return true;
}
function checkRegisterForm(form)
{
	if (!(
		checkInput(form.form_register_first_name,"Please enter first name")
		&&  checkInput(form.form_register_last_name,"Please enter last name")
		&&  checkInput(form.form_register_address,"Please enter address line")
		&&  checkInput(form.form_register_city,"Please enter city")
		&&  checkSelect(form.form_register_memberstate,"Please enter state")
		&&  checkInput(form.form_register_zip,"Please enter ZIP")
		&&  checkSelect(form.form_register_country,"Please enter country")
		&&  checkInput(form.form_register_phone,"Please enter phone")
		&&  checkEmail(form.form_register_email,"Please enter email")
		&&  checkInput(form.form_register_password,"Please enter password")
		&&  checkInput(form.form_register_password2,"Please repeat password")
		)) return false;

	if (form.ship_equals_bill[0].checked) return true;

	if (!(
		checkInput(form.ship_first_name,"Please enter shipping first name")
		&&  checkInput(form.ship_last_name,"Please enter shipping last name")
		&&  checkEmail(form.ship_email,"Please enter valid shipping email")
		&&  checkInput(form.ship_address,"Please enter shipping address line")
		&&  checkInput(form.ship_city,"Please enter shipping city")
		&&  checkSelect(form.ship_state,"Please enter shipping state")
		&&  checkInput(form.ship_zip,"Please enter shipping ZIP")
		&&  checkSelect(form.ship_country,"Please enter shipping country")
		&&  checkInput(form.ship_phone,"Please enter shipping phone")
		)) return false;

	return true;
}
function checkShippingForm(form){
	return checkSelect(form.shipping_code,"Please choose shipping method.");
}
function checkCCForm(form)
{
	if (!(
		checkInput(form.cc_holder,"Please enter credit card holder name.")
		&& checkInput(form.cc_type,"Please select credit card type.")
		&& checkInput(form.cc_number,"Please enter credit card number.")
		&& checkInput(form.cc_month,"Please select credit card expiration month.")
		&& checkInput(form.cc_year,"Please select credit card expiration year.")
		&& checkInput(form.cc_security_code,"Please enter credit card security code.")
		)) return false;

	return true;
}

/*
 * AJAX Part
 * */
function ajaxFormRequest(url, method, containerResponse, postFunction, form)
{
	cover(containerResponse);

	//return true;
	var req;
	if(window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else if(window.ActiveXObject)
		req = new ActiveXObject("Microsoft.XMLHTTP");
	// if browser doesn't support ajax return true
	if(!req) return true;

	method = method.toUpperCase();

	//concatenate all form fields to a string
	var formString ="";
	for (var i=0;i<form.length;i++) {
  		if (form.elements[i].name!=''){

  			if(!form.elements[i].checked && form.elements[i].type=='checkbox') continue;
  			formString += escape(form.elements[i].name) + "=" + escape(form.elements[i].value) + "&";
  		}
  	}

	// process function
 	req.onreadystatechange=function()
 	{
  		if (req.readyState == 4)
  			if(req.status == 200)
  			{
  				if(containerResponse) containerResponse.innerHTML = req.responseText;
  				if(postFunction) postFunction(req);
  			}
	}

	// send request
	if(method == "GET")
	{
		url += ((url.indexOf("?") == -1) ? "?" : "&") + formString;
		req.open(method, url, true );
		req.send(null);
	}
	else if(method == "POST")
	{
		try // catch an exception to prevent errors (opera <= 8 doesn't support post request)
		{
			req.open(method, url.slice(0,url.indexOf("?")), true );
			var parameters = formString + url.slice(url.indexOf("?") + 1);
//			debugger;
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	      	req.setRequestHeader("Content-length", parameters.length);
	      	req.setRequestHeader("Connection", "close");
	      	req.send(parameters);
      	}
      	catch (e)
      	{
      		return true;
      	}
	}
	else
	{
		alert("Not normal method: " + method);
		return true;
	}

	return false;
}
function updateMessages(){
}

function hideLoader(){
	var frame = document.getElementById('iframe_cover');
	var div = document.getElementById('div_cover');
	frame.style.left="-5000px";
	div.style.left="-5000px";
}

function cover(div){
	//alert(123123123);
	//var div = document.getElementById('ajaxPayment');
	if (typeof(div) == "string") div = document.getElementById(div);
	//alert(div);
	var div_height = (div.clientHeight) ? div.clientHeight : div.offsetHeight;
	var div_width = (div.clientWidth) ? div.clientWidth : div.offsetWidth ;


	var iframe_cover = document.createElement("IFRAME");
	iframe_cover.setAttribute("id","iframe_cover");
	iframe_cover.style.height=(div_height)+ "px";
	iframe_cover.style.width=(div_width) + "px";
	iframe_cover.style.left= "0";
	iframe_cover.style.top= "0";
	iframe_cover.style.zIndex="1600";
	iframe_cover.style.border="none";
	iframe_cover.style.position="absolute";
	iframe_cover.setAttribute("FRAMEBORDER","0");

	var padding = Math.floor(div_height/2 -12);
	var div_cover = document.createElement("DIV");
	div_cover.setAttribute("id","div_cover");
	div_cover.style.height=div_height + "px";
	div_cover.style.width=div_width + "px";
	div_cover.style.position="absolute";
	div_cover.style.textAlign="center";
	div_cover.style.left=0 + "px";
	div_cover.style.top=0 + "px";
	div_cover.style.background="url('/images/cover_bg.gif')";
	div_cover.style.zIndex="1800";
	div_cover.innerHTML="<img style='padding-top:" + padding + "px' src='/images/ajax-loader.gif'>";
	div.appendChild(iframe_cover);
  	div.appendChild(div_cover);
	return div_cover;
}