/*#################################################################################################
############################## Animated / Expands and Collapsable div #############################
#################################################################################################*/
// declare variables
// how often the Javascript function will run to alter the DIV's properties (altering height or opacity)
var timerlen = 5;
// how long it should take a DIV to completely slide up or completely slide down (in milliseconds)
var slideAniLen = 150;
var timerID = new Array();
var startTime = new Array();
var arrObj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

// slide down function
function slidedown(objname)
{
	if(moving[objname])
		return;
	if(document.getElementById(objname).style.display != "none")
		// cannot slide down something that is already visible
		return;
	moving[objname] = true;
	dir[objname] = "down";
	startslide(objname);
}

// slide up function
function slideup(objname)
{
	if(moving[objname])
		return;
	if(document.getElementById(objname).style.display == "none")
		// cannot slide up something that is already hidden
		return;
	moving[objname] = true;
	dir[objname] = "up";
	startslide(objname);
}

// start slide function
function startslide(objname)
{
	arrObj[objname] = document.getElementById(objname);
	endHeight[objname] = parseInt(arrObj[objname].style.height);
	startTime[objname] = (new Date()).getTime();
	if(dir[objname] == "down")
	{
		arrObj[objname].style.height = "1px";
	}
	arrObj[objname].style.display = "block";
	timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

// slide tick function
function slidetick(objname)
{
	var elapsed = (new Date()).getTime() - startTime[objname];
	if (elapsed > slideAniLen)
	endSlide(objname)
		else
		{
			var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
			if(dir[objname] == "up")
			d = endHeight[objname] - d;
			arrObj[objname].style.height = d + "px";
		}
	return;
}

// end slide function
function endSlide(objname)
{
	clearInterval(timerID[objname]);
	if(dir[objname] == "up")
	arrObj[objname].style.display = "none";
	arrObj[objname].style.height = endHeight[objname] + "px";

	delete(moving[objname]);
	delete(timerID[objname]);
	delete(startTime[objname]);
	delete(endHeight[objname]);
	delete(arrObj[objname]);
	delete(dir[objname]);
	return;
}
//##########################################
//###### Search Dynamic Dropdown Script ####
//##########################################
function refreshChild(str_level, int_c1)
{
	//Get Element
	if (str_level == 'cruiseLine')
	{		
		myElement = document.getElementById("cruiseShip")
		//Clear Option
		myElement.options.length = 0;
		thisoption = new Option('All', '', true, false)
		myElement.options.add(thisoption)

		for(i = 0; i < cruiseArray.length; i++)
		{
			subArray = cruiseArray[i].split("#")
			if(subArray[0]==int_c1)
			{
				if (subArray[1] == 58 || subArray[1] == 110 || subArray[1] == 13 || subArray[1] == 16 || subArray[1] == 90 || subArray[1] == 92 || subArray[1] == 93 || subArray[1] == 141 || subArray[1] == 143 || subArray[1] == 117 || subArray[1] == 69 || subArray[1] == 70 || subArray[1] == 57 || subArray[1] == 67 || subArray[1] == 140 || subArray[1] == 5)
				{
					//alert(subArray[1]+subArray[2])
					
					//Insert Option
					thisoption = new Option(subArray[2], subArray[1], true, false)
					myElement.options.add(thisoption)
				}
			}
		}
	}
}