var xmlDoc;
var appSource="";
function AJAX_load(path)      
{       
	try {var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } // MSIE 
	catch(e)
	{
		try	{var xmlDoc=document.implementation.createDocument("","",null);} // Firefox, Opera, etc.
		catch(e) {alert(e.message);}        
	}
	try
	{
		xmlDoc.async = false; // halt code execution until xmlDoc is loaded                
		xmlDoc.load( path );    // load file        
	}
	catch(e)
	{ // unable to load                
		try
		{ // for Safari
			xmlDoc = new XMLHttpRequest();                        
			xmlDoc.open("GET", path, false);                       
			xmlDoc.send();                       
			xmlDoc=xmlDoc.responseXML;                                       
		}
		catch(e)
		{
			alert(e.message);
			return; // return with nothing
		}
	}
return xmlDoc;
}

xmlDoc = AJAX_load("main-configuration.frag.xml");

function n_loadBanner()
{
	loadHero();
	loadRibbon();
}

var heroBtnFlag;

function loadHero()
{
	var pg = xmlDoc.getElementsByTagName("heroItem"); 
	var pgId;
	if(pg.length > 1)
	{
		for(var i=1; i<=pg.length; i++)
		{
			pgId = "pg" + i;
			btn = document.createElement("div");
			btn.className = "default";
			if(i == 1)
			{
				btn.className = "selected";
				heroBtnFlag = pgId;
				loadHeroContent(pg);
			}
			btn.setAttribute("id", pgId);
			document.getElementById("tabPaging").appendChild(btn);
			document.getElementById(pgId).onmouseover = function()
			{ 
				if(heroBtnFlag != this.id)
				{
					this.className="hover";
					loadTooltip(pg, this);
				}
			}
			document.getElementById(pgId).onmouseout = function()
			{ 
				if(heroBtnFlag != this.id)
				{
					this.className="default";
					unloadTooltip(this);
				}
			}
			document.getElementById(pgId).onclick = function()
			{ 
				if(heroBtnFlag != this.id)
				{
					document.getElementById(heroBtnFlag).className = "default";
					heroBtnFlag = this.id;
					this.className = "selected";
					loadHeroContent(pg);
				}
				unloadTooltip(this);
			}
			txt =  document.createTextNode(i);
			document.getElementById(pgId).appendChild(txt);
			image = document.createElement("img");
			image.setAttribute("src", "img/tabpageArw.gif");
			document.getElementById(pgId).appendChild(image);
		}
	}
	else
	{
		heroBtnFlag = "pg1";
		loadHeroContent(pg);	
	}
}

