function filterText(strText,strSearchMethod,strReplaceCharacter, booFlagAdjacency)
{
	var strFilteredText = strText;
	var re = strFilteredSpecialChar1 + strFilteredSpecialChar2;	
	var rw = strFilteredSpecialWord;	

	for (i=0;i<re.length;i++) {
		// C++ °ú °°Àº °Ë»ö¾î¸¦ Ã³¸®ÇÏ±â À§ÇØ Å°¿öµå °Ë»öÀÎ °æ¿ì +¸¦ »©Áö ¾Ê´Â´Ù.
		// 2004.06.28 by shkim
		if (strSearchMethod == "KWRD")
		{
			if (re.substr(i,1) != "+" && re.substr(i,1) != "#")
			{
				strFilteredText = replaceText(strFilteredText, strReplaceCharacter, re.substr(i,1));
			}
		} else {
			if (re.substr(i,1) != "+" && re.substr(i,1) != "#")
			{
				strFilteredText = replaceText(strFilteredText, strReplaceCharacter, re.substr(i,1));
			}
		}
	}
		
	if (booFlagAdjacency == false )
	{
		if (strSearchMethod == "KWRD")
		{
			strFilteredText = replaceSpecialWord(strFilteredText, "", rw);	
//			alert(strFilteredText);
		}
		else
		{
			if (strFilteredText.length <= 3 )	//¿µ¹®ÀÚ 4byteÀÌÇÏÀÎ °æ¿ì¸¸ ºÒ¿ë¾î Ã¼Å©¸¦ ÇÑ´Ù.
			{
				strFilteredText = replaceSpecialWord(strFilteredText, "", rw);							
			}
		}
	}
	else
	{	//ÀÎÁ¢¾îÀÎ °æ¿ì 
		//if (strSearchMethod == "KWRD")
			//if (strFilteredText.length <= 3 )	//¿µ¹®ÀÚ 4byteÀÌÇÏÀÎ °æ¿ì¸¸ ºÒ¿ë¾î Ã¼Å©¸¦ ÇÑ´Ù.
			//	strFilteredText = replaceSpecialWord(strFilteredText, "", rw);							
	}		
	
	return strFilteredText;
}

function replaceSpecialWord(strText, strStringReplaced, strStringToReplace)
{
	var arrText;
	var strFilteredText="";

	arrText = strText.split(" ");
	
	for (i=0; i<strStringToReplace.split("/").length ; i++)
	{
		if (strStringToReplace.split("/")[i].length >0)
			for( j= 0; j<arrText.length ; j++)
			{
				if (arrText[j].length >0 && strStringToReplace.split("/")[i] == arrText[j])
					arrText[j] = strStringReplaced;	
			}
	}				
							
	for( j= 0; j<arrText.length ; j++)
	{	if (arrText[j].length > 0)
			strFilteredText = strFilteredText + arrText[j]+" ";
	}

	return strFilteredText;
}

