/* contains:
Prototype
styleswitcher.js
linkPreview.js
prepopulate.js
tabber.js
*/

/* ---- Prototype ---- */
Event.observe(window,'load',function(){
	// Text Size
	$("text-medium").onclick=function(){setActiveStyleSheet('Medium'); return false};
	$("text-large").onclick=function(){setActiveStyleSheet('Large'); return false};
	$("text-xlarge").onclick=function(){setActiveStyleSheet('X-Large'); return false};
	$("text-label").removeClassName("hide").addClassName("show");
	$("text-size").removeClassName("hide").addClassName("show");
});

/* ---- styleswitcher.js ---- */
function setActiveStyleSheet(title) {var i, a, main;for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {a.disabled = true;if(a.getAttribute("title") == title) a.disabled = false;}}}
function getActiveStyleSheet() {var i, a;for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");}return null;}
function getPreferredStyleSheet() {var i, a;for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {if(a.getAttribute("rel").indexOf("style") != -1&& a.getAttribute("rel").indexOf("alt") == -1&& a.getAttribute("title")) return a.getAttribute("title");}return null;}
function createCookie(name,value,days) {if (days) {var date = new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires = "; expires="+date.toGMTString();}else expires = "";document.cookie = name+"="+value+expires+"; path=/";}
function readCookie(name) {var nameEQ = name + "=";var ca = document.cookie.split(';');for(var i=0;i < ca.length;i++) {var c = ca[i];while (c.charAt(0)==' ') c = c.substring(1,c.length);if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);}return null;}
window.onload = function(e) {var cookie = readCookie("style");var title = cookie ? cookie : getPreferredStyleSheet();setActiveStyleSheet(title);}
window.onunload = function(e) {var title = getActiveStyleSheet();createCookie("style", title, 365);}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

/* ---- linkPreview.js ---- */
addEvent(window, 'load', linkPreview);

function addEvent(obj, evType, fn){if (obj.addEventListener){obj.addEventListener(evType, fn, false);return true;}else if (obj.attachEvent){var r = obj.attachEvent("on"+evType, fn);return r;}else {return false;}}
function linkPreview(){
	var links = document.getElementsByTagName("a");
	for (i=0; i<links.length; i++){
		var currentLink = links[i];
		var images = currentLink.getElementsByTagName("img");
		if (images.length == 0){
			var linkHref = currentLink.href;
			if (linkHref.match(/amazon.com/)){
				append(currentLink, "amazon");
			} else {
				checkLinks(linkHref, currentLink)
			}
		}
	}
}
function checkLinks(linkHref, currentLink){
	var linkHrefParts = linkHref.split(".");
	var extension = linkHrefParts[linkHrefParts.length - 1];
	extension = extension.replace("/","");
	if( extension in { doc:1, mp3:1, pdf:1, ppt:1, txt:1, wmv:1, xml:1, xls:1, zip:1 } ){
		append(currentLink, extension );
	}
}
function append(currentLink, extension){var span = document.createElement('span');span.innerHTML = "&nbsp;";currentLink.parentNode.insertBefore(span,currentLink.nextSibling);span.className = extension;}

/* ---- prepopulate.js ---- */
// edited to search only for input with the name="zoom_query"

/* addEvent handler for IE and other browsers */
function addEvent(elm, evType, fn, useCapture){
	if (elm.addEventListener){elm.addEventListener(evType, fn, useCapture);return true;} else if (elm.attachEvent){var r = elm.attachEvent("on"+evType, fn);return r;}
}

