/*----------------------------------------------------------------------------- 
Author: Goshine
version:   1.9 
AppsName:  globet casino 
date:      20/07/2010
website:   http://www.goshine-design.co.uk
-----------------------------------------------------------------------------*/
/*variables for swf object */
/*variables for swf object*/
var flashvars = {};
var params = {
    wmode: value = "transparent"
};
var attributes = {};
swfobject.embedSWF("../flash/mainbanner/GamesSlide.swf", "flashcontent", "716", "200", "10.0.0", "../flash/expressInstall.swf", flashvars, params, attributes);

var xmlLoader, getXmlPath;
//-- called by flash button ---


function flashCaller(gamesName) {
    var lsObj = casinoGamesListObject[gamesName];
    if (plryHandle != 999999) {
        popUp(lsObj, accountName);
    } else {
        alert(loginMsg);
    }



}
//---
//object contains location of resouces
var pathObject = {
    "baseUrlImg": "http://cache.agenziasportiva.com/main/images_game_08_02_11/",
    "table": {
        "resurl": "../loadable-data/TableGames.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "videopoker": {
        "resurl": "../loadable-data/VideoPoker.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "instant": {
        "resurl": "../loadable-data/InstantGames.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "slots": {
        "resurl": "../loadable-data/SlotsGamesIndex.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "slotsa": {
        "resurl": "../loadable-data/SlotsGamesIndexA.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "cards": {
        "resurl": "../loadable-data/CardGames.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    },
    "soft": {
        "resurl": "../loadable-data/SoftGames.aspx",
        "bgurl": "red-star-videopoker-bg.jpg"
    }
};

//--0
//var plyHan = 999999;
var activeWindow = "",
    windowTimer = "";
//-- jquery onload
$(function () {
    // hide game you cant play for fun
    if (plryHandle == 999999) {
        $(".npfp").hide();
    }

    //Refresh text fields
    try {
        $('#' + AmountTextBox).attr("value", "");
        $('#' + PasswordTextBox).attr("value", "");
        $('#' + txtCap).attr("value", "");
    } catch (e) {
        //todo
    }

    //-- setting up login fields--
    var preValue;
    $('.id').focus(function (event) {
        var targetVal = $('.id').attr('value');
        if (targetVal != preValue) {
            preValue = $('.id').attr('value');
        }
        $('.id').attr('value', '');
    });
    //-
    $('.id').blur(function (event) {
        if ($(event.target).attr('value') == '') {
            $('.id').attr('value', preValue);
        } else if ($(event.target).attr('value') != '') {};
    });
    //-
    $('.invisPass').focus(function (event) {
        $('.invisPass').hide();
        $('.idpwdfield').show();
        $('.idpwdfield').focus();
    });
    //-
    $('.idpwdfield').blur(function (event) {
        if ($('.idpwdfield').attr('value') == "") {
            $('.invisPass').show();
            $('.idpwdfield').hide();

        }
    });
    //-
    $('form').keypress(function (e) {
        if (e.which == 13) {
            e.preventDefault();
            __doPostBack('ctl00$Header$cmdGo', '');

        }

    });

    //-- advent 
    // Orlando: Prevent go in other pages if external affiliates
    $('.nav_club, .nav_livebet, .nav_games, .nav_poker, .nav_score, .nav_casino, .nav_livecasino').click(

    function (event) {
        if (location.href.indexOf("ExternalAffID") != -1) {
            alert(loginMsg);
            event.preventDefault();
        }
    });
    $("#linkPanel-content li a").click(games_btn_click);
    $("#gametype li a").click(switchGamesPanel);
    $(".icon-li a ").click(games_btn_click);
    //--
    (function (t) {
        t.click(function (event) {
            switchGamesPanel(event);
        });

    })($(".oneToHundred"));
    //--


    function switchGamesPanel(event) {

        var id = "";
        var reslocation = "";
        var bgUrl = "";

        if ($(event.target).attr("class") == "oneToHundred") {
            id = $(event.target).attr("id").replace('_sx', '');
            reslocation = pathObject[id].resurl + "?i=" + Math.random();
            $("#preloader").fadeIn();
            bgUrl = pathObject["baseUrlImg"]+pathObject[id].bgurl;
            $.get(reslocation, function (data) {
                $("#placeHolder").html(data);
                $("#preloader").fadeOut();
                $(".icon-li a ").click(games_btn_click);
				//--
                (function (t) {
                    t.click(function (event) {
                        switchGamesPanel(event);
                    });
                })($(".oneToHundred"));


            });
        }

        if ($(event.target).parent("li").attr("class") != "activeTab") {
            id = $(event.target).attr("id").replace('_sx', '');
            reslocation = pathObject[id].resurl + "?i=" + Math.random();
            bgUrl = pathObject["baseUrlImg"] + pathObject[id].bgurl;
            $("#preloader").fadeIn();
            $("body").css({
                "background-image": "url(" + bgUrl + ")"
            });
            $("li").removeClass("activeTab");
            $(event.target).parent("li").addClass("activeTab");
            $.get(reslocation, function (data) {
                $("#placeHolder").html(data);
                $("#preloader").fadeOut();
                $(".icon-li a ").click(games_btn_click);
                (function (t) {
                    t.click(function (event) {
                        switchGamesPanel(event);
                    });
                })($(".oneToHundred"));
            });
        }

        //--
    }
    //--


    function games_btn_click(event) {
        var button = $(event.target).attr("class");
        var lsObj = {};
        var playerObj = {};
        var gamesName, game_id, game_name, category;

        //---
        // if play for real button click 
        if (button == ("play-real-button")) {

            if (plryHandle != 999999) {
                gamesName = $(event.target).attr("id").replace('_playR', '');
                lsObj = casinoGamesListObject[gamesName];
                popUp(lsObj, accountName);
            } else {
                alert(loginMsg);
            }
        }

        //---
        // if play for fun button click 
        if (button == "play-fun-button") {
            gamesName = $(event.target).attr("id").replace('_playF', '');
            lsObj = casinoGamesListObject[gamesName];
            popUp(lsObj, 'FunAcct');


        }

        // if help button click 
        //-----
        if (button === "games-help") {
            // until help files are available--
            gamesName = $(event.target).attr("id").replace('_help', '');
            popupHelp(gamesName, lang)
            //---o
        }
        //---
        // if play for real button click 
        if (button === "footer_links") {
            if (plryHandle != 999999) {
                gamesName = $(event.target).attr("id").replace('_Ftr', '');
                lsObj = casinoGamesListObject[gamesName];
                popUp(lsObj, accountName);
            } else {
                alert(loginMsg);
            }
        }

        // jackpot click
        if (button === "logoimg") {

            if (plryHandle != 999999) {
                var gamesTitle = $(event.target).attr("title");
                lsObj = casinoGamesListObject[gamesTitle];
                popUp(lsObj, accountName);
            } else {

                alert(loginMsg);

            }


        }
    }
    //--
    //---- looad ProgressiveJackpot -->
    var interval = 1000000;
    var jackPotUrl = '../loadable-data/ProgressiveJackpot.ashx';
    var intervahandle = setTimeout(timeJacker, interval);

    //-- the first load of prgressive  jackpots
    timeJacker();

    function timeJacker() {
        $.get(jackPotUrl, function (data) {
            var gmItems, outPut;
            var pjpTostring = '';
            var progressiveArrayObjs = [];
            var PromotionMessage = $(data).find('PromotionMessage');
            var pjpItems = $(PromotionMessage).find('PJP');
            //--
            //loop through  and add all items to an array 
            $.each(pjpItems, function (index, value) {
                if ($(value).attr("planName").search(/PFF/) == -1) {
                    var currentValue = $(value).attr("currentvalue");
                    gmConstruct($(value).find("GM"), currentValue, progressiveArrayObjs);
                }
            });
            // second loop 


            function gmConstruct(vc, currentValue, retrunTarget) {
                var gmObj = {};
                $.each($(vc), function (index, value) {
                    var gameDescription = $(value).attr("GameDescription");
                    var displayGameName = $(value).attr("displayGameName");
                    gmObj = {
                        'gameDescription': gameDescription,
                        'currentvalue': currentValue,
                        'displayGameName': displayGameName
                    };
                    retrunTarget.push(gmObj)
                });
            }
            //-- ens loops
            //-- sorting array --
            progressiveArrayObjs.sort(sortByCurrentValue);

            function sortByCurrentValue(a, b) {
                var x = Math.floor(a.currentvalue);
                var y = Math.floor(b.currentvalue);
                return ((x < y) ? +1 : ((x > y) ? 1 : 0));
            }
            //--
            var htnlStr = '';
            for (var i = 0; i < progressiveArrayObjs.length; i++) {
                var GameName = progressiveArrayObjs[i].displayGameName;
                var Gameiconname = progressiveArrayObjs[i].gameDescription;
                var currentvalue = progressiveArrayObjs[i].currentvalue;
                var Gameiconlocation = "http://cache.agenziasportiva.com/main/images_02_09_2010/logo_icons/" + Gameiconname.toLowerCase() + ".png";
                //--
                var imageLogo = '<img src="' + Gameiconlocation + '" class="logoimg" title="' + objectPropName(Gameiconname) + '"/>';
                htnlStr += "<li> <div class='jplogo'>" + imageLogo + "</div> <span class ='GameName' title='" + objectPropName(Gameiconname) + "'>" + GameName + "</span><span class = 'currentvalue' title='" + objectPropName(Gameiconname) + "'>&pound; " + CommaFmt(CurrencyFmt(Math.round(currentvalue))) + "</span></li>";
            }
            outPut = "<ul id = 'jackpot-updater' >" + htnlStr + "</ul>";
            $('#progressive-jackpot').html(outPut);
            $('.logoimg').css("cursor", "pointer").click(games_btn_click);

            //-- end sorting array - and populate
        });
    }
    
    var promotion_url_new = "../loadable-data/promotionRightHeather_xml/promotionRightHeather_xml_" + langSwitcher(lang) + ".xml";
    $.get(promotion_url_new, function (data) {
	    var promoContentNew = $(data).find("main").text();
	    $("#topBanner").html(promoContentNew);
	    $("#currentAdd_new img").click(promotionClickNew);

    });
    $(".promotab").click(promotionClickNew);

    function promotionClickNew(event) {
	    event.preventDefault();
	    window.open('../Portal/PromotionST.aspx?masterpage=0', "promotions", 'height=740,width=860,status=0,toolbar=0,menubar=0,resizable=1,scrollbars=0');
    }
    
    
    var promotion_url = "../loadable-data/promotion_xml/promo_01_xml_" + langSwitcher(lang) + ".xml";
    $.get(promotion_url, function (data) {
        var promoContent = $(data).find("main").text();
        $("#promoBox").html(promoContent);
        $("#currentAdd img").click(promotionClick);

    });
    $(".promotab").click(promotionClick);

    function promotionClick(event) {
        event.preventDefault();
        window.open('../Portal/Promotion.aspx?masterpage=0', "promotions", 'height=740,width=860,status=0,toolbar=0,menubar=0,resizable=1,scrollbars=0');
    }
});


// Number formatting  for currency


function CurrencyFmt(amount) {
    var i = parseFloat(amount);
    if (isNaN(i)) {
        i = 0.00;
        return;
    }
    var minus = '';
    if (i < 0) {
        minus = '-';
    }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);
    if (s.indexOf('.') < 0) {
        s += '.00';
    }
    if (s.indexOf('.') == (s.length - 2)) {
        s += '0';
    }
    s = minus + s;
    return s;
}
//-- currency comma--


