﻿var currentGameTitle = '';

/*
dialogs() - 
Function writes the dialog container divs to the master span
*/
function dialogs()
{
    var spanObj = document.getElementById("dSpan");
    spanObj.innerHTML = '<div style="display:none;" title="הרשמה לאתר גיימבו" id="regDialog"></div><div style="display:none;" title="כניסה לחשבון שלי בגיימבו" id="loginDialog"></div><div style="display:none;" title="הוספת תגובה למשחק" id="talkbackDialog"></div><div style="display:none;" title="שכחתי את הסיסמה שלי" id="passDialog"></div>';
}




/*
getDialog(dialogFileName, writeInDiv) - 
Function writes dialog html content in an HTML Object
*/
function getDialog(dialogFileName, writeInObjectId)
{
   
    var inDiv = document.getElementById(writeInObjectId);
    var currentTime = new Date();
    var d = currentTime.getTime();
    
    var pageURL = "/dialogs/" + dialogFileName + ".html?d=" + d;

    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
        {
            if(xObj.readyState==4)
            {
               var response = xObj.responseText;
               inDiv.innerHTML = response;
               try
               {
                loadDates();
               }
               catch(ex)
               {
               
               }
               
               if(currentGameTitle != '')
               {
                    document.getElementById("talkBackGame").innerHTML = currentGameTitle;
               }
               
            }
        };

    xObj.open ("get", pageURL ,true);
    xObj.send(null);
}


/*
showPass() - 
Function displays pass reminder user dialog
*/
function showPass()
{
        
        getDialog("sendPass", "passDialog")
        $('#loginDialog').dialog('close');
		$('#passDialog').dialog('open');
		hideFlashObject();
		return false;
}


/*
showPassErr(errTxT, objectId) - 
Function displays password dialog error
*/
function showPassErr(errTxT, objectId)
{
    document.getElementById(objectId).innerHTML = errTxT;
    
}


/*
clearPassErrs() - 
Function clear all pass reminder error
*/
function clearPassErrs()
{
    document.getElementById("passEmailErr").innerHTML = "";
    document.getElementById("passErr").innerHTML = "";
    
}


/*
sendPass() - 
Function for sending user password reminder
*/
function sendPass()
{

    clearPassErrs();
    document.getElementById("passLoading").style.display = '';
    document.getElementById("passErr").style.display = 'none';
    document.getElementById("passErr").style.color = 'red';
    var hasErr = 0;
    var UserEmail = document.getElementById("passUserEmail").value;
    
    
    if (trim(UserEmail) == '' || !validateMail(UserEmail))
    {
        showRegErr("יש להזין כתובת אימייל תקנית", "passEmailErr");
        hasErr = 1;
    }

    
    if(hasErr)
    {
        document.getElementById("passLoading").style.display = 'none';
        return;
    }
    


    var pageURL = "/ajax/sendPass.aspx?";
    pageURL += "m=" + encodeURIComponent(UserEmail);
    

    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
        {
            if(xObj.readyState==4)
            {
               var response = xObj.responseText;
               
               document.getElementById("passLoading").style.display = 'none'; 
               if(response == '0')
               {
                    document.getElementById("passErr").style.display = '';
                    document.getElementById("passErr").innerHTML = 'כתובת האימייל לא נמצאה במערכת.';
               }
               else
               {
                    document.getElementById("passErr").style.display = '';
                    document.getElementById("passErr").style.color = 'green';
                    document.getElementById("passErr").innerHTML = 'סיסמת הכניסה נשלחה לחשבון האימייל שלך.';
               }
            }
        };

    xObj.open ("post", pageURL ,true);
    xObj.send(null);
}


/*
showRegUser() - 
Function displays register user dialog
*/
function showRegUser()
{
        
		$('#regDialog').dialog('open');
}

