if (typeof drkjs == "undefined") {var drkjs = {};}
if (typeof console == "undefined"){console = {log : function() {}}}

drkjs.carousel = {
 animate : {
  enable : true,
  duration : 1000
 },
 
 init : function (){
  $(".slider").each(
   function(){
    var elm =$(this).find(".itemList");  
    // set slider value
    var slider =  {};
    var pos = elm.children("ul");
    var posItems = pos.children("li");  
    if (posItems.length < 2) { // need at least two to slide     
		$(this).find(".pager").css("display", "none");
		return;
    }   
    slider.beltMin = slider.beltPos = $(pos).position().left;
    slider.beltStep = posItems.eq(1).position().left;
    slider.beltMax = slider.beltMin - posItems.eq(posItems.length -1).position().left + elm.width() - slider.beltStep;
	slider.endReached=false;
    elm.get(0).slider = slider;  
		
	var carouselTimer = window.setInterval(function() {
		var pagerElm = $(elm).siblings().find(".pager").get(0);
		drkjs.carousel.pager(pagerElm, 'next');
	}, 5000);
	elm.get(0).carouselTimer = carouselTimer;
		      
    // handle click events
    var elmPrev = elm.siblings().find(".prev");
    var elmNext = elm.siblings().find(".next");
    // easy element access in click event  
    elmPrev.parent().get(0).sliderElement = elm.get(0);
    slider.belt = elm.children("ul").eq(0).get(0);  
    
    var pager = $(elm).siblings().find(".pager");      
    if (slider.beltPos + slider.beltStep > slider.beltMin) {
		pager.html( ' <span class="prev">prev</span><a class="next" href="#">next</a> ' );
		pager.children(".next").click( drkjs.carousel.clickHandler );
    } else {
		elmNext.click( drkjs.carousel.clickHandler );
		elmPrev.click( drkjs.carousel.clickHandler );     
    } 
    
   }
  );
 },
 clickHandler : function(e){ 		
		var elm = $(e.target).parent().get(0);  
		clearInterval(elm.sliderElement.carouselTimer);
						
		drkjs.carousel.pager(elm, (($(e.target).hasClass('next')) ? 'next' : 'previous')); 
		return false;  
	},
	pager : function(elm, direction) {    
		if(elm && typeof elm.sliderElement != "undefined"){
			slider =  elm.sliderElement.slider;
			if (slider.endReached) {
				slider.endReached = false;
				var pos = slider.beltMin;				
			} else {
				var pos =  slider.beltPos + ((direction == 'next') ? - slider.beltStep : slider.beltStep);			
			}
			
			if( pos <= slider.beltMin && pos +  slider.beltMin >= slider.beltMax){
				slider.beltPos = pos;
				if(drkjs.carousel.animate.enable){
					$(slider.belt).animate({"left" : slider.beltPos} , { duration :  drkjs.carousel.animate.duration, queue:false } );
				} else {
					$(slider.belt).css("left", slider.beltPos );
				}
		   }
		   
			if (slider.beltPos + slider.beltStep > slider.beltMin) {
				$(elm).html( ' <span class="prev">prev</span><a class="next" href="#">next</a> ' );
				$(elm).children(".next").click(drkjs.carousel.clickHandler );
			} else  if (slider.beltPos - slider.beltStep +  slider.beltMin < slider.beltMax) {
				slider.endReached=true;
				$(elm).html( ' <a class="prev"  href="#">prev</a><span class="next" >next</span> ' );
				$(elm).children(".prev").click(drkjs.carousel.clickHandler );
			} else if ( $(elm).children("span").length > 0  ){
				$(elm).html( '<a class="prev" href="#">prev</a><a class="next" href="#">next</a> ' );
				$(elm).children(".prev").click(drkjs.carousel.clickHandler );
				$(elm).children(".next").click(drkjs.carousel.clickHandler );
		   }
	   
		}
	  return false;
 }
}

$(function() {

  drkjs.carousel.init();  
        
  //this has nothing to do with the carousel
  $('a[href*=.pdf]').attr('target','_blank');

});

// init shadowbox
$(document).ready(function() {
  //Shadowbox.init({slideshowDelay: 5, continuous: true});
});


// date picker for search form
$(document).ready(function()
{ 
	if (!document.getElementById('popin-calendar-object')) { return; }
	var popin_calendar_object = new Epoch('epoch_basic','flat',document.getElementById('popin-calendar-object'), true);
	$("#edit-datetype").each(function()
	{
		$(this).change(function(){
			$("#edit-datetype :selected").each(function()
			{
				if( $(this).val() == "custom" )
				{
					$("#popin-calendar").css("display", "block");
/*					$("#popin-calendar").css("z-index","9998");
					$("#popin-calendar").parent().parent().css("z-index","9997");
					$("#popin-calendar").parent().parent().parent().css("z-index","9995");
					$("#popin-calendar").parent().parent().parent().next().css("z-index","9994");*/
				}
				else
				{
					$("#popin-calendar").css("display", "none");
				}
			});
		})
	});
});