function CommaFmt(amount) {
    var delimiter = ","; // replace comma if desired
    var a = amount.split('.', 2)
    var d = a[1];
    var i = parseInt(a[0]);
    if (isNaN(i)) {
        return '';
    }
    var minus = '';
    if (i < 0) {
        minus = '-';
    }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while (n.length > 3) {
        var nn = n.substr(n.length - 3);
        a.unshift(nn);
        n = n.substr(0, n.length - 3);
    }
    if (n.length > 0) {
        a.unshift(n);
    }
    n = a.join(delimiter);
    if (d.length < 1) {
        amount = n;
    } else {
        amount = n + '.' + d;
    }
    amount = minus + amount;
    return amount;
}
//--
// name cleaner 

function objectPropName(strg) {
    var str = strg.replace(/_/g, "");
    return str;
}
//--	
// lang switcher  


function langSwitcher(localln) {
    var str = "";
    if (localln == "fr") {
        str = localln;
    } else if (localln == "it") {
        str = localln;
    } else if (localln == "es") {
        str = localln;
    } else if (localln == "gr") {
        str = localln;
    } else if (localln == "el") {
        str = localln;
    } else if (localln == "bg") {
        str = localln;
    } else {
        str = "en"
    }

    return str;

}
//-- keep focus--
// pop up window launcher 	


