// File Name : common.js

function msgAlert(msg)
{
  alert(msg);
	//openMessageDialog(msg.replace(/[\n]/g, "<br />"));
}


function msgConfirm(msg)
{
  return confirm(msg);
//	return openMessageConfirm(msg);
}


function openMessageDialog(msg)
{
	openMessagesDialog(new Array(msg));
}

function openMessagesDialog(msgArray)
{
	var pos = "dialogWidth=350px;dialogHeight=220px;center:yes;status:no;help:no;edge:raised;scroll:no";
	var param = new Object();
	param.content = msgArray;
	showModalDialog("/common/html/modal_cont.html", param, pos);
}

function openMessageConfirm(msg)
{
	return openMessagesConfirm(new Array(msg));
}

function openMessagesConfirm(msgArray)
{
	var pos = "dialogWidth=350px;dialogHeight=220px;center:yes;status:no;help:no;edge:raised;scroll:no;";
	var param = new Object();
	param.content = msgArray;
	var returnArray = showModalDialog("/common/html/modal_confirm.html", param, pos);
	return (returnArray[0] == "send");
}

function loadJS(jsPath)
{
	var scripts = document.getElementsByTagName("script");
	if(scripts)
	{
		for(var i=0; i<scripts.length; i++)
		{
			if(scripts[i].src && scripts[i].src == jsPath)
			{
				return;
			}
		}
	}
	
	var njs = document.createElement("script");
  njs.type = "text/javascript";
  njs.src = jsPath;
    
  var head = document.getElementsByTagName("head");
  head[0].appendChild(njs);
}


/**
 * ±ÛÀÚÅ©±â cookie°ªÀ¸·Î ¼¼ÆÃ
 * @return void
 */
function  initFontSize()
{
  var size = 100;
  var cize = getCookie("UserFontSize");
  if(cize){
    try{
      size = parseInt(cize);
    }catch(e){
    }
  }
  $("#content").css("font-size", size + "%");
}

/**
 * ±ÛÀÚÅ©±âÁ¶Àý
 * @param div
 * @return void
 */
function resizeFontSize(div)
{
  var size = 100;
  var cize = getCookie("UserFontSize");
  if(cize){
    try{
      size = parseInt(cize);
    }catch(e){
    }
  }
  if(div == "+") size += 10;
  else if(div == "-") size -= 10;
  else size = 100;
  
  setCookie("UserFontSize", size, 3600, "/");
  $("#content").css("font-size", size + "%");
}



/**
 * ÅëÇÕ°Ë»ö
 * @return boolean
 */
function searchEngine() 
{
  msgAlert('°Ë»ö¼­ºñ½º´Â 3¿ù1ÀÏºÎÅÍ Á¦°ø¿¹Á¤ÀÔ´Ï´Ù.');
  return false;
  if($("form[name='searchEngForm'] input[name='qt']").val().length == 0) 
  {
    msgAlert('°Ë»ö¾î¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.');
    $("form[name='searchEngForm'] input[name='qt']").focus();
    return false;
  }
  return true;
}


////////////////////////////////// print start ////////////////////////////////////////////
function printPage()
{
  var printObj = document.getElementById("factory");
	if(printObj.printing != null){
		printObj.printing.header = "";			//¸Ó¸´¸» ¼³Á¤
		printObj.printing.footer = "&bÆäÀÌÁö &p/&P";			//²¿¸´¸» ¼³Á¤
		printObj.printing.portrait = true;		//Ãâ·Â¹æÇâ ¼³Á¤: true-°¡·Î, false-¼¼·Î
		printObj.printing.leftMargin = 1.0;		//¿ÞÂÊ ¿©¹é ¼³Á¤
		printObj.printing.topMargin = 15.0;		//À§ÂÊ ¿©¹é ¼³Á¤
		printObj.printing.rightMargin = 1.0;		//¿À¸¥ÂÊ ¿©¹é ¼³Á¤
		printObj.printing.bottomMargin = 1.0;		//¾Æ·¡ÂÊ ¿©¹é ¼³Á¤
		//    printObj.printing.printBackground = true;	//¹è°æÀÌ¹ÌÁö Ãâ·Â ¼³Á¤:¶óÀÌ¼¾½º ÇÊ¿ä
		printObj.printing.Print(true);			//Ãâ·ÂÇÏ±â
	}
}

