// OTHER FUNCTIONS


function resetEmbeddedObjects() {
  fls = document.getElementsByTagName("object");
  for (var a = 0; a < fls.length; a++) {
    if(fls[a].outerHTML.toString().indexOf("lesmills") == -1){
      fls[a].outerHTML = fls[a].outerHTML; 
    }
  }
  fls = document.getElementsByTagName("embed");
  for (var a = 0; a < fls.length; a++) { 
    if(fls[a].outerHTML.toString().indexOf("lesmills") == -1){
      fls[a].outerHTML = fls[a].outerHTML;
    } 
  }
}


function resetIframeEmbeddedObjects( name ) {
  return;
  // currently not working because of cross-domain scripting restrictions
  var d = window.frames[name].document;
  fls = d.getElementsByTagName("object");
  for (var a = 0; a < fls.length; a++) { alert('a'); fls[a].outerHTML = fls[a].outerHTML; }
  fls = d.getElementsByTagName("embed");
  for (var a = 0; a < fls.length; a++) { alert('b'); fls[a].outerHTML = fls[a].outerHTML; }
}

function doHotspotRollover(id) {
  var i1 = getE('hs_'+id+'_a') ;
  var i2 = getE('hs_'+id+'_b') ;
  i1.style.visibility = 'hidden';
  i2.style.visibility = 'visible';
}

function undoHotspotRollover(id) {
  var i1 = getE('hs_'+id+'_a') ;
  var i2 = getE('hs_'+id+'_b') ;
  i1.style.visibility = 'visible';
  i2.style.visibility = 'hidden';
}

function getE(id) {
  if (document.getElementById) return document.getElementById(id) ; else return null ; 
}

function checkFindEngineForm()
{
  //verify form values
  var valid = true ; 
  var radii = new Array( '2200', '350', '200', '700', '1200', '900', '1300', '800', '50' ) ;
  var form = getE( 'fe_searchform' ) ;
  if ( trim( form.city.value ) != '' && form.state.value == 0 )
  {
    alert( 'Please select a state.') ;
    valid = false ;
  }
  if ( trim( form.radius.value ) == '' || form.radius.value == 0 ) 
  {
    form.radius.value = radii[form.state.value] ;
  }
  //form.postcode.value = '' ;
  return valid ;
}

function writeFindEngineStateSearchForm()
{
  var city = ( typeof(fe_city) != 'undefined' ) ? fe_city : '' ;
  var postcode = ( typeof(fe_postcode) != 'undefined' ) ? fe_postcode : '' ;
  var keywords = ( typeof(fe_keywords) != 'undefined' ) ? fe_keywords : '' ;
  var state = ( typeof(fe_state) != 'undefined' ) ? fe_state : 0 ;
  var radius = ( typeof(fe_radius) != 'undefined' ) ? fe_radius : 0 ;
	document.write( '<form id="fe_searchform" action="/locate.asp" method="get" onsubmit="return checkFindEngineForm();">' ) ;
  document.write( '<input type="hidden" name="postcode" value="' + postcode + '" />' ) ;
  document.write( '<input type="hidden" name="radius" value="' + radius + '" />' ) ;
  document.write( '<table width="400" border="0" cellspacing="0" cellpadding="0">' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td colspan="2">Find businesses with the keywords:<br />' ) ;
  document.write( '      <input name="query" type="text" tabindex="1" size="50" value="' + keywords + '" />' ) ;
  document.write( '    </td>' ) ;
	document.write( '    <td rowspan="2">' ) ;
  document.write( '      <input type="submit" tabindex="5" value="Locate" />' ) ;
	document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td width="192">' ) ;
  document.write( '      City/Suburb<br />' ) ;
  document.write( '      <input name="city" type="text" tabindex="3" size="28" value="' + city + '" />' ) ;
  document.write( '    </td>' ) ;
  document.write( '    <td width="120">' ) ;
  document.write( '      State<br />' ) ;
  document.write( '      <select name="state" tabindex="4">' ) ;
	document.write( '        <option value="0"' + ( state == 0 ? ' selected="selected"' : '' ) + '>All AU</option>' ) ;
	document.write( '        <option value="8"' + ( state == 8 ? ' selected="selected"' : '' ) + '>ACT</option>' ) ;
	document.write( '        <option value="3"' + ( state == 3 ? ' selected="selected"' : '' ) + '>NSW</option>' ) ;
	document.write( '        <option value="5"' + ( state == 5 ? ' selected="selected"' : '' ) + '>NT</option>' ) ;
	document.write( '        <option value="4"' + ( state == 4 ? ' selected="selected"' : '' ) + '>QLD</option>' ) ;
	document.write( '        <option value="7"' + ( state == 7 ? ' selected="selected"' : '' ) + '>SA</option>' ) ;
	document.write( '        <option value="2"' + ( state == 2 ? ' selected="selected"' : '' ) + '>TAS</option>' ) ;
	document.write( '        <option value="1"' + ( state == 1 ? ' selected="selected"' : '' ) + '>VIC</option>' ) ;
	document.write( '        <option value="6"' + ( state == 6 ? ' selected="selected"' : '' ) + '>WA</option>' ) ;
  document.write( '      </select>' ) ;
  document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '</table>' ) ;
  document.write( '</form>' ) ;
}

