/******************************************************************/
/* © 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>');
	if (2==SWFOBJECTVERSION) {
		flashvars 	= {};
		params = {wmode:"transparent",bgcolor:FLASHBGCOLOR};
		attributes 	= { style:";"  };
		swfobject.embedSWF(FLASHLOADINGANIOMATION, "swf"+rand, FLASHLOADINGANIOMATION_W, FLASHLOADINGANIOMATION_H,"6", flashvars, params,attributes);
	} else {
		var so = new SWFObject(FLASHLOADINGANIOMATION, "swf"+rand, FLASHLOADINGANIOMATION_W, FLASHLOADINGANIOMATION_H, "6", FLASHBGCOLOR);
		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", UrlEncoding(btPrev.attr("href"))).attr("href","javascript:;");
		btPrev.click( function() {	
			loading(container);		
			container.load($j(this).attr("url"), function() {
				setScrollPane(container.children(".jScrollPane"));
				setPaging();
				$j.getScript(DMCLoader.getScriptPath()+'/ardtabs.js');
			});			
		});
		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();
				$j.getScript(DMCLoader.getScriptPath()+'/ardtabs.js');
			});						
		});		
		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.getScript(DMCLoader.getScriptPath()+'/ardtabs.js');
			});						
		});		
	});
}

$j(document).ready(function(){ // Page is ready
	//$j.cookie('currentTime',0)
	$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
}

function UrlEncoding(input) {
	var encodedInputString=escape(input);
	encodedInputString=encodedInputString.replace("%3A", ":");
	return encodedInputString;
}
