12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\default_typedef.xml"/>
- <Form id="cp_multiCal" classname="cp_multiCal" inheritanceid="" position="absolute 0 0 312 20" titletext="Multi Calendar" onload="cp_multiCal_onload" scrollbars="none" style="background:transparent;">
- <Layouts>
- <Layout>
- <Calendar id="cal_to" taborder="1" autoselect="true" type="spin" dateformat="yyyy.MM.dd" position="absolute 130 0 222 20" value="null" editformat="yyyy.MM.dd" onkillfocus="cal_onkillfocus" onkeydown="fn_onkeydown" ontextchanged="calendar_ontextchanged"/>
- <Static id="Static00" style="align:center middle; " class="icon_today"/>
- <Calendar id="cal_from" taborder="0" autoselect="true" type="spin" dateformat="yyyy.MM.dd" position="absolute 18 0 110 20" value="null" editformat="yyyy.MM.dd" onkillfocus="cal_from_onkillfocus" onkeyup="cal_from_onkeyup" ontextchanged="calendar_ontextchanged" oneditclick="cal_from_oneditclick"/>
- <Div id="div_Base2" taborder="4" tabstop="false" style="background:white; " position="absolute 202 1 218 19"/>
- <Button id="btn_Cal" taborder="2" onclick="btn_Cal_to_onclick" class="btn_month" position="absolute 204 3 218 18"/>
- <Div id="div_Base1" taborder="3" tabstop="false" style="background:white;" position="absolute 89 1 107 19"/>
- <Button id="btn_Cal00" taborder="5" onclick="btn_Cal_from_onclick" class="btn_month" position="absolute 92 3 106 18"/>
- <Button id="btn_today" taborder="6" position="absolute 112 0 128 20" style="image:URL('theme://images/icon_n.png');background:transparent;border:0 solid #038cb5ff ;" onclick="btn_today_onclick"/>
- <Button id="btn_PreYear" taborder="7" onclick="btn_PreYear_onclick" class="icon_pre_year" position="absolute 1 2 17 18"/>
- <Button id="btn_NextYear" taborder="8" onclick="btn_NextYear_onclick" class="icon_next_year" position="absolute 224 2 240 18"/>
- <Combo id="cbo_Diff_Mon" taborder="9" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="cbo_Mon_onitemchanged" class="calendar_output" position="absolute 246 0 311 20">
- <Dataset id="innerdataset">
- <ColumnInfo>
- <Column id="codecolumn" size="256"/>
- <Column id="datacolumn" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="codecolumn">1</Col>
- <Col id="datacolumn">1개월</Col>
- </Row>
- <Row>
- <Col id="codecolumn">3</Col>
- <Col id="datacolumn">3개월</Col>
- </Row>
- <Row>
- <Col id="codecolumn">6</Col>
- <Col id="datacolumn">6개월</Col>
- </Row>
- <Row>
- <Col id="codecolumn">12</Col>
- <Col id="datacolumn">1년</Col>
- </Row>
- </Rows>
- </Dataset>
- </Combo>
- <PopupDiv id="pd_calendar" text="PopupDiv01" visible="false" position="absolute 116 43 315 263">
- <Layouts>
- <Layout>
- <Grid id="gd_calendar" class="grd_schdule_termFr" taborder="4" binddataset="ds_calendar" scrollbars="none" useinputpanel="false" selecttype="cell" autofittype="col" position="absolute 0 27 199 192" useselcolor="false" oncellclick="pd_calendar_gd_calendar_oncellclick" style="border:0 none #808080ff,0 none #808080ff,1 solid #8cc4d6ff,0 none #808080ff;" onmousemove="pd_calendar_gd_calendar_onmousemove" onmouseleave="pd_calendar_gd_calendar_onmouseleave">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="80"/>
- <Column size="80"/>
- <Column size="80"/>
- <Column size="80"/>
- <Column size="80"/>
- <Column size="80"/>
- <Column size="80"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="23"/>
- </Rows>
- <Band id="head">
- <Cell class="sun" text="expr:gridHeaderDay("일")"/>
- <Cell col="1" text="expr:gridHeaderDay("월")"/>
- <Cell col="2" text="expr:gridHeaderDay("화")"/>
- <Cell col="3" text="expr:gridHeaderDay("수")"/>
- <Cell col="4" text="expr:gridHeaderDay("목")"/>
- <Cell col="5" text="expr:gridHeaderDay("금")"/>
- <Cell col="6" class="sat" text="expr:gridHeaderDay("토")"/>
- </Band>
- <Band id="body">
- <Cell displaytype="normal" style="background:EXPR(gridTodayExpr(date0));background2:EXPR(gridTodayExpr(date0));color:EXPR(gridTodayFontColor(date0,"col0"));color2:EXPR(gridTodayFontColor(date0,"col0"));font:EXPR(gridTodayFontStyle(date0));" text="bind:day0"/>
- <Cell col="1" style="background:EXPR(gridTodayExpr(date1));background2:EXPR(gridTodayExpr(date1));color:EXPR(gridTodayFontColor(date1));color2:EXPR(gridTodayFontColor(date1));font:EXPR(gridTodayFontStyle(date1));" text="bind:day1"/>
- <Cell col="2" style="background:EXPR(gridTodayExpr(date2));background2:EXPR(gridTodayExpr(date2));color:EXPR(gridTodayFontColor(date2));color2:EXPR(gridTodayFontColor(date2));font:EXPR(gridTodayFontStyle(date2));" text="bind:day2"/>
- <Cell col="3" style="background:EXPR(gridTodayExpr(date3));background2:EXPR(gridTodayExpr(date3));color:EXPR(gridTodayFontColor(date3));color2:EXPR(gridTodayFontColor(date3));font:EXPR(gridTodayFontStyle(date3));" text="bind:day3"/>
- <Cell col="4" style="background:EXPR(gridTodayExpr(date4));background2:EXPR(gridTodayExpr(date4));color:EXPR(gridTodayFontColor(date4));color2:EXPR(gridTodayFontColor(date4));font:EXPR(gridTodayFontStyle(date4));" text="bind:day4"/>
- <Cell col="5" style="background:EXPR(gridTodayExpr(date5));background2:EXPR(gridTodayExpr(date5));color:EXPR(gridTodayFontColor(date5));color2:EXPR(gridTodayFontColor(date5));font:EXPR(gridTodayFontStyle(date5));" text="bind:day5"/>
- <Cell col="6" style="background:EXPR(gridTodayExpr(date6));background2:EXPR(gridTodayExpr(date6));color:EXPR(gridTodayFontColor(date6));color2:EXPR(gridTodayFontColor(date6));font:EXPR(gridTodayFontStyle(date6));" text="bind:day6"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Div id="dv_header" taborder="5" scrollbars="none" position="absolute 0 0 199 28" style="background:#45a0e1ff;border:2 double #3376b5ff #6bb9e9ff;" class="dv_calMonth">
- <Layouts>
- <Layout>
- <Static id="st_year" text="2012." class="st_calYear" position="absolute 40 2 106 22" style="background:transparent;border:1 none #808080ff ;color:#ffffffff;align:right middle;font:Dotum,9,bold;" _term="" onclick="pd_calendar_dv_header_st_year_onclick"/>
- <Button id="bt_previousMonth" taborder="16" class="icon_pre_month" position="absolute 22 3 40 21" _term="" _auth="" onclick="pd_calendar_dv_header_bt_previousMonth_onclick"/>
- <Button id="bt_nextMonth" taborder="17" class="icon_next_month" position="absolute 155 3 173 21" _term="" _auth="" onclick="pd_calendar_dv_header_bt_nextMonth_onclick"/>
- <Button id="bt_previousYear" taborder="18" class="icon_pre_year" position="absolute 2 3 20 21" _term="" _auth="" onclick="pd_calendar_dv_header_bt_previousYear_onclick"/>
- <Button id="bt_nextYear" taborder="19" class="icon_next_year" position="absolute 175 3 193 21" _term="" _auth="" onclick="pd_calendar_dv_header_bt_nextYear_onclick"/>
- <Static id="st_month" text="01" class="st_calMonth" position="absolute 106 2 154 22" style="background:transparent;border:1 none #808080ff ;color:#ffffffff;font:Dotum,9,bold;cursor:hand;" _term="" onclick="pd_calendar_dv_header_st_month_onclick"/>
- </Layout>
- </Layouts>
- </Div>
- <Combo id="cb_year" taborder="8" position="absolute 0 192 99 220" innerdataset="@ds_year" codecolumn="code" datacolumn="value" visible="false" onitemchanged="pd_calendar_cb_year_onitemchanged"/>
- <Combo id="cb_month" taborder="9" position="absolute 99 192 198 220" innerdataset="@ds_month" codecolumn="code" datacolumn="value" visible="false" onitemchanged="pd_calendar_cb_month_onitemchanged"/>
- </Layout>
- </Layouts>
- </PopupDiv>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_calendar" preload="true" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true">
- <ColumnInfo>
- <Column type="STRING" size="256" id="day0"/>
- <Column type="STRING" size="256" id="day1"/>
- <Column type="STRING" size="256" id="day2"/>
- <Column type="STRING" size="256" id="day3"/>
- <Column type="STRING" size="256" id="day4"/>
- <Column type="STRING" size="256" id="day5"/>
- <Column type="STRING" size="256" id="day6"/>
- <Column id="date0" type="STRING" size="256"/>
- <Column id="date1" type="STRING" size="256"/>
- <Column id="date2" type="STRING" size="256"/>
- <Column id="date3" type="STRING" size="256"/>
- <Column id="date4" type="STRING" size="256"/>
- <Column id="date5" type="STRING" size="256"/>
- <Column id="date6" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows/>
- </Dataset>
- <Dataset id="ds_month" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="code" type="STRING" size="256"/>
- <Column id="value" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="code">0</Col>
- <Col id="value">01</Col>
- </Row>
- <Row>
- <Col id="code">1</Col>
- <Col id="value">02</Col>
- </Row>
- <Row>
- <Col id="code">2</Col>
- <Col id="value">03</Col>
- </Row>
- <Row>
- <Col id="code">3</Col>
- <Col id="value">04</Col>
- </Row>
- <Row>
- <Col id="code">4</Col>
- <Col id="value">05</Col>
- </Row>
- <Row>
- <Col id="code">5</Col>
- <Col id="value">06</Col>
- </Row>
- <Row>
- <Col id="code">6</Col>
- <Col id="value">07</Col>
- </Row>
- <Row>
- <Col id="code">7</Col>
- <Col id="value">08</Col>
- </Row>
- <Row>
- <Col id="code">8</Col>
- <Col id="value">09</Col>
- </Row>
- <Row>
- <Col id="code">9</Col>
- <Col id="value">10</Col>
- </Row>
- <Row>
- <Col id="code">10</Col>
- <Col id="value">11</Col>
- </Row>
- <Row>
- <Col id="code">11</Col>
- <Col id="value">12</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_year" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="code" type="STRING" size="256"/>
- <Column id="value" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_holiday" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="date" type="DATE" size="256"/>
- <Column id="name" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="date">20120122</Col>
- <Col id="name">구정</Col>
- </Row>
- <Row>
- <Col id="date">20120123</Col>
- <Col id="name">구정</Col>
- </Row>
- <Row>
- <Col id="date">20120124</Col>
- <Col id="name">구정</Col>
- </Row>
- <Row>
- <Col id="date">20120528</Col>
- <Col id="name">석가탄신일</Col>
- </Row>
- <Row>
- <Col id="date">20120929</Col>
- <Col id="name">추석</Col>
- </Row>
- <Row>
- <Col id="date">20120930</Col>
- <Col id="name">추석</Col>
- </Row>
- <Row>
- <Col id="date">20121001</Col>
- <Col id="name">추석</Col>
- </Row>
- </Rows>
- </Dataset>
- </Objects>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KMTC
- * Job Name : Composite
- * File Name : cp_multiCal.xfdl
- * Creator :
- * Make Date :
- *
- * Description : Calendar Day Period Select Composite
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2013.01.18 TOBESOFT Initial Make Program
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- //=======================================================================================
- // Common Lib Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_utl.xjs"
- include "com_commonxp::comm_sys.xjs"
- //=======================================================================================
- // Global Form Variable
- //---------------------------------------------------------------------------------------
- var iv_aRtn = new Array(2);
- var iv_event;
- var iv_sDate;
- var iv_nLimit = 0;
- var iv_sTitle = "";
- var iv_Curr = "";
- var iv_bNotNull = true;
- var isChanged = false;
- var _isDisableValid = true; //날짜 길이 체크를 한것인지 여부
- var gLocale = "ko_KR";
- var gFunctionName; //값이 변경될때 호출할 함수명
- var yyyymm;
- var _diff_day;
- var _me_date;
- var _move_date;
- var arrHolList = new Array("0101","0301","0505","0606","0815","1003","1225");
- /****************************************************************************************
- * Description : Form Initialization
- * Argument : obj : Object Event has occurred
- * : e : Event Object
- * return :
- ****************************************************************************************/
- function cp_multiCal_onload(obj:Form, e:LoadEventInfo)
- {
- var nYear, nMonth;
- var startYear = 10;
- var midYear = 1;
-
- var objDate = new Date();
- iv_sDate = objDate.toFormatString("%Y%m%d");
- // cal_from.value = iv_sDate;
- // cal_to.value = iv_sDate;
- cbo_Diff_Mon.value = 12;
-
- ufn_addDateReq("today");
-
-
- _me_date = cal_from;
- yyyymm = iv_sDate.substr(0, 6);
- _diff_day = 31;
-
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
-
- //년도 콤보박스 작성
- nYear = parseInt(iv_sDate.substr(0,4));
- nMonth = pd_calendar.dv_header.st_month.text.substr(0, 2);
- for(i=0; i<=10; i++)
- {
- ds_year.addRow();
- ds_year.setColumn(i, "code", i);
- ds_year.setColumn(i, "value", nYear-startYear);
- startYear = startYear - 1;
- }
- for(i=11; i<=20; i++)
- {
- ds_year.addRow();
- ds_year.setColumn(i, "code", i);
- ds_year.setColumn(i, "value", nYear+midYear);
- midYear = midYear + 1;
- }
- //Combo로 해당년도 초기설정
- pd_calendar.cb_year.text = nYear;
- //Combo로 해당월 초기설정
- pd_calendar.cb_month.text = nMonth;
-
-
- }
- //=======================================================================================
- // Event
- //---------------------------------------------------------------------------------------
- function fn_onkeydown(obj, e)
- {
- if(e.keycode == 13)
- {
- var sCompNm = this.name;
- if(sCompNm.indexOf("_S") > -1)
- {
- trace("ufn_compositeEvent");
- ufn_compositeEvent("ufn_search","");
- }
- }
- }
- /****************************************************************************************
- * Components : Button
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Selected popup button
- ****************************************************************************************/
- function btn_Cal_onclick(obj:Button, e:ClickEventInfo)
- {
- if(cal_from.text == undefined){
- cal_from.value = iv_sDate;
- }
-
- if(cal_to.text == undefined){
- cal_to.value = iv_sDate;
- }
-
- var aArg = new Array(2);
-
- if(iv_bNotNull){
- aArg[0] = ufn_getDateToStr(cal_from.value);
- aArg[1] = ufn_getDateToStr(cal_to.value);
- }else{
- aArg[0] = cal_from.value;
- aArg[1] = cal_to.value;
- }
-
- var aRtn = ufn_Calendar(obj, "F", aArg);
- if(aRtn <> null)
- {
- cal_from.value = aRtn[0];
- cal_to.value = aRtn[1];
-
- if(!ufn_isNull(iv_event)) ufn_compositeEvent(iv_event,this.name);
-
- }
- }
- /****************************************************************************************
- * Components : Calendar
- * Event : onchange
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : When the date changes
- ****************************************************************************************/
- // function cal_from_onchanged(obj:Calendar, e:ChangeEventInfo)
- // {
- // if(ufn_isEmpty(cal_from.value) == true || ufn_isEmpty(cal_to.value) == true){
- // return false;
- // }
- //
- // if(obj.name == "cal_from"){
- // var sFromDate = ufn_getDateToStr(cal_from.value);
- // var sToDate = ufn_getDateToStr(cal_to.value);
- //
- // if(ufn_isDate(sToDate) == true && ufn_isDate(sToDate) == true){
- // var retVal = ufn_compareDate(sFromDate, sToDate);
- // if(retVal > 0){
- // alert("Select period incorrect.");
- // cal_from.value = "";
- // return false;
- // }
- // }else{
- // alert("The month format is not.");
- // cal_from.value = "";
- // return false;
- // }
- // }
- //
- // if(!ufn_isNull(iv_event)) ufn_compositeEvent(iv_event,this.name);
- // }
- /****************************************************************************************
- * Components : Calendar
- * Event : onchange
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : When the date changes
- ****************************************************************************************/
- // function cal_to_onchanged(obj:Calendar, e:ChangeEventInfo)
- // {
- // if(ufn_isEmpty(cal_from.value) == true || ufn_isEmpty(cal_to.value) == true){
- // return false;
- // }
- //
- // if(obj.name == "cal_to"){
- // var sFromDate = ufn_getDateToStr(cal_from.value);
- // var sToDate = ufn_getDateToStr(cal_to.value);
- //
- // if(ufn_isDate(sToDate) == true && ufn_isDate(sToDate) == true){
- // var retVal = ufn_compareDate(sFromDate, sToDate);
- // if(retVal > 0){
- // alert("Select period incorrect.");
- // cal_to.value = "";
- // return false;
- // }
- // }else{
- // alert("The month format is not.");
- // cal_to.value = "";
- // return false;
- // }
- // }
- //
- // if(!ufn_isNull(iv_event)) ufn_compositeEvent(iv_event,this.name);
- // }
- //=======================================================================================
- // User Function
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Description : 컴포지트 이벤트 호출 함수
- * Argument : sEventId - 호출할 이벤트 ID
- * sCompNm - 컴포지트명
- * @return N / A
- ****************************************************************************************/
- function ufn_compositeEvent(sEventId,sCompNm)
- {
- var lv_oFrame = this.getOwnerFrame();
-
- var lv_bInhForm = ufn_isNull(lv_oFrame.bInhForm) ? false : lv_oFrame.bInhForm;
- var lv_bMdiForm = ufn_isNull(lv_oFrame.bMdiForm) ? false : lv_oFrame.bMdiForm;
- var lv_bMdiPopForm = ufn_isNull(lv_oFrame.bMdiPopForm) ? false : lv_oFrame.bMdiPopForm;
-
- try{
- if(lv_bInhForm)
- {
- if(lv_bMdiForm == true || lv_bMdiPopForm == true)
- {
- if(ufn_isNull(sCompNm))
- {
- eval("this.getOwnerFrame().form.div_Layout.div_Work."+sEventId+"()");
- }
- else
- {
- eval("this.getOwnerFrame().form.div_Layout.div_Work."+sEventId+"('"+sCompNm+"')");
- }
- }
- else
- {
- if(ufn_isNull(sCompNm))
- {
- eval("this.getOwnerFrame().form."+sEventId+"()");
- }
- else
- { ;
- eval("this.getOwnerFrame().form."+sEventId+"('"+sCompNm+"')");
- }
- }
- }
- else
- {
- if(ufn_isNull(sCompNm))
- {
- eval(sEventId+"()");
- }
- else
- {
-
- eval(sEventId+"('"+sCompNm+"')");
- }
- }
- }catch(err){}
- }
- /****************************************************************************************
- * Description : Converted to a String Date Type
- * Argument : date date Type
- * return : yyyyMMdd
- ****************************************************************************************/
- function ufn_getDateToStr(date)
- {
- if(ufn_isNull(date)) return;
- var strYear = date.getYear().toString();
- var sMonth = (date.getMonth()+1).toString();
- var sDate = date.getDate().toString();
-
- if(strYear.length==2)
- strYear = '19'+strYear;
- else if(strYear.length==1)
- strYear = '190'+strYear;
-
- if(sMonth.length==1)
- sMonth = '0'+sMonth;
- if(sDate.length==1)
- sDate = '0'+sDate;
-
- return strYear+sMonth+sDate;
- }
- /****************************************************************************************
- * Description : 입력값이 null 또는 wihte space로만 이루어져 있으면 빈문자를 리턴하는 함수
- * Argument : sValue String
- * return : String
- ****************************************************************************************/
- function ufn_isEmpty(sValue)
- {
- if (new String(sValue).valueOf() == "undefined") return "";
- if (sValue == null) return "";
- var lv_sChkStr = new String(sValue);
- if (lv_sChkStr == null) return "";
- if (lv_sChkStr.toString().length == 0 ) return "";
- return sValue;
- }
- /****************************************************************************************
- * Description : 입력값이 null 또는 wihte space로만 이루어져 있는지 확인 하는 함수
- * Argument : value 입력값
- * return : boolean. null(혹은 white space) 여부
- ****************************************************************************************/
- function ufn_isNull(sValue)
- {
- if (new String(sValue).valueOf() == "undefined") return true;
- if (sValue == null) return true;
-
- var lv_sChkStr = new String(sValue);
- if (lv_sChkStr == null) return true;
- if (lv_sChkStr.toString().length == 0 ) return true;
- return false;
- }
- /****************************************************************************************
- * Description : Check the validity date.
- * Argument : sDate yyyyMM or yyyyMMdd, ex) "201205" or "20120506"
- * return : boolean
- ****************************************************************************************/
- function ufn_isDate(sDate)
- {
- var retVal;
- switch(sDate.length)
- {
- case 6://yyyyMM
- retVal = ufn_isYM(sDate);
- break;
- case 8://yyyyMMdd
- retVal = ufn_isYMD(sDate);
- break;
- default:
- retVal = false;
- break;
- }
- return retVal;
- }
- /****************************************************************************************
- * Description : Check the date format
- * Argument : sDate yyyyMMdd, ex) "20120506"
- * return : boolean
- ****************************************************************************************/
- function ufn_isYMD(sDate)
- {
- if (sDate.length != 8 || !isNumeric(sDate)) {
- return false;
- }
- var strYM = String(sDate).substr(0,6); // yyyyMM
- if (!ufn_isYM(strYM)) {
- return false;
- }
- var nDay = toNumber(String(sDate).substr(6,2)); // dd
- var nLastDay = toNumber(ufn_getLastDay(strYM));
- if (nDay < 1 || nDay > nLastDay) {
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Description : Check the date format
- * Argument : sDate yyyyMM, ex) "201205"
- * return : boolean
- ****************************************************************************************/
- function ufn_isYM(sDate)
- {
- if (sDate.length != 6 || !isNumeric(sDate)) {
- return false;
- }
- var nYear = toNumber(String(sDate).substr(0,4));
- var nMonth = toNumber(String(sDate).substr(4,2));
- if((nMonth < 1) || (nMonth > 12)) {
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Description : Compare the two dates.
- * Argument : sFormDate yyyyMMdd ex) "20120501"
- sToDate yyyyMMdd ex) "20120530"
- * @return
- * <p>1. The date is equal to two : return 0</p>
- * <p>2. sFormDate < sToDate : return -1</p>
- * <p>3. strFromDate > sToDate : return 1</p>
- * <p>4. Unless the date format : return null</p>
- ****************************************************************************************/
- function ufn_compareDate(sFormDate, sToDate)
- {
- var retVal;
- if (ufn_isDate(sFormDate) && ufn_isDate(sToDate)) {
- if (sFormDate == sToDate) {
- retVal = 0;
- } else if (sFormDate < sToDate) {
- retVal = -1;
- } else if (sFormDate > sToDate) {
- retVal = 1;
- }
- }
- return retVal;
- }
- /****************************************************************************************
- * Description : User Composite Get Data Method
- * Argument : none
- * return : none
- ****************************************************************************************/
- function getData()
- {
- iv_aRtn = new Array(2);
- if(iv_bNotNull){
- iv_aRtn[0] = ufn_getDateToStr(cal_from.value);
- iv_aRtn[1] = ufn_getDateToStr(cal_to.value);
- }else{
- iv_aRtn[0] = cal_from.value;
- iv_aRtn[1] = cal_to.value;
- }
- return iv_aRtn;
- }
- /****************************************************************************************
- * Description : User Composite Set Data Method
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setData(aData)
- {
- if((!ufn_isDate(aData[0])) || (!ufn_isDate(aData[1]))) return;
- ////trace(aData[0]+" "+aData[1]);
- cal_from.value = aData[0];
- cal_to.value = aData[1];
- }
- function setEmpty()
- {
- cal_from.value = "";
- cal_to.value = "";
- }
- function setIsNull()
- {
- iv_bNotNull = false;
- }
- /****************************************************************************************
- * Description : User Composite Set Blank Method
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setBlank()
- {
- cal_from.value = "";
- cal_to.value = "";
- }
- /****************************************************************************************
- * Description : User Composite Set cbo_Diff_Mon
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setDiffdt(aData)
- {
- if(ufn_isNull(aData)) return;
-
- cbo_Diff_Mon.value = aData;
-
- ufn_addDateReq("");
-
- }
- /****************************************************************************************
- * Description : When the user select a date set limits
- * Argument : 1. sTitle : Title
- * : 2. nLimit : number
- * : 3. sFlag :
- * return : none
- ****************************************************************************************/
- function setLimit(sTitle, nLimit, sFlag)
- {
- iv_sTitle = sTitle
- iv_nLimit = nLimit;
-
- if(ufn_isEmpty(sFlag)){
- iv_Curr = sFlag;
- }
- }
- /****************************************************************************************
- * Description : User composite set required
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setRequestment(bReq)
- {
- if(bReq)
- {
- cal_from.class = "input_essential";
- cal_to.class = "input_essential";
- }
- else
- {
- cal_from.class = "";
- cal_to.class = "";
- }
- }
- function setEnbale(bReq)
- {
- cal_from.enable = bReq;
- cal_to.enable = bReq;
- btn_Cal.enable = bReq;
-
- if(bReq)
- {
- div_Base1.style.background = "white";
- div_Base2.style.background = "white";
- }
- else
- {
- div_Base1.style.background = "#eeeeee";
- div_Base2.style.background = "#eeeeee";
- }
- }
- /****************************************************************************************
- * Description : User Composite Set Event Method
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setCallEvent(sEvent)
- {
- iv_event = sEvent;
- }
- /****************************************************************************************
- * Description : User Composite Set NullValue Method
- * Argument : none
- * return : none
- ****************************************************************************************/
- function setNullValue(sGbn)
- {
- if(sGbn == "F")
- {
- cal_from.value = null;
- }
- else if(sGbn == "T")
- {
- cal_to.value = null;
- }
- else if(sGbn == "A")
- {
- cal_from.value = null;
- cal_to.value = null;
- }
- }
- /****************************************************************************************
- * Description : Calendar option select
- * Argument : 1.oBtn : Button object
- * : 2.sGb : Date type
- * : 3.sDate : Selected date
- * : 4.sMenuId : Form ID
- * : 5.sType :
- * return : Selected date
- ****************************************************************************************/
- var iv_CalendarDateFg;
- var iv_CalendarValue;
- var iv_bCalendarNaviFq = true;
- function ufn_Calendar(oBtn,sGb,vDate,sMenuId,sType)
- {
- if(sMenuId == null) sMenuId = "";
- if(sType == null) sType = "";
-
- var sUrl;
- var sName;
- var objPdvCal = new PopupDiv();
-
- if(sGb == "F")
- {
- sName = "PopDiv_CalendarF";
- sUrl = "COMPOSITE::Comm_periodDayCalendar.xfdl";
- objPdvCal.init(sName, 0, 0, 410, 255);
- objPdvCal.text = sName;
- }
-
- // Add Object to Parent Form
- this.addChild(sName, objPdvCal);
-
- objPdvCal.style.border = "none";
- objPdvCal.style.background = "transparent";
- objPdvCal.style.opacity = 100;
- objPdvCal.url = sUrl;
-
- // Show Object
- objPdvCal.show();
-
- if((sGb == "W") || (sGb == "D")) objPdvCal.msDataFg = sGb;
- objPdvCal.iv_mvArgValue = vDate;
-
- objPdvCal.fn_CrCal();
-
- var nPosX = system.clientToScreenX(cal_from, cal_from.position.left);
- var nPosY = system.clientToScreenY(cal_from, cal_from.position.height);
- var rtn = objPdvCal.trackPopup(nPosX,nPosY);
-
- this.removeChild(sName);
- objPdvCal.destroy();
-
- return rtn;
- }
- function cal_onkillfocus(obj:Calendar, e:KillFocusEventInfo)
- {
- if(iv_bNotNull)
- {
- if(ufn_isNull(obj.value)) obj.setFocus();
- }
- }
- /****************************************************************************************
- * Description : Returns the last date
- * Argument : sDate yyyyMM, ex) "201205"
- * return : Last date(dd)
- ****************************************************************************************/
- function ufn_getLastDay(sDate)
- {
- var lv_sRetVal = "";
- if (sDate == null) {
- var date = (new Date()).addMonth(1);
- }
- else {
- var date = new Date(parseInt(String(sDate).substr(0,4)),parseInt(String(sDate).substr(4,2)),1);
- }
- date = (new Date(date)).addDate((new Date(date)).getDate()*-1);
- lv_sRetVal = (new Date(date)).getFullYear()
- + (((new Date(date)).getMonth() + 1) + "").padLeft(2, '0')
- + ((new Date(date)).getDate() + "").padLeft(2, '0');
- return (lv_sRetVal);
- }
- /********************************************************************************************************************
- *********************************************************************************************************************
- ********************************************************************************************************************/
- /****************************************************************************************
- * Description : Carlendar Popup on/off
- * Argument : oDate : object target
- sDateVal : object target value
- * return :
- ****************************************************************************************/
- function showCalendar( oDate, sDateVal ) {
- //trace(" showCalendar sDate : " + oDate + " sDateVal : " + sDateVal);
- // Close Popup
- pd_calendar.cb_year.visible = false;
- pd_calendar.cb_month.visible = false;
- pd_calendar.closePopup();
-
- // init value
- _me_date = oDate;
- _move_date = "";
-
- var sYYYYMM = "";
- if( !ufn_isNull(sDateVal) && sDateVal.length == 8 ) {
- //trace("1. sDateVal->" + sDateVal);
- sYYYYMM = sDateVal.substr(0, 6);
- } else if( !ufn_isNull(sDateVal) && sDateVal.length == 4 ) {
- //trace("2. sDateVal->" + sDateVal + " " + utlf_getCurrentDate());
- sYYYYMM = utlf_getCurrentDate().substr(0,4) + sDateVal.substr(0, 2)
- } else {
- //trace("3. utlf_getCurrentDate->" + utlf_getCurrentDate());
- sYYYYMM = utlf_getCurrentDate().substr(0,6);
- }
- //trace( "sYYYYMM->" + sYYYYMM );
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, sYYYYMM);
-
- // Calendar Popup view
- var nX = system.clientToScreenX(_me_date,0);
- var nY = system.clientToScreenY(_me_date,_me_date.position.height);
-
- pd_calendar.trackPopup(nX,nY);
- }
- /****************************************************************************************
- * Description : Calendar drow
- * Argument : ds_calendar_obj : dataset
- grid_obj : grid object
- yyyymm : yyyymm
- * return :
- ****************************************************************************************/
- function drawCalendar(ds_calendar_obj, grid_obj, yyyymm)
- {
- var day, row, iStartWeekNum, iLastDay;
- var yyyymm = yyyymm.substr(0 ,6);
-
- setCalendarHeaderPosition();
-
- grid_obj._yyyymm = yyyymm;
-
- // set year value
- if (gLocale == "ko_KR")
- pd_calendar.dv_header.st_year.text = yyyymm.substr(0, 4) + ".";
- else
- pd_calendar.dv_header.st_year.text = yyyymm.substr(0, 4);
-
- pd_calendar.cb_year.text = yyyymm.substr(0, 4);
-
- // set month value
- if (gLocale == "ko_KR")
- pd_calendar.dv_header.st_month.text = yyyymm.substr(4, 2);
- else if (gLocale == "en_US")
- pd_calendar.dv_header.st_month.text = yyyymm.substr(4, 2) + ".";
- else if (gLocale == "zh_CN")
- pd_calendar.dv_header.st_month.text = yyyymm.substr(4, 2) + "月";
- pd_calendar.cb_month.text = yyyymm.substr(4, 2);
-
- // Dataset create
- ds_calendar_obj.clearData();
- iStartWeekNum = getDayLocal(yyyymm+"01");
- iLastDay = lastDateNum(yyyymm+"01");
- iLastWeekNum = getDayLocal(yyyymm+iLastDay) + 1;
-
- //trace( "iStartWeekNum->" + iStartWeekNum + " iLastDay->" + iLastDay + " iLastWeekNum->" + iLastWeekNum );
-
-
- row = ds_calendar_obj.addRow();
-
- for( var i = 1, day = iStartWeekNum ; i <= iLastDay ; i++ )
- {
- // Calendar dats set
- ds_calendar_obj.setColumn(row, "day" +day , i);
- ds_calendar_obj.setColumn(row, "date"+day , yyyymm + String(i).padLeft(2, '0'));
- // Calendar Data Row Add
- day = (day+1)%7;
- if( day == 0 && i != iLastDay )
- row = ds_calendar_obj.addRow();
- }
-
- /****************************************************************************/
- //0.Fill the empty values
- if( ds_calendar_obj.rowcount > 0 ) {
-
- //1. Fill in pre month info an empty value in the first
- var sPrev_yyyymm = addMonth(yyyymm + "01", 0, -1).substr(0, 6);
- var iPrevDay = lastDateNum(sPrev_yyyymm + "01");
-
- for( var i=iStartWeekNum-1; i>=0; i-- ) {
-
- ds_calendar_obj.setColumn(0, "day" +i, iPrevDay);
- ds_calendar_obj.setColumn(0, "date"+i, sPrev_yyyymm + String( iPrevDay ).padLeft(2, '0'));
-
- iPrevDay--;
- }
-
- //2. Fill in next month info an empty value in the last
- var sNext_yyyymm = addMonth(yyyymm + "01", 0, 1).substr(0, 6);
- var iNextDay = 1;
-
- if( ds_calendar_obj.rowcount == 5 ) {
- for( var i=iLastWeekNum; i<=6; i++ ){
-
- ds_calendar_obj.setColumn(row, "day" +i, iNextDay);
- ds_calendar_obj.setColumn(row, "date"+i, sNext_yyyymm + String( iNextDay ).padLeft(2, '0'));
-
- iNextDay++;
- }
-
- //Make the sixth line
- row = ds_calendar_obj.addRow();
- iLastWeekNum = 0; //Fill the sixth line from the beginning.
- }
-
- //3. Fill in next month info an empty value in the last
- if( ds_calendar_obj.rowcount == 6 ) {
- for( var i=iLastWeekNum; i<=6; i++ ){
-
- ds_calendar_obj.setColumn(row, "day" +i, iNextDay);
- ds_calendar_obj.setColumn(row, "date"+i, sNext_yyyymm + String( iNextDay ).padLeft(2, '0'));
-
- iNextDay++;
- }
- }
- }
-
- }
- /****************************************************************************************
- * Description : Calender Header Posigion Set
- * Argument :
- * return :
- ****************************************************************************************/
- function setCalendarHeaderPosition() {
- // year
- var strYearLeft = 40;
- var strYearRight = 106;
- var strYearTop = 2;
- var strYearBottom = 22;
- // month
- var strMonthLeft = 106;
- var strMonthRight = 154;
- var strMonthTop = 2;
- var strMonthBottom = 22;
- if (gLocale != "ko_KR")
- {
- // year
- pd_calendar.dv_header.st_year.position.left = strMonthLeft - 9;
- pd_calendar.dv_header.st_year.position.right = strMonthRight;
- pd_calendar.dv_header.st_year.position.top = strMonthTop;
- pd_calendar.dv_header.st_year.position.bottom = strMonthBottom;
- pd_calendar.dv_header.st_year.style.align.halign = "left";
- // month
- pd_calendar.dv_header.st_month.position.left = strYearLeft;
- pd_calendar.dv_header.st_month.position.right = strYearRight - 9;
- pd_calendar.dv_header.st_month.position.top = strYearTop;
- pd_calendar.dv_header.st_month.position.bottom = strYearBottom;
- pd_calendar.dv_header.st_month.style.align.halign = "right";
- }
- }
- /****************************************************************************************
- * Components : btn_Cal_from
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function( showCalendar() )
- ****************************************************************************************/
- function btn_Cal_from_onclick(obj:Button, e:ClickEventInfo)
- {
- var sDateVal = ufn_getDateToStr(cal_from.value);
-
- sDateVal = ufn_isNull(sDateVal) ? "" : sDateVal.replace("-", "");
-
- showCalendar( cal_from, sDateVal );
-
- }
- /****************************************************************************************
- * Components : btn_Cal_to
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function( showCalendar() )
- ****************************************************************************************/
- function btn_Cal_to_onclick(obj:Button, e:ClickEventInfo)
- {
- var sFromVal = ufn_getDateToStr(cal_from.value);
- var sToVal = ufn_getDateToStr(cal_to.value);
-
- sFromVal = ufn_isNull(sFromVal) ? "" : sFromVal.replace("-", "");
- sToVal = ufn_isNull(sToVal) ? "" : sToVal.replace("-", "");
-
- //trace( sFromVal + ":" + sToVal );
-
- // check start date
- var sDateVal = "";
- if( sFromVal > sToVal )
- sDateVal = sFromVal;
- else if( !ufn_isNull(sFromVal) && ufn_isNull(sToVal) )
- sDateVal = sFromVal;
- else
- sDateVal = sToVal;
- //trace( "btn_Cal_to_onclick sDateVal -> " + sDateVal );
- showCalendar( cal_to, sDateVal );
- }
- /****************************************************************************************
- * Description : Local time, use the value returned by the code form the day of a Date object
- * Argument : sDate : date
- * return : 0(Sun) ~ 6(Sat)
- ****************************************************************************************/
- function getDayLocal(sDate)
- {
- if( ufn_isNull(sDate) ) return -1;
-
- var oDate = new Date(date2XP(sDate));
- return oDate.getDay();
- }
- /****************************************************************************************
- * Description : date set
- * Argument : sDate : date
- * return : yyyy-mm-dd hh:mm:ss
- ****************************************************************************************/
- function date2XP(sDate)
- {
- var ret;
-
- if( ufn_isNull(sDate) ) return "";
-
- if( sDate.length != 8 && sDate.length != 14 )
- return "";
- ret = sDate.substr(0, 4) + "-" + sDate.substr(4, 2)+ "-" + sDate.substr(6, 2);
- if( sDate.length > 8 )
- ret += " " + sDate.substr(8,2) + ":" + sDate.substr(10,2) + ":" + sDate.substr(12,2);
-
- return ret;
- }
- /****************************************************************************************
- * Description : month last day
- * Argument : sDate : date
- * return : last day
- ****************************************************************************************/
- function lastDateNum(sDate)
- {
- var nMonth, nLastDate;
- if( ufn_isNull(sDate) ) return -1;
-
- nMonth = parseInt(sDate.substr(4,2), 10);
- if( nMonth == 1 || nMonth == 3 || nMonth == 5 || nMonth == 7 || nMonth == 8 || nMonth == 10 || nMonth == 12 )
- nLastDate = 31;
- else if( nMonth == 2 )
- {
- if( isLeapYear(sDate) == true )
- nLastDate = 29;
- else
- nLastDate = 28;
- }
- else
- nLastDate = 30;
-
- return nLastDate;
- }
- /****************************************************************************************
- * Description : Leap check
- * Argument : sDate : date
- * return : true / false
- ****************************************************************************************/
- function isLeapYear(sDate)
- {
- var ret;
- var nY;
-
- if( ufn_isNull(sDate) ) return false;
-
- nY = parseInt(sDate.substring(0,4), 10);
- if ((nY % 4) == 0)
- {
- if ((nY % 100) != 0 || (nY % 400) == 0)
- ret = true;
- else
- ret = false;
- }
- else
- ret = false;
-
- return ret;
- }
- /****************************************************************************************
- * Description : month add
- * Argument : sDate : date
- mOffsetYear :
- nOffsetMonth :
- * return :
- ****************************************************************************************/
- function addMonth(sDate, nOffsetYear, nOffsetMonth)
- {
- if( ufn_isNull(sDate) || ufn_isNull(nOffsetYear) || ufn_isNull(nOffsetMonth)) return "";
-
- var nYear = parseInt(sDate.substr(0, 4))+nOffsetYear;
- var nMonth = parseInt(sDate.substr(4, 2))+nOffsetMonth;
- var nDate = parseInt(sDate.substr(6, 2));
- var nLastDate, sRet;
- sRet = makeDate(nYear, nMonth, 1);
- nLastDate = lastDateNum(sRet);
- sRet = sRet.substr(0,6);
- if( nDate > nLastDate )
- sRet += nLastDate.toString();
- else
- sRet += nDate.toString();
-
- return sRet;
- }
- /****************************************************************************************
- * Description : Date Set(YYYYMMDD)
- * Argument : nYear : year
- nMonth : month
- nDate : day
- * return : Date(YYYYMMDD)
- ****************************************************************************************/
- function makeDate(nYear, nMonth, nDate)
- {
- if( ufn_isNull(nYear) || ufn_isNull(nMonth) || ufn_isNull(nDate) ) return "";
-
- var objDate = new Date(nYear, nMonth-1, nDate);
- var sYear = objDate.getFullYear().toString();
- var sMonth = getStringRight("0" + (objDate.getMonth() + 1), 2);
- var sDate = getStringRight("0" + objDate.getDate(), 2);
- return sYear + sMonth + sDate;
- }
- /****************************************************************************************
- * Description : As specified on the right part of the string length return
- * Argument : strString : String
- nSize : substring index
- * return : String
- ****************************************************************************************/
- function getStringRight(strString, nSize)
- {
- var nStart = String(strString).length;
- var nEnd = Number(nStart) - Number(nSize);
- var rtnVal = strString.substring(nStart, nEnd);
- return rtnVal;
- }
- /****************************************************************************************
- * Description : Multilanguage Processing
- * Argument : sDate : date
- * return : language
- ****************************************************************************************/
- function gridHeaderDay(sDate)
- {
-
- switch (sDate) {
-
- case "일":
- if (gLocale == "zh_CN")
- sDate = "天";
- else if (gLocale == "en_US")
- sDate = "sun";
- break;
- case "월":
- if (gLocale == "zh_CN")
- sDate = "一";
- else if (gLocale == "en_US")
- sDate = "mon";
- break;
- case "화":
- if (gLocale == "zh_CN")
- sDate = "二";
- else if (gLocale == "en_US")
- sDate = "tue";
- break;
- case "수":
- if (gLocale == "zh_CN")
- sDate = "三";
- else if (gLocale == "en_US")
- sDate = "wed";
- break;
- case "목":
- if (gLocale == "zh_CN")
- sDate = "四";
- else if (gLocale == "en_US")
- sDate = "thu";
- break;
- case "금":
- if (gLocale == "zh_CN")
- sDate = "五";
- else if (gLocale == "en_US")
- sDate = "fri";
- break;
- case "토":
- if (gLocale == "zh_CN")
- sDate = "六";
- else if (gLocale == "en_US")
- sDate = "sat";
- break;
-
- }
-
- return sDate;
- }
- /****************************************************************************************
- * Description : Grid Calendar Cell Click
- * Argument : obj : Object Event has occurred
- * : e : Event Object
- * return :
- ****************************************************************************************/
- function pd_calendar_gd_calendar_oncellclick(obj:Grid, e:GridClickEventInfo)
- {
-
- var sSelectedDate = ds_calendar.getColumn( e.row, "date" + e.cell );
- //trace("************** sSelectedDate : "+sSelectedDate);
- //trace("************** isChanged : "+isChanged);
-
- _move_date = "";
- if (!ufn_isNull(sSelectedDate))
- {
- if (_me_date.mask == "####-##-##"){
- //trace(" _me_date mask == ####-##-## ");
- } else if (_me_date.mask == "##-##"){
- //trace(" _me_date mask == ##-## ");
- sSelectedDate = sSelectedDate.substr(4, 4);
- }
-
- if( _me_date.value.toFormatString("%Y%m%d") != sSelectedDate ) isChanged = true;
-
- //Paste the selected value
- _me_date.value = sSelectedDate;
-
- pd_calendar.gd_calendar._selecteddate = sSelectedDate;
-
- //trace("pd_calendar.gd_calendar._selecteddate : " + pd_calendar.gd_calendar._selecteddate);
- //trace(" _me_date : " + _me_date);
- checkFromToDate( _me_date );
- }
-
- //end process...close popup
- pd_calendar.cb_year.visible = false;
- pd_calendar.cb_month.visible = false;
- pd_calendar.closePopup();
- }
- /****************************************************************************************
- * Description : Check From - To Date
- * Argument : oDate : Date
- * : isShow : Show true/false
- * return :
- ****************************************************************************************/
- function checkFromToDate( oDate, isShow ) {
- var isCheck = true;
- if( ufn_isNull(isShow) ) {
- isShow = true;
- }
- //trace( "target_name:" + oDate.name );
-
- var sFromVal = replaceDate( ufn_getDateToStr(cal_from.value) );
- var sToVal = replaceDate( ufn_getDateToStr(cal_to.value) );
-
- //trace( "from to:" + sFromVal + ":" + sToVal );
-
- // Check the start and end date
- if( oDate.name == "cal_from" ) {
-
- if( sFromVal > sToVal ) {
- cal_to.value = sFromVal;
-
- if( isShow ) showCalendar( cal_to, sFromVal );
-
- isCheck= false;
- }
-
- if( _isDisableValid != true ) {
-
- var iDiff = utlf_diffDate( sFromVal, sToVal);
- //trace( "from to diff:" + sFromVal + ":" + sToVal + ":" + iDiff + " " + _diff_day );
- if( iDiff > _diff_day ) {
-
- var curDate = new Date();
-
- curDate.setYear ( sFromVal.substr(0, 4) );
- curDate.setMonth ( sFromVal.substr(4, 2)-1, sFromVal.substr(6, 2) );
- curDate.getAddDate ( _diff_day, "D" );
-
-
- cal_to.value = curDate.toFormatString("%Y-%m-%d");
-
- alert("기간은 " +_diff_day+ "일을 넘을 수 없습니다.");
- //cal_to.setFocus();
-
- isCheck= false;
- }
- }
- }
- else if( oDate.name == "cal_to" ) {
-
- if( sToVal < sFromVal ) {
- cal_from.value = sToVal;
-
- if( isShow ) showCalendar( cal_from, sToVal );
- //else oDate.setFocus();
-
- isCheck= false;
- }
- if( _isDisableValid != true ) {
-
- var iDiff = utlf_diffDate( sFromVal, sToVal );
- //trace( "from to diff:" + sFromVal + ":" + sToVal + ":" + iDiff + " " + _diff_day );
- if( iDiff > _diff_day ) {
-
- var curDate = new Date();
- //var sDateVal = sToVal;
-
- curDate.setYear ( sToVal.substr(0, 4) );
- curDate.setMonth ( sToVal.substr(4, 2)-1, sToVal.substr(6, 2) );
- curDate.getAddDate ( -1 * _diff_day, "D" );
-
- //curDate = new Date( curDate.addDate( -1 * _diff_day ) );
-
- //trace( sToVal.substr(0, 4) + " " + sToVal.substr(4, 2) + " " + sToVal.substr(6, 2) + " " + (-1 * _diff_day) + " " + curDate.toFormatString("%Y-%m-%d"));
-
- cal_from.value = curDate.toFormatString("%Y-%m-%d");
-
- alert("기간은 " +_diff_day+ "일을 넘을 수 없습니다.");
- //cal_from.setFocus();
-
- isCheck= false;
- }
- }
- }
-
- callBindFunction( gFunctionName ); // call function
-
- return isCheck;
- }
- /****************************************************************************************
- * Description : String Replace
- * Argument : sVal : string data
- * return : replace data
- ****************************************************************************************/
- function replaceDate( sVal ) {
- if( ufn_isNull(sVal) ) sVal = "";
-
- sVal = sVal.replace("-", "");
- return sVal;
- }
- /****************************************************************************************
- * Description : Call the function whenever the value changes
- * Argument : sFunctionName :
- * return :
- ****************************************************************************************/
- function callBindFunction( sFunctionName ) {
- //trace("sFunctionName:" + sFunctionName + ":" + isChanged);
-
- sFromVal = replaceDate( ufn_getDateToStr(cal_from.value) );
- sToVal = replaceDate( ufn_getDateToStr(cal_to.value) );
-
- if( !ufn_isNull(sFunctionName) && isChanged ) {
- isChanged = false;
- try {
- eval(sFunctionName + "(" +sFromVal+ ", " +sToVal+ ");");
- } catch(e) {
- }
- }
- }
- /****************************************************************************************
- * Description : Specifies the name of the function to be called when the value is changed
- * Argument : sFunctionName :
- * return :
- ****************************************************************************************/
- function setFunctionName( sFunctionName ) {
- gFunctionName = sFunctionName;
- }
- /****************************************************************************************
- * Components : pd_calendar_cb_year
- * Event : onitemchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function( drawClendar() )
- ****************************************************************************************/
- function pd_calendar_cb_year_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- yyyymm = e.posttext + pd_calendar.dv_header.st_month.text;
-
- //trace("yyyymm");
-
- yyyymm = yyyymm.substr(0, 6);
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
- pd_calendar.cb_year.visible = false;
- }
- /****************************************************************************************
- * Components : pd_calendar_cb_month
- * Event : onitemchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function( drawClendar() )
- ****************************************************************************************/
- function pd_calendar_cb_month_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- yyyymm = pd_calendar.dv_header.st_year.text.substr(0, 4) + e.posttext;
- yyyymm = yyyymm.substr(0, 6);
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
-
- pd_calendar.cb_month.visible = false;
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_st_month
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : dv_header st_month posision setting
- ****************************************************************************************/
- function pd_calendar_dv_header_st_month_onclick(obj:Static, e:ClickEventInfo)
- {
- //position setting
- pd_calendar.cb_month.position.left = obj.position.left;
- pd_calendar.cb_month.position.top = obj.position.top +3;
- pd_calendar.cb_month.position.width = obj.position.width -8;
- pd_calendar.cb_month.position.height = obj.position.height -2;
- //set focus combo, change visible
- pd_calendar.cb_month.moveToPrev(pd_calendar.dv_header);
- pd_calendar.cb_month.visible = true;
- pd_calendar.cb_month.setFocus();
- pd_calendar.cb_month.setCaretPos(0);
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_st_year
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : dv_header st_year posision setting
- ****************************************************************************************/
- function pd_calendar_dv_header_st_year_onclick(obj:Static, e:ClickEventInfo)
- {
- // position setting
- pd_calendar.cb_year.position.left = obj.position.left +11;
- pd_calendar.cb_year.position.top = obj.position.top +3;
- pd_calendar.cb_year.position.width = obj.position.width -13;
- pd_calendar.cb_year.position.height = obj.position.height -2;
-
- //set focus combo, change visible
- pd_calendar.cb_year.moveToPrev(pd_calendar.dv_header);
- pd_calendar.cb_year.visible = true;
- pd_calendar.cb_year.setFocus();
- pd_calendar.cb_year.setCaretPos(0);
- }
- /****************************************************************************************
- * Components : pd_calendar_gd_calendar
- * Event : onmousemove
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Set the value of the variable
- ****************************************************************************************/
- function pd_calendar_gd_calendar_onmousemove(obj:Grid, e:GridMouseEventInfo)
- {
- var sSelectedDate = ds_calendar.getColumn( e.row, "date" + e.cell );
-
- _move_date = sSelectedDate;
- }
- /****************************************************************************************
- * Components : pd_calendar_gd_calendar
- * Event : onmouseleave
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Set the value of the variable
- ****************************************************************************************/
- function pd_calendar_gd_calendar_onmouseleave(obj:Grid, e:MouseEventInfo)
- {
- _move_date = "";
- }
- /****************************************************************************************
- * Description : grid background setting
- * Argument : sDate : day
- * return : return color
- ****************************************************************************************/
- function gridTodayExpr(sDate)
- {
- var yyyymmdd = String(sDate);
- //Selected cell displays
- if ( !ufn_isNull(ufn_getDateToStr(_me_date.value)) && ufn_getDateToStr(_me_date.value).replace("-","") == yyyymmdd )
- return "#41aec4";
-
- //Today the date set
- if( yyyymmdd == iv_sDate )
- return "";
- }
- /****************************************************************************************
- * Description : grid background2 setting
- * Argument : sDate : day
- colId :
- * return : return background2 color, color2
- ****************************************************************************************/
- function gridTodayFontColor(sDate,colId)
- {
- var yyyymmdd = String(sDate);
- var flgHoliday = false;
-
- //trace( sDate + " " + colId );
-
- //check Holidays
- for (i=0; i<arrHolList.length; i++)
- {
- ////trace(arrHolList[i]);
- if (yyyymmdd.substr(4,4) == arrHolList[i])
- flgHoliday = true;
- }
-
- //Check dynamic Holidays
- for (j=0; j<ds_holiday.rowcount; j++)
- {
- //trace(ds_holiday.getColumn(j, "date"));
- if ( yyyymmdd == ds_holiday.getColumn(j, "date") )
- flgHoliday = true;
- }
-
- //trace( yyyymmdd + " " + pd_calendar.gd_calendar._yyyymm + " " + iv_sDate + " " + _me_date.value.replace("-","") );
- // When it is not part of the current month
- if( yyyymmdd.substr(0, 6) != pd_calendar.gd_calendar._yyyymm )
- return "#b0b0b0";
- // Sunday or public holiday
- else if( (colId == "col0") || (flgHoliday == true) )
- return "red";
-
- // Today
- else if( yyyymmdd == iv_sDate )
- return "#003399";
-
- else if( yyyymmdd == _move_date )
- return "#ffffff";
- //Selected cell displays
- else if( !ufn_isNull(ufn_getDateToStr(_me_date.value)) && yyyymmdd == ufn_getDateToStr(_me_date.value).replace("-","") )
- return "#ffffff";
-
- else
- return "#616161";
-
- }
- /****************************************************************************************
- * Description : grid font setting
- * Argument : sDate : day
- * return : return background2 font
- ****************************************************************************************/
- function gridTodayFontStyle(sDate)
- {
- var yyyymmdd = String(sDate);
-
- if(yyyymmdd == iv_sDate)
- return "Tahoma,8,bold";
-
- //Selected cell displays
- if ( !ufn_isNull(ufn_getDateToStr(_me_date.value)) && ufn_getDateToStr(_me_date.value).replace("-","") == yyyymmdd )
- return "Tahoma,8,bold";
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_bt_nextMonth
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (drowCalendar())
- ****************************************************************************************/
- function pd_calendar_dv_header_bt_nextMonth_onclick(obj:Button, e:ClickEventInfo)
- {
- yyyymm = pd_calendar.gd_calendar._yyyymm;
- var add_date = addMonth(yyyymm+"01", 0, 1);
- yyyymm = add_date.substr(0, 6);
-
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_bt_nextYear
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (drowCalendar())
- ****************************************************************************************/
- function pd_calendar_dv_header_bt_nextYear_onclick(obj:Button, e:ClickEventInfo)
- {
- yyyymm = pd_calendar.gd_calendar._yyyymm;
- var add_date = addMonth(yyyymm+"01", 1, 0);
- yyyymm = add_date.substr(0, 6);
-
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_bt_previousMonth
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (drowCalendar())
- ****************************************************************************************/
- function pd_calendar_dv_header_bt_previousMonth_onclick(obj:Button, e:ClickEventInfo)
- {
- yyyymm = pd_calendar.gd_calendar._yyyymm;
- var add_date = addMonth(yyyymm+"01", 1, 0);
- yyyymm = add_date.substr(0, 6);
-
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
- }
- /****************************************************************************************
- * Components : pd_calendar_dv_header_bt_nextYear
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (drowCalendar())
- ****************************************************************************************/
- function pd_calendar_dv_header_bt_previousYear_onclick(obj:Button, e:ClickEventInfo)
- {
- yyyymm = pd_calendar.gd_calendar._yyyymm;
- var add_date = addMonth(yyyymm+"01", 1, 0);
- yyyymm = add_date.substr(0, 6);
-
- drawCalendar(ds_calendar, pd_calendar.gd_calendar, yyyymm);
- }
- /****************************************************************************************
- * Components : btn_PreYear
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (ufn_addDateReq())
- ****************************************************************************************/
- function btn_PreYear_onclick(obj:Button, e:ClickEventInfo)
- {
- ufn_addDateReq("back");
- }
- /****************************************************************************************
- * Components : btn_PreYear
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (ufn_addDateReq())
- ****************************************************************************************/
- function btn_today_onclick(obj:Button, e:ClickEventInfo)
- {
- ufn_addDateReq("today");
- }
- /****************************************************************************************
- * Components : btn_NextYear
- * Event : onclick
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (ufn_addDateReq())
- ****************************************************************************************/
- function btn_NextYear_onclick(obj:Button, e:ClickEventInfo)
- {
- ufn_addDateReq("next");
- }
- /****************************************************************************************
- * Components : cboMon
- * Event : onitemchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Call function (ufn_addDateReq())
- ****************************************************************************************/
- function cbo_Mon_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
- {
- ufn_addDateReq("");
- }
- /****************************************************************************************
- * Description : date setting
- * Argument : diffFlag: difference month
- * return :
- ****************************************************************************************/
- function ufn_addDateReq(diffFlag)
- {
- var frdd = ufn_getDateToStr(cal_from.value);
- var todd = ufn_getDateToStr(cal_to.value);
- var srcdd = new Date();
- var destdd = new Date();
- var diffdt;
- if (diffFlag == "next")
- {
- srcdd = cal_to.value;
- srcdd = srcdd.getAddDate(1, "D");
- frdd = srcdd.toFormatString("%Y%m%d");
-
- diffdt = parseInt(cbo_Diff_Mon.value) * 1;
- destdd = srcdd.getAddDate(diffdt, "M");
- todd = destdd.toFormatString("%Y%m%d");
- }
- else if (diffFlag == "back")
- {
- srcdd = cal_from.value;
- srcdd = srcdd.getAddDate(-1, "D");
- todd = srcdd.toFormatString("%Y%m%d");
-
- diffdt = parseInt(cbo_Diff_Mon.value) * -1;
- destdd = srcdd.getAddDate(diffdt, "M");
- frdd = destdd.toFormatString("%Y%m%d");
- }
- else if (diffFlag == "today")
- {
- var objDate = new Date();
- iv_sDate = objDate.toFormatString("%Y%m%d");
-
- todd = iv_sDate;
- var today = new Date();
- var frday = new Date();
- diffdt = parseInt(cbo_Diff_Mon.value) * -1;
- frday = today.getAddDate(diffdt , "M");
- frdd = frday.toFormatString("%Y%m%d");
- }
- else
- {
- var today = cal_to.value;
- var frday = new Date();
- var diffdt = parseInt(cbo_Diff_Mon.value) * -1;
- frday = today.getAddDate(diffdt , "M");
- frdd = frday.toFormatString("%Y%m%d");
- }
- cal_from.value = frdd;
- cal_to.value = todd;
-
- }
- /****************************************************************************************
- * Components : cal_from
- * Event : onkeyup
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Focus change to cal_to
- ****************************************************************************************/
- function cal_from_onkeyup(obj:Calendar, e:KeyEventInfo)
- {
- //trace("keyup setfocus()::"+e.eventid);
- /*
- var dt = obj.text.toDate("YYYYMMDD").getDateFormat("YYYYMMDD");
- if ((e.keycode > 47 && e.keycode < 58) || (e.keycode > 95 && e.keycode < 106)) {
- if ( obj.value.toFormatString("%Y%m%d") == dt && ufn_getDateToStr(obj.value).length == 8 ) {
- cal_to.setFocus();
- }
- }
- */
- }
- /****************************************************************************************
- * Components : cal_from
- * Event : onkillfocus
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : Validation check
- ****************************************************************************************/
- function cal_from_onkillfocus(obj:Calendar, e:KillFocusEventInfo)
- {
- checkFromToDate( obj, false );
- }
- /****************************************************************************************
- * Components : cal_from, cal_to
- * Event : ontextchanged
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description :
- ****************************************************************************************/
- function calendar_ontextchanged(obj:Calendar, e:TextChangedEventInfo)
- {
- isChanged = true;
- }
- ]]></Script>
- </Form>
- </FDL>
|