function writeFindEngineSearchForm()
{
  var city = ( typeof(fe_city) != 'undefined' ) ? fe_city : '' ;
  var postcode = ( typeof(fe_postcode) != 'undefined' ) ? fe_postcode : '' ;
  var keywords = ( typeof(fe_keywords) != 'undefined' ) ? fe_keywords : '' ;
  var state = ( typeof(fe_state) != 'undefined' ) ? fe_state : 0 ;
  var radius = ( typeof(fe_radius) != 'undefined' ) ? fe_radius : 5 ;
	document.write( '<form id="fe_searchform" action="/locate.asp" method="get" onsubmit="return checkFindEngineForm();">' ) ;
  document.write( '<input type="hidden" name="postcode" value="' + postcode + '" />' ) ;
  document.write( '<table width="336" border="0" cellspacing="8" cellpadding="0">' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td colspan="2">Find businesses with the keywords:<br />' ) ;
  document.write( '      <input name="query" type="text" tabindex="1" size="50" value="' + keywords + '" />' ) ;
  document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td colspan="2">Search Radius&nbsp;' ) ;
  document.write( '      <input name="radius" type="text" tabindex="3" size="4" value="' + radius + '" />' ) ;
  document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td width="192">' ) ;
  document.write( '      City/Suburb<br />' ) ;
  document.write( '      <input name="city" type="text" tabindex="3" size="28" value="' + city + '" />' ) ;
  document.write( '    </td>' ) ;
  document.write( '    <td width="120">' ) ;
  document.write( '      State<br />' ) ;
  document.write( '      <select name="state" tabindex="4">' ) ;
	document.write( '        <option value="0"' + ( state == 0 ? ' selected="selected"' : '' ) + '>All AU</option>' ) ;
	document.write( '        <option value="8"' + ( state == 8 ? ' selected="selected"' : '' ) + '>ACT</option>' ) ;
	document.write( '        <option value="3"' + ( state == 3 ? ' selected="selected"' : '' ) + '>NSW</option>' ) ;
	document.write( '        <option value="5"' + ( state == 5 ? ' selected="selected"' : '' ) + '>NT</option>' ) ;
	document.write( '        <option value="4"' + ( state == 4 ? ' selected="selected"' : '' ) + '>QLD</option>' ) ;
	document.write( '        <option value="7"' + ( state == 7 ? ' selected="selected"' : '' ) + '>SA</option>' ) ;
	document.write( '        <option value="2"' + ( state == 2 ? ' selected="selected"' : '' ) + '>TAS</option>' ) ;
	document.write( '        <option value="1"' + ( state == 1 ? ' selected="selected"' : '' ) + '>VIC</option>' ) ;
	document.write( '        <option value="6"' + ( state == 6 ? ' selected="selected"' : '' ) + '>WA</option>' ) ;
  document.write( '      </select>' ) ;
  document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '  <tr>' ) ;
  document.write( '    <td colspan="2" align="center">' ) ;
  document.write( '      <input type="submit" tabindex="5" value="Locate" />' ) ;
  document.write( '    </td>' ) ;
  document.write( '  </tr>' ) ;
  document.write( '</table>' ) ;
  document.write( '</form>' ) ;
}

