// JavaScript Document
function browser(v) {
	if (Math.max(navigator.userAgent.toLowerCase().indexOf(v)) > 0) {
		return true;
	} else {
		return false;
	}			
}
var step = 0;
var steps = 50;
var ticks = 40;
var pulser = 0;
maxPulser = 50;
function animate () {
	if (step<steps) {
		propor = (Math.sin((step / steps) * (Math.PI/2)));
		start = 0;
		end = 714;
		document.getElementById("home_line").style.height = (parseInt (((end - start) * propor) + start)) + "px";			
		start = 714;
		end = 73;
		document.getElementById("home_dot").style.top = (parseInt (((end - start) * propor) + start)) + "px";		
		document.getElementById("home_dot_tooltip").className="home_dot_tooltip";
	}
	step++;	
	if (step==200) {
		document.getElementById('home_link').style.cursor="pointer";
	}
	if (step==125) {
		document.getElementById("home_dot_tooltip").className="home_dot_tooltip_show";
	}
	pulser++;
	if (pulser > maxPulser) {
		pulser = 0;
	}
	trans = pulser;
	if (trans > (maxPulser / 2)) {
		trans = maxPulser - trans;
	}
	trans = trans / maxPulser;				
	dot = document.getElementById("home_dot_inner");				
	dot.style.opacity = trans;
	dot.style.filter = "alpha(opacity=" + (trans * 100) + ")";
	dot.style.MozOpacity = trans;
	dot.style.opacity = trans;		
	setTimeout ("animate()", ticks);	
}
var line= new Object();
line.step = 0;
line.steps = 50;
line.ticks = 40;
line.timeObject = false;
function growLine (){
	if (line.step<line.steps) {
		propor = (Math.sin((line.step / line.steps) * (Math.PI/2)));
		start = 0;
		end = 427;
		document.getElementById("line").style.height = (parseInt (((end - start) * propor) + start)) + "px";
		line.step++;
		line.timeObject = setTimeout ("growLine()", line.ticks);	
	}
}
var defaultsCleared=new Array();
function clearDefault(id){
	var found = false;
	for (i=0;i<defaultsCleared;i++) {
		if (defaultsCleared[i]==id) {
			found = true;
		}
	}
	if (found==false) {
		document.getElementById(id).value="";
		defaultsCleared.push(id);
	}						
}

function setBookmark(url,str){
if(str=='')str=url;
if (document.all)window.external.AddFavorite(url,str);
	else alert('Press CTRL and D to add a bookmark to:\n"'+url+'".');
}

function toggleDiv(whichSlide){
	for (f=1; f<=10; f++) {
		document.getElementById("slideImage_"+f).style.display="none";
		document.getElementById("slideContent_"+f).style.display="none";
	}
	for (f=1; f<=10; f++) {
		if (f==whichSlide) {
			document.getElementById("slideTab_"+f).className="over";
			document.getElementById("slideImage_"+f).style.display="block";
			document.getElementById("slideContent_"+f).style.display="block";
		} else {
			if (document.getElementById("slideTab_"+f)!=null) {
				document.getElementById("slideTab_"+f).className="";				
			}
		}
	}
	return false;
}
function goSlideImage(which) {
	fader['currentImage'] = which;
	changeSlideImage (which);
}
function changeSlideImage(which){
	if (fader['step']==0) {	
		for (f=0;f<gallery.length;f++) {
			if (f==which - 1) {
				fader['fadeImage'].src = gallery[f]['src'];
				setOpacity(fader['textContent'], 0);	
				fader['textContent'].innerHTML =  "<h4>"+gallery[fader['currentImage'] - 1]['title']+"</h4>"+gallery[fader['currentImage'] - 1]['description'];
				clearTimeout (fader['autoChangeSlide']);
				clearTimeout (fader['timerObject']);
				fader['timerObject'] = setTimeout ("fadeUpSlideImage()", fader['ticks']);				
				//document.getElementById("slideLink_"+(f + 1)).className="slideDot_over";
			} else {
				//document.getElementById("slideLink_"+(f + 1)).className="slideDot";
			}
		}
	}
}	
function fadeUpSlideImage() {
	fader['step']++;
	if (fader['step']>=fader['steps']) {
		document.getElementById('gallery_image').src = fader['fadeImage'].src;
		fader['fadeContainer'].style.display = 'none';
		fader['step'] = 0;
		fader['autoChangeSlide'] = setTimeout ("autoChangeSlide()", fader['autoChangeTicks']);
	} else {
		trans = fader['step'] / fader['steps'];
		fader['fadeContainer'].style.display = "";
		setOpacity (fader['fadeContainer'], trans);
		setOpacity (fader['textContent'], trans);
		fader['timerObject'] = setTimeout ("fadeUpSlideImage()", fader['ticks']);
	}
}
function autoChangeSlide(){
	fader['currentImage']++;
	if (fader['currentImage'] > gallery.length) {
		fader['currentImage'] = 1;
	}
	changeSlideImage(fader['currentImage']);
}
function setOpacity (ele, trans){
	ele.style.opacity = trans;
	ele.style.filter = "alpha(opacity=" + (trans * 100) + ")";
	ele.style.MozOpacity = trans;
	ele.style.opacity = trans;
}

