var nPlayers;
var nTables;
var rPlayers=-1;
var rTables=-1;
var statDelay=500;
var outPlayers='';
var outTables='';
var gotFirstStats=false;
var gotFirstCountdown=false;
var redostats=false;

var maincountdown=new mrpoker_timer($('#tables-data'),'maincountdown');

var mrpoker={
    done:false
};

$(document).ready(function(){
    if (!mrpoker.done){
        mrpoker.done=true;
        // $('.countdown-area').hide();
         $('.next-tournament-title span').css('opacity','0');
         $('.players-online span').css('opacity','0');
         $('.tables-in-play span').css('opacity','0');
         $('#login-foldout').hide();
         $('#user-login-cancel').click(hidelogin);
         $('#show-login').click(togglelogin);
         $("ul#ticker01").liScroll({travelocity: 0.04}); 
         
         //Replace download button
         $('.flash-download-button').html('<object style="margin-left:-6px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="179" height="161"><param name="movie" value="http://mrpoker.com/media/downloadbutton.swf" /><param name="quality" value="high" /><embed src="http://mrpoker.com/media/downloadbutton.swf" style="margin-left:2px;" quality="high" bgcolor="#ffffff" width="181" height="161" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>');
         $('.flash-download-button-fr').html('<object style="margin-left:0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="179" height="161"><param name="movie" value="http://mrpoker.com/media/downloadbutton_fr.swf" /><param name="quality" value="high" /><embed src="http://mrpoker.com/media/downloadbutton_fr.swf" style="margin-left:0px;" quality="high" bgcolor="#ffffff" width="181" height="161" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>');
         $('#flash-home-area').html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="758" height="257"><param name="movie" value="http://mrpoker.com/media/main_flash_2.swf" /><param name="quality" value="high" /><embed src="http://mrpoker.com/media/main_flash_2.swf" quality="high" bgcolor="#ffffff" width="758" height="257" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>');  
         $('#flash-home-area-fr').html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="758" height="257"><param name="movie" value="http://mrpoker.com/media/main_flash_fr.swf" /><param name="quality" value="high" /><embed src="http://mrpoker.com/media/main_flash_fr.swf" quality="high" bgcolor="#ffffff" width="758" height="257" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>');  
         
         $('#flash-monster').insertSwf('http://mrpoker.com/monster_tournament.swf',224,161);

         getfirststats();     
         maincountdown.nextCountdown();
         
    }     
});