function previewPrintPage()
{
  var printObj = document.getElementById("factory");
	if(printObj.printing != null){
		printObj.printing.header = "";			//¸Ó¸´¸» ¼³Á¤
		printObj.printing.footer = "&bÆäÀÌÁö &p/&P";			//²¿¸´¸» ¼³Á¤ &b&p/&P&b(ÆäÀÌÂ¡)
		printObj.printing.portrait = true;		//Ãâ·Â¹æÇâ ¼³Á¤: true-°¡·Î, false-¼¼·Î
		printObj.printing.leftMargin = 1.0;		//¿ÞÂÊ ¿©¹é ¼³Á¤
		printObj.printing.topMargin = 15.0;		//À§ÂÊ ¿©¹é ¼³Á¤
		printObj.printing.rightMargin = 1.0;		//¿À¸¥ÂÊ ¿©¹é ¼³Á¤
		printObj.printing.bottomMargin = 1.0;		//¾Æ·¡ÂÊ ¿©¹é ¼³Á¤
		printObj.printing.Preview();			//¹Ì¸®º¸±â
	}
}

function createPrintObject(srvHostAndPort)
{
  var htmlStr = "<object id='factory' viewastext style='display:none' ";
  htmlStr += "classid='clsid:1663ed61-23eb-11d2-b92f-008048fdd814' ";
  htmlStr += "codebase='http://"+srvHostAndPort+"/common/scriptx/ScriptX.cab#Version=6,1,432,1'>";
  htmlStr += "</object>";

  var bodyEl = document.getElementsByTagName("body")[0];
  bodyEl.innerHTML = bodyEl.innerHTML + htmlStr;
}
////////////////////////////////// print end ////////////////////////////////////////////


////////////////////////////////// cookie start ////////////////////////////////////////////
// Create a cookie with the specified name and value.
// The cookie expires at the end of the 20th century.
function setCookie (name, value) {  
	var argv = setCookie.arguments;  
	var argc = setCookie.arguments.length;
	var expires = new Date(); 
	if(argc > 2){
		expires.setTime(expires.getTime() + (argv[2] * 1000)); //ÃÊ´ÜÀ§
	}else{
		expires.setTime(expires.getTime() + (1*1*60*60*1000)); // 60ºÐ
	}
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}

// Retrieve the value of the cookie with the specified name.
function getCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

// Delete the cookie with the specified name.
function delCookie(sName)
{
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	// This cookie is history  
	var cval = getCookie (sName);  
	document.cookie = sName + "=" + cval + "; expires=" + exp.toGMTString();
}
////////////////////////////////// cookie end ////////////////////////////////////////////


////////////////////////////////// ajax start ////////////////////////////////////////////
function newXMLHttpRequest()
{
  var reqHttp;
  if(window.ActiveXObject) //IE 
  {
    try
    {
      reqHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        reqHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e1)
      {
        reqHttp = null;
      }
    }
  }
  else if(window.XMLHttpRequest) //Other
  {
    try
    {
      reqHttp = new XMLHttpRequest();
    }
    catch(e)
    {
      reqHttp = null;
    }
  }
  
  if(reqHttp == null) alert("ºê¶ó¿ìÀú°¡ XMLHttp¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.");
  return reqHttp;
}

function ajaxCall(getPost, url, syncTrueFalse, sendData, succFunction, errorFuncion)
{
  var xmlHttp = newXMLHttpRequest();
  xmlHttp.open(getPost, url, syncTrueFalse);
  xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState == 4)
    {
      if(xmlHttp.status == 200)
      {
        succFunction(xmlHttp);
      }
      else
      {
        errorFunction(xmlHttp);
      }
    }
  }
  
  var contType = "application/x-www-form-urlencoded;";
//  var contType = "application/x-www-form-urlencoded; charset=UTF-8";
  xmlHttp.setRequestHeader("Content-Type", contType);
  xmlHttp.send(sendData);
} 
////////////////////////////////// ajax end ////////////////////////////////////////////

////////////////////////////////// event start ////////////////////////////////////////////
//---------------------------------
// ÀÌº¥Æ®¸¦ ¹ß»ý½ÃÅ² Object¸¦ ¾ò´Â´Ù.
//---------------------------------
function getEventSource(event)
{
  var source = null;
  if (event.target)
  {
    source = event.target;
  }
  else if (event.srcElement)
  {
    source = event.srcElement;
  }
  if (source.nodeType == 3) // defeat Safari bug
  {
    source = source.parentNode;
  }
  return source;
}

