var FavoriteModule = function(mobile, Muse) {
	var list = new Array();
	
	if(mobile == true){
		var min = 1100;
	} else 
		var min = 1001;
	
	blockwidth = 200;
	var rows;
	
	var getEventTarget = function(e) {  
		e = e || window.event;  
		return e.target || e.srcElement;
	}
	
	var getFavoriteTarget = function (value) {
		target = getEventTarget(value);
		for ( var i = 0; i < 7; i++ ) {
			if ( target.nodeName == "DIV" ) {
				if ( target.getAttribute('class').search('favorites-item') > -1 ){
					return target;
					break;
				} else {
					target = target.parentNode;
				}
			} else {
				target = target.parentNode;
			}		
		}
		
		return null;
	}
		
	var RowToTopBar = function(ids,show) {
   		switch(show){
			case true:
				for(iteration = 0;iteration<3;iteration++){
					$("." + ids[iteration]).animate({ display: 'block', opacity: 'show'} , "slow"  );
				}
				break;
			case false:
				for(iteration = 0;iteration<ids.length;iteration++){
					$("." + ids[iteration]).stop();
					$("." + ids[iteration]).css('display', 'none');
    				$("." + ids[iteration]).css('opacity', 'hide');
				}
				break;
		}
	}
	
	var favoritesClickHandler = function(event) {
		var postId = $(getFavoriteTarget(event)).attr('id').substr(9);
		Muse.gotoPost(postId);			
	}
	
	var favoritesMouseOverHandler = function(event) {
    	var div = $(getFavoriteTarget(event));
		//div.animate({opacity:'1', filter:'alpha(opacity=100)'}, 100);
	}
	
	var favoritesMouseOutHandler = function(event) {
		var div = $(getFavoriteTarget(event));
		//div.animate({opacity:'1', filter:'alpha(opacity=100)'}, 100);
	}
	
	var resize = function() {
		if($(window).width() > 1000){
			var windowWidth = Math.ceil(($(window).width() - 1000) / 200);	
			windowWidth = windowWidth * 200 + 1000;
			$('#wrapper').css('min-width', windowWidth);
		}
		else{
			$('#wrapper').css('min-width', '1000px');
		}
		
		for(rowiterator = 0;rowiterator<rows;rowiterator++){		
			width = min + blockwidth * rowiterator;	
			
			if($(window).width() > width){
				RowToTopBar(list[rowiterator],true);
			}
			else{
				RowToTopBar(list[rowiterator],false);
			}
		}
		
	}
	
	var startUp = function(_rows){
		rows = _rows;
		
		$('.imgFavo, .favorites-overlay, .label').bind('click', function(event) {
			favoritesClickHandler(event.originalEvent);
		});

		if ( !mobile ) {
			$('.imgFavo, .favorites-overlay, .label').bind('mouseover', function(event) {
				favoritesMouseOverHandler(event.originalEvent);
				
				//$(this).parent().children('.imgFavo').css({opacity:'0.44', filter:'alpha(opacity=44)'});
			});
		
			$('.imgFavo, .favorites-overlay, .label').bind('mouseout', function(event) {
				favoritesMouseOutHandler(event.originalEvent);
				
				//$(this).parent().children('.imgFavo').css({opacity:'1', filter:'alpha(opacity=100)'});
			}); 
		}
	
		// in this function we create a new set of lists
		var counter = 1;
		for(iteration = 0;iteration<rows;iteration++){
			list[iteration] = new Array();
			var itemstartno  = iteration * 3;
			for(itemsiteration = 0; itemsiteration<3;itemsiteration++){
				list[iteration][itemsiteration] = "hidden" + counter;
				counter++;
			}
		}		
	}	
	
	var toReturn = {
		init: function(){
			startUp(2);
			//resize();
		},
		resize: function(){
			//resize();
		}
	}
	
	return toReturn;
}