/*
regUser() - 
Function for registering new user
*/
function regUser(showAddTalkBack)
{
    document.getElementById("regLoading").style.display = '';
    document.getElementById("regErr").style.display = 'none';
    clearRegErrs();
    var hasErr = 0;
    var UserName = document.getElementById("regUserName").value;
    var UserEmail = document.getElementById("regUserEmail").value;
    var Password = document.getElementById("regPassword").value;
    var FirstName = document.getElementById("regFirstName").value;
    var LastName = document.getElementById("regLastName").value;
    var BirthDateYear = document.getElementById("regBirthDateYear").value;
    var BirthDateMonth = document.getElementById("regBirthDateMonth").value;
    var BirthDateDay = document.getElementById("regBirthDateDay").value;
    var SexMale = document.getElementById("regSexMale").checked;
    var SexFemail = document.getElementById("regSexFemail").checked;
    var Area = document.getElementById("regArea").value;
    var GetMails = document.getElementById("regGetMails").checked;
    var Capcha = document.getElementById("capTxT").value; 
    
    var inputDate = BirthDateDay + "/" + BirthDateMonth + "/" + BirthDateYear;
    
    if(trim(UserName) == ''|| UserName.length < 4)
    {
        showRegErr("יש לבחור שם משתמש בן מינימום 4 תווים", "userNameErr");
        hasErr = 1;
    }
    
    if (trim(UserEmail) == '' || !validateMail(UserEmail))
    {
        showRegErr("יש להזין כתובת אימייל תקנית", "emailErr");
        hasErr = 1;
    }
    
    
    if(trim(Password) == '' || Password.length < 4)
    {
        showRegErr("יש לבחור סיסמה בת מינימום 4 תווים", "passwordErr");
        hasErr = 1;
    }
    
    var dateOK = 0;
    try
    {
        dateOK = isDate(inputDate);
    }
    catch(e)
    {
        dateOK = 1;
    }
    
    if(!dateOK)
    {
        showRegErr("תאריך הלידה שבחרת אינו תקין", "dateErr");
        hasErr = 1;
    }

    if(Capcha.length == 0 || isNaN(Capcha))
    {
        showRegErr("יש להקליד את הספרות המוצגות", "capErr");
        hasErr = 1;
    }
    
    
    if(hasErr)
    {
        document.getElementById("regLoading").style.display = 'none';
        return;
    }
    
    var userSex = 1;
    if(SexFemail)
    {
        userSex = 2;
    }
    var getMails = 0;
    if(GetMails)
    {
        getMails = 1;
    }
    
    
    var pageURL = "/ajax/regUser.aspx?";
    pageURL+= "userName=" + encodeURIComponent(UserName) + "&";
    pageURL+= "userPassword=" + encodeURIComponent(Password) + "&";
    pageURL+= "userEmail=" + encodeURIComponent(UserEmail) + "&";
    pageURL+= "userBirthDate=" + encodeURIComponent(inputDate) + "&";
    pageURL+= "userFirstName=" + encodeURIComponent(FirstName) + "&";
    pageURL+= "userLastName=" + encodeURIComponent(LastName) + "&";
    pageURL+= "userSex=" + encodeURIComponent(userSex) + "&";
    pageURL+= "areaId=" + encodeURIComponent(Area) + "&";
    pageURL+= "getEmails=" + encodeURIComponent(getMails)+ "&";
    pageURL+= "cap=" + encodeURIComponent(Capcha);

    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
        {
            if(xObj.readyState==4)
            {
               var response = xObj.responseText;
               var userId = response.split("|")[0];
               var errText = response.split("|")[1]; 
               document.getElementById("regLoading").style.display = 'none'; 
               if(errText != '')
               {
                    document.getElementById("regErr").style.display = '';
                    document.getElementById("regErr").innerHTML = errText;
               }
               else
               {
                    if(showAddTalkBack)
                    {
                        $('#regDialog').dialog('close');
                        $('#talkbackDialog').dialog('open');
                    }
                    else
                    {
                        window.location.reload();
                    }               
               }
            }
        };

    xObj.open ("post", pageURL ,true);
    xObj.send(null);
}


/*
showRegErr(errTxT, objectId) - 
Function displays register error
*/
function showRegErr(errTxT, objectId)
{
    document.getElementById(objectId).innerHTML = errTxT;
    
}

/*
clearRegErrs() - 
Function clear all register error
*/
function clearRegErrs()
{
    document.getElementById("userNameErr").innerHTML = "";
    document.getElementById("emailErr").innerHTML = "";
    document.getElementById("passwordErr").innerHTML = "";
    document.getElementById("dateErr").innerHTML = "";
    document.getElementById("capErr").innerHTML = "";
    
}


/*
showLoginUser() - 
Function displays login user dialog
*/
function showLoginUser()
{
        getDialog("login", "loginDialog")
		$('#loginDialog').dialog('open');
}


