//// *********************************** ////
////  master template ////
////             Version 1.20            ////
////       Last Updated 03/23/2007       ////
////                                     ////
//// Add your own Department-specific    ////
//// scripts here.                       ////
//// *********************************** ////

// selectSearch - If you are not using DTS site search you may delete lines 10-to-25
// Choose between the statewide search and your own local site search.
//

var ca_site="ca_dcss";
var ca_client="ca_dcss";
var ca_styleS="ca_dcss";

function getGoogleSearch() {
	var url='/gscc/SearchResults/tabid/409/Default.aspx?Search='+  document.getElementById("search").value;
	window.location.href=url;
}

function handleKeyPress(e)
{
	var key = e.keyCode || e.which;
	
	if (key == 13)
	{
	getGoogleSearch();
	return false;	
	}
}

function selectSearch() { 
	if (document.getElementById("control").which[0].checked) {
	  document.getElementById("ca_form").q.value = document.getElementById("search").value;
	  document.getElementById("ca_form").submit();
	} else {
		// Change the 'q' to the parameter your search engine uses for its text field
	  document.getElementById("local_form").q.value = document.getElementById("search").value;
	  document.getElementById("local_form").submit();
	}
  return false;
}
var defaultMainList = "Home";

function setNavLoaded(txt){
	defaultMainList = txt;
		if (typeof defaultMainList!="undefined")
			var reMainNav = new RegExp("^" + txt + "<", "i"); // Regex for finding the index of the default main list item

	var navRoot = document.getElementById("nav_list"); // Get main list ul
		for (i=0; i<navRoot.childNodes.length; i++) { // Loop over main list items
			node = navRoot.childNodes[i];
			if (node.nodeName == "LI") {
				if ((typeof defaultMainList!="undefined") && node.firstChild.innerHTML.match(reMainNav)) { // Found default main nav item
					defaultMainListIndex = i;
					navRoot.childNodes[defaultMainListIndex].className = "nav_default_on"; // Activate it
					try {
						var _li =node.getElementsByTagName("li")
						for (x=0; x<_li.length; x++){
							if (! _li[x].id.match("mssg"))
								_li[x].style.display="none";
							else
								_li[x].style.display="block";
						}
					} catch (err) { ; }
					
				} else {
					try {
						var _li =node.getElementsByTagName("li")
						for (x=0; x<_li.length; x++){
							if (_li[x].id.match("mssg"))
								_li[x].style.display="none";
							else
								_li[x].style.display="block";
						}
					} catch (err) { ; }
				}
			}
		}
}

dnnSearchLabel = function () {
	var DNNSearch = document.getElementById("dnn_dnnSEARCH_txtSearch");
	var text = ' Internal Search';
	var ApplianceSearch = document.getElementById("search");

	if (DNNSearch != undefined){
		DNNSearch.value = text;

		DNNSearch.onmouseover = function () {
			if(this.value==text)this.value='';
		};
		DNNSearch.onmouseout= function () {
			if(this.value=='')this.value=text;
		};
	} else if (ApplianceSearch != undefined && ApplianceSearch != "dfg_search"){
		text = ' Search';

		ApplianceSearch.value = text;

		ApplianceSearch.onmouseover = function () {
			if(this.value==text)this.value='';
		};

		ApplianceSearch.onmouseout= function () {
			//if(this.value=='')this.value=text;
		};
	}

}
/* Removes white space 
 *
 * From: http://www.thescripts.com/forum/thread170794.html
1. White space in string
	ALTNERATE: str.replace(/^[\s\xA0]+|[\s\xA0]+$/g,"");
	NON-GREEDY: str.replace(/^[\s\xA0]+((a|[^a])*?)[\s\xA0]+$/g,"$1");
2. Markup
	ALTERNATE: str.replace(/^(\s|&nbsp;)+|(\s|&nbsp;)+$/g,"");
	NON-GREEDY: str.replace=(/^(\s|&nbsp;)+((a|[^a])*?)(\s|&nbsp;)+$/;,"$2");
	NEGATIVE LOOKAHEADeturn
	str.replace=(/^(\s|&nbsp;)+(((a|[^a])(?!(\s|&nbsp;)+$)|([^\s]|&)(?=(\s|&nbsp;)$))*)(\s|&nbsp;)+$/,"$2");
 * */
