
var site_root = 'http://www.tpscongress.org/';


//	Browser detection
var w3c = (document.getElementById) ? true : false;
var ie = (document.all && w3c) ? true : false;
var ie7 = (document.all && document.getElementById && window.XMLHttpRequest) ? true : false;
var ie6 = (ie && !ie7) ? true : false;
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;


/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();



// Styles applied by JavaScript before the page loads
//swfobject.createCSS('#subMenu', 'visibility: visible;');
// End styles applied by JavaScript before the page loads


// Flash content control.
//pages_with_flash[X] = new Array(['sitewide' or 'unique url string'],['something.swf'],[height],[width],['elementID']);
var pages_with_flash = new Array();
pages_with_flash.push(new Array('sitewide','voting.swf?' + location.search.substring(1),380,560,'flashVote'));
pages_with_flash.push(new Array('sitewide','cocIntro.swf',230,800,'introDiv'));
pages_with_flash.push(new Array('sitewide','vc_overview.swf',315,362,'vcOverview'));
pages_with_flash.push(new Array('sitewide','vc_howto.swf',315,362,'vcHowTo'));

// Page elements declared for global use
var body_tag;
var mother_div;
var banner_div;
var content_div;
var menu_div;
var footer_div;

function init() {
	body_tag = document.getElementsByTagName('BODY')[0];
	mother_div = document.getElementById('mother');
	banner_div = document.getElementById('banner');
	content_div = document.getElementById('content');
	menu_div = document.getElementById('menu');
	footer_div = document.getElementById('footer');
	
	//var playerVersion = swfobject.getFlashPlayerVersion(); // returns a JavaScript object
	//var majorVersion = playerVersion.major; // access the major, minor and release version numbers via their respective properties
	
	if (swfobject.hasFlashPlayerVersion("8")) {
		runFlash();
	}
	
	setLinks();
	
	makeWindowSashes();
	
	closeWinButton();
	
	setUpTips();
	
	registerAvatar();
	
	summonAll();
	
	groupManager();
	
	completeButton();
	
	submitOnSelects();
}

if (w3c) { 
	//window.onload=init;
	swfobject.addDomLoadEvent(init);
}


function submitOnSelects() {
	var group_select = document.getElementById('gid');
	var theme_select = document.getElementById('tid');
	var g_t_form = document.getElementById('groupThemeForm');
	
	if (group_select && theme_select && g_t_form) {
		group_select.onchange = function() {
			if (theme_select.value != 0 && this.value != 0) {
				g_t_form.submit();
			}
		}
		theme_select.onchange = function() {
			if (group_select.value != 0 && this.value != 0) {
				g_t_form.submit();
			}
		}
	}
}







function completeButton() {
	var gw_table = document.getElementById('gradeWorkTable');
	
	if (gw_table) {
		var text1 = 'Completed';
		var text2 = 'Ready to Grade';
	
		function rotateText(elem) {
			if (elem.innerHTML == text1) {
				elem.innerHTML = text2;
			} else {
				elem.innerHTML = text1;
			}
			setTimeout(function() { rotateText(elem) }, 2000);
		}
		
		all_links = gw_table.getElementsByTagName('A');
		for (var i=0; i<all_links.length; i++) {
			if (all_links[i].className.indexOf('completed') != -1) {
				rotateText(all_links[i]);
			}
		}
	}
	
	
}