/*
loginUser() - 
Function for user login
*/
function loginUser(showAddTalkBack)
{
    document.getElementById("loginLoading").style.display = '';
    document.getElementById("loginErr").style.display = 'none';
    clearLoginErrs();
    var hasErr = 0;
    var UserName = document.getElementById("loginUserName").value;
    var Password = document.getElementById("loginPassword").value;
    
 
    if(trim(UserName) == '')
    {
        showLoginErr("יש להזין שם משתמש", "loginUserNameErr");
        hasErr = 1;
    }
    
    if (trim(Password) == '')
    {
        showLoginErr("יש להזין סיסמה", "loginPasswordErr");
        hasErr = 1;
    }
    
    
    
    if(hasErr)
    {
        document.getElementById("loginLoading").style.display = 'none';
        return;
    }
    
  

    var pageURL = "/ajax/login.aspx?";
    pageURL+= "userName=" + encodeURIComponent(UserName) + "&";
    pageURL+= "userPassword=" + encodeURIComponent(Password);
    

    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
        {
            if(xObj.readyState==4)
            { 
               var response = '';
               
               try
               {
                    response = xObj.responseText;
               }
               catch(ex){}
                              
               
               document.getElementById("loginLoading").style.display = 'none'; 
               if(response != '')
               {
                    document.getElementById("loginErr").style.display = '';
                    document.getElementById("loginErr").innerHTML = 'שם המשתמש או הסיסמה אינם נכונים';
               }
               else
               {
                    if(showAddTalkBack)
                    {
                        $('#loginDialog').dialog('close');
                        $('#talkbackDialog').dialog('open');
                    }
                    else
                    {
                        window.location.reload();
                    }
               }
            }
        };

    xObj.open ("post", pageURL ,true);
    xObj.send(null);
}


/*
showLoginErr(errTxT, objectId) - 
Function displays login error
*/
function showLoginErr(errTxT, objectId)
{
    document.getElementById(objectId).innerHTML = errTxT;
    
}


/*
showTalkback() - 
Function displays talckback dialog
*/
function showTalkback(gameTitle)
{
        currentGameTitle = gameTitle;
        getDialog("talkback", "talkbackDialog")
		$('#talkbackDialog').dialog('open');
}


/*
addTalkback(gameId) - 
Function for adding user talkback
*/
function addTalkback(gameId)
{
    document.getElementById("talkBackLoading").style.display = '';
    document.getElementById("talkBackErr").style.display = 'none';
    clearTalkbackErrs();
    var hasErr = 0;
    var TalkBackText = document.getElementById("talkBackText").value;
    
 
    if(trim(TalkBackText) == '')
    {
        showTalkbackErr("יש לרשום תוכן תגובה", "talkBackTextErr");
        hasErr = 1;
    }
    

    if(hasErr)
    {
        document.getElementById("talkBackLoading").style.display = 'none';
        return;
    }
    
  

    var pageURL = "/ajax/talkback.aspx?gameId=" + gameId + "&";
    pageURL+= "talkBackText=" + encodeURIComponent(TalkBackText);
    

    var xObj = getHttpRequestObj();
    xObj.onreadystatechange =  function () 
        {
            if(xObj.readyState==4)
            {
               var response = '';
               
               try
               {
                    response = xObj.responseText;
               }
               catch(ex){}
               
               document.getElementById("talkBackLoading").style.display = 'none'; 
               if(response != '')
               {
                    document.getElementById("talkBackErr").style.display = '';
                    document.getElementById("talkBackErr").innerHTML = response;
               }
               else
               {
                    window.location.reload();
               }
            }
        };

    xObj.open ("post", pageURL ,true);
    xObj.send(null);
}


/*
clearTalkbackErrs() - 
Function clear all talkback error
*/
function clearTalkbackErrs()
{
    document.getElementById("talkBackTextErr").innerHTML = "";

    
}




/*
showTalkbackErr(errTxT, objectId) - 
Function displays talkback error
*/
function showTalkbackErr(errTxT, objectId)
{
    document.getElementById(objectId).innerHTML = errTxT;
    
}



/*
clearLoginErrs() - 
Function clear all login error
*/
function clearLoginErrs()
{
    document.getElementById("loginUserNameErr").innerHTML = "";
    document.getElementById("loginPasswordErr").innerHTML = "";

    
}