function loadHeroContent(xmlObj)
{
	var i = heroBtnFlag.substr(2);
	var nodeType = xmlObj[i-1].getAttribute('type');
	var hTitle, hDetail, hContent, hImage, hLink, hLinkHTML, hMore, hLocation;
	var heroTextObj = document.getElementById("heroText");
	var tabPagingObj = document.getElementById("tabPaging");
	var rbnContainerObj = document.getElementById("rbnContainer");
	
	hTitle = " "; hImage = " "; hLinkHTML = " ";
	hTitle += "<div class='n_header'><div>";
	if(nodeType == "plain_hero")
	hTitle += getXMLNodeValue(xmlObj, i-1, "mainTitle");
	hTitle += "</div>";
	hDetail = getXMLNodeValue(xmlObj, i-1, "author");
	if(hDetail != " ")
	hTitle += "<div class='n_details'>"+hDetail;
	hLocation = getXMLNodeValue(xmlObj, i-1, "location");
	if(hLocation != " ")
	hTitle += " | "+hLocation;
	hTitle += "</div></div>";
	heroTextObj.parentNode.className = "n_txtPane";
	tabPagingObj.className = "n_tabBtn n_tabBtnBg";
	rbnContainerObj.className = "n_ribon n_ribonBg";
	hContent = getXMLNodeValue(xmlObj, i-1, "abstract");
	if(hContent == " ")
	{
		heroTextObj.parentNode.className = "n_txtPaneNone";
		tabPagingObj.className = "n_tabBtn n_tabBtnNoBg";
		rbnContainerObj.className = "n_ribon n_ribonNoBg";
	}
	document.getElementById("heroTitle").innerHTML = hTitle;
	heroTextObj.innerHTML = hContent;
	hImage += "url(";
	hImage += getXMLNodeValue(xmlObj, i-1, "image");
	hImage += ") top center no-repeat";
	document.getElementById("n_bannerBg").style.background = hImage;
	hLink = getXMLNodeValue(xmlObj, i-1, "link");
	if(hLink != " ")
	{
		if(nodeType == "image_hero")
		{
			document.getElementById("heroContainer").style.cursor = "pointer";
			document.getElementById("heroContainer").onclick = function()
			{ self.location = hLink; }
		}
		else 
		{ 
			document.getElementById("heroContainer").style.cursor = "default";
			document.getElementById("heroContainer").onclick = function()
			{ }
		hLinkHTML +="<a href='"+hLink+"' class='readmoreB'><img src='img/clear.gif' width='98' height='27' border='0'></a>"; 
		try
		{
		var moreLinks = xmlObj[i-1].getElementsByTagName("additionalLink");
		var ml = moreLinks.length;
		if(ml>0)
		hLinkHTML +="<p>More <br>";
		for(var k=0; k<ml; k++)
		{		
		hLinkHTML += "<a href='"+moreLinks[k].getElementsByTagName("url")[0].childNodes[0].nodeValue+"' class='n_blue'>"+moreLinks[k].getElementsByTagName("title")[0].childNodes[0].nodeValue+" &raquo; </a><br />";
		}			
		hLinkHTML +="</p>";
		}
		catch(e){alert(e)}
		}
		document.getElementById("heroLink").innerHTML = hLinkHTML;	
	}
}

function loadTooltip(xmlObj, obj)
{
	var i = obj.id.substr(2);
	var hTitle;	
	try { hTitle = getXMLNodeValue(xmlObj, i-1, "mainTitle"); }
	catch(e) { hTitle = " "; }
	spn = document.createElement("span");
	spn.className = "tooltipBg";
	obj.appendChild(spn);
	innerSpn = document.createElement("span");
	innerSpn.className = "tooltip";
	spn.appendChild(innerSpn);
	txtNode = document.createTextNode(hTitle);
	innerSpn.appendChild(txtNode);
	spnR = document.createElement("span");
	spnR.className = "tooltipR";
	innerSpn.appendChild(spnR);
}

function unloadTooltip(obj)
{
	var element = document.getElementById(obj.id);
	try {element.removeChild(element.childNodes[2]);} 
	catch(e){}
}

var counter = 0;
var flag = 0;
var rdivID = 1;
var rXMLObj = xmlDoc.getElementsByTagName("ribbonItem");
var rRefXMLObj = xmlDoc.getElementsByTagName("ribbons");
var nodeDataArray = new Array();
var irLength = rRefXMLObj[0].getElementsByTagName("itemRef").length;
var index = 0;

for (var n = 0; n < irLength; n++)
{
	rRefId = rRefXMLObj[0].getElementsByTagName("itemRef")[n].getAttribute("ref");
	for(var l=0; l<rXMLObj.length; l++)
	{
		var temp = rXMLObj[l].getAttribute("id");
		if(rRefId == temp)
		{ 
			nodeDataArray[index] = l;
			index++;
		}
	}
}

function next()
{
	flag = 0;
	if(counter < nodeDataArray.length) {loadRibbon();}
}

function previous()
{
	flag = 1;
	if (counter > 0) {loadRibbon();}
}

