
var http_request = false;
function makePOSTRequest(url, parameters, func) 
{
	http_request = false;
  	if (window.XMLHttpRequest) //
  	{ // Mozilla
    	http_request = new XMLHttpRequest();
     	if (http_request.overrideMimeType) 
	 	{
        	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 = func;
  	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 eMail(mail)
{
   	var a = false;
   	var res = false;
   	if(typeof(RegExp) == 'function')
   	{
      	var b = new RegExp('abc');
      	if(b.test('abc') == true)
		{
			a = true;
		}
	}
   	if(a == true)
   	{
      	reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                         '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                         '(\\.)([a-zA-Z]{2,4})$');
      	res = (reg.test(mail));
   	} 
	else 
	{
      	res = (mail.search('@') >= 1 &&
               mail.lastIndexOf('.') > mail.search('@') &&
               mail.lastIndexOf('.') >= mail.length-5)
   	}
   	return(res);
}

function getCheckedValue(radioObj) 
{
	if (!radioObj) 
	{
		return "";
	}
	var radioLength = radioObj.length;
	if (radioLength == undefined) 
	{
		if (radioObj.checked) 
		{
			return radioObj.value;
		}
		else 
		{
			return "";
		}
	}
	for(var i = 0; i < radioLength; i++) 
	{
		if(radioObj[i].checked) 
		{
			return radioObj[i].value;
		}
	}
	return "";
}

function get_contactform(obj, url, email_field_id, subject_field_id, text_field_id, readystatechange_func) 
{
	var valid = true;
	if(document.getElementById(text_field_id).value == '')
  	{
  		document.getElementById(text_field_id).style.background = '#fedf99';
  		valid = false;
  	}
  	else
  	{
  		document.getElementById(text_field_id).style.background = '#FFFFFF';
  	}
	if(document.getElementById(email_field_id).value == '')
  	{
  		document.getElementById(email_field_id).style.background = '#fedf99';
  		valid = false;
  	}
  	else
  	{
  		if(eMail(document.getElementById(email_field_id).value))
		{
			document.getElementById(email_field_id).style.background = '#FFFFFF';	
		}
		else
		{
			document.getElementById(email_field_id).style.background = '#fedf99';
			valid = false;
		}
  	}
  	if(valid == false)
  	{
  		return;
  	}
  	var poststr = "email=" + encodeURI( document.getElementById(email_field_id).value ) +
                  "&subject=" + encodeURI( document.getElementById(subject_field_id).value )+
				  "&text=" + encodeURI( document.getElementById(text_field_id).value );
  	makePOSTRequest(url, poststr, readystatechange_func);
}

function get_bigcontactform(obj, url, 
							id_title,
							id_forename,
							id_lastname,
							id_street,
							id_postcode,
							id_department,
							id_telefon,
							id_email,
							id_age_of_child,
							id_wish_time,
							id_call_back,
							id_question, 
							id_text, 
							readystatechange_func) 
{
	var valid = true;
	if(document.getElementById(id_email).value == '')
  	{
  		document.getElementById(id_email).style.background = '#fedf99';
  		valid = false;
  	}
  	else
  	{
  		if(eMail(document.getElementById(id_email).value))
		{
			document.getElementById(id_email).style.background = '#FFFFFF';	
		}
		else
		{
			document.getElementById(id_email).style.background = '#fedf99';
			valid = false;
		}
  	}
  	if(valid == false)
  	{
  		return;
  	}
  	var poststr =  "title=" + encodeURI( document.getElementById(id_title).value ) +
				  "&forename=" + encodeURI( document.getElementById(id_forename).value ) +
				  "&lastname=" + encodeURI( document.getElementById(id_lastname).value ) +
				  "&street=" + encodeURI( document.getElementById(id_street).value ) +
				  "&postcode=" + encodeURI( document.getElementById(id_postcode).value ) +
				  "&department=" + encodeURI( document.getElementById(id_department).value ) +
				  "&telefon=" + encodeURI( document.getElementById(id_telefon).value ) +
				  "&email=" + encodeURI( document.getElementById(id_email).value ) +
				  "&text=" + encodeURI( document.getElementById(id_text).value );
				  
	if(id_age_of_child != null)
				  	{
						poststr += "&age_of_child=" + encodeURI( document.getElementById(id_age_of_child).value);
					}
				  if(id_wish_time != null)
				  	{poststr += "&wish_time=" + encodeURI( document.getElementById(id_wish_time).value);}
				  if(id_question != null)
				  {poststr += "&question=" + encodeURI( document.getElementById(id_question).value);}
	
	if (id_call_back != null) {
		if (document.getElementById(id_call_back).checked) {
			//"&call_back=" + encodeURI( document.getElementById(id_call_back).value ) +
			poststr += "&call_back=1";
		}
		else {
			poststr += "&call_back=0";
		}
	}
  	makePOSTRequest(url, poststr, readystatechange_func);
}


function get_surveyform(obj, url, survey_fields_name, with_name, name_field_id, readystatechange_func) 
{
	if (with_name) 
	{
		if (document.getElementById(name_field_id).value == '') 
		{
			document.getElementById(name_field_id).style.background = '#fedf99';
			return;
		}
		else 
		{
			document.getElementById(name_field_id).style.background = '#FFFFFF';
		}
	}
	var poststr = "survey=" + getCheckedValue(obj.elements[survey_fields_name]);
	if (with_name) 
	{
		poststr += "&name=" + encodeURI( document.getElementById(name_field_id).value )
	}	
  	makePOSTRequest(url, poststr, readystatechange_func);
}

function get_postcodecearchform(obj, url, postcode_field_id, country_field_id, km_field_id, readystatechange_func) 
{
	var poststr = "postcode=" + encodeURI( document.getElementById(postcode_field_id).value ) +
				  "&country=" + encodeURI( document.getElementById(country_field_id).value ) +
				  "&km=" + encodeURI( document.getElementById(km_field_id).value );
  	makePOSTRequest(url, poststr, readystatechange_func);
}

