﻿var oFakeLoginInput = null;
function InnerLogin_AddFakePassword(sPassword)
{
    oFakeLoginInput = $("<input type='text' id='txtloginfakepass' class='loginTxt BoxStyle' value='"+sPassword+"' onfocus='InnerLogin_OnFocus();'/>");
    oFakeLoginInput.insertBefore($("input[id$='_txtLoginPass']"));
}

function InnerLogin_OnFocus()
{
    $("input[id$='_txtLoginPass']").css({'display':'inline'});
    $("input[id$='_txtLoginPass']").focus();
    $('#txtloginfakepass').remove();
}

function InnerLogin_OnBlurPass()
{
    if ($("input[id$='_txtLoginPass']").val()=="")
    {
        oFakeLoginInput.insertBefore($("input[id$='_txtLoginPass']"));
        $("input[id$='_txtLoginPass']").css({'display':'none'});
    }
}

function InnerLogin_OnBlurUser(sUser)    
{
    if ($("input[id$='_txtLoginName']").val()=="")
    {
        $("input[id$='_txtLoginName']").val(sUser);
    }
}

//***************************************************************************
// registration validations
//***************************************************************************

jQuery(document).ready(function() {

    if (jQuery("#divContent").length>0)
    {
        var IE6 = false;
        if (document.all && !window.opera && !window.XMLHttpRequest)
        {
            IE6 = true;
        }
        var oBodyH = jQuery(document.body).height()-263;
        while (jQuery("#divContent").outerHeight(true)<= oBodyH)
        {
            if (IE6)
            {
                jQuery("#divContent").css("height",(jQuery("#divContent").height()+5)+'px');
            }
            else
            {
                jQuery("#divContent").css("min-height",(jQuery("#divContent").height()+5)+'px');
            }
        }
        
        jQuery("#divContent table.tableInnerContent").attr('style','_display:inline;');
    }

    jQuery(".innerRegister input[type!='submit']").focus(function() {
        ValidateInput(jQuery(this), true, false);
    });
    jQuery(".innerRegister input[type!='submit'][id!='txtRegUserName']").keyup(function(event) {
        ValidateInput(jQuery(this), true, false);
        if (event.keyCode == '13') {
            jQuery(".innerRegister .button").click();
        }
    });
    jQuery(".innerRegister input[type!='submit']").blur(function() {
        ValidateInput(jQuery(this), false, false);
    });

    jQuery(".innerRegister span[id^='err']").mouseenter(function() {
        var oInput = jQuery("#" + jQuery(this).attr("id").replace("err", "txt"));
        ValidateInput(oInput, true, true);
    });
    
    jQuery(".innerRegister input[id='txtRegUserName']").keyup(function(event) {
        if (event.keyCode == '13') {
            jQuery(".innerRegister .button").click();
        }
    });
    
     jQuery(".innerRegister input[id='txtEmail']").focus(function(){
        try {
            ClickTaleTag("HP_registration field_E-mail");
        }catch(ex){}
    });
});

jQuery(document).ready(function() {
    jQuery(".innerRegistration input").focus(function() {
        ValidateInput(jQuery(this), true, false);
    });
    jQuery(".innerRegistration input[id!='txtInnerUsername']").keyup(function(event) {
        ValidateInput(jQuery(this), true, false);
        if (event.keyCode == '13') {
            jQuery(".innerRegistration .button").click();
        }
    });
    jQuery(".innerRegistration input").blur(function() {
        ValidateInput(jQuery(this), false, false);
    });
    
    jQuery(".innerRegistration span[id^='err']").mouseenter(function() {
        var oInput = jQuery("#" + jQuery(this).attr("id").replace("err", "txtInner"));
        ValidateInput(oInput, true, true);
    });
    
    jQuery(".innerRegistration input[id='txtInnerUsername']").keyup(function(event) {
        if (event.keyCode == '13') {
            jQuery(".innerRegistration .button").click();
        }
    });
});

jQuery(document).ready(function() {
    BindMyAccountEvents();
});

