var IE6=false; 
var IE7=false;
function debug(){} function info(){} function warn(){} function error(){}

//-------------------------------------------------
//	ADD EVENT
//-------------------------------------------------
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);
// addEvent(document,'scroll',scrollCorrect);

//-----------------
function onLoadComp() {
	// smoothScroll.init();	// happens after ajax request
			// load items with 'tag1' checked	
	initInfoColumnMenu();
	cursorobj =  document.getElementById('zoomhidden');
	// centerImages();			// center most-left images to window size
	// scrollbarWidth();		// get the scrollbarwidth for different browsers
	scrollCorrect();
	checkLocation();
	// update('selected')
	// setTimeout('fadeInstructionFocus()',1000);
	frames['iframe'].location.href="textcontent/iframe_news.php";
	$('.shdw').nf_shadow({
			blur: 2,
			topoffset: 1,
			leftoffset:1
	})
	
}

addEvent(window, 'load', onLoadComp);


//-------------------------------------------------
//	CORRECT SMALL MANUAL LEFTHANDSIDE HORIZONTAL SCROLLS
//-------------------------------------------------
var checks=0;
function scrollCorrect(){
// info('scroll')
	// if(checks>50){
		if(!smoothscrollactive&&smoothScroll.getScrollLeft()<50&&smoothScroll.getScrollLeft()!=0&&!zoomactive){
			// info('correct');
			window.scrollTo(0, smoothScroll.getScrollTop());
		}
		checks=0;
	// }
	// else{
	// 	checks++;
	// }

	t=setTimeout("scrollCorrect()",50);
	
}


//-------------------------------------------------
//	GETELEMENTBYID SHORTCUT
//-------------------------------------------------
// if (!window.$) {
// 	window.$ = function(id) { return document.getElementById(id); }
// }


//-------------------------------------------------
//	DEEP LINK HIDING
//-------------------------------------------------
var linkPar=false;
var linkEl=false;
var deeptmr=false;
function showLink(obj, image){
	linkPar=obj;
	linkPar.style.backgroundPosition="0 -9px";
	el = (image)? obj.previousSibling: obj.nextSibling;
	el.style.visibility="visible";
	linkEl = el;
}
function hideLink(){
	if(linkEl){
		linkPar.style.backgroundPosition="0 0";
		linkEl.style.visibility="hidden";
	}
}
function hideLinkDelay(){
		deeptmr = setTimeout('hideLink()', 1000);
}
function clearHideLink(){
	if(deeptmr){
		clearTimeout(deeptmr);
	}
}



//-------------------------------------------------
//	INSTRUCTIONS
//-------------------------------------------------

function fadeInstructionFocus(){
	var cover = document.getElementById('instructionFocus');
	fade(cover, 'out', '', 13,5);
	setTimeout('hideInstructionFocus()', 800)

}
function hideInstructionFocus(){
	var cover = document.getElementById('instructionFocus');
	cover.style.display = "none";
	smoothScroll.initScroll(link);

}

function moveInstructions(){
	cursorobj.style.cursor='default';
}

function initInstruction(){
	
	var instruction = document.getElementById('instruction');
	instruction.style.fontSize="9px";
	
	addEvent(instruction, 'mouseover', extendInstructionDelay);
	addEvent(instruction, 'mouseout', reductInstruction);
}
var instractive = false;
function extendInstructionDelay(){
	extDelay = setTimeout('extendInstruction()',150)
}
function extendInstruction(){
	var instruction = document.getElementById('instruction');
	var size = parseInt(instruction.style.fontSize);
	if(size<13&&instractive==false){
		instruction.style.width = "320px";
		instruction.style.fontSize= size+1+"px";
		instractive = false;
		t = setTimeout('extendInstruction()', 20)
	}
	else{
		instractive = true;
	}
	// this.innerHTML = "Click on images to center them, and again to focus.<br />Click on background to go back left. You can navigate without the use of the scrollbar.";
}