function trimWS(str) {
	if (str == null) return "";

	return str.replace(/^[\s\xA0]*/g,"").replace(/[\s\xA0]*$/g,"").replace(/^(\s|&nbsp;)+|(\s|&nbsp;)+$/g,"").replace(/^\{.+\}/g,"");

}


/* Styles Tabbed content - Will only handle one per page */
styleTabbed = function () {
	var tabbedContainers = document.getElementsByName("tabbed_container");
	var is_netscape = false;
	if (navigator.appName == "Netscape")
		is_netscape = true;


	for (var tab_i=0; tab_i < tabbedContainers.length; tab_i++){
		var tabbedContainer = tabbedContainers[tab_i];
		var tab_list = null;
		var tab_ul = null;
		var tabpanelDIV= null;
		var tabCont = tabbedContainer;
		var DIVs = tabCont.getElementsByTagName('div');
		tabpanelDIV = DIVs[0];
		tabpanelDIV.id = "tabpanel";


		var image_cont = null;
		var IMG_width = 0;
		try {
			// Processing image container
			var IMGs=tabbedContainer.getElementsByTagName('img');
			if (IMGs != null && IMGs.length > 0 ){
				// Create image container
				tabpanelDIV.innerHTML = "<div class='image_container' id='image_container'></div>" + tabpanelDIV.innerHTML;
				image_cont = tabpanelDIV.getElementsByTagName('div')[0];

				// Get resources
				var pappa = IMGs[0].parentNode;
				var src = IMGs[0].src;
				var alt = IMGs[0].alt;
				var w = IMGs[0].width;
				var h = IMGs[0].height;
				var Ps = new Array();

				// Remove all images
				for (i=0; i < IMGs.length; i++){
					var img_pappa = IMGs[i].parentNode;
					var img_gpappa = IMGs[i].parentNode.parentNode;
					if (img_pappa.nodeName.toLowerCase() == "p"){
						Ps[Ps.length] = img_pappa;
					} else if (img_gpappa.nodeName.toLowerCase() == "p") {
						Ps[Ps.length] = img_gpappa;
					}

					IMGs[i].style.visibility="hidden";
					IMGs[i].parentNode.removeChild(IMGs[i]);
				}

				if (pappa.nodeName.toLowerCase() == "a"){
					var href = "";
					var target = "self";
					if (pappa.href != undefined) href = pappa.href;
					if (pappa.target != undefined) target = pappa.target;
					image_cont.innerHTML = "<a href='"+href+"' target='"+target+"'><img src='"+src+"' height='"+h+"' width='"+w+"' alt='"+alt+"' id='tbbd_image' /></a>";
				} else
					image_cont.innerHTML = "<img src='"+src+"' height='"+h+"' width='"+w+"' alt='"+alt+"' id='tbbd_image' />";

				IMG_width = w;
				if(h > max_height){
					max_height = h+60;
				}
				image_cont.height=(max_height*2+60)+"px";
				tabpanelDIV.getElementsByTagName('div')[1].style.padding = "0px 10px 0px " + (w+30) + "px";

				for (var i=0; i < Ps.length; i++){
					var node_pappa = Ps[i].parentNode;
					if (Ps[i].nodeName.toLowerCase() == "p"){
						node_pappa.removeChild(Ps[i]);
					} 
				}
			}
		} catch (e) {; }



		if (tabbedContainer != null){
			var max_height = 50;
			tab_list = DIVs[2];
			tab_list.className = "";
			tab_list.id = "tab_list";

			var ULs=tab_list.getElementsByTagName('ul');
			if (ULs == null || ULs[0] == undefined) return; // Exit on empty
			
			try {
				ULs[0].innerHTML = ULs[0].innerHTML + "<a name='tabC_" + tab_i + "'>&nbsp;</a>" ;
			} catch (e) { ;	}

			ULs[0].id = "tab_ul";
			var list = ULs[0].childNodes;
			var aa=1;
			for (l=0; l < list.length; l++){
				var columns = 0;
				if (list[l].tagName != undefined && list[l].tagName.toLowerCase() == "li" ){
					var this_o = list[l];
					var anch;
					if (this_o.childNodes[0].nodeType == 3 ) {
						// Creating the node when no link is provided
						var child = this_o.childNodes[0];
						var node_content = trimWS(this_o.innerHTML);
						var node_value = trimWS(child.nodeValue);
						var node_value2 = child.nodeValue;
						var index1 = node_value2.indexOf("{");
						var index2 = node_value2.indexOf("}");
						if (index1 > -1 && index2 > -1){
							var columns = parseInt(node_value2.split('}')[0].split('{')[1]);
						}
						child.nodeValue = node_value;
						var reg_exp = new RegExp(".*", "");
						this_o.innerHTML = node_content.replace(reg_exp,"<div class='tab_link'>"+node_value+"</div>");
					
					} else if (this_o.getElementsByTagName('a').length > 0){
						child.nodeValue = trimWS(child.nodeValue);
						anch = this_o.getElementsByTagName('a')[0];
						anch.className="tab_link";
					}
					// Adding runtime actions
					list[l].onmouseover = function () {
						tabpanel_mouseover(this);
					};
					list[l].onmousedown = function () {
						tabpanel_click(this);
					}

					var _li_list = this_o.getElementsByTagName('li');
					var _ul_ = this_o.getElementsByTagName('ul')[0];

					_ul_.className="list_decorative_dark";
					_ul_.id="tabpanel_"+aa+"_sublist";
					list[l].id = "tabpanel_"+aa;
					list[l].className = "tabpanel_default";

					//Cleaning up the spaces in the body of the text
					_li_list[_li_list.length-1].innerHTML = trimWS(_li_list[_li_list.length-1].innerHTML);
					var cNode =_li_list[_li_list.length-1].childNodes;
					var cNodeNameFirst = null;
					try {
						cNodeNameFirst = cNode[0].nodeName;
					}catch (e){ 
						cNode = null;
			       	}

					if ( cNodeNameFirst.toLowerCase() != "a" && _li_list.length <= 1){
						_li_list[_li_list.length-1].style.background="none";
						_li_list[_li_list.length-1].style.margin="0px";
						_li_list[_li_list.length-1].style.padding="0% 2% 0% 2%";
						_li_list[_li_list.length-1].style.border="none";
						_li_list[_li_list.length-1].style.width="95%";

						var As = _li_list[_li_list.length-1].getElementsByTagName('a');
						for (var _y_=0; As.length > _y_; _y_++){
							As[_y_].style.margin="0px";
							As[_y_].style.display="inline";
							As[_y_].style.border="0px";
						}

					} else {
						for (var _x_=0; _li_list.length > _x_; _x_++){
							if (columns == 1)
								_li_list[_x_].style.width="99%";
							if (columns == 2)
								_li_list[_x_].style.width="48%";
							if (columns == 3)
								_li_list[_x_].style.width="32%";

							if (_li_list[_x_].childNodes.length > 0 && _li_list[_x_].childNodes[0].nodeName.toLowerCase() == "a"){
								_li_list[_x_].childNodes[0].innerHTML = trimWS(_li_list[_x_].childNodes[0].innerHTML);
							} else {
								//_li_list[_x_].style.padding="0% 0% 0% 20px";
								_li_list[_x_].innerHTML = "<div style='display:block; border-bottom:1px dotted #999999;margin:0% 0% 0% 24px;'>" + trimWS(_li_list[_x_].innerHTML) + "</div>";
								var As = _li_list[_x_].getElementsByTagName('a');
								for (var _y_=0; As.length > _y_; _y_++){
									As[_y_].style.margin="0px";
									As[_y_].style.display="inline";
									As[_y_].style.border="0px";
								}
							}
						}
					}
					if (cNode != null && cNode[0] != undefined && cNode[0].nodeType == 3){
						_ul_.className = "special_p";
						_li_list[_li_list.length-1].className="imageless";
					}

					_ul_.innerHTML = _ul_.innerHTML + "<span class='bottom_right'></span><span class='bottom_left'></span>";
					if((_ul_.offsetHeight) > max_height){
						if (is_netscape)
							max_height = _ul_.offsetHeight*1.25;
						else
							max_height = _ul_.offsetHeight*1.4;
					}
					if (aa == 1 && list[l].tagName.toLowerCase() == "li")
						list[l].className = "tabpanel_default";
					else
						list[l].className = "";
	
					for (ll=0; ll < _li_list.length; ll++){
						var reg_exp = new RegExp(".*", "");
						var c_val= _li_list[ll].innerHTML;
						_li_list[ll].innerHTML = c_val;
					}
					aa=aa+1;
				}
			}
				tabpanel_mouseover_default(ULs[0].getElementsByTagName('li')[0]);

		}
	}
}

