fightTimer = null;
fighterTimer1 = null;
fighterTimer2 = null;
fighter1 = '';
fighter2 = '';
winnername = '';
f1power = 0;
f2power = 0;
countEndAt = 1;
winnerbar = 'bar1strip';
winner = "1";
loser = "2";

wImages = new Array();
lImages = new Array();

function preloadMyImages(){
	w = new Array('w00.gif','w01.gif','w02.gif','w03.gif','w04.gif','w05.gif','w06.gif');
	l = new Array('l00.gif','l01.gif','l02.gif','l03.gif','l04.gif','l05.gif','l06.gif');
	
	for(i=0;i<=6;i++){
		imgW = new Image();
		imgL = new Image();
		imgW.src = './images/'+w[i];
		imgL.src = './images/'+l[i];
		wImages[i] = imgW;
		lImages[i] = imgL;
	}
}
function randNum(min,max){
	var m=min;
	var n=max;
	var r=m+Math.round(Math.random()*n); 
	if ((r < m) || (r > n)) return(2);
	return(r);
} 


function doFight(){
		/*try {pageTracker._trackEvent("Fights", "Done");} catch(E){}*/
		pageTracker._trackEvent("Fights", "Done");
		fighter1 = document.getElementById('fighter1').value.toLowerCase();
		fighter2 = document.getElementById('fighter2').value.toLowerCase();
		var powercode = document.getElementById('powercode').value;
		
		if (fighter1 == 'tweefight'){
			alert("Camon... you are not me!");
			return false;
		}
		if (fighter2 == 'tweefight') {
			if (!confirm("You are going to lose... are you sure you want fight?")) return false;
		}
		
		if (fighter1 == '' || fighter2 == '') {
			alert("Fighter Missing");
			return false;
		}
		if (fighter1 == fighter2){
			alert("Don't fight vs yourself, call a psychologist!");
			return false;
		}
		else {
			var poststring = 'fighter1='+fighter1+'&fighter2='+fighter2+'&pcode='+powercode;
			poststring = poststring.replace(' ','');
			var communication = YAHOO.util.Connect.asyncRequest('POST', './dofight.php', doFightCallBack, poststring); 
			document.getElementById('fightbutton').style.display = 'none';
			document.getElementById('fightloader').style.display = 'block';
			
		}
}

var doFightCallBack = {
		success : function(o) {
				resp = o.responseText;	
				if (resp.indexOf('error')==-1){
					var splitted = resp.split("|");
					randImg = randNum(1,6);
					if (parseInt(splitted[0]) >= parseInt(splitted[1])) {
						
						document.getElementById('homeimg').src = wImages[randImg].src;
						document.getElementById('outimg').src = lImages[randImg].src;
						winner = "1";
						loser  = "2";
						winnername = fighter1;
					}
					else {
						document.getElementById('homeimg').src = lImages[randImg].src;
						document.getElementById('outimg').src = wImages[randImg].src;
						winner = "2";
						loser  = "1";
						winnername = fighter2;
					}
					f1power = parseInt(splitted[0]);
					f2power = parseInt(splitted[1]);
					fight();
				}
				else {
					if (resp.indexOf('500')!=-1) {
						alert ('You have to wait at least 3 minutes to fight again versus the same opponent');
					}
					if (resp.indexOf('402') != -1){
						alert('Archenemy not found on Twitter');
					}
					if (resp.indexOf('401') != -1){
						alert('Your Nickname not found on Twitter');
					}
					if (resp.indexOf('501') != -1){
						alert('You have been removed from the game');
					}
					if (resp.indexOf('502') != -1){
						alert(fighter2+" doesn't want to fight, try another user!");
					}
					document.getElementById('fightloader').style.display = 'none';
					document.getElementById('fightbutton').style.display = 'block';
				}
				
		},
		fails : function (o) {
			alert('fails');
		}
}

function setEnemyFromWin(screenname){
	document.getElementById('fighter2').value = screenname;
	manageEnemyChooser();
}

function setAsEnemy(screenname){
	document.getElementById('fighter2').value = screenname;
}

