$ = new Function('x', 'return document.getElementById(x)');
var IE = (navigator.appName.indexOf("Microsoft"))==-1?false:true;

var myTime = null;

var xValueName = (navigator.appName == "Microsoft Internet Explorer")?"event.x":"e.pageX";
var yValueName = (navigator.appName == "Microsoft Internet Explorer")?"event.y":"e.pageY";
					
var xValue = null;
var yValue = null
			
obj = document.getElementById("tooltip");

var searchTime = null;  //these two are delays for the search popup boxes
var servicesTime = null;

//******************** For Image Replacement
function makeNewImage(i){
	
	//get HTML and store it in code
	var temp = document.createElement("DIV");
	temp.appendChild(i);
	var code = temp.innerHTML
	delete temp;
	
	//add block-style declration
	code = code.split(">");
	code = code[0] + " style=\"display: block; margin: 0px; padding: 0px\">";
	return code;
}

function replaceImageModel(old) {
	
	//set image attributes
	old.hspace = "0";
	old.vspace = "0";
	
	//get variables
	var imageTxt = old.getAttribute("alt");
	var imageWidth = old.width;
	var imageAlign = old.getAttribute("align");
	var imageParent = old.parentNode;
	
	
	if(imageTxt == null) {
		return;
	}
	
	if( imageAlign == "" || imageAlign == null ) imageAlign = "";
	else imageAlign = "style='float: " + imageAlign + ";'";
	
	//make new image clone (returns code from DOM)
	var imageCode = "";

	if( (""+imageParent.nodeName).toUpperCase() == "A" ) {
		imageCode = "<a href='"+imageParent.getAttribute("href")+"' target='"+imageParent.getAttribute("target")+"'>" + makeNewImage(old.cloneNode(true)) + "</a>";
	} else {
		imageCode = makeNewImage(old.cloneNode(true));
	}
	
	//generate table code
	var code = "<table width='"+(imageWidth+2)+"' class='imageTable' cellspacing='0' cellpadding='0' border='0' "+imageAlign+ ">";
	code += "<tfoot><tr><td>"+imageTxt+"</td></tr></tfoot>";
	code += "<tbody><tr><td>"+imageCode+"</td></tr></tbody>";
	code += "</table>";
	
	//wrap code in a div element to replace old image
	var div = document.createElement("DIV");
	div.innerHTML = code;
	
	//replace old image with new image (image inside a table wrapper)
	if( (""+imageParent.nodeName).toUpperCase() == "A" ) {
		imageParent.parentNode.replaceChild(div, imageParent);
	}
	else {
		imageParent.replaceChild(div, old);
	}
	
}
//End Image Replacement