function replaceText(strText, strStringReplaced, strStringToReplace)
{
	var thisIndex;
	
	if (strStringToReplace.length = 0)
		return strText;
			
	var intStartTextIndex = 0;
	//alert(strText + "::" + strStringReplaced + " :: " + strStringToReplace);
	while (intStartTextIndex < strText.length)
	{
		if (strStringToReplace == "'"){
			//alert(intStartTextIndex);
			thisIndex = strText.indexOf(strStringToReplace,intStartTextIndex);
			if (thisIndex == -1)
				break;
			//alert(thisIndex);
			if (thisIndex > 0 && thisIndex < strText.length - 1) {//Ã³À½°ú ¸¶Áö¸·ÀÌ ¾Æ´Ò°æ¿ì¿¡
			//	alert(strText.substr(thisIndex));
				if( strText.substr(thisIndex - 1,1) != " " && strText.substr(thisIndex + 1,1) != " "){
					strText = strText.substr(0,thisIndex) + "¡Ú" + strText.substr(thisIndex + 1);
					intStartTextIndex = thisIndex + 1;
			//		alert(strText);
			//		alert(intStartTextIndex);
					continue;	
			//		alert("continue");
				}
			}
		}
			
		intStartTextIndex = strText.indexOf(strStringToReplace, intStartTextIndex);	
		if (intStartTextIndex == -1)
			break;
		else
		{
			strText = strText.substr(0, intStartTextIndex) + strStringReplaced + strText.substr(intStartTextIndex+strStringToReplace.length, strText.length-1);   
			intStartTextIndex = intStartTextIndex + strStringReplaced.length;
		}
	}	

	return strText;
}
/*
function replaceText(strText, strStringReplaced, strStringToReplace)
{
	if (strStringToReplace.length = 0)
		return strText;
		
	var intStartTextIndex = 0;
	while (intStartTextIndex < strText.length)
	{
		intStartTextIndex = strText.indexOf(strStringToReplace, intStartTextIndex);	
		if (intStartTextIndex == -1)
			break;
		else
		{
			strText = strText.substr(0, intStartTextIndex) + strStringReplaced + strText.substr(intStartTextIndex+strStringToReplace.length, strText.length-1);   
			intStartTextIndex = intStartTextIndex + strStringReplaced.length;
		}
	}	

	return strText;
}
*/
function checkAdjacency(strString)
{
	//ÀÎÁ¢¾î ÀÎÁö¸¦ È®ÀÎ : "·Î ½Î¿© ÀÖ´Â stringÀÌ¸é ÀÌ°É Á¦°ÅÇÏ°í checkÇÑ´Ù.
	var strCheckString="";	
	
	strCheckString= TrimString(strString);

	if(strCheckString.length>2 && strCheckString.substr(0,1) == '"' && strCheckString.substr(strCheckString.length-1,1) == '"' )
		strCheckString = "1"+TrimString(strCheckString.substr(1,strCheckString.length-2));
	else
		strCheckString = "0"+strCheckString;

	return strCheckString;
}
	
function t_checkSearchString(strSearchMethod, strString)
{
	var strFilteredString = "";
	var strErrorCase = "";
	var strCompare = "";

	if (strSearchMethod == "FRNT")
	{
		strFilteredString = filterText(strString, strSearchMethod, "");
		return "1"+strFilteredString;
	}
	else if (strSearchMethod == "KWRD")
	{
		strFilteredString = filterText(strString, strSearchMethod, "");

		//Å°¿öµåÀÎ °æ¿ì ''¸¦ È®ÀÎ 
		intCompare = 0;
		strCompare = strFilteredString;
		while(intCompare < strCompare.length && intCompare != -1)
		{
			intCompare = strCompare.indexOf("\'", intCompare);

			if (intCompare != -1 )
			{
				if 	(strFilteredString.indexOf("\'", intCompare+1 ) - intCompare == 1) 
				{
					intCompare = intCompare + 2;
				}
				else 
				{
					if (intCompare < strCompare.length -1 )
						strCompare = strCompare.substr(0, intCompare) + 
								strCompare.substr(intCompare+1, strCompare.length - intCompare+1);
					else
						strCompare = strCompare.substr(0, intCompare);
					//intCompare = 0;
				}
			}
		}
		if (strCompare.length < strFilteredString.length || strFilteredString.length < strString.length) 
			strFilteredString = "0"+strString;
		else
			strFilteredString = "1"+strFilteredString;
			
		return strFilteredString;
	}
}