function groupManager() {
	//getElementsByClassName(className, tag, elm)
	var group_info_divs = getElementsByClassName('groupInfo', 'div');
	var gid_len = group_info_divs.length;
	
	if (gid_len > 0) {
		function toggleTable(h3_elm) {
			if (h3_elm.assoc_div.style.display == 'none') {
				 h3_elm.assoc_div.style.display = 'block';
				 h3_elm.assoc_span.style.visibility = 'hidden';
				 h3_elm.style.backgroundPosition = '0% -86px';
			} else {
				 h3_elm.assoc_div.style.display = 'none';
				 h3_elm.assoc_span.style.visibility = 'visible';
				 h3_elm.style.backgroundPosition = 'left top';
			}
		
		}
		for (var i=0; i<gid_len; i++) {
			var curr_table_div = getElementsByClassName('manageGroupsTable', 'div', group_info_divs[i])[0];
			curr_table_div.style.display = 'none';
			var hide_table_p = document.createElement('p');
			var hide_table_text = document.createTextNode('\- Hide Students');
			hide_table_p.appendChild(hide_table_text);
			hide_table_p.assoc_h3 = group_info_divs[i].getElementsByTagName('H3')[0];
			hide_table_p.onclick = function () {
				toggleTable(this.assoc_h3);
			}
			curr_table_div.appendChild(hide_table_p);
			
			var curr_h3 = group_info_divs[i].getElementsByTagName('H3')[0];
			curr_h3.style.cursor = 'pointer';
			curr_h3.assoc_div = curr_table_div;
			
			var h3_span = document.createElement('span');
			var h3_span_text = document.createTextNode('\+ Show Students');
			h3_span.appendChild(h3_span_text);
			curr_h3.appendChild(h3_span);
			
			curr_h3.assoc_span = h3_span;
			
			curr_h3.onclick = function() {
				toggleTable(this);
			}
		}
	}
}





function summonAll() {
	
	var summon_all_div = document.getElementById('summonList');
	
	if (summon_all_div) {
		var summon_all_ul = summon_all_div.getElementsByTagName('UL')[0];
		var summon_all_inputs = summon_all_ul.getElementsByTagName('INPUT');
		
		var sel_all_p = document.createElement('p');
		var sel_all_input = document.createElement('input');
		var sel_all_label = document.createElement('label');
		var sel_all_text = document.createTextNode(' Select All');
		
		sel_all_p.className = 'selectAll';
		
		sel_all_input.type = 'checkbox';
		sel_all_input.id = 'selectAll';
		
		sel_all_label.htmlFor = 'selectAll';
		
		sel_all_label.appendChild(sel_all_text);
		sel_all_p.appendChild(sel_all_input);
		sel_all_p.appendChild(sel_all_label);
		
		sel_all_input.onchange = function() {
			for (var i=0; i<summon_all_inputs.length; i++) {
				 summon_all_inputs[i].checked = this.checked;
			}
		}
		sel_all_label.onclick = function() {
			body_tag.focus();
		}
		sel_all_input.onclick  = function() {
			body_tag.focus();
		}
		
		summon_all_div.insertBefore(sel_all_p, summon_all_div.firstChild);
	}
}




function registerAvatar() {
	
	var avatar_reg_butts = document.getElementById('createAvatarButtons');
	var avatar_form = document.getElementById('createAvatarForm');
	
	if (avatar_reg_butts && avatar_form) {
		
		var indicator_strong = document.createElement('strong');
		var indicator_text = document.createTextNode(' Sending avatar information. One moment please.');
		indicator_strong.appendChild(indicator_text);
		
		var indicator_img = document.createElement('img');
		indicator_img.src = '../images/loadinfo.gif';
		indicator_img.style.verticalAlign = 'middle';
		
		avatar_form.onsubmit = function() {
			
			avatar_reg_butts.parentNode.insertBefore(indicator_strong, avatar_reg_butts);
			indicator_strong.parentNode.insertBefore(indicator_img, indicator_strong);
			avatar_reg_butts.style.visibility = 'hidden';
			
		}
	}
}






function setUpTips() {
	//var tip_divs = getElementsByClassName('tip');
	var all_divs = document.getElementsByTagName('DIV');
	
	
	for (var i=0; i<all_divs.length; i++) {
		if (all_divs[i].className == 'tip') {
			all_divs[i].className = 'tipSpecial';
			all_sub_divs = all_divs[i].getElementsByTagName('DIV');
			for (var n=0; n<all_sub_divs.length; n++) {
				if (all_sub_divs[n].className == 'tipContent') {
					all_divs[i].assoc_content = all_sub_divs[n];
				}
				if (all_sub_divs[n].className == 'inner') {
					all_divs[i].assoc_inner = all_sub_divs[n];
				}
			}
			
			
			var close_img = document.createElement('img');
			close_img.src = '/images/close_tip.gif';
			close_img.className = 'picRight';
			close_img.style.cursor = 'pointer';
			/*close_img.assoc_content = tip_divs[i].assoc_content;
			
			close_img.onclick = function(e) {
				
				this.assoc_content.style.display = 'none';
				
				if (!e) var e = window.event;
				e.cancelBubble = true;
				if (e.stopPropagation) e.stopPropagation();
				return false;
			}*/
			
			
			all_divs[i].assoc_inner.insertBefore(close_img, all_divs[i].assoc_inner.firstChild);
			
			all_divs[i].onclick = function() {
				if (this.assoc_content.style.display == 'block') {
					this.assoc_content.style.display = 'none';
					
				} else {
					this.assoc_content.style.display = 'block';
				}
				
			}
		}		
	}
}