hugeloadTable = function () {
	if (document.getElementsByTagName('3col')== null || document.getElementsByTagName('3col') == undefined)
	hugeTable();
}

hugeloadDIV = function () {
	if (document.getElementsByTagName('3col')== null || document.getElementsByTagName('3col') == undefined)
	hugeDIV();
}

hugeresTable = function () {
	if (document.getElementsByTagName('3col')== null || document.getElementsByTagName('3col') == undefined)
	hugeTable();
}

hugeresDIV = function () {
	if (document.getElementsByTagName('3col')== null || document.getElementsByTagName('3col') == undefined)
	hugeDIV();
}
function hugeTable() {
	var MainContent = document.getElementById("main_content_1");
	var ContentPane = document.getElementById("breadcrumb");
	var tables=MainContent.getElementsByTagName('table');

	if (tables != null && tables.length != undefined){
		for (i=0; i < tables.length; i++){
			if (ContentPane.offsetWidth < +tables[i].offsetWidth)
				MainContent.style.width = tables[i].offsetWidth+210;
		}
	}
}

function hugeDIV() {
	var MainContent = document.getElementById("main_content_1");
	var ContentPane = document.getElementById("breadcrumb");
	var tables=MainContent.getElementsByTagName('div');

	if (tables != null && tables.length != undefined){
		for (i=0; i < tables.length; i++){
			if (ContentPane.offsetWidth+40 < tables[i].offsetWidth)
				MainContent.style.width = tables[i].offsetWidth+210;
		}
	}
}

