   NOT_EMPTY = /\w+.*/
	String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
    }
	$ = function(id){
		return document.getElementById(id)
	}
	
	contact_form = function(form){		
	    this.els= form.elements;
		this.rules = new Array();		
		this.rules["interest"] = [NOT_EMPTY,"Please Enter An Interest"];
		this.rules["time"] = [NOT_EMPTY,"Please Enter A Time To Call"];
		this.rules["first"] = [NOT_EMPTY,"Please Enter A First Name"];
		this.rules["last"] = [NOT_EMPTY,"Please Enter A Last Name"];
		this.rules["city"] = [NOT_EMPTY,"Please Enter A City"];
		this.rules["phone"] = [/(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}((-|.){0,1}|\s{0,1})\d{2}((-|.){0,1}|\s{0,1})\d{2}/,"Please Enter A Valid Phone Number"];		
		this.rules["email"] = [/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/,"Please Enter A Valid Email"]
	 }


	function validate(form){	
	    msg = "";
		valid = false;
		for(i=0;i<form.els.length;i++){	
			el = form.els[i];	
			if(el.getAttribute('required')!='true'){
					continue;
			}	
			try{
				rules = form.rules[el.name];
				expression = rules[0];
				error_msg = rules[1];			
			    val = el.value//.trim()
				valid = val.match(expression)
				if(!valid){	
					msg += rules[1] + "\r\n";
				}
			}catch(e){
			   //	alert(e)
			}
		}
		  if (msg=="") {
				submit_form();
		 }else{
				alert(msg)
		}
	}

	
	var request;
    function submit_form() {
        
        try {
            request = new XMLHttpRequest;
        } catch (e) {
            try {
                request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    alert("Your browser does not support AJAX!");
                    return false;
                }
            }
        }
        request.onreadystatechange = handleAjaxCompletion
	 
	    var url = "contact_form.php?";
        request.open("POST", url, true);
        parameters = getFormString();
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        request.setRequestHeader("Content-length", parameters.length);
        request.setRequestHeader("Connection", "close");
        request.send(parameters);
    }
	
	
	  function handleAjaxCompletion(){
	  	
		if (request.readyState == 4) {
			
			if(request.responseText=='success'){
				window.location = '/thanks.htm'
			}else{
				alert("Message Failed. Please Try Again.")
			}
		    
		}
	  }
	
		function removeMessage(){
	    	document.getElementById('status').innerHTML = "";
		}
		
		
	   function getFormString() {
        var form = document.forms[0];
        var elements = document.forms[0].elements;
        var params = "";
        for (i = 0; i < elements.length; i++) {
            params += elements[i].name + "=" + elements[i].value + "&";
        }
        return params;
    }
