﻿var poptab_arr = new Array() ;
var popch_arr = new Array() ;
var mainnav_arr = new Array() ;

var raw_inf_arr = new Array() ;
var raw_txt_arr = new Array() ;
var raw_url_arr = new Array() ;
var raw_target_arr = new Array() ;


function create_mainnav_arr()
{
	/*
	Array paramrters
	Tab Name : this will also determine tab styles in "/popnav/hires.css"
	Tab URL
	Alternative Text
	Tab Type : (0) means there's no pop-up navigation attached
	*/
	
	mainnav_arr.push( ["homepage","http://www.mbc.net","الصفحة الرئيسية",0] ) ;
	mainnav_arr.push( ["nojoom","http://www.mbc.net/entertainment/","فن ونجوم",1] ) ;
	mainnav_arr.push( ["sport","http://www.mbc.net/sports/","رياضة",1] ) ;
	mainnav_arr.push( ["forums","http://nas.mbc.net/","البومة",1] ) ;
	mainnav_arr.push( ["channels","http://www.mbc.net","قنوات mbc",1] ) ;
	mainnav_arr.push( ["online","http://www.mbc.net/videos/","شاهد أون لاين",1] ) ;
	mainnav_arr.push( ["mobc","http://www.mbc.net/mobc","MoBC",1] ) ;
	mainnav_arr.push( ["english","http://www.mbc.net/english/","English",1] ) ;

	var mainnav_str = "<div class='main_nav'><div class='rightcap'></div><div class='tabs'>" ;

	for ( var i in mainnav_arr )
	{
		if ( mainnav_arr[i][3] )
		{
			mainnav_str += "<a id='popnav_" + mainnav_arr[i][0] + "_butt' alt='" + mainnav_arr[i][2] + "' onmouseOver='javascript:popnavon(\"" + mainnav_arr[i][0] + "\");' onmouseOut='javascript:popnavoff(\"" + mainnav_arr[i][0] + "\");' href='" + mainnav_arr[i][1] + "' class='" + mainnav_arr[i][0] + "'></a> " ;
		}
		else
		{
			mainnav_str += "<a id='popnav_" + mainnav_arr[i][0] + "_butt' alt='" + mainnav_arr[i][2] + "' href='" + mainnav_arr[i][1] + "' class='" + mainnav_arr[i][0] + "'></a> " ;
		}
	}

	mainnav_str += "</div><div class='leftcap'></div></div>" ;
					
	mainnav = document.getElementById("mainnav_container") ;
	mainnav.innerHTML = mainnav_str ;
}

function loadXMLDoc(dname) 
{
	try //Internet Explorer
	  {
	  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	  }
	catch(e)
	  {
	  try //Firefox, Mozilla, Opera, etc.
	    {
	    xmlDoc=document.implementation.createDocument("","",null);
	    }
	  catch(e) 
	  {
	  //alert(e.message)
	  }
	  }
	try 
	  {
	  xmlDoc.async=false;
	  xmlDoc.load(dname);
	  return(xmlDoc);
	  }
	catch(e) 
	{
	//alert(e.message)
	}
	return(null);
}

