function checkCard() {
	var card_name = '';
	var card_number = '';
	var card_code = '';
	var error = '';
	if (document.getElementById('name_on_card').value == '') error = 'error';
	if (document.getElementById('card_number').value == '') error = 'error';
	if (document.getElementById('securitycode').value == '') error = 'error';	
	if (document.getElementById('card_number').value.length < 16) error = 'carderror';
	if (document.getElementById('securitycode').value.length < 3) error = 'scarderror';
	
if (error == 'error') {
		alert('You must enter all the card information');
		return false;
} else if (error == 'carderror') {
		alert('Invalid card number');
		return false;
} else if (error == 'scarderror') {
		alert('Invalid security number');
		return false;
} else return true;
}

function digitsOnly(formID, e) {
if (!e) e=window.event;  // Block the user of digits. 
	var code;
	if ((e.charCode) && (e.keyCode==0))
		code = e.charCode
  else 
		code = e.keyCode;
	if ((code == 37) || (code == 39) || (code == 46) || (code == 8) || (code == 9)) {
		return (code);
	} 	else {
		return	((code >= 48) && (code <= 57));
	}		
}

function MonitorKeyPress2(formID, e) {
  if (!e) e=window.event;  // Block the user of digits. 
	var code;
	if ((e.charCode) && (e.keyCode==0))
		code = e.charCode
  else 
		code = e.keyCode;
	var postalcode = document.getElementById(formID);
	// first check if pressing control keys - if so let them through

	if ((code == 37) || (code == 39) || (code == 46) || (code == 8)) { return (code) }
	else {
		if (postalcode.value.length == 0) {  
			if (code >= 97) {code = code - 32;}
			return ((code >= 65) && (code <= 90));
		} else if (postalcode.value.length == 1) {  
			return	((code >= 48) && (code <= 57));			
		} else if (postalcode.value.length == 2) {  		
			if (code >= 97) {code = code - 32;}
			return ((code >= 65) && (code <= 90));
		} else if (postalcode.value.length == 3) {  		
			return (code == 32);
		} else if (postalcode.value.length == 4) {  		
			return	((code >= 48) && (code <= 57));			
		} else if (postalcode.value.length == 5) {  		
			if (code >= 97) {code = code - 32;}
			return ((code >= 65) && (code <= 90));
		} else if (postalcode.value.length == 6) {  		
			return	((code >= 48) && (code <= 57));			
		} 
	}
}

function checkRegister() {
	var last_name = '';
	var first_name = '';
	var password = '';
	var email = '';
	var phone = '';
	var ship_address = '';
	var ship_city = '';
	var ship_zip = '';
	var sc = '';
	var terms = '';
	
	/*var inputs = document.getElementsByTagName("input");
    var end = inputs.length;
	
	for (i=0; i < end - 6; i++) {
			inputs[i].style.border = '1px solid #ABADB3';
	}*/
		
	terms = 	checkTerms('terms','c-fv11','c-fr11');
	sc = 	checkCode('sc','c-fv10','c-fr10');
	
	phone 		= 	checkPhone('phone','c-fv6','c-fr6');
	ship_zip 		= 	checkFilled('ship_zip','c-fv2','c-fr2');
	ship_city 		= 	checkFilled('ship_city','c-fv3','c-fr3');
	ship_address 	= 	checkFilled('ship_address','c-fv1','c-fr1');
	last_name 	=	checkFilled('last_name','b-fv2','b-fr2');
	first_name =	checkFilled('first_name','b-fv1','b-fr1');
	
	password 	=	checkFilled('password','a-fv3','a-fr3');
	email 	=	validateEmail('email','a-fv2','a-fr2');
	
	errors = email + password + first_name + last_name + phone +  ship_city + ship_address + ship_zip + sc + terms;
	
	if (errors == '') {
	return true;
	} else {
		alert('Please fill in all required fields');
		return false;
	}		
}

