String.prototype.trim = trim;
function trim()
{
	var tmpStr = this;
	var atChar="";

	if(tmpStr.length > 0) atChar = tmpStr.charAt(0);
	while(isSpace(atChar)){
		tmpStr = tmpStr.substring(1, tmpStr.length);
		atChar = tmpStr.charAt(0);
	}

	if(tmpStr.length > 0) atChar = tmpStr.charAt(tmpStr.length-1);
	while(isSpace(atChar)) {
		tmpStr = tmpStr.substring(0,( tmpStr.length-1));
		atChar = tmpStr.charAt(tmpStr.length-1);
	}
	return tmpStr;
}

function isSpace(inChar)
{
  return (inChar == ' ' || inChar == '\t' || inChar == '\n');
}

function replaceString(strSource,strStr1,strStr2){
	strReplaceString = new String("");
	for (i=0;i<strSource.length;i++){
		if (i+strStr1.length > strSource.length){
				strReplaceString = strReplaceString + strSource.substring(i,strSource.length);
				return strReplaceString;
		}
		if (strSource.substring(i,i+strStr1.length) == strStr1){
				strReplaceString = strReplaceString + strStr2;
				i = i + strStr1.length-1;
		}else{
				strReplaceString = strReplaceString + strSource.substring(i,i+1);
		}
	}
	return strReplaceString;
}

function getElementList(preName,elementId)
{
	tempList=null;
	if(IE)
		tempList = document.all(preName + elementId);
	else
		tempList=document.getElementsByName(preName + elementId);

	return tempList;
}

function goToLinkPage(siteId,sectionId,containerName,containerType,sectionName,winType,linkType,contentId)
{
 	if(linkType == "I"){
		pagePath = 	sectionId + "_" + containerType + ".jsp?menuId=" + sectionId + "&contentId=" + contentId + "&isPublish=" + isPublish;
 	}else{
 		pagePath = sectionName;
 	}

	if(winType == "N")
		location.href= pagePath;
	else
		window.open(pagePath);
}

function getMarkImageDate(dayCount)
{
	d = new Date(currentDate.substring(0,4),currentDate.substring(4,6),currentDate.substring(6,8));
	t = d.getTime() - (dayCount*24*60*60*1000);
	d.setTime(t);
	yyyy = d.getFullYear();
	mm = d.getMonth();
	tDate = d.getDate();
	if(mm < 10)	mm = "0" + mm;
	if(tDate < 10)	tDate = "0" + tDate;
	return  yyyy+"" +mm+ "" + tDate;
}

function getLinkInfo(linkType,linkTarget,viewLink,emailLink,styleAtt,linkInnerText)
{
	tempA = "";
	tempHref="";
	if(linkType != "N"){
		if(linkType == "Y")	tempHrefLink = viewLink;	// content link
		else if(linkType == "A")	tempHrefLink = imagePathLink;	// image path link
		else	tempHrefLink = "mailto:" + emailLink;

		if(linkTarget.substr(0,6) == "script") {
			var _mm = linkTarget.length;
			tempA = "<a href=\"JavaScript:makewinopen('"+tempHrefLink+"','"+linkTarget.substr(7,_mm)+"')\"";
			if(styleAtt != "")
				tempA = tempA + styleAtt + ">";
			else
				tempA = tempA + ">";
			tempA = tempA + linkInnerText + "</a>";
		} else {
			tempA = "<a href=\"" + tempHrefLink + "\"";
			if(linkTarget != "noTarget")
				tempA = tempA + " target=\"" + linkTarget + "\"";
			if(styleAtt != "")
				tempA = tempA + styleAtt + ">";
			else
				tempA = tempA + ">";
			tempA = tempA + linkInnerText + "</a>";
		}
	}

	return tempA;
}

// if mark image is visible then return true;
function checkMarkImage(visibleRule,displayDate,visibleRuleValue,i)
{
	if(visibleRule == "D"){
		visibleRuleValue = getMarkImageDate(visibleRuleValue);
  		if(displayDate < visibleRuleValue)	return false;
  	}else if(visibleRule == "C"){
		if(i >= visibleRuleValue)	return false;
  	}else if(visibleRule == "I"){
		if(displayDate != visibleRuleValue)	return false;
  	}

	return true;
}

