
var WORD_SEPARATOR = ";";
var SENTENCE_SEPARATOR = "@";

var RFC_WORD_SEPARATOR = "$;$";


//body onload �Լ� - ȭ�鿡�� ��� �� ���� ��d�� �ؼ� ��� �� ��
function onLoadPage(){
	//alert('this default function before load');
}
//body ������ �ε� �Ŀ� ȣ�� �� �Լ�  - ȭ�鿡�� ��� �� ���� ��d�� �ؼ� ��� �� ��
function onAfterLoadPage(){
	alert('this default function after load');
}

function rotateAllCheckBox( currObj, checkBoxName ){
	var checkBoxObj = document.getElementsByName(checkBoxName);
	var currObjIsChecked = currObj.checked;
	for( i=0; i<checkBoxObj.length; i++){
		checkBoxObj[i].checked= currObjIsChecked;
	}
}

/********************************************
** move to src with param
*********************************************/
function moveToWithParam( hashMap, target, action ){
   	try{

	   	var keyArray = hashMap.keys();
	   	var objTag = "";
	   	var formTag = "";

	   	for(  i=0; i< keyArray.length; i++){
			objTag += "<input type='hidden' name='" + keyArray[i] + "' value='" + hashMap.get(keyArray[i] ) + "'>\n";
	    }
		formTag = "<form name='commonForm' method='post' "
	              + " action='" + action + "'"
	              + " target ='"+target+"'"
	              + " style='margin:0' >\n"
	              + objTag
	              + "</form>";

	    $('divCommonForm').innerHTML=formTag;
	    //alert($('divCommonForm').innerHTML );
	   	document.commonForm.submit();
	}catch( e ){
		alert( 'moveToWithParam:'+e );
	}
}

/********************************************
** move to src with param
*********************************************/
function moveToWithParamMultipart( hashMap, target, action ){
   	try{
	   	var keyArray = hashMap.keys();
	   	var objTag = "";
	   	var formTag = "";
	   	for(  i=0; i< keyArray.length; i++){
			objTag += "<input type='hidden' name='" + keyArray[i] + "' value='" + hashMap.get(keyArray[i] ) + "'>\n";
	    }
		formTag = "<form name='commonForm' method='post' "
	              + " action='" + action + "'"
	              + " target ='"+target+"'"
	              + " style='margin:0'  enctype='multipart/form-data'>\n"
	              + objTag
	              + "</form>";

	    $('divCommonForm').update(formTag);
	   	document.commonForm.submit();
	}catch( e ){
		alert( 'Object ����� PrototypeJS�� d�ǵ� Hash ������� Ȯ�� �ϼ��� ' );
	}
}



/********************************************
** move to src with Secui - case after Login
*********************************************/
function moveToWithParamSecui( hashMap, target, action ){
   	try{
	   	var keyArray = hashMap.keys();
	   	var objTag = "";
	   	var formTag = "";
	   	for(  i=0; i< keyArray.length; i++){
			objTag += "<input type='hidden' name='" + keyArray[i] + "' value='" + hashMap.get(keyArray[i] ) + "'>\n";
	    }
		formTag = "<form name='commonForm' method='post' "
	              + " action='" + action + "'"
	              + " target ='"+target+"'"
	              + " style='margin:0'  >\n"
	              + objTag
	              + "</form>";

	    $('divCommonForm').update(formTag);

	    SecuiSubmit(commonForm);
	}catch( e ){
		alert( 'Object ����� PrototypeJS�� d�ǵ� Hash ������� Ȯ�� �ϼ��� ' );
	}
}

/********************************************
** move to src with Secui - case Login
*********************************************/
function moveToWithParamSecuiEx( hashMap, target, action ){
   	try{
	   	var keyArray = hashMap.keys();
	   	var objTag = "";
	   	var formTag = "";
	   	for(  i=0; i< keyArray.length; i++){
			objTag += "<input type='hidden' name='" + keyArray[i] + "' value='" + hashMap.get(keyArray[i] ) + "'>\n";
	    }
		formTag = "<form name='commonForm' method='post' "
	              + " action='" + action + "'"
	              + " target ='"+target+"'"
	              + " style='margin:0'  >\n"
	              + objTag
	              + "</form>";

	    $('divCommonForm').update(formTag);

	    SecuiSubmitEx(commonForm);
	}catch( e ){
		alert( 'Object ����� PrototypeJS�� d�ǵ� Hash ������� Ȯ�� �ϼ��� ' );
	}
}