function reductInstruction(){
	clearTimeout(extDelay);
	var instruction = document.getElementById('instruction');
	var size = parseInt(instruction.style.fontSize);
	clearTimeout(t);
	instractive==true;
	info(size)
	if(size>9){
		debug('out')
		
		instruction.style.fontSize= size-1+"px";
		instractive = true;
		setTimeout('reductInstruction()', 20);
	}
	else{
		instractive = false;
		instruction.style.width = "220px";
	}
	// this.innerHTML = "Click on images to center them, and again to focus.<br />Click on background to go back left.";
}

//-------------------------------------------------
//	BACK LEFT BEHAVIOUR
//-------------------------------------------------

function backLeftCursor(crsrbj){
	warn(smoothScroll.getScrollLeft())
	if(this.className){
		cursorobj = this;
	}

	if(smoothScroll.getScrollLeft()>200&&!smoothscrollactive){
		if(IE6){
			cursorobj.style.cursor = "url('img/general/wresize32.cur')";
		}
		if(IE7){
			cursorobj.style.cursor = "url('../img/general/wresize32.cur'), w-resize";
		}
		if(BrowserDetect.browser=="Firefox"&&BrowserDetect.OS=="Mac"){
			cursorobj.style.cursor = 'alias';
		}
		else{
			cursorobj.style.cursor = "url('../img/general/wresize32.cur'), w-resize";
		}
	}
	else {
		cursorobj.style.cursor="default";
		
	}

}

function killBackLeftCursor(){
	debug('killll')
	cursorobj.style.cursor="default";
}

function blurLink(){
	debug('blur')
	this.blur();
}
//-------------------------------------------------
//	TEXT IFRAME
//-------------------------------------------------

//	IFRAME MENU -----------------------------------
function initInfoColumnMenu() {
	var infoColumnLinks = $('#info-column-titles').children('a');
	for (var i=0; i < infoColumnLinks.length; i++) {
		
		// infoColumnLinks[i].onmousedown = setInfoColumnMenuState;
		$(infoColumnLinks[i]).bind('click', setInfoColumnMenuState);
	}
}

function setInfoColumnMenuState(){
	var head = this.getAttribute('alt').toLowerCase();
	frames['iframe'].location.href='textcontent/iframe_'+head+'.php';
	
	var infoColumnLinks = $('#info-column-titles').children('a');
	
	for (var i=0; i < infoColumnLinks.length; i++) {
		// alert( $(infoColumnLinks[i]).attr('alt').toLowerCase() )
		$(infoColumnLinks[i]).attr( 'class', $(infoColumnLinks[i]).attr('alt').toLowerCase()+"plain" );
		$(infoColumnLinks[i]).children('a:first').attr( 'class', $(infoColumnLinks[i]).attr('alt').toLowerCase()+"plain" );
		
	}
	$(this).attr('class', $(this).attr('alt').toLowerCase()+"active" );
	$(this).children('a:first').attr('class', $(this).attr('class', $(this).attr('alt').toLowerCase()+"active") );
}


//-----------------
function scrollbarWidth() {
	var elem = document.createElement("DIV");
	elem.id = "asdf";
	elem.style.width = 100;
	elem.style.height = 100;
	elem.style.overflow = "scroll";
	elem.style.position = "absolute";
	elem.style.visibility = "hidden";
	elem.style.top = "0";
	elem.style.left = "0";

	document.body.appendChild (elem);

	ScrollbarOffset = document.getElementById('asdf').offsetWidth - document.getElementById('asdf').clientWidth;
	// alert(ScrollbarOffset);
	document.body.removeChild (elem);
	delete elem;
	
	//set iframe right
	var iframe = document.getElementById('iframe');
	// iframe.style.right=-ScrollbarOffset+"px";
	
	iframe.style.width = iframe.offsetWidth + ScrollbarOffset+'px';
}


