var d1 = null;
var d2 = null;

function Goto(page, pos, func)
  {

  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }

    a = pos;
    loader = setTimeout("ShowLoader()", 1000);

    xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
	if (pos.length > 0)
	{
		clearTimeout(loader);
		document.getElementById(pos).innerHTML=xmlHttp.responseText;
		if (func)
		{
			func();
		}
	}
        }
      }

    var found = false;
    for (var i = 0; i < page.length; i++)
    {
	if (page.charAt(i) == '?')
	{
		found = true;
		break;
	}
    }

    var date = new Date();
    var timestamp = date.getTime();

    if (found == true)
    {
    	xmlHttp.open("GET",page + "&time=" + timestamp,true); 
    }
    else
    {
    	xmlHttp.open("GET",page + "?time=" + timestamp,true); 
    }

    xmlHttp.send(null);
  }

function Query(page, func)
  {
  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
    xmlHttp.onreadystatechange=function()
      {
        if(xmlHttp.readyState==4)
        {	
		var a;
		a = xmlHttp.responseText;
		if (func)
		{
			func(a);
		}
        }
      }

    var found = false;
    for (var i = 0; i < page.length; i++)
    {
	if (page.charAt(i) == '?')
	{
		found = true;
		break;
	}
    }

    var date = new Date();
    var timestamp = date.getTime();

    if (found == true)
    {
    	xmlHttp.open("GET",page + "&time=" + timestamp,true); 
    }
    else
    {
    	xmlHttp.open("GET",page + "?time=" + timestamp,true); 
    }

    xmlHttp.send(null);
  }

function QueryAndWait(page)
{
  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }

    var found = false;
    for (var i = 0; i < page.length; i++)
    {
	if (page.charAt(i) == '?')
	{
		found = true;
		break;
	}
    }

    var date = new Date();
    var timestamp = date.getTime();

    if (found == true)
    {
    	xmlHttp.open("GET",page + "&time=" + timestamp,false); 
    }
    else
    {
    	xmlHttp.open("GET",page + "?time=" + timestamp,false); 
    }

    xmlHttp.send(null);
    return xmlHttp.responseText;
}

function launchEnquireForm(dt,propID)
{	
	URL="enquiryForm.php?dt=" + dt + "&propertyID=" + propID;
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=525,height=580');");	
}

function launchSendToFriendForm(propID)
{	
	URL="sendToFriend.php?propertyID=" + propID;
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=510,height=560');");	
}

function SendToFriend()
{
	var valid = true;
	var yourName = document.getElementById("yourname").value;
	var theirName = document.getElementById("theirname").value;
	var yourEmail = document.getElementById("youremail").value;
	var theirEmail = document.getElementById("theiremail").value;
	var message = document.getElementById("message").value;
	var propName = document.getElementById("propname").value;
	var subject = "MAP Holiday Rentals - Recommendation (" + propName + ")";
		
	if (document.getElementById("yourname").value.length == 0)
	{
		alert('Your Name is a required field');
		document.getElementById("yourname").focus();
		valid = false;
	}
	else if (document.getElementById("youremail").value.length == 0)
	{
		alert('Your E-mail is a required field');
		document.getElementById("youremail").focus();
		valid = false;
	}
	else if (document.getElementById("theirname").value.length == 0)
	{
		alert('Their Name is a required field');
		document.getElementById("theirname").focus();
		valid = false;
	}
	else if (document.getElementById("theiremail").value.length == 0)
	{
		alert('Their E-mail is a required field');
		document.getElementById("theiremail").focus();
		valid = false;
	}
	else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("youremail").value) == false)
	{
		alert('Your E-mail does not appear to be valid');
		document.getElementById("youremail").focus();
		valid = false;
	}
	else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("theiremail").value) == false)
	{
		alert('Their E-mail does not appear to be valid');
		document.getElementById("theiremail").focus();
		valid = false;
	}
	
	if (valid == false)
	{
		return;
	}

	if (valid == true)
	{
		var page = "emailFriend.php?from_name=" + yourName + "&from_email=" + yourEmail + "&to_name=" + theirName + "&to_email=" + theirEmail + "&topic=" + subject + "&msg=" + message.replace(/\n/g,"<br/>");
		Query(page, SendToFriendResult);
	}
}