/* pre-fill the inputs and textareas with their title attribute value, and add relevant onfocus/onblur handlers */
function prepopulate() {
	elements = document.getElementsByTagName('input');
	n_elements = elements.length;
	for (i = 0; i < n_elements; i++) {
		//if (elements[i].type=='text') {
		//if (elements[i].id=='zoom_query') {
		if (elements[i].name=='zoom_query') {
			elements[i].setAttribute('value',elements[i].getAttribute('title'));
			addEvent(elements[i],'focus',input_focus);
			addEvent(elements[i],'blur',input_blur);
		}
	}
	elements = document.getElementsByTagName('textarea');
	n_elements = elements.length;
	for (i = 0; i < n_elements; i++) {
		elements[i].value=elements[i].getAttribute('title');
		addEvent(elements[i],'focus',input_focus);
		addEvent(elements[i],'blur',input_blur);
	}
}
function input_focus(e) {
	if (window.event) {target = window.event.srcElement;} else if (e) {target = e.target;} else return;
	if (target.nodeType == 3) {target = target.parentNode;}
	if ((target.nodeName.toLowerCase() != 'input')&&(target.nodeName.toLowerCase() != 'textarea')) return false;
	if (target.value==target.getAttribute('title')) {target.value='';}
	return true;
}
function input_blur(e) {
	if (window.event) {target = window.event.srcElement;} else if (e) {target = e.target;} else return;
	if (target.nodeType == 3) {target = target.parentNode;}
	if ((target.nodeName.toLowerCase() != 'input')&&(target.nodeName.toLowerCase() != 'textarea')) return false;
	if (target.value=='') {target.value=target.getAttribute('title');}
	return true;
}
addEvent (window,'load',prepopulate)

/* ---- tabber.js (v 1.9): http://www.barelyfitz.com/projects/tabber/ ---- */
/* ---- tabber_cookie.js ---- */
// Temporarily hide the .tabber (optional)
document.write('<style type="text/css">.tabber{display:none}<\/style>');

// Tabber Options
var tabberOptions = {
'cookie':"tabber", // name of the cookie
'onLoad': function(argsObj){
	var t = argsObj.tabber;
	var i;

	// add id to tabber to ensure multiple tabber interfaces on one site don't interfere (optional)
	if (t.id) {t.cookie = t.id + t.cookie;}

	// if a cookie was previously set, restore the active tab
	i = parseInt(getCookie(t.cookie));
	if (isNaN(i)) {return;}
	t.tabShow(i);
	//alert('getCookie(' + t.cookie + ') = ' + i);
},
'onClick':function(argsObj){
	var c = argsObj.tabber.cookie;
	var i = argsObj.index;
	//alert('setCookie(' + c + ',' + i + ')');
	setCookie(c, i);
	}
};

