function return_to_store() {
	document.getElementById('order_detail').style.visibility = 'hidden';
	document.getElementById('order_detail').style.height = '0px';
	document.getElementById('ups_terms').style.visibility = 'hidden';
	document.getElementById('ups_terms').style.height = '0px';
	document.getElementById('cart').style.visibility = 'visible';
	document.getElementById('cart').style.height = 'auto';
	document.getElementById('featured_items_container').style.visibility = 'visible';
	document.getElementById('featured_items_container').style.height = 'auto';
}

function add_to_cart(product_id, qty) {
	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", 'add_to_cart.php?product_id=' + product_id + '&session_id=' + get_cookie('PHPSESSID') + '&qty=' + qty); 
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				if ( XMLHttpRequestObject.responseText == 'true' ) {
					refresh_mini_cart(XMLHttpRequestObject.responseText);
				} else {
					//alert(XMLHttpRequestObject.responseText);
				}
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}

	document.getElementById('cart').style.visibility = 'visible';
	document.getElementById('cart').style.height = 'auto';
	document.getElementById('featured_items_container').style.visibility = 'visible';
	document.getElementById('featured_items_container').style.height = 'auto';
	document.getElementById('order_detail').style.visibility = 'hidden';
	document.getElementById('order_detail').style.height = '0px';

}


function update_price() {
	price = (document.getElementById('qty_popup').value * document.getElementById('bp').value);
	document.getElementById('wine_price').innerHTML = localize_price(price);
}

function delete_cart_record(cart_id) {
	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {

		XMLHttpRequestObject.open("GET", 'delete_cart_record.php?product_id=' + cart_id + '&session_id=' + get_cookie('PHPSESSID') ); 
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				if ( XMLHttpRequestObject.responseText == 'true' ) {
					refresh_mini_cart(XMLHttpRequestObject.responseText);
				} else {
					//alert(XMLHttpRequestObject.responseText);
				}
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}

}

function update_cart() {

	var inputArray = document.getElementsByName('item_qty');
	var cart_string = '';
	for (loopIndex = 0; loopIndex < inputArray.length; loopIndex++) {
		cart_string += inputArray[loopIndex].id + "|" + inputArray[loopIndex].value + "||";
	}

	cart_string = cart_string.substring(0,(cart_string.length-1));

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", 'update_cart.php?cart_string=' + cart_string + '&session_id=' + get_cookie('PHPSESSID')); 
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				if ( XMLHttpRequestObject.responseText == 'true' ) {
					refresh_mini_cart(XMLHttpRequestObject.responseText);
				} else {
					//alert(XMLHttpRequestObject.responseText);
				}
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}

}

function secure_checkout() {

	document.getElementById('order_detail').style.visibility = 'visible';
	document.getElementById('order_detail').style.height = 'auto';

	document.getElementById('cart').style.height = '0px';
	document.getElementById('cart').style.overflow = 'hidden';
	document.getElementById('cart').style.visibility = 'hidden';

	document.getElementById('featured_items_container').style.height = '0px';
	document.getElementById('featured_items_container').style.overflow = 'hidden';
	document.getElementById('featured_items_container').style.visibility = 'hidden';

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", 'https://international.winehouse.com/checkout.php?l=' + get_cookie('language'));
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				document.getElementById("main_content").innerHTML = XMLHttpRequestObject.responseText;
				refresh_order_detail();
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}
		
}

function checkout() {
	var rand_no = Math.random();
	var order_page = "https://international.winehouse.com/order.php";
	window.location = order_page;
}

function new_account() {
	if( document.getElementById("new_account_checkbox").checked ) {
		document.getElementById('verify_title').style.visibility = 'visible';
		document.getElementById('verify_input').style.visibility = 'visible';
		error_check();
	} else {
		document.getElementById('verify_title').style.visibility = 'hidden';
		document.getElementById('verify_input').style.visibility = 'hidden';
		account_lookup();
	}
}

