var TopPosition = new Object();

TopPosition.categories = new Array();
TopPosition.cache = new Array();

/* -- Filling the catogories array was moved to initial-js -- */

TopPosition.start = 1;
TopPosition.current = 0;
TopPosition.last = 1;
TopPosition.previous = 0;
TopPosition.sleep = false;
TopPosition.imagesLoaded = 0;
TopPosition.imagesFound = 0;

TopPosition.get = function (type) {
  httpRequest.go('POST','/top_position/','action=getTopPosition&type='+type,TopPosition,'TopPosition.loadImages()');
}

TopPosition.imageLoaded = function(){
	TopPosition.imagesLoaded++;
	if(TopPosition.imagesLoaded == TopPosition.imagesFound){
    	TopPosition.imagesLoaded = 0;
    	TopPosition.imagesFound = 0;
		TopPosition.view();
	}
}

TopPosition.loadImages = function(){
	try{
		if(!TopPosition.cache[TopPosition.current]){
			TopPosition.cache[TopPosition.current] = TopPosition.responseText;
		}
		eval(TopPosition.responseText);
	}
	catch(_er){
		return;
	}
	if(TopPosition.TopDayImage){
		TopPosition.imagesFound++;
		var i1 = new Image();
		i1.onload = function(){
	        TopPosition.imageLoaded();
		}
		i1.src = TopPosition.TopDayImage + '?w=166&h=205';
	}
	if(TopPosition.TopWeekImage){
		TopPosition.imagesFound++;
		var i2 = new Image();
		i2.onload = function(){
	        TopPosition.imageLoaded();
		}
		i2.src = TopPosition.TopWeekImage + '?w=166&h=205';
	}
	if(TopPosition.TopMonthImage){
		TopPosition.imagesFound++;
		var i3 = new Image();
		i3.onload = function(){
	        TopPosition.imageLoaded();
		}
		i3.src = TopPosition.TopMonthImage + '?w=166&h=205';
	}
}
TopPosition.view = function () {
	if(jQuery('#tst').parent().hasClass('loading').length){
    	jQuery('#tst').parent().removeClass('loading');
		_c = TopPosition.categories[TopPosition.current]
		jQuery('#tst').attr({'href':_c.link}).html(_c.title)
        .animate({opacity:1},500)
	}
	else{
		jQuery('#tst').animate({opacity:0},500,false,function(){
	    	jQuery('#tst').parent().removeClass('loading');
			_c = TopPosition.categories[TopPosition.current]
			jQuery('#tst').attr({'href':_c.link}).html(_c.title)
	        .animate({opacity:1},500)
		});
	}

    jQuery('#day-top a').attr({'href':TopPosition.TopDayLink});
	jQuery('#day-top')
		.next('.top-image-cnt').find('a')
		.attr({'href':TopPosition.TopDayLink})
		.append(jQuery('<img>').attr({src:TopPosition.TopDayImage,alt:TopPosition.TopDayImageAlt,width:166,height:205}).css({'display':'none'}))
		.find('img:first-child').fadeOut(1500,function(){jQuery(this).remove()})
		.next('img').fadeIn(1500);

	jQuery('#week-top a').attr({'href':TopPosition.TopWeekLink});
	jQuery('#week-top')
		.next('.top-image-cnt').find('a')
		.attr({'href':TopPosition.TopWeekLink})
		.append(jQuery('<img>').attr({src:TopPosition.TopWeekImage,alt:TopPosition.TopWeekImageAlt,width:166,height:205}).css({'display':'none'}))
		.find('img:first-child').fadeOut(1500,function(){jQuery(this).remove()})
		.next('img').fadeIn(1500);

	jQuery('#month-top a').attr({'href':TopPosition.TopMonthLink});
	jQuery('#month-top')
		.next('.top-image-cnt').find('a')
		.attr({'href':TopPosition.TopMonthLink})
		.append(jQuery('<img>').attr({src:TopPosition.TopMonthImage,alt:TopPosition.TopMonthImageAlt,width:166,height:205}).css({'display':'none'}))
		.find('img:first-child').fadeOut(1500,function(){jQuery(this).remove()})
		.next('img').fadeIn(1500,function(){
			TopPosition.sleep = false;
			TopPosition.last++;
			setTimeout('TopPosition.toggle("forward",'+TopPosition.last+')',10000);
		});

}
TopPosition.nextCategory = function(){
    if(!TopPosition.sleep){
		jQuery('#tst').parent().addClass('loading');
		jQuery('#tst').animate({opacity:0},500);
	}
	TopPosition.toggle('forward');
	return false;
}
TopPosition.previousCategory = function(){
    if(!TopPosition.sleep){
		jQuery('#tst').parent().addClass('loading');
		jQuery('#tst').animate({opacity:0},750);
	}
    TopPosition.toggle('back');
	return false;
}

TopPosition.toggle = function(_direction,_number){

	if(_number && TopPosition.last > _number){
        return;
	}
	if(TopPosition.sleep){
		return false;
	}
	TopPosition.sleep = true;
	if(!_direction){
        _direction = 'forward';
	}
    TopPosition.previous = TopPosition.current;
	if(!TopPosition.current){
		TopPosition.current = TopPosition.start;
	}
	else{
		if(_direction == 'forward'){
			TopPosition.current = TopPosition.current == 2 ? 1 : TopPosition.current + 1;
		}
		else{
			TopPosition.current = TopPosition.current == 1 ? 2 : TopPosition.current - 1;
		}
	}
	if(TopPosition.cache[TopPosition.current]){
		TopPosition.responseText = TopPosition.cache[TopPosition.current];
		TopPosition.loadImages();
	}
	else{
		TopPosition.get(TopPosition.current);
	}
}

jQuery(document).ready(function () {
  if(document.getElementById('VoteBody')) {
	  Vote.body = document.getElementById('VoteBody');
	  Vote.title = document.getElementById('VoteTitle');
	  Vote.button = document.getElementById('VoteButton');
	  //Vote.getBody();
  }
})

