
/* 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}}}}}();



var the_pdf;

var g2c2 = function () {
	
	var site_root = 'http://g2.drivingcreative.com/';
	
	// Styles applied by JavaScript before the page loads
	swfobject.createCSS('#inlineLoginForm', 'display: none;');
	swfobject.createCSS('li#compsAndGuidelines ul', 'display: none;');
	swfobject.createCSS('.helpBody', 'display: none;');
	// End styles applied by JavaScript before the page loads
	
	// Page elements declared for use within DVINCI
	var body_tag;
	var mother_div;
	var banner_div;
	var content_div;
	var menu_div;
	var footer_div;
	
	var flash_version = '8';
		
	// Flash content control.
	var pages_with_flash = new Array();
	pages_with_flash.push(new Array('sitewide','flash_sample.swf',350,915,'sampleIntro'));
	
	function init() {
		body_tag = document.getElementsByTagName('body')[0];
		banner_div = document.getElementsByTagName('header')[0];
		footer_div = document.getElementsByTagName('footer')[0];
		menu_div = document.getElementById('mainMenu');
		mother_div = document.getElementById('mother');
		content_div = document.getElementById('content');
		
		

		if (swfobject.hasFlashPlayerVersion(flash_version)) {
			runFlash();
		}
		
		setLinks();
		
		doAssociated();
		
		myResources();
		
		compsGuidesMenu();
		
		doSaveResources();
		
		shareResourcesForm();
		
		sharePagesLogin();
		
		doReviewDropdown();
		
		doHelpfulHints();
		
		searchResources();
		
		searchBox('senderEmail');
		searchBox('useCustom');
		
			
	}
	
	// Call jQuery ready() function
	$(document).ready(init);
	
	
	function hideDynamicDialog(safety_elem, dialog_elem) {
		$('body').click(function() {
			$(dialog_elem).hide();
		});
		
		$(safety_elem).click(function(event){
			event.stopPropagation();
		});
	}
	
	
	function searchResources() {
		var search_topics_div = document.getElementById('searchTopics');
		
		if (search_topics_div) {
			var search_topics_lis = search_topics_div.getElementsByTagName('LI');
			for (var k=0, l=search_topics_lis.length; k<l; k++) {
				search_topics_lis[k].style.display = 'none';
			}
			var curric_opts = new Array();
			// curric_opts.push(new Array([radio_id], [radio_label], [associated class name]));
			curric_opts.push(new Array(document.getElementById('area1'), 'Learning Activities & Resources', 'hasActivity'));
			curric_opts.push(new Array(document.getElementById('area3'), 'Competencies & Core Knowledge', 'hasCompetency'));
			curric_opts.push(new Array(document.getElementById('area2'), 'Performance Indicators', 'hasPerformance'));
			curric_opts.push(new Array(document.getElementById('area4'), 'Assessments', 'hasAssessment'));
			
			for (var i=0, j=curric_opts.length; i<j; i++) {
				curric_opts[i][0].assoc_index = i;
				
				curric_opts[i][0].onchange = function() {
					for (var i=0, j=search_topics_lis.length; i<j; i++) {
						if (search_topics_lis[i].className.indexOf(curric_opts[this.assoc_index][2]) != -1) {
							search_topics_lis[i].style.display = 'block';
						} else {
							search_topics_lis[i].style.display = 'none';
						}
					}
					body_tag.focus();
				}
			}
		}
	}
	
	
	function doHelpfulHints() {
		var hint_divs = getElementsByClassName('helpHint');

		if (hint_divs.length > 0) {
			for (var i=0, j=hint_divs.length; i<j; i++) {
				$(hint_divs[i]).addClass('dynamicHint');
				var hint_link = hint_divs[i].getElementsByTagName('A')[0];
				hint_link.title = "Click for Help";
				hint_link.assoc_body = getElementsByClassName('helpBody',hint_divs[i])[0];
				//hint_link.assoc_body.style.top = '-' + ($(hint_link.assoc_body).outerHeight() - 5) + 'px';
				hint_link.assoc_body.style.top = '-' + ($(hint_link.assoc_body).outerHeight() + 2) + 'px';
				hint_link.onclick = function() {
					if ($(this.assoc_body).is(':hidden')) {
						$(this.assoc_body).fadeIn('fast');
					} else {
						$(this.assoc_body).fadeOut('fast');
					}
					return false;
				}
				
				hideDynamicDialog(hint_divs[i], hint_link.assoc_body)
				
				/*hint_link.onclick = function() {
					$(this.assoc_body).fadeOut('fast');
				}*/
			}
		}
	}
	
	
	function doReviewDropdown() {
		var rev_li = document.getElementById('writeReview');
		
		if (rev_li) {
			// Are they logged-in?
			var login_form = document.getElementById('reviewLogin');
			if (login_form) {
				var lazy_id = document.getElementById('lazyID').value;
				var lazy_input_name = document.getElementById('lazyID').name;
				$(login_form).append('<p id="theMessage" class="error"></p>');
				var error_p = document.getElementById('theMessage');
				$(error_p).hide();
				
				login_form.onsubmit = function() {
					var ev = document.getElementById('userAddress').value;
					var pv = document.getElementById('password').value;
					
					
					if (ev.length < 6 || ev.indexOf('@') == -1 || ev.indexOf('.') == -1) {
						error_p.innerHTML = 'Please enter a valid email address.';
						$(error_p).fadeIn('fast');
						return false;
					}
					if (pv.trim() == '') {
						error_p.innerHTML = 'Please enter your password.';
						$(error_p).fadeIn('fast');
						return false;
					}
					
					
					
					var post_vars = "IS_AJAX=1&email="+ev+"&password="+pv;
										
					$.post('/actions/login.php', post_vars, function(data) {
						if (data == 'true') {
							$(login_form).hide('fast');
							var review_form = 'Error.';
							$.post('/includes/review_form.php', "IS_AJAX=1", function(data) {
								var form_str = '<form method="post" action="actions/review.php" id="reviewForm">';
								form_str += '<input type="hidden" name="'+ lazy_input_name +'" value="'+ lazy_id +'" />';
								form_str += '</form>';
								review_form = $(form_str);
								review_form.append(data);
								//review_form = $(data);
								$(login_form).replaceWith(review_form);
								review_form.hide();
								review_form.show('fast', function() {
									hideShowReviewForm();
								});
								
								
							});
							
							
						} else {
							error_p.innerHTML = 'Email/Password combo does not exist.';
							$(error_p).fadeIn('fast');
							return false;
							
						}
						
					});
					return false;
				}
			}
			
			
			
			
			$(rev_li.getElementsByTagName('FORM')[0]).hide();
			
			function hideShowReviewForm() {
				var the_form = rev_li.getElementsByTagName('FORM')[0];
				//alert(the_form);
				rev_li.getElementsByTagName('A')[0].onclick = function() {
					//alert('is hidden = '+ $(the_form).is(':hidden'));
					if ($(the_form).is(':hidden')) {
						$(the_form).show('fast');
					} else {
						$(the_form).hide('fast');
					}
					
					return false;
				}
				
				hideDynamicDialog('#reviewOptions', the_form);
											   
			}
			hideShowReviewForm();
			
			/*$('body').click(function() {
				$(the_form).hide();
			});
			
			$('#reviewOptions').click(function(event){
				event.stopPropagation();
			});*/
		}
		
	}
	

	
		
	function sharePagesLogin() {
		var share_page = document.getElementById('sharePage');
		var loggy_form = document.getElementById('inlineLoginForm');
		
		if (share_page && loggy_form) {
			var loggy_links = document.getElementById('loginLinks').getElementsByTagName('A');
			var email_txt_box = document.getElementById('userAddress');
			var pass_txt_box = document.getElementById('password');
			
			$(loggy_form).append('<p id="theMessage" class="error"></p>');
			var error_p = document.getElementById('theMessage');
			$(error_p).hide();
				
			loggy_form.onsubmit = function() {
				//alert(this);
				
				
				var assoc_link = this.parentNode.getElementsByTagName('A')[0];
				var ev = email_txt_box.value;
				var pv = pass_txt_box.value;
				
				
				if (ev.length < 6 || ev.indexOf('@') == -1 || ev.indexOf('.') == -1) {
					error_p.innerHTML = 'Please enter a valid email address.';
					$(error_p).fadeIn('fast');
					return false;
				}
				if (pv.trim() == '') {
					error_p.innerHTML = 'Please enter your password.';
					$(error_p).fadeIn('fast');
					return false;
				}
				


				var post_vars = "IS_AJAX=1&email="+ev+"&password="+pv;
									
				$.post('/actions/login.php', post_vars, function(data) {
					if (data == 'true') {
						location.href = assoc_link;
						
					} else {
						error_p.innerHTML = 'Email/Password combo does not exist.';
						$(error_p).fadeIn('fast');
						return false;
						
					}
					
				});
	
				return false;
			}
				
			hideDynamicDialog('#loginLinks', loggy_form);
			
			$('body').click(function() {
				/*$(loggy_form).hide();*/
				for (var i=0, j=loggy_links.length; i<j; i++) {
					loggy_links[i].parentNode.style.position = 'static';
				}
			});
			
			/*$('#loginLinks').click(function(event){
				event.stopPropagation();
			});*/


			for (var i=0, j=loggy_links.length; i<j; i++) {
				loggy_links[i].onclick = function() {
					var LF_parent = loggy_form.parentNode;
					var LF = loggy_form.parentNode.removeChild(loggy_form);
					LF_parent.style.position = 'static';
					this.parentNode.style.position = 'relative';
					this.parentNode.appendChild(LF);
					$(loggy_form).addClass('hilite');
					$(loggy_form).fadeIn('fast', function() {
						$(loggy_form).addClass('hilite');
						email_txt_box.focus();
						
					});
					return false;
				}
			}
		}
	}
	
	
	
	
	// Trim function
	String.prototype.trim = function () {
		return this.replace(/^\s*/, "").replace(/\s*$/, "");
	}

	
	
	function shareResourcesForm() {
		
		var sr_form = document.getElementById('submissionForm');
		var keywords = document.getElementById('keywords');
		
		if (sr_form && keywords) {
			
			// Authors
			var authors_list = document.getElementById('authors').getElementsByTagName('UL')[0];
			if (authors_list) {
				
				var author_index = 1;
				
				// Add 'special' class to wack it into shape CSS-wise
				$(authors_list).addClass('special');
				
				var auth_div_top = 50;
				var fieldset_height = 445;
				var authors_list_height = $(authors_list).outerHeight();
				$(authors_list).parent().height(fieldset_height);
				
				
				function calculateAuthorsLayout() {
					if (authors_list_height < $(authors_list).outerHeight()) {
						//alert(authors_list_height + ' < ' + $(authors_list).outerHeight());
						var addition = $(authors_list).outerHeight() - authors_list_height;
						auth_div_top = auth_div_top + addition;
						swfobject.createCSS('fieldset#authors ul.special li div.authorInfo', 'top: '+ auth_div_top + 'px');
						authors_list_height = $(authors_list).outerHeight();
						
						
						$(authors_list).parent().height(fieldset_height + addition);
						fieldset_height = $(authors_list).parent().height();
					}
				}
				
				
				// Make item 1 'selected'
				var li_one = authors_list.getElementsByTagName('LI')[0];
				$(li_one).addClass('selected');
				var current_selection = li_one.getElementsByTagName('DIV')[0];
				li_one.getElementsByTagName('A')[0].onclick = function() {
					showAuthor(1);
					return false;
				}
				
				
				function showAuthor(auth_index) {
					
					var selected_li = document.getElementById('author'+auth_index);
					
					if (current_selection != selected_li.getElementsByTagName('DIV')[0]) {
						$(current_selection).hide();
						$(current_selection.parentNode).removeClass('selected');
						
						$(selected_li).addClass('selected');
						var selected_div = selected_li.getElementsByTagName('DIV')[0];
						$(selected_div).fadeIn('fast');
						current_selection = selected_div;
						
					}
					
				}
				
				// Append 'Add Author' item
				var add_li = document.createElement('li');
				add_li.id = 'addAuthor';
				add_li.innerHTML = '<a href="#">+ Add Another Author</a>';
				authors_list.appendChild(add_li);

				calculateAuthorsLayout();
				
				// Label Input array
				var elems = new Array();
				elems.push(new Array('firstname', 'First Name'));
				elems.push(new Array('lastname', 'Last Name'));
				elems.push(new Array('authortitle', 'Title'));
				elems.push(new Array('institution', 'Institution'));
				elems.push(new Array('email', 'Email'));
				elems.push(new Array('phone', 'Phone'));
				elems.push(new Array('address', 'Address'));
				elems.push(new Array('city', 'City'));
				elems.push(new Array('state', 'State'));
				elems.push(new Array('zipcode', 'Zipcode'));
				elems.push(new Array('country', 'Country'));
				
				
				// Set onclick function
				add_li.onclick = function () {
					author_index = author_index + 1;
					var new_li = document.createElement('li');
					new_li.id = 'author' + author_index;
					
					// Create the delete img
					var close_img = document.createElement('img');
					close_img.src = site_root + 'images/remove_keyword.gif';
					close_img.alt = 'Remove Author';
					close_img.title = 'Click to Remove Author"';
					close_img.onclick = function() {
						var this_li = this.parentNode;
						if (confirm("Are you sure you want to remove this author?")) {
							$(this_li).hide(300, function() {
								this_li.parentNode.removeChild(this_li);
								if (this_li.getElementsByTagName('DIV')[0] == current_selection) {
									showAuthor(1);
								}
							});
							
						} else {
							return;
						}
					}
					
					new_li.appendChild(close_img);
					//new_li.appendChild(document.createTextNode(' '));
					
					// Create the link to add
					var new_link = document.createElement('a');
					new_link.assoc_index = author_index;
					new_link.href = '#author' + author_index;
					
					new_link.onclick = function() {
						showAuthor(this.assoc_index);
						return false;
					}
					
					var new_link_text = document.createTextNode('Author ' + author_index);
					
					new_link.appendChild(new_link_text);
					new_li.appendChild(new_link);
					
					var new_au_div = document.createElement('div');
					new_au_div.className = 'authorInfo';
					$(new_au_div).hide();
					
					new_li.appendChild(new_au_div);
					
					for (var i=0, j=elems.length; i<j; i++) {
						var new_label = document.createElement('label');
						new_label.htmlFor = elems[i][0] + author_index;
						var new_label_text = document.createTextNode(elems[i][1]);
						new_label.appendChild(new_label_text);
						new_au_div.appendChild(new_label);
						new_au_div.appendChild(document.createTextNode(' '));
						
						var new_input = document.createElement('input');
						new_input.name = elems[i][0] + '[' + author_index + ']';
						new_input.id = elems[i][0] + author_index;
						new_au_div.appendChild(new_input);
						new_au_div.appendChild(document.createElement('br'));
						
					}
					
					$(new_li).hide();
					authors_list.insertBefore(new_li, this);
					$(new_li).show('fast');
					
					showAuthor(author_index);
					
					calculateAuthorsLayout();
					
					return false;
					
				}				
			}
			
			
			
			
			// Sort out Type of Submission radio buttons (.activityBlock, .assessmentBlock)
			function doActs(action) {
				$('.activityBlock').each(function() {
					(action == 'show') ? $(this).show() : $(this).hide();
				});
			}
			function doAssess(action) {
				$('.assessmentBlock').each(function() {
					(action == 'show') ? $(this).show() : $(this).hide();
				});
			}
			
			$('#submission_type1').change(function() {
				doActs('show');
				doAssess('hide');
			});
			$('#submission_type2').change(function() {
				doAssess('show');
				doActs('hide');
			});
			$('#submission_type3').change(function() {
				doActs('show');
				doAssess('show');
			});
			
			
			
			// File Uploads and Web Link Resources
			var web_links_list = document.getElementById('webLinks');
			var file_uploads_list = document.getElementById('fileUploads');
			
			if (web_links_list && file_uploads_list) {
				$(web_links_list).hide();
				$(file_uploads_list).hide();
				
				var wl_select = document.getElementById('numLinksAct');
				web_links_list.lis = web_links_list.getElementsByTagName('LI');
				var fu_select = document.getElementById('numFilesAct');
				file_uploads_list.lis = file_uploads_list.getElementsByTagName('LI');
				
				function resourceGenerator (which_list, num_val) {
					//var the_value = $(this).val();
					if (num_val != 0) {
						for (var i=0, j=which_list.lis.length; i<j; i++) {
							if (i < num_val) {
								$(which_list.lis[i]).show();
							} else {
								$(which_list.lis[i]).hide();
							}
						}
						$(which_list).slideDown('fast');
					} else {
						$(which_list).slideUp('fast');
					}
				}
				
				$(wl_select).change(function() {
					resourceGenerator(web_links_list, $(this).val());
				});
				$(fu_select).change(function() {
					resourceGenerator(file_uploads_list, $(this).val());
				});
			}
			
			
			
			
			
			
			// What should the hide/show button say?
			var hide_keywords = '- Hide Standard Keywords';
			var show_keywords = '+ Choose Standard Keywords';
			
			// Add class name 'isDynamic' to #keywords div
			// This adds CSS to make existing elements fit the dynamic layout
			$(keywords).addClass('isDynamic');
			
			// Calculate the top position and add the close button image to the #keywordChooser div
			var $kw_chooser = $('#keywordChooser');
			var $kw_chooser_height = $kw_chooser.outerHeight();
			var kw_chooser_top_pos = '-' + $kw_chooser_height + 'px';
			$kw_chooser.css('top', kw_chooser_top_pos);
			$kw_chooser.prepend('<img src="' + site_root + 'images/close_keywords.gif" alt="Close Keywords" id="closeKeywords" />');
			$('#closeKeywords').click(function() {
				$kw_chooser.fadeOut('fast', function() {
					$('#useExisting').attr('class','dumbButton');
					$('#useExisting').attr('value', show_keywords);
				});
				
			});
			
			// Insert a label and button for the user to open the keyword chooser
			// Also check to see how far they've scrolled, and if they've gone too far, scroll them up so they can see all options
			$('#keywords>.columnize').prepend('<label for="useExisting">Add Standard Keywords:</label> <input type="button" value="'+ show_keywords +'" id="useExisting" class="dumbButton" /><br />');
			// Must not be scrolled more than $(keywords).offset().top - ($kw_chooser.outerHeight())
			var max_scroll = ($(keywords).offset().top - $kw_chooser_height) - 20;
			

			$('#useExisting').click(function() {
				var px_scrolled = $(window).scrollTop();
				if ((px_scrolled > max_scroll) && $kw_chooser.is(':hidden')) {
					// Calculate scroll speed:
					var scroll_speed = ((px_scrolled - max_scroll) / $kw_chooser_height) * 800;
					$('html,body').animate({scrollTop: max_scroll}, scroll_speed, function() {
						$kw_chooser.fadeIn('fast', function() {
							$('#useExisting').attr('class','dumbButtonAlt');
							$('#useExisting').attr('value', hide_keywords);
						});
					});
					//$(window).scrollTop(max_scroll);
				} else {
					$kw_chooser.fadeToggle('fast', function() {
						if ($(this).is(':visible')) {
							$('#useExisting').attr('class','dumbButtonAlt');
							$('#useExisting').attr('value', hide_keywords);
							
						} else {
							$('#useExisting').attr('class','dumbButton');
							$('#useExisting').attr('value', show_keywords);
							
						}
					});
				}
						
				$(this).get(0).blur();
			});
			
			// Get a (jQuery) reference to <input id="useCustom" />
			var $custom_text_box = $('#useCustom');
			
			// Function adds typed text to the Keyword Bank
			var ctb_init_value = $custom_text_box.attr('value');
			function addTypedWords() {
				var ctb_value = $custom_text_box.val().trim();
				if (ctb_value != '' && ctb_value != ctb_init_value) {
					var all_words = ctb_value.split(',');
					
					for (var i=0; i<all_words.length; i++) {
						var trimmed_text = all_words[i].trim();
						addToBank(trimmed_text, false);
					}
					$custom_text_box.attr('value','');
				}
			}
			
			// Insert a button after the Use Custom Keyword input so users can add typed text to the Keyword Bank
			var $add_custom_button = $('<input type="button" value="Add Keywords to Bank" id="addCustomWords" class="dumbButton" />').click(function() {
				addTypedWords();
			});
			$custom_text_box.after($add_custom_button);
			
			// If they press Enter after typing in <input id="useCustom" />, make sure 1) The form doesn't submit and 2) The keywords are added
			var custom_focused = false;
			$custom_text_box.focus(function() { custom_focused = true });
			$custom_text_box.blur(function() { custom_focused = false });
			sr_form.onsubmit = function() {
				if (custom_focused) {
					addTypedWords();
					return false;
				} else {
					return true;
				}
			}
			
			
			// Create and insert the Keyword Bank
			$('#keywords').append('<div id="keywordBankLabel">Keyword Bank:</div><div id="keywordBank"></div>');
			
			
			// Remove an item from the Keyword Bank
			function removeFromBank(span_id, chkbx_id) {
				var $kw_bank = $('#keywordBank');
				if (chkbx_id != false) {
					$('#' + chkbx_id).get(0).checked = false;
				}
				$('#' + span_id).remove();
				
				// Check to make sure #1 doesn't have a comma!
				var the_node = document.getElementById('keywordBank').getElementsByTagName('span')[0].firstChild;
				if (the_node.nodeValue == ', ') {
					the_node.parentNode.removeChild(the_node);
				}

				
				updateHiddenInput();
				
			}
			
			
			function updateHiddenInput() {
				// <input type="hidden" name="js_keywords" value="" id="jsKeywords" />

				var kw_spans = document.getElementById('keywordBank').getElementsByTagName('SPAN');
				var kw_str = new Array();
				
				
				for (var i=0, j=kw_spans.length; i<j; i++) {
					if (kw_spans[i].id.length < 1) { // Then it's the span with no id
						var the_kids = kw_spans[i].childNodes;
						for (var k=0, l=the_kids.length; k<l; k++) {
							if (the_kids[k].nodeType == 3) { // Then it's a text node
								kw_str.push(the_kids[k].nodeValue);
							}
						}
					}
				}
				// alert(kw_str.join());
				document.getElementById('jsKeywords').value = kw_str.join();
			}
			
			
			
			// Take a string and add it to the Keyword Bank
			var junk_id = 0;
			function addToBank(str, chkbx_id) {
				var $kw_bank = $('#keywordBank');
				
				var comma = ($kw_bank.html() == '') ? '' : ', ';
				
				var $close_img = $('<img src="' + site_root + 'images/remove_keyword.gif" alt="Remove Keyword" title="Click to Remove Keyword" />');
				if (chkbx_id) {
					$close_img.data('assoc_id', chkbx_id);
					var span_id = chkbx_id + 's';
				} else {
					$close_img.data('assoc_id', false);
					var span_id = 's' + (junk_id++);
				}
				
				$close_img.click(function() {
					var span_id = $(this).parent().parent().attr('id');
					var chkbx_id = $(this).data('assoc_id');
					removeFromBank(span_id, chkbx_id);
					
				});
				
				var $the_span = $('<span id="'+ span_id +'"></span>');
				var $nowrap_span = $('<span></span>');
				
				$nowrap_span.append($close_img).append(str);
				
				$the_span.append(comma).append($nowrap_span);
				
				$kw_bank.append($the_span);
				
				updateHiddenInput();
				
			}
			
			
			// Set checkboxes in the #keywordChooser div to add/remove keywords to the #keywordBank div
			var $all_chkbxs = $kw_chooser.find('input').filter("[type='checkbox']");
			$all_chkbxs.each(function() {
				// Make sure all checkboxes are unchecked (primarily because of soft reload)
				$(this).get(0).checked = false;
				$(this).change(function() {
					if ($(this).get(0).checked == true) {
						addToBank($(this).attr('value'), $(this).attr('id'));
					} else {
						var span_id = $(this).attr('id') + 's';
						var chkbx_id = $(this).attr('id');
						removeFromBank(span_id, chkbx_id);
					}
				});
			});
			
			// $kw_chooser.hide();
			/*$(window).scroll(function () {
				$('#useCustom').attr('value', $(window).scrollTop());
			});*/

		}
		
	}
	
	
	
	
	function doSaveResources() {
		var save_forms = getElementsByClassName('saveResource');

		if (save_forms.length > 0) {
			var indic_path = '/images/indicator.gif';
			var preload_indic = document.createElement('img');
			preload_indic.src = indic_path;
			function addIndicator() {
				var indicator = document.createElement('img');
				indicator.src = indic_path;
				return indicator;
			}
			

			
			
			for (var i=0, j=save_forms.length; i<j; i++) {

				save_forms[i].onsubmit = function() {
					
					// loop through save_forms, show indicator and disable buttons
					for (var k=0, l=save_forms.length; k<l; k++) {
						var submit_p = $(save_forms[k]).find('.submitButton');
						submit_p.prepend(addIndicator());
						submit_p.find('input').css('visibility', 'hidden');
					}
					/*var submit_button = $(this).find('.submitButton');
					submit_button.append(indicator);*/

					function updateResources(json_obj) {
						// alert(json_obj['list_items']);
						$('#myResourcesBody').find('ul').html(json_obj['list_items']);
					}
					
					// Figure out whether we're using the activity or assessment
					if(document.getElementById('activity_id')) {
						var the_id = document.getElementById('activity_id').value;
						var the_field = 'ID_ACTIVITY';
					}
					else if (document.getElementById('assessment_id')) {
						var the_id = document.getElementById('assessment_id').value;
						var the_field = 'ID_ASSESSMENT';
					}

					// jQuery ajax function. PHP returns string: JavaScript function populateLists() 
					// with JSON formatted result as a parameter
					$.post('/actions/save_resource.php', the_field +'='+ the_id +'&IS_AJAX=1', function(json) {
						
						for (var k=0, l=save_forms.length; k<l; k++) {
							var submit_p = $(save_forms[k]).find('.submitButton');
							submit_p.find('img').remove();
							submit_p.find('input').attr({value:'Resource is Saved', 'class': 'disabled', disabled: 'disabled'}).css('visibility', 'visible').blur();
						}
						eval(json); // eval() takes a string and runs it as JavaScript
					});
							
					return false;
				}
			}
		}
	}
	
	
	function myResources() {
		var r_li = document.getElementById('myResourcesLink');
		var r_menu = document.getElementById('myResources');
		
		if (r_li && r_menu) {
			var r_link = r_li.getElementsByTagName('A')[0];
			var r_close = document.getElementById('closeResources');
			//$(r_menu).hide();
			
			r_link.onclick = function () {
				if ($(r_menu).is(":hidden")) {
					$(r_menu).slideDown('fast');
					$(this).addClass('selected');
					
				} else {
					$(r_menu).slideUp('fast');
					$(this).removeClass('selected');
				}
				return false;
			}
			
			r_close.onclick = function () {
				$(r_menu).slideUp('fast');
				$(r_link).removeClass('selected');
			}
			
			hideDynamicDialog(r_li, r_menu);
			
		}
	}
	
	
	function compsGuidesMenu() {
		
		var candg_li = document.getElementById('compsAndGuidelines');
		
		if (candg_li) {
			// Preload png bg for all repectable browsers
			var cgm_bg_png = document.createElement('img');
			cgm_bg_png.src = site_root + 'images/comps_guides_menu_bg.png';
			
			// Preload gif bg for IE 6
			var cgm_bg_gif = document.createElement('img');
			cgm_bg_gif.src = site_root + 'images/comps_guides_menu_bg.gif';
			
			var the_cg_menu = $(candg_li).find('ul');
			
			hideDynamicDialog(the_cg_menu, the_cg_menu);
			
			
			/*$('body').click(function() {
				the_cg_menu.fadeOut('fast');
			});
			
			the_cg_menu.click(function(event){
				event.stopPropagation();
			});*/
			
			$(candg_li).click(function(event){
				event.stopPropagation();
				if (the_cg_menu.is(":visible")) {
					the_cg_menu.fadeOut('fast');

				} else {
					the_cg_menu.fadeIn('fast');
				}
			});
			
		}
	}
	
	function doAssociated() {
		// Preload collapse image
		var col_bg = document.createElement('img');
		col_bg.src = site_root + 'images/collapse_assoc_bg.gif';
		
		$('ul.associatedList').addClass('associatedListActive')
		$('ul.associatedList>li>ul').hide();
		$('ul.associatedList>li>span').each(function() {
			$(this).click(function() {
				var sub_list = $(this).closest('li').children('ul')[0];
				$(this).toggleClass('open');
				$(sub_list).slideToggle('fast');
			});
		});
	}

	
	function searchBox(the_input) {
		var search_box = document.getElementById(the_input);
		var search_msg;
		if (search_box && search_box.nodeName == 'INPUT') {
			search_msg = search_box.value;
			search_box.style.color = '#888';
			search_box.onfocus = function() {
				if (this.value == search_msg) {
					this.value = '';
					search_box.style.color = '#333';
				}
			}
			search_box.onblur = function() {
				if (this.value == '') {
					this.value = search_msg;
					search_box.style.color = '#888';
				}
			}
		}
	}
	
	//	Tricky eMail link code!!
	function companyConnect(who,subject) {
		var con_nect = 'mai';
		con_nect += 'lto:';
		con_nect += who;
		con_nect += '@';
		con_nect += 'dvinci';
		con_nect += '.';
		con_nect += 'com';
		
		subject = (subject == 'undefined') ? '' : '?subject=' + subject;
	
		location.href = con_nect + subject;
		
	}
	

	

	function setLinks() {
		
		var all_links = $("a");

		for (var aa=0; aa<all_links.length; aa++) {
			
			var link_str = all_links[aa].toString();
			
			if (all_links[aa].target.toLowerCase() == 'externallink') {
				var new_win_img = document.createElement('img');
				new_win_img.src = site_root + 'new_window_over_icon.gif';
				var open_icon = all_links[aa].getElementsByTagName('IMG')[0];
				if (open_icon && open_icon.src.indexOf('new_window_icon.gif') != -1) {
					all_links[aa].onmouseover = function () {
						this.getElementsByTagName('IMG')[0].src = site_root + 'images/new_window_over_icon.gif';
					}
					all_links[aa].onmouseout = function () {
						this.getElementsByTagName('IMG')[0].src = site_root + 'images/new_window_icon.gif';
						
					}
					
				}
				all_links[aa].onclick = function () {
					popupWindow(this, this.target);
					return false;
					
				}
			}
			
			if (all_links[aa].target.toLowerCase() == 'pdflink') {
				
				all_links[aa].onclick = function () {
					the_pdf = this;
					popupWindow('/pdf_launcher.php', this.target);
					return false;
					
				}
				
			}
			
			
			
			if (link_str.indexOf('connect.php?connect=') != -1) {
				all_links[aa].subject = $(all_links[aa]).attr('title');
				all_links[aa].who = link_str.split('connect=')[1];
				
				all_links[aa].onclick = function () {
					companyConnect(this.who, this.subject);
					return false;
				}
			}
		}
	}

	//	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=950,height=600';
	
	function popupWindow(url, target, features) {
		if (typeof features == 'undefined') {
			features = popup_features;
		}
		if (typeof target == 'undefined') {
			target = '_blank';
		}
		var the_window = window.open(url, target, page_position+features);
		the_window.focus();
		return the_window;
	}

		
	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;
		
		var default_params = {
			play:'true', 
			quality:'high', 
			scale:'noscale', 
			menu:'false', 
			salign:'lt', 
			wmode:'transparent', 
			bgcolor:'#fff',
			type:'application/x-shockwave-flash'
		};

		
		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_params = (typeof pages_with_flash[aa][5] == 'object') ? pages_with_flash[aa][5] : default_params;
			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';
				
				//alert('insertFlash('+swf_name+','+swf_height+','+swf_width+','+swf_element_id+')');
				//insertFlash(swf_name,swf_height,swf_width,swf_element_id);
				
				// The swfobject way: (swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn)
				swfobject.embedSWF(swf_name, swf_element_id, swf_width, swf_height, flash_version, false, false, swf_params, false, false);
				
				
			}
		}
	}
	
	function getElementsByClassName(searchClass, node, tag) {
		var classElements = new Array();
		if (node == null) {
			node = document;
		}
		if (tag == null) {
			tag = '*';
		}
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
		for (var i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className)) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
	
	
}();