function checkEdits() {
	var last_name = '';
	var first_name = '';
	var password = '';
	var phone = '';
	var ship_address = '';
	var bill_address = '';	
	var ship_city = '';
	var bill_city = '';
	var ship_zip = '';
	var bill_zip = '';
	
	phone 		= 	checkPhone('phone','c-fv6','c-fr6');
	ship_zip 		= 	checkFilled('ship_zip','c-fv2','c-fr2');
	ship_city 		= 	checkFilled('ship_city','c-fv3','c-fr3');
	ship_address 	= 	checkFilled('ship_address','c-fv1','c-fr1');
	last_name 	=	checkFilled('last_name','b-fv2','b-fr2');
	first_name =	checkFilled('first_name','b-fv1','b-fr1');
	bill_zip 		= 	checkFilled('bill_zip','c-fv12','c-fr12');
	bill_city 		= 	checkFilled('bill_city','c-fv11','c-fr11');
	bill_address 	= 	checkFilled('bill_address','c-fv10','c-fr10');
	
	password 	=	checkFilled('password','a-fv3','a-fr3');

	errors = password + first_name + last_name + phone +  ship_city + ship_address + ship_zip + bill_city + bill_address + bill_zip;
	
	if (errors == '') {
	return true;
	} else {
		alert('Please fill in all required fields');
		return false;
	}		
}

function checkOrder() {
	var contact_name = '';
	var email = '';
	var phone = '';
	var phrase = '';
	var width = '';	
	var height = '';

	contact_name =	checkFilled('contact_name','b-fv1','b-fr1');
	email =	checkFilled('email','b-fv2','b-fr2');
	phone =	checkFilled('phone','b-fv3','b-fr3');
	phrase =	checkFilled('phrase','b-fv4','b-fr4');
	width =	checkFilled('width','b-fv5','b-fr5');
	height =	checkFilled('height','b-fv6','b-fr6');
	
	errors = contact_name + email + phone +  phrase + width + height;
	
	if (errors == '') {
	return true;
	} else {
		alert('Please fill in all required fields');
		return false;
	}		
}

function hilight(rowID) {
	var row = document.getElementById(rowID);
	row.style.backgroundColor = '#EEEEEE';
 	return;
}
function lowlight(rowID) {
	var row = document.getElementById(rowID);
	row.style.backgroundColor = '#FFFFFF';
 	return;
}
function checkFilled(formID, validateID, rowID) {
	var error="";
	var validate = document.getElementById(validateID);
	var form = document.getElementById(formID);
	var row = document.getElementById(rowID);
	if (form.value == 0) {
	   	error = 'This is a required field';
	   	form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
	   	validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
	   	return error;
	} else {
		form.style.border = '1px solid #7BC94B';
		row.style.backgroundColor = '#FFFFFF';
	   	validate.style.backgroundImage = 'url(_register/form_valid.gif)';
		validate.innerHTML = '';
		return error;
	}
}

function checkTerms(formID, validateID, rowID) {
	var error="";
	var validate = document.getElementById(validateID);
	var form = document.getElementById(formID);
	var row = document.getElementById(rowID);
	row.style.backgroundColor = '#FFFFFF';
	if (form.checked == false) {
	   	error = 'Must be agreed to';
	   	form.style.border = '1px solid red';
	   	validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
	   	return error;
	} else {
		form.style.border = '1px solid #7BC94B';
	   	validate.style.backgroundImage = 'url(_register/form_valid.gif)';
		validate.innerHTML = '';
		return error;
	}
}
/* Basic validate email format function

function checkEmail(formID, validateID, rowID) {
	var error="";
	var validate = document.getElementById(validateID);
	var form = document.getElementById(formID);
	var row = document.getElementById(rowID);
	if (form.value <= 0) {
	   	error = "Please enter an email address";
	   	form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
	   	validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
	   	return error;
	}
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(form.value))) { 
	   	error = "Not a valid format";
	   	form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
	   	validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
	   	return error;
	} else {
	//test email for illegal characters
	   	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
		if (form.value.match(illegalChars)) {
			error = "Contains illegal characters";
			form.style.border = '1px solid red';
			row.style.backgroundColor = '#FFFFFF';
			validate.style.backgroundImage = 'url(_register/form_error.gif)';
			validate.innerHTML = error;
			return error;
	   }
	}
	form.style.border = '1px solid #7BC94B';
	row.style.backgroundColor = '#FFFFFF';
	validate.style.backgroundImage = 'url(_register/form_valid.gif)';
	validate.innerHTML = '';
	return error;   
}*/