function moveToWithParam2( hashMap, target, action ){
   	try{
	   	var keyArray = hashMap.keys();
	   	var objTag = "";
	   	var formTag = "";
	   	for(  i=0; i< keyArray.length; i++){
			objTag += "<input type='hidden' name='" + keyArray[i] + "' value='" + hashMap.get(keyArray[i] ) + "'>\n";
	    }
		formTag = "<form name='commonForm' method='post' "
	              + " action='" + action + "'"
	              + " target ='"+target+"'"
	              + "  enctype='multipart/form-data'"
	              + " style='margin:0'>\n"
	              + objTag
	              + "</form>";

	    $('divCommonForm').update(formTag);
	   	document.commonForm.submit();
	}catch( e ){
		alert( 'Object ����� PrototypeJS�� d�ǵ� Hash ������� Ȯ�� �ϼ��� ' );
	}
}

/********************************************
** ����˾� ȣ�� �����Լ�
*********************************************/
function fncCommonModalPopup(pUrl, pInputArray, pWidth, pHeight, pTop, pLeft) {

	//pUrl  = escape( pUrl );

	var  features  = "unadorned:yes; dialogWidth:" + pWidth + "px;dialogHeight:" + pHeight + "px; center:yes; help:no; status:no; scroll:yes; resizable:yes";

	if(pTop != null) {
		features  += "dialogTop:" + pTop + "px;";
	}

	if( pLeft != null ) {
		features  += "dialogLeft:" + pLeft + "px;";
	}

	var outputArray = showModalDialog( pUrl, self, features );

	return outputArray;
}

/********************************************
** �˾� ȣ�� �����Լ�
*********************************************/
function fncCommonPopup( pUrl, pWinName, pWidth, pHeight, pTop, pLeft, scrollbarsYN ) {

	var features  = "";

	if ( pTop == null || pTop == '' ) {
		pTop  = fncPopupWinCenterPosi( pWidth, pHeight, "R" );
	}
	if ( pLeft == null || pLeft == '' ) {
		pLeft  = fncPopupWinCenterPosi( pWidth, pHeight, "L" );
	}
	if ( pWinName == null || pWinName == '' ) {
		pWinName  = "codePopup";
	}
	if ( scrollbarsYN == null || scrollbarsYN == '' ) {
		scrollbarsYN  = "N";
	}

	features  = features + "width=" + pWidth + "px, height=" + pHeight + "px, top=" + pTop + "px, left=" + pLeft + "px, ";
	features  = features + "resizeable=no, status=yes, scrollbars="+scrollbarsYN;

	var win  = window.open( pUrl, pWinName, features );
}

/********************************************
** �˾� ȣ�� �����Լ�
*********************************************/
function fncCommonPopupStatus( pUrl, pWinName, pWidth, pHeight, pTop, pLeft, scrollbarsYN ) {

	var features  = "";

	if ( pTop == null || pTop == '' ) {
		pTop  = fncPopupWinCenterPosi( pWidth, pHeight, "R" );
	}
	if ( pLeft == null || pLeft == '' ) {
		pLeft  = fncPopupWinCenterPosi( pWidth, pHeight, "L" );
	}
	if ( pWinName == null || pWinName == '' ) {
		pWinName  = "codePopup";
	}
	if ( scrollbarsYN == null || scrollbarsYN == '' ) {
		scrollbarsYN  = "N";
	}

	features  = features + "width=" + pWidth + "px, height=" + pHeight + "px, top=" + pTop + "px, left=" + pLeft + "px, ";
	features  = features + "resizeable=no, status=yes, scrollbars="+scrollbarsYN;

	var win  = window.open( pUrl, pWinName, features );
}

/********************************************
** �˾� ȣ�� �����Լ�
*********************************************/
function fncCommonSimplePopup( pUrl, pWidth, pHeight ) {
	fncCommonPopup( pUrl, "commonPopUp", pWidth, pHeight, "", "", "N" );
}