function closeWinButton() {
	//alert('window.opener = ' + window.opener);
	
	var close_win_pages = new Array();
	// url_str, parent_elm, append_to_elm
	close_win_pages.push(new Array('efolder', mother_div, content_div));
	close_win_pages.push(new Array('vc_howto', body_tag, body_tag.firstChild));
	close_win_pages.push(new Array('vc_overview', body_tag, body_tag.firstChild));
	close_win_pages.push(new Array('vc_time', body_tag, body_tag.firstChild));
	
	
	for (var i=0; i<close_win_pages.length; i++) {
		var loc = location.href.toString();
		loc.toLowerCase();
		if (loc.indexOf(close_win_pages[i][0]) != -1 && window.opener) {
			//alert('Is eFolder!');
			var close_p = document.createElement('P');
			close_p.className = 'closeWin';
			var close_text = document.createTextNode('Close');
			
			close_p.appendChild(close_text);
			
			close_p.onclick = function() {
				top.close();						  
			}
;
			close_win_pages[i][1].insertBefore(close_p, close_win_pages[i][2]);
			
		}
	}
	
}




function makeWindowSashes() {
	var sash_elements = getElementsByClassName('windowSash');
	var show_text = 'Show This';
	var hide_text = 'Hide This';
	
	for (var i=0; i<sash_elements.length; i++) {
		
		// create a hide/show p
		//var hide_this_p = document.createElement('P');
		var hide_this_p = document.createElement('SPAN');
		hide_this_p.className = 'hideThis';
		var hide_this_text = document.createTextNode(hide_text);
		hide_this_p.appendChild(hide_this_text);
		
		// Create new div to hold info
		hide_this_p.info_div = document.createElement('DIV');
		
		// Find "lead" element
		var element_1;
		for (var z=0; z<sash_elements[i].childNodes.length; z++) {
			//alert(sash_elements[i].childNodes[z].nodeType);
			if (sash_elements[i].childNodes[z].nodeType == 1) {
				element_1 = sash_elements[i].childNodes[z];
				break;
			}
		}
		
		
		// Remove and replace into info div all but first tag
		//var init_first_child = sash_elements[i].childNodes[0];
		while(sash_elements[i].hasChildNodes()) {
			if (sash_elements[i].lastChild != element_1) {
				var elm = sash_elements[i].removeChild(sash_elements[i].lastChild);
				hide_this_p.info_div.insertBefore(elm, hide_this_p.info_div.firstChild);
				//hide_this_p.info_div.appendChild(elm);
			} else {
				break;
			}
			
		}
		
		// Append info div to sash_element
		sash_elements[i].appendChild(hide_this_p.info_div);

		// Set onclick		
		hide_this_p.onclick = function() {
			if (this.info_div.style.display == 'none') {
				this.info_div.style.display = 'block';
				this.innerHTML = hide_text;
				
			} else {
				this.info_div.style.display = 'none';
				this.innerHTML = show_text;
			}
		}
		
		// Append hide_this_p to sash_element
		//sash_elements[i].appendChild(hide_this_p);
		element_1.appendChild(hide_this_p);
	}
}

function searchBox(the_input) {
	var search_box = document.getElementById(the_input);
	var search_msg;
	if (search_box) {
		search_msg = search_box.value;
		search_box.onfocus = function() {
			if (this.value == search_msg) {
				this.value = '';
			}
		}
		search_box.onblur = function() {
			if (this.value == '') {
				this.value = search_msg;
			}
		}
	}
}