//check to see if the email exists in the database function (Ajax version)
function validateEmail(formID, validateID, rowID) {	
	var error = '';								 
	document.getElementById(rowID).style.backgroundColor = '#FFFFFF';
	//remove all the class add the messagebox classes and start fading
	$('#'+validateID).removeClass().addClass('form_validate').text('Checking database...').fadeIn("slow");
	//check the username exists or not from ajax
	$.post("_register/ajax_check.php",{ email:$('#'+formID).val() } ,function(data) {
		
		if(data=='blank') {
			error = 'Please enter email address';
			document.getElementById(formID).style.border = '1px solid red';
			$('#'+validateID).fadeTo(200,0.1,function() { 
				//add message and change the class of the box and start fading
				$(this).html(error).addClass('messageboxerror').fadeTo(900,1);
			});
			return error;
		} else if(data=='invalid') { //if username not available
			error = 'Email is not valid format';
			document.getElementById(formID).style.border = '1px solid red';
			$('#'+validateID).fadeTo(200,0.1,function() { 
				//add message and change the class of the box and start fading
				$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
			});
			return error;
		} else if(data=='taken') { //if username not available
			error = 'Email exists in database';
			document.getElementById(formID).style.border = '1px solid red';
			$('#'+validateID).fadeTo(200,0.1,function() { 
				//add message and change the class of the box and start fading
				$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
			});
			return error;
		} else {
			error = '';
			document.getElementById(formID).style.border = '1px solid #7BC94B';
			$('#'+validateID).fadeTo(200,0.1,function() { //start fading the messagebox
				//add message and change the class of the box and start fading
				$(this).html(error).addClass('messageboxok').fadeTo(900,1);
			});
			return error;
		}
			
	});
	return error;
}


function checkPassword(formID, validateID, rowID) {
	var error='';
	var validate = document.getElementById(validateID);
	var form = document.getElementById(formID);
	var row = document.getElementById(rowID);
	if (form.value <= 0) {
	   	error = "Please enter a password";
	   	form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
		validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
		return error;
	}
	
	var illegalChars = /[\W_]/; // allow only letters and numbers
	if (form.value.length < 6) {
		error = "Must be 6 or more characters";
		form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
		validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
		return error;
	} else if (illegalChars.test(form.value)) {
		error = "Contains illegal characters";
		form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
		validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
		return error;
	}
	form.style.border = '1px solid #7BC94B';
	row.style.backgroundColor = '#FFFFFF';
	validate.style.backgroundImage = 'url(_register/form_valid.gif)';
	validate.innerHTML = '';
	return error;   
} 

function checkPhone(formID, validateID, rowID) {
	var error = "";
	var validate = document.getElementById(validateID);
	var form = document.getElementById(formID);
	var row = document.getElementById(rowID);
	if (form.value <= 0) {
		error = "Please enter a phone number";
		form.style.border = '1px solid red';
		row.style.backgroundColor = '#FFFFFF';
		validate.style.backgroundImage = 'url(_register/form_error.gif)';
		validate.innerHTML = error;
		return error;
	}
	
	var stripped = form.value.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
		if (!(stripped.length >= 10)) {
			error = "Must be at least 10 numbers";
			form.style.border = '1px solid red';
			row.style.backgroundColor = '#FFFFFF';
			validate.style.backgroundImage = 'url(_register/form_error.gif)';
			validate.innerHTML = error;
			return error;
		} 
	form.style.border = '1px solid #7BC94B';
	row.style.backgroundColor = '#FFFFFF';
	validate.style.backgroundImage = 'url(_register/form_valid.gif)';
	validate.innerHTML = '';
	return error;   
}  
function checkCode(formID, validateID, rowID) {
	var error = '';
	document.getElementById(rowID).style.backgroundColor = '#FFFFFF';
			
			//remove all the class add the messagebox classes and start fading
			$('#'+validateID).removeClass().addClass('form_validate').text('Checking database...').fadeIn("slow");
			//check the username exists or not from ajax
			$.post("_register/ajax_check.php",{ checkcode:$('#'+formID).val() } ,function(data) {
			  	
				if(data=='blank') {
					document.getElementById(formID).style.border = '1px solid red';
				  	$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html('Please enter verification code').addClass('messageboxerror').fadeTo(900,1);
			  		});
				
				} else if(data=='invalid') { //if username not available
					document.getElementById(formID).style.border = '1px solid red';
					$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html('Verification code is incorrect').addClass('messageboxerror').fadeTo(900,1);  
					});
					
			  	} else {
					document.getElementById(formID).style.border = '1px solid #7BC94B';
					$('#'+validateID).fadeTo(200,0.1,function() { //start fading the messagebox
				  		//add message and change the class of the box and start fading
				  		$(this).html('').addClass('messageboxok').fadeTo(900,1);
					});
			  	}
					
			});
			return error;
		}
		
