﻿document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};

// currently select leftNav item
var currentElem = null;

leftNavhl={
  // CSS classes
  overClass:'over', // rollover effect
  hideClass:'hide', // hide things
  currentClass:'current', // open item
  
  init:function(){
    var hl;
    if(!document.getElementsByClassName || !document.createTextNode){return;}
    var leftNavList=document.getElementsByClassName('channelList')[0];
    if(!leftNavList){return;}
    var leftNavItems=leftNavList.getElementsByTagName('li');
    for(var i=0;i<leftNavItems.length;i++){
      hl=leftNavItems[i].getElementsByTagName('a')[0];
      if(hl.href.indexOf("#")>0)
      {
          DOMhelp.addEvent(hl,'click',leftNavhl.toggleLeftNav,false);
          DOMhelp.addEvent(hl,'mouseover',leftNavhl.hover,false);
          DOMhelp.addEvent(hl,'mouseout',leftNavhl.hover,false);
	      hl.onclick = DOMhelp.safariClickFix;
          DOMhelp.cssjs('add',leftNavItems[i],leftNavhl.hideClass);
      }
    }
  },
  toggleLeftNav:function(e){
    var section=DOMhelp.getTarget(e).parentNode.parentNode;
    if (currentElem != null && currentElem != section)
    {
        DOMhelp.cssjs('swap',currentElem,leftNavhl.currentClass,leftNavhl.hideClass);
    }
    else
    {
        currentElem = null;
    }
	if(DOMhelp.cssjs('check',section,leftNavhl.currentClass)){
      DOMhelp.cssjs('swap',section,leftNavhl.currentClass,leftNavhl.hideClass);
    }else{
      DOMhelp.cssjs('swap',section,leftNavhl.hideClass,leftNavhl.currentClass);
      currentElem = section;
    }
   // DOMhelp.cancelClick(e);
    return true;
  },
  hover:function(e){
    var hl = DOMhelp.getTarget(e).parentNode.parentNode;
    var action = e.type == 'mouseout'?'remove':'add';
    DOMhelp.cssjs(action,hl,leftNavhl.overClass);
    return true;
  }
}



leftNavhls={
  // CSS classes
  overClass:'over', // rollover effect
  hideClass:'hide', // hide things
  currentClass:'current', // open item
  
  init:function(){
    var hls;
    if(!document.getElementsByClassName || !document.createTextNode){return;}
    var leftNavList=document.getElementsByClassName('channelList')[1];
    if(!leftNavList){return;}
    var leftNavItems=leftNavList.getElementsByTagName('li');
    for(var i=0;i<leftNavItems.length;i++){
      hls=leftNavItems[i].getElementsByTagName('a')[0];
      if(hls.href.indexOf("#")>0)
      {
          DOMhelp.addEvent(hls,'click',leftNavhls.toggleLeftNav,false);
          DOMhelp.addEvent(hls,'mouseover',leftNavhls.hover,false);
          DOMhelp.addEvent(hls,'mouseout',leftNavhls.hover,false);
	      hls.onclick = DOMhelp.safariClickFix;
          DOMhelp.cssjs('add',leftNavItems[i],leftNavhls.hideClass);
      }
    }
  },
  toggleLeftNav:function(e){
    var section=DOMhelp.getTarget(e).parentNode.parentNode;
    if (currentElem != null && currentElem != section)
    {
        DOMhelp.cssjs('swap',currentElem,leftNavhls.currentClass,leftNavhls.hideClass);
    }
    else
    {
        currentElem = null;
    }
	if(DOMhelp.cssjs('check',section,leftNavhls.currentClass)){
      DOMhelp.cssjs('swap',section,leftNavhls.currentClass,leftNavhls.hideClass);
    }else{
      DOMhelp.cssjs('swap',section,leftNavhls.hideClass,leftNavhls.currentClass);
      currentElem = section;
    }
   // DOMhelp.cancelClick(e);
    return true;
  },
  hover:function(e){
    var hls = DOMhelp.getTarget(e).parentNode.parentNode;
    var action = e.type == 'mouseout'?'remove':'add';
    DOMhelp.cssjs(action,hls,leftNavhls.overClass);
    return true;
  }
}