//Keyword/Related Story
var keywordmanager = {
	xmlhttp:false,
	
	pages: new Array(),
	kwords: new Array(),
	
	results: new Array(),
	score: new Array(),
	
	
	
	load: function(url) {
		this.getkeywords();
		
		if(IE) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		else this.xmlhttp = new XMLHttpRequest();
		
		if(this.xmlhttp) {
			this.xmlhttp.onreadystatechange = keywordmanager.handler;
			this.xmlhttp.open("GET",url,true);
			this.xmlhttp.send(null);
			
		}
	},
	
	getkeywords: function() {
		var meta = document.getElementsByTagName("meta");
		for( var i=0; i<meta.length; i++) {
			if(meta[i].getAttribute("name") == "keywords") {
				var text = meta[i].getAttribute("content").replace(/\s,/g, ",");
				text = text.replace(/,\s/g, ",");
				text = text.toLowerCase();
				this.kwords = text.split(",");
				break;
			}
		}
	},
	
	find: function(kw) {
		
		var results = new Array();
		var thisurl = ""+document.location.pathname;
		
		for( var i=0; i<this.pages.length; i++) {
			if(("" + this.pages[i].getAttribute('url')) == thisurl ) {
				continue;
			}
			
			
			var thiskw = ("" + this.pages[i].getAttribute('keywords')).toLowerCase();
			var thistitle = ("" + this.pages[i].getAttribute('title')).toLowerCase();

			if(thiskw.indexOf(kw) != -1) {
				if( this.score[this.pages[i].getAttribute("url")] == undefined) {
					results.push( {url:""+this.pages[i].getAttribute("url"), title:""+this.pages[i].getAttribute("title")});
					this.score[this.pages[i].getAttribute("url")] = 1;
				} else {
					this.score[this.pages[i].getAttribute("url")] += 1;
				}
			} else {
			}
			
			if(thistitle.indexOf(kw) != -1) {
				if( this.score[this.pages[i].getAttribute("url")] == undefined) {
					results.push( {url:""+this.pages[i].getAttribute("url"), title:""+this.pages[i].getAttribute("title")});
					this.score[this.pages[i].getAttribute("url")] = 0.5;
				} else {
					
					this.score[this.pages[i].getAttribute("url")] += 0.5;
				}
			}
		}
		
		if( results.length > 0) return results;
		else return new Array();
	},
	
	handler: function() {
		if(keywordmanager.xmlhttp.readyState==4 && keywordmanager.xmlhttp.status==200) {
			var pagesall = new Array();
			for( var i=0;i<keywordmanager.xmlhttp.responseXML.childNodes.length; i++) {
				if(keywordmanager.xmlhttp.responseXML.childNodes[i].nodeName == "site") { 
					pagesall = keywordmanager.xmlhttp.responseXML.childNodes[i].childNodes;
					break;
				}
				
			}
	
			for( var i=0; i <pagesall.length; i++) {
				if(pagesall[i].nodeType == 1) {
					if(pagesall[i].nodeName == "page"){
						keywordmanager.pages.push(pagesall[i]);
					}
				} else {	
				}
			}

			for( var i=0;i<keywordmanager.kwords.length; i++) {
				keywordmanager.results = keywordmanager.results.concat(keywordmanager.find(keywordmanager.kwords[i]));
			}
			keywordmanager.results.sort(keywordmanager.sort);
			
		
			$('keypageresult').innerHTML = "<b>"+keywordmanager.kwords+"</b><br/>";
			for( var i=0;i<keywordmanager.results.length && i<5; i++) {
				$('keypageresult').innerHTML += "<a href=\""+keywordmanager.results[i].url+"\" title=\""+keywordmanager.score[keywordmanager.results[i].url]+"\">"+keywordmanager.results[i].title + "</a><br/>";
			}
		}
	},
	
	sort: function(a,b){
		if(keywordmanager.score[a.url] > keywordmanager.score[b.url]) return -1;
		if(keywordmanager.score[a.url] < keywordmanager.score[b.url]) return 1;
		else return 0;
	}
}

//info hiding
function togmenuitem(o) {
	var n = o.parentNode;
	if( n.nodeName == "CMIGNORE" ) {
	 n=n.parentNode;
	}
	n = n.nextSibling;
	if( n.nodeType == 3 ) n = n.nextSibling;
	if( n.style.display == "block") {
		n.style.display = "none";
		o.innerHTML = "read more";
	} 
	else {
		n.style.display = "block";
		o.innerHTML = "close";
	}
	
}
//End info hiding

function showSearchMenu(theID){ 
	if( theID == "searchMenuPopup") {
		clearTimeout(searchTime);
		document.getElementById("servicesMenuPopup").style.visibility = "hidden";
		document.getElementById(theID).style.visibility = "visible";
	}
	if( theID == "servicesMenuPopup") {
		 clearTimeout(servicesTime);
		 clearTimeout(searchTime);
		 document.getElementById("searchMenuPopup").style.visibility = "visible";
		 document.getElementById(theID).style.visibility = "visible";
	}
	
}

function hideSearchMenu(theID){
	if( theID == "searchMenuPopup") {
		searchTime = setTimeout("document.getElementById('"+theID+"').style.visibility = 'hidden'", 500);
	}
	if( theID == "servicesMenuPopup") {
		 searchTime = setTimeout("document.getElementById('searchMenuPopup').style.visibility = 'hidden'", 500);
		 servicesTime = setTimeout("document.getElementById('"+theID+"').style.visibility = 'hidden'", 500);
		 
	}
}

function setText(text, collection) { // sets the text in the search box when clicked
	obj = document.getElementById("searchText");
	obj.innerHTML = text;
	clearTimeout(servicesTime);
	clearTimeout(searchTime);
	document.getElementById('Collection').value = collection;
	document.getElementById('searchMenuPopup').style.visibility = 'hidden';
	document.getElementById('servicesMenuPopup').style.visibility = 'hidden';
	//add more search code here
}
					
function track(e){
	obj = document.getElementById("tooltip");
				
	var xValue = eval(xValueName);
	var yValue = eval(yValueName);
	xValue += 15;
	yValue += 3;
	
	var theWidth = (navigator.appName == "Microsoft Internet Explorer")?"document.body.clientWidth":"document.width";
	
	if( xValue + 160 > eval(theWidth) ) xValue -= 160;
				
	obj.style.top = yValue + "px";
	obj.style.left = xValue + "px";
}

