//Function to get XMLHTTP Object
function getXMLHTTP() {
		var xmlhttp=false;	
		try{
			xmlhttp=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp=false;
				}
			}
		}
		 	
		return xmlhttp;
	}

//Function to update Area list
function updateAreas(province, posted_area)
{
	var xmlHttp=getXMLHTTP();
	xmlHttp.onreadystatechange=function()
   {
      if(xmlHttp.readyState==4)
        {
         document.getElementById('area_list').innerHTML = xmlHttp.responseText;
        }
   }
    xmlHttp.open("GET", "dynamic_dropdown/arealist.php?province="+province+"&posted_area="+posted_area,true);
    xmlHttp.send(null);
}

//Function to update City list
function updateCities(prov, area, selected_city)
{
	var xmlHttp=getXMLHTTP();
	xmlHttp.onreadystatechange=function()
   {
      if(xmlHttp.readyState==4)
        {
         document.getElementById('city_list').innerHTML = xmlHttp.responseText;
        }
   }
	xmlHttp.open("GET", "dynamic_dropdown/citylist.php?prov="+prov+"&area="+area+"&posted_city="+selected_city,true);
    xmlHttp.send(null);
}

//Function to update quick form Area list
function updateQuickAreas(province, posted_area, type)
{
	var xmlHttp=getXMLHTTP();
	xmlHttp.onreadystatechange=function()
   {
      if(xmlHttp.readyState==4)
        {
         document.getElementById('quick_area_list').innerHTML = xmlHttp.responseText;
        }
   }
    xmlHttp.open("GET", "dynamic_dropdown/arealist.php?province="+province+"&posted_area="+posted_area+"&form=quick&type="+type,true);
    xmlHttp.send(null);
}

//Function to update quick form City list
function updateQuickCities(prov, area, selected_city, type)
{
	var xmlHttp=getXMLHTTP();
	xmlHttp.onreadystatechange=function()
   {
      if(xmlHttp.readyState==4)
        {
         document.getElementById('quick_city_list').innerHTML = xmlHttp.responseText;
        }
   }
	xmlHttp.open("GET", "dynamic_dropdown/citylist.php?prov="+prov+"&area="+area+"&posted_city="+selected_city+"&type="+type,true);
    xmlHttp.send(null);
}


//Function to rebuild both areas and cities after province has been changed
function setDefaultLists()
{
	//Update Areas
	updateAreas(1,'');
	//Reset Cities to default
	updateCities(1,'default','');
	//Set Quick Form lists
}

//Function to set the quick search form to defaults
function setQuickForm(type)
{
	//Update Areas
	updateQuickAreas(1,'',type);
	//Reset Cities to default
	updateQuickCities(1,'default','',type);
}

//Function to rebuild both areas and cities after province has been changed
function setBothQuick(prov,area,city,type)
{
	//set areas
	updateQuickAreas(prov,area,type);
	//set cities
	updateQuickCities(prov,area,city,type);
}

//Function to rebuild both areas and cities after province has been changed
function setBoth(prov,area,city)
{
	//set areas
	updateAreas(prov,area);
	//set cities
	updateCities(prov,area,city);
}

//Function checks that only numerals are entered into textbox
function isNumberKey(evt,id)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
		 {
          	document.getElementById(id).innerHTML = "Only numerics allowed";
		  	return false;
		 }
		 else
		 {
         document.getElementById(id).innerHTML = "";
		 return true;
		 }
      }
	  
//Function to count text-area characters
function textCounter(field_name,display_id,maxlimit) 
	{
	if (field_name.value.length > maxlimit) // if too long...trim it!
		field_name.value = field_name.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
		document.getElementById(display_id).innerHTML = field_name.value.length;
	}
	
//Function to validate listing for on submit
function ValidateListingForm(form)
{ 
   if(form.price.value=="") 
   { 
      document.getElementById('price_warning').innerHTML = "Please enter a price"; 
      form.price.focus(); 
      return false; 
   }
   else if(form.bsize.value=="") 
   { 
      document.getElementById('bsize_warning').innerHTML = "Please enter building size<br/>Enter 0 in not applicable"; 
      form.bsize.focus(); 
      return false; 
   }
   else if(form.esize.value=="") 
   { 
      document.getElementById('esize_warning').innerHTML = "Please enter erf size<br/>Enter 0 in not applicable"; 
      form.esize.focus(); 
      return false; 
   }
   else if(form.rates.value=="") 
   { 
      document.getElementById('rates_warning').innerHTML = "Please enter rates size<br/>Enter 0 if you are unsure"; 
      form.rates.focus(); 
      return false; 
   }
   else if(form.heading.value.length < 40)
   {
	 alert("Please ensure that your heading is between 40 and 80 characters long"); 
	 form.heading.focus();
	 return false;
   }
   else if(form.description.value.length < 100)
   {
	 alert("Please ensure that your description is between 100 and 500 characters long"); 
	 form.description.focus();
	 return false;
   }  
return true; 
}

