//////////////////////////////////////////////////// General JS for MailChimp.com// Requires jQuery//////////////////////////////////////////////////$(document).ready(function(){	disclosureBoxes();	externalLinks();	$('a[rel*=facebox]').facebox(); 	applesearch.init();	// Zebra stripe tables	$(".zebra-stripe tr").mouseover(function() {$(this).addClass("tr-over");}).mouseout(function() {$(this).removeClass("tr-over");});	$(".zebra-stripe tr:even").addClass("even");	$(".zebra-stripe tr:odd").addClass("odd");});// Disclosure Boxes - toggle opn/closed a div with class .disclosure contentfunction disclosureBoxes(){	prepDisclosureBoxes(); // get interface ready		$('a.toggle').click(function(){		$(this).parent().next('.disclosure-content').slideToggle("slow");		$(this).toggleClass('active');		return false;	});}// Close all disclosure boxes by default (progressive enhancement)// Wrap all disclosure titles with an anchor tag trigger interactionfunction prepDisclosureBoxes(){	$('.disclosure-content').css({'display':'none'});	$('.disclosure-title').wrapInner('<a href="#" class="toggle" title="click to open"></a>');}// Launch content in new window// Add rel="external" on any link to launch new windowfunction externalLinks() { 	if (!document.getElementsByTagName) return;	var anchors = document.getElementsByTagName("a");		for (var i=0; i<anchors.length; i++) {		   var anchor = anchors[i];		   if (anchor.getAttribute("href") &&			   anchor.getAttribute("rel") == "external")			 anchor.target = "_blank";		}}/* FaceboxTo activate from HTML page: <a href="pic-or-other-file" rel="facebox">------------------------------------------------------------------------- */(function($) {	var imgDir = "../images/main/scroll/";  $.facebox = function(data, klass) {    $.facebox.loading()    if (data.ajax) fillFaceboxFromAjax(data.ajax)    else if (data.image) fillFaceboxFromImage(data.image)    else if (data.div) fillFaceboxFromHref(data.div)    else if ($.isFunction(data)) data.call($)    else $.facebox.reveal(data, klass)  }  /*   * Public, $.facebox methods   */  $.extend($.facebox, {    settings: {      opacity      : 0,      overlay      : true,      loadingImage : imgDir+'facebox/loading.gif',      closeImage   : imgDir+'facebox/closelabel.gif',      imageTypes   : [ 'png', 'jpg', 'jpeg', 'gif' ],      faceboxHtml  : '\    <div id="facebox" style="display:none;"> \      <div class="popup"> \        <table> \          <tbody> \            <tr> \              <td class="tl"/><td class="b"/><td class="tr"/> \            </tr> \            <tr> \              <td class="b"/> \              <td class="body"> \                <div class="facebox-content"> \                </div> \                <div class="footer"> \                  <a href="#" class="close"> \                    <img src="'+imgDir+'facebox/closelabel.gif" title="close" class="close_image" /> \                  </a> \                </div> \              </td> \              <td class="b"/> \            </tr> \            <tr> \              <td class="bl"/><td class="b"/><td class="br"/> \            </tr> \          </tbody> \        </table> \      </div> \    </div>'    },    loading: function() {      init()      if ($('#facebox .loading').length == 1) return true      showOverlay()      $('#facebox .facebox-content').empty()      $('#facebox .body').children().hide().end().        append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')      $('#facebox').css({        top:	getPageScroll()[1] + (getPageHeight() / 10),        left:	385.5      }).show()      $(document).bind('keydown.facebox', function(e) {        if (e.keyCode == 27) $.facebox.close()        return true      })      $(document).trigger('loading.facebox')    },    reveal: function(data, klass) {      $(document).trigger('beforeReveal.facebox')      if (klass) $('#facebox .facebox-content').addClass(klass)      $('#facebox .facebox-content').append(data)      $('#facebox .loading').remove()      $('#facebox .body').children().fadeIn('normal')      $('#facebox').css('left', $(window).width() / 2 - ($('#facebox table').width() / 2))      $(document).trigger('reveal.facebox').trigger('afterReveal.facebox')    },    close: function() {      $(document).trigger('close.facebox')      return false    }  })  /*   * Public, $.fn methods   */  $.fn.facebox = function(settings) {    init(settings)    function clickHandler() {      $.facebox.loading(true)      // support for rel="facebox.inline_popup" syntax, to add a class      // also supports deprecated "facebox[.inline_popup]" syntax      var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)      if (klass) klass = klass[1]      fillFaceboxFromHref(this.href, klass)      return false    }    return this.click(clickHandler)  }  /*   * Private methods   */  // called one time to setup facebox on this page  function init(settings) {    if ($.facebox.settings.inited) return true    else $.facebox.settings.inited = true    $(document).trigger('init.facebox')    makeCompatible()    var imageTypes = $.facebox.settings.imageTypes.join('|')    $.facebox.settings.imageTypesRegexp = new RegExp('\.' + imageTypes + '$', 'i')    if (settings) $.extend($.facebox.settings, settings)    $('body').append($.facebox.settings.faceboxHtml)    var preload = [ new Image(), new Image() ]    preload[0].src = $.facebox.settings.closeImage    preload[1].src = $.facebox.settings.loadingImage    $('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(function() {      preload.push(new Image())      preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')    })    $('#facebox .close').click($.facebox.close)    $('#facebox .close_image').attr('src', $.facebox.settings.closeImage)  }    // getPageScroll() by quirksmode.com  function getPageScroll() {    var xScroll, yScroll;    if (self.pageYOffset) {      yScroll = self.pageYOffset;      xScroll = self.pageXOffset;    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict      yScroll = document.documentElement.scrollTop;      xScroll = document.documentElement.scrollLeft;    } else if (document.body) {// all other Explorers      yScroll = document.body.scrollTop;      xScroll = document.body.scrollLeft;	    }    return new Array(xScroll,yScroll)   }  // Adapted from getPageSize() by quirksmode.com  function getPageHeight() {    var windowHeight    if (self.innerHeight) {	// all except Explorer      windowHeight = self.innerHeight;    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode      windowHeight = document.documentElement.clientHeight;    } else if (document.body) { // other Explorers      windowHeight = document.body.clientHeight;    }	    return windowHeight  }  // Backwards compatibility  function makeCompatible() {    var $s = $.facebox.settings    $s.loadingImage = $s.loading_image || $s.loadingImage    $s.closeImage = $s.close_image || $s.closeImage    $s.imageTypes = $s.image_types || $s.imageTypes    $s.faceboxHtml = $s.facebox_html || $s.faceboxHtml  }  // Figures out what you want to display and displays it  // formats are:  //     div: #id  //   image: blah.extension  //    ajax: anything else  function fillFaceboxFromHref(href, klass) {    // div    if (href.match(/#/)) {      var url    = window.location.href.split('#')[0]      var target = href.replace(url,'')      $.facebox.reveal($(target).clone().show(), klass)    // image    } else if (href.match($.facebox.settings.imageTypesRegexp)) {      fillFaceboxFromImage(href, klass)    // ajax    } else {      fillFaceboxFromAjax(href, klass)    }  }  function fillFaceboxFromImage(href, klass) {    var image = new Image()    image.onload = function() {      $.facebox.reveal('<div class="image"><img src="' + image.src + '" /></div>', klass)    }    image.src = href  }  function fillFaceboxFromAjax(href, klass) {    $.get(href, function(data) { $.facebox.reveal(data, klass) })  }  function skipOverlay() {    return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null   }  function showOverlay() {    if (skipOverlay()) return    if ($('facebox_overlay').length == 0)       $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')    $('#facebox_overlay').hide().addClass("facebox_overlayBG")      .css('opacity', $.facebox.settings.opacity)      .click(function() { $(document).trigger('close.facebox') })      .fadeIn(200)    return false  }  function hideOverlay() {    if (skipOverlay()) return    $('#facebox_overlay').fadeOut(200, function(){      $("#facebox_overlay").removeClass("facebox_overlayBG")      $("#facebox_overlay").addClass("facebox_hide")       $("#facebox_overlay").remove()    })        return false  }  /*   * Bindings   */  $(document).bind('close.facebox', function() {    $(document).unbind('keydown.facebox')    $('#facebox').fadeOut(function() {      $('#facebox .facebox-content').removeClass().addClass('facebox-content')      hideOverlay()      $('#facebox .loading').remove()    })  })})(jQuery);/* Apple Search *///----------------------------------------------------------	if (!applesearch)	var applesearch = {};//----------------------------------------------------------	applesearch.init = function (){		var srchform = document.getElementById('searchform');				// Paranoia! Make sure we can get the search form before trying anything		if(srchform) {						var srchinput = document.getElementById('keywords');			labelText = applesearch.getLabelText();						// add applesearch css for non-safari, dom-capable browsers			if ( navigator.userAgent.toLowerCase().indexOf('safari') < 0  && document.getElementById ) {				this.clearBtn = false;						// add style sheet if not safari				var dummy = document.getElementById("dummy_css");				if (dummy)	dummy.href = "/css/applesearch.css";								// create and attach the span				var r_crnr = document.createElement('span');				r_crnr.className = 'sbox_r'; // IE win doesn't like setAttribute in this case				r_crnr.setAttribute('id','srch_clear');						var fieldsets = srchform.getElementsByTagName('fieldset');				if (fieldsets) {					fieldsets[0].appendChild(r_crnr);				}						// Create and attach a clearing div, keeps Opera happy				var d_clr = document.createElement('div');				d_clr.setAttribute('class','clear');				srchform.appendChild(d_clr);								// set our text colors				var labels = srchform.getElementsByTagName('label');					if (labels) {								if (labels[0].currentStyle) {						// must be using IE						labelColor = labels[0].currentStyle.color;						inputColor = srchinput.currentStyle.color;					} else if (document.defaultView.getComputedStyle) {						labelColor = document.defaultView.getComputedStyle(labels[0], null).getPropertyValue('color');						inputColor = document.defaultView.getComputedStyle(srchinput, null).getPropertyValue('color');					}				}												// Paranoia again! Make sure the search field exist				if(srchinput) {					// set the placeholder text based off the label					srchinput.value = labelText;					srchinput.style.color = labelColor;						// add some events to the input field					srchinput.onkeyup = function () {							applesearch.onChange('keywords','srch_clear');						}					srchinput.onfocus = function () {							if (this.value == labelText) {								this.value = '';								this.style.color = inputColor;								}						}					srchinput.onblur = function () {							if (this.value == '') {								this.value = labelText;								this.style.color = labelColor;							}						}				}								// prevent the form being submitted if the input's value is the placeholder (label) text				srchform.onsubmit = function()				{					if(srchinput && srchinput != labelText) {						return true;					} else {						return false;					}				}			} else {				// Paranoia again! Make sure the search field exist				if(srchinput) {					// Using Safari so change some attributes to get the Apple Search field					srchinput.type = 'search';					srchinput.setAttribute('placeholder',labelText);					srchinput.setAttribute('autosave','bsn_srch');					srchinput.setAttribute('results','5');				}			}		}	}//----------------------------------------------------------	applesearch.getLabelText = function()	{		var srchform = document.getElementById('searchform');		if(srchform) {			var labels = srchform.getElementsByTagName('label');				if (labels) {				var labelFor = labels[0].getAttribute('for');				var labelText = labels[0].firstChild.nodeValue;			} else {				// just in case, set default text				var labelText = 'Search';			}		} else {			// just in case, set default text			var labelText = 'Search';		}		return labelText;	}//----------------------------------------------------------	// called when on user input - toggles clear fld btn	applesearch.onChange = function (fldID, btnID)	{		// check whether to show delete button		var fld = document.getElementById( fldID );		var btn = document.getElementById( btnID );		if (fld.value.length > 0 && fld.value != labelText && !this.clearBtn) {			btn.className = 'sbox_r_f2';			btn.fldID = fldID; // btn remembers it's field			btn.onclick = this.clearBtnClick;			this.clearBtn = true;		} else if (fld.value.length == 0 && this.clearBtn) {			btn.className = 'sbox_r';			btn.onclick = null;			this.clearBtn = false;			// reset the field's placeholder text			fld.value = labelText;			fld.style.color = labelColor;		}	}//-----------------------------------------------------------	applesearch.clearFld = function (fldID,btnID)	{		var fld = document.getElementById( fldID );		fld.value = '';		this.onChange(fldID,btnID);
	}//----------------------------------------------------------	applesearch.clearBtnClick = function(){applesearch.clearFld(this.fldID, this.id);}