/*

	Class: SSAFrontendProjecten
		Initializes the SSA Projecten frontend page ...more to come
	
	
	Parameters:
		None
		
	Returns:
		Nothing
		
		
	Todo:


*/


SSAFrontendLabels = Class.create({
	
	initialize:function(){
		this.initTagItems();
		//this.fadeNoticeOut();
		this.noticeITV = setInterval(this.fadeNoticeOut.bind(this), 3000);
	},
	
	initTagItems:function(){
		var itemLargeList = $("wrapper").select(".large");
		var itemMediumSmallList = $("wrapper").select(".medium_small");
		var itemMediumLargeList = $("wrapper").select(".medium_large");
		var itemSmallList = $("wrapper").select(".small");
		
		this.itemLists = [itemLargeList, itemMediumSmallList, itemMediumLargeList, itemSmallList];
		/*for(var itemListIndex = 0; itemListIndex < this.itemLists.length; ++itemListIndex){
			this.initItemList(this.itemLists[itemListIndex]);
		}*/
		
		this.currentItemListsIndex = 0;
		//this.animateItv = setInterval(this.initItemAnimation.bind(this), 100);
		
		/*if($("frontend-filters")!=null){
			$("frontend-filters").setOpacity(0);
		}
		if($("frontend-search")!=null){
			$("frontend-search").setOpacity(0);
		}*/
		
		var infoItems = $("wrapper").select(".item");
		SSAUtilsFrontend.initInfoLabels(infoItems);
	},
	
	initItemList:function(itemList){
		var itemTag;
		/*for(var tagIndex = 0; tagIndex<itemList.length; ++tagIndex){
			itemTag = itemList[tagIndex];
			itemTag.setOpacity(0);
		}*/
	},
	
	initItemAnimation:function(){
		
		clearInterval(this.animateItv);
		
		var itemList = this.itemLists[this.currentItemListsIndex];
		var itemTag;
		var nextListDelay = 250;
		for(var tagIndex = 0; tagIndex<itemList.length; ++tagIndex){
			itemTag = itemList[tagIndex];
			
			if(!jQuery.browser.msie){
				this.preloadImage(itemTag);
				nextListDelay = 750;
			}else{
				this.animateItemIn(itemTag);
			}
		}
		
		if(++this.currentItemListsIndex < this.itemLists.length){
			this.animateItv = setInterval(this.initItemAnimation.bind(this), nextListDelay);
		}else{
			jQuery($("frontend-filters")).animate({ 
				opacity:1
		     }, {duration:250});
		
			jQuery($("frontend-search")).animate({ 
				opacity:1
		     }, {duration:250});
		}
	},
	
	preloadImage:function(itemTag){
		var objImage = new Image();		
		objImage.onload=this.animateItemIn.bind(this, itemTag);
		objImage.src=itemTag.select("img")[0].readAttribute("src");
	},
	
	animateItemIn:function(itemTag){
		var tagDim = itemTag.getDimensions();
		var dur = (Math.floor((Math.random()*1000)+500)) * 2;
		//itemTag.setStyle({ opacity:"0"});
		
		//jQuery(itemTag).animate({ 
		//	width: tagDim.width+"px",
		//	height: tagDim.height+"px"
	    // }, {duration:dur, queue: false, easing: "easeInOutQuad"})
	     /*jQuery(itemTag).animate({
	     	opacity:1
	     }, {duration:dur, easing: "easeInOutQuad"});
	    */
	    /*var tagSpan = jQuery(itemTag).children().get(0);
	    tagSpan.setStyle({position:"relative", top: -(tagDim.height / 2 << 0)+"px", left: -(tagDim.width / 2 << 0)+"px"});
	    jQuery(tagSpan).animate({
	    	top: 0,
	    	left: 0
	    }, {duration:dur, easing:"easeInOutQuad"});*/
	},
	
	fadeNoticeOut:function(){
		clearInterval(this.noticeITV);
		
		jQuery($("notice")).animate({ 
			//width: "0px",
			opacity:0
	     }, {duration:1000});
	}
});


Element.observe(document, 'dom:loaded', init);

function init(){
	var SSAFrontendLabelsHandler = new SSAFrontendLabels();
}