// viewLink and emailLink must be declared before this function will be called.
function makeImageTag(ele,isImageSize,width,height,border,align,linkType,linkTarget,src)
{
	try{
    	if(ele!=null){
    		eleChild = ele.firstChild;
    		if(eleChild != null){
    			if(isImageSize=="Y"){
    				if(width != "")	eleChild.width=width;
    				if(height != "")	eleChild.height=height;
    			}
    			if(border != "")	eleChild.border=border;
    			if(align != "")	eleChild.align=align;
    			if(src != null)	eleChild.src = src;
    		}

    		// set link information
    		if(emailLink==null)	emailLink="";
    		if(viewLink==null)	viewLink="";
    		temp = getLinkInfo(linkType,linkTarget,viewLink,emailLink,"",ele.innerHTML);
    		if(temp != "")	ele.innerHTML=temp;
    	}
    }catch(e){}
}

function makeMarkAttachFile(ele,linkType,linkTarget)
{
	if(ele!=null){
		sIndex = imagePathLink.lastIndexOf("/");
		if(sIndex > -1)
			ele.innerHTML = imagePathLink.substring(sIndex+1);
		else
			ele.innerHTML = imagePathLink;

		// set link information
		if(emailLink==null)	emailLink="";
		if(viewLink==null)	viewLink="";
		temp = getLinkInfo(linkType,linkTarget,viewLink,emailLink,"",ele.innerHTML);
		if(temp != "")	ele.innerHTML=temp;
	}
}

function setImageData(elementId,isImageSize,width,height,border,align,linkType,linkTarget)
{
	makeImageTag(document.getElementById(elementId),isImageSize,width,height,border,align,linkType,linkTarget);
}

function setImageListData(elementId,isImageSize,width,height,border,align,linkType,linkTarget)
{
	eleList = getElementList("",elementId);
	viewLinkList = getElementList("viewLink",elementId);
	emailLinkList = getElementList("emailLink",elementId);

	if(eleList ==  null)	return;

	if(eleList.length == null){
		if(viewLinkList != null)	viewLink = viewLinkList.getAttribute("value");
		else viewLink="";
		if(emailLinkList != null)	emailLink = emailLinkList.getAttribute("value");
		else emailLink="";
		makeImageTag(eleList,isImageSize,width,height,border,align,linkType,linkTarget);
	}else{
    	for(i=0;i<eleList.length;i++){
   			if((viewLinkList == null) || (viewLinkList.length == 0)) viewLink="";
   			else	viewLink = viewLinkList.item(i).getAttribute("value");
   			if((emailLinkList == null) || (emailLinkList.length == 0)) emailLink="";
   			else	emailLink = emailLinkList.item(i).getAttribute("value");
			makeImageTag(eleList.item(i),isImageSize,width,height,border,align,linkType,linkTarget);
    	}
    }
}

function setReplyImageListData(elementId,isImageSize,src,width,height,border,align,linkType,linkTarget)
{
	eleList = getElementList("",elementId);
	viewLinkList = getElementList("viewLink",elementId);
	emailLinkList = getElementList("emailLink",elementId);
	imagePathLinkList = getElementList("imagePath",elementId);
	if(eleList ==  null)	return;

	if(eleList.length == null){
		if(viewLinkList != null)	viewLink = viewLinkList.getAttribute("value");
		else viewLink="";
		if(emailLinkList != null)	emailLink = emailLinkList.getAttribute("value");
		else emailLink="";
		if(imagePathLinkList != null)	imagePathLink = imagePathLinkList.getAttribute("value");
		else imagePathLink="";
		makeImageTag(eleList,isImageSize,width,height,border,align,linkType,linkTarget,src);
	}else{
		for(i=0;i<eleList.length;i++){
   			if((viewLinkList == null) || (viewLinkList.length == 0)) viewLink="";
   			else	viewLink = viewLinkList.item(i).getAttribute("value");
   			if((emailLinkList == null) || (emailLinkList.length == 0)) emailLink="";
   			else	emailLink = emailLinkList.item(i).getAttribute("value");
   			if((imagePathLinkList == null) || (imagePathLinkList.length == 0)) imagePathLink="";
   			else	imagePathLink = imagePathLinkList.item(i).getAttribute("value");
			makeImageTag(eleList.item(i),isImageSize,width,height,border,align,linkType,linkTarget,src);
    	}
    }
}

