﻿document.domain = "gpotato.eu";
function FnGetObjById(sID, obj)
{
	return obj.getElementById(sID);
}

function FnTrim(sStr)
{
	try
	{
		return sStr.replace(/(^[\s¡¡]+)|([\s¡¡]+$)/g, "");
	}
	catch(Exception)
	{
		return sStr;
	}
}

function FnGetLegnth(sStr)
{
	try
	{
		var nCnt = 0;
		var sTmp;

		for (i = 0; i < sStr.length; i++)
		{
			sTmp = escape(sStr.substring(i, i+1));
			if(sTmp.substring(1,2) == "u" )
				nCnt += 2;
			else
				nCnt += 1;
		}
		return nCnt;
	}
	catch(Exception)
	{
		return -1;
	}
}

function FnIsEmpty(obj)
{
	try
	{
		if(!obj)							return true;
		if(!obj.value)						return true;
		if(FnTrim(obj.value)	== "")		return true;

		return false;
	}
	catch(Exception)
	{
		return true;
	}
}

function FnChkEmail(s) 
{
	var sChk = "";
	var nCnt = 0;
	var nLen = s.length;
	var regDoNot = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var regMust = /^[-a-zA-Z0-9_]+@([-a-zA-Z0-9]+\.)+[a-zA-Z]{2,3}$/;

	if (s.indexOf(" ") != -1 || s.indexOf("<") != -1 || s.indexOf(">") != -1) {
		return false;
	}

	if (s.indexOf("@") == -1) {
		return false;
	}

	if (s.indexOf(".") == -1) {
		return false;
	}

	if (s.indexOf(".") - s.indexOf("@") == 1) {
		return false;
	}

	if (s.charAt(s.length-1) == ".") {
		return false;
	}

	if (s.charAt(s.length-1) == "@") {
		return false;
	}

	if (s.length < 7) {
		return false;
	}
	else {
		for (i = 0 ; i < nLen ; i++) {
			temp = s.substring(i,i+1);
			if ((temp == "@" && i < 2) || (temp == "." && i < 4)) {
				return false;
			}
			else {
				if (temp == "@" || temp == ".") sChk = sChk + temp;
			}
		}
		if (sChk.substring(0,2) == "@.") {
			if (!regDoNot.test(s) && regMust.test(s))
				return true;
			else
				return false;
		}
		else
			return false;
	}
}

function FnChkNumber(sTxt)
{
	var objRegExp1 =/^[0-9]/;
	var sTmp
	sTxt = sTxt.toLowerCase();

	for(i=0;i<sTxt.length;i++){
		sTmp = sTxt.substring(i, i+1)
		if (!objRegExp1.test(sTmp)) {
			return false;
		}
	}
	return true;
}

function FnChkAlphaNum(sTxt)
{
	var objRegExp1 =/^[0-9]/;
	var objRegExp2 = /^[a-z]/;
	var sTmp
	sTxt = sTxt.toLowerCase();

	for(i=0;i<sTxt.length;i++){
		sTmp = sTxt.substring(i, i+1)
		if (!objRegExp1.test(sTmp)) {
			if (!objRegExp2.test(sTmp)) {
				return false;
			}
		}
	}
	return true;
}

function FnChkAlpha(sTxt)
{
	var objRegExp1 =/^[a-z]/;
	var sTmp
	sTxt = sTxt.toLowerCase();
	
	for(i=0;i<sTxt.length;i++){
		sTmp = sTxt.substring(i, i+1)
		if (!objRegExp1.test(sTmp)) return false;
	}
	return true;
}

function FnChkIncSpace(sTxt)
{
	var objRegExp1 =/^[a-z]/;
	var sTmp
	sTxt = sTxt.toLowerCase();

	for(i=0;i<sTxt.length;i++){
		sTmp = sTxt.substring(i, i+1)
		if (sTmp == " ") return true;
	}
	return false;
}

function FnGetObjXMLHttpRequest() 
{

    var objReq = false;
    if (window.XMLHttpRequest)
	{
        objReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) 
	{
        try 
		{
            objReq = new ActiveXObject("Msxml2.XMLHTTP");
        } 
		catch (e1) 
		{
            try
			{
                objReq = new ActiveXObject("Microsoft.XMLHTTP");
            } 
			catch (e2)
			{
                return null;
            }
        }
    }
    return objReq;
}

