﻿//새창을 띄웁니다.
function fopen_wnd(url, name) 
{ 
    var newwindow = window.open(url,name,'width=400,height=267'); 
    newwindow.focus();
} 

//에러 새창을 띄웁니다.
function fopen_errorwnd(url, name) 
{ 
    var newwindow = window.open(url,name,'width=500,height=150');
    newwindow.focus();
}  

//정보 새창을 띄웁니다.
function fopen_iinformwnd(url, name) 
{ 
    var newwindow = window.open(url,name,'width=500,height=150');
    newwindow.focus();
}  

//일반 새창을 띄웁니다.
function fopen_newwnd(url, name) 
{ 
    window.open(url,name,"width=800,height=600,resizable=1,status=1,titlebar=0,toolbar=0,scrollbars=1");
    //newwindow.focus();
}

//도움말 새창을 띄웁니다.
function fopn_help(pgm_pid)
{
    var popup_url   = '/system/sys_pgmhelp_view.aspx?view_type=P&pgm_pid='+pgm_pid;
    var wnd_name    = 'sys_helpgroup_list_select';
    fopen_newwnd(popup_url, wnd_name);
}
//에러 Modal 새창을 띄웁니다.
function fopen_errormodalwnd(url) 
{ 
    var location    = url;
    var name        = 'errorwnd';
    //var feature     = "top="+(event.clientY.toString())+",left="+(event.clientX.toString())+",width=800,height=600,resizable=0,status=0,titlebar=0,toolbar=0";
    
    var newwindow = window.open(location,name,'width=300,height=300,resizable=0,status=1,titlebar=0,toolbar=0');
    newwindow.focus();
    
    //window.showModelessDialog(url,window, 'dialogWidth:500px;dialogHeight:500px;status=no;scroll=no');
} 

//다운로드 새창을 띄웁니다.
function fopen_downloadwnd(url) 
{ 
   var feature     = "width=200,height=100,resizable=0,status=0,titlebar=0,toolbar=0";
    
   document.open(url, 'downloadwnd', feature);
}

//일반 새창을 지정 된 위치에 띄웁니다.
function fopen_positionwnd(targetId, targetname) 
{
    var location    = targetId;
    var name        = targetname;
    var feature     = "top="+(event.clientY.toString())+",left="+(event.clientX.toString())+",width=800,height=600,resizable=0,status=0,titlebar=0,toolbar=0";
    
    document.open(location, name, feature);
}

//달력창을 띄웁니다.
function fopen_calendar(targetId) 
{
    var location    = "/_controls/Calendar.aspx?target="+targetId;
    var name        = "CalendarWnd";
    var feature     = "top="+(event.screenY.toString())+",left="+(event.screenX.toString())+",width=250,height=180,resizable=0,status=0,titlebar=0,toolbar=0";
    
    document.open(location, name, feature);
}

//날짜값으로 달력창을 띄웁니다.
function fopen_newcalendar(targetId, targetValue) 
{
    var location    = "/_controls/NewCalendar.aspx?target="+targetId+"&targetValue="+targetValue;
    var name        = "NewCalendarWnd";    
    var feature     = "top="+(event.screenY.toString())+",left="+(event.screenX.toString())+",width=200, height=213, resizable=0,status=0, titlebar=0,toolbar=0";
    
    var new_wnd = document.open(location, name, feature);
    new_wnd.focus();
}

//SOA날짜값으로 달력창을 띄웁니다.
function fsoaopen_newcalendar(targetId, targetValue) 
{
    var location    = "/_controls/SOANewCalendar.aspx?target="+targetId+"&targetValue="+targetValue;
    var name        = "SOANewCalendarWnd";    
    var feature     = "top="+(event.screenY.toString())+",left="+(event.screenX.toString())+",width=200, height=213, resizable=0,status=0, titlebar=0,toolbar=0";
    
    var new_wnd = document.open(location, name, feature);
    new_wnd.focus();
}