function loadRibbon()
{ 
	var rSection, rTitle, rDate, rbnId, rData, rAbstract, rAuthor, rLocation, rLink, rRefId;
	
	if(flag == 1)
	{
		counter = counter - 8;
		if(counter < 0){counter = 0;}
	}
	var rBtn = '<div class="n_ribon_btn"><input type="button" class="rbn_arwUp" onmouseover="this.className=\'rbn_arwUpH\';" onmouseout="this.className=\'rbn_arwUp\';" onClick="previous();" id="upRbn"><br><input type="button" class="rbn_arwDwn" onmouseover="this.className=\'rbn_arwDwnH\';" onmouseout="this.className=\'rbn_arwDwn\';" onClick="next();" id="dnRbn" style="margin-top:8px;"></div>';

	document.getElementById("rbnContainer").innerHTML = rBtn;
			
	for (var i = 0; i<4; i++)
	{
		rSection = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "publicationTitle");					
		rTitle = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "title");
		rDate = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "publicationDate");
		rDate = TimeStampToDate(rDate);
		if(rSection != " ")
		{
			rbnId = "rbn_" + rdivID;
			rData = "";
			rbn = document.createElement("div");
			rbn.className = "n_ribon_" + rdivID;
			rbn.setAttribute("id", rbnId);
			document.getElementById("rbnContainer").appendChild(rbn);
			document.getElementById(rbnId).onmouseover = function()
			{ this.firstChild.style.display = "block"; }
			document.getElementById(rbnId).onmouseout = function()
			{ this.firstChild.style.display = "none"; }
			rData += "<div class='n_ribon_"+rdivID+"ext' style='display:none;'>";
			rLink = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "link");
			if(rLink != " ")
			rData += "<div style='position:absolute; margin-top:80px; margin-left:10px; *margin-left:0px;'><a href='"+rLink+"'><img src='img/rbn"+rdivID+"_btn.gif' width='83' height='20' border='0'></a></div>";
			rAuthor = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "author");
			rData += "<div class='extTitle'>"+rAuthor;
			rLocation = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "location");
			if(rLocation != " ") {rData += " | " + rLocation;}
			rData += "</div>"
			rAbstract = getXMLNodeValue(rXMLObj, nodeDataArray[counter], "abstract");
			rData += "<div class='extContent'>"+rAbstract+"</div>";
			rData += "</div>";
			rData += "<div class='section'>"+rSection+"</div>";
			rData += "<div class='title'>"+rTitle+"</div>";
			rData += "<div class='date'>"+rDate+"</div>";
			document.getElementById(rbnId).innerHTML = rData;
			if(i==3)
			{
			imgSdw = document.createElement("img");
			imgSdw.className = "n_ribon_4sdw";
			imgSdw.setAttribute("src", "img/ribon4sdw.gif");
			document.getElementById("rbnContainer").appendChild(imgSdw);
			}
		}
		counter++; rdivID++;
		if(rdivID > 4) rdivID = 1;
		if(counter <= 4)
		{
		document.getElementById("upRbn").disabled = true;
		document.getElementById("upRbn").className = "rbn_arwUpD";
		}
		if(counter >= nodeDataArray.length)
		{
		document.getElementById("dnRbn").disabled = true;
		document.getElementById("dnRbn").className = "rbn_arwDwnD";
		}
	}
}

function getXMLNodeValue(XMLObject, index, tagName)
{
	var nValue = " ";
	try { nValue = XMLObject[index].getElementsByTagName(tagName)[0].childNodes[0].nodeValue; }
	catch(e) {}
	return nValue;
}

function TimeStampToDate(xmlDate)
{
	var time = xmlDate.indexOf("T");
	if(time > 0)
	{
	var month = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"];
	var dateString = xmlDate.substr(0, time);
	dateString = dateString.replace(/-/g, "/");
	var dt = new Date(dateString);
	dateString = month[dt.getMonth()] + " " + dt.getDate();
	return dateString;
	}
	else
	{ return xmlDate; }
}
