browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function showPic(imgName) 
{
	if (ns3up || ie4up) 
		imgOn = ("" + imgName);
		
	document.mainpic.src = imgOn;
}

function loadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=loadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function RestoreImage() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function findObject(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObject(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObject(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function doQuote(prefix, hotelCode) {
	window.open(prefix+'transactions/user-booking.php?hotel='+hotelCode, '', 'resizable,scrollbars,width=700,height=600')
}

function goTermsConditions(prefix) {
	window.open(prefix+'terms-and-conditions.php', '', 'resizable,scrollbars,width=550,height=600')
}

function bookmarkUs() {
	window.external.AddFavorite('http://www.south-african-homes.com', 'South-African-Homes.com - Purchase South African Property and Stay for Free!!');
}

function recommendUs(prefix) {
	window.open(prefix+'recommend.php', '', 'resizable=no,scrollbars=no,width=550,height=350')
}

function validateEntry() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=validateEntry.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=findObject(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.returnValue = (errors == '');
}

function validateContactForm()
{
	fv = new formValidator();
	
	if (fv.isEmpty("your_title"))
		fv.raiseError("Please provide us with your title.");
	
	if (fv.isEmpty("your_name"))
		fv.raiseError("Please provide your name.");
		
	if (fv.isEmpty("your_surname"))
		fv.raiseError("Please provide your surname.");
		
	if (fv.isEmpty("your_num_1"))
		fv.raiseError("Please provide us with a contact number.");
		
	if (fv.isEmpty("your_num_2"))
		fv.raiseError("Please provide us with an alternative contact number.");
	
	if (!fv.isEmpty("from_email"))
	{
		if (!fv.isEmailAddress("from_email"))
			fv.raiseError("Please supply a valid email address.");
	}
	else
		fv.raiseError("Please supply your email address, so that we can get back to you.");
		
	if (fv.isEmpty("where_reside"))
		fv.raiseError("Please tell us where you currently reside.");
		
	if (fv.isEmpty("where_purchase"))
		fv.raiseError("Please tell us where you want to purchase.");
		
	if (fv.isEmpty("purpose_purchase"))
		fv.raiseError("Please tell us the purpose of your purchase, like holiday home etc. ");
		
	if (fv.isEmpty("property_type"))
		fv.raiseError("Please tell us the property type you would like to purchase, like golf estate etc. ");
		
	if (fv.isEmpty("num_of_rooms"))
		fv.raiseError("Please tell us the number of rooms you would like.");
		
	if (fv.isEmpty("currency"))
		fv.raiseError("Please tell us the currency. ");
		
	if (fv.isEmpty("purchase_price"))
		fv.raiseError("Please tell us the price range you are looking to buy in. ");
	
	
	if (fv.numErrors() > 0)
	{
		fv.displayErrors();
		return false;
	}
	else
		return true;
}