var messageFrame;
var COOKIE_NAME = 'um_tab_selector';

$(document).ready(function(){
    
	initTabs();
	initSubtickers();
	initFormSubmit();
    initslider();    
    $('#slider_handle').css({left : "103px"});

});

function returnImgStates() {
        $('span.sub-main img').each(function(){
            var currentPic = $(this).attr('alt');
            $(this).attr('src',currentPic);
        });
    }

function switchImages(input) {
    returnImgStates();
    var pic = $(input).parent().find('img');
    if( $(pic).hasClass('up') ) {

        $(pic).attr('src','/images/design/subrowtab_selected_up.gif');
    }
    else {
        $(pic).attr('src','/images/design/subrowtab_selected_down.gif');
    }
}

function initslider()
{
    var defpos=-600;
    var bgpos=0;
    var scale = getScale();
    $('p.slider-scale span.floatleft').empty().text(scale);
    $('p.slider-scale span.floatright').empty().text(scale);
    $('#slider_track').css('background-position','50% -600px');
   options = {
        min: -scale,
        max: scale,
        startValue: 0,
        steps : scale*2,
        handle : "#slider_handle",
		slide : function() { 
            var value = parseInt($("#slider_track").slider("value")); 
            $('#voting_votes').val(Math.abs(value));
            //bgpos = defpos+parseInt(value)*40;
            bgpos = defpos+parseInt(10*value/scale)*40;
            $('#slider_track').css('background-position','50% '+ bgpos +'px');
            setDirection(value);
			if(value != 0) {
				$('#slider_bubble').html('<span>'+Math.abs(value)+'</span>');
				if (value > 0) {
					$('#slider_bubble span').attr('class', 'elem-buy');
				}
				else {
					$('#slider_bubble span').attr('class', 'elem-sell');
				}
				$('#slider_bubble').css('display', 'block');
				
				//console.log('slide: '+parseInt($("#slider_track").slider("value")))
			}else{
				$('#slider_bubble').css('display', 'none');
			}		
		}
   }
   options.handles = getHandles();
   $("#slider_track").slider(options);    
}

function getHandles()
{
    var result = [{start:0, min:-5, max:5}];
    //var votesleft = parseInt($("p.counter span").text());
    var votesleft = getVotesLeft();
    result[0].max = votesleft;
    result[0].min = -votesleft;
    //result[0].max = Math.min(votesleft,result[0].max);
    //result[0].min = -result[0].max;
    if ($("#voting_direction").attr("disabled"))
    {
       if ($("#voting_direction option[selected]").attr('value')>0)
       {
          result[0].min = 0;
       }
       else
       {
          result[0].max = 0;
       }
    }
    else
    {
        setDirection(0);
    }    
    return result;         
}

function initFormSubmit()
{
    $("form#voteForm").submit(function() {
        var votes = parseInt($('#voting_votes').val());
        if (votes>0)
        {
            var post_array = $(this).formToArray(false);
            var urlajax = $(this).attr('action')+'/ajax';
            var urlredirect = $(this).attr('action');
            
            $.ajax({
                data: (post_array),
                type: "POST",
                url: urlajax,
                timeout: 9000,
                success: function(r)
                {                    
                    var stockname = $("#VoteInterface #stock_name").attr("value");
                    var ticker = $("#VoteInterface #ticker").attr("value");
                    var is_logged = $("#VoteInterface #is_logged").attr("value");
                    var signup_link = $("#VoteInterface #signup_link").attr("value");
					
					
                    var mess1 =  __('Vote for %1%',{'%1%' : stockname });
                    messageFrame = Boxy.ask(r, 
                        [__('Ok')], 
                        function(val) 
                        {
                            if (val == __('Ok'))
                            {
                                messageFrame.hide(); 
								if (is_logged == 1) {
									if (document.location.pathname != urlredirect + '/' + ticker) {
										document.location = urlredirect + '/' + ticker;
									}
								}    
								else {
									document.location = signup_link;
								}                      
                            }
                        },
                        {title: mess1, 
                         closeable: true, 
                         closeAfterClick: false, 
                         afterHide: function() 
                         {
                            updateResponse();
                         } 
                        }
                    );
                }
            });        
        }
        return false;
    });   
}

function updateResponse()
{
    var urlrefresh = $("form#voteForm").attr('action')+'/refresh';
    var stockid = $("form#voteForm input[name='ticker']").val();
    $.getJSON(urlrefresh,{ticker: stockid},jsonUpdate);
    $('#voting_votes').val(0);
    $('.votes-active').attr('disabled','disabled');            
    //$('#slider_track').slider('destroy');
    //initslider();                    
}

function jsonUpdate(json)
{    
    $('.rating-value').empty().text(json.rating);
    $('h4 span span.votes-left').empty().text(json.votesleft);
	$('#slider_bubble').css('display', 'none');
    $('#slider_track').slider('destroy');
    initslider();                    
    
}

function setDirection(value)
{
    if (!$("#voting_direction").attr("disabled"))
    {
        if (value>=0)
        {
            $("#voting_direction option[value='1']").each(function() {
                this.selected = true;
            });
        }
        else
        {
            $("#voting_direction option[value='-1']").each(function() {
                this.selected = true;
            });                
        }
    }
}