function setMarkAttachFileListData(elementId,isImageSize,src,width,height,border,align,linkType,linkTarget,markAttachFileType)
{
	eleList = getElementList("",elementId);
	viewLinkList = getElementList("viewLink",elementId);
	emailLinkList = getElementList("emailLink",elementId);
	imagePathLinkList = getElementList("imagePath",elementId);
	if(eleList ==  null)	return;

	if(eleList.length == null){
		if(viewLinkList != null)	viewLink = viewLinkList.getAttribute("value");
		else viewLink="";
		if(emailLinkList != null)	emailLink = emailLinkList.getAttribute("value");
		else emailLink="";
		if(imagePathLinkList != null)	imagePathLink = imagePathLinkList.getAttribute("value");
		else imagePathLink="";
		if(markAttachFileType == "I")
			makeImageTag(eleList,isImageSize,width,height,border,align,linkType,linkTarget,src);
		else
			makeMarkAttachFile(eleList,linkType,linkTarget)
	}else{
		for(i=0;i<eleList.length;i++){
   			if((viewLinkList == null) || (viewLinkList.length == 0)) viewLink="";
   			else	viewLink = viewLinkList.item(i).getAttribute("value");
   			if((emailLinkList == null) || (emailLinkList.length == 0)) emailLink="";
   			else	emailLink = emailLinkList.item(i).getAttribute("value");
   			if((imagePathLinkList == null) || (imagePathLinkList.length == 0)) imagePathLink="";
   			else	imagePathLink = imagePathLinkList.item(i).getAttribute("value");
			if(markAttachFileType == "I")
				makeImageTag(eleList.item(i),isImageSize,width,height,border,align,linkType,linkTarget,src);
			else
				makeMarkAttachFile(eleList.item(i),linkType,linkTarget)
    	}
    }
}

function setMarkImageListData(elementId,isImageSize,src,width,height,border,align,linkType,linkTarget,visibleRule,visibleRuleValue)
{
	eleList = getElementList("",elementId);
	viewLinkList = getElementList("viewLink",elementId);
	emailLinkList = getElementList("emailLink",elementId);
	displayDateList = getElementList("displayDate",elementId);

	if(eleList ==  null)	return;

	if(eleList.length == null){
		displayDate = displayDateList.getAttribute("value");
		if(!checkMarkImage(visibleRule,displayDate,visibleRuleValue,0)){
			eleList.innerHTML="";
			return;
		}
		if(viewLinkList != null)	viewLink = viewLinkList.getAttribute("value");
		else viewLink="";
		if(emailLinkList != null)	emailLink = emailLinkList.getAttribute("value");
		else emailLink="";
		makeImageTag(eleList,isImageSize,width,height,border,align,linkType,linkTarget,src);
	}else{
		for(i=0;i<eleList.length;i++){
			ele=eleList.item(i);
        	if(ele!=null){
        		displayDate = displayDateList.item(i).getAttribute("value");
				if(!checkMarkImage(visibleRule,displayDate,visibleRuleValue,i)){
					ele.innerHTML="";
	   				continue;
				}

				if(viewLinkList != null)	viewLink = viewLinkList.item(i).getAttribute("value");
				else viewLink="";
				if(emailLinkList != null)	emailLink = emailLinkList.item(i).getAttribute("value");
				else emailLink="";
				makeImageTag(ele,isImageSize,width,height,border,align,linkType,linkTarget,src);
	        }
		}
	}
}

function setMarkImageData(elementId,isImageSize,src,width,height,border,align,linkType,linkTarget,visibleRule,visibleRuleValue)
{
	ele=document.getElementById(elementId);
	if(ele!=null){
		if(!checkMarkImage(visibleRule,displayDate,visibleRuleValue,0)){
			ele.innerHTML="";
			return;
		}
		makeImageTag(ele,isImageSize,width,height,border,align,linkType,linkTarget,src);
	}
}