function SendContactUs()
{
	var valid = true;
	
	var howDidYouCbo = document.getElementById("howdidyou");
	var howDidYou = howDidYouCbo.options[howDidYouCbo.selectedIndex].value;
	
	var topicCbo = document.getElementById("subject");
	var subject = topicCbo.options[topicCbo.selectedIndex].value;

	if (document.getElementById("name").value.length == 0)
	{
		alert("Your name is required.");
		document.getElementById("name").focus();
		valid = false;
	}
	else if (document.getElementById("email").value.length == 0)
	{
		alert("E-mail address is required.");
		document.getElementById("email").focus();
		valid = false;
	}
	else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("email").value) == false)
	{
		alert("Invalid e-mail address specified.");
		document.getElementById("email").focus();
		valid = false;
	}
	else if (document.getElementById("msg").value.length == 0)
	{
		alert("Please enter a message.");
		document.getElementById("msg").focus();
		valid = false;
	}
	else if (subject == '')
	{
		alert("Please choose a subject.");
		valid = false;
	}
	
	if (valid == false)
	{
		return;
	}

	var page = "email.php?contact_name=" + document.getElementById("name").value + "&contact_email=" + document.getElementById("email").value + "&howdidyou=" + howDidYou + "&topic=" + subject + "&msg=" + document.getElementById("msg").value.replace(/\n/g,"<br/>");
	Query(page, EmailResult);
}

function SearchProperties()
{
	var count = 0;
	var extra = "";
	var searchTxt = document.getElementById("searchText").value;
	var regionCbo = document.getElementById("rgn");
	var regionTxt = regionCbo.options[regionCbo.selectedIndex].value;
	var numOfBedroomsCbo = document.getElementById("bedrooms");
	var numOfBedroomsTxt = numOfBedroomsCbo.options[numOfBedroomsCbo.selectedIndex].value;
	var minRentTxt = document.getElementById("minrent").value;
	var maxRentTxt = document.getElementById("maxrent").value;
		
	if(searchTxt != "")
	{
		extra = extra + "&searchTerm=" + searchTxt;		
		count = count + 1;
	}

	if(regionTxt != "")
	{
		extra = extra + "&region=" + regionTxt;			
		count = count + 1;
	}

	if(numOfBedroomsTxt != "")
	{
		extra = extra + "&noOfBedrooms=" + numOfBedroomsTxt;			
		count = count + 1;
	}

	if(minRentTxt != "")
	{
		extra = extra + "&minRent=" + minRentTxt;			
		count = count + 1;
	}
	
	if(maxRentTxt != "")
	{
		extra = extra + "&maxRent=" + maxRentTxt;
		count = count + 1;
	}
		
	var page = "propertylistings.php?search=true" + extra;
	window.location = page;
}

function SendEnquiry()
{
	var valid = true;
	var theName = document.getElementById("name").value;
	var theEmail = document.getElementById("email").value;
	var message = document.getElementById("message").value;
	var propname = document.getElementById("propname").value;
	var subject = "Enquiry from Website: " + propname;
		
	if (document.getElementById("name").value.length == 0)
	{
		alert('Name is a required field');
		document.getElementById("name").focus();
		valid = false;
	}
	else if (document.getElementById("email").value.length == 0)
	{
		alert('E-mail is a required field');
		document.getElementById("name").focus();
		valid = false;
	}
	else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("email").value) == false)
	{
		alert('Invalid e-mail address');
		document.getElementById("email").focus();
		valid = false;
	}
	else if (document.getElementById("message").value.length == 0)
	{
		alert('Message is a required field');
		document.getElementById("message").focus();
		valid = false;
	}
	if (valid == false)
	{
		return;
	}

	if (valid == true)
	{
		var page = "email.php?contact_name=" + theName + "&contact_email=" + theEmail  + "&topic=" + subject + "&msg=" + message.replace(/\n/g,"<br/>");
	Query(page, EnquiryResult);
	}
}

function SendToFriendResult(a)
{	
	if (a == "True")
	{
		document.getElementById("yourname").value = "";
		document.getElementById("youremail").value = "";
		document.getElementById("theirname").value = "";
		document.getElementById("theiremail").value = "";
		document.getElementById("message").value = "";
		document.getElementById("err_success").innerHTML = "<p><font color='white'>Send To Friend successfully sent!<br/>You can now close the window.</font>";
	}
}