// Cookie Functions
function setCookie(name, value, expires, path, domain, secure) {document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");}
function getCookie(name) {var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) {begin = dc.indexOf(prefix); if (begin != 0) return null;} else {begin += 2;} var end = document.cookie.indexOf(";", begin); if (end == -1) {end = dc.length;} return unescape(dc.substring(begin + prefix.length, end));}
function deleteCookie(name, path, domain) {if (getCookie(name)) {document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";}
}

/* ---- tabber_min.js ---- */
function tabberObj(argsObj)
{var arg;this.div=null;this.classMain="tabber";this.classMainLive="tabberlive";this.classTab="tab";this.classTabDefault="tabdefault";this.classNav="tabbernav";this.classTabHide="hide";this.classNavActive="active";this.titleElements=['h2','h3','h4','h5','h6'];this.titleElementsStripHTML=true;this.removeTitle=false;this.addLinkId=false;this.linkIdFormat='<tabberid>nav<tabnumberone>';for(arg in argsObj){this[arg]=argsObj[arg];}
this.REclassMain=new RegExp('\\b'+this.classMain+'\\b','gi');this.REclassMainLive=new RegExp('\\b'+this.classMainLive+'\\b','gi');this.REclassTab=new RegExp('\\b'+this.classTab+'\\b','gi');this.REclassTabDefault=new RegExp('\\b'+this.classTabDefault+'\\b','gi');this.REclassTabHide=new RegExp('\\b'+this.classTabHide+'\\b','gi');this.tabs=new Array();if(this.div){this.init(this.div);this.div=null;}}
tabberObj.prototype.init=function(e)
{var
childNodes,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;if(!document.getElementsByTagName){return false;}
if(e.id){this.id=e.id;}
this.tabs.length=0;childNodes=e.childNodes;for(i=0;i<childNodes.length;i++){if(childNodes[i].className&&childNodes[i].className.match(this.REclassTab)){t=new Object();t.div=childNodes[i];this.tabs[this.tabs.length]=t;if(childNodes[i].className.match(this.REclassTabDefault)){defaultTab=this.tabs.length-1;}}}
DOM_ul=document.createElement("ul");DOM_ul.className=this.classNav;for(i=0;i<this.tabs.length;i++){t=this.tabs[i];t.headingText=t.div.title;if(this.removeTitle){t.div.title='';}
if(!t.headingText){for(i2=0;i2<this.titleElements.length;i2++){headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];if(headingElement){t.headingText=headingElement.innerHTML;if(this.titleElementsStripHTML){t.headingText.replace(/<br>/gi," ");t.headingText=t.headingText.replace(/<[^>]+>/g,"");}
break;}}}
if(!t.headingText){t.headingText=i+1;}
DOM_li=document.createElement("li");t.li=DOM_li;DOM_a=document.createElement("a");DOM_a.appendChild(document.createTextNode(t.headingText));DOM_a.href="#tabs";DOM_a.title=t.headingText;DOM_a.onclick=this.navClick;DOM_a.tabber=this;DOM_a.tabberIndex=i;if(this.addLinkId&&this.linkIdFormat){aId=this.linkIdFormat;aId=aId.replace(/<tabberid>/gi,this.id);aId=aId.replace(/<tabnumberzero>/gi,i);aId=aId.replace(/<tabnumberone>/gi,i+1);aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\-]/gi,''));DOM_a.id=aId;}
DOM_li.appendChild(DOM_a);DOM_ul.appendChild(DOM_li);}
e.insertBefore(DOM_ul,e.firstChild);e.className=e.className.replace(this.REclassMain,this.classMainLive);this.tabShow(defaultTab);if(typeof this.onLoad=='function'){this.onLoad({tabber:this});}
return this;};tabberObj.prototype.navClick=function(event)
{var
rVal,a,self,tabberIndex,onClickArgs;a=this;if(!a.tabber){return false;}
self=a.tabber;tabberIndex=a.tabberIndex;a.blur();if(typeof self.onClick=='function'){onClickArgs={'tabber':self,'index':tabberIndex,'event':event};if(!event){onClickArgs.event=window.event;}
rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}
self.tabShow(tabberIndex);return false;};tabberObj.prototype.tabHideAll=function()
{var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(tabberIndex)
{var div;if(!this.tabs[tabberIndex]){return false;}
div=this.tabs[tabberIndex].div;if(!div.className.match(this.REclassTabHide)){div.className+=' '+this.classTabHide;}
this.navClearActive(tabberIndex);return this;};tabberObj.prototype.tabShow=function(tabberIndex)
{var div;if(!this.tabs[tabberIndex]){return false;}
this.tabHideAll();div=this.tabs[tabberIndex].div;div.className=div.className.replace(this.REclassTabHide,'');this.navSetActive(tabberIndex);if(typeof this.onTabDisplay=='function'){this.onTabDisplay({'tabber':this,'index':tabberIndex});}
return this;};tabberObj.prototype.navSetActive=function(tabberIndex)
{this.tabs[tabberIndex].li.className=this.classNavActive;return this;};tabberObj.prototype.navClearActive=function(tabberIndex)
{this.tabs[tabberIndex].li.className='';return this;};function tabberAutomatic(tabberArgs)
{var
tempObj,divs,i;if(!tabberArgs){tabberArgs={};}
tempObj=new tabberObj(tabberArgs);divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){if(divs[i].className&&divs[i].className.match(tempObj.REclassMain)){tabberArgs.div=divs[i];divs[i].tabber=new tabberObj(tabberArgs);}}
return this;}
function tabberAutomaticOnLoad(tabberArgs)
{var oldOnLoad;if(!tabberArgs){tabberArgs={};}
oldOnLoad=window.onload;if(typeof window.onload!='function'){window.onload=function(){tabberAutomatic(tabberArgs);};}else{window.onload=function(){oldOnLoad();tabberAutomatic(tabberArgs);};}}
if(typeof tabberOptions=='undefined'){tabberAutomaticOnLoad();}else{if(!tabberOptions['manualStartup']){tabberAutomaticOnLoad(tabberOptions);}}