var Site = {};

Site.selected = 0;

PushFacebook = function()
{
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent('http://www.supporterlaget.se?team='+Site.selected+'&share=facebook')+'&t=Svenska Supporterlaget 2010','Dela Supporterlaget.se på Facebook', 'status=0,toolbar=0,location=1,menubar=0,resizeable=1,height=400,width=700');
    return false;
};

PushTwitter = function()
{
    u='http://www.supporterlaget.se';

    t=document.title;
    w = window.open('http://twitter.com/home?status='+encodeURIComponent('Har nominerat '+Site.teams[Site.selected].noun + ' till Supporterlaget 2010! - '+'http://www.supporterlaget.se'),'sharer','toolbar=0,status=0,width=626,height=436');
    return false;
}

Site.renderFonts = function(){
    Cufon.now();
    Cufon.replace('h1', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace('h2', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace('h3', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace('#policyBox', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace('p', {
        fontFamily: 'SerifaBTRoman'
    });
    Cufon.replace('li', {
        fontFamily: 'SerifaBTRoman'
    });
}

Site.elementH2Render = function(selector){
    Cufon.replace(selector+' h2', {
        fontFamily: 'SerifaBTBlack'
    });
}

Site.partialRenderFonts = function(selector){
    Cufon.now();
    Cufon.replace('h1', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace(selector+' h2', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace(selector+' h3', {
        fontFamily: 'SerifaBTBlack'
    });
    Cufon.replace(selector+' p', {
        fontFamily: 'SerifaBTRoman'
    });
    /*Cufon.replace(selector+' a', {
        fontFamily: 'SerifaBTBlack'
    });*/
    Cufon.replace(selector+' li', {
        fontFamily: 'SerifaBTRoman'
    });
    Cufon.replace(selector+' .fatStyle', {
        fontFamily: 'SerifaBTBlack'
    });
}

Site.initCloseButton = function()
{
    $('.ui-icon-closethick').bind('mouseover', function(){
        $(this).css('background-image','url(/2010/images/widgets/closeButtonOver.gif)');
    }).bind('mouseout', function(){
        $(this).css('background-image','url(/2010/images/widgets/closeButton.gif)');
    }).bind('mousedown', function(){
        $(this).css('background-image','url(/2010/images/widgets/closeButtonDown.gif)');
    }).bind('mouseup', function(){
        $(this).css('background-image','url(/2010/images/widgets/closeButtonOver.gif)');
    });
}

Site.initButton = function(selector, image)
{
    $(selector).bind('mouseover', function(){
        this.src=image+'Over.gif';
    }).bind('mouseout', function(){
        this.src=image+'.gif';
    }).bind('mousedown', function(){
        this.src=image+'Down.gif';
    }).bind('mouseup', function(){
        this.src=image+'Over.gif';
    });
}

function NominatePopup(team, nominee){
    Site.selected = team;
    $('#nominatePopup').dialog('open')
    return false;
}

function GotoTeam(team, spam)
{
    $('#slogan h1').text(Site.teams[team].slogan);
    Cufon.replace('#slogan h1', {
        fontFamily: 'SerifaBTBlack'
    });
}

function GetVerticalScrollOffset() {
  var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
  var y=document.all? iebody.scrollTop : pageYOffset;
  return y;
}

/*function VotePopup(team, candidate)
{
    Site.getCandidates(cat, candidate);
}*/

$(document).ready(function(){
    Site.partialRenderFonts('.cufonFonts');

    /**** Nominee statistics ****/

    $('#nomineeTooltip').dialog({
        modal: false,
        dialogClass: 'nomineeTooltip',
        width: 216,
        height: 154,
        stack: true,
        resizeable: false,
        draggable: false,
        autoOpen: false
    });

    $('.teamNomineesPopupTrigger').click(function(){
        $('#nomineeTooltip').dialog('close');

        var id = $(this).attr('id');
        var left = parseInt($(this).css('left'));
        
        $.get('/2010/action.php?action=get_team_nominees', 'team='+id, function(data, textStatus){
            $('#nomineeContent').html(data).jScrollPane({
                scrollbarWidth: 14,
                scrollbarMargin: 0,
                dragMinHeight: 59,
                dragMaxHeight: 59
            }).find('a').click(function(){
                if($('#nomineeTooltip').dialog('isOpen'))
                    $('#nomineeTooltip').dialog('close');
                var offset = $(this).offset();
                var width = $(this).width();
                $('#nomineeTooltipContent').html($(this).attr('alt'));
                $('#nomineeTooltip').dialog('open').dialog('option', 'position', [offset.left + width, offset.top-GetVerticalScrollOffset()-30]);
                return false;
            });
            $('#nomineeTooltip').click(function(){
                $(this).dialog('close');
            });
            $('.teamNomineesPopupWrapper').click(function(){
                $('#nomineeTooltip').dialog('close');
            });
            $('#teamNominees ul b').html(Site.teams[id].team);
        });
        $('#teamNominees').css({
            backgroundImage: 'url('+Site.teams[id].icon+')',
            backgroundRepeat: 'no-repeat',
            backgroundPosition: 'top left'
        });
        $('.selector').animate({
            left: left+7
        });
          var p = $('.statisticsDiagram').offset();
          $('#teamNomineesPopup').dialog('option','position', [(p.left), (p.top-GetVerticalScrollOffset()+3)]);
        $('#teamNomineesPopup').dialog('open');
    });

    /**** Initializing dialog instances ****/

    // Setting up Nomination Dialog
    $('#nominatePopup').dialog({
        modal: true,
        width: 676,
        height: /*434*/ 550,
        stack: true,
        resizeable: false,
        draggable: false,
        autoOpen: false,
        dialogClass: 'bigDialog',
        open: function(){
            $('.nominationHead').text(Site.teams[Site.selected].slogan);
            $('.nominationSlogan').text(Site.teams[Site.selected].text);
            $('.nominationLogo').attr('src', Site.teams[Site.selected].logo);
            Site.partialRenderFonts('#nominatePopup');

            $('.nominationFormBox input').val('');
            $('.nominationFormBox textarea').text('');
            $('.nomineeTeam').val(Site.selected);
            $('.nominationFormBox').TextfieldPlaceholders();
        }
    });
    Site.initButton('.nominationGotoStatistics', '/2010/images/widgets/statisticsButton');
    Site.initButton('.nominationSubmit', '/2010/images/widgets/sendButton');
    $('.nominationGotoStatistics').click(function(){
        $('#statisticsPopup').dialog('open');
        return false;
    });
    $('.nominationSubmit').click(function(){
        $.ajax({
            url:'/2010/action.php?action=nominate',
            dataType: 'json',
            data: $('.nominationFormBox form').serialize(),
            success: function(data, textStatus, XMLHttpRequest){
                if(data.result == 'error'){
                    alert(data.info);
                }
                else{
                    $('#nominatePopup').dialog('close');
                    $('#thankyouPopup').dialog('open');
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert('Ett fel uppstod vid kommunikation med servern!');
            }
        });
        return false;
    });
    $('#nominatePopup form').TextfieldPlaceholders();

    // Setting up Statistics Dialog
    $('#statisticsPopup').dialog({
        modal: true,
        width: 676,
        height: 434,
        stack: true,
        resizeable: false,
        draggable: false,
        autoOpen: false,
        dialogClass: 'bigDialog',
        open: function(){
            $('.diagram').load('/2010/action.php?action=statistics', function(responseText, textStatus, XMLHttpRequest){
                Cufon.replace('.numbers', {
                    fontFamily: 'SerifaBTRoman'
                });
            });
        }
    });
    Site.initButton('.backButton', '/2010/images/widgets/backButton');
    $('.backButton').click(function(){
        $('#statisticsPopup').dialog('close');
        return false;
    });

    // Setting up Thankyou Dialog
    $('#thankyouPopup').dialog({
        modal: true,
        width: 676,
        height: 434,
        stack: true,
        resizeable: false,
        draggable: false,
        autoOpen: false,
        dialogClass: 'bigDialog',
        open: function(){
        }
    });
    Site.initButton('.nominationButton', '/2010/images/widgets/nominationButton');
    Site.initButton('.facebookButton', '/2010/images/widgets/facebookButton');
    Site.initButton('.twitterButton', '/2010/images/widgets/twitterButton');
    Site.initButton('.tellafriendButton', '/2010/images/widgets/tellafriendButton');
    $('.nominationButton').click(function(){
        $('#thankyouPopup').dialog('close');
        $('#nominatePopup').dialog('open');
        return false;
    });
    $('.facebookButton').click(function(){
        PushFacebook();
        return false;
    });
    $('.twitterButton').click(function(){
        PushTwitter();
        return false;
    });
    $('.tellafriendButton').click(function(){
        $('#tellafriendPopup').dialog('open');
        return false;
    });

    // Setting up Tell a friend Dialog
    $('#tellafriendPopup').dialog({
        modal: true,
        width: 539,
        height: 357,
        stack: true,
        resizeable: false,
        draggable: false,
        autoOpen: false,
        dialogClass: 'smallDialog',
        open: function(){
            $('.tellafriendFormBox input').val('');
            $('.tellafriendFormBox textarea').text('');
            $('.tellafriendFormBox').TextfieldPlaceholders();
        },
        close: function(){
            $('.tellafriendFormBox input').val('');
            $('.tellafriendFormBox textarea').text('');
        }
    });
    Site.initButton('.tellafriendSubmit', '/2010/images/widgets/sendButton');
    $('.tellafriendSubmit').click(function(){
        $.ajax({
            url:'/2010/action.php?action=tellafriend',
            dataType: 'json',
            data: $('.tellafriendFormBox').serialize(),
            success: function(data, textStatus, XMLHttpRequest){
                if(data.result == 'error'){
                    alert(data.info);
                }
                else{
                    $('#tellafriendPopup').dialog('close');
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert('Ett fel uppstod vid kommunikation med servern!');
            }
        });
        return false;
    });

    // Setting up common dialog functionality
    Site.initCloseButton();

    /**** Setting dialog triggers ****/
    $('#l1 a').css('cursor', 'pointer');
    $('#policyBox a').css('cursor', 'pointer');
});