//---------------------------------
// Object¿¡ ÀÌº¥Æ® ¸®½º³Ê¸¦ µî·ÏÇÑ´Ù.
//---------------------------------
function addObjectListener(object, eventType, callBackFunction, bubbleDirection)
{
  if(object.attachEvent) //IE
  {
    object.attachEvent("on" + eventType, callBackFunction);
  }
  else //Other
  {
    object.addEventListener(eventType, callBackFunction, bubbleDirection);
  }
}

//---------------------------------
// Object¿¡ µî·ÏµÈ ÀÌº¥Æ® ¸®½º³Ê¸¦ ÇØÁ¦ÇÑ´Ù.
//---------------------------------
function removeObjectListener(object, eventType, callBackFunction, bubbleDirection)
{
  if(object.detachEvent) //IE
  {
    object.detachEvent("on" + eventType, callBackFunction);
  }
  else //Other
  {
    object.removeEventListener(eventType, callBackFunction, bubbleDirection);
  }
}

//---------------------------------
// ÀÌº¥Æ® ¹öºíÀ» ÁßÁö½ÃÅ²´Ù.
//---------------------------------
function stopEventBubble(evt)
{
  if(window.event) //IE
  {
      window.event.cancelBubble = true;
  }
  else //Other
  {
      evt.stopPropagation();
  }
}
////////////////////////////////// event end ////////////////////////////////////////////


////////////////////////////////// paging start ////////////////////////////////////////////
function getPaging(linkStr, totalBlock, currBlock, rowPerPage, startPage, endPage, currPage, totalPage)
{
  var sb = "";
  if(totalBlock != 0)
  {
    var newLinkStr = linkStr;
    if(!/(&|&amp;)$/g.test(linkStr))
    {
      if(linkStr.indexOf("?") > -1){
        newLinkStr += "&amp;";
      } else{
        newLinkStr += "?";
      }
    }
  
    var prvPage = (currBlock != 1) ? "<img src=\"/img/bbs/bt_prev.gif\" alt=\"ÀÌÀüÀ¸·Î\" width=\"15\" height=\"14\" />" : null;
    var nxtPage = (currBlock != totalBlock) ? "<img src=\"/img/bbs/bt_next.gif\" alt=\"´ÙÀ½À¸·Î\" width=\"15\" height=\"14\" />" : null;
    if(prvPage != null)
    {
      sb += "<a ";
      sb += "href=\"" + newLinkStr + "page=1&amp;listnum=" + rowPerPage + "\" ";
      sb += "title=\"Ã³À½À¸·Î\" >";
      sb += "<img src=\"/img/bbs/bt_start.gif\" alt=\"Ã³À½À¸·Î\" width=\"15\" height=\"14\" />";
      sb += "</a>";
      
      sb += "<a ";
      sb += "href=\"" + newLinkStr + "page=" + (startPage - 1) + "&amp;listnum=" + rowPerPage + "\" ";
      sb += "title=\"ÀÌÀüÀ¸·Î\" ";
      sb += ">";
      sb += prvPage;
      sb += "</a>";
      
      sb += "¤Ó";
    }
    
    var pCount = 0;
    for(var i = startPage; i <= endPage; i++, pCount++)
    {
      if(pCount != 0) sb += "¤Ó";
      if(i == currPage)
      {
        sb += "<span class=\"active\">";
        sb += "<a ";
        sb += "href=\"" + newLinkStr + "page=" + i + "&amp;listnum=" + rowPerPage + "\" ";
        sb += "title=\"" + i + "ÆäÀÌÁö\" ";
        sb += ">";
        sb += i;
        sb += "</a>";
        sb += "</span>";
      }
      else
      {
        sb += "<a ";
        sb += "href=\"" + newLinkStr + "page=" + i + "&amp;listnum=" + rowPerPage + "\" ";
        sb += "title=\"" + i + "ÆäÀÌÁö\" ";
        sb += ">";
        sb += i;
        sb += "</a>";
      }
    }
    
    if(nxtPage != null)
    {
      sb += "¤Ó";
      
      sb += "<a ";
      sb += "href=\"" + newLinkStr + "page=" + (endPage + 1) + "&amp;listnum=" + rowPerPage + "\" ";
      sb += "title=\"´ÙÀ½À¸·Î\"";
      sb += ">";
      sb += nxtPage;
      sb += "</a>";
      
      sb += "<a ";
      sb += "href=\"" + newLinkStr + "page=" + totalPage + "&amp;listnum=" + rowPerPage + "\" ";
      sb += "title=\"³¡À¸·Î\" ";
      sb += ">";
      sb += "<img src=\"/img/bbs/bt_end.gif\" alt=\"³¡À¸·Î\" width=\"15\" height=\"14\" />";
      sb += "</a>";
    }
  }
  return sb; 
}

