//TIMEOUTS
var toAlert;

//ELEMENTS TO CHANGE
var blogDiv;
var draftDiv;
var alertsDiv;

//AJAX IMPORTED VARIABLES
var isIE;
var completeTable;
var req;

//OTHER VARIABLES
var _id    = "sf";
var lastUpdate = "";

//ADVERTISEMENT
var btnAds = new Array();
var largeAds = new Array();



////////////////////////////////////////////////////////////////////////////////////////

function init() {
	blogDiv   = document.getElementById("blog");
	alertsDiv = document.getElementById("alerts");
	draftDiv  = document.getElementById("mockdraft");
	lastUpdate = "2008-04-26 12:00:00";
	getUpdates();
	setInterval("getUpdates()",15000);	
	setInterval("changeAds()", 60000);
}

////////////////////////////////////////////////////////////////////////////////////////

function filterTblByTeam (term) {
	var cellNr = 2;
	var suche = term.toLowerCase();
	var table = document.getElementById(_id);
	var ele;
	var bgc="cfc";
	document.getElementById("tblTitle").innerHTML = term;
	for (var r = 1; r < table.rows.length; r++){
	  try {
	  	if (table.rows[r].cells.length >= cellNr) {
				ele = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,"");
			} else {
			  ele = "zzzzzzzzzzzzzzzzzzzzzzzzz";
			}
			if (ele.toLowerCase().indexOf(suche)>=0 ) {
				table.rows[r].style.display = '';
			} else {
				table.rows[r].style.display = 'none';
			}
		} catch (e) {
			table.rows[r].style.display = 'none';
		}
	}
	for (var r = 0; r < table.rows.length; r++){
		if (table.rows[r].cells.length >= cellNr) {
			if (term=="") {
				table.rows[r].cells[0].style.display = 'none';
				table.rows[r].cells[cellNr].style.display = '';
			} else {
				table.rows[r].cells[0].style.display = '';
				table.rows[r].cells[cellNr].style.display = 'none';
			}
		}
	}
	for (var r = 0; r < table.rows.length; r++){
		if (table.rows[r].style.display=='') {
			table.rows[r].style.backgroundColor="#"+bgc;
			bgc=(bgc=="cfc")?"ccf":"cfc";
		} 
	}
}

////////////////////////////////////////////////////////////////////////////////////////

function filterTblByRound (term) {
	var cellNr = 0;
	var suche = term.toLowerCase();
	var table = document.getElementById(_id);
	var ele;
	var bgc="cfc";
	document.getElementById("tblTitle").innerHTML = "Round " + term;
	for (var r = 1; r < table.rows.length; r++){
	  try {
	  	if (table.rows[r].cells.length >= cellNr) {
				ele = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,"");
			} else {
			  ele = "zzzzzzzzzzzzzzzzzzzzzzzzz";
			}
			if (ele.toLowerCase().indexOf(suche)>=0 ) {
				table.rows[r].style.display = '';
			} else {
				table.rows[r].style.display = 'none';
			}
		} catch (e) {
			table.rows[r].style.display = 'none';
		}
	}
	for (var r = 0; r < table.rows.length; r++){
		if (table.rows[r].cells.length >= 2) {
			if (term=="") {
				table.rows[r].cells[2].style.display = 'none';
				table.rows[r].cells[0].style.display = '';
			} else {
				table.rows[r].cells[2].style.display = '';
				table.rows[r].cells[0].style.display = 'none';
			}
		} else {
			table.rows[r].style.display = 'none';
		}
	}
	for (var r = 0; r < table.rows.length; r++){
		if (table.rows[r].style.display=='') {
			table.rows[r].style.backgroundColor="#"+bgc;
			bgc=(bgc=="cfc")?"ccf":"cfc";
		} 
	}
	scroll(0,0);
}

////////////////////////////////////////////////////////////////////////////////////////

function setAlert(text) {
	clearTimeout(toAlert);
	alertsDiv.innerHTML = text;
	toAlert = setTimeout("clearAlert()", 90000)
}

////////////////////////////////////////////////////////////////////////////////////////

function clearAlert() {
	alertsDiv.innerHTML = "";
}

////////////////////////////////////////////////////////////////////////////////////////

function submitQuestion() {
	var viewer = document.forms["askQuestion"].viewer.value;
	var question = document.forms["askQuestion"].question.value;
	var url = "ajax/liveDraft.jsp?viewer="+ escape(viewer) +"&question=" + escape(question);
	var req = initRequest();
	req.onreadystatechange = function() {
		 if (req.readyState == 4) {
				 if (req.status == 200) {
						 parseMessages(req.responseXML);
				 } else if (req.status == 204){
				 }
		 }
	};
	req.open("GET", url, true);
	req.send(null);
	document.forms["askQuestion"].question.value = "";
	alert("Question/Comment Sent!");
}

////////////////////////////////////////////////////////////////////////////////////////

function initRequest(url) {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        isIE = true;
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}


////////////////////////////////////////////////////////////////////////////////////////

