var getEl = function(elName){
    return document.getElementById(elName);
};

////////////////////////////////////////////////////
//// User Dashboard Functions ///////////////////
/////////////////////////////////////////////////
var delete_warning = function(){
    if(confirm("Permanently delete this team?")){
	return true;
    }else{
	return false;
    }
};

var update_drafts = function(){
    loc = "/user.php?";
    if(draft_league_size != ''){
	loc += "draft_league_size=" + draft_league_size + "&";
    }
    if(draft_pos != ''){
	loc += "draft_pos=" + draft_pos + "&";
    }
    if(sort_by != ''){
	loc += "sort_by=" + sort_by;
    }
    document.location = loc;
};

var toggleUserTabs = function(tabNum){
    var num_tabs = 4;
    for(var i = 1; i <= num_tabs; i += 1){
	getEl("tab"+i).style.display = "none";
	getEl("navTab"+i).className = "tab_unselect";
    }
    getEl("tab"+tabNum).style.display = "block";
    getEl("navTab"+tabNum).className = "tab_select";
};
var getEl = function(node){
    return document.getElementById(node);
};
var createDraftSuccess = function(o){
    if(o.responseText !== undefined){
	var messages = [];

	try {
	    messages = YAHOO.lang.JSON.parse(o.responseText);
	}
	catch (x) {
	    alert("parse failed!");
	    return;
	}
	var link = "http://"+messages['domain']+"/joindraft?id="+messages['draft_id']+"&k="+messages['hash'];
	var linkField = "<h3>Draft Link:</h3><p>Send this link to the draft participants:<br><a href='";
	linkField += link;
	linkField += "'>" + link + "</a></p>";
	linkField += "Code to paste:<br/><textarea rows='3' cols='50'><a href=\"";
	linkField += link;
	linkField += "\">Join my fantasy football draft!</a></textarea>";
	getEl("newDraft").innerHTML = linkField;
    }
};
var createDraft = function(){
    // Get info from HTML elements
    var year = getEl("hostYear").innerHTML;
    var month = getEl("hostMonth").innerHTML;
    var day = getEl("hostDay").innerHTML;
    var time = getEl("hostTime").value;
    var date = year + "-" + month + "-" + day;
    var teams = getEl("hostTeams").value;
    var rounds = getEl("hostRounds").value;
    var postData = "date="+date+"&time="+time+"&teams="+teams+"&rounds="+rounds;
    // Send AJAX call with data as params
    var sUrl = "/create_host_draft.php";
    // Set callback to update the user "created drafts" info
    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, createDraftCallback, postData); 
};

var dismissMsg = function(msg_id, user_id, type, token){
    // Get info from HTML elements
    getEl(msg_id).style.display = "none";
    var postData = "user_id="+user_id+"&type="+type+"&token="+token;
    // Send AJAX call with data as params
    var sUrl = "/helper/dismiss_msg.php";
    // Set callback to update the user "created drafts" info
    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, function (){ return false; }, postData); 
};

////////////////////////////////////////////
//// Mock draft sign up page functions/////
///////////////////////////////////////////
function changeFormAction(action){
    document.getElementById("signupForm").action = action;
};
function toggleDraftSignup(type){
    var type_colors = new Array();
    type_colors["standard"] = "green";
    type_colors["ppr"] = "blue";

    // toggle the tab styles
    document.getElementById("standard-tab").style.background = "#BBB";    
    document.getElementById("ppr-tab").style.background = "#BBB";    
    document.getElementById("ppr-tab").style.color= "#555";    
    document.getElementById("standard-tab").style.color = "#555";    
    document.getElementById("standard-tab").style.borderBottom = "1px solid #999";
    document.getElementById("standard-tab").style.paddingBottom = "1px";
    document.getElementById("ppr-tab").style.borderBottom = "1px solid #999";
    document.getElementById("ppr-tab").style.paddingBottom = "1px";

    document.getElementById(type + "-tab").style.background = "#D6D6D6";
    document.getElementById(type + "-tab").style.borderBottom = "0px";
    document.getElementById(type + "-tab").style.paddingBottom = "2px";
    document.getElementById(type + "-tab").style.color = type_colors[type];

    // toggle the tables
    document.getElementById("standard-drafts").style.display = "none";
    document.getElementById("standard-drafts").style.display = "none";
    document.getElementById("ppr-drafts").style.display = "none";
    document.getElementById(type + "-drafts").style.display = "block";
}
// Home page
	 function toggleADP(pos){
	     var adp_list = new Array("All", "QB", "RB", "WR", "TE");
	     for(var i = 0; i < adp_list.length; i++){
   	         document.getElementById(adp_list[i]).style.display = "none";
		 document.getElementById(adp_list[i] + "-nav").style.background = "#CCC";
		 document.getElementById(adp_list[i] + "-nav").style.color = "#222";
             }
             document.getElementById(pos).style.display = "inline";
             document.getElementById(pos + "-nav").style.background = "#555";
             document.getElementById(pos + "-nav").style.color = "#FFF";
	 }	 

//////////////////////////////////////////////
//// ADP graphing functions //////////////////
//////////////////////////////////////////////
var playerList = new Array();
var imgPath = "../helper/adp_graph_xml.php?";
var ie = document.all;
var moz = document.getElementById && !document.all; 

function updateGraph(){
	var adpGraph = document.getElementById("adp_graph");
	//alert(adpGraph.src);	
	//adpGraph.src = writeImgUrl(playerList);
	//alert(adpGraph.src);
	document.charts.SetVariable ( "update_url", writeImgUrl(playerList) )
	return false;
}

function updatePlayer(id){
	var inArray = false;
	for(var i = 0; i < playerList.length; i++){
		if(id == playerList[i]){
			inArray = true;
			break;
		}
	}
	if(inArray){
		playerList.splice(i,1);
	}else if(playerList.length > 3){
		alert("The graph has a maximum of 4 players.\nUncheck another player before adding this one.");
		document.getElementById("player_" + id).checked = false;
	}else{
		playerList.push(id);
	}
}

function writeImgUrl(arrayList) {
	var teams = document.getElementById("adp_teams").value;
	var rounds = document.getElementById("adp_rounds").value;
	var url = imgPath + "teams=" + teams + "&rounds=" + rounds;
	if(arrayList != ""){
		url += "&graph%5B%5D=" + arrayList.join("&graph%5B%5D=");
	}
	return url;
}

function findCheckedPlayers(){
	for(var j = 0; j < 10000; j++){
		if(document.getElementById("player_" + j) && document.getElementById("player_" + j).checked == true){
			if(playerList.length < 4){
				updatePlayer(j);
			}else{
				exit;
			}
		}
	}
	updateGraph();
}

function updatePos(dy) {
    var el = document.getElementById("flash_chart");
    if (ie) {
        el.style.pixelTop = document.body.scrollTop + dy;
    }
    else if (moz) {
        el.style.top = window.pageYOffset + dy + 'px';
    }
}

function updateTeamInputs(new_num_teams){
    for(var i = 1; i <= 18; i++){
	var visible_row_style = document.getElementById("dc-team-row-1").style.display;
        var el = document.getElementById("dc-team-row-" + i);
	if(i <= new_num_teams){
	    el.style.display = visible_row_style;
	}else{
	    el.style.display = "none";
	}
    }
    return true;
}