jQuery.fn.insertSwf=function(src,width,height){
    $(this).html('<object style="margin-left:-6px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'"><param name="movie" value="http://mrpoker.com/media/'+src+'" /><param name="quality" value="high" /><embed src="http://mrpoker.com/media/'+src+'" style="margin-left:2px;" quality="high" bgcolor="#ffffff" width="'+width+'" height="'+height+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>'); 
}

function writeStats(){
    if (!gotFirstStats){
        if (!gotFirstCountdown) $('#tables-data').fadeIn(200);
//        $('#tables-data span span').animate({'height':'15px'},500);
        setTimeout("$('#tables-data .players-online span').MrPokerFizzIn(100);",200);
        setTimeout("$('#tables-data .tables-in-play span').MrPokerFizzIn(100);",1200);
    }
    gotFirstStats=true;
    clearTimeout(redostats);
    redostats=false;
    var nLimit = 20;
    if(!nPlayers) {
        nPlayers = 0;
        nTables = 0;
    }
    if(nPlayers >= nLimit) {
        if (nPlayers!=rPlayers){
            drawPlayers();
            rPlayers=nPlayers;
        }
        if (nTables!=rTables){
            setTimeout('drawTables();',1000);
            rTables=nTables;
        }
        setTimeout("reloadStats();",5000);
    }else{
        if(statDelay<5000){
            setTimeout("writeStats();",statDelay);
            statDelay+=500;
        }
    }
}

function drawPlayers(){
    $('.number-of-players .numbers').MrPokerNumber(PadDigits(nPlayers,5,'x'),100,100);
}

function drawTables(){
    $('.number-of-tables .numbers').MrPokerNumber(PadDigits(nTables,5,'x'),100,100);
}

function getfirststats(){
    clearTimeout(redostats);
    redostats=false;
    if (gotFirstStats==false){
        setTimeout('reloadStats();',2500);
    }
}

function reloadStats(){
    gotFirstStats=false;
    if(!redostats){
        redostats=setTimeout('getfirststats()',5000);
        $.getScript('http://pokerservices.bosscasinos.com/playertablestats.aspx?variables=1',writeStats);    
    }
}

function togglelogin(){
    if ($('#login-foldout').css('display')=='none'){
        showlogin();
    }else{
        hidelogin();
    }
}

function showlogin(){
    $('#login-foldout').slideDown('slow');
    $('#main-menu').slideUp('slow');
    return false;
}

function hidelogin(){
    $('#login-foldout').slideUp('slow');
    $('#main-menu').slideDown('slow');
    return false;
}

jQuery.fn.liScroll = function(settings) {
        settings = jQuery.extend({
        travelocity: 0.07
        }, settings);        
        return this.each(function(){
                var $strip = jQuery(this);
                $strip.addClass("newsticker")
                var stripWidth = 0;
                var $mask = $strip.wrap("<div class='mask'></div>");
                var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");                                
                var containerWidth = $strip.parent().parent().width();    //a.k.a. 'mask' width     
                $strip.find("li").each(function(i){
                stripWidth += jQuery(this, i).width();
                });
                $strip.width(stripWidth);            
                var defTiming = stripWidth/settings.travelocity;
                var totalTravel = stripWidth+containerWidth;                                
                function scrollnews(spazio, tempo){
                $strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);});
                }
                scrollnews(totalTravel, defTiming);                
                $strip.hover(function(){
                jQuery(this).stop();
                },
                function(){
                var offset = jQuery(this).offset();
                var residualSpace = offset.left + stripWidth;
                var residualTime = residualSpace/settings.travelocity;
                scrollnews(residualSpace, residualTime);
                });            
        });    
};

