// ==========================================================================
//	CONFIGURATION
// ==========================================================================

var popupLinkConfig = new Array;

// popupLinkConfig["classname"] = new Array ( "targetname", "width=550,height=350,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");
popupLinkConfig["full_local_map"]    = new Array ( "", "width=700,height=550,scrollbar=no,menubar=no");
popupLinkConfig["virtualtour"]    = new Array ( "", "width=700,height=550,scrollbar=no,menubar=no");

// ==========================================================================
//	INIT FUNCTIONS
// ==========================================================================

//page init function
window.onload = initPage;  

//initialize page
function initPage() {
	//init popup handler code
	initPopupLinks();
	//init contact form validation code
	initContactValidation();
}

// ==========================================================================
//	POPUP FUNCTIONS FUNCTIONS
// ==========================================================================

function initPopupLinks() {
  if (!document.getElementsByTagName) return true;
  var pageLinks = document.getElementsByTagName("a");
  for (var i = 0; i < pageLinks.length; i++) 
  {
    if (((pageLinks[i].className != null) && 
         (pageLinks[i].className != "")) ||
        ((pageLinks[i].parentNode.className != null) && 
         (pageLinks[i].parentNode.className != "")))
    {
      var linkClass = " " + pageLinks[i].className + " ";
      if ((linkClass == "  ") && (pageLinks[i].parentNode.className != ""))
      {
        linkClass = " " + pageLinks[i].parentNode.className + " ";
      }
      for (var theKey in popupLinkConfig) 
      {
        if (linkClass.indexOf(" " + theKey + " ") > -1)
        {
          if ((pageLinks[i].target == "") || (pageLinks[i].target == null))
          {
            pageLinks[i].target = (popupLinkConfig[theKey][0] != "") ? popupLinkConfig[theKey][0] : theKey;
          }
          pageLinks[i].settings = popupLinkConfig[theKey][1];
          pageLinks[i].onclick = popUp;
        }
      }
    }
  }
  return true;
}

function popUp()
{
  newWin = window.open(this.href, this.target, this.settings);
  newWin.focus();
  return false;
}

// ==========================================================================
//	CONTACT FORM VALIDATION FUNCTIONS
// ==========================================================================

function initContactValidation(){
	//Attaching the onSubmit event to the login form
    contactForm = document.getElementById('contact_form');
	if(contactForm){
	    contactForm.onsubmit = function () {
	        return validateForm(this);
	    }
	}
}

function trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}

function validateForm(form){
	//get form data
	var strName 	= trim(form.full_name.value);
	var strEmail 	= trim(form.email_address.value);
	var strNumber 	= trim(form.tel_no.value);
	var strComments = trim(form.details.value);
	//init error messages
	var strErrors  	= "";
		
	//validate name
	if(strName.length == 0){
		//add name error message
		strErrors += " - Name\n";
	}
	//validate name
	if(strEmail.length == 0){
		//add name error message
		strErrors += " - Email Address\n";
	}
	//validate name
	if(strNumber.length == 0){
		//add name error message
		strErrors += " - Contact Number\n";
	}
	//validate name
	if(strComments.length == 0){
		//add name error message
		strErrors += " - Comments";
	}
			
	//no error messages?
	if(strErrors.length == 0){
		//passed validation
		return true;
	} else {
		//build final error message
		strErrorMessage = "The following details were incomplete :-\n\n" + strErrors;
		
		//display error mesages
		alert(strErrorMessage);
			
		//prevent further processing
		return false;
	}
}
