var req;
var slide = 1;

function getMenu(myobject, section, category) {
	if(myobject.parentNode.getElementsByTagName('div')[0] == null)
	{
		req = false;
		if(window.XMLHttpRequest && !(window.ActiveXObject)) {
			try {
				req = new XMLHttpRequest();
			} catch(e) {
				req = false;
			}
		} else if(window.ActiveXObject) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					req = false;
				}
			}
		}
		if(req) {
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
				  if (req.status == 200) {
						var the_string = req.responseText;
						//alert(the_string);
						handle_response(myobject, the_string);
					} else {
						alert("There was a problem retrieving the XML data:\n" +
							req.statusText);
					}
				}
			};
			if(category)
			{
				req.open("GET", 'http://www.myprofilepimp.com/new_menu/load_menu.php?section='+section+'&category='+category, true);
			}
			else
			{
				req.open("GET", 'http://www.myprofilepimp.com/new_menu/load_menu.php?section='+section, true);	
			}
			req.send("");
		}
	}
	else
	{
		if(slide==0)
		{
			if(myobject.parentNode.childNodes[2].style.display=='none')
			{
				myobject.parentNode.childNodes[2].style.display='block';
			}
			else
			{
				myobject.parentNode.childNodes[2].style.display='none';
			}
		}
		else
		{
			var div_height = 0;
			if(myobject.parentNode.getElementsByTagName('div')[0].offsetHeight == 0 && myobject.parentNode.getElementsByTagName('div')[0].id)
			{
				/*
				for(j=0;j<myobject.parentNode.getElementsByTagName('div')[0].getElementsByTagName('div').length;j++)
				{
					if(myobject.parentNode.getElementsByTagName('div')[0].getElementsByTagName('div')[j].id)
					{
						//div_height+=Math.floor(document.getElementById('menu_nav').style.marginBottom.replace("px",""));	
						div_height+=15;
					}
				}
				*/
				div_height = divStats[myobject.parentNode.getElementsByTagName('div')[0].id];
			}
			else
			{
				div_height = myobject.parentNode.getElementsByTagName('div')[0].offsetHeight;
			}
			
			if(openIds[myobject.parentNode.getElementsByTagName('div')[0].id]=='opened')
			{	
				closeSlide(myobject.parentNode.getElementsByTagName('div')[0].id, div_height);					
			}
			else if(openIds[myobject.parentNode.getElementsByTagName('div')[0].id]=='closed')
			{
				openSlide(myobject.parentNode.getElementsByTagName('div')[0].id, div_height);
			}
			else if(myobject.parentNode.getElementsByTagName('div')[0].id && myobject.parentNode.getElementsByTagName('div')[0].offsetHeight!=0)
			{
				closeSlide(myobject.parentNode.getElementsByTagName('div')[0].id, div_height);	
			}			
		}
		
	}
}

var ContentHeight = 0;
var TimeToSlide = 500.0;

var openIds = new Array();
var divStats = new Array();
var divTree = new Array();
var iconSources = new Array();

function handle_response(myobject, the_string)
{
	var initialId = '';
	var initialHeight = '';
	var initialContent = '';
	var finalHeight = 0;
	
	
	initialId = myobject.parentNode.id;
	initialHeight = myobject.parentNode.offsetHeight;
	initialContent = myobject.parentNode.innerHTML;	
	
	
	
	
	
	if(slide==0)
	{
		myobject.parentNode.innerHTML+=the_string;
	}
	else
	{
		myobject.parentNode.innerHTML+=the_string;
		
		if(document.getElementById(initialId).getElementsByTagName('div')[0].id != null)
		{
			finalHeight = document.getElementById(initialId).getElementsByTagName('div')[0].offsetHeight;
			document.getElementById(initialId).getElementsByTagName('div')[0].style.display = 'none';
			if(document.getElementById(initialId).parentNode.id!='menu_nav')
			{
				updateHeights(document.getElementById(initialId), finalHeight);				
			}
			openSlide(document.getElementById(initialId).getElementsByTagName('div')[0].id, finalHeight);	
		}
		
	}
}


function updateHeights(element, myheight)
{
	var elements = new Array();
	while(element.parentNode)
	{

		element=element.parentNode;
		elements.unshift(element);	
		if(element.id=='menu_nav')
		{
			break;	
		}
	}
	for(i=0;i<elements.length;i++)
	{
		elements[i].style.height = elements[i].offsetHeight + myheight + 'px';
	}	
}

function resetHeights(element)
{
	while(element.parentNode)
	{
		element=element.parentNode;
		element.style.height = 'auto';
		if(element.id=='menu_nav')
		{
			break;	
		}
	}	
}


