var viewport_h;
var content_h;
var total_elements;
var elements;
var element_h;
var elements_in_vp = 0;
var max_offset = 0;
var c_id;
var mouse_over_slider = false;
var current_main_item = 0;

function pcms_scroller_vertical(viewport_id,content_id,element_class){
	c_id = content_id;
	viewport_h = $('#'+viewport_id).innerHeight();
	elements = $('.'+element_class);
	total_elements = elements.length;
	$(window).load(function(){
		var element_stack_h = 0;
		elements.each(function(index,value){
			var curr_element_h =  $(this).outerHeight(true);
			if(index == 0){
				element_h = curr_element_h;
			}
			element_stack_h = element_stack_h + curr_element_h;
			if(element_stack_h <= viewport_h){
				elements_in_vp = elements_in_vp + 1;
			}
			$(this).attr("id",'pcms_news_slider_item'+index);
			$('#pcms_news_slider_item'+index).bind({
				'click.vslider_arrowHandler' :function(){
					alert('clicked'+index);
				},
				'mouseenter.vslider_arrowHandler' : function(){
					mouse_over_slider = true;
					pcms_news_swap(index);
				},
				'mouseleave.vslider_arrowHandler' : function(){
					mouse_over_slider = false;
				}
			});
		});
		content_h = element_stack_h;
		max_offset = viewport_h - content_h;
		$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
			pcms_scroller_edge('bottom');
		});
		$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
			pcms_scroller_down();
		});
	});
}

function pcms_scroller_up(){
//	alert('up');
	$('#news_slider_up').unbind('.vslider_arrowHandler');
	$('#news_slider_down').unbind('.vslider_arrowHandler');
	var margin_now = parseFloat($('#'+c_id).css('margin-top'));
	var margin_next = margin_now + (element_h * elements_in_vp);
	if(margin_next <= 0){
		$('#'+c_id).animate({'margin-top':margin_next},300,function(){
			$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_down();
			});
			if(margin_next == 0){
				$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_edge('bottom');
				});
			} else {
				$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_up();
				});
			}
		});
	} else {
		$('#'+c_id).animate({'margin-top':'0px'},300,function(){
			$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_down();
			});
			$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_edge('bottom');
			});
		});
	}
}

function pcms_scroller_down(){
	$('#news_slider_up').unbind('.vslider_arrowHandler');
	$('#news_slider_down').unbind('.vslider_arrowHandler');
	var margin_now = parseFloat($('#'+c_id).css('margin-top'));
	var margin_next = margin_now - (element_h * elements_in_vp);
	if(margin_next >= max_offset){
		$('#'+c_id).animate({'margin-top':margin_next},300,function(){
			$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_up();
			});
			if(margin_next == max_offset){
				$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_edge('top');
				});
			} else {
				$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_down();
				});
			}
		});
	} else {
		$('#'+c_id).animate({'margin-top':max_offset},300,function(){
			$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_up();
			});
			$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
				pcms_scroller_edge('top');
			});
		});
	}
}

function pcms_scroller_edge(dir){
	switch(dir){
		case 'top':
			$('#news_slider_up').unbind('.vslider_arrowHandler');
			$('#news_slider_down').unbind('.vslider_arrowHandler');
			$('#'+c_id).animate({'margin-top':'0px'},1000,function(){
				$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_down();
				});
				$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_edge('bottom');
				});
			});
			break;
		case 'bottom':
			$('#news_slider_up').unbind('.vslider_arrowHandler');
			$('#news_slider_down').unbind('.vslider_arrowHandler');
			$('#'+c_id).animate({'margin-top':max_offset},1000,function(){
				$('#news_slider_up').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_up();
				});
				$('#news_slider_down').bind('click.vslider_arrowHandler',function(){
					pcms_scroller_edge('top');
				});
			});
			break;
	}
}
function pcms_news_swap(news_index){
	if(current_main_item != news_index){
		var slider_item = $('#pcms_news_slider_item'+news_index);
		var news_title = slider_item.find('.slider_image_title').html();
		var news_text = slider_item.find('.content_text').html();
		var news_image = slider_item.find('img').attr('src');
		if(news_image == null){
			var news_image_link = slider_item.find('.content_image').html();
			var image_loader = new Object();
			$(image_loader).load(news_image_link,function(data){
  				slider_item.find('.content_image').html('<img src="'+news_image_link+'"/>');
				news_image = news_image_link;
				$('.newssliderimage').css({'background-image':'url('+news_image+')'});
			});
		} else {
			$('.newssliderimage').css({'background-image':'url('+news_image+')'});
		}
//		$('.newsslidertitle').animate({'left':'-500px'},300,function(){
			current_main_item = news_index;
			$('.newsslidertitle').html(news_title);
			$('.newsslidertext').html(news_text);
//			$(this).animate({'left':'0px'},300,function(){
//				swap_in_progress = false;
//			});
//		});
	}
//	alert("Title: "+news_title+"\nText: "+news_text+"\nImage:"+news_image);
//	alert('HOLY SHIT THE NEWS ARE BEING SWAPPED OUT');
}
