var DDSPEED = 10;
var DDTIMER = 15;

// main function to handle the mouse events //
function ddMenu(id,d){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
	if (typeof c == 'object' && c == null ) return;
	clearInterval(c.timer);
	if(d == 1){
		clearTimeout(h.timer);
		if(c.maxh && c.maxh <= c.offsetHeight){return}
    else if(!c.maxh){
		c.style.display = 'block';
		c.style.height = 'auto';
		c.maxh = c.offsetHeight;
		c.style.height = '0px';
    }
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }else{
    h.timer = setTimeout(function(){ddCollapse(c)},50);
  }
}

// collapse the menu //
function ddCollapse(c){
  c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
}

// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearTimeout(h.timer);
  clearInterval(c.timer);
  if(c.offsetHeight < c.maxh){
    c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
  }
}

// incrementally expand/contract the dropdown and change the opacity //
function ddSlide(c,d){
  var currh = c.offsetHeight;
  var dist;
  if(d == 1){
    dist = (Math.round((c.maxh - currh) / DDSPEED));
  }else{
    dist = (Math.round(currh / DDSPEED));
	$('#one-ddheader').css('background-color', '');
	$('#one-ddheader').css('color', 'white');
  }
  if(dist <= 1 && d == 1){
    dist = 1;
  }
  c.style.height = currh + (dist * d) + 'px';
  c.style.opacity = currh / c.maxh;
  c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
  if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
    clearInterval(c.timer);
  }
  if (d == -1 && currh == 4){
	  c.style.height = 0;
  }
}

$(document).ready(function(){
	$('.dropdownMenu').css('display', 'none');
	var content = '';
	var tmpContent = $('#tmpMenu').html();
	var subFlag = true;
	var i = 0;
	$('.dropdownMenu ul >li').each(function(){
		i++;
		subFlag = true;
		if (i == 2){
			content += tmpContent;
		}
		content += '<dl class="dropdown">\n';
		var aTag = $(this).find('a');
		content += '<dt id="' + i + '-ddheader" onmouseover="ddMenu(' + i + ',1)" onmouseout="ddMenu(' + i + ',-1)" onclick="goPage(\'' + aTag.attr('href') + '\', \'' + i + '-ddheader\');">' + aTag.html() + '</dt>\n';
		var className = '';
		$(this).find('ul li').each(function(){
			if (subFlag){
				content += '<dd id="' + i + '-ddcontent" onmouseover="cancelHide(' + i + ')" onmouseout="ddMenu(' + i + ',-1)">';
				content += '<ul id="dropdown-ul">';
				subFlag = false;
			}
				var subA = $(this).find('a');
				content += '<li><a href="javascript:goPage(\'' + subA.attr('href') + '\')">' + subA.html() + '</a></li>\n';
		})
		if (subFlag == false){
			content += '</li></ul><div class="dropdown-bottom"></div>';
		}
		content += '</dd>\n';
		content += '</dl>\n';
	})
	$('#menu').html(content);
	$('.dropdown li')
		.alternate( {
			odd : 'oddMenu'
			,even : 'evenMenu'
			,hover : false
		});
	$('#one-ddcontent ul li').mousemove(function(){
		$('#one-ddheader').css('background-color', 'white');
		$('#one-ddheader').css('border', '1px solid transparent');
		$('#one-ddheader').css('color', 'orange');
	});
});

function goPage(url, id){
	inpung_page_menu(id);
	var page_id = url.split('?')
	if (page_id.length > 1)
		page_id = page_id[1].split('=')[1];
	else
		page_id = 0;
	$.ajax({
		type: 'post',
		url: pagePath + 'content.php',
		data: 'pageId=' + page_id,
		success: function(data) {
			$('#content').html(data);
		},
		error: function(data, status, err) {
			alert('Failed connection to server.');
		}
	});
}

function inpung_page_menu(id){
	$('.dropdown > dt').each(function(){
		$(this).css('background-color', '');
		$(this).css('border', '1px solid transparent');
		$(this).css('color', 'white');
	})
	$('#'+ id).css('background-color', 'white');
	$('#'+ id).css('border', '1px solid transparent');
	$('#'+ id).css('color', 'orange');
}
