//START animate dropdown function
var dropDownArray = Array();
var nullPixel = 'images/null.gif';
var dropTimer = null;
var scrollTimer = null;

$(document).ready(function(){
	$('body').append('<div class="dropDownListHolder" id="dropDownListHolder"></div>');
});

function createDropDown(objID, objName, labels, values, selected, subm, objSelect, maxItems, onselecteditemchanged) { 
	if (maxItems == null) maxItems = 9;
	if (maxItems == undefined) maxItems = 9;
	
	for (var i = 0; i < labels.length; i++)
	{
	if (labels[i] == selected) 
	{
	selected = i;
	i = labels.length;
	}
	}
	
	dropDownArray.push({objID:objID, objName:objName, labels:labels, values:values, selected:selected, subm:subm, objSelect:objSelect, maxItems:maxItems, onselecteditemchanged:onselecteditemchanged});
	
	$('#' + objID).append('<p>' + labels[selected] + '<span>' + labels[selected] + '</span></p>');
	var selectedValue = values[selected];
	var selectedID = selected;
	
	if (labels.length == 1)	{
		$('#' + objID + '  > p').wrap('<div class="leftdr"><div class="rightdrempty"></div></div>');
	}
	else {
		$('#' + objID + '  > p').wrap('<div class="leftdr"><div class="rightdr"></div></div>');
		$('#' + objID + ' > div.leftdr').bind("click", {ddID:dropDownArray.length - 1}, openDropMenu);
	}
	
	//!!!!!for size dropdown functionality uncommit next 9 strings!!!!!
	//if (document.getElementById('frmvarsize')) {
	//	if ($('#' + objID).width() < 148)	{
	//		$('#' + objID).css("width", 148);
	//	}
	//	else
	//	{
	//		$('#' + objID).css("width", 'auto');
	//	}
	//}
}