/* Styles Tabbed content - Will only handle one per page */
styleColCont = function () {
	var tabbedContainers = document.getElementById("column_container");
	var is_netscape = false;
	if (navigator.appName == "Netscape")
		is_netscape = true;


	if (tabbedContainers != null){
	    var ULs=tabbedContainers.getElementsByTagName('ul');
	  if (ULs == null || ULs[0] == undefined) return;
	    for (u=0; u < ULs.length; u++){
		var list = ULs[u].childNodes;
		for (l=0; l < list.length; l++){
			var columns = 0;
			if (list[l].tagName != undefined && list[l].tagName.toLowerCase() == "li" ){
				var this_o = list[l];
				var anch;
					// Creating the node when no link is provided
					var child = this_o.childNodes[0];
					var node_content = trimWS(this_o.innerHTML);
					var node_value = trimWS(child.nodeValue);
					var node_value2 = child.nodeValue;
					if (node_value2 != null){
					var index1 = node_value2.indexOf("{");
					var index2 = node_value2.indexOf("}");
					var columns;
					if (index1 > -1 && index2 > -1){
						columns = parseInt(node_value2.split('}')[0].split('{')[1]);
						if (columns == 1)
							this_o.className="one";
						else if (columns == 2)
							this_o.className="two";					
						else if (columns == 3)
							this_o.className="three";
						else if (columns == 4)
							this_o.className="four";
						else if (columns == 5)
							this_o.className="five";
						else if (columns == 6)
							this_o.className="six";						
					}
					child.nodeValue = node_value;

					ULs[u].style.padding="0px";
					ULs[u].style.margin="4px";
					list[l].style.display="block";
					list[l].style.width="95%";
					}
					
			}
	    }
	  }
	}

		

}