function mrpoker_timer(areaobj,myname,icode){
    var area=areaobj;
    var code=icode;
    var myname=myname;     
    var gotfirstcountdown=false;
    var retryrefresh=null;
    var cd=-1;
    var cm=-1;
    var ch=-1;
    var cs=-1;
    this.showseconds=true;
    this.showmilliseconds=true;
    this.mrpoker_showcountdownarea=function(){
        area.find('.next-tournament-title span').MrPokerFizzIn(300);
        area.find('.next-tournament.countdown .number-colon').MrPokerFizzIn(1200);
        area.find('.next-tournament.countdown .number-dot').MrPokerFizzIn(1200);
    };
    this.create_countdown=function(showmillis){
        this.showmilliseconds=showmillis;
        if(this.showmilliseconds){
            area.find('.countdown-space').html('<span class="next-tournament-title"><span>Next Tournament</span></span><div class="next-tournament countdown"><span id="cd-d" class="small-number"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-dot">&nbsp;</span></span><span id="cd-h"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-m"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-s"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-ms" class="small-number"><span class="number-x">&nbsp;</span></span></div>');
        }else{
            if (this.showseconds){
                area.find('.countdown-space').html('<span class="next-tournament-title"><span>Next Tournament</span></span><div class="next-tournament countdown"><span id="cd-d" class="small-number"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-dot">&nbsp;</span></span><span id="cd-h"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-m"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-s"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span></span></div>');
            }else{
                area.find('.countdown-space').html('<span class="next-tournament-title"><span>Next Tournament</span></span><div class="next-tournament countdown"><span id="cd-d" class="small-number"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-dot">&nbsp;</span></span><span id="cd-h"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span><span><span class="number-colon">&nbsp;</span></span><span id="cd-m"><span class="number-x">&nbsp;</span><span class="number-x">&nbsp;</span></span></span></div>');
            }
        }
    };
    this.mrpoker_countdown=function(val){
        var _self = this;
        if (val<1){
            this.nextCountdown();
        }else{
            if (!this.gotFirstCountdown){
                if (!this.gotFirstStats){
                    area.find('.next-tournament-title span').MrPokerFizzIn(700);
                    area.fadeIn(1600).animate({'opacity':1},1600,this.mrpoker_showcountdownarea);
                }else{
                    this.mrpoker_showcountdownarea();
                }                    
                    setTimeout(function(){
                        _self.mrpoker_countdown(val-2);
                        }, 2096);
                this.gotFirstCountdown=true;
            }else{
                if (this.showmilliseconds==true){
                    setTimeout(function(){
                        _self.mrpoker_countdown(val-1);
                    }, 96);
                }else{
                    if(this.showseconds==true){
                        setTimeout(function(){
                            _self.mrpoker_countdown(val-10);
                        }, 996);
                    }else{
                        setTimeout(function(){
                            _self.mrpoker_countdown(val-60);
                        }, 5996);
                    }
                }
                var vala=Math.floor(val/10);
                var d=Math.floor(vala/60/60/24);
                var h=Math.floor(vala/60/60)-(d*24);
                var m=Math.floor(vala/60)-(h*60)-(d*24*60);
                var s=Math.floor(vala)-(m*60)-(h*60*60)-(d*24*60*60);
                
                d=PadDigits(d,3);
                h=PadDigits(h,2);
                m=PadDigits(m,2);
                s=PadDigits(s,2);
                s2=PadDigits(val-(vala*10),1);
                
                sf=50;
                
                if (d!=cd) area.find('.next-tournament #cd-d').MrPokerNumber(d,400,200);
                if (h!=ch) area.find('.next-tournament #cd-h').MrPokerNumber(h,400,200);
                if (m!=cm) area.find('.next-tournament #cd-m').MrPokerNumber(m,200,200);
                if (this.showseconds==true && s!=cs) area.find('.next-tournament #cd-s').MrPokerNumber(s,sf,sf);
                if (this.showmilliseconds==true) area.find('.next-tournament #cd-ms').MrPokerNumber(s2,0,0);
                
                cd=d;
                ch=h;
                cm=m;
                cs=s;
            }
        }    
    };
    this.nextCountdown=function(){
        _self=this;
        retryrefresh=setTimeout(function(){_self.nextCountdown();},3000);
        $.getScript('http://mrpoker.com/getcountdown.php?cd='+myname+'&n='+code,function(data,textstatus){
            clearTimeout(retryrefresh);
        });    
    };
}

jQuery.fn.MrPokerNumber=function(val,fadeout,fadein){
    val=val.toString();  
    for(a=val.length;a>-1;a--){
        c='number-'+val.substring(a,a+1);
        if (!$(this).find('span').eq(a).hasClass(c)){
            if (fadeout>0){                              
                fadeout+=20*(val.length-a);
                fadein+=10*(val.length-a);
                $(this).find('span').eq(a).attr('title',c).animate({marginTop:'10px',opacity:0},fadeout,function(){
                    r=$(this).attr('title');  
                    $(this).css('margin-top','-10px'); 
                    $(this).attr('class',r).animate({marginTop:'0px',opacity:1},fadein);
                    });
            }else{
                $(this).find('span').eq(a).attr('class',c);
            }
        }
    }
}

jQuery.fn.MrPokerFizzIn=function(speed){
    $(this).animate({marginTop:'0px',opacity:1},speed);
}
jQuery.fn.MrPokerFizzOut=function(speed){
    $(this).animate({marginTop:'18px',opacity:0},speed,function(){
        $(this).css('margin-top','-18px');
    });
}   




function PadDigits(n, totalDigits,padchar) 
    { 
        if (typeof padchar == 'undefined') padchar='0';
        n = n.toString(); 
        var pd = ''; 
        if (totalDigits > n.length) 
        { 
            for (i=0; i < (totalDigits-n.length); i++) 
            { 
                pd += padchar; 
            } 
        } 
        return pd + n.toString(); 
    } 
	
	function externalLinks() {  
 if (!document.getElementsByTagName) return;  
 var anchors = document.getElementsByTagName("a");  
 for (var i=0; i<anchors.length; i++) {  
   var anchor = anchors[i];  
   if (anchor.getAttribute("href") &&  
       anchor.getAttribute("rel") == "external")  
     anchor.target = "_blank";  
 }  
}  
window.onload = externalLinks;