// JavaScript Document

/*sitemap*/
/* 

	Sitemap Styler v0.1
	written by Alen Grakalic, provided by Css Globe (cssglobe.com)
	visit http://cssglobe.com/lab/sitemap_styler/
	
*/

function sitemapstyler(){
	var sitemap = document.getElementById("sitemap")
	if(sitemap){
		
		this.listItem = function(li){
			if(li.getElementsByTagName("ul").length > 0){
				var ul = li.getElementsByTagName("ul")[0];
				ul.style.display = "none";
				var span = document.createElement("span");
				span.className = "collapsed";
				span.onclick = function(){
					ul.style.display = (ul.style.display == "none") ? "block" : "none";
					this.className = (ul.style.display == "none") ? "collapsed" : "expanded";
				}		
				li.appendChild(span);
			};
		};
		
		var items = sitemap.getElementsByTagName("li");
		for(var i=0;i<items.length;i++){
			listItem(items[i]);
		};
		
	};	
};

/*end sitemap*/

/*subnav*/
function subnavstyler(){
	var subnav = document.getElementById("subnav")
		if(subnav){
		
		this.listItem1 = function(li1){
			if(li1.getElementsByTagName("ul").length > 0){
				var ul1 = li1.getElementsByTagName("ul")[0];
				ul1.style.display = "none";
				var span1 = document.createElement("span");
				span1.className = "collapsed";
				span1.onclick = function(){
					ul1.style.display = (ul1.style.display == "none") ? "block" : "none";
					this.className = (ul1.style.display == "none") ? "collapsed" : "expanded";
				}		
				li1.appendChild(span1);
			};
		};
		
		var items1 = subnav.getElementsByTagName("li");
		for(var i1=0;i1<items1.length;i1++){
			listItem1(items1[i1]);
		};
		
	};	
};

function subnavCSstyler(){
	var subnav = document.getElementById("subnavCS")
		if(subnav){
		
		this.listItem1 = function(li1){
			if(li1.getElementsByTagName("ul").length > 0){
				var ul1 = li1.getElementsByTagName("ul")[0];
				ul1.style.display = "none";
				var span1 = document.createElement("span");
				span1.className = "collapsed";
				span1.onclick = function(){
					ul1.style.display = (ul1.style.display == "none") ? "block" : "none";
					this.className = (ul1.style.display == "none") ? "collapsed" : "expanded";
				}		
				li1.appendChild(span1);
			};
		};
		
		var items1 = subnav.getElementsByTagName("li");
		for(var i1=0;i1<items1.length;i1++){
			listItem1(items1[i1]);
		};
		
	};	
};


function load_expand(){
	var body_obj = document.getElementsByTagName("body")[0];
	var ul_obj_id = "";
	
	switch(body_obj.className)
	{
	case "i_services_cp":
	  ul_obj_id = "CP";
	  break;    
	case "i_services_dp":
	  ul_obj_id = "DP";
	  break; 
	case "i_services_gd":
	  ul_obj_id = "GD";
	  break;
	case "i_services_nm":
	  ul_obj_id = "NM";
	  break;
	case "i_clientsupport_dt":
	//alert("DT");
	  ul_obj_id = "DT";
	  break;
	case "i_desn":
	  ul_obj_id = "GD";
	  break; 
	case "i_prnt":
	  ul_obj_id = "CP";
	  break; 
	case "i_phto":
	  ul_obj_id = "DP";
	  break;
	case "i_mdia":
	  ul_obj_id = "NM";
	  break;
	case "i_mrkt":
	  ul_obj_id = "GD";
	  break;
	default:
	  //default code to execute if no classname for body matches expandable nav
	}
	if( ul_obj_id.length > 0 ){
		//get objects
		var ul_obj = document.getElementById(ul_obj_id);
		var span_obj = ul_obj.parentNode.childNodes[(ul_obj.parentNode.childNodes.length - 1)];
		//set attributes
		//alert(ul_obj_id);
		//alert(span_obj);
		ul_obj.style.display = "block";
		span_obj.className = "expanded";
	
	}
}		
/*end subnav*/

/*equipment*/
function showControls(){
	var controls = document.getElementById("equipmentControls")
	if (controls){
		controls.style.display = "block";
	}
}