//scroll bits
function initScroll(outerContainer, innerContainer) {
	scrollObject['outerContainer'] = document.getElementById(outerContainer);
	scrollObject['innerContainer'] = document.getElementById(innerContainer);
	scrollObject['scroller'] = false;
	scrollObject['scrollSpeed'] = 0;
	scrollObject['scrollOffset'] = 0;
	scrollObject['maxOffset'] = scrollObject['outerContainer'].offsetHeight - scrollObject['innerContainer'].offsetHeight;
	
	if (scrollObject['maxOffset'] < 0) {
		scrollObject['timeObject'] = setTimeout ("scrollGo()", 40);
		scrollObject['maxOffset'] = scrollObject['maxOffset'] - 50;
		document.getElementById("scrollUp").style.display="block";
		document.getElementById("scrollDown").style.display="block";
	}	
	if (browser('msie')==true) {
		scrollObject['outerContainer'].attachEvent("onmousewheel", wheelMouseScroll);
	} else {
		scrollObject['outerContainer'].addEventListener("DOMMouseScroll", wheelMouseScroll, false);
		scrollObject['outerContainer'].addEventListener("mousewheel", wheelMouseScroll, false);
	}				
}
function wheelMouseScroll(event){
	var delta = 0;
	if (!event) {
		event = window.event; // For IE
	}
	if (event.wheelDelta) { // IE/Opera/chrome
		delta = event.wheelDelta/20;						
		if (window.opera){
			delta = -1 * delta; //Opera 
		}
	} else {
		if (event.detail) {
			delta = -event.detail; // Mozilla case
		} 
	}
	if (delta!=0) {
		scrollObject['scrollOffset'] = scrollObject['scrollOffset'] + delta;
		if (scrollObject['scrollOffset'] > 0) {scrollObject['scrollOffset']=0;}
		if (scrollObject['scrollOffset'] < scrollObject['maxOffset']) {scrollObject['scrollOffset'] = scrollObject['maxOffset'];}
		if (event.preventDefault) {
			event.preventDefault();
		}
		event.returnValue = false;
	}					
}
function scrollChange (speed){
	scrollObject['scrollSpeed'] = speed;
}
function scrollGo (){
	scrollObject['scrollOffset'] = scrollObject['scrollOffset'] + scrollObject['scrollSpeed'];
	if (scrollObject['scrollOffset'] > 0) {scrollObject['scrollOffset']=0;}
	if (scrollObject['scrollOffset'] < scrollObject['maxOffset']) {scrollObject['scrollOffset'] = scrollObject['maxOffset'];}
	scrollObject['innerContainer'].style.top = scrollObject['scrollOffset'] + "px";
	scrollObject['timeObject'] = setTimeout ("scrollGo()", 20);	
}
function initHScroll(outerContainer, innerContainer, outerWidth, innerWidth) {
	scrollHObject['outerContainer'] = document.getElementById(outerContainer);
	scrollHObject['innerContainer'] = document.getElementById(innerContainer);
	scrollHObject['scroller'] = false;
	scrollHObject['scrollSpeed'] = 0;
	scrollHObject['scrollOffset'] = 0;
	scrollHObject['maxOffset'] = outerWidth - innerWidth;		
	if (scrollHObject['maxOffset'] < 0) {
		scrollHObject['timeObject'] = setTimeout ("scrollHGo()", 40);
		scrollHObject['maxOffset'] = scrollHObject['maxOffset'] - 50;
		document.getElementById("scrollLeft").style.display="block";
		document.getElementById("scrollRight").style.display="block";
	}
}
function scrollHChange (speed){
	scrollHObject['scrollSpeed'] = speed;
}
function scrollHGo (){
	scrollHObject['scrollOffset'] = scrollHObject['scrollOffset'] + scrollHObject['scrollSpeed'];
	if (scrollHObject['scrollOffset'] > 0) {scrollHObject['scrollOffset']=0;}
	if (scrollHObject['scrollOffset'] < scrollHObject['maxOffset']) {scrollHObject['scrollOffset'] = scrollHObject['maxOffset'];}
	scrollHObject['innerContainer'].style.left = scrollHObject['scrollOffset'] + "px";
	scrollHObject['timeObject'] = setTimeout ("scrollHGo()", 20);	
}
function initITNScroll(outerContainer, outerWidth, itemCount, itemWidth) {
	scrollITNObject['outerContainer'] = document.getElementById(outerContainer);
	scrollITNObject['scroller'] = false;
	scrollITNObject['scrollSpeed'] = 0;
	scrollITNObject['scrollOffset'] = 0;
	scrollITNObject['maxOffset'] = outerWidth - (itemCount * itemWidth);		
	scrollITNObject['outerWidth'] = outerWidth;
	scrollITNObject['itemCount'] = itemCount;
	scrollITNObject['itemWidth'] = itemWidth;
	if (scrollITNObject['maxOffset'] < 0) {
		scrollITNObject['timeObject'] = setTimeout ("scrollITNGo()", 40);
		document.getElementById("scrollLeft").style.display="block";
		document.getElementById("scrollRight").style.display="block";
	}
}
function scrollITNChange (speed){
	scrollITNObject['scrollSpeed'] = speed;
}
function scrollITNGo (){
	scrollITNObject['scrollOffset'] = scrollITNObject['scrollOffset'] + scrollITNObject['scrollSpeed'];
	for (f=0;f<scrollITNObject['itemCount'];f++) {
		thisX = (scrollITNObject['scrollOffset'] + (f * scrollITNObject['itemWidth']));			
		if (thisX>0) {
			if (thisX > scrollITNObject['outerWidth']) {
				while (thisX > scrollITNObject['outerWidth']) {
					thisX = thisX - (scrollITNObject['itemCount'] * scrollITNObject['itemWidth']);
				}
			}
		} else { 
			if (thisX < -1 * scrollITNObject['itemWidth']) {
				while (thisX < -1 * scrollITNObject['itemWidth']) {
					thisX = thisX + (scrollITNObject['itemCount'] * scrollITNObject['itemWidth']);
				}
			}
		}
		document.getElementById("article_"+(f + 1)).style.left = thisX + "px";
	}
	scrollITNObject['timeObject'] = setTimeout ("scrollITNGo()", 20);	
}
function initPageScroll(outerContainer, innerContainer) {
	var thisScrollObject = new Object();
	thisScrollObject['outerContainer'] = document.getElementById(outerContainer);
	thisScrollObject['outerContainerHeight'] = thisScrollObject['outerContainer'].offsetHeight;
	thisScrollObject['innerContainer'] = document.getElementById(innerContainer);
	thisScrollObject['scroller'] = false;
	thisScrollObject['thisPage'] = 0;
	thisScrollObject['nextPage'] = 0;
	thisScrollObject['scrollStep'] = 0;
	thisScrollObject['scrollSteps'] = 50;
	thisScrollObject['pageOffsetMax'] = Math.floor(thisScrollObject['innerContainer'].offsetHeight / thisScrollObject['outerContainerHeight']);
	if (thisScrollObject['pageOffsetMax']>0) {
		thisScrollObject['timeObject'] = setTimeout ("pageScrollGo()", 40);
		document.getElementById("pressReleasePager").style.display="";
	}
	return thisScrollObject;
}
	
