$.fn.equalizeHeights = function(){
	return this.height(Math.max.apply(this, $(this).map(function(i,e){ return $(e).height() }).get() ) )
}

function changeCard(num){
	var movieName = 'presentation';
	if($.browser.msie){
		window[movieName].changeCard(num);
	}else{
		document[movieName].changeCard(num);
	}
}

var isIE6 = function(){
	if($.browser.msie && $.browser.version < 7){
		return true;
	}else{
		return false;
	}
}

var metro_pngfix = function(){
	if(isIE6()){
		$('.products_box .icon01').each(function(i,elem){
			var src = $(elem).attr('src');
			$(elem).attr('src',src.replace(/png/,'gif'))
		})
	}
}

var MPHome = {
	eqCardHeight: function(){
		$('.products_box').height('').equalizeHeights();
	},
	
	container: {},
	children: {},
	initialOrder: [],
	type_index: {
		'all': 0,
		'candidate': 1,
		'consulting': 2,
		'case': 3
	},
	currentType: 'all',

	reset: function(){
		MPHome.eqCardHeight();
		var that = this;
		this.children.each(function(i,e){
			that.initialOrder.push(e);
			if($('.shield',e).is(':visible')){
				$('.shield',e).height($(e).height()-10);
			}
		})
		this.container.vgrid({
			easeing: "easeOutQuint",
			time: 400,
			delay: 20,
			fadeIn: {
				time: 500,
				delay: 50
			}
		})
	},
	
	setDarkShield: function(){
		$('.products_box').each(function(i,_e){
			var e = $(_e);
			var href = e.find('a').attr('href');
			e.append('<a href="" class="shield" />');
			e.find('.shield').attr('href',href);
		})
	},
	
	darken: function(target){
		$(target).find('.shield').css({'display':'block','height':$(target).height()-10});
	},
	
	undarken: function(target){
		$(target).find('.shield').css({'display':'none','height':0});
	},

	init: function(){
		metro_pngfix();
		this.container = $('.products');
		this.children = this.container.find('> *')
		this.setDarkShield();
		this.reset();
	},
	
	setButtonEvent: function(){
		var that = this;
		$('.contents_menu a').bind('click.MPHome',function(){
			$('.contents_menu a').removeClass('select');
			$(this).addClass('select');
			var targetType = $(this).attr('href').replace(/#/,'');
			var targetTypeClass = '.type_'+targetType;
			var container = this.container;

			if(that.currentType == targetType) return false;
			
			$(that.initialOrder.reverse()).each(function(i,e){
				$(e).prependTo('.products');
			})
			that.initialOrder.reverse();

			if(targetType == 'all'){
				that.undarken('.products_box');
			}else{
				if($.browser.msie && $.browser.version < 7){
					that.undarken('.products_box');
				}
				that.darken('.products_box');
				that.undarken(targetTypeClass);
			}

			$('.products').data("_vgchild", {})
			var _children = $();
			$($(targetTypeClass).get().reverse()).each(function(i,elem){
				$(elem).prependTo('.products');
			})
			$('.products').vgrefresh()
			
			that.currentType = targetType;
			changeCard(that.type_index[targetType]);

			return false;
		})
	}
}

$(function(){
	MPHome.init();
	MPHome.setButtonEvent();
	$('body').bind('fontResized',$.proxy(MPHome.reset,MPHome))
})