function popUp(gameObj, accounType) {
    var url = '';
    //alert(gameObj.gmode);
    //accountName
    if (gameObj.gmode === 2) {

        if (plryHandle != 999999) {
            url = gameLaunchUrl + "playerHandle=" + plryHandle + "&gameId=" + gameObj.gameId + "&gameName=" + gameObj.gameName + "&gameType=" + gameObj.gameType + "&account=" + accounType + "&gameSuite=flash&lang=" + lang;
        } else {

            alert(loginMsg);
            return;
        }

    } else if (gameObj.gmode === 1) {
        url = gameLaunchUrl + "playerHandle=" + plryHandle + "&gameId=" + gameObj.gameId + "&gameName=" + gameObj.gameName + "&gameType=" + gameObj.gameType + "&account=" + accounType + "&gameSuite=flash&lang=" + lang;
    } else if (gameObj.gmode === 0) {
        if (plryHandle != 999999) {
            url = multiPlayerLaunchUrl + "playerHandle=" + plryHandle + "&account=" + accounType + "&gameName=" + gameObj.gameName + "&gameType=" + gameObj.gameType + "&lang=" + lang;
        } else {

            alert(loginMsg);
            return;
        }


    }
    activeWindow = open(url, "activewindow", 'height=700,width=980,status=0,toolbar=0,menubar=0,resizable=1,scrollbars=1');
}
/// == 

function popupHelp(filenName, lng) {
    window.open(buildPath(filenName, lng), "popupwindow", 'height=700,width=980,status=0,toolbar=0,menubar=0,resizable=1,scrollbars=1');

    //---
 function buildPath(file, lngfolder) {
        var availableLang = '';

        if (lngfolder == 'it') {
            availableLang = 'it';
        } else if (lngfolder == 'fr') {
            availableLang = 'fr';
        } else if (lngfolder == 'es') {
            availableLang = 'es';
        } else if (lngfolder == 'pt') {
            availableLang = 'pt';
        } else if (lngfolder == 'el') {
            availableLang = 'el';
        } else {
            availableLang = 'en';
        }
        return "../loadable-data/all-sample-xmls/DescriptionPage.aspx?name=" + file + "&lang=" + availableLang;
    };
}
