/*
var arrSubmitButton = { "username":0, "url":0, "key1":0, "key2":0, "key3":0, "key4":0, "key5":0 };
var arrSubmitButton = { "username":0, "key1":0, "key2":0, "key3":0, "key4":0, "key5":0 };
*/
var youtubeSearchMenu = 'off';
var objectMenu = 'off';

function manageYoutubeSearchMenu(){
	if (youtubeSearchMenu == 'off') { //accendo il search
		if(objectMenu == 'on'){
			document.getElementById('object').style.display = 'none';
			objectMenu = 'off';
		}
		
		document.getElementById('videoControl').style.display = 'block';
		LoadVideoSearchControl();
		
		youtubeSearchMenu = 'on';
	}
	else if (youtubeSearchMenu == 'on') { // spengo il search
		if(objectMenu == 'on'){
			document.getElementById('object').style.display = 'block';
			objectMenu = 'on';
		}
		else
			objectMenu = 'on';
		
		document.getElementById('videoControl').style.display = 'none';
		document.getElementById('object').style.display = 'block';
		
		youtubeSearchMenu = 'off';
	}
}

function manageSubmitButton(){
	var checkProd = 1;
	var debug = 'debug: ';
	for (var field in arrSubmitButton) {  
		checkProd = checkProd*arrSubmitButton[field];
		//debug = debug+' <br> '+field+': '+arrSubmitButton[field];
	}
	//document.getElementById('debug').innerHTML = debug;
	if(checkProd==1){
		document.getElementById('submit').style.border = '#9999FF solid 2px';
		document.getElementById('submit').style.color = '#9999FF';
		document.getElementById('submit').focus();
		return true;
	}
	else{
		document.getElementById('submit').style.border = '#9999FF solid 2px';
		document.getElementById('submit').style.color = '#9999FF';
		return false;
	}
}

function resetGameForm(page){
	
	if(page=='create'){
		document.getElementById('video').value = '';
		document.getElementById('submit').style.display = 'inline';
		//document.getElementById('videoPw').innerHTML = '';
		//document.getElementById('object').innerHTML = '';
		document.getElementById('video_load').innerHTML = '';
		document.getElementById('playgameLoader').style.display = 'none';
		
		document.getElementById('key1_ok').innerHTML = '';
		document.getElementById('key2_ok').innerHTML = '';
		document.getElementById('key3_ok').innerHTML = '';
		document.getElementById('key4_ok').innerHTML = '';
		document.getElementById('key5_ok').innerHTML = '';		
	}
	document.getElementById('key1').value = '';
	document.getElementById('key1_load').innerHTML = '';
	
	document.getElementById('key2').value = '';
	document.getElementById('key2_load').innerHTML = '';
	
	document.getElementById('key3').value = '';
	document.getElementById('key3_load').innerHTML = '';
	
	document.getElementById('key4').value = '';
	document.getElementById('key4_load').innerHTML = '';
	
	document.getElementById('key5').value = '';
	document.getElementById('key5_load').innerHTML = '';
	
	
	document.getElementById('submitFeedback').innerHTML = '';
	document.getElementById('username').focus();
	
	if(page=='create')
		arrSubmitButton = { "username":1, "url":0, "key1":0, "key2":0, "key3":0, "key4":0, "key5":0 };
	else
		arrSubmitButton = { "username":1, "key1":0, "key2":0, "key3":0, "key4":0, "key5":0 };
	
	manageSubmitButton();
}

function showAvatar(user,url){
	document.getElementById('avatarPw').innerHTML = '<img src="'+url+'" alt="'+user+'" />';
}

function validateUser(username){
	var username = document.getElementById('username').value.toLowerCase();
	
	var poststring = 'username='+username;
	var communication = YAHOO.util.Connect.asyncRequest('POST', './ajax/validateUser.php', validateUserCallBack, poststring); 
	document.getElementById('username_load').innerHTML = '<img src="images/mini-loader.gif" />';
}

var validateUserCallBack = {
		success : function(o) {
				resp = o.responseText;	
				
				var splitted = resp.split("|");
				if(splitted[0]=='ok'){
					document.getElementById('username_load').innerHTML = '<img src="images/ok.gif" alt="'+splitted[2]+'" title="'+splitted[2]+'" />';
					
					if(document.getElementById('user_id'))
						document.getElementById('user_id').value = splitted[1];
					
					arrSubmitButton["username"] = 1;
					showAvatar(splitted[2], splitted[3]);
					manageSubmitButton();
					
					if(document.getElementById('overallScoreBox'))
						loadUserScores(splitted[2]);
				}
				else{
					document.getElementById('username_load').innerHTML = '<img src="images/fail.gif" alt="'+splitted[2]+'" title="'+splitted[2]+'" />';	
					arrSubmitButton["username"] = 0;
				}
				/*
				document.getElementById('fightloader').style.display = 'none';
				*/
		},
		fails : function (o) {
			alert('fails');
		}
}

function loadUserScores(username){
	var poststring = 'username='+username;
	var communication = YAHOO.util.Connect.asyncRequest('POST', './ajax/getUserScores.php', loadUserScoresCallBack, poststring); 
	//document.getElementById('overallScorePw').innerHTML = '<img src="images/big-loader.gif" alt="loading..." />';
	//document.getElementById('lastScorePw').innerHTML = '<img src="images/big-loader.gif" alt="loading..." />';
}

var loadUserScoresCallBack = {
		success : function(o) {
				resp = o.responseText;	
				var splitted = resp.split("|");
				if(splitted[0]=='ok'){
					document.getElementById('overallScorePw').innerHTML = '<input type="text" id="fixed_overall" value="'+splitted[2]+'" readonly="readonly" />';
					document.getElementById('lastScorePw').innerHTML 	= '<input type="text" id="fixed_last" value="'+splitted[3]+'" readonly="readonly" />';
				}
				else{
					//document.getElementById('video_load').innerHTML = '<img src="images/fail.gif" alt="'+splitted[1]+'" title="'+splitted[1]+'" />';
				}
				
		},
		fails : function (o) {
			alert('fails');
		}
}

