var saveContentSwitch=true;
var nav = navigator.userAgent.toUpperCase();
var mac = nav.indexOf("MAC") > -1; 
var msie = nav.indexOf("MSIE") > -1; 
if(mac && msie)saveContentSwitch=false;



function rowHighlightAll(){
  if(!document.getElementsByTagName){
    return;
  }
  
  var rows=document.getElementsByTagName('input');
  
  for(var i=0; i<rows.length; i++){
    if(rows[i].type=='checkbox' && rows[i].name.substr(0,6)=='tagged' && rows[i].checked==false){
      rowHighlightToggle(rows[i].name.substr(7,rows[i].name.length-8));
      rows[i].checked=true;
    }
  }
}


function rowHighlightNone(){
  if(!document.getElementsByTagName){
    return;
  }
  
  var rows=document.getElementsByTagName('input');
  
  for(var i=0; i<rows.length; i++){
    if(rows[i].type=='checkbox' && rows[i].name.substr(0,6)=='tagged' && rows[i].checked==true){
      rowHighlightToggle(rows[i].name.substr(7,rows[i].name.length-8));
      rows[i].checked=false;
    }
  }
}


function rowHighlightSelectRange(){
  if(!document.getElementsByTagName){
    return;
  }
  
  var rows=document.getElementsByTagName('input');
  var firstItem=-1, lastItem=-1;
  
  //find the first tagged item
  for(var i=0; i<rows.length; i++){
    if(rows[i].type=='checkbox' && rows[i].name.substr(0,6)=='tagged' && rows[i].checked==true){
      firstItem=i;
      break;
    }
  }
  
  if(firstItem==-1){ //no items tagged
    return;
  }
    
  //find the last tagged item
  for(var i=rows.length-1; i>firstItem; i--){
    if(rows[i].type=='checkbox' && rows[i].name.substr(0,6)=='tagged' && rows[i].checked==true){
      lastItem=i;
      break;
    }
  }
  
  if(lastItem==firstItem || lastItem==-1){ //no second item tagged
    return;
  }
    
  //tag items in between the two tagged items
  for(var i=firstItem+1; i<lastItem; i++){
    if(rows[i].type=='checkbox' && rows[i].name.substr(0,6)=='tagged' && rows[i].checked==false){
      rowHighlightToggle(rows[i].name.substr(7,rows[i].name.length-8));
      rows[i].checked=true;
    }
  }
}




function rowHighlightToggle(itemToggle){
  if(!document.getElementById)
    return false;
    
  var item;
  var sc=false;
  
  if(!(item=document.getElementById('r'+itemToggle))){
    sc=true;
    item=document.getElementById('sc'+itemToggle)
  }
  
  var type=item.className.charAt(item.className.length-1);
  
  
  if(item.className.substr(0,14)=='caparRowNormal' || item.className.substr(0,13)=='switchcontent'){
    item.className='caparRowHighlight'+type;
  }else if(item.className.substr(0,15)=='caparRowOfficer'){
    //alert('setting className to caparRowHighlightOfficer'+type);
    item.className='caparRowHighlightOfficer'+type;
  }else if(item.className.substr(0,24)=="caparRowHighlightOfficer"){
    item.className='caparRowOfficer'+type;
  }else if(sc)
    item.className='switchcontent'+type;
  else
    item.className='caparRowNormal'+type;
}




function hideAll() {
  if(document.getElementsByTagName && document.getElementById){
	  for (var i=0;i<alltags.length;i++){
		  if(alltags[i].className.substr(0,13)=="switchcontent")
		    alltags[i].style.display="none";
	  }
	}
}



