var scorecardUp=0;
var historyUp=0;
var breaksCount=0;
var xOffset=304;
var yOffset=124;
var ajaxHandle=null;

$(document).ready(function()
{  
	$("#cardClose").click(function(){  
		closeScorecard();  
	});  
	//close if clicked outside
	$("#filter").click(function(){  
		closeScorecard();  
	});  
	//Esc key closes too
	$(document).keypress(function(e){  
		if (e.keyCode==27){  
			closeScorecard();  
		} 
	});
	
	$(".login").click(function(e) {          
		e.preventDefault();
	    $("fieldset#login").toggle();
	    $(".login").toggleClass("login-open");
	});
				
	$("fieldset#login").mouseup(function() {
		return false;
	});
	$(document).mouseup(function(e) {
		if($(e.target).parent("a.login").length==0) {
			closeLogin();
		}
	});			
    $(function(){
    	$("#loginForm").submit(function(){
    		$.post("alogin.php", $("#loginForm").serialize(),
				function(returnData){
					if (returnData.valid == "1") {
//    					$("#loginSubmit").toggle();
    					$("#loginMessage").html("<div class='success'>OK</div>");
    					closeLogin();
//    					$("#topnav").html(returnData.errors);
						$("#topnav").html("<a href='logout.php' title='Logout'>Logout</a>");
    					
    				} else {
    					if (returnData.valid == 2){
    						closeLogin();
    					    $("fieldset#newpass").toggle();

    						$("fieldset#newpass").mouseup(function() {
    							return false;
    						});
    						$(document).mouseup(function(e) {
    							if($(e.target).parent("a.newpass").length==0) {
    								$(".newpass").removeClass("newpass-open");
    								$("fieldset#newpass").hide();
    							}
    						});	    						
    					}
    					else {
    						$("#loginMessage").html("<div class='error'><ul>"+returnData.errors+"</ul></div>");
    					}
    				}
    		}, "json");
    		return false;
    	});
    });
				
	$(".newpass").click(function(e) {          
		e.preventDefault();
	    $("fieldset#newpass").toggle();
	    $(".newpass").toggleClass("newpass-open");
	});
    
	$("fieldset#newpass").mouseup(function() {
		return false;
	});
	$(document).mouseup(function(e) {
		if($(e.target).parent("a.newpass").length==0) {
			$(".newpass").removeClass("newpass-open");
			$("fieldset#newpass").hide();
		}
	});	
    $(function(){
    	$("#newpassForm").submit(function(){
    		$.post("alogin.php", $("#newpassForm").serialize(),
				function(returnData){
    				if (returnData.valid == 1) {
//    					$("#loginSubmit").toggle();
    					$("#newpassMessage").html("<div class='success'>OK</div>");
    				} else {
    					$("#newpassMessage").html("<div class='error'><ul>"+returnData.errors+"</ul></div>");
    				}
    		}, "json");
    		return false;
    	});
    });
});
function closeLogin ()
{
	$(".login").removeClass("login-open");
	$("fieldset#login").hide();
}
function login()
{
	$.post('login.php', { }, loggedIn, "html");
}
function loggedIn(status)
{
	if (status!='Error') {
		$(".login").removeClass("login-open");
		$("fieldset#login").hide();
		$(".topnav").html(status);
	}
	else {
		$("#loginError").toggle();
	}
}

