/* (c) Tarmac 2008 */
/*
 * initWatermarks
 * Initializes all form elements with the "watermark" CSS class.
 */
var initWatermarks = function() {
	var aw=function(e){if(e.value==''){e.value=e.title;YAHOO.util.Dom.addClass(e,'watermark');}};
	var cw=function(e){if(e.value==e.title){e.value='';YAHOO.util.Dom.removeClass(e,'watermark');}};
	var es=YAHOO.util.Dom.getElementsByClassName('watermark');
	if(es!=null){
		YAHOO.util.Dom.batch(es,function(e){e.value=e.title;});
		YAHOO.util.Event.addListener(es,"click",function(e){cw(this);});
		YAHOO.util.Event.addListener(es,"focus",function(e){cw(this);});
		YAHOO.util.Event.addListener(es,"blur",function(e){aw(this);});
	}
};
YAHOO.util.Event.onDOMReady(initWatermarks);
/*
 * addPrintLink
 * Adds a "Print this Page" link to the Site Tools list.
 */
var addPrintLink = {
	init:function(e,t) {
		if (!document.getElementById || !document.createTextNode) {return;}
		if (!document.getElementById(e)) {return;}
		if (!window.print) {return;}

		var p = document.getElementById(e);
		if(p!=null){
			var li = document.createElement('li');
			YAHOO.util.Dom.addClass(li,'print');

			var a = document.createElement('a');
			a.href = '#';
			a.appendChild(document.createTextNode(t));
			a.onclick = function() {window.print(); return false;}
			li.appendChild(a);
		
			var c=YAHOO.util.Dom.getFirstChild(p);
			if(c!=null){
				YAHOO.util.Dom.insertAfter(li,c);
			}
		}
 	}
};
/*
 * Carousel
 * Prototype for creating a new carousel.
 * id: The HTML element identifier for the carousel.
 * config: The configuration for the carousel.
 */
var Carousel = function(id, config) {
	this.init(id, config);
};

Carousel.prototype = {
	/*
	 * init(id,config)
	 * Initializes a carousel.
	 * id: The HTML element identifier for the carousel.
	 * config: The configuration for the carousel.
	 */
	init: function(id, config) {
		var cfg = {
			numVisible:1,
			animationSpeed:0.15,
			scrollInc:1,
navImage:0,
			size:8,
			prevButtonStateHandler: this.handleNavigationButtonState,
			nextButtonStateHandler: this.handleNavigationButtonState
		};
		for (var key in config) {
			if (!config.hasOwnProperty(key)) { continue; }
				cfg[key] = config[key];
		}
		this.carousel = new YAHOO.extension.Carousel(id, cfg);
	},
	/*
	 * handlePrevButtonState
	 * State handler for the previous button
	 */
	handleNavigationButtonState: function(type, args) {
		var enabling = args[0];
		var image = args[1];
		if(enabling) {
			image.style.display = "block";
		} else {
			image.style.display = "none";
		}
	}
};
/*
 * loadCarousels
 * Loads all carousels on a page.
 */
var loadCarousels = function() 
{
	var carousels = YAHOO.util.Dom.getElementsByClassName('carousel-component');
	for(var index=0;index<carousels.length;index++){
		var s=YAHOO.util.Dom.getElementsByClassName('item', 'div', carousels[index]).length;
		var carousel=new Carousel(carousels[index].id, {
			prevElement:carousels[index].id+"-carousel-prev"
			, nextElement:carousels[index].id+"-carousel-next"
			, size:s
			});
	}
};
YAHOO.util.Event.addListener(window, 'load', loadCarousels);

var fixspecs = function()
{
	var specs = document.getElementById("gtl");
	var undef;
	
	var hash = document.location.hash;

	if(specs!=undef && specs!=null) {
		var ul = YAHOO.util.Dom.getElementsByClassName("tabs", "ul", specs);
		var tabs = ul[0].getElementsByTagName("A");
		for(var i=0; i<tabs.length; i++) {
			tabs[i].onclick=function() { clearspecs(); YAHOO.util.Dom.addClass(YAHOO.util.Dom.getAncestorByTagName(this, "LI"), "selected")};
			if(hash.length>0 && tabs[i].hash == hash) {
				clearspecs();
				YAHOO.util.Dom.addClass(YAHOO.util.Dom.getAncestorByTagName(tabs[i], "LI"), "selected")
			}
		}
	}
}

var clearspecs = function() {
	var specs = document.getElementById("gtl");
	var undef;

	if(specs!=undef && specs!=null) {
		var ul = YAHOO.util.Dom.getElementsByClassName("tabs", "ul", specs);
		var tabs = ul[0].getElementsByTagName("LI");
		YAHOO.util.Dom.removeClass(tabs, "selected");
	}	
}

YAHOO.util.Event.addListener(window, 'load', fixspecs);