﻿
var DropDownMenu = {

	configHolder: {},

	menuClick: function (e) {
		var config = DropDownMenu.configHolder;

		//DropDownMenu.canceltimer();
		//DropDownMenu.doClose();

		config.elementItem = $('#' + e.data.slab);

		var wasMenuVisible = false;

		if (config.elementItem.css('visibility') != 'visible') {
			config.ddmenuitem = config.elementItem.css('visibility', 'visible');
			config.ddmenuparentitem = $(this);
			config.ddmenuparentitem.addClass("mainMenuHover");

			wasMenuVisible = false;
		} else {
			wasMenuVisible = true;
		}


		var dateNow = new Date();
		dateNow = dateNow.setMilliseconds(dateNow.getMilliseconds() + 1);
		var openTime = config.openTime.setMilliseconds(config.openTime.getMilliseconds() + 500);
		
		if (openTime > dateNow) {
			return false;
		} else {			
			return true;
		}


	},

	openChild: function () {

		var config = DropDownMenu.configHolder;

		DropDownMenu.canceltimer();
		DropDownMenu.doClose();


		config.ddmenuitem = $(this).find('ul').css('visibility', 'visible');
		if ($(this).find('ul').css('visibility')) {

			//this sets our parent object
			config.ddmenuparentitem = $(this);
			config.ddmenuparentitem.addClass("mainMenuHover");

		}

	},

	openElement: function (e) {
		var config = DropDownMenu.configHolder;

		config.openTime = new Date();

		DropDownMenu.canceltimer();
		DropDownMenu.doClose();

		config.elementItem = $('#' + e.data.slab);

		config.ddmenuitem = config.elementItem.css('visibility', 'visible');
		config.ddmenuparentitem = $(this);
		config.ddmenuparentitem.addClass("mainMenuHover");
	},

	elementHover: function () {

		var config = DropDownMenu.configHolder;

		DropDownMenu.canceltimer();


	},


	close: function () {

		var config = DropDownMenu.configHolder;
		//set timeout
		DropDownMenu.timer();
	},

	closeElement: function () {

		var config = DropDownMenu.configHolder;

		DropDownMenu.timer();
	},

	doClose: function () {
		var config = DropDownMenu.configHolder;

		if (config.ddmenuitem) config.ddmenuitem.css('visibility', 'hidden');
		if (config.ddmenuparentitem) config.ddmenuparentitem.removeClass("mainMenuHover");
	},

	closeAll: function () {

		var config = DropDownMenu.configHolder;
		DropDownMenu.canceltimer();
		DropDownMenu.doClose();
	},

	timer: function () {

		var config = DropDownMenu.configHolder;

		config.closetimer = window.setTimeout(function () { DropDownMenu.doClose(); }, 500);

	},



	canceltimer: function () {

		var config = DropDownMenu.configHolder;

		if (config.closetimer) {
			window.clearTimeout(config.closetimer);
			config.closetimer = null;
		}
	},



	setup: function (config) {

		config.timout = 500;
		config.closetimer = 500;
		config.ddMenuItem = 0;
		config.ddmenuparentitem = 0;
		config.openTime = new Date();

		DropDownMenu.configHolder = config;

	}
}

/*
var menu_timeout = 500;
var menu_closetimer = 500;
var ddmenuitem = 0;
var ddmenuparentitem = 0;


function jsddm_open() {
	jsddm_canceltimer();
	jsddm_close();

	

	ddmenuitem = $(this).find('ul').css('visibility', 'visible');

	
	if ($(this).find('ul').css('visibility')) {

		//this sets our parent object
		ddmenuparentitem = $(this);
		ddmenuparentitem.addClass("mainMenuHover");
	}
}



function jsddm_close() {

	if (ddmenuitem) ddmenuitem.css('visibility', 'hidden');


	if (ddmenuparentitem) ddmenuparentitem.removeClass("mainMenuHover");
}

function jsddm_timer() {
	menu_closetimer = window.setTimeout(jsddm_close, menu_timeout);
}

function jsddm_canceltimer() {
	if (menu_closetimer) {
		window.clearTimeout(menu_closetimer);
		menu_closetimer = null;
	}
}



*/

