function moveUp(element) {
  for(i = 0; i < element.options.length; i++) {
    if(element.options[i].selected == true) {
      if(i != 0) {
        var temp = new Option(element.options[i-1].text,element.options[i-1].value);
        var temp2 = new Option(element.options[i].text,element.options[i].value);
        element.options[i-1] = temp2;
        element.options[i-1].selected = true;
        element.options[i] = temp;
      }
    }
  }
}
function moveDown(element) {
  for(i = (element.options.length - 1); i >= 0; i--) {
    if(element.options[i].selected == true) {
      if(i != (element.options.length - 1)) {
        var temp = new Option(element.options[i+1].text,element.options[i+1].value);
        var temp2 = new Option(element.options[i].text,element.options[i].value);
        element.options[i+1] = temp2;
        element.options[i+1].selected = true;
        element.options[i] = temp;
      }
    }
  }
}
function removeItem(element)
{
  var selIndex = element.selectedIndex;
  if (selIndex != -1) {
    for(i=element.length-1; i>=0; i--)
    {
      if(element.options[i].selected)
      {
		var fileinput = element.options[i].value;
		
		if (fileinput.substring(0,6) == 'files_' && fileinput.substring(7,8) == ':' ) {
			var todelete = document.getElementsByName(fileinput.substring(0,7))[0];
			todelete.parentNode.removeChild(todelete);
		}
        element.options[i] = null;
      }
    }
    if (element.length > 0) {
      element.selectedIndex = selIndex == 0 ? 0 : selIndex - 1;
    }
  }

}
function greyout(d,z)
{
	var obj = document.getElementById('greyout');
	if(!obj)
	{
	  appendElement(document.body,'div','greyout');
	  obj = document.getElementById('greyout');
	  obj.style.position = 'absolute';
	  obj.style.top = '0px';
	  obj.style.left = '0px';
	  obj.style.background = '#111';
	  obj.style.opacity = '.7';
	  obj.style.filter = 'alpha(opacity=70)';
	}
	if(d)
	{
	  if(!z){ z = 50 }
	  obj.style.zIndex = z;
	  obj.style.height = Math.max(document.body.scrollHeight,document.body.clientHeight)+'px';
	  obj.style.width  = Math.max(document.body.scrollWidth,document.body.clientWidth)+'px';
	  obj.style.height = '100%';
	  obj.style.width  = '100%';
	  obj.style.display = 'block';
	  addEvent(window,'resize',greyoutResize);
	}
	else
	{
	  obj.style.display = 'none';    
	  removeEvent(window,'resize',greyoutResize);
	}
}

function greyoutResize()
{
	var obj = document.getElementById('greyout');
	obj.style.height = document.body.clientHeight+'px';
	obj.style.width  = document.body.clientWidth+'px';
	obj.style.height = Math.max(document.body.scrollHeight,document.body.clientHeight)+'px';
	obj.style.width  = Math.max(document.body.scrollWidth,document.body.clientWidth)+'px';
}

function appendElement(node,tag,id,htm)
{
	var ne = document.createElement(tag);
	if(id) ne.id = id;
	if(htm) ne.innerHTML = htm;
	node.appendChild(ne);
}
function showPopup(p)
{
	/*
	* Add more robust method of determining the viewable area
	*/
	
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	
	/* End */
	
	pu = document.getElementById(p);
    pu.style.top  = (document.body.scrollTop+((myHeight/2)-100))+"px";
    pu.style.left = (document.body.scrollLeft+((myWidth-250)/2))+"px";
	greyout(true);
	document.getElementById(p).style.display = 'block';
}
function hidePopup(p)
{
	greyout(false);
	document.getElementById(p).style.display = 'none';
}

function enableMultiple(show)
{
	var objItems = document.getElementById('id_items');
	var objItemControls = document.getElementById('itemControls');
	if(show){
		objItemControls.style.display = 'block';
		objItems.size = 5;
		document.getElementsByName('checkmultiple')[0].disabled = true;
	}else{
		objItemControls.style.display = 'none';
		objItems.size = 1;
	}
}

window.addEvent('domready', function(){
	//no limit, use default element name suffix, don't remove path from file name, disable empty file input
	new MultiUpload( $( 'mform1' ).files, null, null, null, true );
});

window.addEvent('load', function(e){
	//some browsers remember options, so reset them
	document.getElementsByName('checkmultiple')[0].disabled = false;
	document.getElementsByName('checkmultiple')[0].checked = false;
	
	$( 'mform1' ).addEvent('submit', function(e){
				//select all items in mulitple select box
				var items = $('id_items');
				for (i=0; i<items.length; i++) {
					items.options[i].selected = true; 
				}
				return true;				
			});
});

function addURL() {
	var title = document.getElementsByName('urltitle')[0];
	var url = document.getElementsByName('url')[0];
	var objItems = document.getElementById('id_items');
	var option = document.createElement('option');
	option.innerHTML  = title.value;
	option.value = title.value + '&lt;' + url.value+'&gt;';

	objItems.appendChild(option); 
	objItems.size = objItems.size + 1;

	title.value = '';
	url.value = 'http://';
	tb_remove();
	//hidePopup('urlpopup');
}