function openSlide(index, myheight)
{
  if(divStats[index])
  {
  	ContentHeight = divStats[index];		  
  }
  else
  {
  	ContentHeight = myheight;
	divStats[index] = ContentHeight;
  }
  
  if(document.getElementById(index).parentNode.parentNode.style.textIndent)
  {
	document.getElementById(index).style.textIndent = Math.floor(document.getElementById(index).parentNode.parentNode.style.textIndent.replace("px","")) + 10 + 'px';
  }
  else
  {
	document.getElementById(index).style.textIndent = '10px';  
  }
  
  var nID = "" + index + "";

  setTimeout("animate("
      + new Date().getTime() + "," + TimeToSlide + ",'"
      + '' + "','" + nID + "')", 33); 
  openIds[nID] = 'opened';
  resetHeights(document.getElementById(index));
  
}

function closeSlide(index, myheight)
{
  if(divStats[index])
  {
	ContentHeight = divStats[index];		  
  }
  else
  {
  	ContentHeight = myheight;
	divStats[index] = ContentHeight;
  }	
  
  var nID = "" + index + "";

  setTimeout("animate("
      + new Date().getTime() + "," + TimeToSlide + ",'"
      + nID + "','" + '' + "')", 33);
 
  openIds[nID] = 'closed';
  resetHeights(document.getElementById(index));  
}

function animate(lastTick, timeLeft, closingId, openingId)
{ 
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var opening = (openingId == '') ?
      null : document.getElementById(openingId);
  var closing = (closingId == '') ?
      null : document.getElementById(closingId);
 
  if(timeLeft <= elapsedTicks)
  {
    if(opening != null)
	{
      opening.style.height = ContentHeight + 'px';
	  opening.style.display = 'block';
	}
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight =
      Math.round((timeLeft/TimeToSlide) * ContentHeight);

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height = (ContentHeight - newClosedHeight) + 'px';
  }
 
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';


  setTimeout("animate(" + curTick + "," + timeLeft + ",'"
      + closingId + "','" + openingId + "')", 33);
}

function getLastChildNode(myobj)
{
	var childId = new Array();
	if(myobj.childNodes)
	{
		for(i=0;i<myobj.childNodes.length;i++)
		{
			if(myobj.childNodes[i].innerHTML)
			{
				alert("da");	
			}
			if(myobj.childNodes[i].innerHTML && myobj.childNodes[i].innerHTML.indexOf("<div")!=-1)
			{
				array_push(childId, i);	
			}
		}
	}
	if(childId[childId.length-1])
	{
		return childId[childId.length-1];
	}
	else
	{
		alert("intra");
		return 2;	
	}
}

function array_push ( array ) {
    var i, argv = arguments, argc = argv.length;
	var error = 0;
	for(k=0;k<array.length;k++)
	{
		for (i=1; i < argc; i++)
		{
			if(array[k]==argv[i])
			{
				error = 1;	
			}
		}
	}
	
	if(error!=1)
	{
		for (i=1; i < argc; i++){
			array[array.length++] = argv[i];
		}
	}
 
    return array.length;
}

function is_opened(myid)
{
	for(i=0;i<openedIds.length;i++)
	{
		if(myid==openedIds[i])
		{
			return i;	
		}
	}
	return false;
}

function unset(key)
{
	var tmp = new Array();
	for(i=0;i<openedIds.length;i++)
	{
		if(i!=key)
		{
			array_push(tmp, openedIds[i]);	
		}
	}
	openedIds = tmp;
}


function do_leaf_over(myobj)
{
	myobj.style.background = 'url(http://i7.myprofilepimp.us/engine_images/menu_images/leaf_hover.gif)';
	myobj.style.backgroundPosition = 'left top';
	myobj.style.backgroundRepeat = 'no-repeat';		
}

function do_leaf_out(myobj)
{
	myobj.style.background = 'url(http://i7.myprofilepimp.us/engine_images/menu_images/leaf_out.gif)';
	myobj.style.backgroundPosition = 'left top';
	myobj.style.backgroundRepeat = 'no-repeat';
}

function do_section_over(myobj)
{
	myobj.style.background = 'url(http://i7.myprofilepimp.us/engine_images/menu_images/menu_pimp_over.gif)';
	myobj.style.backgroundPosition = 'left top';
	myobj.style.backgroundRepeat = 'no-repeat';
	var icon = new Array();
	icon = myobj.getElementsByTagName('img');
	for(i=0;i<icon.length;i++)
	{
		iconSources[0] = icon[i].src;
		icon[i].src = 'http://i7.myprofilepimp.us/engine_images/menu_images/related_links_icon.png';	
	}
}

function do_section_out(myobj)
{
	myobj.style.background = 'url(http://i7.myprofilepimp.us/engine_images/menu_images/menu_pimp.gif)';
	myobj.style.backgroundPosition = 'left top';
	myobj.style.backgroundRepeat = 'no-repeat';
	var icon = new Array();
	icon = myobj.getElementsByTagName('img');
	for(i=0;i<icon.length;i++)
	{
		icon[i].src = iconSources[0];	
	}
}





