(function() {
var iH = {
	init: function() {
		iH.loader=lib.newImgElem("images/ajax-loader.gif", 'loader');
		iH.addListeners();
	},
	addListeners: function() {
		var ims = lib.$('*','img');
		for (var i=0; i<ims.length; i++) {
			if(ims[i].className.search('thumb') !== -1) {
				lib.addEvent(ims[i], 'mousedown', iH.createFrame, false);
			}
		}
	},
	removeListeners: function() {
		var ims = lib.$('*','img');
		for (var i=0; i<ims.length; i++) {
			if(ims[i].className.search('thumb') !== -1) {
				lib.removeEvent(ims[i], 'mousedown', iH.createFrame, false);
			}
		}
	},
	createFrame: function() {
		iH.removeListeners();
		iH.bgChg('open');
		var sourc = this.src.replace("/images/", "/images/lg-").replace(".png", ".jpg");
		iH.imag=lib.newImgElem(sourc);
		iH.newdiv = lib.newElemElem('div', iH.imag, 'bigpic');
		document.body.appendChild(iH.newdiv);
		iH.addScroll();
		iH.loader.style.top=(lib.getWS().height/2)+iH.extraScroll + "px";
		document.body.appendChild(iH.loader);
		iH.closeButton=lib.newTextElem('h2', 'Click to Close');
		iH.caption=lib.newTextElem('p', this.alt.split('|')[0]);
		iH.copy=lib.newTextElem('cite', this.alt.split('|')[1], 'copy');
		if (!iH.imag.complete) {
			lib.addEvent(iH.imag, 'error', iH.errorHandler, false);
			lib.addEvent(iH.imag, 'load', iH.finishLoading, false);
		} else {
			iH.finishLoading();
		}
	},
	errorHandler: function() {
		document.body.removeChild(iH.loader);
		alert("Sorry, Could not Load Image");
		iH.bgChg('close');
	},
	finishLoading: function(){
			document.body.removeChild(iH.loader);
			Fx.setOpac(iH.copy, 0);
			Fx.setOpac(iH.caption, 0);
			Fx.setOpac(iH.closeButton, 0);
			lib.appendChildren(iH.newdiv, iH.caption, iH.copy, iH.closeButton);
			iH.displayFrame();
	},
	displayFrame: function() {
		var xpos, ypos;
		var w = iH.imag.width;
		var h = iH.imag.height;
		var ww = lib.getWS().width;
		var wh = lib.getWS().height;
		if (w > (ww - 50)) {
			h = Math.ceil(h/(w/(ww-50)));
			w = ww-50;
		}
		if (h > (wh-120)) {
			w = Math.ceil(w/(h/(wh-120)));
			h = wh-120;
		}
		iH.newdiv.style.width = w + 18 + 'px';
		iH.newdiv.style.height = h + 94 + 'px';
		iH.caption.style.top = h + 15 + 'px';
		Fx.setSize(iH.imag, 0, 0);
		ypos=((wh/2)-((iH.newdiv.offsetHeight)/2))+iH.extraScroll;
		xpos=(ww/2)-((iH.newdiv.offsetWidth+iH.SBWidth)/2);
		Fx.setPos(iH.newdiv, xpos, ypos);
		setTimeout(function() {
			Fx.doTrans(iH.imag, 'width', 1,w, 20, 'inc');
			Fx.doTrans(iH.imag, 'height', 1,h, 20, 'inc');
			Fx.doTrans(iH.imag, 'moveX', w/2,0, 20, 'dec');
			Fx.doTrans(iH.imag, 'moveY', h/2,0, 20, 'dec');
		}, 150);
		setTimeout(function() {Fx.doTrans(iH.caption, 'fade', 0,100, 50, 'inc');}, 650);
		setTimeout(function() {Fx.doTrans(iH.copy, 'fade', 0,100, 50, 'inc');}, 750);
		setTimeout(function() {Fx.doTrans(iH.closeButton, 'fade', 0,100, 100, 'inc');}, 1200);
		lib.addEvent(iH.newdiv, 'mousedown', function() {iH.bgChg('close')}, false);
	},
	bgChg: function(state) {
		if (state==='close') {
			iH.addListeners();
		}
		Fx.vis('branding', 'contentWrap');
		iH.removeOld('bigpic');
	},
	addScroll: function() {
		var de=document.documentElement, db=document.body;
		if (lib.getCStyle(iH.newdiv, 'position') === 'fixed') {
			iH.extraScroll=0;
		} else if(de && (de.clientWidth || de.clientHeight)) {
			iH.extraScroll=de.scrollTop;
		} else if(db && (db.clientWidth || db.clientHeight)) {
			iH.extraScroll=db.scrollTop;
		}
		iH.SBWidth = (window.innerWidth && de) ? 15 : 0;
			
	},
	removeOld: function(imgId) {
		var old=lib.$(imgId);
		if (old){
			old.parentNode.removeChild(old);
		}
	}
}
var pflRep = {
	init: function() {
		pflRep.paras = lib.$('contentMain', 'p');
		for(var i=0; i<pflRep.paras.length; i++) {
			var fl = pflRep.paras[i].innerHTML.substr(0,1);
			if ((fl !== '<') && (pflRep.paras[i].className==='dc')) {
				pflRep.paras[i].innerHTML = pflRep.paras[i].innerHTML.replace(fl, '<img src="images/' + fl.toLowerCase() +'.gif" alt="' + fl + '" />');
			}
		}
	}
}
var logolge = {
	init: function() {
		window.scrollTo(0,0);
		Fx.vis('branding', 'contentWrap');
		logolge.shed=lib.newImgElem("images/shedding.gif", 'shed');
		logolge.logo=lib.newImgElem("images/cleanlogo3.gif", 'splash');
		if (!logolge.logo.complete) {
			lib.addEvent(logolge.logo, 'error', logolge.errorHandler, false);
			lib.addEvent(logolge.logo, 'load', logolge.finishLoading, false);
		} else {
			logolge.finishLoading();
		}
	},
	finishLoading: function() {
		var l = logolge.logo, s = logolge.shed;
		Fx.setPos(l, (lib.getWS().width/2)-200, 0);
		Fx.setLeft(s, (lib.getWS().width/2)-350);
		Fx.setOpac(l, 0);
		Fx.setOpac(s, 0);
		lib.appendChildren(document.body, l, s);
		setTimeout(function() {Fx.doTrans(l, 'fade', 0,100, 50, 'inc');}, 150);
		setTimeout(function() {Fx.doTrans(s, 'fade', 0,100, 50, 'inc');}, 450);
		setTimeout(function() {Fx.doTrans(s, 'fade', 100,0, 50, 'dec');}, 2300);
		setTimeout(function() {Fx.doTrans(l, 'fade', 100,0, 30, 'dec');}, 2600);
		setTimeout(function() {
			Fx.vis('branding', 'contentWrap');
			document.body.removeChild(l);
			document.body.removeChild(s);
		}, 3500);
	},
	errorHandler: function() {
		iH.bgChg('close');
	}
}
var styleChg = {
	init: function() {
		lib.addEvent(lib.$('hicont'), 'mousedown', function () {styleChg.setCookie('hicont');window.location.reload(true);}, false);
		lib.addEvent(lib.$('nmcont'), 'mousedown', function () {styleChg.setCookie('nmcont');window.location.reload(true);}, false);
	},
	setCookie: function(style){
		var d=new Date();
		d.setMonth(d.getMonth() + 1);
		var expires = "expires=" + d.toGMTString();
		document.cookie = "style=" + style + ";" + expires + ";";
	}
}

var Fx = {
	doTrans: function(elem,transType, st, fn, steps, dir) {
		st = Fx.easeOut(st, fn,fn-st,steps, 1);
		switch (transType) {
			case 'fade'	: Fx.setOpac(elem, st);		break;
			case 'moveX'	: Fx.setLeft(elem, st);		break;
			case 'moveY'	: Fx.setTop(elem, st);		break;
			case 'width'	: Fx.setWidth(elem, st);	break;
			case 'height'	: Fx.setHeight(elem, st);	break;
			default		: return false;
		}
		if (dir === 'inc' && st<(fn-1)) {
			setTimeout(function() {Fx.doTrans(elem,transType, st, fn, steps, dir);}, 10);
		}else if (dir !== 'inc' && st>(fn+1)) {
			setTimeout(function() {Fx.doTrans(elem,transType, st, fn, steps, dir);}, 10);
		}
	},
	easeOut: function(start, end,c,d,t) {
		var easing =-c * (Math.pow (t/d-1, 4) - 1) + start;
		return Math.ceil(easing *100)/100;
	},
	setOpac: function(elem, level) {
		elem.style.opacity=level/100;
		elem.style.filter='Alpha(opacity='+level+')';
	},
	setLeft: function(elem, leftVal) {
		elem.style.left = leftVal + 'px';
	},
	setTop: function(elem, topVal) {
		elem.style.top = topVal + 'px';
	},
	setWidth: function(elem, widthVal) {
		elem.style.width = widthVal + 'px';

	},
	setHeight: function(elem, heightVal) {
		elem.style.height = heightVal + 'px';
	},
	setSize: function(elem, widthVal, heightVal) {
		elem.style.width = widthVal + 'px';
		elem.style.height = heightVal + 'px';
	},
	setPos: function(elem, leftVal, topVal) {
		elem.style.left = leftVal + 'px';
		elem.style.top = topVal + 'px';
	},
	vis: function() {
		for (var i=0; i < arguments.length; i++) {
			var elem = lib.$(arguments[i]);
			elem.style.visibility = (lib.getCStyle(elem, 'visibility') === 'hidden') ? 'visible' : 'hidden';
		}
	}
}

if (document.getElementById) {
	if(document.referrer.search('weorod') === -1) {
		var spl = new Image();
		spl.src = "images/cleanlogo3.gif";
		var shd = new Image();
		shd.src = "images/shedding.gif";
		lib.addEvent(window, 'load', logolge.init, false);
	}
	lib.addEvent(window, 'load', styleChg.init, false);
	lib.addEvent(window, 'load', pflRep.init, false);
	lib.addEvent(window, 'load', iH.init, false);
}
})();