function BindMyAccountEvents()
{
    jQuery(".myAccountContent input[type!='checkbox']").focus(function() {
        ValidateInput(jQuery(this), true, false);
    });
    jQuery(".myAccountContent input[type!='checkbox']").keyup(function() {
        ValidateInput(jQuery(this), true, false);
    });
    jQuery(".myAccountContent input[type!='checkbox']").blur(function() {
        ValidateInput(jQuery(this), false, false);
    });
    
    jQuery(".myAccountContent select").keyup(function() {
        ValidateInput(jQuery(this), true, false);
    });
    
    jQuery(".myAccountContent select").focus(function() {
        ValidateInput(jQuery(this), true, false);
    });
    
     jQuery(".myAccountContent select").blur(function() {
        ValidateInput(jQuery(this), true, true);
    });
    
    jQuery(".myAccountContent span[id^='err']").mouseenter(function() {
        var oInput = jQuery("#" + jQuery(this).attr("id").replace("err", "txt"));
        ValidateInput(oInput, true, true);
        var oInput = jQuery("#" + jQuery(this).attr("id").replace("err", "sel"));
        ValidateInput(oInput, true, true);
    });
}
var oOldUName = "";
function ValidateInput(oObj, bShowTip, bSkipNoErr) {
    if (oObj==null || oObj.length==0)
    {
        return false;
    }
    var oSpanErr = jQuery("#" + oObj.attr("id").replace("txt", "err").replace("Inner", ""));
  
    var oSpanErrForSell = jQuery("#" + oObj.attr("id").replace("sel", "err").replace("sel", ""));
  
    var oType = oObj.attr("vtype");
    
    if (oType=="ctr")
    {
        oSpanErr = jQuery("#errRegCountry");
    }
    
    if (oType=="phone")
    {
        oSpanErr = jQuery("#errRegPhone");
    }
    
    if (oType=="date")
    {
        oSpanErr = jQuery("#errYear");
    }
    if (oType=="fname")
    {
        oSpanErr = jQuery("#errRegFirstName");
    }
    
    if (bSkipNoErr)
    {
        if (oSpanErr.attr('class').indexOf('noerr')>=0)
        {
            return false;
        }
    }

    //hide tooltip
    jQuery("div.tooltip").remove();
    
    var ok = false;
    var oMsg = "";
    var pattern = null;
    switch (oType) {
        case "ctr":
            if (oObj[0].selectedIndex>-1)
            {
                ok = true;
                }
        break;
        case "phone":
            if (jQuery("#txtRegPhonePref").val().length>1)
            {
                ok = true;
            }
            pattern = new RegExp("^[0-9]{5,11}$"); //numbers only 7-13 chars
            ok = ok && pattern.test(jQuery("#txtRegPhone").val());
            break;
        case "nickname":
            pattern = new RegExp("^[a-zA-ZÀ-ÿ0-9_]{6,20}$"); //letters, numbers, underscore, space, 7-20 chars
            ok = pattern.test(oObj.val());
            break;
        case "zip":
            pattern = new RegExp("^[0-9a-zA-ZÀ-ÿ ]{1,10}$"); //numbers only, mandatory
            ok = pattern.test(oObj.val());
            break;
        case "city":
            pattern = new RegExp("^[a-zA-ZÀ-ÿ -]{1,30}$"); //alphanumeric, min 1 characters
            ok = pattern.test(oObj.val());
            break;
        case "addr":
            pattern = new RegExp("^[a-zA-ZÀ-ÿ0-9./ ]{1,29}$"); //alphanumeric, min 1 characters
            ok = pattern.test(oObj.val());
        break;
        case "lname":
            pattern = new RegExp("^[a-zA-ZÀ-ÿ ]{2,20}$"); //letters, no numbers, no underscore, 2-20 chars
            ok = pattern.test(oObj.val());
            break;
        case "fname":
            pattern = new RegExp("^[a-zA-ZÀ-ÿ ]{2,20}$"); //letters, no numbers, no underscore, 2-20 chars
            var oFirstName = jQuery("input[vtype='fname']");
            var oGender = jQuery("#selGender");
            ok = pattern.test(oFirstName.val());
            if (ok)
            {
                if (oGender.val()==0)
                {
                    ok = false;
                }
            }
            break;
        case "uname":
            //show adequette tooltip
            if (oSpanErr.attr("uname_exists")=="1")
            {
                ShowToolTip(oResx[oObj.attr("id") + "_err2"], oSpanErr);
                setTimeout("HideToolTip();", 2000);
                if (oOldUName==oObj.val())
                {
                    return false;
                }
            }
            else
            {
                if (oSpanErr.attr("class").indexOf("errok")>-1)
                {
                    ShowToolTip(oResx[oObj.attr("id") + "_ok"], oSpanErr);
                    setTimeout("HideToolTip();", 2000);
                    if (oOldUName==oObj.val())
                    {
                        return true;
                    }
                }
            }
                
            //validate username
            pattern = new RegExp("^[a-zA-ZÀ-ÿ0-9]{7,20}$"); //letters, numbers, no underscore, 7-20 chars
            ok = pattern.test(oObj.val());
            if (ok)
            {
                if (oObj.attr("id").indexOf("txtRegUserName")>-1)
                {
                    LoadingMask(jQuery(".innerSepMidd"));
                }
                else
                {
                    LoadingMask(jQuery(".inner_content"));
                }
                oSpanErr.removeAttr("uname_exists");
                ok = ValidateUName(oObj.val(), oSpanErr, oResx[oObj.attr("id") + "_err2"]);
                if (!ok)
                {
                    oSpanErr.attr("uname_exists","1");
                    //oObj.focus();
                }
            }
            else
            {
                oSpanErr.attr('class', "err");
                ShowToolTip(oResx[oObj.attr("id") + "_err"], oSpanErr);
            }
            oOldUName = oObj.val();
            return ok;
            break;
        case "pwd":
            //validate password
            pattern = new RegExp("(?=.{7,20}$)(?=.*[0-9])(?=.*[a-zA-Z]).*"); //letters, numbers, underscore, space, 7-20 chars
            ok = pattern.test(oObj.val());
            break;
        case "mail":
            //validate email address
            if (oObj.val().length > 0) {
                pattern = /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/;  //email
                ok = pattern.test(oObj.val());
            }
            break;
        case "comp":
            //compare 2 values
            var oObjSecond = jQuery("#" + oObj.attr("vctrl"));
            if (oObj.val() != '' && oObjSecond.val() != '' &&
            oObj.val() == oObjSecond.val()) {
                ok = true;
            }
            break;
            
        case "date":
            //validate birthdate
            var oYear = jQuery("select[name='selYear']");
            var oMonth = jQuery("select[name='selMonth']");
            var oDay = jQuery("select[name='selDay']");
            if (oYear == null || oMonth == null || oDay == null ||
                oYear.length == 0 || oMonth.length == 0 || oDay.length == 0)
                {
                    ok = false;
                }
                else
                {
                    ok = false;
                    var d = new Date();
                    if (isDate('' + oMonth.val() + '/' + oDay.val() + '/' + oYear.val())) 
                    {
                        if (oYear.val() < (d.getFullYear() - 18)) {
                            ok = true;
                        }
                        else
                        {
                            if (oYear.val() == (d.getFullYear() - 18)) 
                            {
                                if (oMonth.val() < (d.getMonth()+1)) {
                                    ok = true;
                                } 
                                else 
                                {
                                    if (oMonth.val() == (d.getMonth()+1))
                                    {
                                        if (oDay.val()<d.getDate())
                                        {
                                            ok = true;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
        break;   
    }
    
    oSpanErr.attr('class', (ok ? "errok" : "err"));
    var oRowDiv = $(oObj).closest("div.column")
    var oId =  $(oRowDiv).attr("id");
  
    //show tooltip
    if (bShowTip) {
  
     if (oId.indexOf("StdSecCol")>-1)
        {
            ShowStdToolTip(oResx[oObj.attr("id") + "_" + (ok ? "ok" : "err")], oSpanErr);
        }
       else
       {
       
            ShowToolTip(oResx[oObj.attr("id") + "_" + (ok ? "ok" : "err")], oSpanErr);
        }
    }
    
    if (bSkipNoErr)
    {
        setTimeout("HideToolTip();", 2000);
    }
    
    jQuery("div.tooltip").stop(true,true);
    
    return ok;
}

function ValidateUName(sUname, errSpan, sErrorText)
{
    var oIsUAvailable = AjaxCalls.CheckUserAvailable(sUname);
    LoadingMaskRemove();
    if (oIsUAvailable.value==0)
    {
        errSpan.attr('class', "errok");
        HideToolTip();
        return true;
    }
    else
    {
        //display user already exists
        errSpan.attr('class', "err");
        ShowToolTip(sErrorText, errSpan);
        return false;
    }
}
function HPSubmitRegister() {
    if (typeof ClickTaleRegisterFormSubmit == 'function') {
        ClickTaleRegisterFormSubmit(document.getElementsByName('aspnetForm')[0]);
    }
    var ret = this.OldHPSubmitRegister.apply(this, arguments);
    if (typeof ClickTaleTag == 'function'){
        if(ret) {
            ClickTaleTag ("form_submit_success");
        } else {
            ClickTaleTag ("form_submit_fail");
        }
    }
    return ret;
}

function OldHPSubmitRegister() {
    LoadingMask(jQuery(".divBannerMidd"));
    var ok = true;
    jQuery(".innerRegister input[type!='submit']").each(function(index, oElem) {
        if (!ValidateInput(jQuery(oElem), false))
        {
            ok = false;
        }
    });
    
    var oIsUAvailable = AjaxCalls.CheckUserAvailable(jQuery("#txtRegUserName").val());
    if (oIsUAvailable.value!=0 || jQuery("#txtRegUserName").val()=="")
    {
        ok = false;
        //display user already exists
        jQuery("span#errRegUserName").attr('class', "err");
        ShowToolTip(oResx["txtRegUserName_err2"], jQuery("span#errRegUserName"));
        LoadingMaskRemove();
    }
    
    if (ok)
    {
        jQuery("input[id$='hHPRegAct']").val("full_registration");
        jQuery("input[id$='hHPRegUName']").val(jQuery("#txtRegUserName").val());
        jQuery("input[id$='hHPRegEmail']").val(jQuery("#txtEmail").val());
        jQuery("input[id$='hHPRegConfEmail']").val(jQuery("#txtAlternativeEmail").val());
        jQuery("input[id$='hHPRegPwd']").val(jQuery("#txtPassword").val());
        document.forms[0].submit();    
    }
    else
    {
        LoadingMaskRemove();
    }
    return ok;
}
function SubmitRegister() {
    if (typeof ClickTaleRegisterFormSubmit == 'function') {
        ClickTaleRegisterFormSubmit(document.getElementsByName('aspnetForm')[0]);
    }
    var ret = this.OldSubmitRegister.apply(this, arguments);
    if (typeof ClickTaleTag == 'function'){
        if(ret) {
            ClickTaleTag ("form_submit_success");
        } else {
            ClickTaleTag ("form_submit_fail");
        }
    }
    return ret;
}

function OldSubmitRegister() {
    LoadingMask(jQuery(".inner_content"));
    var ok = true;
    jQuery(".innerRegistration input").each(function(index, oElem) {
        if (!ValidateInput(jQuery(oElem), false))
        {
            ok = false;
        }
    });
    
    var oIsUAvailable = AjaxCalls.CheckUserAvailable(jQuery("#txtInnerUsername").val());
    if (oIsUAvailable.value!=0 || jQuery("#txtInnerUsername").val()=="")
    {
        //display user already exists
        jQuery("span#errUsername").attr('class', "err");
        ShowToolTip(oResx["txtInnerUsername_err2"], jQuery("span#errUsername"));
        ok = false;
        LoadingMaskRemove();
    }
    
    if (ok)
    {
        jQuery("input[id$='hInnerRegAct']").val("full_registration");
        jQuery("input[id$='hInnerRegUName']").val(jQuery("#txtInnerUsername").val());
        jQuery("input[id$='hInnerRegEmail']").val(jQuery("#txtInnerEmail").val());
        jQuery("input[id$='hInnerRegConfEmail']").val(jQuery("#txtInnerEmailConfirm").val());
        jQuery("input[id$='hInnerRegPwd']").val(jQuery("#txtInnerPassword").val());
        document.forms[0].submit();
    }
    else
    {
        LoadingMaskRemove();
    }
    
    return ok;
}

function SubmitUpdateAccount()
{
    var ok = true;
    jQuery(".myAccountContent input[type='text'][id!='txtRegUsername']").each(function(index, oElem) {
        if (!ValidateInput(jQuery(oElem), false))
        {
            ok = false;
        }
    });
    
    jQuery(".myAccountContent select").each(function(index, oElem) {
        if (!ValidateInput(jQuery(oElem), false))
        {
            ok = false;
        }
    });
    
    if (ok)
    {
        //display loading mask
        LoadingMask(jQuery(".inner_content"));
        
        //submit update account values
        var oURL = GetRootURL();
        jQuery.post(oURL, {'act':'update_account',
        'uname':jQuery(".myAccountContent input#txtRegUsername").val(),
        'gender':jQuery(".myAccountContent select#selGender").val(),
        'fname':jQuery(".myAccountContent input#txtRegFirstName").val(),
        'lname':jQuery(".myAccountContent input#txtRegLastName").val(),
        'nickname':jQuery(".myAccountContent input#txtRegNickName").val(),
        'email':jQuery(".myAccountContent input#txtRegEmail").val(),
        'birthdate':(jQuery(".myAccountContent select#selDay").val()+"/"+jQuery(".myAccountContent select#selMonth").val()+"/"+jQuery(".myAccountContent select#selYear").val()),
        'address':jQuery(".myAccountContent input#txtRegAddress").val(),
        'country':jQuery(".myAccountContent #selRegCountry").val(),
        'city':jQuery(".myAccountContent input#txtRegCity").val(),
        'zip':jQuery(".myAccountContent input#txtRegZip").val(),
        'phone': '+'+jQuery(".myAccountContent input#txtRegPhonePref").val()+ ' 0'+jQuery(".myAccountContent input#txtRegPhone").val(),
        'c_by_post':jQuery(".myAccountContent input#chkMail")[0].checked,
        'c_by_phone':jQuery(".myAccountContent input#chkTelefon")[0].checked,
        'c_by_sms':jQuery(".myAccountContent input#chkSMS")[0].checked,
        'c_by_email':jQuery(".myAccountContent input#chkEmail")[0].checked,
        'c_by_fax':jQuery(".myAccountContent input#chkFax")[0].checked},
        function(result, textStatus)
        {
            jQuery(".myAccountContent").html(jQuery(result).find(".myAccountContent").html());
            
            //remove loading mask
            LoadingMaskRemove();
        });
    }
}

function SubmitUpdatePwd()
{
    var ok = true;
    jQuery(".myAccountContent input[type='password']").each(function(index, oElem) {
        if (!ValidateInput(jQuery(oElem), false))
        {
            ok = false;
        }
    });
    
    if (ok)
    {
        //display loading mask
        jQuery("input[id$='hPwdUpdateAction']").val("update_pwd");
        jQuery("input[id$='hPwdUpdateOld']").val(jQuery("#txtMyAccOldPassword").val());
        jQuery("input[id$='hPwdUpdateNew']").val(jQuery("#txtMyAccNewPassword").val());
        jQuery("input[id$='hPwdUpdateConfirm']").val(jQuery("#txtMyAccPasswordConf").val());
        
        document.forms[0].submit();
    }
}

function HideToolTip()
{
    jQuery("div.tooltip").fadeOut(2000);
}

function ShowToolTip(sMsg, oObj) {
    var oHtml = "<div class='tooltip'><span class='left'></span><span class='midd'><span>" + sMsg + "</span></span><span class='right'></span></div>";
    jQuery(oHtml).appendTo(jQuery(document.body));

    var oT = oObj.offset().top - 14;
    var oL = oObj.offset().left + 28;

    jQuery("div.tooltip").css({ 'left': oL + 'px', 'top': oT + 'px' });

    var oW = jQuery("div.tooltip .midd span").width();
    var oH = jQuery("div.tooltip .midd span").height();
    while (oH > 36) {
        oW += 5;
        jQuery("div.tooltip .midd span").css('width', oW + 'px');
        oH = jQuery("div.tooltip .midd span").height();
    }
    
    jQuery("div.tooltip").css("display","inline");
}

function ShowStdToolTip(sMsg, oObj) {
    var oHtml = "<div class='tooltip'><span class='Stdright'></span><span class='midd'><span>" + sMsg + "</span></span><span class='Stdleft'></span></div>";
    jQuery(oHtml).appendTo(jQuery(document.body));

    var oT = oObj.offset().top - 14;

    var oW = jQuery("div.tooltip .midd span").width();
    var oH = jQuery("div.tooltip .midd span").height();
    while (oH > 36) {
        oW += 5;
        jQuery("div.tooltip .midd span").css('width', oW + 'px');
        oH = jQuery("div.tooltip .midd span").height();
    }
    
    var oL = oObj.offset().left - jQuery("div.tooltip").width() - 180;
    jQuery("div.tooltip").css({ 'left': oL + 'px', 'top': oT + 'px' });
}

function LoadingMaskRemove()
{
    jQuery('div.loadingMask').remove();
}

function LoadingMask(oReferenceObj)
{
    var oHTML = "<div class='loadingMask'><img src='/App_Themes/casino club net/images/loading.gif' alt=''/></div>";
    
    var oL = oReferenceObj.offset().left+1;
    var oT = oReferenceObj.offset().top+1;
    var oW = oReferenceObj.outerWidth()-2;
    var oH = oReferenceObj.outerHeight()-2;
    
    jQuery(oHTML).appendTo(jQuery(document.body));
    jQuery('div.loadingMask').css({'left':oL+'px','top':oT+'px','width':oW+'px','height':oH+'px'});
    var oImg = jQuery('div.loadingMask img');
    oW = ((oW-oImg.width())/2);
    oH = ((oH-oImg.height())/2);
    oImg.css({'margin-left':oW+'px', 'margin-top':oH+'px'});
}
//***************************************************************************
// end registration validations
//***************************************************************************

//***************************************************************************
// menu row implementation
//***************************************************************************
jQuery(document).ready(function() {
    jQuery(".topMenuRow ul li").mouseenter(function() {
        RemoveSubmenu();
        ShowSubmenu(this);
    });
});

function ShowSubmenu(oMenuObj) {
    oMenuObj = jQuery(oMenuObj);
    var oTop = oMenuObj.position().top + 36;
    var oLeft = oMenuObj.position().left;
    var oMenu = eval("oMenu_" + oMenuObj.index());
    var oHTML = "<div class='subMenu'>";
    for (i = 0; i < oMenu.length; i++) {
        oHTML += oMenu[i].replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g,"\"");
    }
    oHTML += '</div>';

    jQuery(oHTML).appendTo(oMenuObj);
    jQuery(".topMenuRow div.subMenu").css({ 'top': oTop + 'px', 'left': oLeft + 'px' });
    oMenuObj.mouseleave(function() {
        RemoveSubmenu();
    });
}

function RemoveSubmenu() {
    jQuery(".topMenuRow div.subMenu").remove();
}

//***************************************************************************
// menu row implementation
//***************************************************************************
var m_oAjaxURL = "//dev.casinoclub.net/ajax_calls.aspx";

function GetAjaxURL()
{
    var oHref = window.location.href;
    if (oHref.indexOf("http://")>=0)
    {
        return "http:" + m_oAjaxURL;
    }
    else
    {
        return "https:" + m_oAjaxURL;
    }
}

function GetRootURL()
{
    var oHref = window.location.href;
    var iIndex = oHref.indexOf("?");
    if (iIndex>0)
    {
        oHref = oHref.substr(0,iIndex);
    }
    
    return oHref;
}

function GetSecurePostURL()
{
    var oHref = GetRootURL();
    
    if (oHref.indexOf("http://")>=0)
    {
        oHref = oHref.replace("http:","https:");
    }
    return oHref;
}
function isNumberKey(evt)
  {
     var charCode = (evt.which) ? evt.which : evt.keyCode
     if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

     return true;
  }
function ToggleFeedback(iIndex, oSpan, bFeedbackMsgClicked) {
    if ($('#chkField' + iIndex).attr('checked') == true) {
        if (!bFeedbackMsgClicked) {
            oSpan.attr('class', 'FeedbackChk');
            $('#chkField' + iIndex).attr('checked', false);
            ResetFeedbackFields();
        }
    }
    else {
        oSpan.attr('class', 'FeedbackChkFull');
        $('#chkField' + iIndex).attr('checked', true);
        $("span[class^='FeedbackErrors']").attr("class", "FeedbackErrorsNo");
        $("span[class^='FeedbackErrors']").html("");
        ResetFeedbackFields();
    }
}

function ResetFeedbackFields() {
    if ($("ul[class^='FeedbackMiddleContent'] li input[id='chkField4']").attr('checked') == false) {
        $('#selFeedbackFields').attr('disabled', 'true');
        $('#selFeedbackFields').val('0');
    }
    else {
        $('#selFeedbackFields').removeAttr('disabled');
    }

    if ($("ul[class^='FeedbackMiddleContent'] li input[id='chkField5']").attr('checked') == false) {
        $('#txtFeedbackMessage').attr('readonly', 'true');
        $('div.FeedbackMsgArea').css('opacity', '0.8');
        $('#txtFeedbackMessage').val('');
    }
    else {
        $('#txtFeedbackMessage').removeAttr('readonly');
        $('div.FeedbackMsgArea').css('opacity', '1');
    }

} 

function SubmitFeedback()
{
    //display loading mask
    if (jQuery("#input_regCloseButton").length==0)
    {
        LoadingMask(jQuery(".inner_content"));
    }
    try {
        ClickTaleTag("RegFeedBack_Opened");
    }catch(ex){}
   
    //submit update account values
    var oURL = "/popuploader.aspx?showregfeedback=true";
    
    jQuery.post(oURL, {'act':'submit_feedback',
    'field1':(jQuery("#chkField1")[0].checked?1:0),
    'field2':(jQuery("#chkField2")[0].checked?1:0),
    'field3':(jQuery("#chkField3")[0].checked?1:0),
    'field4':(jQuery("#chkField4")[0].checked?1:0),
    'field5':(jQuery("#chkField5")[0].checked?1:0),
    'message':jQuery("#txtFeedbackMessage").val(),
    'errfield':jQuery("#selFeedbackFields").val()},
    function(result, textStatus)
    {
        //remove loading mask
        LoadingMaskRemove();
         if (window.location.href.indexOf("stdfeedback.aspx")>-1)
         {
            try {
                ClickTaleTag("ClientThkFeedBack_Opened");
            }catch(ex){}
          }
          else 
          {
            try {
                ClickTaleTag("ThkFeedBack_Opened");
            }catch(ex){}
            
          }
        //show thankyou feedback
        jQuery.get("/popuploader.aspx?showfeedbackthx=true", function(sResult){
        
        jQuery("#DivPopupReg").attr('class', "PopupRegMainBoxThk");
        jQuery("#divPopupBorder").attr('class', "PopupBorderThk");
        
            if (jQuery("#input_regCloseButton").length>0)
            {
                jQuery(".FeedbackTitle").remove();
                jQuery(".FeedbackContent").remove();
                jQuery(".LiveChatContainer").remove();
                
                jQuery(jQuery(sResult).find("#popupholder").html()).appendTo(jQuery(".PopupBorderThk"));
                
                jQuery(".PopupBorderThk").css("padding-left","0px");
                jQuery(".PopupBorderThk .FeedbackBox").css('width','828px');
                
                if (window.location.href.indexOf("/stdfeedback.aspx")<0)
                {
                    jQuery(".PopupBorderThk style").remove();
                }
                
                var iLeft = ($(document.body).width() - $('#DivPopupReg').outerWidth(false))/2;
                if (iLeft < 20) {
                    iLeft = 20;
                }

                var iTop = getScreenCenterY();
                iTop = iTop - 260;
                if (iTop < 20) {
                    iTop = 20;
                }
                
                $('#DivPopupReg').css({ 'margin-left': iLeft+'px', 'top': iTop+'px'});
            }
            else
            {
                var oFirstRow = jQuery(".inner_content td.firstRow");
                if (oFirstRow.length>0)
                {
                    oFirstRow.html(jQuery(sResult).find("#popupholder").html());
                }
                else
                {
                    jQuery(".inner_content").html(jQuery(sResult).find("#popupholder").html());
                    oFirstRow = jQuery(".inner_content");
                }
                
                if (window.location.href.indexOf("/feedback.aspx")>=0)
                {
                    oFirstRow.find("style:first-child").remove();
                }
            }
        });
    });
}
 
//***************************************************************************
// show forgotpopup  implementation
//*************************************************************************** 
function HidePopupContentAndBox()
{
    $("#DivRegMask").css("display", "none");
    $("#DivPopupReg").css("display", "none");

    $("#DivRegMask").remove();
    $('#DivPopupReg').remove();
}

function DisplayPopupContentAndBox(sResult)
{
    $($(sResult).find("div[id$='popupholder']").html()).appendTo($(document.body));
    
    if ($("#DivRegMask").length==0)
    {
        $("<div id='DivRegMask' class='PopupRegMask'></div>").appendTo($(document.body));
    }
    
    $("#DivRegMask").css({ 'display': 'inline', 'height':$(document.body).find("form:first-child").height()+"px"});
    
    $('#DivPopupReg').css({ 'display': 'inline', 'position' : 'absolute' });
    
    var iLeft = ($(document.body).width() - $('#DivPopupReg').outerWidth(false))/2;
    if (iLeft < 20) {
        iLeft = 20;
    }

    var iTop = getScreenCenterY();
    iTop = iTop - 260;
    if (iTop < 20) {
        iTop = 20;
    }
    
    $('#DivPopupReg').css({ 'margin-left': iLeft+'px', 'top': iTop+'px'});
}

function getScreenCenterY() {  
    var y = 0;  
    y = getScrollOffset()+(getInnerHeight()/2);  
    return(y);  
} 
function getScrollOffset() {  
    var y;  
    if (self.pageYOffset) // all except Explorer  
    {  
        y = self.pageYOffset;  
    }  
    else if (document.documentElement &&  
        document.documentElement.scrollTop)  
    // Explorer 6 Strict  
    {  
        y = document.documentElement.scrollTop;  
    }  
    else if (document.body) // all other Explorers  
    {  
        y = document.body.scrollTop;  
    }  
   return(y);  
} 
function getInnerHeight() {  
    var y;  
    if (self.innerHeight) // all except Explorer  
    {  
        y = self.innerHeight;  
    }  
    else if (document.documentElement &&  
        document.documentElement.clientHeight)  
     // Explorer 6 Strict Mode  
    {  
        y = document.documentElement.clientHeight;  
    }  
    else if (document.body) // other Explorers  
    {  
        y = document.body.clientHeight;  
    }  
   return(y);  
}  
function ShowForgot()
{
    ShowForgotPopup("");
}

function ShowForgotPopup(sLanguageCode) {

     try {
        ClickTaleTag("ForgotPassword_Opened");
    }catch(ex){}
    
    $.get("/popuploader.aspx?showforgot=true", function(sResult) {
        if (jQuery("#input_regCloseButton").length==0)
        {
            DisplayPopupContentAndBox(sResult);
            $("input[id$='txtForgotPwdUname']").keyup(function(event)
            {
                if (event.keyCode == '13') {
                    jQuery("span.ForgotPassBtn").click();
                }
            });
        }
        else
        {
            jQuery(".PopupBorder").html('');
            jQuery(jQuery(sResult).find("#popupholder .PopupBorder").html()).appendTo(jQuery(".PopupBorder"));
        }
    });
}
 

function CloseForgotPopup() {
    var oClearUrl= window.location.href;
    if(oClearUrl.indexOf("?showforgot=true")> -1 || oClearUrl.indexOf("?showlogin=true")> -1 )
    {
        oClearUrl = oClearUrl.replace("?showforgot=true","");
        oClearUrl = oClearUrl.replace("?showlogin=true","");
        window.location.href = oClearUrl;
    }
    $("#DivRegMask").css("display", "none");
    $("#DivPopupReg").css("display", "none");

    $("#DivRegMask").remove();
    $('#DivPopupReg').remove();
}

function SendForgotPassword(sAjaxResult, sMsg1, sMsg2, sMsg3, sMsg4, sMsg5) {
    if (typeof ClickTaleRegisterFormSubmit == 'function') {
        ClickTaleRegisterFormSubmit(document.getElementsByName('aspnetForm')[0]);
    }

    var oUser = $("input[id$='txtForgotPwdUname']").val();
    var oForgotMsg = document.getElementById("tdForgotPasswordErr");
    
    $("#tdForgotPasswordErr").css('color', '#ff0000');
    $("#tdForgotPasswordErr").html('');
    if (oUser != "") {
        var RegularExpression = new RegExp(/^[a-zA-ZÀ-ÿ0-9_]{7,20}$/);
        if (oUser.search(RegularExpression) == -1) {
            $("#tdForgotPasswordErr").html(sMsg1);
            return false;
        }
       
        LoadingMask(jQuery(".PopupBorder"));
        var oAjaxResult = AjaxCalls.ForgetPassword(oUser).value;
        if (oAjaxResult == "0") {
            $("#tdForgotPasswordErr").css('color', '#ffffff');
            $("#tdForgotPasswordErr").html(sMsg2);
            $("input[id$='txtForgotPwdUname']").val('');
             try {
                if (typeof ClickTaleTag == 'function'){
                    ClickTaleTag ("form_submit_success");
                }
                ClickTaleTag('ForgotPassword_Succeded');
            }catch(ex) {}
        }
        else {
            if (oAjaxResult == sAjaxResult)
            {
                $("#tdForgotPasswordErr").html(sMsg3);
            }
            else
            {
                $("#tdForgotPasswordErr").html(sMsg4);
            }
            try {
                if (typeof ClickTaleTag == 'function'){
                    ClickTaleTag ("form_submit_fail");
                }
                ClickTaleTag('ForgotPassword_Failed');
            }catch(ex) {}
            $("input[id$='txtForgotPwdUname']").focus();
            LoadingMaskRemove();
            return false;
        }
    }
    else {
        $("#tdForgotPasswordErr").html(sMsg5);
        try {
            if (typeof ClickTaleTag == 'function'){
                ClickTaleTag ("form_submit_fail");
            }
            ClickTaleTag('ForgotPassword_Failed');
        }catch(ex) {}
        return false;
    }
    return false;
}

var ClickTaleTagBuffer = [];

function ShowRegThanksPopup() {
    if(window.location.href.indexOf("HomePage.aspx") > -1)
    {
        HPReg_ClickTaleSuccess()
    }
    else{
        Reg_ClickTaleSuccess()
    }
   
    $.get("/popuploader.aspx?showregthx=true", function(sResult) {
        DisplayPopupContentAndBox(sResult);
    });
}  

function ShowRegFeedbackPopup() {
if(window.location.href.indexOf("HomePage.aspx") > -1)
{
    HPReg_ClickTaleFailed();
}
else{
    Reg_ClickTaleFailed();
}
    
    $.get("/popuploader.aspx?showregfeedback=true", function(sResult) {
        DisplayPopupContentAndBox(sResult);
        BindFeedbackFormEvents();
    });
}    

function BindFeedbackFormEvents()
{
    $("ul.FeedbackMiddleContent li span[class^='FeedbackChk']").each(function(index) {
        $(this).click(function(event) { ToggleFeedback((index + 1), $(this), false); });
    });

    $('#txtFeedbackMessage').click(function(event) { ToggleFeedback(5, $("ul.FeedbackMiddleContent li:last-child span[class^='FeedbackChk']"), true); });
    $('#selFeedbackFields').val('0');
    $('#txtFeedbackMessage').val('');
    ResetFeedbackFields();
}

jQuery(document).ready(function() {
     BindFeedbackFormEvents();   
 });
//***************************************************************************
// show loginpopup  implementation
//*************************************************************************** 
var oFakeLoginInput = null;
function InnerLogin_AddFakePassword(sPassword)
{
    oFakeLoginInput = $("<input type='text' id='txtloginfakepass' class='loginTxt BoxStyle' value='"+sPassword+"' onfocus='InnerLogin_OnFocus();'/>");
    oFakeLoginInput.insertBefore($("input[id$='txtLoginPass']"));
    
    jQuery(".innerLoginTop input[type!='button']").keyup(function(event) {
        if (event.keyCode == '13') {
            jQuery("#btnHPLogin").click();
        }
    });
}

function InnerLogin_OnFocus()
{
    $("input[id$='txtLoginPass']").css({'display':'inline'});
    $("input[id$='txtLoginPass']").focus();
    $('#txtloginfakepass').remove();
}

function InnerLogin_OnBlurPass()
{
    if ($("input[id$='txtLoginPass']").val()=="")
    {
        oFakeLoginInput.insertBefore($("input[id$='txtLoginPass']"));
        $("input[id$='txtLoginPass']").css({'display':'none'});
    }
}

function InnerLogin_OnBlurUser(sUser)    
{
    if ($("input[id$='txtLoginName']").val()=="")
    {
        $("input[id$='txtLoginName']").val(sUser);
    }
}
  
 function ShowLoginPopup(sLanguageCode) {
   try {
        ClickTaleTag("Login_Open");
    }catch(ex) {}
    
    HidePopupContentAndBox();
   
    var sPopupLoaderPath = '';
        sPopupLoaderPath = "/popuploader.aspx?showlogin=true";

    $.get(sPopupLoaderPath, function(sResult) {
        DisplayPopupContentAndBox(sResult);

        $("div[id$='divLoginPopupErr']").html('');

        $("input[id$='txtInnerUsername']").val($("div.LoginHolder input[id$='txtUsername']").val());
        $("input[id$='txtInnerUsername']").click(function() {
            $(this).val('');
            $("div[id$='divLoginPopupErr']").html('');
        });

        $("input[id$='txtInnerPassword']").click(function() {
            $(this).val('');
            $("div[id$='divLoginPopupErr']").html('');
        });

        $("input[id$='txtInnerUsername']").keyup(function(event) {
            if (event.keyCode == 13) {
                $("div[id$='btnSendLoginPopup']").click();
                $(this).blur();
            }
        });
        $("input[id$='txtInnerPassword']").keyup(function(event) {
            if (event.keyCode == 13) {
                $("div[id$='btnSendLoginPopup']").click();
                $(this).blur();
                }
        });

        $("input[id$='txtInnerUsername']").focus();
        
        //display error if we already tried loging in
        if (oLoggingInErr != "")
        {
            $("div[id$='divLoginPopupErr']").html(oLoggingInErr);
            oLoggingInErr = "";
        }
    });
}
   
function LoginPopupSend(sErrMsg, sErrMsg2) {

   LoadingMask(jQuery(".PopupBorder"));
   $("div[id$='divLoginPopupErr']").html('');
   var sUser = $("input[id$='txtInnerUsername']").val();
   var sPass = $("input[id$='txtInnerPassword']").val();
   
   if (typeof ClickTaleRegisterFormSubmit == 'function') {
        ClickTaleRegisterFormSubmit(document.getElementsByName('aspnetForm')[0]);
    }
    
    var oLoginValue = AjaxCalls.LogInUser(sUser, sPass).value;
    if(AjaxCalls.IsUserLoggedIn().value || oLoginValue.toLowerCase() == 'true'){
     try {
            if (typeof ClickTaleTag == 'function'){
                ClickTaleTag ("form_submit_success");
            }
            ClickTaleTag("Login_Succeeded - username: " + sUser);
        }catch(ex){}
            var oHref = window.location.href.split("?")[0];
            window.location = oHref;
    }
    else {
        LoadingMaskRemove();
        if (oLoginValue.toLowerCase()=='1021')
        {
            $("div[id$='divLoginPopupErr']").html(sErrMsg2);
        }
        else
        {
            $("div[id$='divLoginPopupErr']").html(sErrMsg);
        }
        try{
            if (typeof ClickTaleTag == 'function'){
                ClickTaleTag ("form_submit_fail");
            }
            ClickTaleTag("Login_Failed - username: " + sUser);
        }catch(ex){}
        $("input[id$='txtInnerUsername']").focus();
    }
}

var oLoggingInErr = "";
function TryLogin(sErrMsg, sErrMsg2) 
{
   var sUser = $("input[id$='txtLoginName']").val();
   var sPass = $("input[id$='txtLoginPass']").val();
   
   try {
       ClickTaleTag("Login_Open");
    }catch(ex){}
    
   var oLoginValue = AjaxCalls.LogInUser(sUser, sPass).value;
    if(AjaxCalls.IsUserLoggedIn().value || oLoginValue.toLowerCase() == 'true')
    {
    try {
            if (typeof ClickTaleTag == 'function'){
                ClickTaleTag ("form_submit_success");
            }
            ClickTaleTag("Login_Succeeded - username: " + sUser);
        }catch(ex){}
            var oHref = window.location.href.split("?")[0];
            window.location = oHref;
            
    }
    else 
    {
        ShowLoginPopup("");
        if (oLoginValue.toLowerCase()=='1021')
        {
            oLoggingInErr = sErrMsg2;
        }
        else
        {
            oLoggingInErr = sErrMsg;
        }
     try{
            if (typeof ClickTaleTag == 'function'){
                ClickTaleTag ("form_submit_fail");
            }
            ClickTaleTag("Login_Failed - username: " + sUser);
        }catch(ex){}
      
   }
    return false;
}
/******************************************************************************/
/***************************** Begin isDate validation ************************/
/******************************************************************************/


var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
	    return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
	    return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
	    return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
	    return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
	    return false;
	}
	return true;
}

/******************************************************************************/
/******************************* End isDate validation ************************/
/******************************************************************************/

function doRegistration() {
    window.location.href = AjaxCalls.GetFullRegistrationURL().value;//"/registration.aspx";
}

function goUserTo(sIfLoggedUrl, sIfNotLoggedURL) {
    var bLoggedIn = AjaxCalls.IsUserLoggedIn().value;
    if (bLoggedIn) {
        if(sIfLoggedUrl.indexOf("(") != -1) {
            eval(sIfLoggedUrl);
        }
        else {
            window.location = sIfLoggedUrl;
        }
    }
    else {
        if(sIfNotLoggedURL.indexOf("(") != -1) {
            eval(sIfNotLoggedURL);
        }
        else {
            window.location = sIfNotLoggedURL;
        }

    }
}
function ClosePopup() {
    $("#DivRegMask").css("display", "none");
    $("#DivPopupReg").css("display", "none");

    $("#DivRegMask").remove();
    $('#DivPopupReg').remove();
}

function doClickTaleTag(sTagName) {
    try {
        ClickTaleTag(sTagName); 
    }catch(ex) {}
}   

function HPReg_ClickTaleSuccess() {
    try {
        ClickTaleTag("HPRegistration_Succeded - username: " + m_susername_ct); 
        ClickTaleTag("HPRegistrationThanks_Opened"); 
    }catch(ex) {}
}

function HPReg_ClickTaleFailed() {
    try {
        ClickTaleTag("HPRegistration_Failed - username: " + m_susername_ct); 
        ClickTaleTag("HPRegistrationFeedback_Opened"); 
    }catch(ex) {}
}
function Reg_ClickTaleFailed() {
    try {
        ClickTaleTag("Registration_Failed"); 
        ClickTaleTag("RegistrationFeedback_Opened"); 
    }catch(ex) {}
}
function Reg_ClickTaleSucces() {
    try {
        ClickTaleTag("Registration_Succeded"); 
        ClickTaleTag("RegistrationThanks_Opened"); 
    }catch(ex) {}
}
