function zebraTable(){
var zeb_tables= getElementsByClassName("data-table", "table", document);

for (i=0;i<zeb_tables.length; i=i+1){
		var zeb_rows = zeb_tables[i].getElementsByTagName("tr");

		for (j=1;j<zeb_rows.length; j=j+2){
			zeb_rows[j].className="odd";
		}}}

function zebraLists(){
var zeb_lists= getElementsByClassName("events-list", "ul", document);

for (k=0;k<zeb_lists.length; k=k+1){
		var zeb_lis = zeb_lists[k].getElementsByTagName("li");

		for (l=1;l<zeb_lis.length; l=l+2){
			zeb_lis[l].className="odd";
		}}}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}	
	}
	return returnElements;
}


function setExternalLinks() {
    if ( !document.getElementsByTagName ) {
         return null;
       }
     var anchors = document.getElementsByTagName( "a" );
     for ( var i = 0; i < anchors.length; i++ ) {
         var anchor = anchors[i];
        if ( anchor.getAttribute( "href" ) &&
             anchor.className == "external" ) {
          anchor.setAttribute( "target", "_blank" );
          }
       }
    }

function addEventX(element, eventType, lamdaFunction, useCapture) {
 if (element.addEventListener) {
 element.addEventListener(eventType, lamdaFunction, useCapture);
 return true;
 } else if (element.attachEvent) {
 var r = element.attachEvent('on' + eventType, lamdaFunction);
 return r;
 } else {
 return false;
 }
}

addEventX(window, 'load', clearFormFields, false);	
	
function clearFormFields() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];
        
        if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
            /* Add event handlers */          
            addEventX(theInput, 'focus', clearDefaultText, false);
            addEventX(theInput, 'blur', replaceDefaultText, false);
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}


function initOverLabels () {
  if (!document.getElementById) return;      

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // labels with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {

    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute ('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      } 

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to label elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i]. getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-5000px' : '0px';
      return true;
    }
  }
}


function memberSubmitButton(){
	if(!document.getElementById("member_login")) {return false;}
	
members_btn = document.getElementById("member_login");
members_btn.onclick= function(){
changeSubmit(this, 'Logging in...')	
}
}

function bookingSubmitButton(){

if(!document.getElementById("submit_btn")) {return false;}
	
submit_btn = document.getElementById("submit_btn");
submit_btn.onclick= function(){
changeSubmit(this, 'Registering...')
}
}


function changeSubmit(element, inputvalue){
	
element.setAttribute('originalValue', element.value);
element.disabled=true;
element.value=inputvalue;
result = (element.form.onsubmit ? (element.form.onsubmit() ? element.form.submit() : false) : element.form.submit());
if (result == false) { element.value = element.getAttribute('originalValue'); element.disabled = false };
element.disabled=false;
return result
}


window.onload = function () {
  setTimeout(initOverLabels, 100);
};

function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}}}
		
addLoadEvent(memberSubmitButton);
addLoadEvent(bookingSubmitButton);
addLoadEvent(setExternalLinks);	
addLoadEvent(zebraTable);	
addLoadEvent(zebraLists);	
addLoadEvent(getElementsByClassName);
