//// *********************************** ////
//// State of California 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='http://search.ca.gov/search?q='+  document.getElementById("search").value +'&output=xml_no_dtd&site=' +ca_site + '&client=' +ca_client + '&proxystylesheet='+ca_styleS;
	window.location.href=url;
}

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.getElementById("tabbed_container");
	var _tab_list;
	var is_netscape = false;
	if (navigator.appName == "Netscape")
		is_netscape = true;


	if (tabbedContainers != null){
		var tabCont = tabbedContainers;
		//alert(tabCont.innerHTML);
		//alert(tabCont.getElementsByTagName('div').length);
		var DIVs = tabCont.getElementsByTagName('div');
		DIVs[1].id = "tabpanel";
		var tabpanelDIV = DIVs[1];
		var max_height = 50;
		a=3;
		DIVs[a].className = "";
		DIVs[a].id = "tab_list";
		var divCont=DIVs[a];
		var ULs=divCont.getElementsByTagName('ul');
		if (ULs == null || ULs[0] == undefined) return;
		ULs[0].id = "tab_ul";
		_tab_list = ULs[0].id;
		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,"<a href='#' class='tab_link'>"+node_value+"</a>");
					
				} 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].onmouseout = function () {
					tabpanel_mouseout(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";

				var As = _li_list[_li_list.length-1].getElementsByTagName('a');

				//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="0px";
					_li_list[_li_list.length-1].style.border="none";
					_li_list[_li_list.length-1].style.width="96%";
					} else
					for (var _x_=0; _li_list.length > _x_; _x_++){
						if (columns == 1)
							_li_list[_x_].style.width="96%";
						if (columns == 2)
							_li_list[_x_].style.width="44%";
						if (columns == 3)
							_li_list[_x_].style.width="28%";
					}
				if (cNode != null && cNode[0] != undefined && cNode[0].nodeType == 3){
					_ul_.className = "special_p";
					_li_list[_li_list.length-1].className="imageless";
				}


				//_li_list[_li_list.length-1].innerHTML = _li_list[_li_list.length-1].innerHTML + "<span class='bottom_right'></span><span class='bottom_left'></span>";
				_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;
			}
		}

		// Processing image container
		var image_cont = document.getElementById("image_container");

		var IMG_width = 0;
		try {
		var IMGs=divCont.getElementsByTagName('img');
		if (IMGs != null && IMGs.length == 0 || (IMGs[0].parentNode.nodeName.toLowerCase() != "div" && IMGs[0].parentNode.parentNode.nodeName.toLowerCase() != "div")){
			if (image_cont != null){
				image_cont.style.visibility = "hidden";
				var pappa = image_cont.parentNode;
				pappa.removeChild(image_cont);
			}
		} else if (image_cont == null ){
			var pappa = IMGs[0].parentNode;
			for (i=0; i < IMGs.length; i++){
				IMGs[i].style.visibility="hidden";
				pappa.removeChild(IMGs[i]);
			}
		} else {
			if (IMGs.length == 0 ) {
					alert("in");
				image_cont.style.visibility = "hidden";
			} else {
				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 pappa = IMGs[0].parentNode;
				for (i=0; i < IMGs.length; i++){
					IMGs[i].style.visibility="hidden";
					pappa.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+"><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' />";
				if (is_netscape)
					image_cont.style.width=(w*0.96)+"px";
				else
					image_cont.style.width=(w)+"px";
				image_cont.style.height=(h+20)+"px";
				var tbbd_image = document.getElementById("tbbd_image");
				if (tbbd_image != undefined){
					tbbd_image.style.width = w;
					tbbd_image.style.height = h;
				}
				IMG_width = w;
				if(h > max_height){
					max_height = h+60;

				}
			}

			image_cont.height=(max_height*2+60)+"px";
		}
		} catch (e) {; 
		}

		
		var panel_1_width = 0;
		if (document.getElementById("tabbed_container").offsetWidth){
			if (IMG_width != 0)
				panel_1_width =document.getElementById("tabbed_container").offsetWidth - IMG_width-30; 
			else
				panel_1_width = document.getElementById("tabbed_container").offsetWidth; 
		}

		tabpanelDIV.style.width=(panel_1_width+5)+"px"; 

		var mult = 1.1;
		if (is_netscape)
			mult=1;
		var ULs=tabbedContainers.getElementsByTagName('ul');
		if (ULs != null)
		/* Undesirable feature: sets the height of each child UL container to largest in the set.*/
		for (u=0;u < ULs.length; u++){
			var _ULs_=ULs[u].getElementsByTagName('ul');
			for (uu=0;uu < _ULs_.length; uu++){
				if (max_height < _ULs_[uu].offsetHeight*1.15)
					max_height =_ULs_[uu].offsetHeight*1.15;
			}
		}

		// Setting height and width properties for tabbed environment

			
		if (document.getElementById("tabpanel_1_sublist"))
 		document.getElementById("tabpanel_1_sublist").style.width =(document.getElementById("tabbed_container").offsetWidth -IMG_width-62) + "px"; // Needed for IE
		if (IMG_width!=0) {
			if (is_netscape)
				document.getElementById("tab_list").style.left= (IMG_width+18)+"px";
			/*else 
				document.getElementById("tab_list").style.left= (IMG_width+18)+"px";*/
		} else {
			if (is_netscape)
				document.getElementById("tab_list").style.left= 5+"px";
			else 
				document.getElementById("tab_list").style.left= -10+"px";

		}
		if (tabbedContainers.offsetHeight < max_height)
			tabbedContainers.style.height=(max_height+50)+ "px";

/*
	var pappa = document.getElementById("tab_list").parentNode;
	var tabList_html = pappa.innerHTML;
	pappa.parentNode.innerHTML=tabList_html;*/
	/* Copy to clipboard to check dynamic generated content*/
/*
	if (window.clipboardData)
		window.clipboardData.setData("Text",tabCont.innerHTML);
	if (window.clipboardData)
		window.clipboardData.setData("Text",tabCont.innerHTML);
*/


	window.onresize = function () {
 		document.getElementById("tabpanel_1_sublist").style.width = (document.getElementById("tabbed_container").offsetWidth -IMG_width-62) + "px"; // Needed for IE
		if (is_netscape)
			document.getElementById("tab_list").style.left= (IMG_width+18)+"px";
		
	};

	}
}

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;
/*
					var reg_exp = new RegExp(node_value, "");
					this_o.innerHTML = node_content.replace(reg_exp,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;
	    //for (u=0; u < ULs.length; u++){
		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');
/*
					_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="0px";
					_li_list[_li_list.length-1].style.border="none";
					_li_list[_li_list.length-1].style.width="96%";

*/

					}
					
			}
	    }
	  //}
	}

}

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);
}

