


function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}

//Sample call:
var mypostrequest=new ajaxRequest();

function validate_contact_form (theForm) {
	
	var alertStyle = "border: thin solid #f00;background-color:#e5feff;";
	var correctStyle = "border:#05f1ff thin solid;background-color:#fff;";
	var formResult = true;
	
	function updateStatus (scoresOnTheDoors,theObject,theMsg) {
		if (scoresOnTheDoors=="error") {
			theObject.focus();			
			theObject.setAttribute("style",alertStyle);
			
			//document.getElementById('contact_form_message').style.display = "block";
			document.getElementById('contact_form_message').innerHTML = theMsg;
		} else {
			theObject.setAttribute("style",correctStyle);
			document.getElementById('contact_form_message').innerHTML = theMsg;
		}
	}
	function checknumber(valueToCheck){

		var ValidChars="1234567890+() ";
			
		var IsThisIsNumber=true;
		var Char; 
	   for (i = 0; i < valueToCheck.length && IsThisIsNumber == true; i++) 
		  { 
		  Char = valueToCheck.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
			 {
			 IsThisIsNumber = false;
			 }
		  }
	   return IsThisIsNumber;
	}
	with(theForm) {
		
		if(user_name.value=="" || user_name.value.length < 5) {
			updateStatus("error", user_name,"doh!!!");
			formResult = false;
		} else {
			updateStatus("ok", user_name,"");
		}
		
		if(user_email.value=="" || user_email.value.length < 7 || user_email.value.indexOf("@")  == -1 || user_email.value.lastIndexOf(".") == -1) {
			updateStatus("error", user_email,"errrr duh! wrong email");
			formResult = false;
		} else {
			updateStatus("ok", user_email,"");
		}
		
		if(checknumber(user_telephone.value)==false) {
			updateStatus("error", user_telephone,"Please enter a valid number");
			formResult = false;
		} else {
			updateStatus("ok", user_telephone,"");
		}
		
		if(user_subject.value== "" || user_subject.length < 2) {
			updateStatus("error", user_subject,"Please enter a subject for your enquiry");
			formResult = false;
		} else {
			updateStatus("ok", user_subject,"");
		}
		
		if(user_comments.value=="") {
			updateStatus("error", user_comments,"Please enter your comments");
			formResult = false;
		} else {
			updateStatus("ok", user_comments,"");
		}
		if(user_comments.value.length > 1000 ) {
			updateStatus("error", user_comments,"You have exceeded the 1000 character limit.");
			formResult = false;
		} else {
			updateStatus("ok", user_comments,"");
		}

		if (formResult == false) {
			document.getElementById('contact_form_message').innerHTML = "We cannot send this form until the highlighted errors have been resolved.";
			//return false;
        } else {	
			document.getElementById('contact_form_message').setAttribute("style","color:#ffo;");
			document.getElementById('contact_form_message').innerHTML = "We are submitting your form.....";
		   //return true;
        }
	}
	
	var user_name=encodeURIComponent(document.getElementById("user_name").value);
	var user_email=encodeURIComponent(document.getElementById("user_email").value);
	var user_telephone=encodeURIComponent(document.getElementById("user_telephone").value);
	var user_company=encodeURIComponent(document.getElementById("user_company").value);
	var user_subject=encodeURIComponent(document.getElementById("user_subject").value);
	var user_comments=encodeURIComponent(document.getElementById("user_comments").value);
	var user_details=encodeURIComponent(document.getElementById("user_details").value);
	var user_recipient=encodeURIComponent(getUserNo());
	//var user_recipient=encodeURIComponent(document.getElementById("user_recipient").value);
	
	var parameters="user_name="+user_name+"&user_email="+user_email+"&user_telephone="+user_telephone+"&user_company="+user_company+"&user_subject="+user_subject+"&user_recipient="+user_recipient+"&user_details="+user_details+"&user_comments="+user_comments;
	
	mypostrequest.open("POST", "../../_inc/send-email.asp", true);
	//http://www.dolphintv.com/newsite/_inc/send-email.asp 
	mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	mypostrequest.setRequestHeader("Content-length", parameters.length);
	mypostrequest.setRequestHeader("Connection", "close");
	
	mypostrequest.onreadystatechange = handleTheResponse;
	mypostrequest.send(parameters);
}

function handleTheResponse () {
	 
	 document.getElementById('contact_form_message').innerHTML = mypostrequest.readyState;
	 
	 if (mypostrequest.readyState==4){
		  if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
			  document.getElementById("contact_form_message").innerHTML=mypostrequest.responseText;
			  document.getElementById('contact_form_message').innerHTML = "The form has been sent to Dolphin TV successfully. Thank you for your time.";
			  document.contact_form.reset();
			  return true;
		  }
		  else{
			  document.getElementById("contact_form_message").innerHTML=mypostrequest.responseText;
			  return false;
		  }
	 }
	
}
function clear_form() {
	document.contact_form.reset();
}
function whichQueryStringKey(wKey) {
	// Our value to return
	var kValue = null;
	// Run our loop to find our key value
	for (var a=0;a<whichQueryStringKey.myKeys.length;a++){
		// Check if the submitted key is found
		if (whichQueryStringKey.myKeys[a]==wKey){
			// now we have found the value add it to our returning variable
			kValue = whichQueryStringKey.myValues[a];
			break;
		}
	}
	return kValue;
}
// Setup our Key and respective value arrays
whichQueryStringKey.myKeys = new Array();
whichQueryStringKey.myValues = new Array();

function getMyQueryString() {// getMyQueryString
	// Get our querystring
	var getTheQuery = window.location.search.substring(1);
	// Split our string into segments from the & symbol
	var getSegments = getTheQuery.split("&");
	
	// Run our loop to split the segments into keys & values
	for (var b=0;b<getSegments.length;b++) 	{
		// where there are = define myKey and myValue
		var seperator = getSegments[b].indexOf('=');
		if (seperator >= 0)	{
			var objectName = getSegments[b].substring(0,seperator);
			var objectValue = getSegments[b].substring(seperator+1);
			whichQueryStringKey.myKeys[whichQueryStringKey.myKeys.length] = objectName;
			whichQueryStringKey.myValues[whichQueryStringKey.myValues.length] = objectValue;		
		}
	}
}
getMyQueryString();
function getUserNo () {
	myLinkageID = whichQueryStringKey('usrRcpNo');
	if (myLinkageID != "" && myLinkageID != null) {
		//alert('myLinkageID = '+myLinkageID );	
		return myLinkageID;
	} else {
		myLinkageID = "";
		//alert('myLinkageID = '+myLinkageID );	
		return myLinkageID;
	}
		
}