function reviveContent(){
  if(document.getElementsByTagName && document.getElementById && saveContentSwitch){
    //get state of tree to display
    var cookieContent=getCookie("treeState");
    var items = new Array();
    if(cookieContent){
      //create array of help options
      var i=0, j=0, done=false;
      while(i<cookieContent.length){
        j=cookieContent.indexOf(',',i);
        items[cookieContent.substring(i,j)]=true;
        i=j+1;
      }
    
      //expand the content of the tree
      for(var i=0; i<alltags.length;i++){
        if(alltags[i].className.substr(0,13)=="switchcontent"){
          var item=alltags[i].id.substr(2,99);
          if(item.indexOf('-')>0)
            item=item.substr(0,item.indexOf('-'));
          if(items[item] && ((alltags[i].style.display!='block' && document.all) || (alltags[i].style.display!='' && !document.all))){
            if(alltags[i].id.indexOf('-')>0)
              toggleContent(item);
            else
              toggleCaparContent(item);
          } 
        } //end if a switchable item
      }//end for each table row
    }
  }
}




window.onunload = function saveContent(){
  if(document.getElementsByTagName && document.getElementById && saveContentSwitch){
    var cookieContent="";
    for(var i=0; i<alltags.length;i++){
      if(alltags[i].className.substr(0,13)=="switchcontent"){
        var item=alltags[i].id.substr(2,99);
        if(item.indexOf('-')>0)
          item=item.substr(0,item.indexOf('-'));
        if(document.all){
          if(alltags[i].style.display=="block"){
            cookieContent+=item+',';
          }
        }else{
          if(alltags[i].style.display==""){
            cookieContent+=item+',';
          }
        }
      }
    }
    setCookie("treeState",cookieContent,null);
  }
}




var alltags=document.getElementsByTagName("tr");


function hideAllSubordinates(item){
  var itemId='sc'+item.substr(item.indexOf('-')+1,99);
  
  for(var i=0; i<alltags.length; i++){
    var parts=alltags[i].id.split('-');
    var start=parts[0];
    if(start==itemId){
      if((alltags[i].style.display=='block' && document.all) || (alltags[i].style.display=='' && !document.all)){
        //hide children because they are visible
        toggleContent(itemId.substr(2,99));
        break; //no need to continue checking cause children are now hidden
      }
    }
  }
}


function toggleContent(item){
  if(document.getElementById){
    var itemId='sc'+item;
    var buttonId='expand'+item;
        
    var sections=getSections(item);
    for(var i=0; i<sections.length; i++){
      var section=document.getElementById(sections[i]);
            
      if(document.all){
        if(section.style.display!="block"){
          section.style.display="block";
          document.getElementById(buttonId).src='/images/content/minus.gif';
        }else{
          hideAllSubordinates(sections[i].substr(2));
          section.style.display="none";
          document.getElementById(buttonId).src='/images/content/plus.gif';
        }
      
      }else{
        if(section.style.display!=""){
          section.style.display="";
          document.getElementById(buttonId).src='/images/content/minus.gif';
        }else{
          hideAllSubordinates(sections[i].substr(2));
          section.style.display="none";
          document.getElementById(buttonId).src='/images/content/plus.gif';    
        }
      }
    }
  }
}



function toggleCaparContent(item){
  if(document.getElementById){
    
    var itemId='sc'+item;
    var buttonId='expand'+item;
    var section = document.getElementById(itemId);
            
    if(document.all){
      if(section.style.display!="block"){
        section.style.display="block";
        document.getElementById(buttonId).src='/images/content/minus.gif';
      }else{
        section.style.display="none";
        document.getElementById(buttonId).src='/images/content/plus.gif';
      }
      
    }else{
      if(section.style.display!=""){
        section.style.display="";
        document.getElementById(buttonId).src='/images/content/minus.gif';
      }else{
        section.style.display="none";
        document.getElementById(buttonId).src='/images/content/plus.gif';    
      }
    }
  }
}


function getSections(item){
  var count=0;
  var sections = new Array;
  var itemId='sc'+item;
  
  for(var i=0; i<alltags.length; i++){
    var parts=alltags[i].id.split('-');
    var start=parts[0];
    if(start==itemId){
      sections[count]=alltags[i].id;
      count++;
    }
  }
  return sections;
}
