//To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
//Included file MUST be from the same domain as the page displaying it.

var rootdomain = "http://" + window.location.hostname

function ajaxinclude(url) {
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject) { // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e) {
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			} catch (e) {
			}
		}
	} else
		return false
	page_request.open('GET', url, false) // get page synchronously
	page_request.send(null)
	writecontent(page_request)
}

function writecontent(page_request) {
	if (window.location.href.indexOf("http") == -1	|| page_request.status == 200){
		document.write(page_request.responseText)		
	}
}




function postEnquiry(){

	//validate fields	
	var enquiryForm = document.forms['enquiryForm'];
	fullname = enquiryForm['name'];
	telephone = enquiryForm['telephone'];
	email = enquiryForm['email'];
	message = enquiryForm['mymessage'];

	incomplete = false;
	//clear any error styles
	fullname.className = "" ;	
	email.className = "" ;	
	telephone.className = "" ;	
		
	document.getElementById('mandatory').style.visibility='hidden';	
	if(trim(fullname.value)==""){
		fullname.className = "error";		
		incomplete = true;
	}
	

	if(trim(email.value)=="" && trim(telephone.value)==""){
		telephone.className = "error";
		email.className = "error" ;	
		incomplete = true;
	}


	if(incomplete==true){
		document.getElementById('mandatory').style.visibility='visible';	
		return;
	}
	
		
	//ONCE SUCCESFUL HIDE THE MAIN FORM
	//hide the form container
	document.getElementById('formcontainer').style.display='none';

	//show the please wait loading dialog
	document.getElementById('pleasewaitcontainer').style.display='';

	
	var formData = getFormData(enquiryForm);

	
	//call the request
	url = "/WebSiteEnquiry";
	makePOSTRequest(url, formData);
	
}


var http_request = false;


function makePOSTRequest(url, parameters) {
	
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
 
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
  }
 
  function alertContents() {
  	
	if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
	    //alert(http_request.responseText);
	    result = http_request.responseText;
	    	
	    document.getElementById('successcontainer').style.display='';			    	
	    document.getElementById('pleasewaitcontainer').style.display='none';
	    
	 } else {	 	
	 	document.getElementById('formcontainer').style.display='';		
		document.getElementById('submiterrorcontainer').style.display='';				
		document.getElementById('pleasewaitcontainer').style.display='none';
		
	 }
	}
}
 
function getFormData(form) {
    var dataString = "";

    function addParam(name, value) {
        dataString += (dataString.length > 0 ? "&" : "")
            + escape(name).replace(/\+/g, "%2B") + "="
            + escape(value ? value : "").replace(/\+/g, "%2B");
    }

    var elemArray = form.elements;
    for (var i = 0; i < elemArray.length; i++) {    	
        var element = elemArray[i];
        var elemType = element.type.toUpperCase();
        var elemName = element.name;
        if (elemName) {
            if (elemType == "TEXT"
                    || elemType == "TEXTAREA"
                    || elemType == "PASSWORD"
                    || elemType == "HIDDEN")
                addParam(elemName, element.value);
            else if (elemType == "CHECKBOX" && element.checked)
                addParam(elemName, element.value ? element.value : "On");
            else if (elemType == "RADIO" && element.checked)
                addParam(elemName, element.value);
            else if (elemType.indexOf("SELECT") != -1)
                for (var j = 0; j < element.options.length; j++) {
                    var option = element.options[j];
                    if (option.selected)
                        addParam(elemName,
                            option.value ? option.value : option.text);
                }
        }
    }
    return dataString;
}


function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
