// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");	
}

// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) {
	return LTrim(RTrim(value));
}

function noSpecialChar(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
keychar = String.fromCharCode(keynum);

// allow spaces
if (keychar == ' ') {
return true;
}

numcheck = /[\w\n\r\f\t\b]/;
return numcheck.test(keychar);
}

function onlyNum(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
keychar = String.fromCharCode(keynum);
numcheck = /[\d\n\r\f\t\b]/;
return numcheck.test(keychar);
}

function checkCriteria()
{
if(!document.getElementById || !document.createTextNode){return;}
var searchField=document.getElementById('nameField');

var hasOneDropbox=false;
var errContainer=document.getElementById('errCon');
if(!errContainer){return;}
var errorMessage='';
errContainer.nodeValue='';

var searchFieldValue=trim(searchField.value);

if(searchField.value.length > 0 && searchFieldValue.length < 3){
	errorMessage='Please provide 3 or more letters for this characters name';	
}
else if(!searchField || searchField.value.length == 0){
	if ((document.getElementById("search.classId").selectedIndex!=0) || (document.getElementById("search.raceId").selectedIndex!=0) || (document.getElementById("search.serverId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0))
	{
		hasOneDropbox=true;
	}
	if (!hasOneDropbox) {
		errorMessage='Please Provide Search Criteria';
	}
	if ( (searchField.value.indexOf("*") > -1) || (searchField.value.indexOf("?") > -1) ){
		errorMessage='Wildcards are not permitted. Please use Starts With';
	}
	
	var minLevelIndex=document.getElementById("search.minLevel").selectedIndex
	var maxLevelIndex=document.getElementById("search.maxLevel").selectedIndex
	if((minLevelIndex!=0) && (maxLevelIndex!=0) && (minLevelIndex > maxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}

}
if(errorMessage!='')
{
errContainer.firstChild.nodeValue=errorMessage;
searchField.focus();
return false;
}
else
{
	return true;
}
}


function checkCriteriaGuild()
{
if(!document.getElementById || !document.createTextNode){return;}
var searchField=document.getElementById('nameField');

var hasOneDropbox=false;
var errContainer=document.getElementById('errCon');
if(!errContainer){return;}
var errorMessage='';
errContainer.nodeValue='';

var searchFieldValue=trim(searchField.value);

if(searchField.value.length > 0 && searchFieldValue.length < 3){
	errorMessage='Please provide 3 or more letters for this guilds name';	
}
else if(!searchField || searchField.value.length == 0){
	if ((document.getElementById("search.serverId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0) || (document.getElementById("search.avgMinLevel").selectedIndex!=0) || (document.getElementById("search.avgMaxLevel").selectedIndex!=0))
	{
		hasOneDropbox=true;
	}
	if (!hasOneDropbox) {
		errorMessage='Please Provide Search Criteria';
	}
	if ( (searchField.value.indexOf("*") > -1) || (searchField.value.indexOf("?") > -1) ){
		errorMessage='Wildcards are not permitted. Please use Starts With';
	}
	
	var minLevelIndex=document.getElementById("search.minLevel").selectedIndex
	var maxLevelIndex=document.getElementById("search.maxLevel").selectedIndex
	if((minLevelIndex!=0) && (maxLevelIndex!=0) && (minLevelIndex > maxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}

	var avgMinLevelIndex=document.getElementById("search.avgMinLevel").selectedIndex
	var avgMaxLevelIndex=document.getElementById("search.avgMaxLevel").selectedIndex
	if((avgMinLevelIndex!=0) && (avgMaxLevelIndex!=0) && (avgMinLevelIndex > avgMaxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}


}
if(errorMessage!='')
{
errContainer.firstChild.nodeValue=errorMessage;
searchField.focus();
return false;
}
else
{
	return true;
}
}


function checkCriteriaLeader()
{
if(!document.getElementById || !document.createTextNode){return;}
var searchField;

var hasOneDropbox=false;
var errContainer=document.getElementById('errCon');
if(!errContainer){return;}
var errorMessage='';
errContainer.nodeValue='';

if(!searchField || searchField.value.length == 0){
	if ((document.getElementById("search.classId").selectedIndex!=0) || (document.getElementById("search.raceId").selectedIndex!=0) || (document.getElementById("search.serverId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0))
	{
		hasOneDropbox=true;
	}
	if (!hasOneDropbox) {
		errorMessage='Please Provide Search Criteria';
	}
	
	var minLevelIndex=document.getElementById("search.minLevel").selectedIndex
	var maxLevelIndex=document.getElementById("search.maxLevel").selectedIndex
	if((minLevelIndex!=0) && (maxLevelIndex!=0) && (minLevelIndex > maxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}


}
if(errorMessage!='')
{
errContainer.firstChild.nodeValue=errorMessage;
return false;
}
else
{
	return true;
}
}

function checkCriteriaItem()
{
if(!document.getElementById || !document.createTextNode){return;}
var searchField=document.getElementById('nameField');

var hasOneDropbox=false;
var errContainer=document.getElementById('errCon');
if(!errContainer){return;}
var errorMessage='';
errContainer.nodeValue='';

var searchFieldValue=trim(searchField.value);

if(searchField.value.length > 0 && searchFieldValue.length < 3){
	errorMessage='Please provide 3 or more letters for this items name';	
}
else if(!searchField || searchField.value.length == 0){
	if ((document.getElementById("search.classId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0) || (document.getElementById("search.slot").selectedIndex!=0) || (document.getElementById("search.wieldStyle").selectedIndex!=0) || (document.getElementById("search.primaryAttribute").selectedIndex!=0) || (document.getElementById("search.secondaryAttribute").selectedIndex!=0))
	{
		hasOneDropbox=true;
	}
	if (!hasOneDropbox) {
		errorMessage='Please Provide Search Criteria';
	}
	if ( (searchField.value.indexOf("*") > -1) || (searchField.value.indexOf("?") > -1) ){
		errorMessage='Wildcards are not permitted. Please use Starts With';
	}
	
	var minLevelIndex=document.getElementById("search.minLevel").selectedIndex
	var maxLevelIndex=document.getElementById("search.maxLevel").selectedIndex
	if((minLevelIndex!=0) && (maxLevelIndex!=0) && (minLevelIndex > maxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}



}
if(errorMessage!='')
{
errContainer.firstChild.nodeValue=errorMessage;
searchField.focus();
return false;
}
else
{
	return true;
}
}

function enableCheckBox() {
var searchField=document.getElementById('nameField');
var searchFieldValue=trim(searchField.value);

	if ((document.getElementById("search.classId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0) || (document.getElementById("search.slot").selectedIndex!=0) || (document.getElementById("search.wieldStyle").selectedIndex!=0) || (document.getElementById("search.primaryAttribute").selectedIndex!=0) || (document.getElementById("search.secondaryAttribute").selectedIndex!=0) || (searchFieldValue.length >= 2))
	{
		document.getElementById("itemSearchCriteria.lore").disabled=false;
		document.getElementById("itemSearchCriteria.noRent").disabled=false;
		document.getElementById("itemSearchCriteria.attunable").disabled=false;
		document.getElementById("itemSearchCriteria.noValue").disabled=false;
		document.getElementById("itemSearchCriteria.noDrop").disabled=false;
		document.getElementById("itemSearchCriteria.noTrade").disabled=false;
	} else {
		document.getElementById("itemSearchCriteria.lore").disabled=true;
		document.getElementById("itemSearchCriteria.lore").checked=false;
		document.getElementById("itemSearchCriteria.noRent").disabled=true;
		document.getElementById("itemSearchCriteria.noRent").checked=false;
		document.getElementById("itemSearchCriteria.attunable").disabled=true;
		document.getElementById("itemSearchCriteria.attunable").checked=false;
		document.getElementById("itemSearchCriteria.noValue").disabled=true;
		document.getElementById("itemSearchCriteria.noValue").checked=false;
		document.getElementById("itemSearchCriteria.noDrop").disabled=true;
		document.getElementById("itemSearchCriteria.noDrop").checked=false;
		document.getElementById("itemSearchCriteria.noTrade").disabled=true;
		document.getElementById("itemSearchCriteria.noTrade").checked=false;
	}	
}

function checkCriteriaSpell()
{
if(!document.getElementById || !document.createTextNode){return;}
var searchField=document.getElementById('nameField');

var hasOneDropbox=false;
var errContainer=document.getElementById('errCon');
if(!errContainer){return;}
var errorMessage='';
errContainer.nodeValue='';

var searchFieldValue=trim(searchField.value);

if(searchField.value.length > 0 && searchFieldValue.length < 3){
	errorMessage='Please provide 3 or more letters for this spells name';	
}
else if(!searchField || searchField.value.length == 0){
	if ((document.getElementById("search.classId").selectedIndex!=0) || (document.getElementById("search.minLevel").selectedIndex!=0) || (document.getElementById("search.maxLevel").selectedIndex!=0) || (document.getElementById("search.tier").selectedIndex!=0))
	{
		hasOneDropbox=true;
	}
	if (!hasOneDropbox) {
		errorMessage='Please Provide Search Criteria';
	}
	if ( (searchField.value.indexOf("*") > -1) || (searchField.value.indexOf("?") > -1) ){
		errorMessage='Wildcards are not permitted. Please use Starts With';
	}
	
	var minLevelIndex=document.getElementById("search.minLevel").selectedIndex
	var maxLevelIndex=document.getElementById("search.maxLevel").selectedIndex
	if((minLevelIndex!=0) && (maxLevelIndex!=0) && (minLevelIndex > maxLevelIndex)) 
	{
	    errorMessage='Min level cannot be greater than max level';
	}

}
if(errorMessage!='')
{
errContainer.firstChild.nodeValue=errorMessage;
searchField.focus();
return false;
}
else
{
	return true;
}
}



function checkGoToPage()
{
	if (document.getElementById("goToPageNumber").value == "")
		{
			alert("Please enter a page number");
			return false;
		}
	else
		{
			goToPage(document.getElementById('PageNumber').value, document.getElementById('sortIndex').value, document.getElementById('dir').value, document.getElementById('goToPageNumber').value );
		}
	
}
