function validate(form)
{
        if(form == 'contact') {
	            document.getElementById('pic9').style.display='inline'; 
	            document.getElementById('submit').disabled=true;
                var name=document.getElementById("name").value;
                var email=document.getElementById("email").value;
                var message=document.getElementById("message").value;
                var txtNumber=document.getElementById("txtNumber").value;
                var error = "";
                var error2 = "";
                if(name == "") {
                        error += '* Name<br />';
                }
                if(email == "") {
                        error += '* Email address<br />';
                } else {
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(message == "") {
                        error += '* Message<br />';
                }
                if(txtNumber == "") {
                        error += '* Verification Number<br />';
                }

                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic9').style.display='none'; 
                	document.getElementById('submit').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'login') {
	            document.getElementById('pic').style.display='inline'; 
	            document.getElementById('login').disabled=true;
                var email=document.getElementById("login_email").value;
                var password=document.getElementById("login_password1").value;
                var error = "";
                var error2 = "";
                if(email == "") {
                        error += '* Email address<br />';
                } 
                if(email != "") {                
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(password == "") {
                        error += '* Password<br />';
                }
                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('login').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'search') {
	            document.getElementById('pic6').style.display='inline'; 
	            document.getElementById('submitSearch').disabled=true;
                var search_word=document.getElementById("search_word").value;
                var error = "";
                if(search_word == "") {
                        error += '* Search Word or Phrase<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	document.getElementById('pic6').style.display='none'; 
	                	document.getElementById('submitSearch').disabled=false;
	                	// close highslide first
	                	//document.getElementsByTagName("body")[0].removeChild(document.getElementById("reviewOpener"));
                        error = "Please enter the following:-<br />" + error;
	                	alert(error);
                        return false;
                }

        } else if(form == 'search2') {
	            document.getElementById('pic6').style.display='inline'; 
	            document.getElementById('submitSearch2').disabled=true;
                var search_word=document.getElementById("search_word2").value;
                var error = "";
                if(search_word == "") {
                        error += '* Search Word or Phrase<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	document.getElementById('pic6').style.display='none'; 
	                	document.getElementById('submitSearch2').disabled=false;
	                	// close highslide first
	                	//document.getElementsByTagName("body")[0].removeChild(document.getElementById("reviewOpener"));
                        error = "Please enter the following:-<br />" + error;
	                	alert(error);
                        return false;
                }

        } else if(form == 'google') {
                var google=document.getElementById("google").value;
                var error = "";
                if(google == "") {
                        error += '* Search Word or Phrase<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	// close highslide first
	                	//document.getElementsByTagName("body")[0].removeChild(document.getElementById("reviewOpener"));
                        error = "Please enter the following:-<br />" + error;
	                	alert(error);
                        return false;
                }

        } else if(form == 'review') {
	            document.getElementById('pic4').style.display='inline'; 
	            document.getElementById('reviewSubmit').disabled=true;
                var reviewMessage=document.getElementById("reviewMessage").value;
                var error = "";
                if(reviewMessage == "") {
                        error += '* Review<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	document.getElementById('pic4').style.display='none'; 
	                	document.getElementById('reviewSubmit').disabled=false;
	                	// close highslide first
	                	//document.getElementsByTagName("body")[0].removeChild(document.getElementById("reviewOpener"));
                        error = "Please enter the following:-<br />" + error;
	                	alert(error);
                        return false;
                }

        } else if(form == 'comment') {
	            document.getElementById('pic4').style.display='inline'; 
	            document.getElementById('commentSubmit').disabled=true;
                var commentMessage=document.getElementById("commentMessage").value;
                var error = "";
                if(commentMessage == "") {
                        error += '* Comment<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	document.getElementById('pic4').style.display='none'; 
	                	document.getElementById('commentSubmit').disabled=false;
                        error = "Please enter the following:-<br />" + error;
                        alert(error);
                        return false;
                }

        } else if(form == 'shipping') {
	            document.getElementById('pic7').style.display='inline'; 
	            document.getElementById('shipping').disabled=true;
                var shipping_postcode=document.getElementById("shipping_postcode").value;
                var shipping_country=document.getElementById("countrySelect").value;
                var error = "";
                if((shipping_postcode == "") && (shipping_country == "AU")) {
                        error += '* Postcode<br />';
                } 
                if(error == "") {
                        return true;
                } else {
	                	document.getElementById('pic7').style.display='none'; 
	                	document.getElementById('shipping').disabled=false;
	                	// close highslide first
	                	//document.getElementsByTagName("body")[0].removeChild(document.getElementById("reviewOpener"));
                        error = "Please enter the following:-<br />" + error;
	                	alert(error);
                        return false;
                }
        } else if(form == 'productEmail') {
	            document.getElementById('pic3').style.display='inline'; 
	            document.getElementById('email2').disabled=true;
                var email=document.getElementById("emailAddress").value;
                var name1=document.getElementById("name1").value;
                var name2=document.getElementById("name2").value;
                var error = "";
                var error2 = "";
                if(name1 == "") {
                        error += '* Friends Name<br />';
                }
                if(email == "") {
                        error += '* Freinds Email address<br />';
                } 
                if(email != "") {                
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(name2 == "") {
                        error += '* Your Name<br />';
                }
                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic3').style.display='none'; 
                	document.getElementById('email2').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'register') {
	            document.getElementById('pic10').style.display='inline'; 
	            document.getElementById('edit').disabled=true;
                var first_name=document.getElementById("first_name").value;
                var last_name=document.getElementById("last_name").value;
                var street=document.getElementById("street").value;
                var city=document.getElementById("city").value;
                var state=document.getElementById("stateSelect").value;
                var postcode=document.getElementById("postcode").value;
                var country=document.getElementById("countrySelect").value;
                var email=document.getElementById("email").value;
                var phone=document.getElementById("phone").value;
                var password1=document.getElementById("password1").value;
                var password2=document.getElementById("password2").value;
                var txtNumber=document.getElementById("txtNumber").value;
                var error = "";
                var error2 = "";
                if(first_name == "") {
                        error += '* First Name<br />';
                }
                if(last_name == "") {
                        error += '* Last Name<br />';
                }
                if(street == "") {
                        error += '* Street Name<br />';
                }
                if(city == "") {
                        error += '* City Name<br />';
                }
                if(state == "") {
                        error += '* State<br />';
                }
                if(postcode == "") {
                        error += '* Post Code<br />';
                }
                if(country == "") {
                        error += '* Country<br />';
                }
                if(email == "") {
                        error += '* Email address<br />';
                } else {
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(phone == "") {
                        error += '* Phone<br />';
                }
                if(password1 == "") {
	                    error += '* Password<br />';
                }
                if(password1 != password2) {
                        error2 += '* The Passwords do not match<br />';
                }
                if(txtNumber == "") {
                        error += '* Verification Number<br />';
                }

                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic10').style.display='none'; 
                	document.getElementById('edit').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'edit') {
	            document.getElementById('pic').style.display='inline'; 
	            document.getElementById('edit').disabled=true;
                var first_name=document.getElementById("first_name").value;
                var last_name=document.getElementById("last_name").value;
                var street=document.getElementById("street").value;
                var city=document.getElementById("city").value;
                var state=document.getElementById("stateSelect").value;
                var postcode=document.getElementById("postcode").value;
                var country=document.getElementById("countrySelect").value;
                var email=document.getElementById("email").value;
                var phone=document.getElementById("phone").value;
                var password1=document.getElementById("password1").value;
                var password2=document.getElementById("password2").value;
                var error = "";
                var error2 = "";
                if(first_name == "") {
                        error += '* First Name<br />';
                }
                if(last_name == "") {
                        error += '* Last Name<br />';
                }
                if(street == "") {
                        error += '* Street Name<br />';
                }
                if(city == "") {
                        error += '* City Name<br />';
                }
                if(state == "") {
                        error += '* State<br />';
                }
                if(postcode == "") {
                        error += '* Post Code<br />';
                }
                if(country == "") {
                        error += '* Country<br />';
                }
                if(email == "") {
                        error += '* Email address<br />';
                } else {
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(phone == "") {
                        error += '* Phone<br />';
                }
                if(password1 != password2) {
                        error2 += '* The passwords do not match<br />';
                }

                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('edit').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'nonmember') {
	            document.getElementById('pic').style.display='inline'; 
	            document.getElementById('submit').disabled=true;
	            var first_name=document.getElementById("first_name").value;
                var last_name=document.getElementById("last_name").value;
                var street=document.getElementById("street").value;
                var city=document.getElementById("city").value;
                var state=document.getElementById("stateSelect").value;
                var postcode=document.getElementById("postcode").value;
                var country=document.getElementById("countrySelect").value;
                var email=document.getElementById("email").value;
                var phone=document.getElementById("phone").value;
                var error = "";
                var error2 = "";
                if(first_name == "") {
                        error += '* First Name<br />';
                }
                if(last_name == "") {
                        error += '* Last Name<br />';
                }
                if(street == "") {
                        error += '* Street Name<br />';
                }
                if(city == "") {
                        error += '* City Name<br />';
                }
                if(state == "") {
                        error += '* State<br />';
                }
                if(postcode == "") {
                        error += '* Post Code<br />';
                }
                if(country == "") {
                        error += '* Country<br />';
                }
                // check if country is AU postcode must be numeric
                if(country == 'AU') {
					if(!isValidPostcode(postcode)) {
                        error2 += '* The Postcode is not a valid format<br />';
                    }	             	   
                }
                if(email == "") {
                        error += '* Email address<br />';
                } else {
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format<br />';
                        }
                }
                if(phone == "") {
                        error += '* Phone<br />';
                }
                // if delivery is changed then elements will be visible, if they are check them too
				if(document.getElementById('delivery1').style.display == 'inline') {
		            var delivery_first_name=document.getElementById("delivery_first_name").value;
	                var delivery_last_name=document.getElementById("delivery_last_name").value;
	                var delivery_street=document.getElementById("delivery_street").value;
	                var delivery_city=document.getElementById("delivery_city").value;
	                var delivery_state=document.getElementById("delivery_state").value;
	                var delivery_postcode=document.getElementById("delivery_postcode").value;
	                var delivery_country=document.getElementById("delivery_country").value;
	                if(delivery_first_name == "") {
	                        error += '* Delivery First Name<br />';
	                }
	                if(delivery_last_name == "") {
	                        error += '* Delivery Last Name<br />';
	                }
	                if(delivery_street == "") {
	                        error += '* Delivery Street Name<br />';
	                }
	                if(delivery_city == "") {
	                        error += '* Delivery City Name<br />';
	                }
	                if(delivery_state == "") {
	                        error += '* Delivery State<br />';
	                }
	                if(delivery_postcode == "") {
	                        error += '* Delivery Post Code<br />';
	                }
	                if(delivery_country == "") {
	                        error += '* Delivery Country<br />';
	                }
	                if(delivery_country == 'AU') {
						if(!isValidPostcode(delivery_postcode)) {
	                        error2 += '* The Delivery Postcode is not a valid format<br />';
	                    }	             	   
	                }										
				} 

                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('submit').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'forgot') {
                var email=document.getElementById("email").value;
                var error = "";
                var error2 = "";

                if(email == "") {
                        error += '* Email address.<br />';
                } else {
                        if(!isValidEmail(email)) {
                        error2 += '* The Email address is not a valid format.<br />';
                        }
                }
                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('forgot').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }
        } else if(form == 'activate') {
	            document.getElementById('pic').style.display='inline'; 
	            document.getElementById('activate').disabled=true;
                var password1=document.getElementById("password1").value;
                var password2=document.getElementById("password2").value;
                var error = "";
                var error2 = "";
                if(password1 == "") {
	                    error += '* Password<br />';
                }
                if(password1 != password2) {
                        error2 += '* The Passwords do not match<br />';
                }

                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('activate').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }

        } else if(form == 'freight') {
			if(document.getElementById('authorise').checked==false) {
	            var answer = window.confirm( "You did not tick the 'Authority to Leave'\nIf no one is there to receive your parcel you may be charged again for the freight.\nAn 'Authority to Leave' given to The Chilli Factory in writing provides the courier with the right to leave goods without inspection and eliminates the need for a signature from the receiving party. The risk for the goods passes to the purchaser immediately upon delivery.\nClick 'OK' to continue without the 'Authority to Leave' ticked or Click 'Cancel' to return and tick the box. You can also change the Delivery Address to your work or another address to avoid missing the courier." );
	            if( answer ) {
	                    return true;
	            } else {
		                document.getElementById('pic').style.display='none'; 
		                document.getElementById('payment').disabled=false;
	                    return false;
	            } 
		    } 
		    return true;

        } else if(form == 'payment') {
	        document.getElementById('pic').style.display='inline'; 
	        document.getElementById('payment').disabled=true;
			if(document.getElementById('payment_type1').checked) var payment = document.getElementById('payment_type1').value;
			if(document.getElementById('payment_type2').checked) var payment = document.getElementById('payment_type2').value;
			if(document.getElementById('payment_type3').checked) var payment = document.getElementById('payment_type3').value;

            var error = "";
            var error2 = "";

			if(payment == "credit_card") {
                var type=document.getElementById("type").value;
                var card=document.getElementById("card").value;
                var csv=document.getElementById("csv").value;
                var exp_month=document.getElementById("exp_month").value;
                var exp_year=document.getElementById("exp_year").value;
                var name=document.getElementById("name").value;

                if(type == "") {
                        error += '* Card type<br />';
                }
				if(card == "") {
                        error += '* Card Number<br />';
                } else {
                        if(!isValidCard(card)) {
                        error2 += '* The Card Number is not a valid format<br />';
                        }
                }
                if(csv == "") {
                        error += '* CSV number<br />';
                }
                if(exp_month == "") {
                        error += '* Expiry Month<br />';
                }
                if(exp_year == "") {
                        error += '* Expiry Year<br />';
                }
                if(name == "") {
                        error += '* Name on your card<br />';
                }
                if((error == "") && (error2 == "")) {
                        return true;
                } else {
                	document.getElementById('pic').style.display='none'; 
                	document.getElementById('payment').disabled=false;
                    if(error != "") {
                    	error = "Please enter the following:-<br />" + error;
                	}
                    if(error2 != "") { 
	                    error += "<br />There were these errors:-<br />" + error2; 
	                }
                	alert(error);
                    return false;
                }
				
			}
			
			//alert('no credit card - return true');			
			return true;	

        } 
}

function isValidEmail(str) {

   return (str.indexOf(".") > 0) && (str.indexOf("@") > 0);

}

function isValidCard(str) {

	if(str.length == 16) {
		var i;
	    for (i = 0; i < str.length; i++)
	    {   
	        // Check that current character is number.
	        var c = str.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	   	return true;
   	}
   	
   	return false;
	
}

function isValidPostcode(str) {

	if((str.length > 2) && (str.length < 5)) {
		var i;
	    for (i = 0; i < str.length; i++)
	    {   
	        // Check that current character is number.
	        var c = str.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	   	return true;
    }
   	
   	return false;
}


var ALERT_TITLE = "Attention!";
var ALERT_BUTTON_TEXT = "Ok";

if(document.getElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt) {
	d = document;

	if(d.getElementById("modalContainer")) return;

	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	mObj.style.height = d.documentElement.scrollHeight + "px";
	
	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	alertObj.style.visiblity="visible";
	//alertObj.style.height = ALERT_HEIGHT + "px";

	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(ALERT_TITLE));

	msg = alertObj.appendChild(d.createElement("p"));
	//msg.appendChild(d.createTextNode(txt));
	msg.innerHTML = txt;

	btn = alertObj.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	//btn.style.top = (ALERT_HEIGHT - 110) + "px";
	
	btn.href = "#";
	btn.focus();
	btn.onclick = function() { removeCustomAlert();return false; }

	alertObj.style.display = "block";
}

function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}