function tabpanel_mouseover(node){
	if ( node.id == undefined) return;
	if (sticky_tab != null && sticky_tab != undefined)
		return;
	else 
		tabpanel_mouseover_default(node);
}

function tabpanel_mouseover_default(node)
{
  var panel_1_width = document.getElementById("tabpanel_1_sublist").offsetWidth; // Needed for IE

  document.getElementById("tabpanel_1").className = ""; // De-activate default item
  var children = node.parentNode.childNodes;
  for (var i=0; children.length > i ; i++){
	  if (children[i].nodeType == 1)
		   children[i].className = "";
  }

  node.className = "tabpanel_default"; // Activate the hovered item
  if (panel_1_width) {
    if (document.getElementById("tabpanel_2_sublist"))
      document.getElementById("tabpanel_2_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_3_sublist"))
      document.getElementById("tabpanel_3_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_4_sublist"))
      document.getElementById("tabpanel_4_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_5_sublist"))
      document.getElementById("tabpanel_5_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_6_sublist"))
      document.getElementById("tabpanel_6_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_7_sublist"))
      document.getElementById("tabpanel_7_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_8_sublist"))
      document.getElementById("tabpanel_8_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_9_sublist"))
      document.getElementById("tabpanel_9_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_10_sublist"))
      document.getElementById("tabpanel_10_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_11_sublist"))
      document.getElementById("tabpanel_11_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_12_sublist"))
      document.getElementById("tabpanel_12_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_13_sublist"))
      document.getElementById("tabpanel_13_sublist").style.width = (panel_1_width - 20) + "px"; // Needed for IE
  }
}

//// tabpanel_mouseout
//// This function is called on mouseout

function tabpanel_mouseout(node)
{
	/*
  node.className = ""; // De-activate this item
  document.getElementById("tabpanel_1").className = "tabpanel_default"; // Activate default item
  */
}

/*function addResizeEvent(func) {
	if ( document )	document.forms[0].style.height="";
	var oldonresize = window.onresize;
	if (typeof window.onresize != 'function') {
		window.onresize = func;
	} else {
		window.onresize = function() {
			if (oldonresize) {
				oldonresize();
			}
			func();
		}
	}
}*/

// End of tabpanel_module javascript

function getDFGSearch() {
	var url='/SearchResults/tabid/409/Default.aspx?Search='+  document.getElementById("search").value;
	window.location.href=url;
}

