function toggleDisplay(var1, var2)
{
	var element1 = document.getElementById(var1);
	var element2 = document.getElementById(var2);
	
	if(element1.style.display == "none")
	{
		element1.style.display = "block";
		if(element2) element2.style.display = "none";
	}
	else
	{
		element1.style.display = "none";
		if(element2) element2.style.display = "block";
	}
}

function confirm_url( message, url )
{
	var answer = confirm(message)
	if (answer)
	{
		window.location = url;
	}
}

function confirm_post( message, parameters, values )
{
	if ( confirm(message) )
	{
		/*if(action == 'ban')
		{
			if(formid.reason)
			{
				var result = prompt("Please specify a reason")
				if(result)
				{
					formid.reason.value = result;
				}
				else
				{
					formid.reason.value = 'No reason was specified.';
				}
			}
		}*/
		
		var form_process = document.createElement('form');
		form_process.setAttribute('name', 'form_process');
		form_process.setAttribute('method', 'post');
		
		var parameters_array = parameters.split(',');
		var values_array = values.split(',');
		
		for(i=0; i < parameters_array.length; i++)
		{
			if(parameters_array[i] != 'reason')
			{
				eval('var '+parameters_array[i]+' = document.createElement(\'input\');');
				eval(''+parameters_array[i]+'.setAttribute(\'name\', \''+parameters_array[i]+'\');');
				eval(''+parameters_array[i]+'.setAttribute(\'value\', \''+values_array[i]+'\')');;
				form_process.appendChild( eval(parameters_array[i]) );
			}
		}
		
		document.body.appendChild(form_process);
		form_process.submit();
	}
}

function goToPage(url)
{
	var pagenav = document.getElementById('pagenav');
	
	if(pagenav.page.value)
		url += '&page=' + pagenav.page.value;
	window.location = url;
	return false;
}

function checkAll(pFormid, pCheckname, pThis)
{
	var formId = document.getElementById(pFormid);
	for (i = 0; i < formId.eval(pCheckname).length; i++) formId.eval(pCheckname)[i].checked = pThis.checked? true:false
}

function charCount(elementID, length)
{
	var field = document.getElementById(elementID);
	if (field.value.length > length)
   {
		field.value = field.value.substring(0, length);
		field.scrollTop = field.scrollHeight - field.clientHeight;
	}
}

function fetch_url()
{
	return location.href;
}

function query_string_edit(sArgumentName, sNewArgumentValue, sRequestUri)
{	
	var aArguments = new Array();
	var aArgumentValues = new Array();
	
	// RequestUri given?
	if(!sRequestUri)
	{
		sRequestUri = location.href;
	}
	
	// RequestUri does not contain query string
	if(sRequestUri.indexOf('?') == -1)
	{
		sScriptUrl = sRequestUri;
	}
	// RequestUri does contain query string... Split it up
	else
	{
		sScriptUrl = sRequestUri.substr(0, sRequestUri.indexOf('?'));
		sQueryString = sRequestUri.substr(sRequestUri.indexOf('?')+1);
		aArguments = sQueryString.split("&");
	}
	
	
	if( aArguments.length > 0 )
   {
		for( i=0; i<aArguments.length; i++ )
      {
         matches = /^(.*)=(.*)$/.exec(aArguments[i]);
			
			var match = new Object();
			match.argumentName = matches[1];
			match.argumentValue = matches[2];
			aArgumentValues[i] = match;
      }
	}
	
   //Replace value
   if ( sNewArgumentValue !== false )
   {
		var found = false;
		for( i=0; i<aArgumentValues.length; i++ )
      {
			if(aArgumentValues[i].argumentName == sArgumentName)
			{
				aArgumentValues[i].argumentValue = sNewArgumentValue;
				found = true;
				break;
			}
		}
		
		if(!found)
		{
			var match = new Object();
			match.argumentName = sArgumentName;
			match.argumentValue = sNewArgumentValue;
			aArgumentValues.push(match);
		}
   }
   else
	// Remove value
   {
      for( i=0; i<aArgumentValues.length; i++ )
      {
			if(aArgumentValues[i].argumentName == sArgumentName)
			{
				aArgumentValues.splice(i,1);
				break;
			}
		}
   }

	var sQueryString = "";
   if( aArgumentValues.length > 0 )
   {
		sQueryString = "?";
		for( i=0; i<aArgumentValues.length; i++ )
      {
         sQueryString += aArgumentValues[i].argumentName + "=" + aArgumentValues[i].argumentValue + "&";
      }
      sQueryString = sQueryString.substr( 0 , sQueryString.length - 1 ) ;
   }
	
	return sScriptUrl + sQueryString;
}

function handleEnter (field, event)
{
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i])
				break;
		i = (i + 1) % field.form.elements.length;
		field.form.elements[i].focus();
		return false;
	} 
	else
		return true;
}      