/********************************************
** �˾�)������ �ػ� ��� 'ġ �˾Ƴ���
*********************************************/
function fncPopupWinCenterPosi( intWidth, intHeight, strType ){
	var bWidth  = screen.width;
	var bHeight  = screen.height;
	var pLeft  = ( bWidth / 2 ) - ( intWidth / 2 );
	var pTop  = ( bHeight / 2 ) - ( intHeight / 2 ) - 30;

	if( strType == "L" ){
		return pLeft;
	}else{
		return pTop;
	}
}


function rowMouseOutChangeStyle(idxName){
	try{
		$(idxName).setStyle({
			backgroundColor:'#ffffff'
			,color: '#555555'
		});
	}catch( e ){

	}
}



function rowMouseOverChangeStyle(idxName){
	try{
		$(idxName).setStyle({
			backgroundColor:'#dee8f6'
			,color: '#555555'
		});
	}catch( e ){

	}
}

/********************************************
** üũ�ڽ� ��ü üũ�ϱ�
*********************************************/
function checkAll(name){
	var chckBox=document.getElementsByName(name);
	reflectValue = chckBox[0].checked;
	for ( i=1; i< chckBox.length ; i ++){
		chckBox[i].checked= reflectValue;
		//writableMode1( document.myform.MONITOR_NM, i,reflectValue );
		//writableMode1( document.myform.MONITOR_SEQ, i,reflectValue );
		//writableMode1( document.myform.RELOAD_PERIOD, i,reflectValue );
		//writableMode1( document.myform.PAGE_MOVE_PRIOD, i,reflectValue );
		//writableMode1( document.myform.USE_YN, i,reflectValue );
		//chckBox[i].checked = reflectValue;
	}
}

/********************************************
** Tx �� ��ü ������ reload
*********************************************/
function reloadPage(formObj){
	formObj.target="_self";
	formObj.action="";
	formObj.submit();
}