function pageScrollGoPrev (){
	if (scrollObject['nextPage']==scrollObject['thisPage']&&scrollObject['thisPage']>0) {
		scrollObject['nextPage'] = scrollObject['thisPage'] - 1;
		updateButtons();
	}
	return false;
}
function pageScrollGoPage (page){
	if (scrollObject['nextPage']==scrollObject['thisPage']) {
		scrollObject['nextPage'] = page;
		updateButtons();
	}
	return false;
}
function pageScrollGoNext (){
	if (scrollObject['nextPage']==scrollObject['thisPage']&&scrollObject['thisPage']<scrollObject['pageOffsetMax']) {
		scrollObject['nextPage'] = scrollObject['thisPage'] + 1;
		updateButtons();
	}
	return false;
}
function updateButtons() {
	if (scrollObject['nextPage']==0) {
		document.getElementById("prevButton").className="prevLink_disabled";
	} else {
		document.getElementById("prevButton").className="prevLink";
	}
	if (scrollObject['nextPage']>=scrollObject['pageOffsetMax']) {
		document.getElementById("nextButton").className="nextLink_disabled";
	} else {
		document.getElementById("nextButton").className="nextLink";
	}
}
function pageScrollGo (){
	if (scrollObject['nextPage']!=scrollObject['thisPage']) {
		scrollObject['scrollStep']++;
		startPos = scrollObject['thisPage'] * scrollObject['outerContainerHeight'];
		endPos = scrollObject['nextPage'] * scrollObject['outerContainerHeight'];
		propor = (Math.sin((scrollObject['scrollStep'] / scrollObject['scrollSteps']) * (Math.PI/2)));
		thisPos = ((endPos - startPos) * propor) + startPos;
		scrollObject['innerContainer'].style.top = (-1 * thisPos) + "px";
		if (scrollObject['scrollStep'] >= scrollObject['scrollSteps']) {
			scrollObject['thisPage'] = scrollObject['nextPage'];					
			scrollObject['scrollStep'] = 0;
		}
	}
	scrollObject['timeObject'] = setTimeout ("pageScrollGo()", 20);	
}
