String.prototype.replaceAll = function( searchStr, replaceStr ) 
{ 
	var temp = this; 
	while( temp.indexOf( searchStr ) != -1 ) temp = temp.replace( searchStr, replaceStr ); 
	return temp; 
} 

function trim(s){
	var zszs="" ;
	if (typeof(s) == "undefined") {zszs=""; }else{ 
	if (s == null) { zszs="";} else { zszs= s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); }
	}
	return zszs;
} 

// UTF-8 Length
function GetLen(string)
{
	var sum = 0;
	var len = string.length;
	for (i=0;i<len;i++) {
		var one = string.charAt(i);
		if ( escape(one).length>4 ) { sum+=3; }
		else if ( one=='\\n' ) { if ( string.charAt(i-1)!='\\r' ) sum+=1; }
		else if ( one=='<' || one=='>' ) { sum+=4 }
		else if ( one=='&' ) { sum+=5; }
		else if ( one=='"' || one=='\'' ) { sum+=6; }
		else { sum+=1; }
	}
	return sum;
}

// limit string length
function LimitStr(event,limit)
{
	var len = GetLen(event.value);
	if ( len>limit ) {
		alert('You can use the most chars of '+limit);
		event.value = event.value.replace(/\r\n$/, '');
		event.value = CutStr(event.value,limit);
	}
}

function LimitStr_update(event,limit,str)
{
	var len = GetLen(event.value);
	if ( len>limit ) {
		alert(str);
		event.value = event.value.replace(/\r\n$/, '');
		event.value = CutStr(event.value,limit);
	}
}

// cut string by limited length
function CutStr(string,limit)
{
	var current_len = string.length;
	var restring = '';
	var type = 0;
	var sum = 0;
	for (i=0;i<current_len;i++) {
		var one = string.charAt(i);
		if ( escape(one).length>4 ) { type=3; }
		else if ( one=='\\n' ) { if ( string.charAt(i-1)!='\\r' ) type=1; }
		else if ( one=='<' || one=='>' ) { type=4 }
		else if ( one=='&' ) { type=5; }
		else if ( one=='"' || one=='\'' ) { type=6; }
		else { type=1; }
		if ( (sum+type)>limit ) break;
		sum+=type;
		restring+=one;
	}
	return restring;
}

// char check
function Check_nonCharNumeric(id_text)
{
		var nonchar = '~`!@#$%^&*()-_=+\|<>?,./;:"';
		var numeric = '1234567890';
		var nonkorean = nonchar+numeric; 
		
		var i ; 
		for ( i=0; i < id_text.length; i++ )  {
			if( nonkorean.indexOf(id_text.substring(i,i+1)) > 0) {
				break ; 
			}
		}
		if ( i != id_text.length ) {
			return false ; 
		}
		else{
			return true ;
		} 
		return false;
}

// number check
function Check_Numeric(id)
{
		var numeric = '1234567890';
		
		var i ; 
		for ( i=0; i < id.value.length; i++ )  {
			if( numeric.indexOf(id.value.substring(i,i+1)) < 0) {
				break ; 
			}
		}
		if ( i != id.value.length ) {
			alert("No number.");
			id.value = "";
			id.focus();
			return false;
		}
}

// special char check
function Check_nonChar(id_text)
{
		//var nonchar = '~`!@#$%^&*()-_=+\|<>?,./;:"';
		var nonchar = '`@#$%&\|<>;"';

		var i ; 
		for ( i=0; i < id_text.length; i++ )  {
			if( nonchar.indexOf(id_text.substring(i,i+1)) > 0) {
				break ; 
			}
		}
		if ( i != id_text.length ) {
			return false ; 
		}
		else{
			return true ;
		} 

		return false;
}

// special char check
function Check_specialChar(id)
{
		var nonchar = '~`!@#$%^&*()-_=+\|<>?,./;:"\'';

		var i ; 

		for ( i=0; i < id.value.length; i++ )  {
			if( nonchar.indexOf(id.value.substring(i,i+1)) > 0) {
				alert(id.value.substring(i,i+1)+" : This chars can not use.");
				id.value = id.value.replaceAll(id.value.substring(i,i+1),"");
				break ; 
			}
		}
}

// string check
function LengthCheck(data) {
	var type = 0;
	var sum = 0;
	for (i=0;i<data.length;i++) {
		var one = data.charAt(i);
		if ( escape(one).length>4 ) { type=3; }
		else if ( one=='\\n' ) { if ( string.charAt(i-1)!='\\r' ) type=1; }
		else if ( one=='<' || one=='>' ) { type=4 }
		else if ( one=='&' ) { type=5; }
		else if ( one=='"' || one=='\'' ) { type=6; }
		else { type=1; }

		sum+=type;
	}
	return sum;
}

// email check
function checkEMail (data)
{
	data = data.replace ( " ", "" );

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (filter.test(data)) {
		return true;
	} else {
		return false;
	}
}

function getExt( path_str ){
	var temp = path_str.split(".");
	var len = temp.length;
	return temp[len-1];
}

function getFileName_fromPath ( path ) {
	var temp = path.split("\\");
	var len = temp.length;
	return temp[len-1];
}