function openDropMenu(e) {
	var ddID = e.data.ddID;
	var objID = dropDownArray[ddID].objID;
	var objName = dropDownArray[ddID].objName;
	var labels = dropDownArray[ddID].labels;
	var values = dropDownArray[ddID].values;
	var selected = dropDownArray[ddID].selected;
	var subm = dropDownArray[ddID].subm;
	var maxItems = dropDownArray[ddID].maxItems;
	var onselecteditemchanged = dropDownArray[ddID].onselecteditemchanged;
	
	$('#dropDownListHolder').empty();
	
	var listDiv = '<div id="bgrndDiv_' + objID + '" class="backGround"><ins class="tr"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins>';
	if (labels.length > maxItems) listDiv += '<div id="overflowDiv_' + objID + '" style="overflow:hidden; position:relative;"><div id="listDiv_' + objID + '" style="position:absolute; top:0px; width:100%;">';
	for (var i = 0; i < labels.length; i++) {
		if (selected == i) {
			var selectedID = i;
			listDiv += '<div onmouseover="clearTimeout(dropTimer); return false" onmouseout="dropTimer=setTimeout(function(){closeDropMenu()}, 500); return false" class="dropdownItemHolder"><div class="leftdr"><div class="rightdr"><a onclick="setDropDown(' + ddID + ', ' + i + ');'+ (onselecteditemchanged != undefined ? onselecteditemchanged : '') +' return false" class="Selected" href="#">' + labels[i] + '</a></div></div></div>';
		} else {
			listDiv += '<div onmouseover="clearTimeout(dropTimer); return false" onmouseout="dropTimer=setTimeout(function(){closeDropMenu()}, 500); return false" class="dropdownItemHolder"><a onclick="setDropDown(' + ddID + ', ' + i + ');'+ (onselecteditemchanged != undefined ? onselecteditemchanged : '') +' return false" href="#">' + labels[i] + '</a></div>';
		}
	}
	
	var center = parseInt(parseInt($('#' + objID).width())/2+2);
	
	if (labels.length > maxItems) listDiv += '</div><div id="' + objID + '_areaDown" class="DownButton" onmouseout="clearTimeout(scrollTimer); dropTimer=setTimeout(function(){closeDropMenu()}, 500); return false" onmouseover="scrollListUp(\'' + objID + '\', ' + labels.length + ', ' + maxItems + '); return false" style="cursor:pointer; height:38px; position:absolute; top:0px; background-position:'+center+'px 28px;"></div><div id="' + objID + '_areaUp" onmouseout="clearTimeout(scrollTimer); dropTimer=setTimeout(function(){closeDropMenu()}, 500); return false" onmouseover="scrollListDown(\'' + objID + '\', ' + labels.length + ', ' + maxItems + '); return false" style="cursor:pointer; height:38px; position:absolute; top:0px; background-position:'+center+'px 0px;"></div></div>';
	listDiv += '<ins class="bl"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins><ins class="br"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins></div>';
	$('#dropDownListHolder').append(listDiv);
	
	if (document.getElementById('frmvarsize')) {
		if ($('#bgrndDiv_' + objID).width() < $('#' + objID).width()){
			$('#bgrndDiv_' + objID).css("width", $('#' + objID).width());
		}
	}
	else {
		$('#bgrndDiv_' + objID).css("width", $('#' + objID).width())
	}
		$('#bgrndDiv_' + objID).css("left", $('#' + objID).offset().left - 7);
	if (labels.length > maxItems) {

		$('#overflowDiv_' + objID).css("height", 32 * maxItems);
		$('#' + objID + '_areaUp').css("width", ($('#bgrndDiv_' + objID).width() + 10));
		$('#' + objID + '_areaDown').css("width", ($('#bgrndDiv_' + objID).width() + 10))
			.css("top", $('#overflowDiv_' + objID).height() - 32);
		
		
		$('#' + objID + '_areaDown')[0].className ="DownButton";
		$('#' + objID + '_areaUp')[0].className ="UpButton";
		var deltaOffset = Math.ceil(maxItems / 2);
		if (selectedID > Math.floor(maxItems / 2)) {
			if (selectedID > labels.length - 1 - Math.ceil(maxItems / 2)) {
			    deltaOffset = labels.length - selectedID;
			    $('#' + objID + '_areaDown')[0].className ="";
			}
			$('#bgrndDiv_' + objID).css("top", $('#' + objID).offset().top - (maxItems - deltaOffset) * 32 - 12);
			$('#listDiv_' + objID).css("top", (maxItems - deltaOffset - selectedID) * 32);
		} else {
		    $('#' + objID + '_areaUp')[0].className ="";
			$('#bgrndDiv_' + objID).css("top", $('#' + objID).offset().top - selectedID * 32 - 12);
		}
		
	} else {
		$('#bgrndDiv_' + objID).css("top", $('#' + objID).offset().top - selectedID * 32 - 12);
	}
	
	$('#bgrndDiv_' + objID + ' > ins.tr').css("height", ($('#bgrndDiv_' + objID).height() + 10));
	$('#bgrndDiv_' + objID + ' > ins.bl').css("width", ($('#bgrndDiv_' + objID).width() + 10));
}

function closeDropMenu() 
{
	$('#dropDownListHolder').empty();
	clearTimeout(dropTimer);
}

