// JavaScript Document

var profiles = new Array();
var gradFilter = false;
var usage = "panel";

function grabData(){

	var oXHRe = false;
	if (window.XMLHttpRequest){
		oXHRe = new XMLHttpRequest();
		if (oXHRe.overrideMimeType) {
			oXHRe.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		oXHRe = new ActiveXObject("Microsoft.XMLHTTP");
	}
 
	if (oXHRe){
		oXHRe.open("GET", "/_xml/tap.xml", true);
		oXHRe.onreadystatechange = function(){
			if (oXHRe.readyState == 4 && oXHRe.status == 200){
				gradLoadData(oXHRe.responseXML);
			}
		}
		oXHRe.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
		oXHRe.send(null);		
	}
	
}


function gradLoadData (xmlObj){
	tapNode = xmlObj.getElementsByTagName("profile");
	for (e=0; e < tapNode.length; e++){
		var g = new Object();
		g.name = getVal(tapNode[e].getElementsByTagName("name")[0]);
		g.image = getVal(tapNode[e].getElementsByTagName("imagename")[0]);
		g.status = getVal(tapNode[e].getElementsByTagName("status")[0]);
		g.quote = getVal(tapNode[e].getElementsByTagName("quote")[0]);
		profiles.push(g);
	}
	
	if(usage == "panel"){
		tapPanel();
	} else if (usage == "profile"){
		tapProfile();
	} else if (usage == "page"){
		tapPage();	
	}

} 

function setProfile (name) {
	profileName = name;
	if(currentContent == "profiles") {
		document.getElementById('sc_main').style.width = "580px";
	}  else {
		document.getElementById('sc_main').style.width = "559px";
	}	
	if ( name ) {
		tapProfile();	
	} else {
		if ( currentContent == "profiles" ) {
			tapPage();
		} else {
			tapPanel();		
		}
	}
}

function gradRandom(){
	
	var r = Math.floor(profiles.length * Math.random());
	return r;
}

function tapPanel(){
	document.getElementById("sc_gradlist").style.display = "block";
	
	var g = profiles[gradRandom()];
	var p = document.getElementById("sc_gradlist");
	p.innerHTML = "<h3 id='profiles'>TAP profiles</h3><a href='javascript:;' onclick='setProfile(\"" + g.image + "\");showContent(\"profiles\");return false;'><img src='/_img/tap/" + g.image + "_grid.jpg' alt='Meet " + g.name + "' /> " + g.name + (g.status == "current"?", current TAP associate":", TAP graduate") + "</a><p class='sc_meetmore'><a href='javascript:;' onclick='showContent(\"profiles\");setProfile(false);return false;'>More TAP profiles &raquo;</a></p>";
	
}

function tapProfile(){
	
	var g = false;
	var o = "";
	var s = "";
	var div = document.createElement("div");
	for(var i = 0;i<profiles.length;i++){ 
		s = "";
		if(profiles[i].image == profileName){
			g = profiles[i];	
			s = "<strong>";
		}
		o+="<li>" + s + "<a href='javascript:;' onclick='setProfile(\"" + profiles[i].image + "\");return false;'>" + profiles[i].name + (profiles[i].status == "current"?", current TAP associate":", TAP graduate") + s.replace("<", "</") + "</li>";	
		 

	}
	document.getElementById("sc_gradlist").innerHTML = "<h3 id='profiles'>TAP profiles</h3><ul>" + o + "</ul>";	
	document.getElementById("sc_gradlist").style.display = "block";
	
	if(g){

		document.getElementById("sub_profiles").innerHTML = "<h3>Meet... " + g.name + (g.status == "current"?", current TAP associate":", TAP graduate") + "</h3>" + g.quote;

	} else {

		location.replace('/careers/student_center/undergrad/tap.html?content=profiles');
		
	}
	
}

function tapPage() {

	document.getElementById("sc_gradlist").style.display = "none"; 

	var o = "";
	for(var i = 0;i<profiles.length;i++){
		o+="<li><a href='javascript:;' onclick='setProfile(\"" + profiles[i].image + "\");return false;'><img src='/_img/tap/" + profiles[i].image + "_grid.jpg' alt='' /><strong>" + profiles[i].name + "</strong><br />" + (profiles[i].status == "current"?"Current TAP associate":"TAP graduate") + "</li>";	
		document.getElementById("sub_profiles").innerHTML = "<ul class=\"tapgrid\">" + o + "</ul>";
	}	
	
}

function getVal(myNode){
	if (myNode.firstChild){
		return myNode.firstChild.nodeValue;	
	} else {
		return '';
	}
}
function getAttr(myNode, attr){
	if (myNode.attributes.getNamedItem(attr)){
		allAttr = myNode.attributes;
		return allAttr.getNamedItem(attr).nodeValue;	
	} else {
		return ''
	}
}