

var contentLoaded = false;
////////////////////////////////////////////////
////////// Support Types ///////////////////////
////////////////////////////////////////////////
        
    function SupportType(xNode)
    {
        if (!xNode)
            return null;
        this.description = xNode.getAttribute("desc") ;
        this.typeId = xNode.getAttribute("typeId") ;        
        return this;
    }

    function SupportTypes(xmlDoc)
    {
        var rootNode = xmlDoc.documentElement ;

        if (!rootNode)
            return null;

        var xNodes = xmlDoc.getElementsByTagName('type') ;
        this.items = new Array();
        if (xNodes != null && xNodes.length > 0) 
        {
            for (var i = 0; i < xNodes.length; ++i)
            {
                this.items[i] = new SupportType(xNodes[i])            
            }
        }
        return this;
    }
    
////////////////////////////////////////////////
////////// Support Types End ///////////////////
////////////////////////////////////////////////    
        
    function getOnlinePlayers()
    {

        var httpRequest = null ;                 
        var url = "/ws/stats/liveUsers.aspx" ;

        httpRequest = getHttpRequestObject() ;
        
        httpRequest.open("GET", url, true) ;


        httpRequest.onreadystatechange = function() { getOnlinePlayersCallback(httpRequest); }; 
        httpRequest.send(null) ;    
        return false ;
    }
    
//    function getNewMessages()
//    {
//        var httpRequest = null ;    
//        var messagesLink = document.getElementById("newMessages") ;
//        if ( messagesLink == null) return ;
//        
//        var url = "/ws/security/numberOfNewMessages.aspx" ;

//        httpRequest = getHttpRequestObject() ;
//        
//        httpRequest.open("GET", url, true) ;
//        
//        httpRequest.onreadystatechange = function() { getNewMessagesCallback(httpRequest); }; 
//        httpRequest.send(null) ;    
//        
//        return false ;        
//        
//    }
//    
//    function getNewMessagesCallback(httpRequest)
//    {
//            
//        if (httpRequest.readyState == 4) {

//            var xmlDoc = httpRequest.responseXML ;
//            var rootNode = xmlDoc.documentElement ;
//            var isAvailable = false ;

//            if (!rootNode)
//                return false;
//                
//            if (rootNode == null) return ;

//            
//            var numberOfNewMessages = rootNode.getAttribute("total") ;
//                    
//            var sNode = document.getElementById("newMessages") ;
//            
//            if (sNode == null)
//            {
//                return ;
//            }            
//            
//            if (numberOfNewMessages == 0)
//                sNode.innerHTML = "" + numberOfNewMessages+ " new message" ;
//            else if (numberOfNewMessages == 1)
//                sNode.innerHTML = "" + numberOfNewMessages+ " new message" ;
//            else            
//                sNode.innerHTML = "" + numberOfNewMessages+ " new messages" ;
//                
//            httpRequest = null ;            
//           
//       }       

