
function toggleSlave(ev,masterID) {
   var slaves = YAHOO.util.Dom.getElementsByClassName('slave'+masterID,'tr');
   for(var loop=0; loop<slaves.length; loop++) {

      if(!YAHOO.util.Dom.hasClass(slaves[loop],'scriptable')) {
	 YAHOO.util.Dom.addClass(slaves[loop],'scriptable');
      }

      if(YAHOO.util.Dom.hasClass(slaves[loop],'active')) {
	 YAHOO.util.Dom.removeClass(slaves[loop],'active');
      }
      else {
	 YAHOO.util.Dom.addClass(slaves[loop],'active');
      }
   }
}




function check_callback_form(ev) {
   gotowhich = ""; // Reset variable
   var element_good = returnGood(); // Copy variable from included validation functions

   textbox_OK(document.getElementById('customername'), document.getElementById('customername_label'), element_good);
   textbox_OK(document.getElementById('customertel'), document.getElementById('customertel_label'), element_good);
   textbox_OK(document.getElementById('callbacktime'), document.getElementById('callbacktime_label'), element_good);
   textbox_OK(document.getElementById('email'), document.getElementById('email_label'), element_good);

   // == Send focus to appropriate element ==============================
   if ( gotowhich != "" ) {
      gotowhich.focus(); // Go to the first incorrect field
      window.scrollBy(0, -50); // Then scroll a bit above it.  (Disabled for short form)
      alert('Please check the questions marked and try again.');
      YAHOO.util.Event.preventDefault(ev);
      return false;
   } 
   else { // Submit form
      return true;
   }
}

function check_email_form(ev) {
   gotowhich = ""; // Reset variable
   var element_good = returnGood(); // Copy variable from included validation functions

   textbox_OK(document.getElementById('query'), document.getElementById('query_label'), element_good);
   textbox_OK(document.getElementById('name'), document.getElementById('name_label'), element_good);
   textbox_OK(document.getElementById('agency'), document.getElementById('agency_label'), element_good);
   textbox_OK(document.getElementById('email'), document.getElementById('email_label'), element_good);

   // == Send focus to appropriate element ==============================
   if ( gotowhich != "" ) {
      gotowhich.focus(); // Go to the first incorrect field
      window.scrollBy(0, -50); // Then scroll a bit above it.  (Disabled for short form)
      alert('Please check the questions marked and try again.');
      YAHOO.util.Event.preventDefault(ev);
      return false;
   } 
   else { // Submit form
      return true;
   }
}

function check_enquiry_form(ev) {
   gotowhich = ""; // Reset variable
   var element_good = returnGood(); // Copy variable from included validation functions

	textbox_OK(document.getElementById('rate'), document.getElementById('rate_label'), element_good);
   textbox_OK(document.getElementById('name'), document.getElementById('name_label'), element_good);
   textbox_OK(document.getElementById('telephone'), document.getElementById('telephone_label'), element_good);
   textbox_OK(document.getElementById('email'), document.getElementById('email_label'), element_good);

   // == Send focus to appropriate element ==============================
   if ( gotowhich != "" ) {
      gotowhich.focus(); // Go to the first incorrect field
      window.scrollBy(0, -50); // Then scroll a bit above it.  (Disabled for short form)
      alert('Please check the questions marked and try again.');
      YAHOO.util.Event.preventDefault(ev);
      return false;
   } 
   else { // Submit form
      return true;
   }
}

function check_uc_form(ev)
{
   gotowhich = ""; // Reset variable
   var element_good = returnGood(); // Copy variable from included validation functions

   textbox_OK(document.getElementById('rate'), document.getElementById('rate_label'), element_good);
   textbox_OK(document.getElementById('name'), document.getElementById('name_label'), element_good);
   textbox_OK(document.getElementById('surname'), document.getElementById('surname_label'), element_good);
   textbox_OK(document.getElementById('telephone'), document.getElementById('telephone_label'), element_good);
   textbox_OK(document.getElementById('email'), document.getElementById('email_label'), element_good);

   // == Send focus to appropriate element ==============================
   if ( gotowhich != "" ) {
      gotowhich.focus(); // Go to the first incorrect field
      window.scrollBy(0, -50); // Then scroll a bit above it.  (Disabled for short form)
      alert('Please check the questions marked and try again.');
      YAHOO.util.Event.preventDefault(ev);
      return false;
   }
   else { // Submit form
      return true;
   }
}


