﻿function getStrLen(str) {
	var nbytes=0;
	for (i=0; i<str.length; i++) {
		var ch=str.charAt(i);
		if(escape(ch).length > 4) {nbytes += 2;}
		else if (ch=='\n')
			{if (str.charAt(i-1)!='\r') {nbytes += 1;}}
		else if (ch=='<' || ch=='>') {nbytes += 4;}
		else {nbytes += 1;}
	}
	return nbytes;
}

function isEmail(str) {	
	var reg=/^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z]+)+$/g;	
	if(str.match(reg)==null) {return false;}
}

function isPhone(str) {	
	var reg=/^\d{2,3}-\d{3,4}-\d{4}$/g;	
	if(str.match(reg)==null) {return false;}
}

function isDate(str) {
	var reg=/^\d{4}-\d{2}-\d{2}$/
	if(str.match(reg)==null) {return false;}
}

function isBlank(str) {
	var arrStr=str.split(" ")
	if (str.length+1==arrStr.length)
		return true;
	return false;
}

function isOverLen(str,len){
	if (getStrLen(str)>len)
		return true;
	else
		return false;
}

function chkReg(obj,reg,str) {
	if(!obj){return false;}
	if(obj.value.match(reg)==null) {
		if(str) {alert(str);}
		try{obj.focus();}catch(e){}
		return false;
	}
	return true;
}

function chkBlank(obj,str) {
	if(!obj){return false;}
	if(isBlank(obj.value)) {
		if(str) {alert(str);}
		try{obj.focus();}catch(e){}		
		return false;
	}
	return true;
}

function chkNumber(obj,str) {
	if(!obj){return false;}
	if(isBlank(obj.value) || isNaN(obj.value)){
		if(str) {alert(str);}
		obj.value="";
		try{obj.focus();}catch(e){}		
		return false;
	}
	return true;
}

function chkPassword(obj1,obj2) {
	if(isBlank(obj1.value)) {
		alert("password please!");
		try{obj1.focus();}catch(e){}		
		return false;
	}
	if(isBlank(obj2.value)){
		alert("input password");
		try{obj2.focus();}catch(e){}		
		return false;
	}
	if(obj1.value!=obj2.value) {
		alert('password not same password2');
		return false;
	}
	return true;
}

// email check
function chkEmail(obj,str,objFocus) {
	if(!obj){return false;}
	if(!objFocus){objFocus=obj;}
	if(isEmail(obj.value)==false) {
		if(str) {alert(str);} else {alert("not email");}
		try{objFocus.focus();}catch(e){}
		return false;
	}
	return true;
}

// telephone check
function chkPhone(obj,str) {
	if(!obj){return false;}
	if(isPhone(obj.value)==false) {
		if(str) {alert(str);}
		obj.value="";
		try{obj.focus();}catch(e){}		
		return false;
	}
	return true;
}

// data check
function chkDate(obj,str) {
	if(!obj){return false;}
	if(isDate(obj.value)==false) {
		if(str) {alert(str);} else {alert("data fail\n\n예)2000-01-01");}
		obj.value="";
		try{obj.focus();}catch(e){}		
		return false;
	}
	return true;
}

// option check
function chkOption(obj,str) {
	if(!obj){return false;}
	var chkValue;
	for(var i=0;i<obj.length;i++) {
		if(!obj[i]){continue;}
		if(obj[i].checked) {chkValue=obj[i].value;break;}
	}
	if(!chkValue) {
		if(str) {alert(str);}
		return false;
	}
	return true;
}

// window.open
function win_open_center(url,name,width,height,scrollbars) {
	var posLt = (screen.availWidth-width)/2;
	var posTp = (screen.availHeight-height)/2;
	var pop = window.open(url,name,"top="+posTp+",left="+posLt+",width="+width+",height="+height+",scrollbars="+scrollbars);
	if(pop) {pop.focus();}
}


// EventListener
function addEvent(obj,eve,fnc){
	if (window.addEventListener) {  //Mozilla
		eve=eve.replace('on','');
		obj.addEventListener(eve , fnc, false)
	} else {						//IE
		obj.attachEvent(eve,fnc);
	}
}

function removeEvent(obj,eve,fnc){
	if (window.removeEventListener) {   //Mozilla
		eve=eve.replace('on','');
		obj.removeEventListener(eve , fnc, false);
	} else {							//IE
		obj.detachEvent(eve , fnc);
	}
}


/*
function addEvent( obj, type, fn )
{
 if (window.addEventListener)
  obj.addEventListener( type, fn, false );
 else if (window.attachEvent)
 {
  obj['e'+type+fn] = fn;
  obj[type+fn] = function() { obj['e'+type+fn]( window.event ); }
  obj.attachEvent( 'on'+type, obj[type+fn] );
 }
}

function removeEvent( obj, type, fn )
{
 if (window.removeEventListener)
  obj.removeEventListener( type, fn, false );
 else if (window.detachEvent)
 {
  obj.detachEvent( 'on'+type, obj[type+fn] );
  obj[type+fn] = null;
  obj['e'+type+fn] = null;
 }
}
*/

/*
	사용법
	addEvent(document.getElementById("Folder"+arrTreeMnu[i].id),"onclick",treeOnClick);	addEvent(document.getElementById("Folder"+arrTreeMnu[i].id),"onmouseover",treeOnMouseOver);	addEvent(document.getElementById("Folder"+arrTreeMnu[i].id),"onmouseout",treeOnMouseOut);
*/
