/***********************************************
* Switch Content script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Mar 23rd, 2004.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="off" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)
var lastExpandedId = "undefined";
var loaded = 0;
var currentopenclass ="currentopen";
var current2class = "current2";
var current3class = "current3";
var ie = document.all ? 1 : 0

if (document.getElementById)
{
    document.write('<style type="text/css">')
    document.write('.switchcontent{display:none;}')
    document.write('</style>')
}

function getElementbyClass(classname)
{
    ccollect=new Array()
    var inc=0
    var alltags=document.all? document.all : document.getElementsByTagName("*")
    for (i=0; i<alltags.length; i++)
    {
        if (alltags[i].className==classname)
            ccollect[inc++]=alltags[i];
    }
}

function contractcontent(omit)
{
    var inc=0
    while (ccollect[inc])
    {
        if (ccollect[inc].id!=omit)
        {
            ccollect[inc].style.display="none";
        }

        /*if(document["ul-node"+ccollect[inc].id].main) 
            document["ul-node"+ccollect[inc].id].src=document["ul-node"+ccollect[inc].id].main;
        */

        inc++
    }
}

function expandcontent(cid, spanid)
{
    if (typeof ccollect!="undefined")
    {
        if (collapseprevious=="yes")
        {
            contractcontent(cid);
        }

        document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none";

        var current2 = false;
        var current3 = false;
        var currentopen = false;       

        if(document.getElementById(lastExpandedId) != null)
        {
            if(document.getElementById(spanid).className == current2class)
            {
                current2 = true;
            }        
            if(document.getElementById(lastExpandedId).className == currentopenclass)
            {
                currentopen = true;
            }
            if(document.getElementById(spanid).className == current3class)
            {
                current3 = true;
            }            
        }   
        
        if(lastExpandedId != "undefined")
        {
            document.getElementById(lastExpandedId).className = "";
        }
        
        if(current3)
            document.getElementById(spanid).className = current2class;
        else if(current2)
            document.getElementById(spanid).className = current3class;   
    }    
}  



function expandOtherMenuSectionContent(cid, spanid)
{
    if (typeof ccollect!="undefined")
    {
        if (collapseprevious=="yes")
        {
            contractcontent(cid);
        }

        document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none";

        var currentopen = false;
        var current2 = false;
        var current3 = false;
        
        if(document.getElementById(spanid) != null && document.getElementById(spanid).className == currentopenclass)
        {
            currentopen = true;
        }
        
        if(document.getElementById(lastExpandedId) != null && document.getElementById(lastExpandedId).className == current2class)
        {
            current2 = true;                   
        }
        if(document.getElementById(lastExpandedId) != null && document.getElementById(lastExpandedId).className == current3class)
        {
            current3 = true;                   
        }              

        if(lastExpandedId != "undefined")
        {             
            document.getElementById(lastExpandedId).className = "";
        }   
        
        if(current2 || current3)
        {
            document.getElementById(lastExpandedId).className = current3class;
        }  
        
        if(!currentopen)
        {
            document.getElementById(spanid).className=currentopenclass;
            lastExpandedId = spanid;
        }  
    }
}

function expandContentInText(cid)
{   
    document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"; 
    
    scrollingDetector("true");   
}


function expandselectedcontent(cid, spanid)
{

    getElementbyClass("switchcontent");

    if (collapseprevious=="yes")
    {
        contractcontent(cid);
    }
    document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none";
    
    lastExpandedId = spanid;
    

}

function revivecontent()
{
    contractcontent("omitnothing")
    selectedItem=getselectedItem()
    selectedComponents=selectedItem.split("|")
    for (i=0; i<selectedComponents.length-1; i++)
        document.getElementById(selectedComponents[i]).style.display="block"
}

function get_cookie(Name) 
{ 
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) 
    {
        offset = document.cookie.indexOf(search)
        if (offset != -1) 
        { 
            offset += search.length
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
                returnvalue=unescape(document.cookie.substring(offset, end))
        }
    }
    return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
	uniqueidn=window.location.pathname+"firsttimeload"
	getElementbyClass("switchcontent")
	if (enablepersist=="on" && typeof ccollect!="undefined"){
		document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
		firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
		if (!firsttimeload)
			revivecontent()
	}
	
}


if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload;

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate


/*SCROLLING*/

    if(window.Event && document.captureEvents) 
    {  
        document.captureEvents(Event.MOUSEMOVE);
    }

	var dist=120;
	var smooth=3;
	var endPos=0;
	var delta=0;
	var isOpen=false;
	var isOpen2=false;
	
	function getPos() {
		if( document.documentElement && document.documentElement.scrollTop ) 
	    {
	        currentpos = document.documentElement.scrollTop;
	    }
		else if (document.all)	
		{
			currentpos=document.body.scrollTop;
	    }	    
  		else	
  		{
  		    currentpos=window.pageYOffset;
  		}
  		return currentpos;
	}

	function startScroll() 
	{
		//if(!isOpen) {
			isOpen=true;
			delta=0;			
			startPos = getPos();			
			endPos = startPos + dist;
			myInt = setInterval("scrolling()",50);
		//} else {
		//	clearInterval(myInt);
		//	isOpen=false;
		//}
	}

	function topScroll() 
	{
		delta=0;
		startPos = getPos();
		endPos = 0;
		myInt = setInterval("topscrolling()",50);
	}
	
	function scrolling() {
	    startPos = getPos();			
		endPos = startPos + dist;
		var diff= endPos - startPos;
		delta += (diff/smooth);
		window.scroll(0,(startPos + delta));
		if(Math.abs(diff) < 5 || delta >= diff) {
			window.scroll(0,endPos);
			clearInterval(myInt);
			diff = 0;
		}
	}

	
		function topscrolling() {
		var diff= endPos - getPos();
		delta += (diff/smooth);
		window.scroll(0,(startPos + delta));
		if(Math.abs(diff) < 5 || endPos >= getBottom()) {
			window.scroll(0,endPos);
			clearInterval(myInt);
		}
	
	}
	
	
	function getBottom() 
	{
		if (document.all) 
		{
    	    y = document.body.scrollHeight;    	    
  	    }   	    
  	    else 
  	    {
	        y = document.height;	        
	    }	       
	    
	    if(!ie)
	    {
	        y = window.innerHeight;
	    }
	   
  	    return y;   
	}


    function scrollingDetector(Expanding)
    { 
           
        if(Expanding == "true" || loaded == 0 && document.getElementById("scrolltop") != null)
        {         
            document.getElementById("scrolltop").style.display ='block';
               
            if(ie)
            {
                if( document.body  ) 
                {        
                    if(document.body.clientHeight < window.screen.height )
                    {
                        document.getElementById("scrolltop").style.display ='none';
                    }            
                }
                else if( document.documentElement  ) 
	            {
	                if(document.documentElement.clientHeight < window.screen.height )
	                {
	                    document.getElementById("scrolltop").style.display ='none';		    
	                }
	            }			
	        }    
	        else
	        {
	            if(document.getElementById("scrolltop").offsetTop < window.innerHeight)
	            {
	                  document.getElementById("scrolltop").style.display ='none';		 	        
	            }
	        }	
	        
	        loaded = 1;
	    }
	}    

   