function account_lookup() {
	if ( document.getElementById("email").value != '' && document.getElementById("password").value != '' && !document.getElementById("new_account_checkbox").checked ) {
		//Collect Vars
		var vars = 'email=' + document.getElementById("email").value;
		vars += '&password=' + hex_md5(document.getElementById("password").value);
		if (window.XMLHttpRequest) {
			XMLHttpRequestObject = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", 'login.php?' + vars);
			XMLHttpRequestObject.onreadystatechange = function() { 
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
					if ( XMLHttpRequestObject.responseText != 'new' ) {
						var fields = XMLHttpRequestObject.responseText.split("++");
						var field;
				        for (i = 0; i < fields.length; i++) {
							field = fields[i].split("|");
							if ( field.length == 2 ) {
								document.getElementById(field[0]).value = field[1];
								document.getElementById(field[0]).style.backgroundImage = 'url(images/png/shared/edit.png)'; 
								if ( field[0] == "state_province" ) {
									get_ship_to_regions(field[1]);
								}
							}
						}
						shipping();
					}
				}
			} 
			XMLHttpRequestObject.send(null); 
		}
	}

	if ( document.getElementById("password").value != '' && document.getElementById("verify").value != '' ) {
		if ( document.getElementById("verify").value != document.getElementById("password").value ) {
		}
	}

}

function get_ship_to_regions( region_code ) {

	var country_code = document.getElementById("country").value;

	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", 'get_ship_to_regions.php?country_code=' + country_code + '&l=' + get_cookie('language'));
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				document.getElementById('state_input').innerHTML = XMLHttpRequestObject.responseText;
				document.getElementById('state_title').style.visibility = 'visible';
				document.getElementById('state_input').style.visibility = 'visible';
				if ( region_code != '' ) {
					document.getElementById('state_province').value = region_code;
					if ( document.getElementById('state_province').value = region_code ) {
						document.getElementById('state_province').style.backgroundImage = 'url(images/png/shared/edit.png)'; 
					}
				} else {
					document.getElementById('state_province').style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
				}
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}

}



function shipping() {

	if ( document.getElementById("country").value=='CN') {
		document.getElementById('city_input').innerHTML = '<select id="city" name="city" class="select_input" onchange="error_check();"><option value="" selected="selected">Choose</option><option value="Guangzhou">Guangzhou</option><option value="Shanghai">Shanghai</option></select>';
	} else {
		if ( document.getElementById('city_input').innerHTML=='<select id="city" name="city" class="select_input" onchange="error_check();"><option value="" selected="selected">Choose</option><option value="Guangzhou">Guangzhou</option><option value="Shanghai">Shanghai</option></select>' ) {
			var mycity = document.getElementById('city').value;
			document.getElementById('city_input').innerHTML = '<input name="city" type="text" id="city" class="text_input_one" onchange="error_check();" />';
			document.getElementById('city').value = mycity;
		}
	}


	if ( document.getElementById("address_line_one").value != '' && document.getElementById("city").value != '' && document.getElementById("country").value != '' && document.getElementById("postal_code").value != '' ) {
		var address_line_one = document.getElementById("address_line_one").value;
		var city = document.getElementById("city").value;
		var country_code = document.getElementById("country").value;
		var state_province = document.getElementById("state_province").value;
		var postal_code = document.getElementById("postal_code").value;
		var weight = document.getElementById("weight").value;
		var ap_qty = document.getElementById("ap_qty").value;
		document.getElementById("ups").innerHTML = '<img src="images/gif/progress.gif" alt="Loading..." />';
	} else {
		return;
	}

	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
//alert('ups.php?postal_code=' + postal_code + '&country_code=' + country_code + '&region=' + region + '&weight=' + weight + '&l=' + get_cookie('language') + '&ShipToAddressLine1=' + address_line_one + '&ShipToCity=' + city + '&weight=' + weight + '&c=' + get_cookie('currency') + '&ap_qty=' + ap_qty);
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", 'ups.php?postal_code=' + postal_code + '&country_code=' + country_code + '&state_province=' + state_province + '&weight=' + weight + '&l=' + get_cookie('language') + '&ShipToAddressLine1=' + address_line_one + '&ShipToCity=' + city + '&weight=' + weight + '&c=' + get_cookie('currency') + '&ap_qty=' + ap_qty);
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				document.getElementById("ups").innerHTML = XMLHttpRequestObject.responseText;
				document.getElementById('ups_terms').style.visibility = 'visible';
				document.getElementById('ups_terms').style.height = 'auto';
				error_check();
			}
		} 
		XMLHttpRequestObject.send(null); 
	}
}