function showScorecard (matchId)
{
	$.post('json-match.php', { m : matchId }, popUpScorecard, "html");
}
function popUpScorecard (card)
{
	ajaxHandle=null;
	$("#scorecard").html(card);
	centreCard();
	if (scorecardUp==0) {
		$("#scorecard").fadeIn("slow");
		$("#scorecardT").show;
		$("#scorecardM").show;
		$("#scorecardB").show;
		scorecardUp = 1;
	    $(function(){
	    	$("#scorecardForm").submit(function(){
				$("#scoreSubmit").toggle();
	    		$.post("json-match.php", $("#scorecardForm").serialize(),
    				function(returnData){
	    				if (returnData.valid == "1") {
	    					$("#scardMessage").html("<div class='success'>You result Email has been sent, thanks.</div>");
	    					setTimeout(function(){$("#scardMessage").fadeOut("slow",function() {
	    							$("#scardMessage").html("");
	    						}); 
	    					closeScorecard();}, 5000);
	    				} else {
	    					$("#scardMessage").html("<div class='error'><ul>"+returnData.errors+"</ul></div>");
	    				}
	    		}, "json");
	    		return false;
	    	});
	    });
	    $(function(){
	    	$("#newBreakForm").submit(function(){
	    		if ($("#newBreakPlayer option:selected").val()!=0 &&
	    				$("#newBreakScore option:selected").val()!=0) {
	    					addBreak();
	    					
	    					$("#newBreakPlayer").val("0");
	    					$("#newBreakScore").val("0");
	    					$("#clearance").attr("checked","");
	    					$("#scardMessage").html("");
	    		}

	    		return false;
	    	});
	    });
	    $(function(){
	    	$("#newPlayerForm").submit(function(){
	    		if ($("#allPlayers option:selected").val()==0 ||
	    				$("#newPlayer").val()=="") {
	   
	    			addPlayer();		
	    		}
	    		return false;
	    	});
	    });
	}
}
function addPlayer()
{
	var pId=0;
	if ($("#allPlayers option:selected").val()!=0) {
		var pName=$("#allPlayers option:selected").text();
		var pId=$("#allPlayers option:selected").val();
		addPlayerById(pName,pId);
	}
	else {
		var pName=$("#newPlayer").val();
        jQuery.ajax({
            type: "GET",
            url: "addNew.php",
            dataType:"json",
            data:{ type:'player',name: pName },
            success:function(response){
//				var d=eval("("+response+")");
				if (response.valid=="1") {
					addPlayerById(pName,response.newId);
				}
            },
            error:function (xhr, ajaxOptions, thrownError){
//                alert(xhr.status);
				$("#scardMessage").html("<div class='error'>Can't add player</div>");
				setTimeout(function(){$("#scardMessage").fadeOut("slow",function() {
						$("#scardMessage").html("");
					}); 
				}, 2000);

            }       
        });
	}
}
function addPlayerById(pName, pId)
{
	if (pId) {
		$("#allPlayers").val("0");
		$("#newPlayer").val("");
		if (document.getElementById("home").checked) {
			addToPlayersCombo("hp",pName,pId);
		}
		else {
			addToPlayersCombo("ap",pName,pId);
		}
	}
}
function addToPlayersCombo(sName,pName,pId)
{
	var option="<option value='"+pId+"'>"+pName+"</option>\n";
	for(var s=0;s<4;s++) {
		$("#"+sName+s).append(option);
	}
}
function addBreak()
{
	var cval=0;
	var newBreakLi="<li id='b"+breaksCount+"'>"+$("#newBreakPlayer option:selected").text()+"&nbsp;"+
		$("#newBreakScore option:selected").val();
	if ($("#clearance").attr("checked")) {
		newBreakLi+="(Clearance)";
		cval=1;
	}
	newBreakLi+="<input type='hidden' name='clearance[]' value='"+cval+"' />";
	newBreakLi+="<input type='hidden' name='breakScore[]' value='"+$("#newBreakScore option:selected").val()+"' />";
	newBreakLi+="<input type='hidden' name='breakPlayer[]' value='"+$("#newBreakPlayer option:selected").val()+"' />"+
"<a href='javascript:removeBreak("+breaksCount+");' title='Remove this Break'>Remove</a></li>";
	$("#breaksList").append(newBreakLi);
	$("#breaks").show();
	breaksCount++;
}
function removeBreak(count)
{
	$("li#b"+count).remove();
}
function centreCard(){  
	var wWidth = document.documentElement.clientWidth;  
	var wHeight = document.documentElement.clientHeight;  
	var cHeight = $("#scorecard").height();  
	var cWidth = $("#scorecard").width();  
	$("#scorecard").css({  
		"position": "absolute",  
		"top": wHeight/2-cHeight/2+$(document).scrollTop(),  
		"left": wWidth/2-cWidth/2  
	});  
	//only need force for IE6  
	$("#filter").css({  
		"height": window.top.document.body.scrollHeight  
	});  
}