function tt_popup() {
		recolor();
		clearTimeout( myTime );
		document.onmousemove = track;
		obj = document.getElementById("tooltip");
		var objtext = document.getElementById("tiptext");
		var code = "<table width='100%' cellpadding='0' cellspacing='0'>";
		if( tt_popup.arguments[1] ) {
			stylecode = "background-color: #5688b1; color: #ffffff; font-family: verdana, arial, sans-serif; font-size: 11px; font-weight: bold; padding: 2px";
			code += "<tr><td style='"+stylecode+"'>" + tt_popup.arguments[1] + "</td></tr>";
		}
		var stylecode = "<tr><td style='font-family: verdana, arial, sans-serif; font-size: 10px; padding: 2px'>";
		code += stylecode + tt_popup.arguments[0] + "</td></tr></table>";
		objtext.innerHTML = code;
						
		setTimeout( "obj.style.visibility = \"visible\"; document.onmousemove='';", 1000);
		myTime = setTimeout( "tt_hide()", 200*(tt_popup.arguments[0].length) + 4000);
	}
	
	function uncolor() {
		var tble = document.getElementById("tooltiptable");
		tble.style.backgroundColor = "transparent";
		tble.style.border = "0px none #5688b1";
	}
	
	function recolor() {
		var tble = document.getElementById("tooltiptable");
		tble.style.backgroundColor = "#cad9e5";
		tble.style.border = "1px solid #5688b1";
	}
					
	function tt_hide(){
		clearTimeout( myTime );
		document.getElementById("tooltip").style.visibility = "hidden";
		document.getElementById("tiptext").innerHTML = "";
		
		document.onmousemove = "";
		uncolor();
	}			

function toggle( id ) {
	
	var obj = document.getElementById( id );
	var objLink = document.getElementById( id+'Link');
	var objImg = document.getElementById( id+'Img');
	
	var browser = navigator.appName;
	var displayShow = "table-row";
	
	if( browser == "Microsoft Internet Explorer") {
		displayShow = "block";
	}
	
	if( obj.style.display == 'none' || obj.style.display == '') { //esta abierta
		obj.style.display =  displayShow;
		objLink.style.borderBottomWidth = '0px';
		objImg.src = "/images/minus.gif";
	}
	else { //esta cerrada
		obj.style.display = 'none';
		objLink.style.borderBottomWidth = '1px'
		objImg.src="/images/plus.gif";
	}

}

function toggle2( id ) {
	toggle( id );
	document.getElementById( id +'Link').style.borderBottomWidth = '0px';
}

function getName(name){ // removes the extention e.g. removes the '.aspx' from 'index.aspx'
	var temp = name.split(".");
	return temp[0];
}

function highlight(ida){
	var objT = document.getElementById(ida);
	
	objT.style.backgroundColor = "#5788B1";
	objT.style.borderColor = "#6d899a";
	objT.style.color = "#ffffff";
	
	
}
//New Nav functionality
function make_new_nav() {
	var div_left = document.getElementById("left");
	var li_s = div_left.getElementsByTagName("li");
	
	for( var i=0; i<li_s.length; i++) {
		if(li_s[i].getElementsByTagName("ul").length > 0) {
			var a_s = li_s[i].getElementsByTagName("a")[0];
			var newid = "leftnavlink"+i;
			var oldid = a_s.getAttribute("id");
			if(oldid) newid = oldid;
			else a_s.setAttribute("id",newid);
			
			a_s.href = "javascript:open_new_nav('"+newid+"')";	
			a_s.className = "closed"
		}
	}
}

function open_new_nav(a_s) {
	var a_s = document.getElementById(a_s);
	var padre = a_s.parentNode;
	var ul_tag = padre.getElementsByTagName("ul")[0];
	if(ul_tag.style.display == "block") {
		ul_tag.style.display = "none";
		a_s.className = "closed";
		
	} else {
		ul_tag.style.display = "block";
		a_s.className = "open";
	}
	//adjust_design_height();
}