function equipmentstyler(){
	var equipment = document.getElementById("equipment")
		if(equipment){
		this.listItem2 = function(li2){
			if(li2.getElementsByTagName("ul").length > 0){
				var ul2 = li2.getElementsByTagName("ul")[0];
				ul2.style.display = "none";
				li2.className = "collapsed";
				li2.onclick = function(){
					ul2.style.display = (ul2.style.display == "none") ? "block" : "none";
					this.className = (ul2.style.display == "none") ? "collapsed" : "expanded";
				}
			};
		};
		
		var items2 = equipment.getElementsByTagName("li");
		for(var i2=0;i2<items2.length;i2++){
			listItem2(items2[i2]);
		};
		
	};	
};

function openEquipment(){//we open all of them
    var eqUL=document.getElementById('equipment').getElementsByTagName('ul');
    for(var i=0;i<eqUL.length;i++){
	    eqUL[i].style.display = "block"
		this.className = 'expanded';
    }
	return false;
}
function closeEquipment(){//we close all of them 
    var eqUL=document.getElementById('equipment').getElementsByTagName('ul');
    for(var i=0;i<eqUL.length;i++){
	    eqUL[i].style.display = "none"
		this.className = 'collapsed';
    }
	return false;
}
function toggleEquipment(){
	var controls=document.getElementById('equipmentControls')
    if (controls){ 
	    var ToggleON = document.getElementById('expandAll');
	    var ToggleOFF = document.getElementById('collapseAll'); 
		
		    if (ToggleON && ToggleOFF){				
				ToggleON.onclick = function() { openEquipment(); }
				ToggleON.title = "Show all";
				ToggleON.href = "#";
			   	ToggleOFF.onclick = function() { closeEquipment(); } 
 			   	ToggleOFF.title = "Hide all";
				ToggleOFF.href = "#";
			}
    }
}

/*end equipment*/

/*careers & pressList*/
// function for the link that turns them all off
function toggleAllOff(){
	
	if(document.getElementById("togglelisting") != null){
		var heading = document.getElementById("togglelisting").getElementsByTagName('dt');
		var desc = document.getElementById("togglelisting").getElementsByTagName('dd');

		for (var i = 0; i < desc.length; i++) { 
			heading[i].className = 'collapsed';
			desc[i].className = 'hide';
		}
		
	}
}

// function for the link that turns them all on
function toggleAllOn(){
	var heading = document.getElementById("togglelisting").getElementsByTagName('dt');
var desc = document.getElementById("togglelisting").getElementsByTagName('dd');

	for (var i = 0; i < desc.length; i++) { 
		heading[i].className = 'expanded';
		desc[i].className = 'show';
	}

}

//function toggleNext(el) {
//	
// var next=el.nextSibling;
//
// next.style.display=((next.style.display=="none") ? "block" : "none");
//}


//makes the definition lists click-able
function displayToggle(){

	
	if(document.getElementById("togglelisting") != null){
		var heading 	= document.getElementById("togglelisting").getElementsByTagName('dt');
		var desc 		= document.getElementById("togglelisting").getElementsByTagName('dd');
	}

	toggleAllOff(); // calls the toggle all off function to turn all the answers off when the page is loaded	
	 
	 if(heading != null){
		 for (i=0; i<heading.length; i++) { // loops through the jobs a
			 heading[i].onclick=function() { // shows the desc onclick
			 
			 	
				
			 	var next = this.nextSibling;
				while(next.nodeType != 1) next=next.nextSibling; // if it gets to a non-element node, go to the next one
				//change class of current dt
				this.className=((this.className=="collapsed") ? "expanded" : "collapsed");
				//chage class of the following dd
				next.className=((next.className=="hide") ? "show" : "hide");
					
			}
		 }
	 }
}

function togglelistingControls(){
	var togglecontrols=document.getElementById('togglelistingcontrols')
    if (togglecontrols){ 
	togglecontrols.style.display = "block";
	    var ToggleListON = document.getElementById('togglelistingexpandAll');
	    var ToggleListOFF = document.getElementById('togglelistingcollapseAll'); 
		
		    if (ToggleListON && ToggleListOFF){				
				ToggleListON.onclick = function() { toggleAllOn(); }
				ToggleListON.title = "Show all";
				ToggleListON.href = "#e";
			   	ToggleListOFF.onclick = function() { toggleAllOff(); } 
 			   	ToggleListOFF.title = "Hide all";
				ToggleListOFF.href = "#c";
			}
    }
}

/*end careers and pressList*/

function load_functions(){
	toggleEquipment();
	subnavstyler(); 
	subnavCSstyler();
	sitemapstyler();
	load_expand();
	equipmentstyler();
	showControls();
	displayToggle();
	togglelistingControls();
}

/*window.onload = load_functions;*/