//------------------------------------------------------------------------------

var noContent = '';
var liveReq = false;
var liveReqLast = '';
var liveReqDestination = '';

if (window.XMLHttpRequest) {
	liveReq = new XMLHttpRequest();
	if (liveReq.overrideMimeType) {
		liveReq.overrideMimeType('text/xhtml; charset=iso-8859-1');
	}
}

function loadContent(destination, uri) {
	
	liveReqDestination = destination;

	if (liveReqLast != liveReqDestination && liveReqDestination != '') {
	
		if (window.XMLHttpRequest) {
			liveReq = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			liveReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
	
		liveReq.onreadystatechange = liveReqProcessReqChange;
		liveReq.open('GET', uri);
		liveReq.send(null);

	}

}

function liveReqProcessReqChange() {

	if (liveReq.readyState == 4) {
		document.getElementById(liveReqDestination).innerHTML = liveReq.responseText;
	}
}


function showContentBlock(showID, blocksTotal) {

	for(i=0; i<blocksTotal; i++)
		document.getElementById('contentBlock'+i).style.display = 'none';
	document.getElementById('contentBlock'+showID).style.display = 'block';

}


function checkEmail(emailAddress) {

	var str = emailAddress;
	if ((str.indexOf(".") > 0) && (str.indexOf("@") > 0) == true) {
		return true;
	} else {
		//window.alert('Please enter a valid email address');
		return false;
	}
}


function copyAddress() {

	document.addressForm.d_first_name.value = 
		document.addressForm.b_first_name.value;
	document.addressForm.d_last_name.value = 
		document.addressForm.b_last_name.value;
	document.addressForm.d_company.value = 
		document.addressForm.b_company.value;
	document.addressForm.d_address1.value = 
		document.addressForm.b_address1.value;
	document.addressForm.d_address2.value = 
		document.addressForm.b_address2.value;
	document.addressForm.d_town.value = 
		document.addressForm.b_town.value;
	document.addressForm.d_county.value = 
		document.addressForm.b_county.value;
	document.addressForm.d_postcode.value = 
		document.addressForm.b_postcode.value;
	document.addressForm.d_country.value = 
		document.addressForm.b_country.value;
	document.addressForm.d_phone.value = 
		document.addressForm.b_phone.value;
	
	document.addressForm.d_first_name.readOnly = true;
	document.addressForm.d_last_name.readOnly = true;
	document.addressForm.d_company.readOnly = true;
	document.addressForm.d_address1.readOnly = true;
	document.addressForm.d_address2.readOnly = true;
	document.addressForm.d_town.readOnly = true;
	document.addressForm.d_county.readOnly = true;
	document.addressForm.d_postcode.readOnly = true;
	document.addressForm.d_country.readOnly = true;
	document.addressForm.d_phone.readOnly = true;

}

function clearAddress() {

	document.addressForm.d_first_name.value = '';
	document.addressForm.d_last_name.value = '';
	document.addressForm.d_company.value = '';
	document.addressForm.d_address1.value = '';
	document.addressForm.d_address2.value = '';
	document.addressForm.d_town.value = '';
	document.addressForm.d_county.value = '';
	document.addressForm.d_postcode.value = '';
	document.addressForm.d_country.value = '';
	document.addressForm.d_phone.value = '';
	
	document.addressForm.d_first_name.readOnly = false;
	document.addressForm.d_last_name.readOnly = false;
	document.addressForm.d_company.readOnly = false;
	document.addressForm.d_address1.readOnly = false;
	document.addressForm.d_address2.readOnly = false;
	document.addressForm.d_town.readOnly = false;
	document.addressForm.d_county.readOnly = false;
	document.addressForm.d_postcode.readOnly = false;
	document.addressForm.d_country.readOnly = false;
	document.addressForm.d_phone.readOnly = false;

}


function checkAddressForm() {

	errors = '';

	if (document.addressForm.b_first_name.value == '')
		errors += 'Billing: First Name\n';
	if (document.addressForm.b_last_name.value == '')
		errors += 'Billing: Last Name\n';
	if (document.addressForm.b_address1.value == '')
		errors += 'Billing: Address Line 1\n';
/*	if (document.addressForm.b_address2.value == '')
		errors += 'Billing: Address Line 2\n';*/
	if (document.addressForm.b_town.value == '')
		errors += 'Billing: Town/City\n';
	if (document.addressForm.b_postcode.value == '')
		errors += 'Billing: Zip/Postcode\n';
	if (document.addressForm.b_country.value == '')
		errors += 'Billing: Country\n';
	if (document.addressForm.b_phone.value == '')
		errors += 'Billing: Telephone No.\n';

	if (document.addressForm.deliverySame.checked == true) {

		copyAddress();

	} else if (document.addressForm.billingOnly.value != 1) {

		if (document.addressForm.d_first_name.value == '')
			errors += 'Delivery: First Name\n';
		if (document.addressForm.d_last_name.value == '')
			errors += 'Delivery: Last Name\n';
		if (document.addressForm.d_address1.value == '')
			errors += 'Delivery: Address Line 1\n';
/*		if (document.addressForm.d_address2.value == '')
			errors += 'Delivery: Address Line 2\n';*/
		if (document.addressForm.d_town.value == '')
			errors += 'Delivery: Town/City\n';
		if (document.addressForm.d_postcode.value == '')
			errors += 'Delivery: Zip/Postcode\n';
		if (document.addressForm.d_country.value == '')
			errors += 'Delivery: Country\n';
		if (document.addressForm.d_phone.value == '')
			errors += 'Delivery: Telephone No.\n';
	}

	if (errors != '') {
		window.alert('Please complete the following:\n'+errors);
		return false;
	} else {
		return true;
	}

}

function checkPaymentMethod() {

	errors = '';

	if (document.addressForm.p_card_type.value == '')
		errors += 'Payment: Card Type\n';

	if (document.addressForm.p_cardholder_name.value == '')
		errors += 'Payment: Cardholder\'s Name\n';
	if (document.addressForm.p_card_number.value == '')
		errors += 'Payment: Card Number\n';
	if (document.addressForm.p_expiry_month.value == '' || document.addressForm.p_expiry_year.value == '')
		errors += 'Payment: Expiry Date\n';

	if (document.addressForm.p_cvs.value == '')
		errors += 'Payment: CVS No\n';
	
	// check for start date or issue # if card type is maestro
	
	if (document.addressForm.p_card_type.value == 'Maestro/Switch') {
		
		if ((document.addressForm.p_start_month.value == '' || 	
			document.addressForm.p_start_year.value == '') &&
		document.addressForm.p_issue.value == '')
			errors += 'Payment: Start Date or Issue No\n';

	} else {

		document.addressForm.p_start_month.value = '';
		document.addressForm.p_start_year.value = '';
		document.addressForm.p_issue.value = '';
	
	}
			
	if (errors != '') {
		window.alert('Please complete the following:\n'+errors);
		return false;
	} else {
		return true;
	}

}


function toggleDelivery() {
	
	currentState = document.getElementById('deliveryTable').style.display;
	if (currentState == 'block')
		currentState = 'none';
	else
		currentState = 'block';
	document.getElementById('deliveryTable').style.display = currentState;

}
