var Cache = new Object();

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


function get(id)
{
return (Cache[id]) ? Cache[id] : Cache[id] = document.getElementById(id);
}


function clearValue(obj,pattern)
{
	if(get(obj).value==pattern)get(obj).value='';
}

function toggle(obj)
{
 if(get(obj).style.display=='none'){
 	get(obj).style.display=''; 
 }else get(obj).style.display='none'
}

function checkStr(obj,strtype)
{
	

	switch (strtype)
	{
		case 'mixed' :
		
		if(obj.value.match('^([à-ÿ¸¨À-ßa-zA-Z0-9\.,!\?\)&;]|\s|\xFC|¹|#|\n|\r|/|\\|\x23|\x20|\s|\-){5,500}$')) {
				 
		obj.style.border="1px dotted green";
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'stdtxt':
		if (obj.value.match(/^[à-ÿ¸¨À-ßa-zA-Z]{3,120}$/)) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'username':
		if (obj.value.match(/^[à-ÿ¸¨À-ßa-zA-Z0-9]{3,15}$/)) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'password':
		if (obj.value.match(/^[a-zA-Z0-9]{3,15}$/)) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'email':
		if (obj.value.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'zip':
		if (obj.value.match(/^[0-9]{5,10}$/)) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
		
		case 'phone':
		if (obj.value.match(/^([0-9]|\s|-|\+|\(|\)|\x20){5,}$/) ) {
			obj.style.border="1px dotted green";
		
			return true; 
		 } else { obj.style.border="1px dashed red"; return false; }
		break;
	}
	
	return false;
}

function showObj(obj)
{
get(obj).style.display='';	
}
function hideObj(obj)
{
get(obj).style.display='none';	
}
