(function($) {

    $.timeline = function(el, options) {
    
        var base = this;
        base.$el = $(el);
        base.$nav = base.$el.find(".navi");
		base.$years = base.$el.find(".year_content");
        base.init = function() {

            base.options = $.extend({},$.timeline.defaultOptions, options);

            base.$nav.delegate("a", "click", function() {
                // Figure out current list via CSS class
               var curList = base.$el.find("a.current").attr("href").substring(1),

                // List moving to
                 $newList = $(this),
				 $yearsDetails = $newList.parent().siblings(".year_details"),
                // Figure out ID of new list
                 listID = $newList.attr("href").substring(1);
				
			
                if (((listID != curList)||($yearsDetails.hasClass("hide"))) && ( base.$el.find(":animated").length == 0)) {
                               
    //        alert(curList+"-"+listID);  
					var pid = $newList.parent().parent().attr("id");
                    // Fade out current list
                    base.$el.find("#"+curList).fadeOut(0, function() {
                        
                        // Fade in new list on callback
                        base.$el.find("#"+listID).fadeIn(base.options.speed);

						var yearsnum = base.$years.length;
						var index = yearsnum;
						var a=0;
						var t=70;
						//alert(base.$years.length);
						for(var i=0;i<yearsnum;i++){
							var offset = 0;
							var yID = base.$years.eq(i).attr("id");
							if(pid==yID){
								index=i; 
								//alert(base.$years.eq(i).children("div.year_details").children("div").length); 
								if(base.$years.eq(i).children("div.year_details").children("div.smallLetters").length > 0)
								base.$years.eq(i).children("div.scrollable").show();
							}else{
								base.$years.eq(i).css({heigth:50});
								base.$years.eq(i).children("div.scrollable").fadeOut();
							}
							if(i<=index){
								var loc = a+t*i;
							}else{
								var loc = a+t*i+600-t;
							}
							var currLeft =  base.$years.eq(i).css("left");
							var cl =parseInt(currLeft.substr(0,(currLeft.length-2)));
							offset = loc-cl;
							base.$years.eq(i).animate({left: '+='+offset}, 400, 'swing', function() { });

						}
                        
                        // Remove highlighting - Add to just-clicked tab
                        $old = base.$el.find("a.current");
						$old.removeClass("current");
						$old.removeClass("active");
                        $newList.addClass("current");
						$newList.addClass("active");
						$yearsDetails.removeClass("hide");
                  
                    });

					var imges = $newList.parent().parent().find("img.tobezoomed");
					for(var j=0;j<imges.length;j++){
						
						imges.eq(j).addpowerzoom({

								defaultpower: 3.5,
								powerrange: [3.5,3.5],
								largeimage: null,
								magnifiersize: [450,360] //<--no comma following last option!
						}); 
						imges.eq(j).removeClass("tobezoomed");
					}
					
				}else if(listID == curList){$newList.addClass("active")
				
				};
 
                // Don't behave like a regular link
                // Stop propegation and bubbling
                return false;
            });
            
        };
        base.init();
    };
    
    $.timeline.defaultOptions = {
        "speed": 300
    };
    
    $.fn.timeline = function(options) {
        return this.each(function() {
            (new $.timeline(this, options));
        });
    };
	
    
})(jQuery);