function parseMessages(responseXML) {
	var draftUpdate = responseXML.getElementsByTagName("draftUpdate")[0];
	if (draftUpdate.childNodes.length > 0) {
		try {
		var picks = draftUpdate.getElementsByTagName("picks")[0];		
    for (loop = 0; loop < picks.childNodes.length; loop++) {
	    var pickInfo = picks.childNodes[loop];
				var round    = pickInfo.getElementsByTagName("round")[0].childNodes[0].nodeValue;
        var pick     = pickInfo.getElementsByTagName("pick")[0].childNodes[0].nodeValue;
        var team_id  = pickInfo.getElementsByTagName("team_id")[0].childNodes[0].nodeValue;
        var team     = pickInfo.getElementsByTagName("team")[0].childNodes[0].nodeValue;
        var note     = pickInfo.getElementsByTagName("note")[0].childNodes[0].nodeValue;
        var dp_id    = pickInfo.getElementsByTagName("dp_id")[0].childNodes[0].nodeValue;
        var dp_name  = pickInfo.getElementsByTagName("dp_name")[0].childNodes[0].nodeValue;
        var position = pickInfo.getElementsByTagName("position")[0].childNodes[0].nodeValue;
        var school   = pickInfo.getElementsByTagName("school")[0].childNodes[0].nodeValue;
        var publish  = pickInfo.getElementsByTagName("publish")[0].childNodes[0].nodeValue;
        updateDraft(round, pick, team_id, team, note, dp_id, dp_name, position, school, publish);
    }
		} catch (e) {}   	
    
    try {
		var blogs = draftUpdate.getElementsByTagName("blogs")[0];		
    for (loop = 0; loop < blogs.childNodes.length; loop++) {
	    var blogInfo = blogs.childNodes[loop];
        var author   = blogInfo.getElementsByTagName("author")[0].childNodes[0].nodeValue;
        var blog     = blogInfo.getElementsByTagName("blog")[0].childNodes[0].nodeValue;
        var update   = blogInfo.getElementsByTagName("updated")[0].childNodes[0].nodeValue;       
        insertBlog(author, blog);
    }
    } catch (e) {}
    
    try {
    var alerts = draftUpdate.getElementsByTagName("alerts")[0];
    if ( (alerts != null) && (alerts.childNodes != null) && (alerts.childNodes[0] != null) && (alerts.childNodes[0].nodeValue != null) && (alerts.childNodes[0].nodeValue.length > 0) ) {
			setAlert(alerts.childNodes[0].nodeValue);
    }
    } catch (e) {}

    var lastUpdated = draftUpdate.getElementsByTagName("lastUpdated")[0];
    if (lastUpdated != null) {
			lastUpdate = lastUpdated.childNodes[0].nodeValue;
    }
	}
}

////////////////////////////////////////////////////////////////////////////////////////

function insertBlog(author, blog) {
		var blogAuthor   = "";
		var blogComment  = "";
		var hr           = document.createElement("hr");
		var color        = "black";
		
		if (author=="Doug Lancy")  {color = "red";}
		if (author=="Chris Maier") {color = "blue";}
		if (author=="Dan Wernery") {color = "purple";}
				
		blogAuthor = document.createElement("span");
		blogAuthor.innerHTML        = author + ": ";
		blogAuthor.style.color      = color;
		blogAuthor.style.fontWeight = "bold";
		
		blogComment = document.createElement("span");
		blogComment.innerHTML = blog;
		
		blogDiv.insertBefore(hr, blogDiv.childNodes[0]);
		blogDiv.insertBefore(blogComment, hr);
		blogDiv.insertBefore(blogAuthor, blogComment);
}

////////////////////////////////////////////////////////////////////////////////////////

function updateDraft(udRound, udPick, udTeam_id, udTeam, udNote, udPlayer_id, udPlayer, udPosition, udSchool, udPublish) {
		var schoolTxt = "r" + udRound + "p" + udPick + "_school";
		var teamDiv   = document.getElementById("r"+udRound+"p"+udPick+"_team");
		var playerDiv = document.getElementById("r"+udRound+"p"+udPick+"_player");
		var posDiv    = document.getElementById("r"+udRound+"p"+udPick+"_pos");
		var schoolDiv = document.getElementById(schoolTxt);
			
		schoolDiv.innerHTML = udSchool;
		posDiv.innerHTML = udPosition;
		
		if (udPublish=="1") {
			var sp_name = udPlayer.replace(" ", "_");
		
	    var linkElement = document.createElement("a");
	    linkElement.setAttribute("href", "/playerBio.jsp?dp_id=" + udPlayer_id + "&name=" + sp_name);
	    linkElement.appendChild(document.createTextNode(udPlayer));
	    playerDiv.innerHTML = "";
	    playerDiv.appendChild(linkElement);
	  } else {
	  	playerDiv.innerHTML = udPlayer;
	  }
	  
		var linkElement2 = document.createElement("a");
		linkElement2.setAttribute("href", "/teamNeeds.jsp?team_id=" + udTeam_id);
		linkElement2.appendChild(document.createTextNode(udTeam));
		teamDiv.innerHTML = "";
		teamDiv.appendChild(linkElement2);
		
}

////////////////////////////////////////////////////////////////////////////////////////

function getUpdates() {
	var url = "ajax/liveDraft.jsp?update=" + lastUpdate;
	var req = initRequest();
	req.onreadystatechange = function() {
		 if (req.readyState == 4) {
				 if (req.status == 200) {
						 parseMessages(req.responseXML);
				 } else if (req.status == 204){
				 }
		 }
	};
	req.open("GET", url, true);
	req.send(null);
}

////////////////////////////////////////////////////////////////////////////////////////

function changeAds() {
	var rand_no = Math.floor(btnAds.length*Math.random());
	document.getElementById("btnAdLink").innerHTML = btnAds[rand_no];
	var rand_no = Math.floor(largeAds.length*Math.random());
	document.getElementById("ad1").innerHTML = largeAds[rand_no];
	var rand_no = Math.floor(largeAds.length*Math.random());
	document.getElementById("ad2").innerHTML = largeAds[rand_no];	
}