/*
function t_checkSearchString(strSearchMethod, strString)
{
	var strFilteredString = "";
	var strErrorCase = "";
	var strCompare = "";

	if (strSearchMethod == "KWRD")
	{
		strFilteredString = filterText(strString, strSearchMethod, "");

		//Å°¿öµåÀÎ °æ¿ì ''¸¦ È®ÀÎ 
		intCompare = 0;
		strCompare = strFilteredString;
		while(intCompare < strCompare.length && intCompare != -1)
		{
			intCompare = strCompare.indexOf("\'", intCompare);

			if (intCompare != -1 )
			{
				if 	(strFilteredString.indexOf("\'", intCompare+1 ) - intCompare == 1) 
				{
					intCompare = intCompare + 2;
				}
				else 
				{
					if (intCompare < strCompare.length -1 )
						strCompare = strCompare.substr(0, intCompare) + 
								strCompare.substr(intCompare+1, strCompare.length - intCompare+1);
					else
						strCompare = strCompare.substr(0, intCompare);
					//intCompare = 0;
				}
			}
		}
		if (strCompare.length < strFilteredString.length || strFilteredString.length < strString.length) 
			strFilteredString = "0"+strString;
		else
			strFilteredString = "1"+strFilteredString;
			
		return strFilteredString;
	}
	else 
	{
		strFilteredString = filterText(strString, strSearchMethod, "");
		return "1"+strFilteredString;
	}
}
*/

function checkSearchString(strSearchMethod, strString,booFlagAdjacency)
{
	var strFilteredString = "";
	var strErrorCase = "";
	var strCompare = "";

	if (strSearchMethod == "FRNT")
	{
		strFilteredString = filterText(strString, strSearchMethod, "", booFlagAdjacency);
		return "1"+strFilteredString;
	}
	else if (strSearchMethod == "KWRD")
	{
		strFilteredString = filterText(strString, strSearchMethod, "", booFlagAdjacency);

		if (strFilteredString.length == 0) 
			strFilteredString = "0"+strString;
		else
			strFilteredString = "1"+strFilteredString;
			
		return strFilteredString;
	}
}
/*
function checkSearchString(strSearchMethod, strString,booFlagAdjacency)
{
	var strFilteredString = "";
	var strErrorCase = "";
	var strCompare = "";

	if (strSearchMethod == "KWRD")
	{
		strFilteredString = filterText(strString, strSearchMethod, "", booFlagAdjacency);

		if (strFilteredString.length == 0) 
			strFilteredString = "0"+strString;
		else
			strFilteredString = "1"+strFilteredString;
			
		return strFilteredString;
	}
	else 
	{
		strFilteredString = filterText(strString, strSearchMethod, "", booFlagAdjacency);
		return "1"+strFilteredString;
	}
}
*/

function handleAdjacency(strText)
{
	var strFilteredText = "";
	var arrText;
	var i;

	arrText = TrimString(strText).split(" ");
	if (arrText.length > 0)
		for (i = 0 ; i < arrText.length ; i++)
		{
			if (TrimString(arrText[i]).length > 0)		
			{
				if (strFilteredText.length > 0 )
					strFilteredText = strFilteredText + "¢Â";
				strFilteredText = strFilteredText + TrimString(arrText[i]);
			}
		}
	else
		strFilteredText = TrimString(strText);

	//added by syjung : ÀÎÁ¢¾î ÀÎ°æ¿ì ¾ÕµÚ ½ºÆäÀÌ½º¸¦ µÎ±â·Î ÇÑ´Ù.
	//strFilteredText = strFilteredText + '¢Ã';
	strFilteredText = '¢Â'+ strFilteredText + '¢Â' + '¢Ã';

	return strFilteredText;
}

function TrimString(strText)
{
	var strTrim;
	
	strTrim = strText
	
	//left trim
	while(strTrim.indexOf(" ") == 0 && strTrim.length > 0)
		strTrim = strTrim.substr(1, strTrim.length-1);

	//right trim
	while(strTrim.indexOf(" ", strTrim.length-1) == strTrim.length -1 && strTrim.length > 0)
		strTrim = strTrim.substr(0, strTrim.length-1);

	return strTrim;
}

