var pauseTicker = false;
var nextTicker = false;
var prevTicker = false;

(function($) {

	function runTicker(settings) {
        if (nextTicker == true) {
            currentItem++;
            currentLength = 0;
            nextTicker = false;
            pauseTicker = false;
            setTimeout(function(){runTicker(settings); settings = null;},settings.tickerRate);
            return;            
        }

        if (prevTicker == true) {
            if (--currentItem < 0) {
                currentItem = settings.newsLinks.length-1;
            }
            currentLength = 0;
            prevTicker = false;
            pauseTicker = false;
            setTimeout(function(){runTicker(settings); settings = null;},settings.tickerRate);
            return;
        }

        if (pauseTicker==true) {
            setTimeout(function(){runTicker(settings); settings = null;},settings.tickerRate);
            return;
        }

       
		if(settings.firstRun == 1){
			currentLength = settings.currentLength;
			currentItem = settings.currentItem;
			settings.firstRun = 0;
		}
		if(currentItem == settings.newsItemCounter + 1){
			currentItem = 0;
		}

		if(currentLength == 0) {
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList).empty().append('<li><a href="'+ settings.newsLinks[currentItem] +'"></a></li>');
			}
			else {
				$(settings.newsList).empty().append('<li></li>');
			}
		}

		if( currentLength % 2 == 0) {
				placeHolder = settings.placeHolder1;
		}
		else {
			placeHolder = settings.placeHolder2;
		}

		if( currentLength <= settings.newsItems[currentItem].length + 1) {
			var tickerText = settings.newsItems[currentItem].substring(0,currentLength);
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList + ' li a').text(tickerText + placeHolder);
			}
			else {
				$(settings.newsList + ' li').text(tickerText + placeHolder);
			}
			currentLength ++;
			setTimeout(function(){runTicker(settings); settings = null;},settings.tickerRate);
		}
		else {
			if(settings.newsLinks[currentItem].length > 0) {
				$(settings.newsList + ' li a').text(settings.newsItems[currentItem]);
			}
			else {
				$(settings.newsList + ' li').text(settings.newsItems[currentItem]);
			}
			currentLength = 0;
			currentItem ++;
			setTimeout(function(){runTicker(settings); settings = null;},settings.loopDelay);
		}
	}

	$.fn.extend({
		newsTicker: function(settings) {
			settings = jQuery.extend({
		 	  	newsList: "#news",
		   		tickerRate: 80,
		    	startDelay: 100,
		    	loopDelay: 3000,
		    	placeHolder1: " |",
		    	placeHolder2: "_"
			}, settings);

			var newsItems = new Array();
			var newsLinks = new Array();
			var newsItemCounter = 0;

			$(settings.newsList + ' li').hide();

			$(settings.newsList + ' li').each(function(){
				if($(this).children('a').length) {
					newsItems[newsItemCounter] = $(this).children('a').text();
					newsLinks[newsItemCounter] = $(this).children('a').attr('href');
				}
				else {
					newsItems[newsItemCounter] = $(this).text();
					newsLinks[newsItemCounter] = '';
				}
				newsItemCounter ++;
			});

			settings = jQuery.extend(settings,{
				newsItems: newsItems,
				newsLinks: newsLinks,
				newsItemCounter: newsItemCounter - 1,
				currentItem: 0,
				currentLength: 0,
				firstRun:1
			});

			ticketTimer = setTimeout(function(){runTicker(settings); settings = null;},settings.startDelay);
		}

	});


})(jQuery);

$(document).ready(function() {

// news ticker
	var options = {
  		newsList: "#news",
        tickerRate: 40,
        startDelay: 100,
        loopDelay: 3000,        
 		startDelay: 0,
 		placeHolder1: "_"
	}
	$().newsTicker(options);
    $('#news').css("visibility", "visible");

$('#pause').click(function() {
     pauseTicker = !pauseTicker;
});

$('#next').click(function() {
     nextTicker = true;
});

$('#previous').click(function() {
     prevTicker = true;
});

// collapsible boxes

   $('.block').each(function(){
       $(this).find('div.title').find('img.collapse').toggle(
              function(){
                     $(this).closest('div.title').siblings('.content').hide('fast');
                     $(this).attr('src','/images/move_up.jpg');
                }, function() {
                     $(this).closest('div.title').siblings('.content').show('fast');
                     $(this).attr('src','/images/move_down.jpg');
                }
       )
       .end()
   });

// draggable boxes

    $('.column').sortable({
        connectWith: '.column',
        handle: 'div.title',
        cursor: 'move',
        placeholder: 'placeholder',
        forcePlaceholderSize: true,
        opacity: 0.4
    })

   $('#new_review').submit(function (){
     $.post($(this).attr('action'), $(this).serialize(), null, "script");
     return false;
   });

    $('#choose_color_link').click(function(){
        $('#choose_color').show('fast');
    }).css('cursor', 'pointer');

    $('#cancel_choose_color_button').click(function(){
        $('#choose_color').hide('fast');
    }).css('cursor', 'pointer'); 

    $('#reset_page_link').click(function(){
        $.cookie('page-color', 'default');
        $.cookie('page-layout', 'default');
        location.reload(); 
    }).css('cursor', 'pointer');;

    $('.choose_color').each(function(){
        $(this).click(function() {
            color = $(this).attr('rel');
            $("link").attr("href",'/stylesheets/' + color + '.css');
            $('#choose_color').hide('fast');
            $.cookie('page-color', color);
            return false;
        }).css('cursor', 'pointer'); 
    });

    $('#gallery_next').css('cursor', 'pointer');
    $('#gallery_prev').css('cursor', 'pointer');

});


