//--- Dropdown
//function for dropdown menus to work in IE

var sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
//if (window.attachEvent) window.attachEvent("onload", sfHover);

function dropdown(element)
{
  element.className += " sfhover";
}

function rollup(element)
{
  element.className = element.className.replace(new RegExp("\\bsfhover\\b"), "");
}

//--- Form
function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld, confirm_fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

    if (fld.value == "") {
//         fld.style.background = 'Yellow';
//         error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
	if (trim(confirm_fld.value) != tfld) {
	  confirm_fld.style.background = 'yellow';
	  error = "Confirm Email Address is different.\n";
	}
    }
    return error;
}

function validate_form(doc) {
var reason = "";

 var email_field = doc.getElementById('email');
 var confirm_email_field = doc.getElementById('confirm_email');

 if (email_field && confirm_email_field) {
   reason += validateEmail(email_field, confirm_email_field);
 }

  if (reason != "") {
    alert("Some fields need correction:\n" + reason);
    return false;
  }

  return true;
}

//--- Browse
function show_more(id) {
  var div_element = document.getElementById(id);

  if (div_element) {
    div_element.className = div_element.className.replace('display_min', 'display_max');
  }
}

function show_less(id) {
  var div_element = document.getElementById(id);

  if (div_element) {
    div_element.className = div_element.className.replace('display_max', 'display_min');
  }
}

//--- Text Size
function setTextSize(text_size) {
  var body_el = document.getElementsByTagName('body')[0];

  body_el.className = text_size;
  window.name = text_size;
}

//--- Banner
var images;
var image_index = 0;
var opacity = 100;
var opacity_delta = 1;
var delay = 40;
var image_hold = 4000;

if (document.images) {
  banner1 = new Image(756, 270);
  banner1.src = 'images/banner/banner_riders_resting.jpg';
  banner2 = new Image(756, 270);
  banner2.src = 'images/banner/banner_riding_flowers.jpg';
  banner3 = new Image(756, 270);
  banner3.src = 'images/banner/banner_horses_flowers.jpg';
  banner4 = new Image(756, 270);
  banner4.src = 'images/banner/banner_training.jpg';
  banner5 = new Image(756, 270);
  banner5.src = 'images/banner/banner_bear_defense.jpg';
  banner6 = new Image(756, 270);
  banner6.src = 'images/banner/banner_rider_flower_meadow.jpg';
  
  images = new Array(banner1, banner2, banner3, banner4, banner5, banner6);

  window.onload = cycleBanner;
 }

function cycleBanner() {
  var banner_background = document.getElementById('banner_image');
  var banner_overlay = document.getElementById('banner_image_overlay');

  banner_background.src = images[image_index].src;

  opacity = 0;
  setOpacity('banner_image_overlay', opacity);
  if (++image_index >= images.length) {
    image_index = 0;
  }

  banner_overlay.src = images[image_index].src;

  fadeInBannerOverlay();
}

function fadeInBannerOverlay() {
  opacity += opacity_delta;

  setOpacity('banner_image_overlay', opacity);

  if (opacity >= 100) {
    setTimeout('cycleBanner()', image_hold);
  } else {
    setTimeout('fadeInBannerOverlay()', delay);
  }
}
  
function setOpacity(id, opacity) {
  var element_style = document.getElementById(id).style;
  
  element_style.opacity = (opacity / 100);
  element_style.MozOpacity = (opacity / 100);
  element_style.KhtmlOpacity = (opacity / 100);
  element_style.filter = "alpha(opacity=" + opacity + ")";
}