function check_refer_form(ev) {
   gotowhich = ""; // Reset variable
   var element_good = returnGood(); // Copy variable from included validation functions

   textbox_OK(document.getElementById('name'), document.getElementById('name_label'), element_good);
   textbox_OK(document.getElementById('telephone'), document.getElementById('telephone_label'), element_good);
   textbox_OK(document.getElementById('email'), document.getElementById('email_label'), element_good);
   textbox_OK(document.getElementById('friend_name'), document.getElementById('friend_name_label'), element_good);
   textbox_OK(document.getElementById('friend_telephone'), document.getElementById('friend_telephone_label'), element_good);
   textbox_OK(document.getElementById('friend_email'), document.getElementById('friend_email_label'), element_good);
   checkbox_checked(document.getElementById('terms'), document.getElementById('terms_label'), element_good);
   


   // == Send focus to appropriate element ==============================
   if ( gotowhich != "" ) {
      gotowhich.focus(); // Go to the first incorrect field
      window.scrollBy(0, -50); // Then scroll a bit above it.  (Disabled for short form)
      alert('Please check the questions marked and try again.');
      YAHOO.util.Event.preventDefault(ev);
      return false;
   }
   else { // Submit form
      return true;
   }
}


function addExternalLinks() {
    var anchors = document.getElementsByTagName("a", document.getElementById("content"));
    for (loop = 0; loop < anchors.length; loop++) {
        if (anchors[loop].rel == "external") {
            YAHOO.util.Event.addListener(anchors[loop], "click", openNewWin);
        }
    }
}


function openNewWin(ev) {
    YAHOO.util.Event.preventDefault(ev);
    var win = window.open(this.href, "Sanzar", "menubar=no,width=800,height=640,toolbar=no,scrollbars=1");
}


function disable(ev) {
   YAHOO.util.Event.preventDefault(ev);
}


function tooltipper() {

   var elems = YAHOO.util.Dom.getElementsByClassName('tt','a');
   for(var loop=0; loop<elems.length; loop++) {

      YAHOO.util.Event.addListener(elems[loop],'click',disable);

      var myTooltip = new YAHOO.widget.Tooltip("tt", { 
	context:elems[loop], 
	constraintoviewport:false,
	fixedcenter:false,
	text:elems[loop].title,
	hideDelay:0,
	showDelay:500 } );
      
   }
}



function init(ev) {

   addExternalLinks();
   tooltipper();

   // assign master/slave click-to-show behaviour
   if(document.getElementById('master1')) {
      YAHOO.util.Event.addListener('master1','click',toggleSlave,'1',true);
      YAHOO.util.Dom.setStyle('master1','cursor','pointer');
      YAHOO.util.Dom.addClass('master1','scriptable');
   }
   if(document.getElementById('master2')) {
      YAHOO.util.Event.addListener('master2','click',toggleSlave,'2',true);
      YAHOO.util.Dom.setStyle('master2','cursor','pointer');
      YAHOO.util.Dom.addClass('master2','scriptable');
   }

   toggleSlave(ev,'1');
   toggleSlave(ev,'2');
   

   var rounders = YAHOO.util.Dom.getElementsByClassName('rounded','div');
   for(var loop=0; loop<rounders.length; loop++) {
      
      var tl = document.createElement('img');
      tl.src = "/global-assets/images/corners/tl.gif";
      tl.className = 'tl';
      rounders[loop].appendChild(tl);
      
      var tr = document.createElement('img');
      tr.src = "/global-assets/images/corners/tr.gif";
      tr.className = 'tr';
      rounders[loop].appendChild(tr);
      
      var br = document.createElement('img');
      br.src = "/global-assets/images/corners/br.gif";
      br.className = 'br';
      rounders[loop].appendChild(br);
      
      var bl = document.createElement('img');
      bl.src = "/global-assets/images/corners/bl.gif";
      bl.className = 'bl';
      rounders[loop].appendChild(bl);
   }
}


YAHOO.util.Event.onDOMReady(init);

function sanzarAvailabilityChecker(id) {
   YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this);
}

sanzarAvailabilityChecker.prototype.handleOnAvailable = function() {
   if(this.id=="emailform") {
      YAHOO.util.Event.addListener(this, "submit", check_email_form);
   }
   else if(this.id=="callback") {
      YAHOO.util.Event.addListener(this, "submit", check_callback_form);
   }
	else if(this.id=="enquiryform") {
      YAHOO.util.Event.addListener(this, "submit", check_enquiry_form);
   }
   else if(this.id=="ucform") {
      YAHOO.util.Event.addListener(this, "submit", check_uc_form);
   }
   else if(this.id=="refer") {
      YAHOO.util.Event.addListener(this, "submit", check_refer_form);
   }
}


var emailForm = new sanzarAvailabilityChecker('emailform');
var referForm = new sanzarAvailabilityChecker('refer');
var callbackForm = new sanzarAvailabilityChecker('callback');
var enquiryForm = new sanzarAvailabilityChecker('enquiryform');
var ucform = new sanzarAvailabilityChecker('ucform');