//Validate form to conteact seller
function ValidateContactForm(form)
{ 
   if(form.sender_name.value=="") 
   { 
      document.getElementById('sender_name_warning').innerHTML = "Please enter your name"; 
      form.sender_name.focus(); 
      return false; 
   }
   else if(form.sender_phone.value=="") 
   { 
      document.getElementById('sender_phone_warning').innerHTML = "Please enter your phone number"; 
      form.sender_phone.focus(); 
      return false; 
   }
   else if(form.sender_email.value=="") 
   { 
      document.getElementById('sender_email_warning').innerHTML = "Please enter your e-mail address"; 
      form.sender_email.focus(); 
      return false; 
   }
   else if(form.comments.value=="") 
   { 
      document.getElementById('comments_warning').innerHTML = "Please enter a comment"; 
      form.comments.focus(); 
      return false; 
   }
return true; 
}

//Validate feedback form
function ValidateFeedbackForm(form)
{ 
   if(form.comments.value=="") 
   { 
      document.getElementById('comments_warning').innerHTML = "Please enter your feedback"; 
      form.comments.focus(); 
      return false; 
   }
return true; 
}


//Validate form to send listing to frien
function ValidateEmailFriendForm(form)
{ 
   if(form.sender_name.value=="") 
   { 
      document.getElementById('sender_name_warning').innerHTML = "Please enter your name"; 
      form.sender_name.focus(); 
      return false; 
   }
   else if(form.sender_email.value=="") 
   { 
      document.getElementById('sender_email_warning').innerHTML = "Please enter your e-mail address"; 
      form.sender_email.focus(); 
      return false; 
   }
   else if(form.friend_email.value=="") 
   { 
      document.getElementById('friend_email_warning').innerHTML = "Please enter your friend's e-mail address"; 
      form.friend_email.focus(); 
      return false; 
   }
return true; 
}

//Validate form to request new area
function ValidateNewAreaForm(form)
{ 
   if(form.new_area.value=="") 
   { 
      document.getElementById('new_area_warning').innerHTML = "Please enter your area"; 
      form.new_area.focus(); 
      return false; 
   }
   else if(form.new_city.value=="") 
   { 
      document.getElementById('new_city_warning').innerHTML = "Please enter your city or suburb"; 
      form.new_city.focus(); 
      return false; 
   }
return true; 
}

//Validate form to request new area
function ValidateGoToForm(form)
{ 
   if(form.id.value=="") 
   { 
      document.getElementById('goto_warning').innerHTML = "Please provide an ID"; 
      form.id.focus(); 
      return false; 
   }
return true; 
}

//Validate form to get news letter
function ValidateNewsLetterForm(form)
{ 
   if(form.email.value=="") 
   { 
      document.getElementById('email_warning').innerHTML = "Please enter your e-mail address"; 
      form.email.focus(); 
      return false; 
   }
   else if(form.name.value=="") 
   { 
      document.getElementById('name_warning').innerHTML = "Please enter your name"; 
      form.name.focus(); 
      return false; 
   }
return true; 
}

//Validate form to upload image
function ValidateUploadForm(form)
{ 
   if(form.uploaded_image.value=="") 
   { 
      document.getElementById('uploaded_image_warning').innerHTML = "Please select an image"; 
      form.uploaded_image.focus(); 
      return false; 
   }
   else if(form.file_size.value > 100000) 
   { 
      document.getElementById('uploaded_image_warning').innerHTML = "Your image is too large. Only 100 Kb allowed"; 
      form.uploaded_image.focus(); 
      return false; 
   }
return true; 
}

function showHelp(element,text)
{
	document.getElementById(element).innerHTML = text+' <br/>[click to hide]';	
}

function hideHelp(element)
{
	element.innerHTML = '';	
}

function doTest(text)
{
	alert(text);	
}