function EnquiryResult(a)
{	
	if (a == "True")
	{
		document.getElementById("name").value = "";
		document.getElementById("email").value = "";
		document.getElementById("message").value = "";
		document.getElementById("err_success").innerHTML = "<p><font color='white'>Enquiry successfully sent! We will get back to you shortly.<br/>You can now close the window.</font>";
	}
}

function EmailResult(a)
{	
	if (a == "True")
	{
		document.getElementById("name").value = "";
		document.getElementById("email").value = "";
		document.getElementById("msg").value = "";
		document.getElementById("subject").options[0].selected=true;
		document.getElementById("err_success").innerHTML = "<p><font color='blue'><b>Message successfully sent! We will get back to you shortly.</b></font></p>";
	}
}

function SendOwnersContactUs()
{
	var valid = true;
	document.getElementById("err_fname").innerHTML = "";
	document.getElementById("err_sname").innerHTML = "";
	document.getElementById("err_add1").innerHTML = "";
	document.getElementById("err_add2").innerHTML = "";
	document.getElementById("err_fixedno").innerHTML = "";
	document.getElementById("err_mobileno").innerHTML = "";
	document.getElementById("err_email").innerHTML = "";
	document.getElementById("err_desc").innerHTML = "";
	document.getElementById("err_location").innerHTML = "";
	document.getElementById("err_num_rooms").innerHTML = "";
	
	if (document.getElementById("fname").value.length == 0)
	{
		document.getElementById("err_fname").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("sname").value.length == 0)
	{
		document.getElementById("err_sname").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById("email").value) == false)
	{
		document.getElementById("err_email").innerHTML = "<font color='red'><b>* Invalid e-mail address.</b></font>";
		valid = false;
	}
	if (document.getElementById("add1").value.length == 0)
	{
		document.getElementById("err_add1").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("add2").value.length == 0)
	{
		document.getElementById("err_add2").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("fixedno").value.length == 0)
	{
		document.getElementById("err_fixedno").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("mobileno").value.length == 0)
	{
		document.getElementById("err_mobileno").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("desc").value.length == 0)
	{
		document.getElementById("err_desc").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("location").value.length == 0)
	{
		document.getElementById("err_location").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	if (document.getElementById("num_rooms").value.length == 0)
	{
		document.getElementById("err_num_rooms").innerHTML = "<font color='red'><b>* Required field.</b></font>";
		valid = false;
	}
	
	if (valid == false)
	{
		return;
	}

	if (valid == true)
	{
		var page = "emailOwners.php?fname=" + document.getElementById("fname").value + "&sname=" + document.getElementById("sname").value  + "&email=" + document.getElementById("email").value  + "&add1=" + document.getElementById("add1").value + "&add2=" + document.getElementById("add2").value + "&add3=" + document.getElementById("add3").value + "&fixedno=" + document.getElementById("fixedno").value + "&mobileno=" + document.getElementById("mobileno").value + "&desc=" + document.getElementById("desc").value + "&location=" + document.getElementById("location").value + "&num_rooms=" + document.getElementById("num_rooms").value;
	Query(page, EmailOwnersResult);	}
}

function ClearOwnersContactUs()
{
	document.getElementById("fname").value = "";
	document.getElementById("sname").value = "";
	document.getElementById("add1").value = "";
	document.getElementById("add2").value = "";
	document.getElementById("add3").value = "";
	document.getElementById("fixedno").value = "";
	document.getElementById("mobileno").value = "";
	document.getElementById("email").value = "";
	document.getElementById("desc").value = "";
	document.getElementById("location").value = "";
	document.getElementById("num_rooms").value = "";	
}

function EmailOwnersResult(a)
{	
	if (a == "True")
	{
		ClearOwnersContactUs();
		document.getElementById("err_success").innerHTML = "<p><font color='blue'><b>Message successfully sent! We will get back to you shortly.</b></font></p>";
	}
}

function rollover()
{
  if(!document.getElementById || !document.createTextNode){return;}
  var n=document.getElementById('nav');
  if(!n){return;}
  var lis=n.getElementsByTagName('li');
  for (var i=0;i<lis.length;i++)
  {
    lis[i].onmouseover=function()
    {
      this.className=this.className?'cur':'over';
    }
    lis[i].onmouseout=function()
    {
       this.className=this.className=='cur'?'cur':'';
    }
  }
}

shuffle = function(v)
{
	for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x);
	return v;
};
