﻿$(document).ready(function () {
	//Menu configuration properties (hide and show timers in Milliseconds)
	var config = { showTimerMS: 250, hideTimerMS: 250, stickyHover: true };
	//Pass the menu object construcor an ID or object representing the root node of your structure
	var myMenu = new NF.widget.menu("myMenu", config);
	/*~~~~~~~~ Default animation delay timer ~~~~~~~~~~~~~*/
	//set the default delay timer for the menus playerSynchronizer animations
	NF.anim.playerSynchronizer.delay = 15;
	/*~~~~~~~~ Hover Effect - Level 1~~~~~~~~~~~~~*/
	var hovClip = new NF.anim.clip({ backgroundColor: { start: "#89020e", end: "#ab000f"} }, { frames: 5, hook: "NFplayOnLinkHoverShow" });
	myMenu.addReplicator(new NF.replicator("transition", { master: hovClip, widgetClass: "nfItem", targetClass: "nfLink", widgetLevel: "level==1" }));
	hovClip = new NF.anim.clip({ backgroundColor: { start: "#ab000f", end: "#89020e"} }, { frames: 40, hook: "NFplayOnLinkHoverHide" });
	myMenu.addReplicator(new NF.replicator("transition", { master: hovClip, widgetClass: "nfItem", targetClass: "nfLink", widgetLevel: "level==1" }));
	/*~~~~~~~~ Hover Effect - Level 2~~~~~~~~~~~~~*/
	var hovClip = new NF.anim.clip({ backgroundColor: { start: "#89020e", end: "#ab000f"} }, { frames: 5, reset: true, hook: "NFplayOnLinkHoverShow" });
	myMenu.addReplicator(new NF.replicator("transition", { master: hovClip, widgetClass: "nfItem", targetClass: "nfLink", widgetLevel: "level==2" }));
	hovClip = new NF.anim.clip({ backgroundColor: { start: "#ab000f", end: "#89020e"} }, { frames: 40, reset: true, hook: "NFplayOnLinkHoverHide" });
	myMenu.addReplicator(new NF.replicator("transition", { master: hovClip, widgetClass: "nfItem", targetClass: "nfLink", excludeClass: "nfParentLink", widgetLevel: "level==2" }));
	/*~~~~~~~~ Show Subs Effect - Lev 1 ~~~~~~~~~~~~~*/
	var clip = new NF.anim.clip({ opacity: { start: 0, end: 1} }, { frames: 10, reset: true, hook: "NFplayOnSubShow" });
	var subAnim_Show_Replicator = new NF.replicator("transition", { master: clip, widgetClass: "nfSubC", widgetLevel: 'level==1' });
	myMenu.addReplicator(subAnim_Show_Replicator);
	/*~~~~~~~~ Hide Subs Effect - Lev 1 ~~~~~~~~~~~~~*/
	clip = new NF.anim.clip({ opacity: { start: 1, end: 0} }, { frames: 10, reset: true, hook: "NFplayOnSubHide" });
	var subAnim_Hide_Replicator = new NF.replicator("transition", { master: clip, widgetClass: "nfSubC", widgetLevel: 'level==1' });
	myMenu.addReplicator(subAnim_Hide_Replicator);
	/*~~~~~~~~ Show Subs Effect - Lev 2+ ~~~~~~~~~~~~~*/
	var clip1 = new NF.anim.clip({ opacity: { start: 0, end: 1} }, { frames: 10, reset: true, hook: "NFplayOnSubShow" });
	var clip2 = new NF.anim.clip({ clip: { start: { value: '0% 0% 0% 0%', refNode: "self" }, end: { value: '0% 100% 100% 0%', refNode: "self"}} }, { frames: 12, reset: true, hook: "NFplayOnSubShow" });
	var timeline = new NF.anim.timeline(clip1, 'NFplayOnSubShow');
	timeline.addTrack(clip2);
	var subAnim_Show_Replicator = new NF.replicator("transition", { master: timeline, widgetClass: "nfSubC", widgetLevel: 'level>1' });
	myMenu.addReplicator(subAnim_Show_Replicator);
	/*~~~~~~~~ Hide Subs Effect - Lev 2+ ~~~~~~~~~~~~~*/
	clip1 = new NF.anim.clip({ opacity: { start: 1, end: 0} }, { frames: 10, reset: true, hook: "NFplayOnSubHide" });
	clip2 = new NF.anim.clip({ clip: { start: { value: '0% 100% 100% 0%', refNode: "self" }, end: { value: '0% 0% 0% 0%', refNode: "self"}} }, { frames: 12, reset: true, hook: "NFplayOnSubHide" });
	timeline = new NF.anim.timeline(clip1, 'NFplayOnSubHide');
	timeline.addTrack(clip2);
	var subAnim_Hide_Replicator = new NF.replicator("transition", { master: timeline, widgetClass: "nfSubC", widgetLevel: 'level>1' });
	myMenu.addReplicator(subAnim_Hide_Replicator);
	/* ~~~~~~~ Activate the menu object. (Converts the pure CSS menu to a script enhanced widget) ~~~~~~~~~~~~~*/
	//Activate the menu
	myMenu.activate();

});

