﻿var selectedCat;
var selectedPage;
var contentPath;
var tree;
var seenPages = new Array();
var syncTree = false;
var ieversion = parseFloat(navigator.appVersion.split('MSIE')[1]);
if (ieversion=="NaN")
    ieversion = 0;
function catClick(catID,divClicked)
{
    syncTree=false;
	var rd = document.getElementById("ctl00_bodyContent_UCContentBrowser1__listPanel");
	if (selectedCat)
	{
		selectedCat.className='catListItem';
		selectedCat.getElementsByTagName("a")[0].style.color="#000000";
		getElementsByClassName(selectedCat,"img","catDelta")[0].src="/images/delta_gray.gif";
	}
	selectedCat = divClicked;
	selectedCat.className='catSelectedItem';

	ContentBrowserService.GetPageList(tree,catID,catListSuccess,failedCallback);
	ContentBrowserService.GetFirstPanelContent(tree,contentPath,catID,panelContentSuccess,failedCallback);

	return false;
}

function catHover(catID,div)
{
	div.getElementsByTagName("a")[0].style.color="#3366cc";
	var img = getElementsByClassName(div,"img","catDelta")[0];
	if (img)
	{
		img.src="/images/delta_blue.gif";
	}
}

function catOut(catID,div)
{
	var img = getElementsByClassName(div,"img","catDelta")[0];
	if (div==selectedCat)
	{
		div.getElementsByTagName("a")[0].style.color="#ffffff";
		img.src="/images/delta_white.gif";
	}
	else
	{
		div.getElementsByTagName("a")[0].style.color="#000000";
		img.src="/images/delta_gray.gif";
	}
}

function pageClick(pageID,divClicked)
{
    syncTree=false;
	if (!selectedPage)
	{
		var pgs = getElementsByClassName(document,"div","pgSelectedItem");
		if (pgs)
			selectedPage = pgs[0];
	}
	else
	{
		selectedPage.getElementsByTagName("a")[0].style.color="#000000";
		getElementsByClassName(selectedPage,"img","pageDelta")[0].src="/images/delta_gray.gif";
	}
	selectedPage.className = "pgListItem";
	selectedPage = divClicked;
	selectedPage.className='pgSelectedItem';
	var rd = document.getElementById("UCContentBrowser1__contentPanel");

	ContentBrowserService.GetPanelContent(tree,contentPath,pageID,panelContentSuccess,failedCallback);
	return false;
}

function getLastSeenPanel()
{
    syncTree=true;
    var pid = "";
    if(selectedPage)
     pid = selectedPage.id;
    ContentBrowserService.GetLastSeenPageList(tree,pid,lastSeenCatListSuccess,failedCallback);
    ContentBrowserService.GetLastSeenPanelContent(tree,contentPath,pid,lastSeenPanelContentSuccess,failedCallback);
}

function pageHover(catID,div)
{
	div.getElementsByTagName("a")[0].style.color="#3366cc";
	var img = getElementsByClassName(div,"img","pageDelta")[0];
	if (img)
	{
		img.src="/images/delta_blue.gif";
	}
}

function pageOut(catID,div)
{
	var img = getElementsByClassName(div,"img","pageDelta")[0];
	if (div==selectedPage)
	{
		div.getElementsByTagName("a")[0].style.color="#ffffff";
		img.src="/images/delta_white.gif";
	}
	else
	{
		div.getElementsByTagName("a")[0].style.color="#000000";
		img.src="/images/delta_gray.gif";
	}
}

function lastSeenCatListSuccess(result, methodName)
{
    if (result && result.length>0)
    {
        //pull out the prepended catid
        var catID = result.substring(0,result.indexOf("*"));
        if (!catID) catID="";
        catListSuccess(result.substring(catID.length+1),methodName);
        if (selectedCat)
        {
	        selectedCat.className='catListItem';
	        selectedCat = document.getElementById('cat' + catID.replace(" ","_"));
	        if (selectedCat) //hilight the selected catid
	            selectedCat.className='catSelectedItem';
	    }
	}
}