function setDropDown(ddID, itemID) 
{
	closeDropMenu();
	
	$('#' + dropDownArray[ddID].objID).empty();
	$('#' + dropDownArray[ddID].objID).append('<p>' + dropDownArray[ddID].labels[itemID] + '<span>' + dropDownArray[ddID].labels[itemID] + '</span></p>');
	
	//!!!!!for size dropdown functionality uncommit next 10 strings!!!!!
	//if (document.getElementById('frmvarsize')) {
	//	$('#' + dropDownArray[ddID].objID).css("width", 'auto');
	//	if ($('#' + dropDownArray[ddID].objID).width() <= 148)	{
	//		$('#' + dropDownArray[ddID].objID).css("width", 148);
	//	}
	//	else
	//	{
	//		$('#' + dropDownArray[ddID].objID).css("width", 'auto');
	//	}
	//}
	
	//var PostBack = false;
	//if (dropDownArray[ddID].selected != itemID)
	//    PostBack = true;
	var subm = dropDownArray[ddID].subm;
	
	dropDownArray[ddID].selected = itemID;
	
	
	/*var SelectedIndexInput;
	SelectedIndexInput = document.getElementById(dropDownArray[ddID].objSelect);
	if (SelectedIndexInput)
	{
			SelectedIndexInput.value =  dropDownArray[ddID].selected;
	}
	*/
	$('#' + dropDownArray[ddID].objID + '  > p').wrap('<div class="leftdr"><div class="rightdr"></div></div>');
	$('#' + dropDownArray[ddID].objID + ' > div.leftdr').bind("click", {ddID:ddID}, openDropMenu);
	
	var SelectedValueInput;
	SelectedValueInput = document.getElementById(dropDownArray[ddID].objSelect);
	if (SelectedValueInput)
	{
	    SelectedValueInput.value =  dropDownArray[ddID].values[itemID];
		var strLink 
			strLink = window.location.href;				
		var REstrLink;
			REstrLink = /(.*[\/|content=])\d*([-|_]\d*[-|_]\d*.*)/gi;
		var start;
			start = strLink.replace(REstrLink,'$1');
		var end;
			end= strLink.replace(REstrLink,'$2');				
		var newLink;
			newLink = start + dropDownArray[ddID].values[itemID] + end;
			if(subm)
				window.location.href = newLink;
	}    
}

function scrollListUp(objID, Length, maxLength){

    $('#' + objID + '_areaDown')[0].className ="DownButton";
    
	clearTimeout(dropTimer);
	clearTimeout(scrollTimer);
	var nextTop = parseFloat($('#listDiv_' + objID).css("top")) - 32;
	
	if (nextTop > 0) {
		$('#' + objID + '_areaUp').css("width", 0);
		$('#' + objID + '_areaUp')[0].className ="";
		return false;
	} else {
		$('#' + objID + '_areaUp').css("width", ($('#bgrndDiv_' + objID).width() + 10));
		$('#' + objID + '_areaUp')[0].className ="UpButton";
	}
	
	if (nextTop < (- Length * 32 + maxLength * 32)) {
		$('#' + objID + '_areaDown').css("width", 0);
		$('#' + objID + '_areaDown')[0].className ="";
		return false;
	} else {
		$('#' + objID + '_areaDown').css("width", ($('#bgrndDiv_' + objID).width() + 10));
		$('#' + objID + '_areaDown')[0].className ="DownButton";
	}
	
	$('#listDiv_' + objID).css("top", nextTop + "px");
	scrollTimer = setTimeout(function(){scrollListUp(objID, Length, maxLength)}, 200);
}

function scrollListDown(objID, Length, maxLength){
    
    $('#' + objID + '_areaUp')[0].className ="UpButton";
    
	clearTimeout(dropTimer);
	clearTimeout(scrollTimer);
	var nextTop = parseFloat($('#listDiv_' + objID).css("top")) + 32;
	
	if (nextTop > 0) {
		$('#' + objID + '_areaUp').css("width", 0);
		$('#' + objID + '_areaUp')[0].className ="";
		return false;
	} else {
		$('#' + objID + '_areaUp').css("width", ($('#bgrndDiv_' + objID).width() + 10));
		$('#' + objID + '_areaUp')[0].className ="UpButton";
	}
	
	if (nextTop < (- Length * 32 + maxLength * 32)) {
		$('#' + objID + '_areaDown').css("width", 0);
		$('#' + objID + '_areaDown')[0].className ="";
		return false;
	} else {
		$('#' + objID + '_areaDown').css("width", ($('#bgrndDiv_' + objID).width() + 10));
		$('#' + objID + '_areaDown')[0].className ="DownButton";
	}
	
	$('#listDiv_' + objID).css("top", nextTop + "px");
	scrollTimer = setTimeout(function(){scrollListDown(objID, Length, maxLength)}, 200);
}


//END animate dropdown function