function getPagingForJS(method, totalBlock, currBlock, rowPerPage, startPage, endPage, currPage, totalPage)
{
  var sb = "";
  if(totalBlock != 0)
  {
    var isFirstArg = false;
    var methodPr = "";
    var methodSu = "";
    if(method.indexOf("(") > -1)
    {
      methodPr = method.substring(0, method.lastIndexOf(")"));
      methodSu = method.substring(method.lastIndexOf(")"));
      isFirstArg = !(methodPr.indexOf(",") > -1);
    }
    else
    {
      methodPr = method + "(";
      methodSu = ")";
      isFirstArg = true;
    }
    
    var prvPage = (currBlock != 1) ? "<img src=\"/img/bbs/bt_prev.gif\" alt=\"ÀÌÀüÀ¸·Î\" width=\"15\" height=\"14\" />" : null;
    var nxtPage = (currBlock != totalBlock) ? "<img src=\"/img/bbs/bt_next.gif\" alt=\"´ÙÀ½À¸·Î\" width=\"15\" height=\"14\" />" : null;
    if(prvPage != null)
    {
      sb += "<a ";
      sb += "href=\"#\" ";
      sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + 1 + ", " + rowPerPage + methodSu + "; return false;\" ";
      sb += "title=\"Ã³À½À¸·Î\" >";
      sb += "<img src=\"/img/bbs/bt_start.gif\" alt=\"Ã³À½À¸·Î\" width=\"15\" height=\"14\" />";
      sb += "</a>";
      
      sb += "<a ";
      sb += "href=\"#\" ";
      sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + (startPage - 1) + ", " + rowPerPage + methodSu + "; return false;\" ";
      sb += "title=\"ÀÌÀüÀ¸·Î\" ";
      sb += ">";
      sb += prvPage;
      sb += "</a>";
      
      sb += "¤Ó";
    }
    
    var pCount = 0;
    for(var i = startPage; i <= endPage; i++, pCount++)
    {
      if(pCount != 0) sb += "¤Ó";
      if(i == currPage)
      {
        sb += "<span class=\"active\">";
        sb += "<a ";
        sb += "href=\"#\" ";
        sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + i + ", " + rowPerPage + methodSu + "; return false;\" ";
        sb += "title=\"" + i + "ÆäÀÌÁö\" ";
        sb += ">";
        sb += i;
        sb += "</a>";
        sb += "</span>";
      }
      else
      {
        sb += "<a ";
        sb += "href=\"#\" ";
        sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + i + ", " + rowPerPage + methodSu + "; return false;\" ";
        sb += "title=\"" + i + "ÆäÀÌÁö\" ";
        sb += ">";
        sb += i;
        sb += "</a>";
      }
    }
    
    if(nxtPage != null)
    {
      sb += "¤Ó";
      
      sb += "<a ";
      sb += "href=\"#\" ";
      sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + (endPage + 1) + ", " + rowPerPage + methodSu + "; return false;\" ";
      sb += "title=\"´ÙÀ½À¸·Î\"";
      sb += ">";
      sb += nxtPage;
      sb += "</a>";
      
      sb += "<a ";
      sb += "href=\"#\" ";
      sb += "onclick=\"" + methodPr + (isFirstArg?"":",") + totalPage + ", " + rowPerPage + methodSu + "; return false;\" ";
      sb += "title=\"³¡À¸·Î\" ";
      sb += ">";
      sb += "<img src=\"/img/bbs/bt_end.gif\" alt=\"³¡À¸·Î\" width=\"15\" height=\"14\" />";
      sb += "</a>";
    }
  }
  return sb; 
}
////////////////////////////////// paging end ////////////////////////////////////////////


String.prototype.replaceAll = function(_findValue, _replaceValue)
{
 return this.replace(new RegExp(_findValue,"g"), _replaceValue);
};


String.prototype.trim = function()
{
    return this.replace(/(^ *)|( *$)/g, "");
};

String.prototype.ltrim = function()
{
    return this.replace(/(^ *)/g, "");
};

String.prototype.rtrim = function() 
{
    return this.replace(/( *$)/g, "");
};