//check to see if the email exists in the database
function checkEmail(formID, validateID, rowID) {	
			var error = '';						 
			document.getElementById(rowID).style.backgroundColor = '#FFFFFF';
			
			//remove all the class add the messagebox classes and start fading
			$('#'+validateID).removeClass().addClass('form_validate').text('Checking database...').fadeIn("slow");
			//check the username exists or not from ajax
			$.post("_register/ajax_check.php",{ check_email:$('#'+formID).val() } ,function(data) {
			  	
				if(data=='blank') {
					error = 'Please enter email address';
					document.getElementById(formID).style.border = '1px solid red';
				  	$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);
			  		});
				
				} else if(data=='invalid') { //if username not available
					error = 'Email is not valid format';
					document.getElementById(formID).style.border = '1px solid red';
					$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
					});
					
				} else if(data=='taken') { //if username not available
					error = 'Email exists in database';
					document.getElementById(formID).style.border = '1px solid red';
					$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
					});
					
			  	} else {
					error = '';
					document.getElementById(formID).style.border = '1px solid #7BC94B';
					$('#'+validateID).fadeTo(200,0.1,function() { //start fading the messagebox
				  		//add message and change the class of the box and start fading
				  		$(this).html(error).addClass('messageboxok').fadeTo(900,1);
					});
			  	}
					
			});
			return error;
		}

//check to see if the username exists in the database
function validateUsername(formID, validateID, rowID) {	
			var error = '';						 
			document.getElementById(rowID).style.backgroundColor = '#FFFFFF';
			
			//remove all the class add the messagebox classes and start fading
			$('#'+validateID).removeClass().addClass('form_validate').text('Checking database...').fadeIn("slow");
			//check the username exists or not from ajax
			$.post("_register/ajax_check.php",{ username:$('#'+formID).val() } ,function(data) {
			  	
				if(data=='blank') {
					error = 'Please enter a username';
					document.getElementById(formID).style.border = '1px solid red';
				  	$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);
			  		});
				} else if(data=='invalid') { //if username not available
					error = 'Username not a valid format';
					document.getElementById(formID).style.border = '1px solid red';
					$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
					});
				} else if(data=='taken') { //if username not available
					error = 'Username exists in database';
					document.getElementById(formID).style.border = '1px solid red';
					$('#'+validateID).fadeTo(200,0.1,function() { 
					  	//add message and change the class of the box and start fading
					  	$(this).html(error).addClass('messageboxerror').fadeTo(900,1);  
					});
			  	} else {
					error = '';
					document.getElementById(formID).style.border = '1px solid #7BC94B';
					$('#'+validateID).fadeTo(200,0.1,function() { //start fading the messagebox
				  		//add message and change the class of the box and start fading
				  		$(this).html(error).addClass('messageboxok').fadeTo(900,1);
					});
			  	}	
			});
			return error;
		}
		
function changeFontSample() {
	var selectedFont = document.getElementById('font').value;
	document.getElementById('sample_font').style.backgroundImage = 'url(_fonts/' + selectedFont + ')';	
	return;
}

