/**
 * @author Holger Drewes
 */


var BaseLI;

var showThumbnails = false;

var subNaviPos = 0;

var adOnPage = true;


// To be overwritten in pages who want to use onload events
Object.onloadEvents = function() {
}


// Functions doubled from tv_navi.js, create same source base in future
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



// Facebook Share Button
function fbs_click(u, t) {
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'_blank', 'toolbar=0, status=0, width=626, height=436'); 
	return false; 
} 	


function performSearch(view) {

	var SearchPhrase = document.getElementById('search_field_text').value;
	SearchPhrase = encodeURI(SearchPhrase);
	SearchPhrase = SearchPhrase.replace(/%20/g, "+");
	SearchPhrase = SearchPhrase.replace(/&/g, "%26");

	if(SearchPhrase != '') {
		var url = "http://" + location.hostname + "/search?q="+ SearchPhrase;
		location.href= url;
	}
}


function setSBVideosNewTabStatus() {
	
	if(document.getElementById("sb_videos_new_tab").checked) {
		createCookie("sb_videos_new_tab", "1", 30);
	} else {
		createCookie("sb_videos_new_tab", "0", 30);
	}
	location.reload();
}


function addSource(vsId, userId, sessionId) {
	
	$.get("../lib/MyTVBManager.php?action=add_source&vs_id="+vsId+"&user_id="+userId+"&PHPSESSID="+sessionId);
}


function removeSource(vsId, userId, sessionId) { 

	$.get("../lib/MyTVBManager.php?action=remove_source&vs_id="+vsId+"&user_id="+userId+"&PHPSESSID="+sessionId);
}


function addUserCat(catId, userId, sessionId) { 

	$.get("../lib/MyTVBManager.php?action=add_user_cat&cat_id="+catId+"&user_id="+userId+"&PHPSESSID="+sessionId);
}


function removeUserCat(catId, userId, sessionId) { 

	$.get("../lib/MyTVBManager.php?action=remove_user_cat&cat_id="+catId+"&user_id="+userId+"&PHPSESSID="+sessionId);
}


/**
 * Returns the new page navi for a headline box
 */
function getHeadlinesBoxPageNavi(ID, PageNr, Page) {
	
	var url = "../lib/LayoutManagerWeb.php?action=getHeadlinesBoxPageNavi&vs_id="+ID+"&page="+Page+"&page_nr="+PageNr;
	
	$.get(url, function(data) {
		$("#headlines_box_page_navi_"+ID).html(data);
	});
}




/**
 * Returns the headlines of corresponding video source and page
 */
function getHeadlinesOfPage(ID, PageNr, Page, WithSwitch) {
	
	var url = "../lib/LayoutManagerWeb.php?action=getHeadlinesOfPage&vs_id="+ID+"&page="+Page+"&page_nr="+PageNr+"&with_switch="+WithSwitch;
	
	$.get(url, function(data) {
		$("#headlines_box_" + ID).html(data);
		$("#headlines_box_" + ID).scrollTop = 0;
	});	
}



/**
 * Returns a new selected source box to show (box with overview of video sources)
 */
function getSelectedSourceBox(ID) {
	
	var url = "../lib/LayoutManagerWeb.php?action=getSelectedSourceBox&vs_id="+ID;
	
	$.get(url, function(data) {
		$("#selected_source_box").html(data);
		
		Anchors = $("a[name='selected_sources_link']");
		for (i = 0; i < Anchors.length; i++) {
			Anchors[i].style.textDecoration = "none";
		}
		$("#selected_sources_link_"+ID).css("textDecoration", "underline");		
		
	});
}


/**
 * Send link for ranking count
 */
function sendLinkClick(vsId) {
	
	$.get("../lib/RankingManager.php?action=count_link&vs_id="+vsId);
} 



function includeJavaScript(jsFile)
{
  document.write('<script type="text/javascript" src="'
    + jsFile + '"></scr' + 'ipt>'); 
}



function getElementsByName_iefix(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}


function getWindowWidth() {
	
	// Size of browser window (depending on browser)
	var x;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
	}	
	return x;
}



function getWindowHeight() {
	
	// Size of browser window (depending on browser)
	var y;
	if (self.innerHeight) // all except Explorer
	{
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		y = document.body.clientHeight;
	}	
	return y;
}



/**
 *  Searches for list in ListArray with given ID
 * 
 * @param   array  ListArray
 * @param   int    ID
 * @return  list with given id or NULL
 */
function getListWithId(ListArray, ID) {
	
	var List = null;
	var CompList = null;
	var CompID = null;
	
	for(var i=0; i<ListArray.length; i++) {
	
		CompList = ListArray[i];
		CompId = CompList.getAttribute("vs_id");
		
		if(CompId == ID) {
			List = CompList;
		}
	}
	
	return List;
}




/**
 * Looks wheater thumbnail shoud be shown, depending on user settings and display size
 */
function setThumbnailVisibility() {		

	// get new showThumbnails status
	if(getWindowWidth() > 1100) {
		showThumbnails = true;
	}
	else {
		showThumbnails = false;
	}	
	
	// show thumbnail boxes
	Divs = getElementsByName_iefix("div", "thumbnail_img");	
	
	for(var i=0; i<Divs.length; i++) {
		if(showThumbnails) {
			Divs[i].style.display = "block";
		}
		else {
			Divs[i].style.display = "none";
		}	
	}
	
	// Set headlines box width
	Divs = getElementsByName_iefix("div", "headlines_box");	
	//alert(Divs[0].style.display.value);
	
	for(var i=0; i<Divs.length; i++) {
		if(showThumbnails) {
			Divs[i].style.marginRight = "149px";	
		}
		else {
			Divs[i].style.marginRight = 0;
		}	
	}

}


	
function showFlyInDialog(Text) {
	
	alert(Text);
}
	

function showConfirmDialog(Text) {
	
	alert(Text);	
}

	
function showModalDialog(FormID, Text) {
	
	if(confirm(Text)) {
		document.getElementById(FormID).submit();
	}	
}	

	
	
function setNewShowThumbnailStatus(Status) {
	
	var dateObj = new Date();
	var expTime = dateObj.getTime() + (100 * 24 * 60 * 60 * 1000);
	dateObj.setTime(expTime);
	
	document.cookie = "show_thumbnail_status=" + Status + "; expires=" + dateObj.toGMTString() + ";path=/;";
	setThumbnailVisibility();
}


function setMoreHeadlinesDiv(ID) {
	ElemName = 'more_headlines_' + ID;
	MoreHeadlinesDiv = document.getElementById(ElemName).innerHTML;
}	

function setInfoText(ID) {
	ElemName = 'info_text_' + ID;
	InfoText = document.getElementById(ElemName).innerHTML;
}
function setHeadlineDetailsText(ID) {
	ElemName = 'headline_details_box_' + ID;
	HeadlineDetailsText = document.getElementById(ElemName).innerHTML;
}

function setSubNavi(ID) {
	ElemName = 'sub_navi_' + ID;
	SubNavi = document.getElementById(ElemName).innerHTML;
	
	ElemName = 'category_box_' + ID;
	CatBox = getElementsByName_iefix('div', ElemName)[0];
	subNaviPos = CatBox.offsetLeft + 10;
}



/* Functions that swaps images. */

/* Functions that handle preload. */

function MM_preloadImages() { //v3.0

 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}



// stop hiding -->

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}


/**
 * Drop-Down-Menu from http://javascript-array.com/scripts/simple_drop_down_menu/ 
 */
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();
	
	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem.id != 'login_div' && ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 





				

			
