// JavaScript Document 20091029
Object.extend = function(destination, source) {  
  for (var property in source) {  
    destination[property] = source[property];  
  }  
  return destination;  
} 
function Folder(btn,menu,options){
	//this.trigger=(btn=="string"?$("#"+btn):$(btn));
	//this.folder=(menu=="string"?$("#"+menu):$(menu));
	this.trigger=btn;
	this.folder=menu;
	this.options={
		triggerClass:"folder_btn",
		triggerCurClass:"folder_btn_on",
		fadeInTime:150,
		fadeOutTime:100,
		beforeFun:function(){},
		afterFun:function(){}
	}
	if(options){
		Object.extend(this.options,options)
	}
	this.delay=null;
	this.init();
}
Folder.instances=[];
Folder.prototype.init=function(){
	this.trigger.addClass(this.options.triggerClass)
	var mythis=this;
	this.trigger.mouseover(function(){
		mythis.clearDelay();
		mythis.fadeIn();
	})
	this.folder.mouseover(function(){
		mythis.clearDelay();
	})
	this.trigger.mouseout(function(){
		mythis.delay=setTimeout(function(){
			mythis.fadeOut();
		},1);
	})
	this.folder.mouseout(function(){
		mythis.delay=setTimeout(function(){
			mythis.fadeOut();
		},1);

	})
}
Folder.prototype.fadeOut=function(){
	this.options.afterFun();
	this.folder.fadeOut(this.options.fadeOutTime);
	this.trigger.removeClass(this.options.triggerCurClass)
}
Folder.prototype.fadeIn=function(){
	this.options.beforeFun();
	this.folder.fadeIn(this.options.fadeOutTime);
	//this.folder.css("display","block")
	this.trigger.addClass(this.options.triggerCurClass)
}
Folder.prototype.clearDelay=function(){
	if(this.delay!=null) {
		clearTimeout(this.delay)
	}	
}

$(function(){
	$(".about-mclon").each(function(){
		Folder.instances[Folder.instances.length]=new Folder($(this).find(".a-m-link"),$(this).find(".down"),{
			triggerClass:"a-m-link",
			triggerCurClass:"",
			fadeInTime:150,
			fadeOutTime:100,
			beforeFun:function(){},
			afterFun:function(){}
		})
	})
	
	$(".Jewelry-mclon").each(function(){
		Folder.instances[Folder.instances.length]=new Folder($(this).find(".j-m-link"),$(this).find(".down"),{
			triggerClass:"j-m-link",
			triggerCurClass:"",
			fadeInTime:150,
			fadeOutTime:100,
			beforeFun:function(){},
			afterFun:function(){}
		})
	})
	
	$(".mclon-vip-service").each(function(){
		Folder.instances[Folder.instances.length]=new Folder($(this).find(".m-v-s-link"),$(this).find(".down"),{
			triggerClass:"m-v-s-link",
			triggerCurClass:"",
			fadeInTime:150,
			fadeOutTime:100,
			beforeFun:function(){},
			afterFun:function(){}
		})
	})
	
	
})