function validateVideo(url){
	var poststring = 'url='+url;
	var communication = YAHOO.util.Connect.asyncRequest('POST', './ajax/validateVideo.php', validateVideoCallBack, poststring); 
	document.getElementById('video_load').innerHTML = '<img src="images/mini-loader.gif" />';
}

var validateVideoCallBack = {
		success : function(o) {
				resp = o.responseText;	
				var splitted = resp.split("|");
				if(splitted[0]=='ok'){
					document.getElementById('video_load').innerHTML = '<img src="images/ok.gif" />';
					document.getElementById('video').value = 'http://www.youtube.com/watch?v='+splitted[1];
					arrSubmitButton["url"] = 1;
					createVideoPreview(splitted[1]);
					manageSubmitButton();
					objectMenu = 'on';
					youtubeSearchMenu = 'off';
				}
				else{
					document.getElementById('video_load').innerHTML = '<img src="images/fail.gif" alt="'+splitted[1]+'" title="'+splitted[1]+'" />';
					arrSubmitButton["url"] = 0;
				}
				
		},
		fails : function (o) {
			alert('fails');
		}
}

function createVideoPreview(code){
	document.getElementById('videoPw').innerHTML = '<div id="videoControl"></div><div id="object"><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/'+code+'&hl=it&fs=1&rel=0&color1=0x402061&color2=0x9461ca&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+code+'&hl=it&fs=1&rel=0&color1=0x402061&color2=0x9461ca&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="400"></embed></object></div>';
}

function showKeyword(status,keyId,txt){
	if(status=='ko')
		document.getElementById(keyId+'_ok').innerHTML = '';
	else
		document.getElementById(keyId+'_ok').innerHTML = txt;
}

function validateKeyword(keyId, str){
	var poststring = 'str='+str+'&keyId='+keyId;
	var communication = YAHOO.util.Connect.asyncRequest('POST', './ajax/validateKeyword.php', validateKeywordCallBack, poststring); 
	document.getElementById(keyId+'_load').innerHTML = '<img src="images/mini-loader.gif" />';
}

var validateKeywordCallBack = {
		success : function(o) {
				resp = o.responseText;	
				var splitted = resp.split("|");
				if(splitted[0]=='ok'){
					document.getElementById(splitted[1]+'_load').innerHTML = '<img src="images/ok.gif" />';
					arrSubmitButton[splitted[1]] = 1;
					manageSubmitButton();
				}
				else{
					document.getElementById(splitted[1]+'_load').innerHTML = '<img src="images/fail.gif" alt="'+splitted[2]+'" title="'+splitted[2]+'" />';	
					arrSubmitButton[splitted[1]] = 0;
				}
				if(document.getElementById('keywordsPw'))
					showKeyword(splitted[0],splitted[1],splitted[2]);
		},
		fails : function (o) {
			alert('fails');
		}
}

function createGame(){
		
		var username = document.getElementById('username').value.toLowerCase();
		var url = document.getElementById('video').value;
		
		var key1 = escape(document.getElementById('key1').value.toLowerCase());
		var key2 = escape(document.getElementById('key2').value.toLowerCase());
		var key3 = escape(document.getElementById('key3').value.toLowerCase());
		var key4 = escape(document.getElementById('key4').value.toLowerCase());
		var key5 = escape(document.getElementById('key5').value.toLowerCase());

		if (username == '') {
			alert("User Missing");
			return false;
		}
		if (url == '') {
			alert("Video url missing");
			return false;
		}
		else {
			document.getElementById('playgameLoader').style.display = 'inline';
			document.getElementById('submit').style.display = 'none';
			
			var poststring = 'username='+username+'&url='+url+'&key1='+key1+'&key2='+key2+'&key3='+key3+'&key4='+key4+'&key5='+key5;
			var communication = YAHOO.util.Connect.asyncRequest('POST', './ajax/createGame.php', createGameCallBack, poststring); 
		}
}

var createGameCallBack = {
		success : function(o) {
				resp = o.responseText;	
				
				if (resp.indexOf('error')==-1){
					var splitted = resp.split("|");	
					if(splitted[0]=='ok'){
						
						document.getElementById('playgameLoader').style.display = 'none';
						resetGameForm('create');
						manageYoutubeSearchMenu();
						document.getElementById('object').innerHTML = '';
						
						var timeline = escape('I just create a Tweedeogame. Play now: http://www.tweedeogame.com?play='+splitted[1]+' and improve your score!');
						
						document.getElementById('submitFeedback').innerHTML = '<img src="images/ok.gif" /> Game successfully created <br /><a href="http://twitter.com/home?status='+timeline+'" target="_blank"><img src="images/tweet-big.png" alt="Tweet this" /></a><br /><div id="create"><img src="images/or.png" alt="Create a game" /><br /><a onClick="resetGameForm(\'create\');"><img src="images/create.png" alt="Create a game" /></a></div>';
					}
					else{
						document.getElementById('submitFeedback').innerHTML = '<img src="images/fail.gif" /> Error: '+splitted[1]+' <br /><a href="./"><img src="images/play.png" alt="Skip" /></a><br /><div id="create"><img src="images/or.png" alt="Create a game" /><br /><a onClick="resetGameForm(\'create\');"><img src="images/create.png" alt="Create a game" /></a></div>';
					}
				}
				else {
					
				}
				
		},
		fails : function (o) {
			alert('fails');
		}
}