		function submitContactForm(){
			if(validateForm())
				sendFormData()
			else
			    alert("Please properly fill out all fields of the form in order to proceed.")
		}
				
		function sendFormData(){	
		    YAHOO.util.Connect.setForm("contactForm");
			YAHOO.util.Connect.asyncRequest('POST', "/files/flash/mailscript.php", formCallback);
		}
		
		var formCallback = {
			success: function(o){showConfirmation("Thank you for submitting your request.")},
			failure: function(o){showConfirmation("An error occurred, please reload and try again.")},
			arguments:null
		};
		
		function showConfirmation(message){
			var formHolder = document.getElementById("contactFormContainer");
			formHolder.innerHTML = "<h2 class=\"confirmation\">"+message+"</h2>";
		}
		
		function validateForm(){
			var requiredFields = ["name","zip","email","request","send"];
			for (var i=0;i<requiredFields.length;i++)
			{
				var item = document.getElementById(requiredFields[i]).value;
				switch (requiredFields[i])
				{
				    case "zip":
				        if(!isZip(item)) return false;
				        break;
				    case "phone":
				        if(!isPhone(item)) return false;
				        break;
				    case "email":
				        if(!isEmail(item)) return false;
				        break; 
				    default:
				        if(!isRequired(item)) return false;
				}
			}
			return true;
			
		}
		
        function isRequired(value,length){
            if(length == null) 
                length=1;
            if(value.length < length) return false;
            return true;
        }     

        function isPhone(value,required){
            if(required == null) 
                required = true;

            if(!required && value.length == 0) 
                return true;

            var requiredDigits = 10; // zero-indexed
            var allowedChars = "-(). +";
            var chars = value.split('');

            for(key in chars) {
                c = chars[key];
                if(parseInt(c)<=9) 
                    requiredDigits--;
                else if(allowedChars.indexOf(c) != -1)
                    continue;
                else
                    return false;
            }

            if(requiredDigits <= 0) 
                return true; 

            return false;
        }

        function isEmail(value,required){
            if(required == null) 
                required = true;

            if(!required && value.length == 0) 
                return true;

            reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            return reg.test(value);
        }

        function isZip(value,required){
            if(required == null) 
                required = true;

            if(!required && value.length == 0) 
                return true;

            var chars = value.split('');
            var delimiterFound = false;

            for(key in chars) {
                c = chars[key];
                if(parseInt(c)<=9) 
                    continue;
                else if(!delimiterFound && ( c == "+" || c == "-" ) )
                    continue;
                else
                    return false;
            }

             var isValid = (value.length == 5  || value.length == 6 || value.length == 10) ? true: false;

            return isValid;
        }