function swapCountry() {
	var country = document.getElementById('ship_country').value;
	var optionlist = '';
if (country == 'CA') {
		optionlist = "<select name='ship_state' id='ship_state' onfocus='hilight(&quot;fr6&quot;)' onblur='checkFilled(&quot;ship_state&quot;,&quot;fv4&quot;,&quot;fr4&quot;)'>";
		optionlist = optionlist + "<option value='AB'>Alberta</option>";
		optionlist = optionlist + "<option value='BC'>British Columbia</option>";
		optionlist = optionlist + "<option value='MB'>Manitoba</option>";
		optionlist = optionlist + "<option value='NB'>New Brunswick</option>";
		optionlist = optionlist + "<option value='NL'>Newfoundland / Labrador</option>";
		optionlist = optionlist + "<option value='NT'>Northwest Territories</option>";
		optionlist = optionlist + "<option value='NS'>Nova Scotia</option>";
		optionlist = optionlist + "<option value='NU'>Nunavut</option>";
		optionlist = optionlist + "<option value='ON'>Ontario</option>";
		optionlist = optionlist + "<option value='PE'>Prince Edward Island</option>";
		optionlist = optionlist + "<option value='QC'>Quebec</option>";
		optionlist = optionlist + "<option value='SK'>Saskatchewan</option>";
		optionlist = optionlist + "<option value='YT'>Yukon</option>";
		optionlist = optionlist + "</select>";		
		document.getElementById('option_list').innerHTML = optionlist;
} else if (country == 'US') {
		optionlist = "<select name='ship_state' id='ship_state' onfocus='hilight(&quot;fr4&quot;)' onblur='checkFilled(&quot;ship_state&quot;,&quot;fv4&quot;,&quot;fr4&quot;)'>";
		optionlist = optionlist + "<option value='AL'>Alabama</option>";		
		optionlist = optionlist + "<option value='AK'>Alaska</option>";		
		optionlist = optionlist + "<option value='AZ'>Arizona</option>";		
		optionlist = optionlist + "<option value='AR'>Arkansas</option>";		
		optionlist = optionlist + "<option value='CA'>California</option>";		
		optionlist = optionlist + "<option value='CO'>Colorado</option>";		
		optionlist = optionlist + "<option value='CT'>Connecticut</option>";		
		optionlist = optionlist + "<option value='DE'>Delaware</option>";		
		optionlist = optionlist + "<option value='FL'>Florida</option>";		
		optionlist = optionlist + "<option value='GA'>Georgia</option>";		
		optionlist = optionlist + "<option value='HI'>Hawaii</option>";		
		optionlist = optionlist + "<option value='ID'>Idaho</option>";		
		optionlist = optionlist + "<option value='IL'>Illinois</option>";		
		optionlist = optionlist + "<option value='IN'>Indiana</option>";		
		optionlist = optionlist + "<option value='IA'>Iowa</option>";		
		optionlist = optionlist + "<option value='KS'>Kansas</option>";		
		optionlist = optionlist + "<option value='KY'>Kentucky</option>";		
		optionlist = optionlist + "<option value='LA'>Louisiana</option>";		
		optionlist = optionlist + "<option value='ME'>Maine</option>";		
		optionlist = optionlist + "<option value='MD'>Maryland</option>";		
		optionlist = optionlist + "<option value='MA'>Massachusetts</option>";		
		optionlist = optionlist + "<option value='MI'>Michigan</option>";		
		optionlist = optionlist + "<option value='MN'>Minnesota</option>";		
		optionlist = optionlist + "<option value='MS'>Mississippi</option>";		
		optionlist = optionlist + "<option value='MO'>Missouri</option>";		
		optionlist = optionlist + "<option value='MT'>Montana</option>";		
		optionlist = optionlist + "<option value='NE'>Nebraska</option>";		
		optionlist = optionlist + "<option value='NV'>Nevada</option>";		
		optionlist = optionlist + "<option value='NH'>New Hampshire</option>";		
		optionlist = optionlist + "<option value='NJ'>New Jersey</option>";		
		optionlist = optionlist + "<option value='NM'>New Mexico</option>";		
		optionlist = optionlist + "<option value='NY'>New York</option>";		
		optionlist = optionlist + "<option value='NC'>North Carolina</option>";		
		optionlist = optionlist + "<option value='ND'>North Dakota</option>";		
		optionlist = optionlist + "<option value='OH'>Ohio</option>";		
		optionlist = optionlist + "<option value='OK'>Oklahoma</option>";		
		optionlist = optionlist + "<option value='OR'>Oregon</option>";		
		optionlist = optionlist + "<option value='PA'>Pennsylvania</option>";		
		optionlist = optionlist + "<option value='RI'>Rhode Island</option>";		
		optionlist = optionlist + "<option value='SC'>South Carolina</option>";		
		optionlist = optionlist + "<option value='SD'>South Dakota</option>";		
		optionlist = optionlist + "<option value='TN'>Tennessee</option>";		
		optionlist = optionlist + "<option value='TX'>Texas</option>";		
		optionlist = optionlist + "<option value='UT'>Utah</option>";		
		optionlist = optionlist + "<option value='VT'>Vermont</option>";		
		optionlist = optionlist + "<option value='VA'>Virginia</option>";		
		optionlist = optionlist + "<option value='WA'>Washington</option>";		
		optionlist = optionlist + "<option value='DC'>Washington DC</option>";		
		optionlist = optionlist + "<option value='WV'>West Virginia</option>";		
		optionlist = optionlist + "<option value='WI'>Wisconsin</option>";		
		optionlist = optionlist + "<option value='WY'>Wyoming</option>";		
		optionlist = optionlist + "</select>";		
		document.getElementById('option_list').innerHTML = optionlist;
}
}		
		