function FnSendHttpRequest(objReq, sUrl, sParam, sMethod, sTarget)
{
	FnShowStatus("V");
	objReq.open(sMethod, sUrl, true);
	objReq.onreadystatechange = FnReceiveCallBack(objReq, sTarget);
	objReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	objReq.setRequestHeader("Cache-Control","no-cache, must-revalidate");
	objReq.setRequestHeader("Pragma","no-cache");
	objReq.send(sParam, true);
}

function FnReceiveCallBack(objReq, sTarget) {

    return function () {
		switch (objReq.readyState) {
        case 0 :
        case 1 :
        case 2 :
        case 3 :
        break;
        case 4 :
            if (objReq.status == 200) {
				FnShowStatus("H");
				setTimeout(sTarget, 0);
            } else {
                alert("HTTP error: "+objReq.status);
            }
        break;
        }
    }
}


  /*=============================================================================
    use : flash write
    @Param : string Object URL, int Width, int Height[, string Variable, string Background Color, string Window Mode]
 =============================================================================*/
function ObFlashWrite(sObjURL, nWidth, nHeight, sVars, sBgColor, sWinMod){
	
	var sObjId = sObjURL.split("/")[sObjURL.split("/").length-1].split(".")[0];
	if(sVars == null) sVars = '';
	if(sBgColor == null) sBgColor = '#FFFFFF';
	if(sWinMod == null) sWinMod = 'transparent';

	// flash code definition
	var flashStr= "	<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'";
		flashStr+="			codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'";
		flashStr+="			width='" + nWidth +"'";
		flashStr+="			height='" + nHeight + "'";
		flashStr+="			id='" + sObjId + "'";
		flashStr+="			align='middle'>";

		flashStr+="		<param name='allowScriptAccess' value='always' />";
		flashStr+="		<param name='movie' value='" + sObjURL + "' />";
		flashStr+="		<param name='FlashVars' value='" + sVars + "' />";
		flashStr+="		<param name='wmode' value='" + sWinMod + "' />";
		flashStr+="		<param name='menu' value='false' />";
		flashStr+="		<param name='quality' value='high' />";
		flashStr+="		<param name='bgcolor' value='" + sBgColor + "' />";
	
	
		flashStr+="		<embed src='" + sObjURL + "'";
		flashStr+="		       flashVars='" + sVars + "'";
		flashStr+="		       wmode='" + sWinMod + "'";
		flashStr+="		       menu='false'";
		flashStr+="		       quality='high'";
		flashStr+="		       bgcolor='" + sBgColor + "'";
		flashStr+="		       width='" + nWidth + "'";
		flashStr+="		       height='" + nHeight + "'";
		flashStr+="		       name='" + sObjId + "'";
		flashStr+="		       align='middle'";
		flashStr+="		       allowScriptAccess='always'";
		flashStr+="		       type='application/x-shockwave-flash'";
		flashStr+="		       pluginspage='http://www.macromedia.com/go/getflashplayer' />";
		flashStr+=" </object>";

	// flash code print
	document.write(flashStr);
}

var objDivStatus			= null;

function FnShowStatus(sType)
{
	objDivStatus		= FnGetObjById("DivStatus",			document);
	objDivStatus.style.display = (sType == "H") ? "none":"block";
}

/*==========================================================================
	Focusing specific form
==========================================================================*/
function FnFocusingForm(obj, sclassName)
{
	obj.className = sclassName;
	obj.focus();
}

function FnGetObjById(sID, obj){
	if(!obj) obj = document;

	return document.getElementById(sID);
}

