/*--------------------------------------------------------------------------

							Initialisation

--------------------------------------------------------------------------*/

var d = document, dE = d.documentElement;
var site = new Object();
var tableLoops, rollLoops, emptyRollLoops;

site={
	init:function(){
		if(d.getElementById){
			var startTime=new Date().getTime();
			site.stripe.init("stripeTable");
			site.rollOvers.init("","_o","globalMenuArea");
			var endTime=new Date().getTime();
//			alert("Table loops: " + tableLoops + " times \n Rollover loops: " + rollLoops + " times(empty loops:" + emptyRollLoops + ") \n Javascript total loops: "+ (rollLoops+tableLoops) + " times \n JS runTime : "+((endTime-startTime))+" milliseconds.");
		}
	},
	end:function(){
		 fixIELeaks();
	}
};

window.onload=site.init;
window.onunload=site.end;


/*--------------------------------------------------------------------------

							Functions

--------------------------------------------------------------------------*/

site.stripe={
	init: function(className){
		var tables = d.getElementsByTagName("table");
		for(var i = 0, tables; table = tables[i]; i++){
			if (table.className == className){
				var tRows = table.getElementsByTagName("tr");
				for(var j = 0; j<tRows.length; j++){
					if (tRows[j].parentNode.nodeName == 'TBODY') {
						tRows[j].onmouseover = function(){
							this.className += (!this.className) ? 'over' : ' over';
						}
						tRows[j].onmouseout = function(){
							this.className = this.className.replace(' over', '').replace('over', '');
						}        
						tRows[j].className += (j%2) ? 'stripe' : '';
					}
				}
			}
		}tableLoops = i*j;
	}
}

site.rollOvers={
	init:function(ext, hoverExt, parentId, target ){
		ext = (typeof ext == "undefined") ? "_o" : ext;
		hoverExt = (typeof hoverExt == "undefined") ? "_h" : hoverExt;
		parentId = (typeof parentId == "undefined") ? "nd" : parentId;
		target = (typeof target == "undefined") ? "img" : target;
		if (parentId != "nd" && target == "img"){
			var rollElm = d.getElementById(parentId).getElementsByTagName(target);
		} else if (parentId != "nd" && target == "all"){
			var rollElm = d.all ? d.all : d.getElementById(parentId).getElementsByTagName("*");
		} else if (parentId == "nd" && target == "img"){
			var rollElm = d.all ? d.all : d.getElementsByTagName("img");
		} else if (parentId == "nd" && target == "all"){
			var rollElm = d.all ? d.all : d.getElementsByTagName("*");
		}
		var preloadImg = new Image();
		var j=0;
		for(var i=0, el; el=rollElm[i]; i++){
			if(el.src){
				j++;
				elExt = el.src.substring(el.src.length-4-ext.length, el.src.length-4);
				if(elExt == ext){
					preloadImg.src = el.src.substring(0,el.src.length-4-ext.length) + hoverExt + el.src.substring(el.src.length-4);
					el.onmouseover = function(){
						offSrc = this.src;
						hoverSrc = this.src.substring(0,this.src.length-4-ext.length) + hoverExt + this.src.substring(this.src.length-4);
						this.src = hoverSrc;
					}
					el.onmouseout = function(){
                        if(window.offSrc != undefined){
    						this.src = offSrc;
                        }
					}
				}
			}
		}rollLoops = i*j; emptyRollLoops = (i*j)-j;
	}
}


/*--------------------------------------------------------------------------*/

function fixIELeaks() {
	if (d.all && window.attachEvent) {
		var elProps = [
			"data", "onmouseover", "onmouseout",
			"onmousedown", "onmouseup", "ondblclick",
			"onclick", "onselectstart", "oncontextmenu"
		];
		var all = d.all;
		for (var i = 0, el; el = all[i]; i++) {
			for (var j = 0, elProp; elProp = elProps[j]; j++) {
				el[elProp] = null;
			}
		}
	}
};


/*--------------------------------------------------------------------------*/
