var required = new Array();
var contactHttp;

function check_form(srcform) {
        if (srcform && srcform.required) {
                var required_string = srcform.required.value;
                var fields = required_string.split(',');
                for (i=0; i<fields.length; i++) {
                        var el = srcform.elements.namedItem(fields[i]);
                        if (el == null || el.value.length <= 0) {
                                return false;
                        }
                }
        }
        return true;
}

function set_required(field) {
        required.push(field);
}


// for reverse compatibility
function submit_form(src_form) {
        return submit_form_path(src_form, "submit_form.php");
}

function submit_form_path(src_form, form_path) {
        if (check_form(src_form)) {
                contactHttp = GetXmlHttpObject()
                if (contactHttp == null) {
                 alert ("Browser does not support HTTP Request")
                 return false;
                }
                var url = form_path+"?sid="+Math.random()
                var parameters = "";
                var paramct=0;
                for(i=0; i<src_form.elements.length; i++)
                {
                        if (src_form.elements[i].name.length > 0)
                        {
                                if (paramct > 0)  { parameters += "&" }
                                parameters += encodeURIComponent(src_form.elements[i].name) + "=" + encodeURIComponent(src_form.elements[i].value);
                                paramct++;
                        }

                }
                contactHttp.onreadystatechange = formSubmitted;
                contactHttp.open('POST', url, true);
                contactHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                contactHttp.setRequestHeader("Content-length", parameters.length);
                contactHttp.setRequestHeader("Connection", "close");
                contactHttp.send(parameters);
        } else {
                alert('You must fill in the required fields');
        }
        return false;
}

function formSubmitted() {
        if (contactHttp.readyState == 4 || contactHttp.readyState == "complete")
        {
                document.getElementById("formarea").innerHTML=contactHttp.responseText
        }
}


function GetXmlHttpObject() {
        var xmlHttp=null;
        try
         {
                // Firefox, Opera 8.0+, Safari
                xmlHttp=new XMLHttpRequest();
         }
        catch (e)
         {
                 //Internet Explorer
                 try
                  {
                        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
                  }
                 catch (e)
                  {
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                  }
         }
        return xmlHttp;
}

