﻿//*** WWOS 3rd Party Header Kit Render Script
//*** Date: 9 September 2009
//*** Version: 1.0
//*** Author: Adam Goldin

// Get highlight data for main nav via service framework
$.getJSON("http://data.ninemsn.com.au/Services/Service.axd?ServiceName=Highlight&ServiceAction=Get&ServiceFormat=JSONAUTO&SiteID=2320&SectionID=0&SubSectionID=0&GroupID=7130&callback=?",

	function(data) {

		//data.HighlightList.Highlight.LinkList = null;

		if (data && data.HighlightList && data.HighlightList.Highlight && data.HighlightList.Highlight.LinkList) {

			// Populate array with main nav items
			var mainNavArray = data.HighlightList.Highlight.LinkList.Link;

			// Check that wwos_page var exists
			if (typeof (window['wwos_page']) == "undefined") {

				wwos_page = 5830; // set default to home page
			}

			// Start header render
			var html = '<style type="text/css">#hd_src_div #hd_ms_input{width:177px;}</style>';
			html += '<!--[if IE]>';
			html += '<style type="text/css">#hd_links #hd_li_14.tabsel span{padding-top:10px}</style>';
			html += '<![endif]-->';
			html += '<script type="text/javascript" src="http://wwos.ninemsn.com.au/3rdpartyheader/search.js"></script>';
			html += '<span id="hdr"><a href="http://wwos.ninemsn.com.au/default.aspx">';
			html += '<img src="http://wwos.ninemsn.com.au/img/global/hdr_logo3.gif" /></a>';
			html += '<a id="promo_livescore" href="http://livescores.ninemsn.com.au">';
			html += '<img src="http://wwos.ninemsn.com.au/img/global/promo-header-live.gif" /></a>';
			html += '</span><span id="primary_nav"><span id="main_nav">';
			html += '<div id="cat_hl_' + mainNavArray[0].CategoryId + '" class="float">';
			html += '<ul class="float">';

			// Loop through MAIN NAV items and render 
			for (i = 0; i < mainNavArray.length; i++) {

				var tabNum = i + 1;
				var tabType = "lvl1";

				// Get current page for tab styling
				if (wwos_page == mainNavArray[i].ImageCaption) {
					tabType = "lvl1_selected";
				}

				html += '<li id="' + mainNavArray[i].ImageCaption + '" class="' + tabType + ' float" name="' + mainNavArray[i].Title + '">';
				html += '<div class="tabBody tab' + tabNum + '">';
				html += '<div class="tabStart">&nbsp;</div>';
				html += '<div class="tabContent"><a class="display" href="' + renderURL(mainNavArray[i].Url) + '"><img id="navimg_' + mainNavArray[i].ImageCaption + '" src="http://wwos.ninemsn.com.au/img/img_pnav_notselected.gif" />' + mainNavArray[i].Title + '</a></div>';
				html += '<div class="tabEnd">&nbsp;</div>';
				html += '</div>';
				html += '</li>';
			}

			html += '</ul>';
			html += '</div>';

			html += '<span id="more_nav"></span></span><span id="personal_nav">';
			html += '<img border="0" padding="0" src="http://wwos.ninemsn.com.au/img/nav/nav-tools-start.gif" />';
			html += '<img border="0" padding="0" src="http://wwos.ninemsn.com.au/img/nav/nav-tools-end.gif" />';
			html += '</span></span><span id="sec_nav">';

			// Get highlight data for secondary nav via service framework
			$.getJSON("http://data.ninemsn.com.au/Services/Service.axd?ServiceName=Highlight&ServiceAction=Get&ServiceFormat=JSONAUTO&SiteID=2320&SectionID=" + wwos_page + "&SubSectionID=0&GroupID=7135&callback=?",

		function(data) {

			if (data && data.HighlightList && data.HighlightList.Highlight && data.HighlightList.Highlight.LinkList) {

				// Populate array with secondary nav items
				var secondaryNavArray = data.HighlightList.Highlight.LinkList.Link;

				html += '<div id="cat_hl_' + secondaryNavArray[0].CategoryId + '" class="float">';
				html += '<ul class="float">';
				html += '<li id="' + secondaryNavArray[0].ImageCaption + '" name="' + secondaryNavArray[0].Title + '" class="lvl1 float"><div class="tabBody  tab1 "><div class="tabStart">&nbsp;</div><div class="tabContent"><a href="" class="flyout_more display"><img id="Img1" src="http://wwos.9msn.com.au/img/img_pnav_notselected.gif" /></a></div><div class="tabEnd">&nbsp;</div></div>';
				html += '<div class="displaynone" style="display:none;"></div>';
				html += '<ul class="secondlevelgroup float" id="ul' + secondaryNavArray[0].ImageCaption + '">';

				// Loop through items and render (i = 1 because first link in highlight is hidden)
				for (i = 1; i < secondaryNavArray.length; i++) {

					// Check if item is a parent
					if (secondaryNavArray[i].Indent == 2) {

						var isLastItem = i == secondaryNavArray.length - 1;
						var className = "";
						var closeTags = "";
						html += '<li id="sub' + secondaryNavArray[i].ImageCaption + '" name="' + secondaryNavArray[i].Text + '" class="lvl2 float"><a href="' + renderURL(secondaryNavArray[i].Url) + '" class="' + (!isLastItem && secondaryNavArray[i].Indent < secondaryNavArray[i + 1].Indent ? "flyout_more " : "") + 'display">' + secondaryNavArray[i].Title + (!isLastItem && secondaryNavArray[i].Indent < secondaryNavArray[i + 1].Indent ? "" : "</li>") + '</a>';

					}

					else {
						// If previous item is a parent
						if (secondaryNavArray[i].Indent > secondaryNavArray[i - 1].Indent) {
							html += '<div class="displaynone" style="display:none;"></div>';
							html += '<ul class="thirdlevelgroup float" id="ul' + secondaryNavArray[0].ImageCaption + '">';
						}

						html += '<li id="sub' + secondaryNavArray[i].ImageCaption + '" name="' + secondaryNavArray[i].Text + '" class="lvl3 float"><a href="' + renderURL(secondaryNavArray[i].Url) + '" class="display">' + secondaryNavArray[i].Title + '</a></li>';

						// If item is last or is followed by a parent
						if (i == secondaryNavArray.length || secondaryNavArray[i].Indent > secondaryNavArray[i + 1].Indent) {

							html += '</ul>';
							html += '</li>';

						}
					}
				}

				html += '</ul>';
				html += '</div>';

				// Render search 
				html += '<div id="searchinput">';
				html += '<form id="frmSearch" method="post" name="frmSearch">';
				html += '<input name="collection" type="hidden" value="WWOS" />';
				html += '<input id="query" name="query" onblur="return focusOut(this);" onfocus="return focusOn(this);" onkeypress="return onEnter(this.form, event, \'WWOS\');" size="15" value="Search the WWOS site" />';
				html += '<img alt="Search" border="0" name="searchsubmit" onclick=\'buildSearchURL(document.getElementById("query").form)\'; return false; src="http://wwos.ninemsn.com.au/img/global/btn_search.gif" style="position:relative;" />';
				html += '</form>';
				html += '</div>';
				html += '</span>';

				// Render entire header
				$('#renderHeader').append(html);
			}

		});

			// NAV DROP DOWN

			var JS_NAV_TYPE = 'foldout';

			// Drop down for main nav
			var wwos_nav_div_id = "main_nav";
			if (JS_NAV_TYPE != '') {
				sfHover82843 = function() {
					var sfEls82843 = document.getElementById("main_nav").getElementsByTagName("LI");
					for (var i = 0; i < sfEls82843.length; i++) {
						sfEls82843[i].onmouseover = function() {
							this.className += " sfhover";
							return true;
						}
						sfEls82843[i].onmouseout = function() {
							this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
							return true;
						}
					}
					return true;
				}
				attach(window, "onload", sfHover82843);
			}

			// Drop down for sec nav
			var wwos_nav_div_id = "sec_nav";
			if (JS_NAV_TYPE != '') {
				sfHover82934 = function() {
					var sfEls82934 = document.getElementById("sec_nav").getElementsByTagName("LI");
					for (var i = 0; i < sfEls82934.length; i++) {
						sfEls82934[i].onmouseover = function() {
							this.className += " sfhover";
							return true;
						}
						sfEls82934[i].onmouseout = function() {
							this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
							return true;
						}
					}
					return true;
				}
				attach(window, "onload", sfHover82934);
			}

			// Style fix
			$(function() {		

				$('#sec_nav li:last').css('border-right', 'none');
			});

		}

	});

// Determine whether URL is relative or absolute and render accordingly.
function renderURL(itemUrl) {

	var url = "";

	if (itemUrl && itemUrl.substr(0, 1) == "/") {
		url = "http://wwos.ninemsn.com.au" + itemUrl;
	}
	else {
		url = itemUrl;
	}

	return url;
}


function attach(o, evt, fnc) {
	var xMoz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument != 'undefined');
	var xSaf = navigator.userAgent.toLowerCase().indexOf("safari") != -1;
	var fIE = !xMoz && !xSaf;
	if (!fIE) {
		if (evt.substr(0, 2).toLowerCase() == "on") evt = evt.substr(2);
		o.addEventListener(evt, fnc, false); // Hook the actual event  
	}
	else o.attachEvent(evt, fnc);
}


	