/*=============================================================================
	use : flash write
  @Param : string Object URL, int Width, int Height[, string Variable, string Background Color, string Window Mode]
=============================================================================*/
function ObFlashWrite(sObjURL, nWidth, nHeight, sVars, sBgColor, sWinMod){
	
	var sObjId = sObjURL.split("/")[sObjURL.split("/").length-1].split(".")[0];
	if(sVars == null) sVars = '';
	if(sBgColor == null) sBgColor = '#FFFFFF';
	if(sWinMod == null) sWinMod = 'transparent';

	// flash code definition
	var flashStr= "	<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'";
		flashStr+="			codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'";
		flashStr+="			width='" + nWidth +"'";
		flashStr+="			height='" + nHeight + "'";
		flashStr+="			id='" + sObjId + "'";
		flashStr+="			align='middle'>";

		flashStr+="		<param name='allowScriptAccess' value='always' />";
		flashStr+="		<param name='movie' value='" + sObjURL + "' />";
		flashStr+="		<param name='FlashVars' value='" + sVars + "' />";
		flashStr+="		<param name='wmode' value='" + sWinMod + "' />";
		flashStr+="		<param name='menu' value='false' />";
		flashStr+="		<param name='quality' value='high' />";
		flashStr+="		<param name='bgcolor' value='" + sBgColor + "' />";
	
	
		flashStr+="		<embed src='" + sObjURL + "'";
		flashStr+="		       flashVars='" + sVars + "'";
		flashStr+="		       wmode='" + sWinMod + "'";
		flashStr+="		       menu='false'";
		flashStr+="		       quality='high'";
		flashStr+="		       bgcolor='" + sBgColor + "'";
		flashStr+="		       width='" + nWidth + "'";
		flashStr+="		       height='" + nHeight + "'";
		flashStr+="		       name='" + sObjId + "'";
		flashStr+="		       align='middle'";
		flashStr+="		       allowScriptAccess='always'";
		flashStr+="		       type='application/x-shockwave-flash'";
		flashStr+="		       pluginspage='http://www.macromedia.com/go/getflashplayer' />";
		flashStr+=" </object>";

	// flash code print
	document.write(flashStr);
}


function FnGetObjByClassName(element, tagname, classname) {
	var alldescendants = (element || document.body).getElementsByTagName(tagname);
	for(var i=0; i<alldescendants.length; i++) {
		if(classname == null || alldescendants[i].className.indexOf(classname) > -1) {
			return alldescendants[i];
		}
	}
	return null;
}

function FnGetArrByClassName(element, tagname, classname) {
	var descendants = new Array();
	var alldescendants = (element || document.body).getElementsByTagName(tagname);
	for(var i=0; i<alldescendants.length; i++) {
		if(classname == null || alldescendants[i].className.indexOf(classname) > -1) {
			descendants.push(alldescendants[i]);
		}
	}
	return descendants;
}

/*
function swf_load(filename, widths, heights, menus, plays, loops, id){
var strSwf = "";

strSwf += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
strSwf += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"';
strSwf += 'width="'+widths+'" height="'+heights+'" id="'+id+'" align="middle">';
strSwf += '<param name="wmode" value="transparent" />';
strSwf += '<param name="movie" value="'+filename+'" />';
strSwf += '<param name="quality" value="high" />';
strSwf += '<param name="menu" value="'+menus+'" />';
strSwf += '<param name="play" value="'+plays+'" />';
strSwf += '<param name="loop" value="'+loops+'" />';
strSwf += '<embed src="'+filename+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"';
strSwf += 'type="application/x-shockwave-flash" width="'+widths+'" height="'+heights+'" name="'+id+'" align="middle"></embed>';
strSwf += '</object>';
document.write(strSwf);
}
*/

function FnSWFLoad(filename, widths, heights, menus, plays, loops, id)
{
	var sTags = "";

	sTags += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
	sTags += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"';
	sTags += 'width="'+widths+'" height="'+heights+'" id="'+id+'" align="middle">';
	sTags += '<param name="wmode" value="transparent" />';
	sTags += '<param name="movie" value="'+filename+'" />';
	sTags += '<param name="quality" value="high" />';
	sTags += '<param name="menu" value="'+menus+'" />';
	sTags += '<param name="play" value="'+plays+'" />';
	sTags += '<param name="loop" value="'+loops+'" />';
	sTags += '<embed src="'+filename+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"';
	sTags += 'type="application/x-shockwave-flash" width="'+widths+'" height="'+heights+'" name="'+id+'" align="middle"></embed>';
	sTags += '</object>';
	document.write(sTags);
}

function FnGetCommonHtml(sUrl)
{
	var objReq = FnGetObjXMLHttpRequest();
	objReq.open("GET", sUrl, false);
	objReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	objReq.setRequestHeader("Cache-Control","no-cache, must-revalidate");
	objReq.setRequestHeader("Pragma","no-cache");
	objReq.send("", true);

	document.write(objReq.responseText);
}

/*==========================================================================
 Array Key 찾기
==========================================================================*/
function FnGetArrayKey(arrTmp, sVal)
{
	var i = 0;
	for(i=0; i<arrTmp.length; i++)
	{
		if(arrTmp[i] == sVal) return i;
	}
	return -1;
}

function FnGetSelectKey(obj, sVal)
{
	var i = 0;
	for(i=0; i<obj.length; i++)
	{
		if(obj[i].value == sVal) return i;
	}
	return -1;
}