function create_popnav_arr()
{
	navXmlDoc = loadXMLDoc( "/skins/mbc4.etisalatmediagroup.com/js/Generic_Navigation.xml" );
	
	var slideShows = navXmlDoc.getElementsByTagName("MBC-SLIDESHOW");
	
	for(var m = 0; m < slideShows.length; m++ )
	{
		rawINFstr = navXmlDoc.getElementsByTagName("AUTHOR")[m].childNodes[0].nodeValue;
		rawINF = rawINFstr.split(',');
	
		rawTXT = new Array();
		rawURL = new Array();
		rawTARGET = new Array();
		
		var slides = slideShows[m].getElementsByTagName("SLIDE");
		
		for (var i=0; i< slides.length; i++)
		{
			num = slides[i].getElementsByTagName("DISPLAYORDER")[0].childNodes[0].nodeValue;
			num = num - 1;
			
			rawTXT[num] = slides[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue;
			rawURL[num] = slides[i].getElementsByTagName("ANCHOR")[0].childNodes[0].nodeValue;
			rawTARGET[num] = slides[i].getElementsByTagName("TARGET")[0].childNodes[0].nodeValue;
		}
		
		push_arr( rawINF , rawTXT , rawURL , rawTARGET ) ;
	}
}

function push_arr( raw_inf , raw_txt , raw_url , raw_target )
{
	raw_inf_arr.push( raw_inf ) ;
	raw_txt_arr.push( raw_txt ) ;
	raw_url_arr.push( raw_url ) ;
	raw_target_arr.push( raw_target ) ;
}


function set_pop_obj()
{
	for( i = 0 ; i < raw_inf_arr.length ; i++ )
	{
		if( raw_inf_arr[i][0] != "channels" )
		{
			var poptab = new Object() ;
			poptab.tabid = raw_inf_arr[i][0] ;
			poptab.tabtype = raw_inf_arr[i][1] ;
			poptab.tabmargin = raw_inf_arr[i][2] ;
			poptab.colsize = raw_inf_arr[i][3] ;
			poptab.txt_arr = raw_txt_arr[i] ;
			poptab.url_arr = raw_url_arr[i] ;
			poptab.target_arr = raw_target_arr[i] ;
			poptab_arr.push( poptab ) ;
		}
		else
		{
			var popch = new Object() ;
			popch.chcell = raw_inf_arr[i][1] ;
			popch.chlogo = raw_inf_arr[i][2] ;
			popch.churl = raw_inf_arr[i][3] ;
			popch.chtarget = raw_inf_arr[i][4] ;
			popch.txt_arr = raw_txt_arr[i] ;
			popch.url_arr = raw_url_arr[i] ;
			popch.target_arr = raw_target_arr[i] ;
			popch_arr.push( popch ) ;
		}
	}
}


function generate_popnav()
{
	popnav_str = "" ;

	//---------- Start Tabs
	for ( var tabtick = 0 ; tabtick < poptab_arr.length ; tabtick++ )
	{
		tab_slot = poptab_arr[tabtick] ;

		popnav_str += "<div id='popnav_" + tab_slot.tabid + "' class='popnav' onmouseOver='javascript:popnavon(\"" + tab_slot.tabid + "\")' onmouseOut='javascript:popnavoff(\"" + tab_slot.tabid + "\")'>" ;
		popnav_str += "<div class='caphi'></div>" ;
		popnav_str += "<div class='navcontent'>" ;
		//popnav_str += "<div class='navmargin' style='width:" + tab_slot.tabmargin + "px'></div>" ;
		popnav_str += "<div class='navmargin'></div>" ;

		popnav_str += "<div class='" + tab_slot.tabtype + "'>" ;
		popnav_str += "<ul>" ;


		// Here, an array is used to reverse the order of UL tags, this is done to avoid giving "float:right" style to UL's which causes "navsub" to become 100% wide.
		//--Start
		tmp_str_arr = new Array() ;
		tmp_str = "" ;

		for ( var litick = 0 ; litick < tab_slot.txt_arr.length ; litick++ )
		{
			tab_slot = poptab_arr[tabtick] ;

			if ( ( litick % tab_slot.colsize == 0 ) & ( litick > 0 ) )
			{
					tmp_str_arr.push( tmp_str ) ;
					tmp_str_arr.push( "</ul><ul>" ) ;
					tmp_str = "" ;
			}
			tmp_str += "<li><a href='" + tab_slot.url_arr[litick] + "' target='" + tab_slot.target_arr[litick] + "'>" + tab_slot.txt_arr[litick] + "</a></li>" ;
		}
		tmp_str_arr.push( tmp_str ) ;
		tmp_str_arr.reverse() ;
		popnav_str += tmp_str_arr.join('') ;
		//--End


		popnav_str += "</ul>" ;
		popnav_str += "</div>" ;

		popnav_str += "</div>" ;
		popnav_str += "<div class='caplo'></div>" ;
		popnav_str += "</div>" ;
	}
	//---------- End Tabs

	//popnav_str = "" ;

	//---------- Start channels
	str_col_start = "<div class='popnavcolumn'>" ;
	str_col_end = "</div>" ;
	str_vbrk = "<div class='popnavbrk'></div>" ;
	str_hbrk = "<div class='popnavhbrk'></div>" ;

	// The begeninig of a column without logo
	str_col_start_nologo = "<div class='popnavcolumn_nologo'>" ;

	popnav_str += "<div id='popnav_channels' class='popnav' onmouseOver='javascript:popnavon(\"channels\");' onmouseOut='javascript:popnavoff(\"channels\");'>" ;
	popnav_str += "<div class='caphi'></div>" ;
	popnav_str += "<div class='navcontent'>" ;
	popnav_str += "<div class='navgrid'>" ;

	str_col_one = "" ;
	str_col_two = "" ;
	str_col_three = "" ;
	str_col_four = "" ;
	// Additional Column five
	str_col_five = "" ;

	for ( var chtick = 0 ; chtick < popch_arr.length ; chtick++ )
	{
		str_tmp = "" ;
		ch_slot = popch_arr[chtick] ;

		// conditional statement to recognize a column without logo
		if( ch_slot.chlogo != '' )
		{
			str_tmp += "<div class='navchannel' style='background:url(" + ch_slot.chlogo + ") 100% -3px no-repeat;'> <a class='popnavlogo' href='" + ch_slot.churl + "' target='" + ch_slot.chtarget + "'></a>" ;
		}
		else
		{
			str_tmp += "<div class='navchannel_nologo'>" ;
		}
		
		str_tmp += "<ul>" ;

		for ( var litick = 0 ; litick < ch_slot.txt_arr.length ; litick++ )
		{
			str_tmp += "<li><a href='" + ch_slot.url_arr[litick] + "' target='" + ch_slot.target_arr[litick] + "'>" + ch_slot.txt_arr[litick] + "</a></li>" ;
		}

		str_tmp += "</ul>" ;
		str_tmp += "</div>" ;

		switch(ch_slot.chcell)
		{
		case "0":
			if( str_col_one == "" ){ str_col_one += str_col_start + str_tmp ; }
			else{ str_col_one += str_hbrk + str_tmp ; }
			break;

		// The class has been changed so the column would become narrower
		case "1":
			if( str_col_two == "" ){ str_col_two += str_col_start_nologo + str_tmp ; }
			else{ str_col_two += str_hbrk + str_tmp ; }
			break;
		case "2":
			if( str_col_three == "" ){ str_col_three += str_col_start + str_tmp ; }
			else{ str_col_three += str_hbrk + str_tmp ; }
			break;
		case "3":
			if( str_col_four == "" ){ str_col_four += str_col_start + str_tmp ; }
			else{ str_col_four += str_hbrk + str_tmp ; }
			break;

		// Additional Column five
		case "4":
			if( str_col_five == "" ){ str_col_five += str_col_start + str_tmp ; }
			else{ str_col_five += str_hbrk + str_tmp ; }
			break;
		}
	}

	str_col_one += str_col_end ;
	str_col_two += str_col_end ;
	str_col_three += str_col_end ;
	str_col_four += str_col_end ;
	// Additional Column five
	str_col_five += str_col_end ;

	// Additional Column five
	//popnav_str += str_col_one + str_vbrk + str_col_two + str_vbrk + str_col_three + str_vbrk + str_col_four ;
	popnav_str += str_col_one + str_vbrk + str_col_two + str_vbrk + str_col_three + str_vbrk + str_col_four + str_vbrk + str_col_five ;

	popnav_str += "</div>" ;
	popnav_str += "</div>" ;
	popnav_str += "<div class='caplo'></div>" ;
	popnav_str += "</div>" ;
	//---------- End channels

	popnav = document.getElementById("popnav_container") ;
	popnav.innerHTML = popnav_str ;

	//document.getElementById("testarea").value = popnav_str ;
}

function xbanner( navaction )
{
	var SWFobjects = document.getElementsByTagName('object') ;

	for( var i=0 ; i < SWFobjects.length ; i++ )
	{
		var PARAMtags = SWFobjects[i].getElementsByTagName("param") ;

		for( var j=0 ; j < PARAMtags.length ; j++ )
		{
			if ( PARAMtags[j].value.toLowerCase() == "window" )
			{
				PARAMtags[j].parentNode.style.visibility = navaction ;
			}
		}
	}
}

function popnavon(popname)
{
	navpanel = document.getElementById( "popnav_" + popname ) ;
	navpanel.style.display = "block" ;
	navbutt = document.getElementById( "popnav_" + popname + "_butt" ) ;
	navbutt.className = popname + "on" ;

	xbanner( "hidden" ) ;
}

function popnavoff(popname)
{
	navpanel = document.getElementById( "popnav_" + popname ) ;
	navpanel.style.display = "none" ;
	//navpanel.style.display = "block" ;
	navbutt = document.getElementById( "popnav_" + popname + "_butt" ) ;
	navbutt.className = popname ;

	xbanner( "visible" ) ;
}

function startup_popnav()
{
	create_mainnav_arr() ;
	create_popnav_arr() ;
	set_pop_obj() ;
	generate_popnav() ;
}

startup_popnav() ;

/*
if (window.addEventListener)
{ window.addEventListener( "load" , startup_popnav , false ) ; }
else if(window.attachEvent)
{ window.attachEvent( "onload" , startup_popnav ) ; }
*/