function refresh_order_detail() {
	
	document.getElementById('order_detail').innerHTML = '<img src="images/gif/progress.gif" alt="Loading..." />';

	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", "order_detail.php?session_id=" + get_cookie('PHPSESSID') + '&c=' + get_cookie('currency') + '&l=' + get_cookie('language'));
			XMLHttpRequestObject.onreadystatechange = function() {
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
				document.getElementById('order_detail').innerHTML = XMLHttpRequestObject.responseText;
			}
		}
		XMLHttpRequestObject.send(null);
	}

}


function shipping_select(data) {
	var exchange_rate = get_cookie('currency').split("|", 1);
	var var_shipping_price = parseInt(data*100);
	var var_subtotal = parseInt(document.getElementById('subtotal').value*100);
	var var_subtotal_dollars = parseInt(document.getElementById('subtotal_dollars').value*100);
	//document.getElementById('grand_total').value = var_shipping_price/100;
	document.getElementById('shipping_price').innerHTML = localize_price((var_shipping_price*exchange_rate)/100);
	document.getElementById('grand_total').value = (var_subtotal + var_shipping_price)/100;
	document.getElementById('grand_total_price').innerHTML = localize_price((var_subtotal + (exchange_rate*var_shipping_price))/100);
	document.getElementById('total_dollars').innerHTML = '$' + ((var_subtotal_dollars + var_shipping_price)/100);
	show_cc();
}

function show_cc() {

	if ( document.getElementById("cc").innerHTML == '' ) {

		if (window.XMLHttpRequest) {
			XMLHttpRequestObject = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		}

		if(XMLHttpRequestObject) {
			XMLHttpRequestObject.open("GET", 'cc.php?l=' + get_cookie('language'));
			XMLHttpRequestObject.onreadystatechange = function() { 
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
					document.getElementById("cc").innerHTML = XMLHttpRequestObject.responseText;
				}
			} 
			XMLHttpRequestObject.send(null); 
		}
	}
}