function catListSuccess(result, methodName)
{
	var rd = document.getElementById("ctl00_bodyContent_UCContentBrowser1__listPanel");
	if (rd && result && result.length>0)
	{
	 //AjaxControlToolkit.Animation.FadeInAnimation.play(rd, 0.2, 25,0, 1, 1);
	 rd.innerHTML = result;
	 rd.scrollTop = 0;
	 var ar = getElementsByTag(rd,"div");
	 if (ar)
		selectedPage = ar[0];
	
	 if(syncTree)
	 {	
        var pd = document.getElementById("CBPageDiv");
        if (pd && selectedPage && "pg"+unescapeHTML(pd.innerHTML)!=selectedPage.id)
        {
            selectedPage.className = "pgListItem";
            selectedPage.getElementsByTagName("a")[0].style.color="#000000";
            getElementsByClassName(selectedPage,"img","pageDelta")[0].src="/images/delta_gray.gif";

            selectedPage = document.getElementById("pg"+pd.innerHTML);
            if (selectedPage) //hilight the selected pageID
            {  
                selectedPage.className='pgSelectedItem';
                selectedPage.getElementsByTagName("a")[0].style.color="#ffffff";
                getElementsByClassName(selectedPage,"img","pageDelta")[0].src="/images/delta_white.gif";
            }
        }
	 }		
	}
	
	setScroll();
}

function lastSeenPanelContentSuccess(result, methodName)
{
    if (result && result.length>0)
    {

        //pull out the prepended catid
        var pageID = result.substring(0,result.indexOf("*"));
        if (!pageID) pageID="";
        panelContentSuccess(result.substring(pageID.length+1), methodName);
        if (selectedPage)
        {
            selectedPage.className = "pgListItem";
            selectedPage = document.getElementById('pg' + pageID.replace(" ","_"));
            if (selectedPage) //hilight the selected pageID
	            selectedPage.className='pgSelectedItem';
        }
    }
}


function panelContentSuccess(result, methodName)
{
	var rd = document.getElementById("ctl00_bodyContent_UCContentBrowser1__contentPanel");
	
	if (rd)
	{
	 //AjaxControlToolkit.Animation.FadeInAnimation.play(rd, 0.2, 25,0, 1, 1);
	 rd.innerHTML = result;
 	 rd.scrollTop = 0;
	
	 
	 //grab the page title out of the hidden tag and set it
	 var pt = document.getElementById("CBPageTitle");
	 if (pt && pt.innerHTML && pt.innerHTML.length>0)
	    document.title = pt.innerHTML;

	 var pu = document.getElementById("CBPageUrl");
	 if (pu && pu.innerHTML && pu.innerHTML.length>0)
	 {
	    //need to alter IFrame for old IE to track history
        window.location.hash = pu.innerHTML;
        if (ieversion>0 && ieversion <= 7) 
        {
	        var frame = document.getElementById("CBIFrame");
	        if (frame)
	        {
    	        frame.src = "/contentbrowser/CBIFrame.aspx?ID=" + pu.innerHTML;
            }
        }
	 }
	 
	 //put print share icons on page if print content div exists
	 var printContent = document.getElementById("printShare");
	 if (printContent) {
		sharePrint();
	}
	 if(syncTree)
	 {
	     var pd = document.getElementById("CBPageDiv");
	     if (pd && selectedPage && "pg"+pd.innerHTML!=selectedPage.id)
	     {
	        selectedPage.className = "pgListItem";
   		    selectedPage.getElementsByTagName("a")[0].style.color="#000000";
		    getElementsByClassName(selectedPage,"img","pageDelta")[0].src="/images/delta_gray.gif";

	        selectedPage = document.getElementById("pg"+pd.innerHTML);
            if (selectedPage) //hilight the selected pageID
            {  
	            selectedPage.className='pgSelectedItem';
   		        selectedPage.getElementsByTagName("a")[0].style.color="#ffffff";
		        getElementsByClassName(selectedPage,"img","pageDelta")[0].src="/images/delta_white.gif";
	        }
	     }
         var pc = document.getElementById("CBPageCat");
	     if (pc && selectedCat && "cat"+unescapeHTML(pc.innerHTML)!=selectedCat.id)
	     {
	        ContentBrowserService.GetPageListByUrl(tree,pc.innerHTML,catListSuccess,failedCallback);
	        selectedCat.className = "catListItem";
   		    selectedCat.getElementsByTagName("a")[0].style.color="#000000";
		    getElementsByClassName(selectedCat,"img","catDelta")[0].src="/images/delta_gray.gif";

	        selectedCat = document.getElementById("cat"+pc.innerHTML);
            if (selectedCat) //hilight the selected catID
            {  
	            selectedCat.className='catSelectedItem';
   		        selectedCat.getElementsByTagName("a")[0].style.color="#ffffff";
		        getElementsByClassName(selectedCat,"img","catDelta")[0].src="/images/delta_white.gif";
	        }
	     }
	 }
 
	 updateSeenPages();
	}
}