function substringText(startCharPos,endCharPos,tValue,tailValue)
{
	if(tailValue==null)	tailValue="";

	if((startCharPos != -1) || (endCharPos != -1)){
		if((tValue.length >= endCharPos) && (tValue.length >=startCharPos)){
			if(endCharPos == -1){
				tValue=tValue.substring(startCharPos);
			}else if(startCharPos == -1){
				tValue=tValue.substring(0,endCharPos) + tailValue;
			}else{
				tValue=tValue.substring(startCharPos,endCharPos) + tailValue;
			}
		}
	}

	return tValue;
}

function getStyleAtt(fontFamily,fontColor,fontSize,fontBgColor,fontBold,fontItalic,fontUnder)
{
	tempStyleAtt = "";
	if(fontFamily != "")	tempStyleAtt = tempStyleAtt + "font-family:" + fontFamily + ";";
	if(fontColor != "")		tempStyleAtt = tempStyleAtt + "color:" + fontColor + ";";
	if(fontBgColor != "")	tempStyleAtt = tempStyleAtt + "background-color:" + fontBgColor + ";";
	if(fontSize != "")		tempStyleAtt = tempStyleAtt + "font-size:" + fontSize + ";";
	if(fontBold != "")		tempStyleAtt = tempStyleAtt + "font-weight:" + fontBold + ";";
	if(fontItalic != "")	tempStyleAtt = tempStyleAtt + "font-style:" + fontItalic + ";";
	if(fontUnder != "")		tempStyleAtt = tempStyleAtt + "text-decoration:" + fontUnder + ";";
	if(tempStyleAtt != "")	tempStyleAtt = " style=\"" + tempStyleAtt + "\"";

	return tempStyleAtt;
}

// viewLink and emailLink must be declared before this function will be called.
function makeTextTag(ele,startCharPos,endCharPos,styleAtt,linkType,linkTarget,tailValue)
{
	if(ele!=null){
		// substring
		if((startCharPos != "") && (endCharPos != "")){
			textValue = ele.innerText;
			ele.innerText = substringText(startCharPos,endCharPos,textValue,tailValue);
			/*eleChild=ele.firstChild;
			if(eleChild != null){
				textValue=eleChild.nodeValue;
				alert(eleChild.innerHTML);
				eleChild.nodeValue=substringText(startCharPos,endCharPos,textValue,tailValue);
			}*/
		}

		// set link information
		if(linkType != "N"){
			if(emailLink==null)	emailLink="";
			if(viewLink==null)	viewLink="";
			temp = getLinkInfo(linkType,linkTarget,viewLink,emailLink,styleAtt,ele.innerHTML);
			if(temp != "")	ele.innerHTML=temp;
		}else{
			if(styleAtt != "")
				ele.innerHTML="<span" + styleAtt + ">" + ele.innerHTML + "</span>";
		}
	}
}

function setTextData(elementId,startCharPos,endCharPos,fontFamily,fontColor,fontSize,fontBgColor,fontBold,fontItalic,fontUnder,linkType,linkTarget,tailValue)
{
	// create style statement
	styleAtt = getStyleAtt(fontFamily,fontColor,fontSize,fontBgColor,fontBold,fontItalic,fontUnder);

	makeTextTag(document.getElementById(elementId),startCharPos,endCharPos,styleAtt,linkType,linkTarget,tailValue);
}