//띄워진 일반 새창에서 부모창의 특정 컨트롤에 값을 넘겨줍니다. 
function fsend_opener(inputId, inputValue) 
{
    if (opener != null) {
        opener.fset_value(inputId, inputValue);
        close();
    } else {
        alert('No base page exists.');
    }
    close();
}

//띄워진 일반 새창에서 부모창을 새로고침 합니다.
function fopen_openerload(inputurl) 
{
    if (opener != null) {
        opener.location.href = inputurl;
        close();
    } else {
        alert('No base page exists.');
    }
    close();
}

//띄워진 일반 새창에서 부모창의 컨트롤을 강제클릭합니다.
function fclick_opener(controlId)
{
    if (opener != null) {
        var oControl = opener.document.getElementById(controlId);
        if (oControl != null) {
            oControl.click();
        }
    }
}

//질문창을 띄웁니다.
function fconfirm_openwnd(inputurl)
{
  if(confirm(inputurl)) 
  {
    return true;
  }

  return false;
}

//해당 컨트롤 아이디에 값을 전달합니다.
function fset_value(targetId, targetValue) 
{
    var target = document.getElementById(targetId);
    if (target != null)
    {
        target.value = targetValue;
    }
}

function fconfirm()
{
    window.Scroll(event.clientX, event.clientY);
}

//입력된 날짜가 정확한지 조사합니다.
function fcheck_date(obj)
{
    var input = obj.value.replace(/-/g,"");
    var inputYear = input.substr(0,4);
    var inputMonth = input.substr(4,2) - 1;
    var inputDate = input.substr(6,2);
    var resultDate = new Date(inputYear, inputMonth, inputDate);
    if (resultDate.getFullYear() != inputYear
        || resultDate.getMonth() != inputMonth
        || resultDate.getDate() != inputDate) {
        obj.value = "";
    }
    else
    {
        obj.value = inputYear + "-" + input.substr(4,2) + "-" + inputDate;
    }
}

// 다국어버튼 클릭시 대상버튼 자동클릭
function fclick_tablebutton(sender)
{
    sender.children[0].children[0].children[1].children[0].click();
}

// 대상개체 강제클릭 (다국어버튼에 사용)
function fclick_object(objectId)
{
    var click_object = document.getElementById(objectId);
    if (click_object != null)
    {
        click_object.click();
    }
}

function fsend_location(url) 
{
    if (opener != null) {
        window.location.href = "/login.aspx";
        close();
    } else {
        window.location.href = url;
    }
}

function fget_checked_values(elementName)
{
	var values = '';
	var checkboxList = document.getElementsByName(elementName);
	
	if (checkboxList != null)
	{
		for (var i = 0; i < checkboxList.length; i++)
		{
			if (checkboxList[i].checked) {
				if (values != '') values+='|';
				values += checkboxList[i].value;
			}
		}
	}
	
	return values;
}

/*
	내    용 : 문자열 앞뒤에있는 공백 제거
	파라미터 : pTargetString - 대상 문자열
	Return값 : 공백을 제거한 결과 문자열
*/
function fTrim(pTargetString)
{
	var vStartPoint = 0; // subString 하기 위한 시작 포인트
	var vEndPoint   = pTargetString.length; // subString 하기 위한 끝 포인트

	//문자열앞에 공백문자가 들어 있는 Index 추출
	while( (vStartPoint < vEndPoint) && (pTargetString.charCodeAt(vStartPoint) == 32) )
	{
		vStartPoint++;
	}

	//문자열뒤에 공백문자가 들어 있는 Index 추출
	while( (vStartPoint < vEndPoint) && (pTargetString.charCodeAt(vEndPoint-1) == 32) )
	{
		vEndPoint--;
	}
	// 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴
	return ((vStartPoint > 0) || (vEndPoint < pTargetString.length) ) ? pTargetString.substring(vStartPoint, vEndPoint) : pTargetString;
	//return pTargetString.replace(/(^\s*)|(\s*$)/ig, "");
}