/********************************************
** Code Type Validation Check - Alphabet only
*********************************************/
function chkCode(val){
	if(document.getElementById(""+val+"").value != "") {
		if(!isAlphabet(document.getElementById(""+val+"").value)) {
			alert("Input with Alphabet only.");
			document.getElementById(""+val+"").focus();
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}
}

/********************************************
** Code Type Validation Check - Number only
*********************************************/
function chkNumber(val){

	if(val != "") {
	if(!isNumber(val)) {
		alert("Input with Number only.");
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}
}

/********************************************
** Code Type Validation Check - Number only(alert�� ��d)
*********************************************/
function chkNumber_val(val){

	if(val != "") {
	if(!isNumber(val)) {
		alert("���ڸ� �Է��ϼ���.");
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}
}

/********************************************
** Date Type Validation Check - Date Format only
*********************************************/
function chkDate(val){
	if(document.getElementById(""+val+"").value != "") {
		if(!isValidDate(document.getElementById(""+val+"").value)) {
			alert("Invalid Date Format!.");
			document.getElementById(""+val+"").focus();
			return false;
		}else{
			return true;
		}
	}else{
		return true;
	}
}

/********************************************
** Time Type Validation Check - Time Format only
*********************************************/
function chkTime(val){

	if(document.getElementById(""+val+"").value != "" && document.getElementById(""+val+"").value.length=="4") {
		if(isNumber(document.getElementById(""+val+"").value)) {
			if(!isValidTime_val(document.getElementById(""+val+"").value)) {
				document.getElementById(""+val+"").focus();
				return false;
			}else{
				return true;
			}
		}else{
				alert("Input with Number only.");
				return false;
		}
	}else{
		if(document.getElementById(""+val+"").value == ""){
			return true;
		}else{
			alert("Input with Number only.");
			return false;
		}
	}
}

/********************************************
** Number Type Validation Check - Number Format only
*********************************************/
function isNumber(input){
		//alert('isNumberVal');
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}


/********************************************
** Number Type Validation Check - Time Format only
*********************************************/
function isValidTime_val(input){

	var val1=input.substring(0,2);
	var val2=input.substring(2,4);
	if(val1 < 24){

		if(val2 < 60){
			return true;
		}else{
			alert('Inout correct time please');
			return false;
		}
	}else{
		alert('Inout correct time please');
		return false;0
	}
}


/********************************************
** ���̺� �÷� ��ġ��
*********************************************/
/*
 *@param : tid - tbody ID
 *@param : scoln - ��ĥ ���� ��������Ʈ
 *@param : ecoln - ��ĥ ���� ��������Ʈ
 */
function fncCollapseColumn( tid, scoln, ecoln ) {

  var  t  = document.getElementById( tid );
  var  tr, rowc, atext, btext;

  if ( scoln == null ) {
    scoln  = 0;
  } else{
    scoln  = scoln -1;
  }
  if ( ecoln == null ) ecoln  = 1;

  for ( var cn = ecoln - 1; cn >= scoln; cn-- ) {
    rowc  = 1;
    tr  = -1;

    if ( t.rows.length > 0 ) {
      for ( var i = 0 ; i < t.rows.length ; i++ ) {
        if ( tr >= 0 ) {
          atext  = fncAllColumnText( t, tr, cn );
          btext  = fncAllColumnText( t, i, cn );
        }
        if ( tr >= 0 && atext == btext ) {
          t.rows(i).deleteCell(cn);
          rowc++;
        } else {
          if ( tr >= 0 && rowc > 1 ) {
            if ( cn > scoln ) {
              t.rows(tr).cells(cn).rowSpan  = rowc;
            } else {
              t.rows(tr).cells(cn).rowSpan  = rowc;
              if ( scoln >=1 ) {
                for ( var j = cn -1 ; j >= 0 ; j-- ) {
                  for ( var k = i - rowc + 1 ; k < i ; k++ ) {
                    t.rows(k).deleteCell(j);
                  }
                  t.rows(tr).cells(j).rowSpan  = rowc;
                }
              }
            }
          }

          tr  = i;
          rowc  = 1;
        }
      }

      if ( tr >= 0 && rowc > 1 ) {
        if ( cn > scoln ) {
          t.rows(tr).cells(cn).rowSpan  = rowc;
        } else {
          t.rows(tr).cells(cn).rowSpan  = rowc;
          if ( scoln >=1 ) {
            for ( var j = cn -1 ; j >= 0 ; j-- ) {
              for ( var k = i - rowc + 1 ; k < i ; k++ ) {
                t.rows(k).deleteCell(j);
              }
              t.rows(tr).cells(j).rowSpan  = rowc;
            }
          }
        }
      }
    }
  }
}

/********************************************
** ���� �÷�����; '#;'�����ڷ� ��n�1�
*********************************************/
function fncAllColumnText( tt, row, col ) {
  try {
    var  allText  = "";
    for ( var i = 0 ; i <= col ; i++ ) {
      allText  += ( "#" + tt.rows(row).cells(i).innerText + "#;" );
    }
  } catch ( e ) {
    alert( "row=" + row + ",col=" + col + ",error=" + e.message );
  }

  return allText;
}

/********************************************
** ���̾� �ݱ�
*********************************************/
function layerClose(name){
	document.getElementById(name).style.display = "none";
}

/********************************************
** ���̾� ����
*********************************************/
function layerView(name){

	document.getElementById(name).style.display = "block";
}

/********************************************
** Ŭ���� 'ġ �˾ƿ1�
*********************************************/
var mPosiX = 0;
var mPosiY = 0;

function moveElementPosition(layerId, leftMovePositionSize, rightMovePositionSize ){

	if( isRightVer('MS') ){
		GMessageLayerPosX = mPosiX + document.body.scrollLeft + document.documentElement.scrollLeft;
		GMessageLayerPosY = mPosiY + document.body.scrollTop + document.documentElement.scrollTop;
	}else {
		GMessageLayerPosX = mPosiX + document.body.scrollLeft;
		GMessageLayerPosY = mPosiY + document.body.scrollTop;
	}

	//alert(document.getElementById(layerId).style.left+"::::"+document.getElementById(layerId).style.top);
	document.getElementById(layerId).style.left = ( GMessageLayerPosX + leftMovePositionSize )+'px';
	document.getElementById(layerId).style.top = ( GMessageLayerPosY + rightMovePositionSize )+'px';
	document.getElementById(layerId).style.display="block";

	//alert(document.getElementById(layerId).style.left+"::::"+document.getElementById(layerId).style.top);

}

function isRightVer(type){
	retType= getBrowserType();
	if( type == retType ){
		return true;
	}else{
		return false;
	}
}

function getBrowserType(){
	var browserType = navigator.userAgent;

	if ( browserType.indexOf( 'MSIE' ) >= 0 ) {
 			return "MS";
	}
	else if (browserType.indexOf( 'Firefox' )>= 0 ) {
		return "FOX";
	}
	else if (browserType.indexOf( 'Safari' )>= 0 ) {
		return "SF";
	}
	else {
		return "UD";
	}
}

/********************************************
** ���̺� �÷� ��ġ��
*********************************************/
/*
 *@param : tid - tbody ID
 *@param : scoln - ��ĥ ���� ��������Ʈ
 *@param : ecoln - ��ĥ ���� ��������Ʈ
 */
function fncCollapseColumn( tid, scoln, ecoln ) {

  var  t  = document.getElementById( tid );
  var  tr, rowc, atext, btext;

  if ( scoln == null ) {
    scoln  = 0;
  } else{
    scoln  = scoln -1;
  }
  if ( ecoln == null ) ecoln  = 1;

  for ( var cn = ecoln - 1; cn >= scoln; cn-- ) {
    rowc  = 1;
    tr  = -1;

    if ( t.rows.length > 0 ) {
      for ( var i = 0 ; i < t.rows.length ; i++ ) {
        if ( tr >= 0 ) {
          atext  = fncAllColumnText( t, tr, cn );
          btext  = fncAllColumnText( t, i, cn );
        }
        if ( tr >= 0 && atext == btext ) {
          t.rows(i).deleteCell(cn);
          rowc++;
        } else {
          if ( tr >= 0 && rowc > 1 ) {
            if ( cn > scoln ) {
              t.rows(tr).cells(cn).rowSpan  = rowc;
            } else {
              t.rows(tr).cells(cn).rowSpan  = rowc;
              if ( scoln >=1 ) {
                for ( var j = cn -1 ; j >= 0 ; j-- ) {
                  for ( var k = i - rowc + 1 ; k < i ; k++ ) {
                    t.rows(k).deleteCell(j);
                  }
                  t.rows(tr).cells(j).rowSpan  = rowc;
                }
              }
            }
          }

          tr  = i;
          rowc  = 1;
        }
      }

      if ( tr >= 0 && rowc > 1 ) {
        if ( cn > scoln ) {
          t.rows(tr).cells(cn).rowSpan  = rowc;
        } else {
          t.rows(tr).cells(cn).rowSpan  = rowc;
          if ( scoln >=1 ) {
            for ( var j = cn -1 ; j >= 0 ; j-- ) {
              for ( var k = i - rowc + 1 ; k < i ; k++ ) {
                t.rows(k).deleteCell(j);
              }
              t.rows(tr).cells(j).rowSpan  = rowc;
            }
          }
        }
      }
    }
  }
}

/********************************************
** ���� �÷�����; '#;'�����ڷ� ��n�1�
*********************************************/
function fncAllColumnText( tt, row, col ) {
  try {
    var  allText  = "";
    for ( var i = 0 ; i <= col ; i++ ) {
      allText  += ( "#" + tt.rows(row).cells(i).innerText + "#;" );
    }
  } catch ( e ) {
    alert( "row=" + row + ",col=" + col + ",error=" + e.message );
  }

  return allText;
}




function showImg( formAction, fileName, X, Y ){
 	var scrollYN = "auto";
 	var positionX = "";
 	var positionY = "";
 	var pUrl = "";

	popPage( fileName, formAction, X, Y, positionX, positionY, scrollYN );
}

function showImg2( formAction, fileName, X, Y ){
	var scrollYN = "yes";
	var positionX = "";
	var positionY = "";
	var pUrl = "";

	popPage( fileName, formAction, X, Y, positionX, positionY, scrollYN );
}



function popPage( fileName, formAction, X, Y, positionX, positionY, scrollYN ){

 	var pUrl = "";
 	fncCommonPopup(pUrl, "commonPopUp", X, Y, positionX, positionY, scrollYN);

	var obj = {
			 File: fileName
		   };
	var paramHash = $H(obj);
	var formTarget="commonPopUp";

	//3. submit ó���Ѵ�.
	moveToWithParam(  paramHash, formTarget, formAction );
}