styleFAQs = function () {

	var tabbedContainers = document.getElementById("faq_container");
	var is_netscape = false;
	if (navigator.appName == "Netscape")
		is_netscape = true;


	if (tabbedContainers != null){
	    var ULs=tabbedContainers.getElementsByTagName('ul');
	  if (ULs == null || ULs[0] == undefined) return;
		var list = ULs[0].childNodes;
		ULs[0].style.padding="0px";
		ULs[0].style.margin="20px";
		for (l=0; l < list.length; l++){
			var columns = 0;
			if (list[l].tagName != undefined && list[l].tagName.toLowerCase() == "li" ){
				var this_o = list[l];
				var anch;
					// Creating the node when no link is provided
					var child = this_o.childNodes[0];
					var node_content = trimWS(this_o.innerHTML);
					var node_value = trimWS(child.nodeValue);
					var node_value2 = child.nodeValue;
					if (node_value2 != null){
					var columns;
					child.nodeValue = node_value;
					var reg_exp = new RegExp(".*", "");
					this_o.innerHTML = node_content.replace(reg_exp,"<div style='display:block;color:#333399; font-weight:bold; cursor:pointer;' onClick='javascript:expCont(this)'>"+node_value+"</div>");

					list[l].style.display="block";
					var childUL = list[l].getElementsByTagName('ul')[0];
					childUL.className="hidden";

				var _li_list = this_o.getElementsByTagName('li');

					}
					
			}
	    }
	}

}

function expCont(node){
	var ULs=node.parentNode.getElementsByTagName('ul');
	var ul=ULs[0];
	if (ul.className != undefined && ul.className == "hidden")
		ul.className="";
	else {
		ul.className="hidden";
	}
}


addLoadEvent(dnnSearchLabel);
addLoadEvent(styleColCont);
addLoadEvent(styleTabbed);
addLoadEvent(hugeloadTable);
addLoadEvent(hugeloadDIV);
addLoadEvent(styleFAQs);
//addResizeEvent(hugeresTable);
//addResizeEvent(hugeresDIV);

/////////////////////////
//// tabpanel_module ////
/////////////////////////
var sticky_tab = null;

//// tabpanel_mouseover
//// This function is called when a tabpanel tab is hovered
//
function tabpanel_click(node){
	sticky_tab = node;
	tabpanel_mouseover_default(node);
	node.parentNode.name=node.id;
}

function tabpanel_mouseover(node){
	//alert("Sticky: "+sticky_tab);
	var sticky_tab =  node.parentNode.name;
	if ( node.id == undefined) return;
	if (sticky_tab != null && sticky_tab != undefined)
		return;
	else if (node.className != "tabpanel_default")
		tabpanel_mouseover_default(node);
}

function tabpanel_mouseover_default(node)
{
  //hide all other elements
  var children = node.parentNode.childNodes;
  var cont_width = 0;
  var processed = 0;
  for (var i=0; children.length > i ; i++){
	if (children[i].nodeType == 1){
		if (processed == 0 && node.id != "tabpanel_1"){
			children[i].className = "tabpanel_default";
			cont_width = children[i].getElementsByTagName('ul')[0].offsetWidth;
		}
		children[i].className = "hidden_li";
		//alert(children[i].innerHTML);
		processed++;
	}
		
  }

  node.className = "tabpanel_default"; // Activate the hovered item
  
  if (node.id != "tabpanel_1" && cont_width != 0)
	node.getElementsByTagName('ul')[0].style.width = cont_width;
	try {
		// Trying to set the height of the panel
		var ref = node;
		var image_h = 0;
		var cont_s = 0;

		// find tabpanel parent
		for (var i=0; ref.id != "tabpanel" && i < 4; i++){
			ref = ref.parentNode;
		}
		if (ref.getElementsByTagName('img').length > 0)
			image_h = ref.getElementsByTagName('img')[0].height;

		cont_s = node.getElementsByTagName('ul')[0].offsetHeight;
		if (cont_s < image_h)
			cont_s = image_h;

		// Set height of tabpanel
		ref.style.height = 45+ cont_s + "px";
	} catch (e){
		;
	}
}

//// tabpanel_mouseout
//// This function is called on mouseout

function tabpanel_mouseout(node){
	// Do nothing
}

// End of tabpanel_module javascript

function getDFGSearch() {
	var url='/gscc/SearchResults/tabid/409/Default.aspx?Search='+  document.getElementById("search").value;
	window.location.href=url;
}