function syncToUrl()
{
    var pu = document.getElementById("CBPageUrl");
    var hash = window.location.hash;
    hash = hash.replace("#","");
    if (ieversion>0 && ieversion<=7)
    {
        var frame = document.getElementById("CBIFrame");
        if (frame)
        {
          hash = frame.contentWindow.document.body.innerHTML;
        }
    }
    if (pu && hash && hash.length>1)
    {
        
        var content = pu.innerHTML;
        if (hash!=content)
        {
         syncTree=true;
         ContentBrowserService.GetPanelContentByUrl(tree,contentPath,hash,panelContentSuccess,failedCallback);
        }
    }
    
    setTimeout("syncToUrl();",1000);
}


function failedCallback(error)
{
}

totalScroll=0;
maxScroll=497;
step=15;
timerDown="";
timerUp="";  

function scrollDivDown(id)
{ 
	clearTimeout(timerDown)  
	document.getElementById(id).scrollTop+=step  
	totalScroll+=step;
	if (totalScroll>=maxScroll)
		stopDivScroll();
	else
		timerDown=setTimeout("scrollDivDown('"+id+"')",10) 
	return false;
}  

function scrollDivUp(id)
{ 
	clearTimeout(timerUp) 
	document.getElementById(id).scrollTop-=step  
	totalScroll+=step;
	if (totalScroll>=maxScroll)
		stopDivScroll();
	else
		timerUp=setTimeout("scrollDivUp('"+id+"')",10) 
	return false;
}  


function stopDivScroll()
{ 
	clearTimeout(timerDown)  
	clearTimeout(timerUp) 
	totalScroll=0;
	setScroll();
} 

function updateSeenPages()
{
/*
	if (selectedPage)
	{
		seenPages.push(selectedPage.id);
		seenPages = uniqueArray(seenPages);
	}
	for(var i=0;i<seenPages.length;i++)
	{
		var div = document.getElementById(seenPages[i]);
		if (div)
			div.style.fontWeight="bold";
	}
*/
}

function getElementsByClassName(oElm, strTagName, strClassName)
{
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			//if(oRegExp.test(oElement.getAttribute("class"))){
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
}

function getElementsByTag(oElm,strTagName)
{
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	return arrElements;
}

function uniqueArray(a)
{
   var r = new Array();
   o:for(var i = 0, n = a.length; i < n; i++)
   {
	  for(var x = 0, y = r.length; x < y; x++)
	  {
		 if(r[x]==a[i]) continue o;
	  }
	  r[r.length] = a[i];
   }
   return r;
}

function setScroll()
{
    var pPanel = document.getElementById("ctl00_bodyContent_UCContentBrowser1__listPanel");
    var cPanel = document.getElementById("ctl00_bodyContent_UCContentBrowser1__categoryPanel");
    var pList = document.getElementById("ctl00_bodyContent_UCContentBrowser1__pageList__pageList");
    if (!pList)
        pList = document.getElementById("ctl00__pageList");
    var cList = document.getElementById("ctl00_bodyContent_UCContentBrowser1__categoryList");
    var upImg;
    var downImg;
    if (pList && pPanel)
    {
        if (pList.offsetHeight<pPanel.offsetHeight)
        {
            upImg = document.getElementById("_pgUpImg");
            upImg.src="/images/delta_scrollup_passive.png";
            downImg = document.getElementById("_pgDownImg");
            downImg.src="/images/delta_scrolldown_passive.png";
        }
        else
        {
            upImg = document.getElementById("_pgUpImg");
            downImg = document.getElementById("_pgDownImg");
            if (pPanel.scrollTop<=0)
                upImg.src="/images/delta_scrollup_passive.png";
            else
                upImg.src="/images/delta_scrollup_active.png";
            
            if (pPanel.scrollTop + pPanel.offsetHeight >= pList.offsetHeight)
                downImg.src="/images/delta_scrolldown_passive.png";
            else
                downImg.src="/images/delta_scrolldown_active.png";
        }
    }

    if (cList.offsetHeight<cPanel.offsetHeight)
    {
        upImg = document.getElementById("_catUpImg");
        upImg.src="/images/delta_scrollup_passive.png";
        downImg = document.getElementById("_catDownImg");
        downImg.src="/images/delta_scrolldown_passive.png";
    }
    else
    {
        upImg = document.getElementById("_catUpImg");
        downImg = document.getElementById("_catDownImg");
        if (cPanel.scrollTop<=0)
            upImg.src="/images/delta_scrollup_passive.png";
        else
            upImg.src="/images/delta_scrollup_active.png";
        
        if (cPanel.scrollTop + cPanel.offsetHeight >= cList.offsetHeight)
            downImg.src="/images/delta_scrolldown_passive.png";
        else
            downImg.src="/images/delta_scrolldown_active.png";
        
    }


}

function unescapeHTML(html) {
var htmlNode = document.createElement("DIV");
htmlNode.innerHTML = html;
if(htmlNode.innerText)
return htmlNode.innerText; // IE
return htmlNode.textContent; // FF
}