﻿try{
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);
}catch(err){} 

var loaderenabled = true;
   
function beginRequest(sender, args) {
    if(loaderenabled)
        ShowPreloader();
}

function pageLoaded(sender, args) {
    HidePreloader();
    try{
        setEFocus();//Used to set focus on login page
    }catch(err){}
}

var ldmsg="";

function ShowPreloader(){
    try{
        var loadlabel = $get('ctl00_LoadingMsg');
        loadlabel.innerHTML=ldmsg;
        $find('ctl00_ModalPopupExtender1').show();
    }catch(err){}
}

function HidePreloader(){
    try{
        $find('ctl00_ModalPopupExtender1').hide();
        //document.getElementById("scripturediv").scrollIntoView();
    }catch(err){}
}

function ShowMessage(gmsg){
    try{
        $find('ctl00_ModalPopupExtender2').show();
        var gmsglabel = $get('ctl00_GlobalMessageLabel');
        gmsglabel.innerHTML=gmsg;
    }catch(err){}
}

function HideMessage(){
    try{
        $find('ctl00_ModalPopupExtender2').hide();
        var gmsglabel = $get('ctl00_GlobalMessageLabel');
        gmsglabel.innerHTML="";
    }catch(err){}
}

var friendid;
var userid;

function ShowFriendInvite(fid, uid){
    try{
        friendid = fid;
        userid = uid;
        PageMethods.FriendGetFirstName(uid, FriendNameSucceded, PromptFailed);
        $find('ctl00_ModalPopupExtender3').show();
    }catch(err){}
}

function FriendNameSucceded(result) {
    try{
        var fname = $get('ctl00_FriendInviteName');
        fname.innerHTML=result;
    }catch(err){ShowMessage(err)}
}

function HideFriendInvite(){
    try{
        $find('ctl00_ModalPopupExtender3').hide();
    }catch(err){}
}

function FriendRequest(){
    var imsg = $get('ctl00_InviteMsg');
    PageMethods.FriendInvitation( friendid, userid, imsg.value, FriendRequestSucceded, PromptFailed);
}

function FriendRequestSucceded(result) {
    try{
        HideFriendInvite()
        ShowMessage(result);
        var imsg = $get('ctl00_InviteMsg');
        imsg.innerHTML = "";
    }catch(err){ShowMessage(err)}
}

function FriendConfirm(id, accept, nid){
    PageMethods.FriendConfirm(id, accept, nid, FriendConfirmSucceded, PromptFailed);
}

function FriendConfirmSucceded(result) {
    try{
        ShowMessage(result);
       __doPostBack('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel2_GridView2','');
    }catch(err){}
}

function PromptSucceded(result) {
    try{
        AjaxControlToolkit.PopupControlBehavior.__VisiblePopup.hidePopup();
    }catch(err){}
}

function PromptFailed(result) {
    ShowMessage(result);
}

function TeamConfirm(guid, accept, nid){
    PageMethods.teamChallengeConfirm(guid, accept, nid, FriendConfirmSucceded, PromptFailed);
}

function CheckBoxValidatorDisableButton(chkId, mustBeChecked, btnId)
{
    var button = document.getElementById(btnId);
    var chkbox = document.getElementById(chkId);
    
    if (button && chkbox)
    {
        button.disabled = (chkbox.checked != mustBeChecked);
    }
}

function CheckBoxValidatorEvaluateIsValid(val)
{
    var control = document.getElementById(val.controltovalidate);
    var mustBeChecked = Boolean(val.mustBeChecked == 'true');

    return control.checked == mustBeChecked;
}

function CheckBoxListValidatorEvaluateIsValid(val)
{
        var control = document.getElementById(val.controltovalidate);
        var minimumNumberOfSelectedCheckBoxes = parseInt(val.minimumNumberOfSelectedCheckBoxes);

        var selectedItemCount = 0;
        var liIndex = 0;
        var currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
        while (currentListItem != null)
        {
            if (currentListItem.checked) selectedItemCount++;
            liIndex++;
            currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
        }
        
        return selectedItemCount >= minimumNumberOfSelectedCheckBoxes;
}

function CloseModalPopup(){
    try{
        AjaxControlToolkit.PopupControlBehavior.__VisiblePopup.hidePopup(); return false;
    }catch(err){}
}