function closeScorecard ()
{
	if(scorecardUp==1) {  
		$("#scorecard").fadeOut("slow");  
		$("#filter").fadeOut("slow");  
		scorecardUp = 0;  
	}  
}
function updateBreakPlayersC()
{
	var options="<option value=''>&nbsp;</option>\n";
	if ($("#hp0").val()!=0){
		options+="<option value='"+$("#hp0 option:selected").val()+"'>"+$("#hp0 option:selected").text()+"</option>\n";
	}
	if ($("#hp1").val()!=0){
		options+="<option value='"+$("#hp1 option:selected").val()+"'>"+$("#hp1 option:selected").text()+"</option>\n";
	}
	if ($("#hp2").val()!=0){
		options+="<option value='"+$("#hp2 option:selected").val()+"'>"+$("#hp2 option:selected").text()+"</option>\n";
	}
	if ($("#hp3").val()!=0){
		options+="<option value='"+$("#hp3 option:selected").val()+"'>"+$("#hp3 option:selected").text()+"</option>\n";
	}
	if ($("#ap0").val()!=0){
		options+="<option value='"+$("#ap0 option:selected").val()+"'>"+$("#ap0 option:selected").text()+"</option>\n";
	}
	if ($("#ap1").val()!=0){
		options+="<option value='"+$("#ap1 option:selected").val()+"'>"+$("#ap1 option:selected").text()+"</option>\n";
	}
	if ($("#ap2").val()!=0){
		options+="<option value='"+$("#ap2 option:selected").val()+"'>"+$("#ap2 option:selected").text()+"</option>\n";
	}
	if ($("#ap3").val()!=0){
		options+="<option value='"+$("#ap3 option:selected").val()+"'>"+$("#ap3 option:selected").text()+"</option>\n";
	}

	$("select#newBreakPlayer").html(options);
}
function updateBreakPlayersT()
{
	var options="<option value=''>&nbsp;</option>\n";
	if ($("#hp0").val()!=""){
		options+="<option value='"+$("#hp0").val()+"'>"+$("#hp0").val()+"</option>\n";
	}
	if ($("#hp1").val()!=0){
		options+="<option value='"+$("#hp1").val()+"'>"+$("#hp1").val()+"</option>\n";
	}
	if ($("#hp2").val()!=0){
		options+="<option value='"+$("#hp2").val()+"'>"+$("#hp2").val()+"</option>\n";
	}
	if ($("#hp3").val()!=0){
		options+="<option value='"+$("#hp3").val()+"'>"+$("#hp3").val()+"</option>\n";
	}
	if ($("#ap0").val()!=0){
		options+="<option value='"+$("#ap0").val()+"'>"+$("#ap0").val()+"</option>\n";
	}
	if ($("#ap1").val()!=0){
		options+="<option value='"+$("#ap1").val()+"'>"+$("#ap1").val()+"</option>\n";
	}
	if ($("#ap2").val()!=0){
		options+="<option value='"+$("#ap2").val()+"'>"+$("#ap2").val()+"</option>\n";
	}
	if ($("#ap3").val()!=0){
		options+="<option value='"+$("#ap3").val()+"'>"+$("#ap3").val()+"</option>\n";
	}

	$("select#newBreakPlayer").html(options);
}
function showHistory(matchId,x,y)
{
	if (ajaxHandle!=null) {
		ajaxHandle.abort();
	}
	
	$("#history")
		.css("top",(y - yOffset) + "px")
		.css("left",(x - xOffset) + "px");
	ajaxHandle=$.post('history-match.php', { m : matchId }, popUpHistory, "html");
}
function popUpHistory(history)
{
	ajaxHandle=null;
	$("#history").html(history);	
	$("#history").fadeIn("fast");
}
function closeHistory(matchId)
{
	if (ajaxHandle!=null) {
		ajaxHandle.abort();
		ajaxHandle=null;
	}
	setTimeout('$("#history").fadeOut("fast")',0);
	
//	$("#history").fadeOut("fast");
//	clearTimeout(t.matchId);
}
function calcHome()
{
	$("#homeScore").val(parseInt($("#hpScore0").val())+parseInt($("#hpScore1").val())+
		parseInt($("#hpScore2").val())+parseInt($("#hpScore3").val()));
}
function calcAway(){
	$("#awayScore").val(parseInt($("#apScore0").val())+parseInt($("#apScore1").val())+
		parseInt($("#apScore2").val())+parseInt($("#apScore3").val()));
}