//-------------------------------------------------
//	CHECK LOCATION AND LOAD TAGNAME
//-------------------------------------------------
var oldUrl='nigger';
var link;
function checkLocation(){

	var url = window.location.toString();

	if(url!=oldUrl){

		var urllink = (url.split('#')[1])? url.toString().split('#')[1]: 'Selected';

		tagname = urllink.replace(/_/g, ' ').split('/')[0];
		link = (!urllink.split('/')[2]||urllink.split('/')[2].length<2)? urllink.split('/')[1]: urllink.split('/')[2] ;

		update(tagname);
		initTagNav(tagname);
		
		oldUrl = url;
		// $('.shdw').nf_shadow({
		// 		blur: 2,
		// 		topoffset: 1,
		// 		leftoffset:1
		// })
	}
	setTimeout('checkLocation()',600);
}

//-----------------
function initTagNav(tagname) {

	var navigationTags = document.getElementById('navigationTags'); // get tag1 by ID
	var tags = $(navigationTags).children('div');
	
	for (var i=0; i<tags.length ; i++){
		
		var taglink = tags[i].firstChild;
		// info(taglink.getAttribute('value')+'/'+tagname)
		if(taglink){
			if(taglink.getAttribute('value')==tagname) {
				$(taglink).addClass("highlight").removeClass("lowlight");
				// nf_shadow
				$(taglink).children('a:first').addClass("highlight").removeClass("lowlight");
				taglink.style.backgroundPosition = "0px -"+(i*(3*20)+40)+"px";
				$(taglink).children('a:first').css('background-position', "0px -"+(i*(3*20)+40)+"px");
				var ok = true;
			}
			else {
				$(taglink).addClass("lowlight").removeClass("highlight");
				taglink.style.backgroundPosition = "0px -"+(i*(3*20))+"px";
				$(taglink).children('a:first').css('background-position', "0px -"+(i*(3*20))+"px");
				
			}
		
			$(taglink).attr( 'backpos', (i*(3*20)) );
		
			addEvent(taglink, 'mouseover', tagNavOver);
			addEvent(taglink, 'mouseout', tagNavOut);
			addEvent(taglink, 'click', tagNavClick);
		}
	}
	// USE SELECTED IF INVALID TAGNAME
	if(!ok){
		initTagNav('Selected');
		var url = window.location;
		window.location = url.toString().split('#')[0];
		
	}
}
function tagNavOver(){
	// alert( !$(this).children('a:first').hasClass("highlight") )
	if( !$(this).hasClass("highlight") ){
		
	this.style.backgroundPosition = '0px '+  -(($(this).attr('backpos')*1)+20)+"px";
	$(this).children('a:first').css( "background-position", '0 '+-(($(this).attr('backpos')*1)+20)+"px" )
	}
}
function tagNavOut(){

	if( !$(this).hasClass("highlight") ){
	this.style.backgroundPosition = '0px '+ -$(this).attr('backpos')+"px";
	$(this).children('a:first').css( "background-position", "0 "+-$(this).attr('backpos')+"px" )
	
	}
}
function tagNavClick(){

	if( !$(this).hasClass("highlight") ){
		update(this.getAttribute('value'));
		var links = $(this).parents('#navigationTags:first').find('a');

		for (var i=0; i < links.length; i++) {
			// alert(links[i].className)
			$(links[i]).addClass("lowlight").removeClass("highlight");
			// $(links[i]).children('a:first').addClass("lowlight").removeClass("highlight");
			
			links[i].style.backgroundPosition = '0px '+-$(links[i]).attr('backpos')+"px";
			// alert(links[i].style.backgroundPosition)
		}
		$(this).addClass("highlight").removeClass("lowlight");
		$(this).children('a').addClass("highlight").removeClass("lowlight");
		this.style.backgroundPosition = '0px '+ -(($(this).attr('backpos')*1)+40)+"px";
		$(this).children('a').css("background-position", '0px '+ -(($(this).attr('backpos')*1)+40)+"px");
		
		var url = window.location;
		var newUrl = url.toString().split('#')[0]+'#'+this.getAttribute('value').replace(/ /g, '_');
		window.location = newUrl;
		oldUrl = newUrl;
	}
}
//-------------------------------------------------
//	CENTER IMAGES
//-------------------------------------------------
function centerImages()
{
	var blogrol = document.getElementById('items');
	var blogrolWidth = '890';
	// alert(blogrolWidth)
	var blogrolDivs = blogrol.childNodes;
	
	for (var i = blogrolDivs.length - 1; i >= 0; i--){
		if(blogrolDivs[i].className=="img_outer"){
			var imgWidth = blogrolDivs[i].getAttribute("value");
			// debug('blogrolWidth='+blogrolWidth);
			// debug('imgWidth='+imgWidth);
			// alert(imgWidth)
			// alert('left='+Math.round((blogrolWidth - imgWidth)/2))
		
			blogrolDivs[i].style.left = Math.round((blogrolWidth - imgWidth)/2)+"px";
		}
		if(blogrolDivs[i].className=="img_descr"){
			blogrolDivs[i].childNodes[1].style.width = (imgWidth)/2-50+"px";
		}
	}
	
}