function setTextListData(elementId,startCharPos,endCharPos,fontFamily,fontColor,fontSize,fontBgColor,fontBold,fontItalic,fontUnder,linkType,linkTarget,tailValue)
{
	eleList = getElementList("",elementId);
	viewLinkList = getElementList("viewLink",elementId);
	emailLinkList = getElementList("emailLink",elementId);

	if(eleList ==  null)	return;

	// create style statement
	styleAtt = getStyleAtt(fontFamily,fontColor,fontSize,fontBgColor,fontBold,fontItalic,fontUnder);

	if(eleList.length == null){
		if(viewLinkList != null){
			viewLink = viewLinkList.getAttribute("value");
			temp = viewLinkList.getAttribute("isLink");
   			if(temp != null)	// if current component is menu component
				linkType=temp;

			temp = viewLinkList.getAttribute("linkTarget");
			if(temp != null){	// if current component is menu component
				linkTarget = temp;
				if(linkTarget == "")	linkTarget = "noTarget";
			}
		}else{
			viewLink="";
		}
		if(emailLinkList != null)	emailLink = emailLinkList.getAttribute("value");
		else emailLink="";

		makeTextTag(eleList,startCharPos,endCharPos,styleAtt,linkType,linkTarget,tailValue);
	}else{
		for(i=0;i<eleList.length;i++){
   			if((viewLinkList == null) || (viewLinkList.length == 0)){
   				viewLink="";
   			}else{
   				viewLink = viewLinkList.item(i).getAttribute("value");

   				temp = viewLinkList.item(i).getAttribute("isLink");
   				if(temp != null)	// if current component is menu component
					linkType=temp;

				temp = viewLinkList.item(i).getAttribute("linkTarget");
				if(temp != null){	// if current component is menu component
					linkTarget = temp;
					if(linkTarget == "")	linkTarget = "noTarget";
				}
			}

   			if((emailLinkList == null) || (emailLinkList.length == 0)) emailLink="";
   			else	emailLink = emailLinkList.item(i).getAttribute("value");

			makeTextTag(eleList.item(i),startCharPos,endCharPos,styleAtt,linkType,linkTarget,tailValue);
    	}
    }
}

//////////////////////////////////// component event common script ///////////////////////////////////////////
var eventObject=null;
var eventForm=null;
function getEventData(event)
{
	try{
    	eventObject=null;
    	eventForm=null;
    	if(IE){
    		eventObject = event.srcElement;
    		eventForm = eventObject.form;
    	}else{
    		eventObject = event.target;
    		eventForm = eventObject.form;
    	}
    }catch(e){
		eventForm = document.getElementsByName(event);
		eventForm = eventForm[0];
	}
}

function checkFormObject()
{
   	for(i=0;i<eventForm.length;i++){
		required = eventForm[i].getAttribute("required");
		if(required == "Y"){
			value = eventForm[i].value.trim();
			if(value == ""){
				alert(eventForm[i].getAttribute("requiredStatement"));
				eventForm[i].focus();
				return false;
			}
		}

		// check
		writeType = eventForm[i].getAttribute("writeType");	// G(Only Text),H(Text and Html),S(Text,Html and Script)
		if(writeType == "") writeType = "G";
		if(writeType == "G"){
			value = eventForm[i].value.trim();
			value = value.toUpperCase();
			if(value.indexOf("<") > -1 || value.indexOf(">") > -1){
				alert(eventForm[i].getAttribute("writeTypeStatement"));
				eventForm[i].focus();
				return;
			}
		}else if(writeType == "H"){
			value = eventForm[i].value.trim();
			value = value.toUpperCase();
			if(value.indexOf("<SCRIPT") > -1 || value.indexOf("</SCRIPT") > -1 ){
				alert(eventForm[i].getAttribute("writeTypeStatement"));
				eventForm[i].focus();
				return;
			}
		}
	}
	return true;
}

function setFormObjectValue(formObject,objectValue)
{
	objectTagName = formObject.tagName;
	if(objectTagName == "SELECT"){
		for(j=0;j<formObject.options.length;j++){
			if(formObject.options[j].value == objectValue)
				formObject.options[j].selected=true;
		}
	}else{
		if(formObject.length){
			for(i=0;i<formObject.length;i++)
				setFormObjectValue(formObject[i],objectValue);
		}else{
			objectType = formObject.getAttribute("type");

			if((objectType == "checkbox") || (objectType == "radio")){
				if(formObject.value == objectValue)
					formObject.checked = true;
			}else{
				formObject.value = objectValue;
			}
		}
	}
	return true;
}

