//------------------------------------------------------------------------------
function trim( strsrc )
{
	return strsrc.replace(/^\s+|\s+$/g, "");
}
//------------------------------------------------------------------------------
function replace( strsrc, strdest, stralt )
{
	var obj = new RegExp(strdest, "gi");

	return strsrc.replace(obj, stralt);
}
//------------------------------------------------------------------------------
function mouse_on( objimg )
{
	var newname = replace(objimg.src, ".gif", "_on.gif");
	objimg.src = newname;
}
//------------------------------------------------------------------------------
function mouse_off( objimg )
{
	var newname = replace(objimg.src, "_on.gif", ".gif");
	objimg.src = newname;
}
//------------------------------------------------------------------------------
function sortitem_click( index, sortstr, selfpath )
{
	var intsortitem = sortstr.substr(0,1);	//sort item
	var strsorttype = sortstr.substr(1,1);	//sort order[d/u]

	var sortstr_new;
	if(index == intsortitem){
		if(strsorttype == "u"){
			sortstr_new = index + "d";
		}
		else{
			sortstr_new = index + "u";
		}
	}
	else{
		sortstr_new = index + "u";
	}

	if(selfpath.indexOf("?", 0) >= 0){
		document.location.href = selfpath + "&sort=" + sortstr_new;
	}
	else{
		document.location.href = selfpath + "?sort=" + sortstr_new;
	}
}
//------------------------------------------------------------------------------
function hide_status()
{
	window.status = "";
	return true;
}
//------------------------------------------------------------------------------
function isvalid_zipcode( value )
{
	regexp = value.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
	if(!regexp){
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function validate_address( value )
{
	regexp = value.match(/^\S+@\S+\.\S+$/);
	if(!regexp){
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function isvalid_url( value )
{
	regexp = value.match(/(http|https):\/\/.+/);
	if(!regexp){
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function validate_dateformat( obj )
{
	var regexp;
	var yy;
	var mm;
	var dd;
	
	switch(obj.value.length){
	case 0:		//null
		return true;
		
	case 6:		//yymmdd
		regexp = obj.value.match(/^\d{6}$/);
		if(regexp){ 
			yy = format_year(eval(regexp[0].substring(0,2)));
			mm = eval(regexp[0].substring(2,4));
			dd = eval(regexp[0].substring(4,6));
		}
		else{
			return false;
		}
		break;
	case 8:		//yyyymmdd, yy/mm/dd
		regexp = obj.value.match(/^\d{8}$/);
		if(regexp){ 
			yy = eval(regexp[0].substring(0,4));
			mm = eval(regexp[0].substring(4,6));
			dd = eval(regexp[0].substring(6,8));
		}
		else{
			regexp = obj.value.match(/^(\d\d)\/(\d\d)\/(\d\d)$/);
			if(regexp){
				yy = format_year(eval(RegExp.$1));
				mm = eval(RegExp.$2);
				dd = eval(RegExp.$3);
			}
			else{
				return false;
			}
		}
		break;
	case 10:	//yyyy/mm/dd
		regexp = obj.value.match(/^(\d\d\d\d)\/(\d\d)\/(\d\d)$/);
		if(regexp){
			yy = eval(RegExp.$1);
			mm = eval(RegExp.$2);
			dd = eval(RegExp.$3);
		}
		else{
			return false;
		}
		break;
	default:
		return false;
	}

	if(!validate_date(mm, dd)){
		return false;
	}

	obj.value = String(yy) + "/" + format_length(mm, 2) + "/" + format_length(dd, 2);

	return true;
}
//------------------------------------------------------------------------------
function validate_date( mm, dd )
{
	if((mm < 1) || (mm > 12)){ 
		return false; 
	}

	if((dd < 1) || (dd > 31)){ 
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function format_year( yy )
{
	if(yy > 30){
		return "19" + format_length(String(yy), 2);
	}
	else{
		return "20" + format_length(String(yy), 2);
	}
}
//------------------------------------------------------------------------------
function format_length( val, len )
{
	var str = String(val);
	while(str.length < len){
		str = "0" + str;
	}
	return str;
}
//------------------------------------------------------------------------------

