var bSearchNickname = false;
var bSearchLastname = false;

function validatePersona(form) {
    var persona = (form.persona.value).replace(/^\s+|\s+$/g,"").toUpperCase();
    if(persona == "ENTER PERSONA ID")
    {
        alert("You have not provided a valid Persona ID.\n\nPlease try again.");
        form.persona.style.background = "#FFFCC0";  
        return false;
    }
    else
    {
        chkPersona = /^[a-zA-Z0-9]{8}$/;
        if (!chkPersona.test(form.persona.value)) { // check if lastname is valid
            alert("You have not provided a valid Persona ID (8 characters)\n\nPlease try again.");
            form.persona.focus();
            form.persona.style.background = "#FFFCC0";
            return false;
        }    
    }
    return true;
}

function validateNicknameLastname(form) {
    var nickname = (form.nickname.value).replace(/^\s+|\s+$/g,"").toUpperCase();
    var lastname = (form.lastname.value).replace(/^\s+|\s+$/g,"").toUpperCase();
    if(nickname == "ENTER NICKNAME" && lastname == "ENTER LAST NAME")
    {
        alert("You have not provided a valid Nickname or Last Name.\n\nPlease try again.");
        form.nickname.style.background = "#FFFCC0";
        form.lastname.style.background = "#FFFCC0";            
        return false;
    }
    if(nickname != "ENTER NICKNAME")
    {
        chkNickname = /^[\sa-zA-Z\.\'\&\*\!]{4,26}$/;
        if (!chkNickname.test(form.nickname.value)) { // check if nickname is valid
            alert("You have not provided a valid Nickname (min. 4).\n\nPlease try again.");
            form.nickname.focus();
            form.nickname.style.background = "#FFFCC0";
            return false;    
        }
    }
    if(lastname != "ENTER LAST NAME")
    {
        chkLastname = /^[\sa-zA-Z]{1,26}$/;
        if (!chkLastname.test(form.lastname.value)) { // check if lastname is valid
            alert("You have not provided a valid Last Name (min. 1)\n\nPlease try again.");
            form.lastname.focus();
            form.lastname.style.background = "#FFFCC0";
            return false;
        }
    }    
    showQuickStatsSearchMsg();
    return true;
}
    
function showQuickStatsMainPlayerWindow() {
    resetForms();
    
    $.blockUI.defaults.css.cursor = 'default';
    $.blockUI({ message: $('#quickStatsSearchPopUp')});

    if ( document.getElementById("marquee") != null ) {
        document.getElementById("marquee").style.visibility = "hidden";
    }
}

function populateValue(str, elm)
{
    if(elm.value == "")
    {
        elm.value = str;
        elm.style.color = "#aaa";
    }
}
    
function hideQuickStatsMainPlayerWindow() {  
    $.unblockUI();
    
    if ( document.getElementById("marquee") != null ) {
        document.getElementById("marquee").style.visibility = "visible";
    }
} 

function resetForms()
{
    for(var i = 0; i < document.forms.length; i++)
    {
        document.forms[i].reset();
    }    
}
         
function showQuickStatsAddPlayerWindow(id) {
    resetForms();
    $.blockUI.defaults.css.cursor = 'default';

    document.frmGetPlayerStats.myID.value = id;
    $.blockUI({message: $('#AjaxWindow')});
}

function hideQuickStatsAddPlayerWindow() {
    $.unblockUI();
}
    
function showQuickStatsSearchMsg() {
    $("#quickStatsSearch_msg").css("display", "block");
    window.scroll(0,0);
}

function hideQuickStatsSearchMsg() {
    document.getElementById("quickStatsSearch_msg").style.display = "";
}   

function chkFocusValue(obj,str) {
    if ( obj.value == str ) {
        obj.value = "";
    }
    obj.style.color = "#000";
}

function chkKeyDownValue(obj) {
    obj.style.backgroundColor = "#fff";
}
  
function changeValues(str) {
    var arr = str.split("|");   
    document.getElementById("myID" + document.frmGetPlayerStats.myID.value).value = arr[0];
    document.getElementById("myKEYCODE" + document.frmGetPlayerStats.myID.value).value = arr[1];
}    

function searchForPlayers(form, url) {     

    if ( validateNicknameLastname(form) ) {

        document.getElementById("results").innerHTML = "<div style='color:#800000;font-style:italic'>Searching for results....</div>";

        var params = new Object();
        if(form.nickname)
        {
            params["nickname"] = (form.nickname.value).replace(/^\s+|\s+$/g,"");
        }
        if(form.lastname)
        {
            params["lastname"] = (form.lastname.value).replace(/^\s+|\s+$/g,"");
        }
        params["ACTION"] = "SEARCH_FOR_NICKNAME_AJAX";

        $.ajax
        ({
            url: url + "/PlayerQuickStats",
            type: "POST",
            data: params,
            dataType: "html",
            success: function(data) {
                $("#results").html(data);
            },
            error: function(request, textStatus, errorThrown) 
            {  

            }
        });
    } else {
        document.getElementById("results").innerHTML = "";
    }
}

function searchForPlayersByPersona(form, url) {     
    if(validatePersona(form)) {
        document.getElementById("results").innerHTML = "<div style='color:#800000;font-style:italic'>Searching for results....</div>";
        
        var params = new Object();
        if(form.persona)
        {
            params["persona"] = (form.persona.value).replace(/^\s+|\s+$/g,"");
        }
        params["ACTION"] = "SEARCH_FOR_NICKNAME_AJAX";
        $.ajax
        ({
            url: url + "/PlayerQuickStats",
            type: "POST",
            data: params,
            dataType: "html",
            success: function(data) {
                $("#results").html(data);
            },
            error: function(request, textStatus, errorThrown) 
            {  

            }
        });        
    } 
    else {
        document.getElementById("results").innerHTML = "";
    }
}

/* 
 * quicks stats
 * 
 */
    
function showCourse2( id ) {
    document.frmGetPlayerStats.submit();
}

function showStats2(layerName) {
    $("#playerTotals").hide(); 
    $("#playerAverages").hide(); 
    $("#playerBests").hide(); 
    $("#player"+layerName).show(); 

}

function showStatType(layerName,urlPath) {
                
    if ( layerName == "yearly" ) {
        document.getElementById("yearlyTab").style.backgroundImage = "url(" + urlPath + "/Common/images/quickStats/tab_ON.gif)";
        document.getElementById("lifetimeTab").style.backgroundImage = "url(" + urlPath + "/Common/images/quickStats/tab_OFF.gif)";
        document.getElementById("lifetimeTab").style.backgroundColor = "#868686";
    } else if ( layerName == "lifetime" ) {
        document.getElementById("yearlyTab").style.backgroundImage = "url(" + urlPath + "/Common/images/quickStats/tab_OFF.gif)";
        document.getElementById("lifetimeTab").style.backgroundImage = "url(" + urlPath + "/Common/images/quickStats/tab_ON.gif)";
        document.getElementById("lifetimeTab").style.backgroundColor = "#bfbfbf";
    }
                
    var playerBests = document.getElementById("playerBests").getElementsByTagName( "span" );
    for ( var i = 0; i < playerBests.length; i++ ) {
        if ( playerBests[i].className.indexOf(layerName) >= 0 ) {
            playerBests[i].style.display = "block";
        } else {
            playerBests[i].style.display = "none";
        }
    }

    var playerTotals = document.getElementById("playerTotals").getElementsByTagName( "span" );
    for ( var j = 0; j < playerTotals.length; j++ ) {
        if ( playerTotals[j].className.indexOf(layerName) >= 0 ) {
            playerTotals[j].style.display = "block";
        } else {
            playerTotals[j].style.display = "none";
        }
    }

    var playerAverages = document.getElementById("playerAverages").getElementsByTagName( "span" );
    for ( var k = 0; k < playerAverages.length; k++ ) {
        if ( playerAverages[k].className.indexOf(layerName) >= 0 ) {
            playerAverages[k].style.display = "block";
        } else {
            playerAverages[k].style.display = "none";
        }
    }
}

 
    
    
    
    