function getVotesLeft()
{    
    var result = $("#VoteInterface #votes-left").text();
    //var mess =__('%1% votes left');
    //var pos = mess.indexOf('%1%');
    result = parseInt(result);   
    return result;
}

function changeTab(elem)
{
    $('.stock-tabs-holder li').removeClass('active');
    $(elem).parent().addClass('active');
    var tabNumber = $(elem).attr('rel');
    $('.stock-tabs-content li').hide();
    var currentContent = '.stock-tabs-content li.content'+tabNumber+'';
    $(currentContent).fadeIn();

    switchImages(elem);	
}

function initTabs()
{
    var tab_selector = $.cookie(COOKIE_NAME);
    if (tab_selector!=undefined)
    {    	
    	changeTab($(".stock-tabs-holder li a[rel='"+tab_selector+"']"));
    }
	$('.stock-tabs-holder li a').click(function(){
    	changeTab(this);
    	var tabnr = $(this).attr('rel');
    	$.cookie(COOKIE_NAME,tabnr,{path: '/'});
        return false;
    });
    var text = $('.stock-tabs-content li.content0 div.volume').html();
    $('.stock-tabs-content li.content1 div.volume').empty().html(text);
    $('.stock-tabs-content li.content2 div.volume').empty().html(text);
    
    $('.stock-tabs-content a.close').click(function(){
        returnImgStates();
        $(this).parents('li').hide();
        $('div.stock-tabs-holder ul li.active').removeClass('active');
        $.cookie(COOKIE_NAME,'',{path: '/',expires: -1});
        return false;
    });    
}

    function closeMenuTabs () {
        $('#coverMenu').click(function(){
            $(this).remove();
            $('#listTickers li:eq(0)').addClass('no-active');
            $('#listTickers li:gt(0)').hide();
            return false;
        });
    }


function initSubtickers()
{
    var docH = $('body').height();
    var coverMenu = '<div id="coverMenu" style="height:'+docH+'px"></div>';
    $('#listTickers').show();
    $('#listTickers li:eq(0)').addClass('no-active');
    $('#listTickers li:gt(0)').hide();
    //$('#personalMenu li:last-child').css('border-right','1px solid #939393').css('padding-right','10px');

    $('#listTickers li:eq(0)').click(function(){
            //$(this).addClass('border-it-dark');
        if ( $(this).hasClass('no-active') ) {
            $(this).removeClass('no-active');
            $('#listTickers li:gt(0)').show();
            if ( $('#coverMenu').length == 0) $(coverMenu).prependTo('body');
            closeMenuTabs();
        }
        else {
            $(this).addClass('no-active');
            $('#listTickers li:gt(0)').hide();
            $('#coverMenu').remove();
        }
        return false;
    });

    /*$('#listTickers').mouseout(function(){
        $(this).removeClass('border-it-dark');
        $('#listTickers li:gt(0)').hide();
    });*/

}

    function closeMenuTabsCurr () {
        $('#coverMenu').click(function(){
            $(this).remove();
            $('#listCurrences').addClass('no-active').css('border','none');
            $('#listCurrences li').hide();
            return false;
        });
    }

/* marcinp / listCurrences */
function initCurrences()
{
    var docH = $('body').height();
    var coverMenu = '<div id="coverMenu" style="height:'+docH+'px"></div>';
    var menu = '#listCurrences';

    $(menu).children().show();
    $(menu).addClass('no-active').css('border','none');
    $(menu).children().hide();

    $('#rate_current_symbol').css('cursor','pointer');

    $('#rate_current_symbol').click(function(){
        if ( $(menu).hasClass('no-active') ) {
            $(menu).removeClass('no-active').css('border','1px solid #A8A1A8');
            $('#listCurrences li:gt(0)').show();
            if ( $('#coverMenu').length == 0) $(coverMenu).prependTo('body');
            closeMenuTabsCurr();
        }
        else {
            $(menu).addClass('no-active');
            $('#listCurrences li').hide();
            $('#coverMenu').remove();
        }
    });
}

/*function initCurrences()
{
    var docH = $('body').height();
    var coverMenu = '<div id="coverMenu" style="height:'+docH+'px"></div>';
    $('#listCurrences').show();
    $('#listCurrences li:eq(0)').addClass('no-active');
    $('#listCurrences li:gt(0)').hide();

    $('#listCurrences li:eq(0)').click(function(){alert(0);
        if ( $(this).hasClass('no-active') ) {
            $(this).removeClass('no-active');
            $('#listCurrences li:gt(0)').show();
            if ( $('#coverMenu').length == 0) $(coverMenu).prependTo('body');
            closeMenuTabsCurr();
        }
        else {
            $(this).addClass('no-active');
            $('#listCurrences li:gt(0)').hide();
            $('#coverMenu').remove();
        }

    });

}*/

function getScale()
{
	//var votes = $("p.counter span.votes-left").text();
	var votes = getVotesLeft();
    var scale = Math.ceil(votes/5)*5;
    if (scale<=0)
    {
       scale=5;  
    }
    return scale;
}