/******************************************************************/
/* © DMC 01 Consulting & Development GmbH - gerald.urbas@dmc01.at */
/******************************************************************/
/* www.jquery.com based scripts for ARD Videoportal               */
/******************************************************************/
/* inits major things                                             */
/* Player, Scrollbars, some global functions                      */
/******************************************************************/

if (typeof showplayer!="undefined") { // if showplayer is present generate the objects
	var imgpath = "img/videocontrol/";
	var player = false;
	var ec_current = false;
	var oldvote = 0;
}

function setTeaserHover() { //init teaser + icons hovering	
	$j(".teaserLink").hover(
	 	function(){
   		$j(this).prev().addClass("hover");
 		},
 		function(){
   		$j(this).prev().removeClass("hover");
		}
	);	
	$j(".icons").hover(
	 	function(){
   		$j(this).prev().prev().addClass("hover");
 		},
 		function(){
   		$j(this).prev().prev().removeClass("hover");
 		}
 	);
	$j(".rating").hover( 
		function() {
			$j(this).prev().prev().prev().addClass("hover");
		},
		function() {
			$j(this).prev().prev().prev().removeClass("hover");
		}
	);	
}

function setScrollPanes() {	// init all scrollpanes shortcut fun.ction
	$j('.jScrollPane').jScrollPane({showArrows:true, scrollbarWidth:17, scrollbarMargin:0});
	setTeaserHover();
}

function setScrollPane(jqtarget) { // set scrollpane for some defined Jquery objetc
	jqtarget.jScrollPane({showArrows:true, scrollbarWidth:17, scrollbarMargin:0});
	setTeaserHover();
}

function loading(jqtarget){ // loading animation	
	jqtarget.empty();
	jqtarget.show();
	var rand = Math.random()+"";
	rand = rand.substring(2, rand.length);
	jqtarget.append('<div id="loading'+rand+'" class="loading"></div>');
	var so = new SWFObject("swf/loading.swf", "swf"+rand, "36", "36", "6", "#FF0000");
	so.addParam("wmode", "transparent");
	so.setAttribute("style", ";");
	so.write("loading"+rand);
}

function setPaging() {	
	$j(".paging").each( function(i) {
		var container = $j(this).parent();		
		var btPrev = $j(this).children("p").children(".prev");		
		var btNext = $j(this).children("p").children(".next");
		var btGo = $j(this).children("p").children(".go");		
		if(btPrev.is("a")) btPrev.attr("url", btPrev.attr("href")).attr("href","javascript:;");
		btPrev.click( function() {	
			loading(container);		
			container.load($j(this).attr("url"), function() {
				setScrollPane(container.children(".jScrollPane"));
				setPaging();
			});			
		});
		if(btNext.is("a")) btNext.attr("url", btNext.attr("href")).attr("href","javascript:;");
		btNext.click( function() {	
			loading(container);		
			container.load($j(this).attr("url"), function() {
				setScrollPane(container.children(".jScrollPane"));
				setPaging();
			});						
		});		
		if(btGo.is("a")) btGo.attr("url", btGo.attr("href")).attr("href","javascript:;");
		btGo.click( function() {			
			var pageUrl = $j(this).attr("url") + $j(this).prev().val();					
			loading(container);		
			container.load(pageUrl, function() {
				setScrollPane(container.children(".jScrollPane"));
				setPaging();
			});						
		});		
	});
}

$j(document).ready(function(){ // Page is ready
	$j("#infopane").hide(); // make sure info layer is unvisible(bottom infoplayer for heklp and infobutton)
	if (typeof pdebug!="undefined" && pdebug==false) {
		$j("#videodebugclear").hide(); // Hide debugging clearbutton layer
		$j("#videodebug").hide(); // Hide debugging layer
	}

	setScrollPanes(); // initialise scrollpanes
	setPaging(); //initialise paging
	
	// this initialises the player object on the page. this generate some UI things and the player embved object code
	if (typeof showplayer!="undefined" && showplayer!=false) { // Show player is true - Home edition
		if (player.player_type=="extended") { // Show player is true - Extended edition			
			// startscreen settings... currently the Infopane is opened.
			player.start(); // after player preps start it.
			var tab = INITIALTAB;
			if (player.function_urls[tab]!=false && SHOWINITIALTAB==true) {
				var cobj = $j("#optionBoxContainer"); // tab content container 
				var obj = $j("#b_"+tab); // the infobutton
				var url = player.function_urls[tab]; // Some URL defined in the baseHTML code
				cobj.empty(); // forst empty the content container
				loading($j('#optionBoxContainer')); // loading animation
				//cobj.load(url+".html",null,setScrollPanes()); // load the url
				cobj.load(url+APPHTMLEXTENSION,function() {
					$j.getScript(url+APPJSEXTENSION); // Some Tabvs need some aditional JS code... but infopane doesnt!
				}); // load the url
				cobj.attr("url",url); // set an attr (used by button funcitons
				
				obj.addClass("optActive"); // Add correct klass to Button obj.
				ec_current = tab; // set current layer... later used to deativate Buttons--
			}
		}
	}

	//FIX IE6 FLICKER BUG!
	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}	

	var helpobj = $j("#b_help"); // Each page can define one Help url. (bottom: questionmark)
	if (helpobj.html() != null) {
		helpobj.attr('url',helpobj.attr('href')).attr('href','javascript:;'); // write href to url
		helpobj.bind("click", function(){ // bind click	
			$j("#footer .close").css("display","inline");		
			$j("#footer .headerBg").css("display","block");			
			$j(this).addClass("active");
			$j(this).prev().removeClass("active");
			loading($j('#infopane'));// loading animation
			var loadUrl = $j(this).attr('url');
			$j('#infopane').load(loadUrl, function() {
				$j.getScript(loadUrl+".js");	
			});			
			if(typeof(closeAllTabs)!="undefined") closeAllTabs();
		});
	}

	var infoobj = $j("#b_moreinfo"); // Each page can define one Help url. (bottom: exclamation mark )
	if (infoobj.html() != null) {
		infoobj.attr('url',infoobj.attr('href')).attr('href','javascript:;'); // write href to url
		infoobj.bind("click", function(){ // bind click				
			$j("#footer .close").css("display","inline");	
			$j("#footer .headerBg").css("display","block");
			$j(this).addClass("active");
			$j(this).next().removeClass("active");		
			loading($j('#infopane'));// loading animation			
			var loadUrl = $j(this).attr('url');
			$j('#infopane').load(loadUrl, function() {
				$j.getScript(loadUrl+".js");	
			});
			if(typeof(closeAllTabs)!="undefined") closeAllTabs();
		});
	}

	var closeobj = $j("#b_close"); // generate Close button for info and help on bottom
	closeobj.bind("click", function(){ // bind click	
			$j(this).css("display","none");
			$j(this).siblings().removeClass("active");
			$j("#footer .headerBg").css("display","none");
			$j('#infopane').empty(); // empty the infopane
			$j('#infopane').hide(); // hide it
	});

});

function closeHelpInfoObj() {
	var closeall = $j("#b_close");
	closeall.css("display","none");
	closeall.siblings().removeClass("active");
	$j("#footer .headerBg").css("display","none");
	$j('#infopane').empty(); // empty the infopane
	$j('#infopane').hide(); // hide it
}