//       return true ;
//    }
    
    function getOnlinePlayersCallback(httpRequest)
    {
            
        if (httpRequest.readyState == 4) {
                                       
            var xmlDoc = httpRequest.responseXML ;
            var rootNode = xmlDoc.documentElement ;
            var isAvailable = false ;

            if (!rootNode)
                return false;
                
            var xNode = null ;

            xNode = xmlDoc.getElementsByTagName('LiveUsers') ;
                                           
            
            var xOnlineTag = xmlDoc.getElementsByTagName('Online') ;
            if (xOnlineTag[0] == null)
                return true ;        
                                        
            xNode = xOnlineTag[0] ;
            
            var onlinePlayers = xNode.getAttribute("total") ;
                    
            var sNode = document.getElementById("onlineP") ;
                           
            if (sNode == null)
            {
                return ;
            }
            
            sNode.innerHTML = "Online Players: " + IntegerCommaFormatted(onlinePlayers) ;
            httpRequest = null ;            
           
       }       

       return true ;
    }
    
    
    
    function getPageContent(section, name, linkId)
    {    
    
        if (section == null || section == 'undefined' || name == null || name == 'undefined')
            return ;
        //updatePageCount(section, name);

        var historyData = new Array();
        historyData[0] = section; 
        historyData[1] = name; 
        historyData[2] = linkId; 
        
        var url = "/ws/page/pageContent.aspx?faqSection=" + section + "&faqName=" + name;
        var  httpService = new HttpService(url, true, false, historyData, 'faqContent_historyHandler', 'getPageContentCallback', section, name, linkId) ;
        
        if (!httpService.httpRequest){
            return false;
        }
        
        httpService.call();
               
        //window.location.hash = '#pageName[' + name + "]";
        var divContent = document.getElementById("det") ;     
        if (!contentLoaded && divContent != null)   
            divContent.innerHTML = '<img src="/images/LoadingAnim.gif" style="margin-top:200px;margin-left:300px;" alt="Please wait while loading .... "/>';
        return false;                     
    }

    
    function faqContent_historyHandler(url, section, name, linkId)
    {                
        if (section !='' && name != '')
        {
            contentLoaded = false;
            getPageContent(section, name, linkId) ;         
            updatePageCount(section, name);
        }     
    }


    function getPageContentCallback(httpRequest, section, name, linkId)
    {
        if (httpRequest.readyState == 4) {
            var divContent = document.getElementById("det") ;
            var link = document.getElementById(linkId) ;            
            if (divContent != null)
            {
                if (httpRequest.status != 500)
                    divContent.innerHTML = httpRequest.responseText;
                else
                    divContent.innerHTML = "";
            }
            contentLoaded = true;
            if (document.getElementById("faqSearchResult") != null)
            {
                document.getElementById("faqSearchResult").innerHTML = "";
            } 
   
            
            
         //determine if the page was called from the menu navigation:
            link = document.getElementById(linkId);
            if (link != null && link.parentNode != null)
            {
                var liElement = link.parentNode;
                
                if (liElement.attributes["pageLevel"] != null)
                {
                    clearNavigation();
                    
                    var level = liElement.attributes["pageLevel"].value;       
                    
                    if (level == 1)
                        link.parentNode.className = 'this first';
                    if (level > 1)
                        link.parentNode.className = 'this indent';
                    else
                        link.parentNode.className = 'this';
                    
                    //link.disabled = true;
                    toggleChildNodes(liElement);     
                }
            }
                    
            updateBreadCrumb(section, name);            
                
//            var li = findFaqNavNode(name) ;       
//            if (li != null)
//            {
//                collapseMenu();   
//                expandToNode(li);
//            }
            
            httpRequest = null ;
            checkDynamicContent();
       }         
    }
    
    function updatePageCount(section, name)
    {
    try
    {
        var httpRequest = null ;                 
        var url = "/ws/page/pageCounterIncrement.aspx?faqSection=" + section + "&faqName=" + name ;
        httpRequest = getHttpRequestObject() ;
        httpRequest.open("GET", url, true) ;
        httpRequest.send(null) ;  
    }
    catch(e)
    {
    //might be offline
    }
    }
    
    
    function getPageContentSection(channelId, targetElementId)
    {
        var target = document.getElementById(targetElementId);
        if (target != undefined)
        {
            
            var httpRequest = null ;                 
            var url = "/rss/feed.aspx?channelId=" + channelId + "&method=html";
            
            httpRequest = getHttpRequestObject() ;
            
            httpRequest.open("GET", url, true) ;

            httpRequest.onreadystatechange = function() { getPageContentSectionCallback(httpRequest, targetElementId); }; 
            if (BrowserDetect.browser == "Explorer" && BrowserDetect.version != 6)        
                httpRequest.onerror = function() { getPageContentError(httpRequest); }; 
            httpRequest.send(null) ;
            
        }
    }    
    
    function getPageContentSection2(channelId, url, targetElementId)
    {
        
        var target = document.getElementById(targetElementId);
        if (target != undefined)
        {
            var httpRequest = null ;                 
            
            httpRequest = getHttpRequestObject() ;
            
            httpRequest.open("GET", url, true) ;

            httpRequest.onreadystatechange = function() { getPageContentSectionCallback(httpRequest, targetElementId); }; 
            if (BrowserDetect.browser == "Explorer" && BrowserDetect.version != 6)        
                httpRequest.onerror = function() { getPageContentError(httpRequest); }; 
            httpRequest.send(null) ;  
        }
    }       
    
   
    function getPageContentSectionCallback(httpRequest, targetElementId)
    {
        if (httpRequest.readyState == 4) {
            var target = document.getElementById(targetElementId);
            if (target != undefined)
            {
                if (httpRequest.status != 500)
                    target.innerHTML = httpRequest.responseText;
                else
                    target.innerText = "";
            }
            httpRequest = null ;            
        }
    }
    
    function getNewsPageContent(newsId, link)
    {
        var httpRequest = null ;                 
        var url = "../ws/page/newsContent.aspx?newsId=" + newsId;
        
        httpRequest = getHttpRequestObject() ;
        httpRequest.open("GET", url, true) ;

        httpRequest.onreadystatechange = function() { getNewsPageContentCallback(httpRequest); }; 
        if (BrowserDetect.browser == "Explorer" && BrowserDetect.version != 6)        
            httpRequest.onerror = function() { getPageContentError(httpRequest); }; 
            
        httpRequest.send(null) ;  
        
        clearNavigation();
        
        //determine if the page was called from the menu navigation:
        if ((link != null) && (link.parentNode != null))
        {
            var liElement = link.parentNode;
            liElement.className = "this";
        }
                
        return false;    
                 
    }
    
    function getNewsPageContentCallback(httpRequest)
    {
        if (httpRequest.readyState == 4) {
            
            var divContent = document.getElementById("det") ;
            
            if (divContent != null)
            {
                if (httpRequest.status != 500)
                    divContent.innerHTML = httpRequest.responseText;
                else
                    divContent.innerHTML = "";
                    
                httpRequest = null;
                
             }
       }         
    }
    
    function getFAQSearchResult_HistoryHandler(url, searchText)
    {
        _getFAQSearchResult(url, searchText);
    }
    
    function getFAQSearchResult()
    {
        var searchText = document.getElementById("txtSearchText").value;
                
        searchText  = searchText .replace(/^\s+|\s+$/g, '') ;
        
        if (searchText == "")
        {
            alert ("Please enter your question text.");
            return false;
        }
        var faqResult = document.getElementById("det") ;

        if (faqResult==null) return ;
                
        if (faqResult==null && document.forms["frmFAQSearch"]){
            document.forms["frmFAQSearch"].submit() ;       
            return false;
        }        
        
        var url = "/ws/help/faqSearchResult.aspx?txtSearchText=" + searchText;   
        return _getFAQSearchResult(url, searchText) ;

    }        
    
    function _getFAQSearchResult(url, searchText)
    {
        var historyData = new Array();
        historyData[0] = searchText; 
        var  httpService = new HttpService(url, true, false, historyData, 'getFAQSearchResult_HistoryHandler', 'getFAQSearchResultCallback', searchText) ;
        if (!httpService.httpRequest){
            document.forms["frmFAQSearch"].submit() ;       
            return false;
        }
        httpService.call(searchText);
        return false ;    
    }
    
    
    function updateBreadCrumb(section, name)
    {
        var httpRequest = null ;                 
        var url = "/ws/page/navBar.aspx?faqSection=" + section + "&faqName=" + name;  
        httpRequest = getHttpRequestObject() ;
        httpRequest.open("GET", url, true) ;
        httpRequest.onreadystatechange = function() { updateBreadCrumbCallBack(httpRequest); }; 
        httpRequest.send(null) ;  
    }
    
    function updateBreadCrumbCallBack(httpRequest)
    {
        if (httpRequest.readyState == 4) {
            var crumbHTML = "";
            var divCrumb = document.getElementById("crumb") ;
            
            if (httpRequest.status != 500)
            {
                var response = httpRequest.responseText;
                
                httpRequest = null ;            
                
                var re = /title:\[(([^\]])*)\]/
                var title = re.exec(response);    
                            
                if (title != null)
                    document.title = title[1];
                    
                crumbHTML = response.replace(re, "");
            }                
            
            if (divCrumb != null)
                divCrumb.innerHTML = crumbHTML;
         }        
    }
    
    function getFAQSearchResultCallback(httpRequest, searchText)
    {
        var xhtmlText = httpRequest.responseText ;
        var faqResult = document.getElementById("det") ;

        if (faqResult==null) return ;
        
        faqResult.innerHTML = "" ;

        if (faqResult != null &&  xhtmlText != ""){
            faqResult.innerHTML = xhtmlText ;
        }
        
    }
    
    
    function calculateOffsetTop(node)
    {
        var offsetTop = 0;
        var currenNode = node ;
        var max= 20 ;
        var index = 0 ;   

        while(currenNode != null && index < max)
        {
            index = index + 1;
            if (currenNode.offsetTop != null)
                offsetTop = offsetTop + currenNode.offsetHeight;
            currenNode = currenNode.parentNode;
        }
        return offsetTop ;
    }
    
    
     function getDepositFee()
    {
        if (document.getElementById("txtAmount").value == "")
        {
            if (divProcessingCharge.style.display == "block")
                divProcessingCharge.style.display = "none";
        }
        else
        {
            var httpRequest = null ;
            var amount = document.getElementById("txtAmount").value;
            var currencyId = document.getElementById("cboCurrency").value;                 
            var url = "../ws/finance/financeFeeCalculation.aspx?amount=" + amount + "&currencyId=" + currencyId;
            httpRequest = getHttpRequestObject();   
            httpRequest.open("GET", url, true) ;
        
            httpRequest.onreadystatechange = function() { getDepositFeeCallback(httpRequest); }; 
            httpRequest.send(null)
        }
    }
  

