// remove tooltip for now
//
//var els = YAHOO.util.Dom.getElementsByClassName('competitor');
//myTooltip = new YAHOO.widget.Tooltip("myTooltip", {  
	//delay:1000,context:els } ); 

var overlay =  
			 new YAHOO.widget.Overlay("resultsOverlay", {   
					visible:false,  
					zIndex:1000, 
					width:"300px" } ); 
overlay.render();	


var current_game_id=0;

var handleSuccess = function(o){ 
	if(o.responseText !== undefined){ 
		/*div.innerHTML = "<li>Transaction id: " + o.tId + "</li>"; 
		div.innerHTML += "<li>HTTP status: " + o.status + "</li>"; 
		div.innerHTML += "<li>Status code message: " + o.statusText + "</li>"; 
		div.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></li>"; 
		div.innerHTML += "<li>Server response: " + o.responseText + "</li>"; 
		div.innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo + 
						 " [bar] => " + o.argument.bar +" )</li>"; */
		var response = o.responseText;	
		if (response.indexOf('Error') > -1) {
			YAHOO.util.Dom.get('results' + current_game_id).innerHTML = "Error";
		} else {
			var responseArray = response.split(",");
			//var resultsMessage = 'Votes: <a href="javascript:;" title="Top Contestant">' + 
			//		responseArray[1] + '</a> to <a href="javascript:;" title="Bottom Contestant">' + responseArray[2] + "<a/>";			 
			
			//YAHOO.util.Dom.get('results' + responseArray[0]).innerHTML = resultsMessage;
			YAHOO.util.Dom.get('overlay-contestant-1').innerHTML=responseArray[4];
			YAHOO.util.Dom.get('overlay-contestant-2').innerHTML=responseArray[5];
			YAHOO.util.Dom.get('overlay-contestant-1-votes').innerHTML=responseArray[1];
			YAHOO.util.Dom.get('overlay-contestant-2-votes').innerHTML=responseArray[2];
			
			
			var contestantIndex = 4 + parseInt(responseArray[6]);
			
				YAHOO.util.Dom.get('overlay-ft').innerHTML = '<a target="_blank" href="' + 		
				'http://twitter.com/home?status=I+voted+for+'+responseArray[contestantIndex]+'+'+
				'in+the+FINALS+of+the+Internet+March+Mayhem.+You+should+vote+too!+http://march.shoeboxed.com">Tweet Your Vote!</a>'; 
									
			var xy = YAHOO.util.Dom.getXY('results' + responseArray[0]);
			
			if (xy[0] < 600) {
				xy[0]+=100;
			} else {
				xy[0]-=300;
			}
			
			overlay.cfg.setProperty("xy", xy);
			overlay.show();

			if (responseArray[3] == 0) {
				// vote was not recorded
				var attributes = { 
					backgroundColor: { from: '#ff0', to: '#fff' } 
					
				};
				
				YAHOO.util.Dom.get('voting-result').innerHTML="You have already voted for this match."; 
			} else if (responseArray[3] ==1) {
				// vote was recorded
				var attributes = { 
					backgroundColor: { from: '#3f0', to: '#fff' } 
				};
				YAHOO.util.Dom.get('voting-result').innerHTML="Thank you for your Vote!";
			} else {
				// vote was not recorded
				var attributes = { 
					backgroundColor: { from: '#ff0', to: '#fff' } 
				};
				
				YAHOO.util.Dom.get('voting-result').innerHTML="Voting over for this round."; 
			} 
			var anim = new YAHOO.util.ColorAnim('voting-result', attributes); 
				anim.duration = 1;
			   anim.animate();
			
		}
	} 
} 
 
var handleFailure = function(o){ 
	if(o.responseText !== undefined){ 
		/*div.innerHTML = "<li>Transaction id: " + o.tId + "</li>"; 
		div.innerHTML += "<li>HTTP status: " + o.status + "</li>"; 
		div.innerHTML += "<li>Status code message: " + o.statusText + "</li>"; */
		
		YAHOO.util.Dom.get('results' + current_game_id).innerHTML = "Error";
	} 
}

function dumpProps(obj, parent) {
// Go through all the properties of the passed-in object 
for (var i in obj) {
  // if a parent (2nd parameter) was passed in, then use that to 
  // build the message. Message includes i (the object's property name) 
  // then the object's property value on a new line 
  if (parent) { var msg = parent + "." + i + "\n" + obj[i]; } else { var msg = i + "\n" + obj[i]; }
  // Display the message. If the user clicks "OK", then continue. If they 
  // click "CANCEL" then quit this level of recursion 
  if (!confirm(msg)) { return; }
  // If this property (i) is an object, then recursively process the object 
  if (typeof obj[i] == "object") { 
	 if (parent) { dumpProps(obj[i], parent + "." + i); } else { dumpProps(obj[i], i); }
  }
   }
}

var callback = 
{ 
  success:handleSuccess, 
  failure: handleFailure
}; 

function cast_vote (game_id, vote,contestant1,contestant2) {
	// validate server side
	current_game_id=game_id;
	sURL = "vote.php?game_id=" + game_id + "&vote=" + vote + "&contestant1=" + contestant1 + "&contestant2=" + contestant2;		
	var request = YAHOO.util.Connect.asyncRequest('GET', sURL, callback); 
}

var handleClick = function(e) {
	var elTarget = YAHOO.util.Event.getTarget(e); 
	if (YAHOO.util.Dom.getAncestorByClassName(elTarget, 'yui-overlay') === null) {
		overlay.hide();
	}
}

YAHOO.util.Event.addListener(window, "click", handleClick);