function checkform(objForm) {
	var objRequired = document.getElementById("required")
  if (!isNull(objRequired)) {
    var aryRequired = objRequired.value.split(",");
    var blnRespond = false
    for (i=0; i < aryRequired.length; i++) {
      var value = ""
      if (isCheckbox(objForm.elements[aryRequired[i]]) || isRadio(objForm.elements[aryRequired[i]])) {
        value = getCheckOrRadioValue(objForm.elements[aryRequired[i]])
      } else {
        value = objForm.elements[aryRequired[i]].value
      }
      if (value == "") {
        blnRespond = true
        setBackgroundColour(objForm.elements[aryRequired[i]], "#ffdddd")
      } else setBackgroundColour(objForm.elements[aryRequired[i]], ""); 
    }

    if (blnRespond) {
      alert("Please complete all required fields before continuing.\nThe appropriate fields have been highlighted.");
      return false;
    }
  }   
  return true;
}

function setBackgroundColour(object, colour) {
  //used to set the background colour of radios and checkboxes
  if (isDefined(object.length)) {
    // set the value for all items
    for (var i = 0; i < object.length; i++) {
      object[i].style.backgroundColor = colour
    }
  } else {
    // set the single item
    object.style.backgroundColor = colour
  }
}

function isCheckbox(object) {
  return ((isDefined(object.type) && object.type == "checkbox") || (isDefined(object.length) && object[0].type == "checkbox"))
}

function isRadio(object) {
  return ((isDefined(object.type) && object.type == "radio") || (isDefined(object.length) && object[0].type == "radio"))
}

function getCheckOrRadioValue(object) {
  var value = ""
  if (isDefined(object.length)) {
    // find the value from the list of options
    for (var i = 0; i < object.length; i++) {
      if (object[i].checked) { value = object[i].value }
    }
  } else {
    // check the single item
    if (object.checked) { value = object.value }
  }
  return value
}

function isDefined(object) {
  return (typeof(object) != 'undefined')
}

function validateRadioButton() {
// place any other field validations that you require here
// validate myradiobuttons
myOption = -1;
for (i=thisform.myradiobutton.length-1; i > -1; i--) {
if (thisform.myradiobutton[i].checked) {
myOption = i;
}
}
if (myOption == -1) {
alert("You must select a radio button");
return false;
}

alert("You selected button number " + myOption
+ " which has a value of "
+ thisform.myradiobutton[myOption].value);

// place any other field validations that you require here
thisform.submit(); // this line submits the form after validation
}

function updateCartForm(strRadioLabel) {
	if (strRadioLabel == "Credit Card") {
		//re-enable any credit card fields on the form
		if (document.getElementById('cardname')) document.getElementById('cardname').disabled = false
		if (document.getElementById('cardnumber')) document.getElementById('cardnumber').disabled = false
		if (document.getElementById('securitynumber')) document.getElementById('securitynumber').disabled = false
		if (document.getElementById('expirydate')) document.getElementById('expirydate').disabled = false
	}
	return true
}

function contentLoadActions() {
	if (typeof(changePrice) == "function" && !isNull(document.getElementById("frmAddToCart")) && !isNull(document.getElementById("txtSize"))) {
		changePrice(document.getElementById('txtSize'),document.forms.frmAddToCart)
	}
}

function isNull(item) {
  return (item == null)
}

function EncodeQuotes(s)
{
  return s.replace( /'/g, '\\\'') ;
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}