function makeSearchQuery()
{
	searchQuery = "";
	if(eventForm.searchWord != null){
    	searchWord = eventForm.searchWord.value.trim();
    	if(searchWord != ""){
           	for(i=0;i<eventForm.length;i++){
        		searchType = eventForm[i].getAttribute("searchType");
        		if(searchType == null)	searchType = "";
        		if(searchType != ""){
        			value = false;
        			if(eventForm[i].tagName == "INPUT"){
    	    			value = eventForm[i].checked;
    	    		}else if(eventForm[i].tagName == "SELECT"){
    	    			if(eventForm[i].getAttribute("selectType") == "S"){
    	    				searchType = eventForm[i].value;
    		    			value = true;
        				}
    	    		}
        			if(value){
        				if(searchQuery == "")
        					searchQuery = searchQuery + searchType + " like '%" + searchWord + "%'";
        				else
        					searchQuery = searchQuery + " or " + searchType + " like '%" + searchWord + "%'";
        			}
        		}
        	}
    	}
	}

	return searchQuery;
}

/////////////////////////////////// component 23,25,29,32 ///////////////////////////////////////////////////////
function commonReloadList(reloadType){
//	getEventData(event);

	currentPage = parseInt(eventForm.currentPage.value);
	startIndex = parseInt(eventForm.startIndex.value);
	endIndex = parseInt(eventForm.endIndex.value);
	indexCount = parseInt(eventForm.indexCount.value);
	totalPageCount = parseInt(eventForm.totalPageCount.value);

	switch(reloadType){
	case 'S' : // start
		if(currentPage == "1")	return;

		eventForm.currentPage.value="1";
		eventForm.startIndex.value="1";
		break;
	case 'P' : // previous
		if(currentPage == "1")	return;

		eventForm.currentPage.value=currentPage-1;
		if((startIndex == currentPage) && (startIndex != 1))
			eventForm.startIndex.value=startIndex-indexCount;
		break;
	case 'N' : // next
		if(currentPage == totalPageCount)	return;

		eventForm.currentPage.value=currentPage+1;
		if((endIndex == currentPage) && (endIndex != totalPageCount))
			eventForm.startIndex.value=startIndex+indexCount;
		break;
	case 'F' : // finish
		if(currentPage == totalPageCount)	return;

		eventForm.currentPage.value=totalPageCount;
		if(totalPageCount%indexCount == 0)
			eventForm.startIndex.value=(totalPageCount-indexCount)+1;
		else
			eventForm.startIndex.value=parseInt(totalPageCount/indexCount)*indexCount+1;

		break;
	case 'A' :	// previous index
		if(startIndex == "1")	return;

		eventForm.currentPage.value=startIndex-indexCount;
		eventForm.startIndex.value=startIndex-indexCount;
		break;
	case 'B' :	// next index
		if(endIndex == totalPageCount)	return;

		eventForm.currentPage.value=endIndex+1;
		eventForm.startIndex.value=endIndex+1;
		break;
	case 'R' :	// search
		if(!checkFormObject())	return;
		eventForm.currentPage.value="1";
		eventForm.startIndex.value="1";
		break;
	default	 : // index 1,2,3,4
		eventForm.currentPage.value=reloadType;
		break;
	}
	eventForm.searchQuery.value = makeSearchQuery();

	temp = location.href;
	n = temp.lastIndexOf("/");
	if(n>-1)	temp = temp.substring(n+1);
	n = temp.lastIndexOf("?");
	if(n>-1)	temp = temp.substring(0,n);

	eventForm.action = temp;
	eventForm.submit();
	event.returnValue=false;
}

function setSearchInfo(temp)
{
	eventForm = temp;

	if(eventForm.searchWord != null)
		eventForm.searchWord.value=eventForm.searchWordData.value;

	temp = eventForm.searchWhere.value;
	for(i=0;i<eventForm.length;i++){
		searchType = eventForm[i].getAttribute("searchType");
		if(searchType==null)	searchType= "";
		if(searchType != ""){
			tagName = eventForm[i].tagName;
			if(tagName == "INPUT"){
				if(temp.indexOf(searchType) > -1)
					eventForm[i].checked = true;
			}else if(tagName == "SELECT"){
				selectLen = eventForm[i].options.length;
				for(j=0;j<selectLen;j++){
					if(temp.indexOf(eventForm[i].childNodes.item(j).getAttribute("value")) > -1)
						eventForm[i].childNodes.item(j).selected=true;
				}
			}
		}
	}
}

function makewinopen(theUrl,option) {    
	window.open(theUrl, "", option);  
}

