/* $Id$ */

// if we don't want to validate a form do this to the button onclick='validate_form=false'
var validate_form = true;

// content popup
function cpop(url, width, height) {
	
	window.open(
		/* url     */ "/popup/content/url/" + url, 
		/* name    */ "", 
		/* options */ "width=" + width + ",height=" + height + ",scrollbars,resizable"
	);
	return false;
	
}

// image only popup
function ipop(img, width, height) {

	window.open(
		/* url     */ "/popup/image?filename=" + img, 
		/* name    */ "", 
		/* options */ "width=" + (width+30) + ",height=" + (height+30) + ",scrollbars,resizable"
	);
	return false;

}

// product images popup
// the maximum dimenions of an image is 450x550
function ppop(style, type, colour) {

	if(current_colour) colour = current_colour;
	
	window.open(
		/* url     */ "/popup/product?style=" + style + "&type=" + type + "&colour=" + colour, 
		/* name    */ "",
		/* options */ "width=720,height=570,scrollbars,resizable"
	);
	return false;
	
}

function do_validation(form, fields) {

	var msg = '';
	
	for(index in fields) {
		if(form.elements[index].value == '') {
			msg += ' - ' + fields[index] + '\n';
		}
		
	}
	
	if(msg) {
		window.alert("Please complete the following fields:\n" + msg);
		return false;
	}
	else {
		return true;
	}
	
}

function validate_catalogueform(form) {
	
	if(!validate_form) return true;
	
	var fields = {
		'name' : 'Your name',
		'email' : 'Your email',
		'address_1' : 'Address',
		'town_suburb' : 'Town/Suburb'
	}

	if(form.elements['state']) {
		fields['state'] = 'State';
	}
		
	return do_validation(form, fields);
	
}

function validate_checkout(form) {

	if(!validate_form) return true;
	
	var fields = {
		'full_name' : 'Full name',
		'address1' : 'Address',
		'address3' : 'City/Town'
	}
	if(form.elements['address4']) {
		fields['address4'] = 'State';
	}

		fields['phone'] = 'Phone Number';
		fields['post_code'] = 'Post code';
	
	if(form.elements['card_name']) {
		fields['card_name'] = 'Credit cardholder\'s name';
		fields['card_number'] = 'Credit card number';
	}

	return do_validation(form, fields);
	
}

function validate_contactform(form) {
	
	if(!validate_form) return true;
	
	var fields = {
		'name' : 'Your name',
		'email' : 'Your email',
		'comments' : 'Your comments'
	}
	
	return do_validation(form, fields);
	
}

function validate_password(form) {
	
	if(!validate_form) return true;
	
	var fields = {
		'current' : 'current password',
		'new' : 'new password',
		'confirm' : 'confirm new password'
	}
	
	var ok = do_validation(form, fields);
	
	if(ok) {
		if(form.elements['new'].value.length < 6) {
			window.alert("Please enter at least 6 letters and/or numbers for your new password.");
			ok = false;
		}
		else if(form.elements['new'].value != form.elements['confirm'].value) {
			window.alert("The new password and confirmation do not match.\nPlease check and try again.");
			ok = false;
		}
	}
	
	return ok;
	
}

function validate_userform(form) {
	
	if(!validate_form) return true;
	
	if(form.elements['address4']) {
		
		var fields = {
			'first_name' : 'First name',
			'last_name' : 'Last name',
			'address1' : 'Address',
			'address3' : 'City/Town',
			'address4' : 'State',
			'phone' : 'Phone',
			'email_address' : 'Email address'
		}

	}
	else {
	
		var fields = {
			'first_name' : 'First name',
			'last_name' : 'Last name',
			'address1' : 'Address',
			'address3' : 'City/Town',
			'phone' : 'Phone',
			'email_address' : 'Email address'
		}

	}

	if(form.elements['password']) {
		fields['password'] = 'Password';
		fields['password_confirm'] = 'Confirm password';
	}
	
	var ok = do_validation(form, fields);
	
	if(ok && form.elements['password']) {
		if(form.elements['password'].value.length < 6) {
			window.alert("Please enter at least 6 letters and/or numbers for your password.");
			ok = false;
		}
		else if(form.elements['password'].value != form.elements['password_confirm'].value) {
			window.alert("The password and confirmation do not match.\nPlease check and try again.");
			ok = false;
		}
	}
	
	return ok;
	
}

function summer08() {
		
	window.open('/gallery/index.html', 'summer08', 'width=743,height=630,scrollbars=noresize=no');
	
}

function launchPdf(){
		
	window.open('/docs/BabyEssentialsGuide.pdf', '', 'width=743,height=630,scrollbars=yesresize=yes');
	
}

function updateRegion(label) {
	window.alert(get_regions(label));
	
	
}
function validateAddress1(value) {
	var re = /((P\.?\s*O\.?\s*(B\.?\s*)?(\s*Box)?)|(R\.?\s*P\.?\s*(N\.?\s*)?)|(Post\s*Office(\s*Box)?)|(Private\s*(Bag\s*)?)|(P\.?\s*M\.?\s*(B\.?\s*)?))\s*#?[0-9]+/gi;
 	 	if (value.match(re)) {
 	 	window.alert("We cannot accept "+value+" as our courrier requires a signature on devliery.\n\n Please contact Customer Services (1800 155 255) should you need to discuss further." );
 	}		
}