// AJAX Functions
var XMLHttpFactories = [
	function() { return new XMLHttpRequest() },
	function() { return new ActiveXObject("Msxml2.XMLHTTP") },
	function() { return new ActiveXObject("Msxml3.XMLHTTP") },
	function() { return new ActiveXObject("Microsoft.XMLHTTP") }
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var aa=0; aa<XMLHttpFactories.length; aa++) {
		try {
			xmlhttp = XMLHttpFactories[aa]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

// POST: sendRequest(site_root+'actions/movie.complete.php', trackMovieHandler, search_str);
// GET:  sendRequest(site_root+'actions/movie.complete.php?'+search_str, trackMovieHandler);
function sendRequest(url, callback, postData) {
	
	var req = createXMLHTTPObject();
	if (!req) return;
	
	var method = (postData) ? 'POST' : 'GET';
	req.open(method, url, true);
	req.setRequestHeader('User-Agent','XMLHTTP');
	if (postData) {
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		req.setRequestHeader('Content-length', postData.length);
		req.setRequestHeader('Connection', "close");
	}
	req.onreadystatechange = function() {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

function handleRequest(req) {
	//var returnXML = req.reponseXML;
	var returnText = req.responseText;
	
	if (returnText != 'false') {
		top.location.href = returnText;
	} else {
		return;
	}
}









function setLinks() {
	//OpeningPDF
	var elements = new Array();
	elements.push(document.getElementsByTagName('A'), document.getElementsByTagName('AREA'));
	
	for (var aa=0; aa<elements.length; aa++) {
		for (var bb=0; bb<elements[aa].length; bb++) {
			
			if (elements[aa][bb].target.toLowerCase() == 'efolio') {
				elements[aa][bb].onclick = function () {
					link_string = this.toString();
					popupWindow(this, this.target, 'status=yes,scrollbars=yes,resizable=yes,width=785,height=520');
					return false;
				}
			}
			if (elements[aa][bb].target.toLowerCase() == 'htmllink') {
				elements[aa][bb].onclick = function () {
					link_string = this.toString();
					popupWindow(this, this.target, 'status=yes,scrollbars=yes,resizable=yes,width=785,height=520');
					return false;
				}
			}
			if (elements[aa][bb].target.toLowerCase() == 'introvid') {
				elements[aa][bb].onclick = function () {
					link_string = this.toString();
					popupWindow(this, this.target, 'status=yes,scrollbars=no,resizable=no,width=582,height=340');
					return false;
				}
			}
			if (elements[aa][bb].target.toLowerCase() == 'vctime') {
				elements[aa][bb].onclick = function () {
					link_string = this.toString();
					popupWindow(this, this.target, 'status=yes,scrollbars=no,resizable=no,width=382,height=340');
					return false;
				}
			}
		}
	}
}


var pdf_loaded = false;
function loadPDF() {
	var pdf_page = document.getElementById('pdfPage');
	if (pdf_loaded == true) {
		location.href = location.search.substr(1);
	}
	if (pdf_page && pdf_loaded == false) {
		pdf_loaded = true;
		setTimeout('loadPDF()',1500);
	}
}

//	Popup window code
var page_position = (parseInt(navigator.appVersion) > 3) ? 'left=0,top=0,screenX=0,screenY=0,' : "";
var popup_features = 'menubar=yes,status=yes,toolbar=yes,scrollbars=yes,resizable=yes,width=785,height=480';

function popupWindow(url, target, features) {
	if (isUndefined(features)) {
		features = popup_features;
	}
	if (isUndefined(target)) {
		target = '_blank';
	}
	var the_window = window.open(url, target, page_position+features);
	the_window.focus();
	return the_window;
}

function linkPopup(src, features) {
	return popupWindow(src.getAttribute('href'),src.getAttribute('target') || '_blank',features);
}//	End Popup window code

//	Utility function [currently used in popupWindow()]
function isUndefined(v) { 
	//	Returns true if [v] is not defined, false otherwise
	//	IE 5.0 does not support the undefined keyword, so we cannot 
	//	do a direct comparison such as v===undefined.
	var undef;
	return v===undef;
}




function ieHoverHelper(parent_id, hover_element, class_name) {
	if (ie6) {
		var rollies = document.getElementById(parent_id).getElementsByTagName(hover_element);
		
		for (aa=0; aa<rollies.length; aa++) {

			rollies[aa].onmouseenter = function() {
				if (this.className == '') {
					this.className = class_name;
				} else {
					this.className = class_name +  ' ' + this.className;
				}
			}
			rollies[aa].onmouseleave = function() {
				if (this.className == class_name) {
					this.className = '';
				} else {
					str = class_name+' ';
					if (this.className.indexOf(str) != -1) {
						remove_class = this.className.split(str);
						this.className = remove_class[1];
					}
				}
			}
		}
	}
}



function runFlash() {

	var this_url = location.href;
	var swf_url;
	var swf_name;
	var swf_height;
	var swf_width;
	var swf_element_id;
	var swf_element;
	
	for (var aa=0; aa<pages_with_flash.length; aa++) {
		
		swf_url = pages_with_flash[aa][0];
		swf_name = pages_with_flash[aa][1];
		swf_height = pages_with_flash[aa][2];
		swf_width = pages_with_flash[aa][3];
		swf_element_id = pages_with_flash[aa][4];
		swf_element = document.getElementById(swf_element_id);
		
		if ((this_url.indexOf(swf_url) != -1  || swf_url == 'sitewide') && swf_element) {
			
			swf_element.style.height = swf_height + 'px';
			swf_element.style.width = swf_width + 'px';
			insertFlash(swf_name,swf_height,swf_width,swf_element_id);
			
		}
	}
}



var the_ua = navigator.userAgent.toLowerCase();
var web_kit = /webkit/.test(the_ua) ? parseFloat(the_ua.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false;

//	This function returns the <object> and <embed> tags in variable [oeTags]
function insertFlash(the_swf,the_height,the_width,the_container) {
	var flashTag;
	var container_elem = document.getElementById(the_container);
	var flash_params = { 
		play:'true', 
		quality:'high', 
		scale:'noscale', 
		menu:'false', 
		salign:'lt', 
		wmode:'opaque', 
		//bgcolor:'#fff',
		type:'application/x-shockwave-flash'
		}
		
	
	if (isIE && isWin) {
		//+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
		flashTag = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+the_width+'" height="'+the_height+'">';
		flashTag += '<param name="movie" value="'+ the_swf +'" />';
		
		for (var i in flash_params) {
			if (i != 'type') {
				flashTag += '<param name="'+ i +'" value="'+ flash_params[i] +'" />';
			}
		}
		
		flashTag += '</object>';
		
		container_elem.innerHTML = flashTag;
		
	} else if (web_kit && web_kit < 312) {
		var flash_object = document.createElement('embed');
		flash_object.setAttribute('src', the_swf);
		flash_object.setAttribute('height', the_height);
		flash_object.setAttribute('width', the_width);
		
		for (var i in flash_params) {
			flash_object.setAttribute(i, flash_params[i]);
		}
		
		while(container_elem.hasChildNodes()) {
			container_elem.removeChild(container_elem.lastChild);
		}
		container_elem.appendChild(flash_object);
		
	} else {
		var flash_object = document.createElement('object');
		flash_object.setAttribute('data', the_swf);
		flash_object.setAttribute('height', the_height);
		flash_object.setAttribute('width', the_width);
		
		//flash_params.src = the_swf;
		
		for (var i in flash_params) {
			var flash_param = document.createElement('param');
			flash_param.setAttribute('name', i);	
			flash_param.setAttribute('value', flash_params[i]);
			flash_object.appendChild(flash_param);
		}
		
		while(container_elem.hasChildNodes()) {
			container_elem.removeChild(container_elem.lastChild);
		}
		container_elem.appendChild(flash_object);
	}
	container_elem.style.display = 'block';
}



// Ask if the user wants to delete the student or not
function askDeleteStudent() {
	return confirm('Are you sure you want to delete this student. THIS CANNOT BE UNDONE!');
}



// Toggle element visibility
function toggle_visibility(id, toggleDisplay) {
	var e = document.getElementById(id);
	if (!toggleDisplay)
		toggleDisplay = 'block';
	// Set style
	if(e.style.display == 'none')
		e.style.display = toggleDisplay;
	else
		e.style.display = 'none';

	return false;
}


/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};