// JavaScript Document

	var contentArea = "content";
	var lastDivId;
	var oldCSSClass;
	var switchBackClass, switchClass;
	var timerId;
	var srcContentDiv;
	var fadeDiv;
	var fadeObj;
	var fadeSpeed = 10;
	var fadeStyle = "OUT";
	var fadeAmount = 100;
	var tfd;

	var lastObj;
	var lastSlideObj;
	var id;
	var index = 1;
	var lastIndex = -1;
	var leftSlideIn, leftSlideOut, rightSlideIn, rightSlideOut;
	
	var totalContent = 4;
	
	var appearMode = "slide";
	
	var changeMode = "manual";

	if( window.navigator.userAgent.indexOf("IE") == -1 ) {
		fadeAmount = 1;
		fadeSpeed = 20;
	}
	
	function setChangeMode(mode) {
		changeMode = mode;
	}
	
	function setTotalContent(count) {
		totalContent = count;	
	}
	
	function getChangeMode() {
		return changeMode;	
	}
	
	function showContent(element, targetDiv, srcDiv) {	
		this.srcContentDiv = srcDiv;
		this.tfd = targetDiv;
		
		fadeStyle = "OUT";
		//document.getElementById(targetDiv).innerHTML = document.getElementById(srcDiv).innerHTML;
		fadeContent(targetDiv);	
		//fadeContent(targetDiv);
		
		switchCSS(element, switchClass);
	}
	
	function setSwitchBackClass(className) {
		switchBackClass = className;
	}
	
	function setSwitchClass(className) {
		switchClass = className;
	}
	
	function switchCSS(targetDiv, newCSSClass) {
		if( document.getElementById(targetDiv).className != newCSSClass) {
			document.getElementById(targetDiv).className = newCSSClass;
		} else {
			return;	
		}
		
		if(lastDivId != null) {
			document.getElementById(lastDivId).className = switchBackClass;	
		}
		
		lastDivId = targetDiv;
	}
	
	function fadeContent(targetDiv) {
		this.fadeDiv = targetDiv;
		this.fadeObj = document.getElementById(targetDiv);		
		timerId = setInterval("doFade()", fadeSpeed);
		//alert("Fade Started");
	}
	
	function doFade() {
		
		if( fadeStyle == "IN" && fadeAmount <= 0 ) {
			if (fadeDiv == this.tfd ) {
				document.getElementById(fadeDiv).innerHTML = document.getElementById(srcContentDiv).innerHTML;	
			}
		}
		
		if( window.navigator.userAgent.indexOf("IE") != -1 ) {
			if( fadeStyle == "IN" ) {
				fadeAmount += 10;
				fadeObj.style.filter = "alpha(opacity=" + fadeAmount + ")";	
			} else {
				fadeAmount -= 10;
				fadeObj.style.filter = "alpha(opacity=" + fadeAmount + ")";
			}	
		} else {
			if( fadeStyle == "IN" ) {
				fadeAmount += 0.1;
				fadeObj.style.opacity = fadeAmount;
			} else {
				fadeAmount -= 0.1;
				fadeObj.style.opacity = fadeAmount;
			}	
		}
		
		if(fadeStyle == "OUT" && (fadeAmount <= 0) ) {					
			clearInterval(timerId);	
			//alert("Fade Stopped");
			fadeStyle = "IN";
			fadeContent(fadeDiv)
		} else if( fadeStyle == "IN" && (fadeAmount == 100 || fadeAmount == 1) ) {		
			clearInterval(timerId);	
		}
	}

	
	function showArticle(trigger,index, dir) {
		if(this.index != index) {
			this.index = index;
		}
	
		var content = document.getElementById("art" + index);
	
		if( content == null ) {
			return;	
		}
		
		// show article by sliding
		if( appearMode == "slide") {
			if( lastObj != null ) {
				if( dir == null || dir == "next") {
					slideOutLeft("art" + lastIndex);
				} else if( dir == "prev" ) {
					slideOutRight("art" + lastIndex);	
				}
			}
			
			if( dir == null || dir == "next") {
				slideInLeft("art" + index);
			} else if( dir == "prev" ) {
				slideInRight("art" + index);
			}
		}
		
		// show article by fading in content
		if( appearMode == "fade" ) {
			showContent(trigger.id,"art_display", content );
		}
		
		if( lastObj != null ) {
			lastObj.className = "navlink";
		}
		
		trigger.className = "navlink selected";
		
		lastObj = trigger;
		lastSlideObj = content;
		lastIndex = index;
	}
	
	function startTimer() {
		if( changeMode == "auto" ) {
			if( id == null ) {
				id = setInterval("goNext()",15000);
			}
		}
	}
	
	function goNext() {
		if( rightSlideIn != null || leftSlideIn != null ) {
			return;	
		}
		
		index++;
		
		if(index >= totalContent + 1) {
			index = 1;
		}
		
		var obj = document.getElementById("artlink" + index);
		showArticle(obj,index,"next");
	}

	function goPrevious() {
		if( rightSlideIn != null || leftSlideIn != null ) {
			return;	
		}
		
		index--;
		
		if(index <= 0) {
			index = totalContent;
		}
		
		var obj = document.getElementById("artlink" + index);
		showArticle(obj,index,"prev");
	}
	
	function setupBoxes() {
		document.getElementById("art_display").innerHTML = "";
		
		for(var i = 1; i <= totalContent; i++) {
			if( document.getElementById("art" + i) != null ) {
				document.getElementById("art" + i).style.left = "700px";
				document.getElementById("art" + i).style.top = "0px";
			}
		}	
	}
	
	function init() {
		initStatic();
		setChangeMode("auto");
		startTimer();
	}
	
	function initStatic() {
		var index = 1;
		setupBoxes();
		
		setChangeMode("manual");
		
		setSwitchClass("navlink selected");
		setSwitchBackClass("navlink");
		
		var obj = document.getElementById("artlink" + index);
		showArticle(obj,index);
	}
	
	function pauseCycle() {
		clearInterval(id);
		id = null;
		
		if( document.getElementById("pause") != null ) {
			document.getElementById("pause").className = "navlink selected";
		}
	}
	
	function startCycle() {
		startTimer();
		goNext();
		
		if( document.getElementById("pause") != null ) {
			document.getElementById("pause").className = "navlink";
		}
	}
	
	function resetTimer() {
		pauseCycle();
		startTimer();
	}
	
	function slideInLeft(objId) {
		if( rightSlideIn != null || leftSlideIn != null ) {
			return;	
		}
		
		if( document.getElementById(objId) != null ) {
			document.getElementById(objId).style.left = "700px";
			leftSlideIn = setInterval("doSlideIn('left','" + objId + "')", 100);
		}
	}
	
	function slideInRight(objId) {
		if( rightSlideIn != null || leftSlideIn != null ) {
			return;	
		}
		
		if( document.getElementById(objId) != null ) {
			document.getElementById(objId).style.left = "-700px";
			rightSlideIn = setInterval("doSlideIn('right','" + objId + "')", 100);
		}
	}
	
	function slideOutLeft(objId) {
		if( rightSlideOut != null || leftSlideOut != null ) {
			return;	
		}

		if( document.getElementById(objId) != null ) {
			document.getElementById(objId).style.left = "0px";
			leftSlideOut = setInterval("doSlideOut('left','" + objId + "')", 100);
		}
	}
	
	function slideOutRight(objId) {
		if( rightSlideOut != null || leftSlideOut != null ) {
			return;	
		}
		
		if( document.getElementById(objId) != null ) {
			document.getElementById(objId).style.left = "0px";
			rightSlideOut = setInterval("doSlideOut('right','" + objId + "')", 100);
		}
	}
	
	function doSlideIn(dir, objId) {
		var obj = document.getElementById(objId);
		
		if( dir == "left" ) {
			obj.style.display = "block";
			
			var left = parseInt(obj.style.left);
			obj.style.left = (left - 50) + "px";			
			obj.style.top = "0px";
			
			if( obj.style.left == "0px" ) {
				clearInterval(leftSlideIn);	
				leftSlideIn = null;
			}
			
		} else if( dir == "right" ) {
			obj.style.display = "block";
			
			var left = parseInt(obj.style.left);
			obj.style.left = (left + 50) + "px";			
			obj.style.top = "0px";
			
			if( obj.style.left == "0px" ) {
				clearInterval(rightSlideIn);	
				rightSlideIn = null;
			}
		}
	}
	
	function doSlideOut(dir, objId) {
		var obj = document.getElementById(objId);
		
		if( dir == "left" ) {
			obj.style.display = "block";
			
			var left = parseInt(obj.style.left);
			obj.style.left = (left - 50) + "px";			
			obj.style.top = "0px";
			
			if( obj.style.left == "-700px" ) {
				clearInterval(leftSlideOut);
				leftSlideOut = null;
			}
			
		} else if( dir == "right" ) {
			obj.style.display = "block";
			
			var left = parseInt(obj.style.left);
			obj.style.left = (left + 50) + "px";			
			obj.style.top = "0px";
			
			if( obj.style.left == "700px" ) {
				clearInterval(rightSlideOut);
				rightSlideOut = null;
			}
		}
	}