function getDepositFeeCallback(httpRequest)
    {
        if (httpRequest.readyState == 4) 
        { 
      
            var xmlDoc = httpRequest.responseXML ;
            var rootNode = xmlDoc.documentElement ;
            var isAvailable = false ;
            if (!rootNode)
                return false;
            if (rootNode == null) 
                return ;

            var processingCharge = rootNode.getAttribute("processingCharge") ;
            var totalCharge = rootNode.getAttribute("totalCharge");
                    
            var spnprocessingCharge = document.getElementById("processingCharge");
            var spntotalCharge = document.getElementById("totalCharge");
            var spntransferToWallet = document.getElementById("transferToWallet"); 
            
   
            spnprocessingCharge.value = processingCharge;
            spntotalCharge.value = totalCharge;
            spntransferToWallet.value = Math.round((totalCharge - processingCharge) * 100) / 100;
            var divProcessingCharge = document.getElementById("divProcessingCharge");
            if(divProcessingCharge.style.display == "none")
                divProcessingCharge.style.display = "block";
        }
        httpRequest == null;
    }


 function getCashoutFee()
    {
        if (document.getElementById("txtAmount").value == "" || document.getElementById("cboCurrency").value == "")
        {
            if (divProcessingCharge.style.display == "block")
                divProcessingCharge.style.display = "none";
        }
        else
        {
            var httpRequest = null ;
            var amount = document.getElementById("txtAmount").value;
            var currencyId = document.getElementById("cboCurrency").value;                 
            var url = "../ws/finance/cashoutFeeCalculation.aspx?amount=" + amount + "&currencyId=" + currencyId;
            httpRequest = getHttpRequestObject();   
            httpRequest.open("GET", url, true) ;
        
            httpRequest.onreadystatechange = function() { getCashoutFeeCallback(httpRequest); }; 
            httpRequest.send(null)
        }
    }
  

    function getCashoutFeeCallback(httpRequest)
    {
        if (httpRequest.readyState == 4) 
        { 
            var xmlDoc = httpRequest.responseXML ;
            var rootNode = xmlDoc.documentElement ;
            var isAvailable = false ;
            if (!rootNode)
                return false;
            if (rootNode == null) 
                return ;

            var processingCharge = rootNode.getAttribute("processingCharge");
            var totalCharge = rootNode.getAttribute("totalCharge");
                    
            var spnprocessingCharge = document.getElementById("processingCharge");
            var spntotalCharge = document.getElementById("totalCharge");
            var spntransferToAccount = document.getElementById("transferToAccount"); 
            
            spnprocessingCharge.value = processingCharge;
            spntotalCharge.value = totalCharge;
            spntransferToAccount.value = Math.round((totalCharge - processingCharge) * 100) / 100;
            var divProcessingCharge = document.getElementById("divProcessingCharge");
            if(divProcessingCharge.style.display == "none")
                divProcessingCharge.style.display = "block";
        }
        httpRequest == null;
    }


    function getPlayerGameHistory(playerId)
    {

        if (playerId == 0)
            return false;     
        
        var url = '/ws/metrics/playerGameHistory.aspx?playerId=' + playerId;
        var httpService = new HttpService(url, false, false, null, null, 'getPlayerGameHistoryCallBack') ;              
        httpService.call(true);           
    }

    function getPlayerGameHistoryCallBack(httpRequest)
    {
        if (httpRequest.readyState == 4) {
            var target = document.getElementById('playerGameHistory');
            if (target != undefined)
            {
                if (httpRequest.status != 500)
                    target.innerHTML = httpRequest.responseText;
                else
                    target.innerText = "";
            }
            httpRequest = null ;            
        }        
    }

    function jsSess()
    {
        
        var httpRequest = null ;
        var email = getCookie("email") ;
        var cookie = getCookie("cookie") ;
        if (sess != null && sess != "")          
        {
            url = "/ws/security/session.aspx" + ((cookie == "") ? "" : "?cookie=" + cookie + "&email=" + email) ;
            httpRequest = getHttpRequestObject();   
            httpRequest.open("GET", url, true) ;
        
            httpRequest.onreadystatechange = function() { jsSessCallback(httpRequest); }; 
            httpRequest.send(null)
        }

        return false ;    
    }
    

    function jsSessCallback(httpRequest)
    {
        try
        {
            if (httpRequest.readyState == 4) 
            { 
                var xmlDoc = httpRequest.responseXML ;
                var rootNode = xmlDoc.documentElement ;
                var newSess = rootNode.getAttribute("sess") ;
                
                if (newSess != "")
                {                
                    setCookie("sess=" + newSess);
                    updateSess(newSess);
                }
                
            }
        } catch (e)
        {
            //give up - you're toast
        }                          
        return ;
    }
    