function checkSearchString_SearchMain()
{
	var strCheckString = "";
	var strFilteredString = "";
	var objText,objSelect;
	var strErrorCase = "";
	var i;
	var intInxCnt;
	
	intInxCnt = parseInt(document.forms[1].InxCnt.value,10);	

	if (document.forms[1].SearchMethod.value == "KWRD")
	{
		for (i = 1; i<=intInxCnt ; i++)  
		{
			objText = document.getElementById("SearchTerm_" + i);
			//type01°ú type02¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇÏ±â À§Çá¿© 
			//objSelect = document.getElementById("MethodKey_" + i);
			if (CheckTextNull(objText.value) == true)
			{
				//°ýÈ£ °¹¼ö Ã¼Å© 20010802 È«¼ºÁø
				var arr1, arr2;
				arr1 = objText.value.match(/\(/g);
				arr2 = objText.value.match(/\)/g);
				if (arr1 != null && arr2 != null){
					if(arr1.length != arr2.length){
						strErrorCase += "() Error";
					}
				}
				else if(!(arr1 == null && arr2 == null)){
					strErrorCase += "() Error";
				}
				
				//ÀÎÁ¢¾î ÀÎÁö¸¦ È®ÀÎ : "·Î ½Î¿© ÀÖ´Â stringÀÌ¸é ÀÌ°É Á¦°ÅÇÏ°í checkÇÑ´Ù.
				strCheckString = checkAdjacency(objText.value).substr(2,checkAdjacency(objText.value).length - 2);

				//Æ¯¼ö¹®ÀÚÃ³¸® 
				if( checkAdjacency(objText.value).substr(0,2) == "1") 
					strCheckString=checkSearchString(document.forms[1].SearchMethod.value, strCheckString, true);
				else 
					strCheckString=checkSearchString(document.forms[1].SearchMethod.value, strCheckString, false);

				if(strCheckString.substr(0,2) == "0")
				{
					if (strErrorCase.length > 0) 
						strErrorCase = strErrorCase + " , ";
			
					//type01°ú type02¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇÏ±â À§Çá¿© 
					//strErrorCase =	strErrorCase + 
					//				"["+objSelect.options[objSelect.selectedIndex].text +
					//			  cntGubun + objText.value + "]" ;
					strErrorCase =	strErrorCase + "["+ objText.value + "]" ;
				}
			}
		}
		
		if (strErrorCase.length > 0 )
		{
			return false;
		}
	}

	//alert(strCheckString);
	return true;
}

/*
function checkSearchString_SearchMain()
{
	var strCheckString = "";
	var strFilteredString = "";
	var objText,objSelect;
	var strErrorCase = "";
	var i;
	var intInxCnt;
	
	intInxCnt = parseInt(document.forms[1].InxCnt.value,10);	

	if (document.forms[1].SearchMethod.value == "KWRD")
	{
		for (i = 1; i<=intInxCnt ; i++)  
		{
			objText = document.getElementById("SearchTerm_" + i);
			//type01°ú type02¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇÏ±â À§Çá¿© 
			//objSelect = document.getElementById("MethodKey_" + i);
			if (CheckTextNull(objText.value) == true)
			{
				//ÀÎÁ¢¾î ÀÎÁö¸¦ È®ÀÎ : "·Î ½Î¿© ÀÖ´Â stringÀÌ¸é ÀÌ°É Á¦°ÅÇÏ°í checkÇÑ´Ù.
				strCheckString = checkAdjacency(objText.value).substr(2,checkAdjacency(objText.value).length - 2);

				//Æ¯¼ö¹®ÀÚÃ³¸® 
				if( checkAdjacency(objText.value).substr(0,2) == "1") 
					strCheckString=checkSearchString(document.forms[1].SearchMethod.value, strCheckString, true);
				else 
					strCheckString=checkSearchString(document.forms[1].SearchMethod.value, strCheckString, false);

				if(strCheckString.substr(0,2) == "0")
				{
					if (strErrorCase.length > 0) 
						strErrorCase = strErrorCase + " , ";
			
					//type01°ú type02¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇÏ±â À§Çá¿© 
					//strErrorCase =	strErrorCase + 
					//				"["+objSelect.options[objSelect.selectedIndex].text +
					//			  cntGubun + objText.value + "]" ;
					strErrorCase =	strErrorCase + "["+ objText.value + "]" ;
				}
			}
		}
		
		if (strErrorCase.length > 0 )
		{
			return false;
		}
	}

	return true;
}
*/

