var dropDownTimerID = new Array();
var dropDownTimerRunning = new Array();
var dropDownDelay = new Array();
var dropDownControls = new Array();

function InitializeDropDown (iControlNum) {
	dropDownTimerID[iControlNum] = null;
	dropDownTimerRunning[iControlNum] = false;
	dropDownDelay[iControlNum] = 200;
}

function StopDropDownTimer (iControlNum) {
	if(dropDownTimerRunning[iControlNum]){
		clearTimeout(dropDownTimerID[iControlNum]);
	}
	dropDownTimerRunning[iControlNum] = false;
}

function StartDropDownTimer(controlName, iControlNum) {
	dropDownTimerID[iControlNum] = setTimeout("closeDropDown('" + controlName  + "','" + iControlNum + "')", dropDownDelay[iControlNum]);
	dropDownTimerRunning[iControlNum] = true;
}

function closeDropDown(controlName, iControlNum) {
	StopDropDownTimer(iControlNum);
	try {
		var divPanel = document.getElementById(controlName);
		divPanel.style.display = 'none';
	}
	catch(exception) { }
}

function ShowDropDown(controlName, iControlNum) {
	ClearTimer(iControlNum)
	try {  
		var cntrl = document.getElementById(controlName);
		cntrl.style.display = 'block';
	}
	catch(exception) { }
}

function ClearTimer(iControlNum) {
	StopDropDownTimer(iControlNum);
	InitializeDropDown(iControlNum);
}

function CloseAllDropDownHandler(e) {
	var objParent;
	var objList;
	var objDiv;
	var ddState = 'none';
	
	if(window.event) {
		objParent = window.event.srcElement.parentElement;
		objDiv = window.event.srcElement;
	}
	else {
		objParent = e.rangeParent;
		try {
			var arr = objParent.getElementsByTagName('DIV');
			
			for(var i=0; i<arr.length; i++) {
				if(arr[i].tagName == 'DIV') {
					objDiv = arr[i];
					break;
				}
			}
		}
		catch(exception) { }
	}

	if(objDiv && objDiv.id != '') {
		objList = document.getElementById(objDiv.id.replace('Header', 'List'));
		ddState = objList.style.display;
	}
	
	for(var i=0; i<dropDownControls.length; i++) {
		var obj = document.getElementById(dropDownControls[i]);
		if(obj) if(obj.style) if(obj.style.display == 'block') obj.style.display = 'none';
	}
	
	if(objList) if(objList.style) objList.style.display = ddState;
}


function OpenDropDown(controlName) {
	try {  
		var cntrl = document.getElementById(controlName);
		
		if (cntrl.style.display == 'block') {
			cntrl.style.display = 'none';
		}
		else {
			cntrl.style.display = 'block';
		}
		
		var links = cntrl.getElementsByTagName('A');
		links[0].className = 'DropDownItemOn';
	}
	catch(exception) { }
}

function TurnOffLink(controlName) {
	try {  
		var cntrl = document.getElementById(controlName);
		var links = cntrl.getElementsByTagName('A');
		links[0].className = 'DropDownItemOff';
	}
	catch(exception) { }
}

function AddDropDown(ctrlName) {
	var found = false;
	for(var i=0; i<dropDownControls.length; i++) {
		if(dropDownControls[i] == ctrlName) {
			found = true;
			break;
		}
	}
	
	if(!found) {
		dropDownControls[dropDownControls.length] = ctrlName;
	}
}

function HighlightHead(id, over) {
	var obj = document.getElementById(id);
	if(obj) if(obj.className) {
		if(over) {
			obj.className = obj.className.replace('_off', '_on');
		}
		else {
			obj.className = obj.className.replace('_on', '_off');
		}
	}
}

function AddPageEvent(element, eventType, lamdaFunction, useCapture) {
   if (element.addEventListener) {
		element.addEventListener(eventType, lamdaFunction, useCapture);
		return true;
	}
   else if (element.attachEvent) {
		var r = element.attachEvent('on' + eventType, lamdaFunction);
		return r;
	}
   else {
		return false;
	}
}