function fight(){
		document.getElementById('fightloader').style.display = 'none';
		document.getElementById('clicktostart').style.display = 'none';
		document.getElementById('barswrapper').style.display = 'block';
		document.getElementById('fightbutton').style.display = 'none';
		setTimeout("document.getElementById('counter').style.display = 'block'",800);
		fightTimer = setInterval("enhanceCounter()",1000);
}
function enhanceCounter(){
		counterid = document.getElementById('counter');
		newval = parseInt(counterid.innerHTML) - 1;
		counterid.innerHTML = newval;
		if (newval == countEndAt) {
			clearInterval(fightTimer);
			setTimeout(function(){
										counterid.innerHTML='Fight!!';
										setBar(fighterTimer1,'bar1strip',f1power);
										setBar(fighterTimer2,'bar2strip',f2power);
								},1000);
				
		}
}
function setBar(fighterTimer,barid,setAt){
		setAt = setAt * 2;
		fighterTimer = setInterval(function(){enhanceBar(fighterTimer,barid,setAt)},50);
}
function enhanceBar(fighterTimer,barid,setAt){
		barwidth = document.getElementById(barid);
		newval = parseInt(barwidth.offsetWidth) + 5;
		barwidth.style.width = newval+"px";
		if (newval >= setAt){
			clearInterval(fighterTimer);
			if (barid == winnerbar) terminateFight(winner,loser);
		}
}
function terminateFight(winnerId,loserId){
		document.getElementById('bar'+winnerId+'strip').style.backgroundColor = '#007120';
		document.getElementById('bar'+loserId+'strip').style.backgroundColor = '#E34000';
		document.getElementById('imgswrapper').style.display = 'block';
		finalmessage = 'You lost!!!';
		if (winnername == fighter1) finalmessage = 'You won!!!'
		document.getElementById('counter').innerHTML = finalmessage;
		document.getElementById('fightagain').style.display = 'block';
}
function openPowerBox(){
	if (document.getElementById('powercode').style.display == 'none') document.getElementById('powercode').style.display = 'block';
	else document.getElementById('powercode').style.display = 'none';
}
function openPowerCodeWin(){
	document.getElementById('powercodehelp').style.display = 'block';
}
function closePowerCodeWin(){
	document.getElementById('powercodehelp').style.display = 'none';
}

function manageEnemyChooser(){
	try{
		if (document.getElementById('enemyChooser').style.display == 'block')
			document.getElementById('enemyChooser').style.display = 'none';
		else document.getElementById('enemyChooser').style.display = 'block';
	} catch(E){}
}

function getMoreFighters(){
	
	document.getElementById('randomPage'+fighterspage).style.display = 'none';
	if (fighterspage >= randomfighterpage/6) fighterspage = 1;
	else fighterspage = fighterspage+1;
	document.getElementById('randomPage'+fighterspage).style.display = 'block';
}

function openWorldChampionsWin(){
	document.getElementById('championsWin').style.display = 'block';
}

function closeWorldChampionsWin(){
	document.getElementById('championsWin').style.display = 'none';
}
function goToTheStore(){
	win = window.open('./tweefightstore.php','tweestore','width=800,height=600');
	win.focus();
}
function checkPowerCode(){
	pcodeNode = document.getElementById('powercode');
	if (pcodeNode.value.length > 12){
		document.getElementById('pcodechecker').src = './images/loader.gif';
		document.getElementById('pcodechecker').style.visibility = 'visible';
		var poststring = 'pcode='+pcodeNode.value;
		var communication = YAHOO.util.Connect.asyncRequest('POST', './checkcodes.php', checkCodeResp, poststring); 
	}
}
var checkCodeResp = {
		success : function(o) {
			resp = o.responseText;
			if (resp.indexOf('200') != -1){ //codice valido
				document.getElementById('pcodechecker').src = './images/codeok.gif';
				document.getElementById('pcodechecker').title = 'the code is valid';
			}
			else {
				document.getElementById('pcodechecker').src = './images/codeko.gif';
				document.getElementById('pcodechecker').title = 'code not valid';
			}
		},
		fails : function (o) {
			alert('checkCodeResp fails');
		}	
}
function fightAgain(){
	if (document.getElementById('fighter2').value != fighter2){
		refreshFight();
		doFight();
	}
	else {
		this.location = './index.php?fn='+fighter1;
	}
}

function refreshFight(){
		document.getElementById('imgswrapper').style.display = 'none';
		document.getElementById('bar1strip').style.width = "0px";
		document.getElementById('bar2strip').style.width = "0px";
		document.getElementById('bar1strip').style.backgroundColor = '#EAAE61';
		document.getElementById('bar2strip').style.backgroundColor = '#EAAE61';
		counterid.innerHTML = 3;
}

function tweetThis(){
	textLoseToTweet = 'I just lost a fight against @'+fighter2+' on Tweefight. I lost :( Please revenge me! Try now http://tweefight.com/?opp='+fighter2;
	textWinToTweet = 'I just won a fight against @'+fighter2+' on Tweefight. I won! Do you want to fight? Try now http://tweefight.com/?opp='+fighter1;
	textToTweet = textWinToTweet;
	if (winnername != fighter1) textToTweet = textLoseToTweet;
	
	win = window.open("http://twitter.com/home?status="+escape(textToTweet),'twitter');
	win.focus();
}
