/* ******************************************************************************
eventlisteners
************** */

function addLoadListener(fn){

	if(typeof window.addEventListener != 'undefined'){
		window.addEventListener('load', fn ,false);
	
	} else if(typeof document.addEventListener != 'undefined'){
		
		document.addEventListener('load', fn ,false);
	  
	} else if(typeof window.attachEvent != 'undefined'){
			window.attachEvent('onload', fn);
		
	} else {
		var oldfn = window.onload;
		if(typeof window.onload != 'undefined'){
			window.onload = fn;
		} else {
			window.onload = function(){
				oldfn();
				fn();
			};
		}
	}
}

function attachEventListener(target, eventType, functionRef, capture){

	if(typeof target.addEventListener != 'undefined'){
		target.addEventListener(eventType, functionRef, capture);
	 
	} else if(typeof target.attachEvent != 'undefined'){
		target.attachEvent("on" + eventType, functionRef)
	
	} else {
		eventType = "on" + eventType;
		
		if(typeof target[eventType] == "function"){
			var oldListener = target[eventType];
			
			target[eventType] = function(){
				oldlistener();
				return functionRef();
						
			}
		
		} else {
			target[eventType] = functionRef;
		
		}
	}
}



/* ******************************************************************************
ticker specific functions 
************************* */

keepscrolling1 = 0;
keepscrolling2 = 0;
keepscrolling3 = 0;

addLoadListener(initTicker);


function initTicker(){

	var slider;
	
	for(var counter = 1; counter <= 0; counter++){
	
		var slider = document.getElementById("slider"+counter);
	
		// alert(document.getElementById("slider"+counter).id);
	
		slider.style.top = 0+"px";

		if(retrieveComputedStyle(slider, "position") == "relative"){ // required for opera

			var relativeHeight = slider.offsetHeight;

			slider.style.position = "absolute";
			slider.calculatedHeight = slider.offsetHeight;

			if(relativeHeight > slider.calculatedHeight){
				slider.calculatedHeight = relativeHeight;
			}

			slider.style.position = "relative";

		} else{

			slider.calculatedHeight = slider.clientHeight;
		}

		// this attaches listeners to the 3 sliders
		
		switch(counter){
			case 1: attachEventListener(slider, "mouseover", noScroll1,false);
				attachEventListener(slider, "mouseout", goScroll1,false);
				break;
				
			case 2: attachEventListener(slider, "mouseover", noScroll2,false);
				attachEventListener(slider, "mouseout", goScroll2,false);
				break;	
				
			case 3: attachEventListener(slider, "mouseover", noScroll3,false);
				attachEventListener(slider, "mouseout", goScroll3,false);
				break;
			
		}
		
	
	}
	
	
	
	setTimeout("moveSlider()",3000);
	
	return true;
}

function moveSlider(){

	var increment = 1;
	var delay = 50;
	
	for(var counter = 1; counter <= 0; counter++){
	
		var slider = document.getElementById("slider"+counter);

		var currTop = parseInt(slider.style.top);

		if(keepscrolling1 == 1 && counter == 1){
			if(currTop < slider.calculatedHeight * -1){
				slider.style.top = slider.parentNode.offsetHeight + "px";

			} else {
				slider.style.top = (parseInt(slider.style.top) - increment) + "px";
			}
		}
		
		if(keepscrolling2 == 1 && counter == 2){
			if(currTop < slider.calculatedHeight * -1){
				slider.style.top = slider.parentNode.offsetHeight + "px";

			} else {
				slider.style.top = (parseInt(slider.style.top) - increment) + "px";
			}
		}		
		
		if(keepscrolling3 == 1 && counter == 3){
			if(currTop < slider.calculatedHeight * -1){
				slider.style.top = slider.parentNode.offsetHeight + "px";
			} else {
				slider.style.top = (parseInt(slider.style.top) - increment) + "px";
			}
		}		
		
	}
	
	
	setTimeout("moveSlider()", delay);
	
	return true;
	
}


function retrieveComputedStyle(element, styleProperty){
	
	var computedStyle = null;
	
	if (typeof element.currentStyle != "undefined"){
		computedStyle = element.currentStyle; 
	} else{
		computedStyle = document.defaultView.getComputedStyle(element, null);
	}
	
	return computedStyle[styleProperty];
}


function noScroll1(){
	
	keepscrolling1 = 0;
	return true;
}

function goScroll1(){

	keepscrolling1 = 1;
	return true;	
}

function noScroll2(){
	
	keepscrolling2 = 0;
	return true;
}

function goScroll2(){

	keepscrolling2 = 1;
	return true;	
}

function noScroll3(){
	
	keepscrolling3 = 0;
	return true;
}

function goScroll3(){

	keepscrolling3 = 1;
	return true;	
}