//end new nav functions
function openMenu() {
	make_new_nav();
	var webURL = (""+document.location).substr(7);
	
	/*hoam = document.getElementById("home");
	hoam.style.backgroundColor = "#f2f2f2";
	hoam.style.borderColor = "#b5b5b5";
	hoam.style.color = "#000000";*/
	
	if(webURL.substring(0,3)=="cms"){
		webURL = webURL.substr(webURL.search(/wwwroot/i));
	}
	
	var folders = webURL.split("/");
	
	switch(folders[1]) {
	case 'overview':
	open_new_nav('tasbOverview');
		switch( getName(folders[2])) {
		case 'membership':
		open_new_nav('to-member');
		break;
		
		case 'governance':
		open_new_nav('governance');
		break;
		
		case 'careers':
		open_new_nav('careers');
		break;

		case 'contacts':
			open_new_nav('contactus');
			break;
		
		case 'mission':
			open_new_nav('to-missionval');
			break;
		}
		break;
	
	case 'governance':
		open_new_nav('goodgov');
		break;
	
	case 'schools':
		open_new_nav('supportSchools');
		break;
	
	case 'issues':
	open_new_nav('theIssues');
		switch(getName(folders[2])){
			case 'advocacy_agenda':
				open_new_nav('advAgenda');
				break;
			
			case 'legislative':
				open_new_nav('legInfo');
				break;
				
			case 'resource_center':
				open_new_nav('resourceCen');
				break;
				
			case 'sban':
				open_new_nav('sban');
				break;
		}
		break;
	
	case 'services':
	open_new_nav('services');
		switch(getName(folders[2])) {	
			case 'childcare':
				open_new_nav('childCare');
				break; //End chilcare
			
			case 'communications':
				open_new_nav('comm');
				break; //End communications
			
			case 'cooperative_purchasing':
				open_new_nav('coop');
				break;
				
			case 'boardbook':
				open_new_nav('meetingprep');
				break;
				
			case 'electricity_aggregation':
				open_new_nav('elect');
				break;
				
			case 'environmental':
				open_new_nav('environ');
				break;
			
			case 'financial':
				open_new_nav('financeM');
				break;
			
			case 'gr':
				open_new_nav('grelate');
				break;
			
			case 'hr_services':
				open_new_nav('hrs');
				break;
			
			case 'lts':
				open_new_nav('lts');
				break;
			
			case 'legal':
				open_new_nav('legal');
				break;
			
			case 'medicaid':
				open_new_nav('medicaid');
				break;
			
			case 'parent':
				open_new_nav('parenting');
				break;
			
			case 'policy':
				open_new_nav('policy');
				break;
			
			case 'risk':
				open_new_nav('riskma');
				break;
			
			case 'safety':
				open_new_nav('ssafety');
				break;
			
			case 'field':
				open_new_nav('progSupp');
				break;
		}
		break;
	
	case 'training':
	open_new_nav('training');
		switch(getName(folders[2])){
			case 'events':
			open_new_nav('trainingEvents');
			break;
			
			case 'training':
					open_new_nav('trainingSub');
			break;
			
			case 'cec':
			open_new_nav('cecrs');
			break;
			
			case 'resources':
			open_new_nav('trainResources');
			break;
		}
	break;
	
	case 'news':
	open_new_nav('newsPress');
	break;
		
	
	case 'related':
	open_new_nav('relatedSitesLink');
	break;
	
	default:
	break;
	}
	
	//Dynamic image replacement function call a.k. DIIP. put 'diip-' infront of file name to work
	if( document.images ) {
		for( var i=0; i<document.images.length; i++) {
			var temp = (document.images[i].src).split("/");
			temp = (temp[temp.length-1]).substr(0, 5);
			if( temp == "diip-") {
				replaceImageModel(document.images[i]);
			}
		}
	}	
}

function openmyurl(url) {
		window.open(url,'newWindow',"toolbar=yes,directories=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes");
		
}

