//// *********************************** ////
//// 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.

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;
}

// End of selectSearch javascript


//////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////
//// tabpanel_module ////
/////////////////////////


//// tabpanel_mouseover
//// This function is called when a tabpanel tab is hovered

function tabpanel_mouseover(node)
{
  var panel_1_width = document.getElementById("tabpanel_1_sublist").offsetWidth; // Needed for IE
  document.getElementById("tabpanel_1").className = ""; // De-activate default item
  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 - 2) + "px"; // Needed for IE
    if (document.getElementById("tabpanel_3_sublist"))
      document.getElementById("tabpanel_3_sublist").style.width = (panel_1_width - 2) + "px"; // Needed for IE
	if (document.getElementById("tabpanel_4_sublist"))
      document.getElementById("tabpanel_4_sublist").style.width = (panel_1_width - 2) + "px"; // Needed for IE
  }
}

function tabpanel_mouseover2(node)
  
{
  var panel_5_width = document.getElementById("tabpanel_5_sublist").offsetWidth; // Needed for IE
  document.getElementById("tabpanel_5").className = ""; // De-activate default item
  node.className = "tabpanel_default"; // Activate the hovered item
  if (panel_5_width) {
    if (document.getElementById("tabpanel_6_sublist"))
      document.getElementById("tabpanel_6_sublist").style.width = (panel_5_width - 2) + "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 tabpanel_mouseout2(node)
{
  node.className = ""; // De-activate this item
  document.getElementById("tabpanel_5").className = "tabpanel_default"; // Activate default item
}

// End of tabpanel_module javascript


////////////////////////////////////////////////////////////////////////////////////////////////////////


// breadcrumbs
// This function populates the breadcrumb section of the page.

function breadcrumbs()
{
	if ((document.getElementById) && document.getElementById('breadcrumb_dynamic')) { // Make sure browser supports getElementById and breadcrumb_dynamic exists
		var wrkLocation = location.href;
		var wrkLength = wrkLocation.indexOf("#");  // Find the begining of any anchor reference
		if(wrkLength != -1){
			var wrkLocation = wrkLocation.substr(0,wrkLength);  // Extract the anchor reference
		}	
		var wrkLength = wrkLocation.indexOf("?");  // Find the begining of the query string
		if(wrkLength != -1){
			var wrkLocation = wrkLocation.substr(0,wrkLength);  // Extract the query string
		}	
 
		var arrURL=wrkLocation.split("/"); // Array containing the current location, split at the slashes
		var output='<a href="/">Home</a>'; // The string which will be output to the browser, starts with a link to the home page
		var path = ''; // Link for the crumbs

		// If last item is blank or index.* or default.*, remove it
		if (arrURL[arrURL.length-1] == '' || arrURL[arrURL.length-1].match(/^index\.|^default\./i) ) {
			arrURL.length--;
		}

		if (arrURL.length > 3) {
			for (counter = 3;counter < arrURL.length-1;counter++) {  // Loop to display the links
				if(path.length == 0){  // always start links with '/' 
					path = '/';
				}
				path += arrURL[counter] + '/';  // always end links to folder with '/' 
				output += ' <img src="/images/ca_department/bullet_blue.gif" alt="" /> <a href="' + path + '">' + arrURL[counter].replace(/_/g,' ') + '</a>';
			}

			// Display the name of the current page in bold
			output += ' <img src="/images/ca_department/bullet_blue.gif" alt="" /> <strong>' + arrURL[arrURL.length-1].replace(/_/g,' ').replace(/\.\w{3,5}$/,'') + '</strong>';
		}

		document.getElementById('breadcrumb_dynamic').innerHTML = output;  // Display the breadcrumbs
	}
}

addLoadEvent(breadcrumbs);  // Add breadcrumbs to the page onload event handler

// End of breadcrumbs javascript


///////////////////////////////////////////////////////////////////////

//// randomImage
//// Selects a random image for the homepage

function randomImage() // Random Image function
{
  var iNumImages = 5; // Number of images
  var aSource = new Array(iNumImages); // Path to the images
  var aAlttext = new Array(iNumImages); // Alt text
  var iRandomNumber = Math.floor(Math.random() * iNumImages);

  aSource = [
  "/images/homepage/hands.jpg",
  "/images/homepage/nurse.jpg",
  "/images/homepage/parent.jpg",
  "/images/homepage/people.jpg",
  "/images/homepage/sunrise_picture2.jpg",
//  "/images/home_vertical/pointLobos.jpg",
//  "/images/home_vertical/sacramento.jpg",
//  "/images/home_vertical/SF.jpg",
//  "/images/home_vertical/yosemite2.jpg",
//  "/images/home_vertical/yosemite.jpg"
  ];

  aAlttext = [
  "Hands",
  "Nurse",
  "Parent",
  "People",
  "Sunrise",
  //"Point Lobos SP, CA",
//  "Sacramento, CA",
//  "San Francisco, CA",
//  "Yosemite NP, CA",
//  "Yosemite NP, CA"
  ];
  
  if ((document.getElementById) && document.getElementById('rotating_image'))
    document.getElementById('rotating_image').innerHTML = '<img src="' + aSource[iRandomNumber] + '" alt="' + aAlttext[iRandomNumber] + '" />';
}

///////////////////////////////////////////////////////////////////////

function randomImage() // Random Image function
{
var iNumImages = 10; // Number of images
var aSource = new Array(iNumImages); // Path to the images
var aAlttext = new Array(iNumImages); // Alt text
var iRandomNumber = Math.floor(Math.random() * iNumImages);

// Enter the root-relative paths to your images
aSource = [
"/images/homepage/bubbles.jpg",
"/images/homepage/couple.jpg",
"/images/homepage/familygroup1.jpg",
"/images/homepage/kidsgroup1.jpg",
"/images/homepage/kidsgroup2.jpg",
"/images/homepage/motherdaughter.jpg",
"/images/homepage/oldercouple.jpg",
"/images/homepage/olderwomen.jpg",
"/images/homepage/smiling.jpg",
"/images/homepage/teenagers.jpg",
];

// Enter the alt tags for your images
aAlttext = [
"Bubbles",
"Couple",
"Family Group",
"Kids Group",
"Kids Group",
"Mother and Daughter",
"Older Couple",
"Older Women",
"Smiling",
"Teenagers",
];

if ((document.getElementById) && document.getElementById('random_image'))
document.getElementById('random_image').innerHTML = '<img src="' + aSource[iRandomNumber] + '" alt="' + aAlttext[iRandomNumber] + '" />';
}

addLoadEvent(randomImage); // Add randomImage to the page onload event handler

///////////////////////////////////////////////////////////////////////

/***************************
* ALTERNATING ROWS IN A TABLE  *
***************************/
/**************************************** 
*	use this to alternate row colors...                       *
*  requires CSS style definitions "even" and "odd"      *
*  call with body onload and pass the id of the table. *
****************************************/
function alternate(id){ 
	if(document.getElementsByTagName){  
		var table = document.getElementById(id);   
		var rows = table.getElementsByTagName("tr");   
		for(i = 0; i < rows.length; i++){           
			//manipulate rows 
			if(i % 2 == 0){ 
				rows[i].className = "even"; 
			} else { 
				rows[i].className = "odd"; 
			}       
		} 
	} 
}

// Carousel script

var Carousel = {
	isMouseBtnPressed: 0, // Is the mouse button being pressed?
	currentSpeed: 0, // current carousel speed
	minimumSpeed: 2, // minimum speed
	maximumSpeed: 30, // maximum speed
	hitTheBrakes: 0, // Did the user move the mouse off the arrow?
	scrollThis: null, // the "caro_images2" element
	scrolldelay: null, // timer ID

	// This function updates the position of the "caro_images2" element. It calls itself
	// recursively during movement.
	caroScroll:function (sDirection) {
		var iDirection = (sDirection == "Left") ? 1 : -1; // Left arrow moves in positive direction, right arrow negative

		if (Carousel.isMouseBtnPressed && !Carousel.hitTheBrakes) { // "!Carousel.hitTheBrakes" needed in case user clicks and drags off arrow
			Carousel.currentSpeed += iDirection; // Accelerate
			if (Math.abs(Carousel.currentSpeed) > Carousel.maximumSpeed) // Are we exceeding the speed limit?
				Carousel.currentSpeed = iDirection * Carousel.maximumSpeed; // Set speed to maximum
		} else { // mouseup or mouseout
			Carousel.currentSpeed -= iDirection; // Decelerate
			if (iDirection == 1) { // Left arrow
				if (Carousel.currentSpeed < Carousel.minimumSpeed) { // too slow?
					if (Carousel.hitTheBrakes) { // mouse out?
						Carousel.currentSpeed = 0; // come to a stop
					} else {
						Carousel.currentSpeed = Carousel.minimumSpeed; // set speed to minimum
					}
				}
			} else { // Right arrow
				if (Carousel.currentSpeed > -Carousel.minimumSpeed) { // too slow?
					if (Carousel.hitTheBrakes) { // mouse out?
						Carousel.currentSpeed = 0; // come to a stop
					} else {
						Carousel.currentSpeed = -Carousel.minimumSpeed; // set speed to minimum
					}
				}
			}
		}

		if (iDirection == 1) { // left arrow
			if (parseInt(Carousel.scrollThis.style.left) < 0) { // not at the left edge?
				updatePosition();
			} else { // we're at the left edge
				document.getElementById("caro_left").style.backgroundPosition = '-40px 0px'; // grey left arrow
			}
		} else { // right arrow
			if ( ( document.getElementById("caro_images1").offsetWidth - parseInt(Carousel.scrollThis.style.left) ) < Carousel.scrollThis.offsetWidth ) { // not at the right edge?
				// (width of container) - (position of scroller) < (full width of the content)
				updatePosition();
			} else { // we're at the right edge
				document.getElementById("caro_right").style.backgroundPosition = '-102px 0px'; // grey right arrow
			}
		}

		function updatePosition() {
			document.getElementById("caro_left").style.backgroundPosition = '-9px 0px'; // blue left arrow
			document.getElementById("caro_right").style.backgroundPosition = '-71px 0px'; // blue right arrow
			Carousel.scrollThis.style.left=parseInt(Carousel.scrollThis.style.left) + Carousel.currentSpeed + 'px'; // Update position of scrollThis
			if (Carousel.currentSpeed) {
				clearTimeout(Carousel.scrolldelay); // fix problem where user moves mouse quickly from one arrow to the other
				Carousel.scrolldelay = setTimeout('Carousel.caroScroll("' + sDirection + '")',30); // scrolls every __ milliseconds
			}
		}
	},

	// This function inserts the arrows.  It is called on page load.
	initialize:function () {
		if (document.getElementById && document.getElementById("carousel")) { // Make sure browser supports getElementById and div "carousel" exists

			// Check to see if CSS is enabled
			var elementCaroRight = document.getElementById("caro_images1");
			if (elementCaroRight.currentStyle) { // for IE
				var styleCaroRight = elementCaroRight.currentStyle["position"];
			}
			else if (window.getComputedStyle) { // for FF
				var styleCaroRight = document.defaultView.getComputedStyle(elementCaroRight,null).getPropertyValue("position");
			}
			if (styleCaroRight == "relative") { /* CSS is enabled */

				var filenameArrows = "images/Carousel/carousel.png";

				if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ // Check for IE
					var ieversion=new Number(RegExp.$1)
					if (ieversion <= 6){
						filenameArrows = "images/Carousel/carousel.gif"; // IE6 doesn't support transparent png, so use gif
					}
				}

				Carousel.scrollThis = document.getElementById("caro_images2");
				Carousel.scrollThis.style.left = "0px";

				document.getElementById("caro_images1").style.overflow="hidden"; /* Hide the scrollbars */

				document.getElementById("caro_left").style.background = 'transparent url(' + filenameArrows + ') -40px 0px no-repeat'; // left arrow starts grey
				document.getElementById("caro_left").style.width = '23px';
				document.getElementById("caro_left").style.height = '50px';

				document.getElementById("caro_right").style.background = 'transparent url(' + filenameArrows + ') -71px 0px no-repeat'; // right arrow starts blue
				document.getElementById("caro_right").style.width = '23px';
				document.getElementById("caro_right").style.height = '50px';

			}
		}
	}
}

addLoadEvent(Carousel.initialize);

// -->

