$( document).ready(function()
{
	
	if ($.browser.msie)
	{
		$('.sort-form select').each( function(i, el) { replaceSelect($(el)); });
	}
	else
	{
		$('.sort-form select').each( function(i, el) { wireSelect($(el)); });
	}
});

var baseUrl = "default.aspx?pageid=";
if (window.location.href.indexOf('_preview.aspx') > -1)
{
	baseUrl = "_preview.aspx?pageid=";
}

function jumpToPage()
{
	var pid = this.options[this.selectedIndex].value;
	if (pid && pid != '0')
	{
		window.location = baseUrl + pid;
	}
}
function wireSelect(s)
{
	s.change( jumpToPage );
}

function replaceSelect(s)
{
	//hide select
	var w = s.outerWidth();
	var h = s.outerHeight();
	s.addClass('replaced'); //hide select
	
	var c = s.find('option'); //get options
	
	//holds text span  image
	var dv = document.createElement('div');
	dv.id = s.attr('id') + '-select';
	dv.className = 'replacement';
	
	//holds text
	var txt = document.createElement('div');
	txt.className = "txt";
	txt.appendChild( document.createTextNode( $(c[0]).text()) ); //text is same as first option
	dv.appendChild(txt);
	$(txt).css('width', w-24);
	
	var img = document.createElement('div');
	img.className = "arrow";
	dv.appendChild(img);
	
	var jdv = $(dv).insertAfter(s);
	jdv.css({'width': w});//, 'height': h});
	
	//the dropdown
	var ul = document.createElement('ul');
	ul.id = dv.id + '-dropdown';
	ul.className = 'dropdown';
	var dos = jdv.offset();
	var jul = $(ul).css({'position':'absolute', 'z-index':'1000', 'left': dos.left , 'top': dos.top + jdv.outerHeight() });
	
	var i = 0;
	var len = c.length;
	var li;
	var a;
	var txt
	
	for (var i=1; i<len; i++) 
	{
		li = document.createElement('li');
		a = document.createElement('a');
		a.href = baseUrl +  $(c[i]).val();
        txt = document.createTextNode( $(c[i]).text() );
		
		a.appendChild(txt);
		li.appendChild(a);
		
		$(li).mouseenter( onOverItem ).mouseleave( onOutItem ).click( onClickItem );
		ul.appendChild(li);
	}
	
	c = null;
	
	dv.onselectstart=function(){return false;}
	jdv.mousedown( onDownSelect ).mouseup( onUpSelect ).mouseenter( onOverSelect ).mouseleave( onOutSelect ).click( onClickSelect );
	//jdv.ondblclick=function(){return false;}
	
	$('body').append( ul);
	
	jul.mouseenter(onOverDropdown).mouseleave(onOutDropdown);
	
	var dow = jdv.width();
	//resize
	if ( jul.width() < dow)
	{
		jul.css('width', dow);
	}
	
	if ( jul.height() > 256 )
	{
		jul.css({'height': 256, 'width': jul.width() + 20});
	}
	
}
function onDownSelect()
{
	$(this).addClass('down');
}
function onUpSelect()
{
	$(this).removeClass('down');
}
function onOverSelect()
{
	$(this).addClass('highlight');
	document.onmousedown = null;
}
function onOutSelect()
{
	$(this).removeClass('highlight');
	$(this).removeClass('collapsed');
	$(this).removeClass('down');
	//only if dropdown hidden
	if (currDropdown != '') document.onmousedown = onClickBody ;
	else document.onmousedown = null ;
}
function onOverDropdown()
{
	document.onmousedown = null;
}
function onOutDropdown()
{
	document.onmousedown = onClickBody ;
}
function onClickItem()
{
	window.location = $(this).find('a').attr('href');
}
function onOverItem()
{
	$(this).addClass('over');
	
}
function onOutItem()
{
	$(this).removeClass('over');
	
}
function onDblClickSelect(e)
{
}

var currDropdown = '';
function onClickSelect(e)
{
	e.stopPropagation();
	var t = this.id;
	if (currDropdown != t)
	{
		if (currDropdown != '') hideDropdown();
		currDropdown = t;
		showDropdown();
		$(this).removeClass('collapsed');
	}
	else
	{
		$(this).addClass('collapsed');
		hideDropdown();
		document.onmousedown = null ;
	}
}
function onClickBody()
{ 	
	$('#'+ currDropdown).removeClass('highlight');
	$('#'+ currDropdown).removeClass('collapsed');
	
	hideDropdown();
	document.onmousedown = null ;
}
function showDropdown()
{
	var s = $('#'+ currDropdown)
	var os = s.offset();
	var d = $('#'+ currDropdown+ '-dropdown');
	d.css({ display:"block", 'left': os.left , 'top': os.top + s.outerHeight() });
	d.children('li:firstChild').mouseenter(); //highlight first
}
function hideDropdown()
{
	if (currDropdown != '')
	{
		$('#'+currDropdown + '-dropdown').css('display', "none");
	}
	currDropdown = "";
}