function filterText_SearchMain(strText,strSearchMethod)
{
	var strFileteredText = "";
	var checkAdjacencyFlag = "";

	//ÀÎÁ¢¾î ÀÎÁö È®ÀÎ 
	strFilteredText = checkAdjacency(strText);
	checkAdjacencyFlag = strFilteredText.substr(0,2);

	//Æ¯¼ö ¹®ÀÚ Ã³¸®
	if (checkAdjacencyFlag == "1")
		strFilteredText = filterText(strFilteredText.substr(2,strFilteredText.length-2), strSearchMethod, "", true);
	else
		strFilteredText = filterText(strFilteredText.substr(2,strFilteredText.length-2), strSearchMethod, "", false);

	//ÀÎÁ¢¾î Ã³¸®
	if (checkAdjacencyFlag == "1")
		strFilteredText = handleAdjacency(strFilteredText);

	return strFilteredText;
}




// ²¿¸® °Ë»ö½Ã Äõ¸® ¾ò´Â ÇÔ¼ö
// Àü¹æÀÏÄ¡ÀÎ °æ¿ì Æ¯¼ö¹®ÀÚ Á¦°Å ÈÄ ¸®ÅÏ, Å°¿öµåÀÎ °æ¿ì Æ¯¼ö¹®ÀÚ¸¦ " "·Î º¯°æ ÈÄ ¸®ÅÏ
// strAdjacencyÀÌ "Y"ÀÌ¸é ÀÎÁ¢¾î Ã³¸®¸¦ ÇÑ´Ù. 
function filterText_TailSearch(strText,strSearchMethod, strAdjacency)
{
	// Å°¿öµåÀÎ °æ¿ì 
	if (strSearchMethod == "KEYW")
	{
		strSearchMethod = "KWRD";
		strReplaceCharacter = " ";
	}
	// Àü¹æÀÏÄ¡ÀÎ °æ¿ì
	else
		strReplaceCharacter = "";
	//Æ¯¼ö ¹®ÀÚ Ã³¸®
	if (strAdjacency == "Y")
		strFilteredText = filterText(strText, strSearchMethod, strReplaceCharacter,true);
	else
		strFilteredText = filterText(strText, strSearchMethod, strReplaceCharacter,false);
		
	if (strAdjacency == "Y")
		handleAdjacency(strFilteredText);
			
	return strFilteredText;
}

// ÇÑ ´Ü¾î °Ë»ö½Ã »ç¿ë
// false¸¦ ¸®ÅÏÇÏ¸é, 
function filterText_OneWordSearch(strText,strSearchMethod)
{
	var strFileteredText = "";
	var checkAdjacencyFlag = "";

	//ÀÎÁ¢¾î ÀÎÁö È®ÀÎ 
	strFilteredText = checkAdjacency(strText);
	checkAdjacencyFlag = strFilteredText.substr(0,2);

	//Æ¯¼ö ¹®ÀÚ Ã³¸®
	if (checkAdjacencyFlag == "1")
		strFilteredText = checkSearchString(strSearchMethod, strFilteredText.substr(2,strFilteredText.length-2), true);
	else 
		strFilteredText = checkSearchString(strSearchMethod, strFilteredText.substr(2,strFilteredText.length-2), false);
		
	//°Ë»ö ÁúÀÇ¾îÀÇ ¿¡·¯ 
	if (strFilteredText.substr(0,2) == "0")
		return "00002";
	//ÀÎÁ¢¾î Ã³¸®
	if (checkAdjacencyFlag == "1")
		strFilteredText = handleAdjacency(strFilteredText.substr(2,strFilteredText.length-2));
	else
		strFilteredText = strFilteredText.substr(2,strFilteredText.length-2);
		
	return strFilteredText;
}

function filterText_RDB(strText)
{
	var strFileteredText = "";

	//var re = /[()\[\]%?$]/g;	
	var re = /\'/g;	

	strFilteredText = strText.replace( re, "");
	//alert("exlcude== " + strFilteredText);

	return strFilteredText;
}