function error_check() {

	var disable_button = false;
	
	//Check Login Fields
	if ( document.getElementById("email").value != '' ) {
		document.getElementById("email").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("email").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("password").value != '' ) {
		document.getElementById("password").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("password").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("verify_input").style.visibility != 'hidden' ) {

		if ( document.getElementById("verify").value === document.getElementById("password").value ) {
			document.getElementById("verify").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
		} else {
			document.getElementById("verify").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
			disable_button = true;
		}
		
	}

	//Check Address Info
	if ( document.getElementById("address_line_one").value != '' ) {
		document.getElementById("address_line_one").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("address_line_one").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("address_line_two").value != '' ) {
		document.getElementById("address_line_two").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("address_line_two").style.backgroundImage = 'none'; 
	}

	if ( document.getElementById("city").value != '' ) {
		document.getElementById("city").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("city").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("country").value != '' ) {
		document.getElementById("country").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("country").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("state_province").value != '' ) {
		document.getElementById("state_province").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("state_province").style.backgroundImage = ''; 
	}

	if ( document.getElementById("postal_code").value != '' ) {
		document.getElementById("postal_code").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("postal_code").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("phone_number").value != '' ) {
		document.getElementById("phone_number").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("phone_number").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	function check_shipping() {
        var radios = document.getElementsByName("shipping_type_radio");
		var checked = false;
        for (i = 0; i < radios.length; i++) {
            if (radios[i].checked) {
				document.getElementById("shipping_choice").value = radios[i].value
				checked = true;
			}
        }
		return checked;
    }

	//Check Shipping Info
	if ( check_shipping() == true ) {
		document.getElementById("shipping_message").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("shipping_message").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	//Check CC Info

	if ( document.getElementById("cc_name_on_card").value != '' && document.getElementById("cc_number").value != '' && document.getElementById("cc_type").value != ''  && document.getElementById("cc_exp_year").value != ''  && document.getElementById("cc_exp_month").value != '' ) {

		if ( checkCreditCard (document.getElementById("cc_number").value, document.getElementById("cc_type").value) == false ) {
			document.getElementById("cc_number").style.backgroundImage = 'url(images/png/shared/delete.png)';
			document.getElementById("complete_order").disabled=true;
			alert(ccErrors[ccErrorNo]);
			disable_button = true;
		}

	}

	if ( document.getElementById("cc_name_on_card").value != '' ) {
		document.getElementById("cc_name_on_card").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_name_on_card").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("cc_type").value != '' ) {
		document.getElementById("cc_type").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_type").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("cc_number").value != '' ) {
		document.getElementById("cc_number").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_number").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("cc_cvc").value != '' ) {
		document.getElementById("cc_cvc").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_cvc").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
	}

	if ( document.getElementById("cc_exp_month").value != '' ) {
		document.getElementById("cc_exp_month").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_exp_month").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("cc_exp_year").value != '' ) {
		document.getElementById("cc_exp_year").style.backgroundImage = 'url(images/png/shared/edit.png)'; 
	} else {
		document.getElementById("cc_exp_year").style.backgroundImage = 'url(images/png/shared/pencil.png)'; 
		disable_button = true;
	}

	if ( document.getElementById("cc_exp_year").value != '' && document.getElementById("cc_exp_month").value != '' ) {
	
		var cc_exp_year = document.getElementById("cc_exp_year").value;
		var cc_exp_month = document.getElementById("cc_exp_month").value;
		var cc_exp_day = daysInMonth( cc_exp_year, cc_exp_month );
		var cc_date = new Date();
		cc_date.setFullYear(cc_exp_year, cc_exp_month, cc_exp_day);
		var today = new Date();
		if (cc_date<today) {
			document.getElementById("cc_exp_month").style.backgroundImage = 'url(images/png/shared/delete.png)'; 
			document.getElementById("cc_exp_year").style.backgroundImage = 'url(images/png/shared/delete.png)'; 
			alert( "Credit Card Has Expired. " . toString(cc_date) );
			disable_button = true;
		}
	}

	if ( disable_button == true ) {
		document.getElementById("complete_order").disabled=true;
	} else {
		document.getElementById("complete_order").disabled=false;
	}

}


function daysInMonth(year, month) {
	var dd = new Date(year, month-1, 1);
	return dd.getDate()-1;
}

function complete_order() {

	var vars = 'address_line_one=' + document.getElementById("address_line_one").value;
	vars += '&address_line_two=' + document.getElementById("address_line_two").value;
	vars += '&city=' + document.getElementById("city").value;
	vars += '&state_province=' + document.getElementById("state_province").value;
	vars += '&country=' + document.getElementById("country").value;
	vars += '&postal_code=' + document.getElementById("postal_code").value;
	vars += '&phone_number=' + document.getElementById("phone_number").value;
	vars += '&shipping_type=' + document.getElementById("shipping_choice").value;
//vars += '&estimated_shipping=' + document.getElementById("shipping_price").value;
	vars += '&cc_name_on_card=' + document.getElementById("cc_name_on_card").value;
	vars += '&cc_type=' + document.getElementById("cc_type").value;
	vars += '&cc_number=' + document.getElementById("cc_number").value;
	vars += '&cc_cvc=' + document.getElementById("cc_cvc").value;
	vars += '&cc_exp_month=' + document.getElementById("cc_exp_month").value;
	vars += '&cc_exp_year=' + document.getElementById("cc_exp_year").value;
	vars += '&email=' + document.getElementById("email").value;
	vars += '&password=' + hex_md5(document.getElementById("password").value);
	vars += '&session_id=' + get_cookie('PHPSESSID');
	vars += '&quoted_total=' + document.getElementById('grand_total_price').innerHTML;
	vars += '&subscribe=' + document.getElementById('subscribe').value;
	vars += '&shipping_materials=' + document.getElementById('shipping_materials').value;
	var XMLHttpRequestObject = false;

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {

		XMLHttpRequestObject.open("GET", 'complete_order.php?' + vars); 
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				var order_id = "http://international.winehouse.com/order_recap.php?i=" + (XMLHttpRequestObject.responseText*1);

				order_id = order_id.replace("%0A%09", '');
				if ( XMLHttpRequestObject.responseText > 0 ) {
					window.location = order_id;
				}

			} 
		} 
		XMLHttpRequestObject.send(null); 
	}

}