var DDSPEED = 7;
var DDTIMER = 15;
var openstate01 = 0;
var openstate02 = 0;
var openstate03 = 0;
var openstate04 = 0;
var openstate05 = 0;
var openstate06 = 0;
var openstate07 = 0;
var openstate08 = 0;
var openstate09 = 0;
var openstate10 = 0;
var openstate11 = 0;
var openstate12 = 0;
var openstate13 = 0;
var openstate14 = 0;
var openstate15 = 0;
var openstate16 = 0;
var openstate17 = 0;
var openstate18 = 0;
var openstate19 = 0;
var openstate20 = 0;
		
// open close ONE //
function menustateone(){
	if(openstate01 == 0){
	ddMenu('one',1);
	openstate01 = 1;
	$("#button1").text('-');

	}
	else{
	ddMenu('one',-1);
	openstate01 = 0;
	$("#button1").text('+');

	}
}

// open close TWO //
function menustatetwo(){
	if(openstate02 == 0){
	ddMenu('two',1);
	openstate02 = 1;
	$("#button2").text('-');

	}
	else{
	ddMenu('two',-1);
	openstate02 = 0;
	$("#button2").text('+');

	}
}

// open close THREE //
function menustatethree(){
	if(openstate03 == 0){
	ddMenu('three',1);
	openstate03 = 1;
	$("#button3").text('-');

	}
	else{
	ddMenu('three',-1);
	openstate03 = 0;
	$("#button3").text('+');

	}
}

// open close FOUR //
function menustatefour(){
	if(openstate04 == 0){
	ddMenu('four',1);
	openstate04 = 1;
	$("#button4").text('-');

	}
	else{
	ddMenu('four',-1);
	openstate04 = 0;
	$("#button4").text('+');

	}
}


// open close FIVE //
function menustatefive(){
	if(openstate05 == 0){
	ddMenu('five',1);
	openstate05 = 1;
	$("#button5").text('-');

	}
	else{
	ddMenu('five',-1);
	openstate05 = 0;
	$("#button5").text('+');

	}
}

// open close SIX //
function menustatesix(){
	if(openstate06 == 0){
	ddMenu('six',1);
	openstate06 = 1;
	$("#button6").text('-');

	}
	else{
	ddMenu('six',-1);
	openstate06 = 0;
	$("#button6").text('+');

	}
}

// open close SEVEN //
function menustateseven(){
	if(openstate07 == 0){
	ddMenu('seven',1);
	openstate07 = 1;
	$("#button7").text('-');

	}
	else{
	ddMenu('seven',-1);
	openstate07 = 0;
	$("#button7").text('+');

	}
}

// open close EIGHT //
function menustateeight(){
	if(openstate08 == 0){
	ddMenu('eight',1);
	openstate08 = 1;
	$("#button8").text('-');

	}
	else{
	ddMenu('eight',-1);
	openstate08 = 0;
	$("#button8").text('+');

	}
}


// open close NINE //
function menustatenine(){
	if(openstate09 == 0){
	ddMenu('nine',1);
	openstate09 = 1;
	$("#button9").text('-');

	}
	else{
	ddMenu('nine',-1);
	openstate09 = 0;
	$("#button9").text('+');

	}
}



// open close TEN //
function menustateten(){
	if(openstate10 == 0){
	ddMenu('ten',1);
	openstate10 = 1;
	$("#button10").text('-');

	}
	else{
	ddMenu('ten',-1);
	openstate10 = 0;
	$("#button10").text('+');

	}
}


// open close eleven //
function menustateeleven(){
	if(openstate11 == 0){
	ddMenu('eleven',1);
	openstate11 = 1;
	$("#button11").text('-');

	}
	else{
	ddMenu('eleven',-1);
	openstate11 = 0;
	$("#button11").text('+');

	}
}


// open close twelve //
function menustatetwelve(){
	if(openstate12 == 0){
	ddMenu('twelve',1);
	openstate12 = 1;
	$("#button12").text('-');

	}
	else{
	ddMenu('twelve',-1);
	openstate12 = 0;
	$("#button12").text('+');

	}
}



// open close thirteen //
function menustatethirteen(){
	if(openstate13 == 0){
	ddMenu('thirteen',1);
	openstate13 = 1;
	$("#button13").text('-');

	}
	else{
	ddMenu('thirteen',-1);
	openstate13 = 0;
	$("#button13").text('+');

	}
}


// open close fourteen //
function menustatefourteen(){
	if(openstate14 == 0){
	ddMenu('fourteen',1);
	openstate14 = 1;
	$("#button14").text('-');

	}
	else{
	ddMenu('fourteen',-1);
	openstate14 = 0;
	$("#button14").text('+');

	}
}


// open close fifteen //
function menustatefifteen(){
	if(openstate15 == 0){
	ddMenu('fifteen',1);
	openstate15 = 1;
	$("#button15").text('-');

	}
	else{
	ddMenu('fifteen',-1);
	openstate15 = 0;
	$("#button15").text('+');

	}
}


// open close sixteen //
function menustatesixteen(){
	if(openstate16 == 0){
	ddMenu('sixteen',1);
	openstate16 = 1;
	$("#button16").text('-');

	}
	else{
	ddMenu('sixteen',-1);
	openstate16 = 0;
	$("#button16").text('+');

	}
}

// open close seventeen //
function menustateseventeen(){
	if(openstate17 == 0){
	ddMenu('seventeen',1);
	openstate17 = 1;
	$("#button17").text('-');

	}
	else{
	ddMenu('seventeen',-1);
	openstate17 = 0;
	$("#button17").text('+');

	}
}


// open close eighteen //
function menustateeighteen(){
	if(openstate18 == 0){
	ddMenu('eighteen',1);
	openstate18 = 1;
	$("#button18").text('-');

	}
	else{
	ddMenu('eighteen',-1);
	openstate18 = 0;
	$("#button18").text('+');

	}
}



// open close nineteen //
function menustatenineteen(){
	if(openstate19 == 0){
	ddMenu('nineteen',1);
	openstate19 = 1;
	$("#button19").text('-');

	}
	else{
	ddMenu('nineteen',-1);
	openstate19 = 0;
	$("#button19").text('+');

	}
}


// open close twenty //
function menustatetwenty(){
	if(openstate20 == 0){
	ddMenu('twenty',1);
	openstate20 = 1;
	$("#button20").text('-');

	}
	else{
	ddMenu('twenty',-1);
	openstate20 = 0;
	$("#button20").text('+');

	}
}



// main function to handle the mouse events //
function ddMenu(id,d){
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  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));
  }
  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);
  }
}
