/*
' =======================================================================
'	ÆûÀÇ ÄÁÆ®·Ñ °ü·Ã ÇÔ¼öµé
' =======================================================================
*/


function f_IE() {
	return navigator.appName=="Microsoft Internet Explorer" ? true : false;
}

function fnEventKey() {
	return f_IE() ? (event.keyCode) : (navigator.appVersion.charAt(0) > "5" ? event.charCode : event.which);
}

function fnEventKeyChange(key) {
	if(f_IE())
		event.keyCode = key;
	else if(ev.navigator.appVersion.charAt(0) > "5")
		event.charCode = key;
	else
		event.which = key;
}

function fnOpenWindow(url, name, w, h, s) {
	var	l, t, wintype, wins;

	l = (screen.availWidth - w) / 2 - 100;
	t = (screen.availHeight - h) / 2 - 100;

	if(typeof(s)=="undefined") s = "0";

	wintype	= "scrollbars=" + s + ",width=" + w + ",height=" + h + ",top=" + t + ",left=" + l;
	wins = window.open(url, name, wintype);
	wins.focus();
	return wins;
}

function fnLogout() {
	fnOpenWindow("/member/logout.asp", "logout", 382, 150);
}

/* 
	email : ^[A-Za-z0-9_\-]{1,}@(([A-Za-z0-9_\-]{1,})\.){1,}[A-Za-z0-9_\-]{1,}$
	¼º¸í(ÇÑ±Û) : \W{2,}
	ÁÖ¹Îµî·Ï¹øÈ£ : ^[0-9]{6}-[12][0-9]{6}$
	
	
*/
function fnCheckValue(objForm)
{
	var f = objForm;
    var re;
    var args;
    var result;
    
    for (var i=0; i<f.elements.length; i++)
    {
    	result = false;
        if (typeof(f.elements[i].tag) == "undefined") continue;
		
        args = f.elements[i].tag.split("||", 3);
        
        if (args[0]=='C') 
        {
            result = eval(args[1]+"(f.elements[i], f.elements[i].value);");
        }
        else if ((args[0]=='N') && (f.elements[i].value.length==0))
        {
			result = true;
        }
        else if ((args[0]=='M') || (args[0]=='N') ||
            ((args[0]=='O') && (f.elements[i].value.length>0)))
        {
            re = new RegExp(args[1], "gi");
            result = re.test(f.elements[i].value);
        }
        if (result == false)
        {
            if (args[2] != "") alert(fnReplace(args[2],"\\n","\n"));
            if (f.elements[i].type != "hidden")
				f.elements[i].focus();
            return false;
        }
    }
    return true;
}

function fnFileExt(filename) {
	var n = filename.lastIndexOf(".");

	if(n==-1) 
		return "";
	else
		return filename.substring(n+1,filename.length).toLowerCase();
}

function fnCheckPhotoFile(filename) {
	var ext = fnFileExt(filename);
	
	switch(ext) {
		case "jpeg":
		case "jpg" :
		case "bmp" :
		case "gif" :
		case "png" :
		case "tiff" :
			return true;
		default :
			return false;
	}
}

function fnCheckMediaFile(filename) {
	var mediaArray = Array("asf", "asx", "wax", "wm", "wma", "wmd", "wmp", "wmv", "wmx", "wpl", "wvx", "avi", "wav", 
			"mpeg", "mpg", "m1v", "mp2", "mpa", "mpe", "mpv2", "mid", "midi", "rmi", "mp3", "m3u", "vob");

	var ext = fnFileExt(filename);

	for(n=0; n<mediaArray.length; n++) {
		if(ext == mediaArray[n]) {
			return true;
		}
	}
	
	return false;
}

function fnReplace(oldStr, fildStr, replaceStr)
{
	var newStr = "";
	var nPos=0;
	var nLen = fildStr.length;
	
	while ((nPos=oldStr.indexOf(fildStr)) >= 0) 
	{
		newStr += oldStr.substr(0, nPos) + replaceStr
		oldStr = oldStr.substring((nPos+nLen),oldStr.length) ;
	}
	return newStr + oldStr;
}

function fnLTrim(str) {
	while(''+str.charAt(0)==' ')
		str = str.substring(1,str.length);
	return str;
}

function fnRTrim(str) {
	while(''+str.charAt(str.length-1)==' ')
		str = str.substring(0,str.length-1);
	return str;
}

function fnTrim(str) {
	str = fnLTrim(str);
	str = fnRTrim(str);
	return str;
}

function fnCheckDate(value)
{	
	var	year, month, day;
	if (arguments.length == 1)
	{
		if(value.length!=10) return false;
	
		year  = value.substring(0,4);
		month = value.substring(5,7);
		day   = value.substring(8,10);

		return(fnCheckDate(year,month,day));
	}
	else if(arguments.length == 3)
	{
		year  = arguments[0];
		month = arguments[1];
		day   = arguments[2];
		if (isNaN(year) || isNaN(month) || isNaN(day))
		{
			return false;
		}

		date = new Date(year,month-1,day);

		if (!(parseInt(date.getFullYear()) == year && parseInt(date.getMonth()+1) == month && parseInt(date.getDate()) == day))
		{
			return false;
		}

		return true;
	}
	else
		return false;
}