function AddHomePageFlashAds() {
	ad = new Array();
	ad[0] = 'images/thinktasb.swf';
	ad[1] = 'images/thinktasb.swf';

	rnum = Math.floor(Math.random()*ad.length);
    rnum = 0;
	
	/*	var code =  '';
			code += '<TABLE WIDTH=203 BORDER=0 CELLPADDING=0 CELLSPACING=0 style="border: 1px #000000 solid; cursor: pointer"><TR><TD>';
			code += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="203" height="203" style="cursor: pointer" VIEWASTEXT>';
			code += '<param name="movie" value="'+ad[rnum]+'">';
			code += '<param name="quality" value="high">';
			code += '<param name="menu" value="0">';
			code += '<param name="wmode" value="opaque">';
			code += '<embed src="'+ad[rnum]+'" quality="high" menu="0" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque" type="application/x-shockwave-flash" width="203" height="203"></embed></object>';
			code += '</TD></TR></TABLE></a>';*/

	switch( rnum ){

	case 0:
	case 1:
			code =  '<a href="http://www.tasb.org/ads/thinktasb.html" onMouseDown="openmyurl(\'http://www.tasb.org/ads/thinktasb.html\')" style="cursor: pointer">'
			code += '<TABLE WIDTH=203 BORDER=0 CELLPADDING=0 CELLSPACING=0 style="border: 1px #000000 solid; cursor: pointer"><TR><TD>';
			code += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="203" height="203" style="cursor: pointer" VIEWASTEXT>';
			code += '<param name="movie" value="'+ad[rnum]+'">';
			code += '<param name="quality" value="high">';
			code += '<param name="menu" value="0">';
			code += '<param name="wmode" value="opaque">';
			code += '<embed src="'+ad[rnum]+'" quality="high" menu="0" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque" type="application/x-shockwave-flash" width="203" height="203"></embed></object>';
			code += '</TD></TR></TABLE></a>';
		break;
	}
	document.write ( code  );
}


function AddLowResFlashNews() {
    var code =  '<table ID="Table1" cellpadding=0 cellspacing=0 border=0>'
	code += '<tr><td><b>News:</b></td>';
	code += '<td style="padding-top:2px;padding-left:2px;">';
	code += '<div  style="display: block; width: 280; height: 16; overflow: hidden">';
    code += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="280" height="16" ID="Shockwaveflash1" VIEWASTEXT>';
   	code += '<param name="movie" value="news_ticker1.swf">';
	code += '<param name="quality" value="high">';
    code += '<param name="menu" value="0">';
	code += '<param name="wmode" value="opaque">';
	code += '<param name="SCALE" value="noscale">';
    code += '<embed src="news_ticker1.swf" width="280" height="16" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="0" scale="noborder" wmode="opaque"></embed>';
 	code += '</object></div></td></tr>';
	code += '</table>';
	document.write ( code  );
	
}

function AddFlashNews(fwidth) {
	if(fwidth == undefined) fwidth = 270;
    var code =  '<div align="right" style="float: right; display: block; width: '+fwidth+'px; height: 16px; overflow: hidden">'
	code += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+fwidth+'" height="16" >';
	code += '<param name="movie" value="includes/news_ticker.swf">';
	code += '<param name="quality" value="high">';
    code += '<param name="SCALE" value="noscale">';
	code += '<param name="wmode" value="opaque">';
	code += '<embed src="news_ticker.swf" width="'+fwidth+'" height="16" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="noborder" wmode="opaque"></embed></object>';
	code += '</div>';
	document.write ( code  );
}

function getDate()
{
    var curdate = new Date()
    var year = curdate.getYear()
    document.write(year)
}

function loadXMLDoc(url) {
	var xmldoc;
	var safariblock = !(( (""+navigator.userAgent).toLowerCase().indexOf("safari")!=-1)?true:false);
	
	if(window.ActiveXObject && safariblock) {
		xmldoc = new ActiveXObject("Microsoft.XMLDOM");
	} else if((document.implementation && document.implementation.createDocument) && safariblock) {
		xmldoc = document.implementation.createDocument("","",null);
	}
	else { return false ;}
	
	xmldoc.async = false;
	xmldoc.load(url);
	return xmldoc;
}

function returnxhtml(xml,xsl) {
	var xhtml = "<p>Subscribe to the <a href='feeds/top_stories.xml' target='_blank'>RSS feed</a> to get education news updates from around the Nation and Texas.</p>";
	var safariblock = !(( (""+navigator.userAgent).toLowerCase().indexOf("safari")!=-1)?true:false);
	
	if(window.ActiveXObject && safariblock) {
		xhtml = xml.transformNode(xsl);
	} else if(document.implementation && document.implementation.createDocument && safariblock) {
		var xslProc = new XSLTProcessor();
		xslProc.importStylesheet(xsl);
		xhtml = xslProc.transformToFragment(xml,document);
		var div = document.createElement("div");
		div.appendChild(xhtml);
		xhtml = div.innerHTML;
		xhtml = xhtml.split("&amp;").join("&");
		xhtml = xhtml.split("&lt;").join("<");
		xhtml = xhtml.split("&gt;").join(">");
	} else {
		xhtml = "<p>Subscribe to the <a href='feeds/top_stories.xml' target='_blank'>RSS feed</a> to get education news updates from around the Nation and Texas.</p>";
		
	}
	
	return xhtml;
}