//MLC 15-05-2009
//REMOVED AS CAUSING JAVASCRIPT ERRORS BECAUSE
//CONTROLS IT REFERENCES e.g. div_ic_..., div_tc_ ... etc.
//ARE NEVER RENDERED BECAUSE /UserControls/Carousel/Carousel.asxc
//WHERE THESE CONTROLS EXIST ISN'T BEING USED

//var carouselCurrent=0;
//    var carouselEx=-1;
//    var carouselTotal=4;
//    var rotationThread=null;

//    function clearRotationThread()
//    {
//          if(rotationThread)
//          {
//                clearInterval(rotationThread);
//                rotationThread=null;
//          }
//    }
//    function InitCarousel()
//    {
//        for(i = 0; i<carouselTotal; i=i+1)
//        {
//            changeOpacities(100, 0, i);
//        }
//        
//        //showCarouselItem(0);
//        showCarouselCurrent();
//    }
//    function showCarouselCurrent()
//    {
//       clearRotationThread();
//       rotationThread= setInterval("showCarouselItem(-1);",4000);
//    }

//    function showCarouselItem(index)
//    {

//        if(index>=0)
//        {
//            clearRotationThread();
//            //show the current having mouse over. 
//            carouselEx=carouselCurrent;
//            carouselCurrent=index;
//        }
//        else
//        {   //loop from first to last and remmber the current and last displayed
//            carouselEx=(carouselCurrent>=0 && carouselCurrent<carouselTotal) ? carouselCurrent : 0;
//            index= (carouselCurrent>=0 && carouselCurrent<carouselTotal-1)? carouselCurrent+1: 0;
//            carouselCurrent=index;
//        }
//        opacity(carouselCurrent, carouselEx)
//    }

//    function opacity(idIn, idOut)
//    {
//        //speed for each frame
//        var speed = Math.round(600 / 50);
//        var timer = 0;
//        
//        //determine the direction for the blending, if start and end are the same nothing happens
//        for(i = 0; i <= 100; i=i+5)
//        {
//            setTimeout("changeOpacities(" + i + ",'" + idIn + "', '"+idOut+"')",(timer * speed));
//            timer++;
//        }
//    }

//    function changeOpacities(opacity, idIn, idOut) {
//        try {
//            if (idIn != idOut) {
//                changeOpacity(100 - opacity, "div_ic_" + idOut, 1);
//                changeOpacity(100 - opacity, "div_tc_" + idOut, 1);
//                changeTextColor("li_link" + idOut, "#aaa");
//                changeBG("li_link" + idOut, "transparent");
//            }
//            changeOpacity(opacity, "div_ic_" + idIn, 10);
//            changeOpacity(opacity, "div_tc_" + idIn, 10);
//            changeTextColor("li_link" + idIn, "#fff");
//            changeBG("li_link" + idIn, "#ccc");
//        } catch (e) { }
//    }

//    //change the opacity for different browsers 
//    function changeOpacity(opacity, id, zIndex)
//    {
//        try{
//            var object = document.getElementById(id).style;
//            
//            object.opacity = (opacity / 100);
//            object.MozOpacity = (opacity / 100);
//            object.KhtmlOpacity = (opacity / 100);
//            object.filter = "alpha(opacity=" + opacity + ")";
//            object.zoom = 1; // give element layout for ie 6
//            object.zIndex = zIndex;
//        }catch(ex){}
//    }
//    //change the color for different browsers 
//    function changeTextColor(id, color)
//    {
//        try{
//            var object = document.getElementById(id).style;
//            object.color = color;
//        }catch(ex){}
//    }
//    
//    function changeBG(id, backgroundColor)
//    {
//        try{
//            var object = document.getElementById(id).style;
//            object.backgroundColor = backgroundColor;
//        }catch(ex){}
//    }
//    //start the rotation
//    //setTimeout("InitCarousel();",500);
//    

DOMhelp.addEvent(window,'load',leftNavhl.init,false);
DOMhelp.addEvent(window,'load',leftNavhls.init,false);