//-------------------------------------------------
//	ADD/CHANGE STYLESHEET 
//-------------------------------------------------
var styles = addStyle('');

// Add a stylesheet to the document and return a reference to it 
function addStyle(css) { 
   var style = document.createElement( 'style' ); 
   style.type = 'text/css'; 
   var head = document.getElementsByTagName('head')[0]; 
   head.appendChild( style ); 
   if( style.styleSheet )  // IE 
      style.styleSheet.cssText = css; 
   else  // other browsers 
      style.appendChild( document.createTextNode(css) ); 
   return style; 
} 

// Replace the entire contents of a stylesheet 
function changeStyle(style, css ) { 
   if( style.styleSheet )  // IE 
      style.styleSheet.cssText = css; 
   else  // other browsers 
      style.replaceChild( document.createTextNode(css), style.firstChild ); 
   return style; 
}

function getWindowWidth(){
	if (window.innerWidth)	return window.innerWidth;
	if(document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
}
function getWindowHeight(){
	if (window.innerHeight)	return window.innerHeight;
	if(document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight;
}
function newStyle(){
	var innerWidth = getWindowWidth();
	var css =
	'.img_outer {margin-right:'+newHeight+'px;background:red;}';
	changeStyle( styles, css );
}


//-------------------------------------------------
//	FOCUS SINGLE IMAGE 
//-------------------------------------------------
zoom = true;
zoomactive = false;
var imageFocus = {

	init: function(obj) {
		warn(zoom)
		if(zoom&&!zoomactive){

			// DEFINE OBJECTS
			imageFocus.zImgLink = obj; //Link container
			imageFocus.zImgEl = imageFocus.zImgLink.firstChild; //Image itself
			imageFocus.zImgMeta = imageFocus.zImgLink.nextSibling; //Image meta container
			imageFocus.zfloatEl = imageFocus.zImgLink.parentNode;
			imageFocus.zOuterEl = imageFocus.zfloatEl.parentNode;
			imageFocus.zZoomHidden = document.getElementById('zoomhidden');
			imageFocus.zBody = document.getElementsByTagName('body')[0];
			
			// SET VARIABLES
			imageFocus.zoomMargin = 65;
			imageFocus.hmmm = 200 - (getWindowHeight() * 100) / 700;
			imageFocus.scrllY = getWinScrollY()+imageFocus.hmmm;
			imageFocus.originalScrollW = getWinScrollX();
			imageFocus.zfactor = 2.6;	//set here the coefficient of slowing down
			imageFocus.zfactorScroll = 1.6;
			if(IE7||IE6){
			imageFocus.zfactor = 5.6;	//set here the coefficient of slowing down
			imageFocus.zfactorScroll = 1.25;
			}
			imageFocus.finalPush = 100;

			imageFocus.originalSize = imageFocus.zImgEl.getAttribute('rel');
			imageFocus.original_w = imageFocus.originalSize.split('*')[0];
			imageFocus.original_h = imageFocus.originalSize.split('*')[1];
			imageFocus.zfocusWidth = imageFocus.originalSize.split('*')[2];
			imageFocus.zfocusHeight = imageFocus.originalSize.split('*')[3];
			
			imageFocus.ffX = getWinScrollX();
			imageFocus.ffY = getWinScrollY();
			

			imageFocus.znormalHeight = Math.round(imageFocus.zImgEl.getAttribute('height'));
			imageFocus.znormalWidth = Math.round(imageFocus.zImgEl.getAttribute('width'));

			
			// if(imageFocus.znormalHeight>imageFocus.znormalWidth){
			// 	var tmp = getWindowHeight()-imageFocus.zoomMargin; debug(tmp);
			// 	imageFocus.zfocusHeight = (tmp<=680)? tmp: 680;
			// 	imageFocus.zfocusWidth = imageFocus.original_w * imageFocus.zfocusHeight / imageFocus.original_h;
			// }
			// else if(imageFocus.znormalHeight<imageFocus.znormalWidth){
			// 	
			// 	var tmpw = imageFocus.znormalWidth * imageFocus.zfocusHeight / imageFocus.znormalHeight;
			// 	imageFocus.zfocusWidth = 728;
			// 	imageFocus.zfocusHeight = imageFocus.original_h * imageFocus.zfocusWidth / imageFocus.original_w;
			// }
			
			// imageFocus.zfocusHeight = (tmp<=680)? tmp: 680;
			// imageFocus.zfocusWidth = imageFocus.znormalWidth * imageFocus.zfocusHeight / imageFocus.znormalHeight;
			
			imageFocus.zfloatElOuterGoalW = getWindowWidth();
			imageFocus.zfloatElOuterGoalH = imageFocus.zfocusHeight;
			if(IE7||IE6){
				imageFocus.zfloatElOuterGoalH = imageFocus.zfocusHeight+800;
				imageFocus.zBody.parentNode.style.overflow = 'hidden';
			}

			// debug(imageFocus.zImgMeta.innerHTML)
			imageFocus.imgMetaDisplay = 'none';
			imageFocus.zoomDisplay = 'block';
			imageFocus.outerZindex = '204';

			// SET PROPERTIES
			imageFocus.zImgMeta.style.display = imageFocus.imgMetaDisplay;
			imageFocus.zZoomHidden.style.display = imageFocus.zoomDisplay;
			imageFocus.zBody.style.overflow = 'hidden';
			imageFocus.zOuterEl.style.zIndex = imageFocus.outerZindex;

			// SET ZOOM IMG URL
			imageFocus.imgName = imageFocus.zImgEl.src.substring(imageFocus.zImgEl.src.lastIndexOf('/')+1);
			imageFocus.imgPath = imageFocus.zImgEl.src.substring(0,imageFocus.zImgEl.src.lastIndexOf('img')+4);
			imageFocus.imgSize = imageFocus.zImgEl.src.substring(imageFocus.zImgEl.src.lastIndexOf('img')+4, imageFocus.zImgEl.src.lastIndexOf('/')+1);
			//error(imgPath); error(imgSize); error(imgName);
			switch(imageFocus.imgSize){
				case 'small/':
					imageFocus.tmpSize = 'small_zoom/';
					break;
				case 'medium/':
					imageFocus.tmpSize = 'medium_zoom/';
					break;
				case 'large/':
					imageFocus.tmpSize = 'large_zoom/';
					break;
			}
			zoom = false;
		}

		else if(!zoomactive) {

			imageFocus.zfocusHeight = imageFocus.znormalHeight;
			imageFocus.zfocusWidth = imageFocus.znormalWidth;
			imageFocus.scrllY = getWinScrollY()-imageFocus.hmmm;
			imageFocus.zfactor = 2.0
			imageFocus.zfactorScroll = 2.0;
			imageFocus.finalPush = 0;
			imageFocus.imgMetaDisplay = 'block';
			imageFocus.zoomDisplay = 'none';
			imageFocus.zBody.style.overflow='';
			if(IE6||IE7){
				imageFocus.zBody.parentNode.style.overflow = '';
			}
			imageFocus.zfloatElOuterGoalW = imageFocus.znormalWidth;
			imageFocus.zfloatElOuterGoalH = imageFocus.znormalHeight;
			imageFocus.outerZindex = '201';
			imageFocus.tmpSize = imageFocus.imgSize;
			zoom = true;

		}

		if(!zoomactive){
			imageFocus.animate();
		}
		else{
			// warn('allready active!!')
		}

	},
	animate: function(){
		var z1 = true;
		var z2 = true;
		zoomactive = true;

		//----------------
		//	HEIGHT / WIDTH
		if (((imageFocus.zfocusHeight - imageFocus.zImgEl.offsetHeight) > 2) && (zoom==false) || ((Math.abs(imageFocus.zImgEl.offsetHeight - imageFocus.zfocusHeight) > 4) && (zoom==true)) ){
			var zdistncH = Math.round(imageFocus.zfocusHeight - ((imageFocus.zfocusHeight - imageFocus.zImgEl.offsetHeight) / imageFocus.zfactor));
			imageFocus.zImgEl.style.height = zdistncH + 'px';
			imageFocus.zImgLink.style.height = zdistncH + 'px';
			imageFocus.zfloatEl.style.height = imageFocus.zfocusHeight + 190 + 'px';

			if(imageFocus.zoomDisplay=='block'){imageFocus.zZoomHidden.style.display = imageFocus.zoomDisplay;}
			var zdistncW = imageFocus.znormalWidth * zdistncH / imageFocus.znormalHeight;
			imageFocus.zImgEl.style.width = zdistncW + 'px';
			imageFocus.zImgLink.style.width = zdistncW + 'px';

		}
		else{
			imageFocus.zImgEl.style.height = imageFocus.zfocusHeight + 'px';
			imageFocus.zImgLink.style.height = imageFocus.zfocusHeight + 'px';
			imageFocus.zImgMeta.style.display= imageFocus.imgMetaDisplay;
			imageFocus.zfloatEl.style.height = imageFocus.zfocusHeight + imageFocus.finalPush + 'px';
			imageFocus.zZoomHidden.style.display = imageFocus.zoomDisplay;
			imageFocus.zOuterEl.style.zIndex = imageFocus.outerZindex;
			imageFocus.zImgEl.style.width = imageFocus.zfocusWidth + 'px';
			imageFocus.zImgLink.style.width = imageFocus.zfocusWidth + 'px';
			imageFocus.zImgEl.src = imageFocus.imgPath+imageFocus.tmpSize+imageFocus.imgName;
			// imageFocus.zfloatEl.style.width = imageFocus.zfocusWidth + 'px';
			z1 = false;
		}

		//----------------
		//	ZFLOAT / SCROLL
		if (Math.abs(imageFocus.zfloatElOuterGoalW-imageFocus.zfloatEl.offsetWidth)>1){
			//info(window.scrollX+'+(('+imageFocus.originalScrollW+' + (('+imageFocus.zfloatElOuterGoalW+' - '+imageFocus.znormalWidth+')/2)-'+window.scrollX+')/'+imageFocus.zfactorScroll+')')
			// error('X='+imageFocus.ffX+' Y='+imageFocus.ffY)
			
			imageFocus.zfloatElWscale =  (imageFocus.zfloatElOuterGoalW - imageFocus.zfloatEl.offsetWidth) / imageFocus.zfactor;
			imageFocus.zfloatEl.style.width = imageFocus.zfloatElOuterGoalW - imageFocus.zfloatElWscale + 'px';
			
			
			imageFocus.ffX = imageFocus.ffX + ( (imageFocus.originalScrollW+((imageFocus.zfloatElOuterGoalW-imageFocus.znormalWidth)/2)- imageFocus.ffX) / imageFocus.zfactorScroll);
			imageFocus.ffY = imageFocus.scrllY - ((imageFocus.scrllY - imageFocus.ffY) / imageFocus.zfactor)
			window.scrollTo( imageFocus.ffX, imageFocus.ffY);
		}
		else{
				imageFocus.zfloatEl.style.width = imageFocus.zfloatElOuterGoalW + 'px';
				
				if(zoom){
					// window.scrollTo( imageFocus.originalScrollW, imageFocus.ffY);
				}
				
				z2 = false;
		}

		//----------------
		//	REPEAT
		if (z1 || z2){
			setTimeout('imageFocus.animate()',5);
		}
		else{
			zoomactive = false;
			
			// warn('DONE!')
		}

	}
}


//-------------------------------------------------
//	FADING SCRIPT 
//-------------------------------------------------
/* Cross Browser Image Fader © 2007 John Davenport Scheuer
   This comment must remain for Legal Use  */

var faders=[];
// Preset each image's initial opacity (0 to 100):
// ex:  faders[x]=['image_id', initial_opacity];
faders[0]=['instructionFocus', 100];


////////////// Stop Editing //////////////

function fade(el, way, op, opinc, speed){
if(!fade.prprt&&!fade.ie)
return;
var id=typeof el=='string'? el : el.id, el=typeof el=='object'? el : document.getElementById(el);
clearTimeout(fade[id+'timer']);
var op_obj=fade.ie6? el.filters[0] : el.style,
waym=way=='in'? 1 : -1, speed=speed? speed*1 : 30, opinc=opinc&&opinc>=1? opinc*(fade.ie? 1 : .01) : opinc? opinc : fade.ie? 5 : .05,
op=op&&fade.ie? op*1 : op&&op*1>=1? Math.min(op*.01, .99) : op? op : waym>0&&fade.ie? 100 : waym>0? .99 : 0;
if(!fade.ie6&&!fade[id+'yet']){
if(fade.prprt)
op_obj[fade.prprt]=Math.min(fade.preset(id)*.01, .99);
else if(fade.ie)
op_obj.filter='alpha(opacity='+fade.preset(id)+')';
fade[id+'yet']=true;
}
if(fade.prprt&&Math.abs(op*1-op_obj[fade.prprt]*1)<opinc)
op_obj[fade.prprt]=op;
else if(fade.prprt)
op_obj[fade.prprt]=fade.ie6? op_obj[fade.prprt]*1 + opinc*waym : Math.min(op_obj[fade.prprt]*1 + opinc*waym, .99);
else if (fade.ie&&Math.abs(op*1 - op_obj.filter.replace(/\D/g,'')*1)<opinc)
op_obj.filter='alpha(opacity='+op+')';
else if (fade.ie)
op_obj.filter='alpha(opacity='+[op_obj.filter.replace(/\D/g,'')*1 + opinc*waym]+')';
else
return;
if(op_obj[fade.prprt]&&op_obj[fade.prprt]*waym<op*waym||!fade.ie6&&fade.ie&&op_obj.filter.replace(/\D/g,'')*waym<op*waym)
fade[id+'timer']=setTimeout(function(){fade(el, way, op, opinc, speed)}, speed);
}
if(document.documentElement&&document.documentElement.style){
fade.d=document.documentElement, fade.t=function(o){return typeof fade.d.style[o]=='string'}; if(fade.d.filters)
document.write('<span id="ie_test" style="filter:progid:DXImageTransform.Microsoft.alpha(opacity=0);position:absolute;top:-1000px;">p<\/span>');
fade.ie=fade.d.filters&&ie_test.filters[0], fade.ie6=fade.ie&&typeof ie_test.filters[0].opacity=='number',
fade.prprt=fade.t('opacity')||fade.ie6? 'opacity' : fade.t('MozOpacity')? 'MozOpacity' : fade.t('KhtmlOpacity')? 'KhtmlOpacity' : null;
}
fade.set=function(){
var prop=fade.prprt=='opacity'? 'opacity' : fade.prprt=='MozOpacity'? '-moz-opacity' : '-khtml-opacity';
document.write('\n<style type="text/css">\n')
for (var i = 0; i < faders.length; i++)
document.write('#'+faders[i][0]+' {\n'+
(fade.ie? 'filter:progid:DXImageTransform.Microsoft.alpha(opacity='+faders[i][1]+')' : prop+':'+Math.min(faders[i][1]*.01, .99))+';\n}\n');
document.write('<\/style>\n')
}
fade.preset=function(id){
for (var i = 0; i < faders.length; i++)
if (id==faders[i][0])
return faders[i][1];
return 0;
}
if(fade.prprt||fade.ie)
fade.set();

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();