(function(){ window.undefined = window.undefined; window.isIE=!!(window.attachEvent && !window.opera); if (window.isIE) { window.attachEvent('onunload', $_IEGC); /* window.attachEvent('onload', $_IEGC); */ } if ($_E){ $_E_original=$_E; } if (!window.isIE && window.Node){ Node.prototype.swapNode=function(node){ var nextSibling=this.nextSibling; var parentNode=this.parentNode; node.parentNode.replaceChild(this,node); parentNode.insertBefore(node,nextSibling); }; } if (!window.isIE && window.HTMLElement){ HTMLElement.prototype.__defineGetter__("innerText", function(){ return this.textContent;}); } })(); function $_IEGC(){ CollectGarbage(); } var ECSideConstants={ EMPTY_FUNCTION : function(){}, EC_ID : "ec", ETI_ID : "eti", ETI_PAGE_FLAG : "eti_p", SORT_PREFIX : "_s_", FILTER_PREFIX : "_f_", ACTION : "a", FILTER_ACTION : "fa", CLEAR_ACTION : "ca", PAGEFIELD_SUFFIX : "_p", EXPORT_IFRAME_SUFFIX : "_ecs_export_iframe", SHADOW_ROW : "_shadowRow", HIDE_HEADER_ROW : "_hideListRow", DEFALUT_ADD_TEMPLATE : "add_template", AJAX_ZONE_BEGIN : "_begin_ ", AJAX_ZONE_END : " _end_", AJAX_ZONE_PREFIX : "", MIN_COL_WIDTH : 10, SCROLLBAR_WIDTH :18, SCROLL_SPEED : 50, MIN_COLWIDTH : "30", AJAX_HEADER :['useAjaxPrep','true'], ROW_HIGHLIGHT_CLASS : "highlight", ROW_SELECTLIGHT_CLASS : "selectlight", DRAG_BUTTON_COLOR : "#3366ff", HEAD_ZONE_SUFFIX : "_headZone", BODY_ZONE_SUFFIX : "_bodyZone", FOOT_ZONE_SUFFIX : "_footZone", LIST_HEIGHT_FIXED : window.isIE?0:0 , LIST_WIDTH_FIXED : window.isIE?0:1 , IE_WIDTH_FIX_A : 1, IE_WIDTH_FIX_B : 2, FF_WIDTH_FIX_A : -3, FF_WIDTH_FIX_B : -6, OFFSET_A : 2 }; var $_E=function(){ var elements = []; for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof(element) == 'string') { var elemId=element; element = document.getElementById(elemId); if (element==null){ element = document.getElementsByName(elemId); if (element.length>0){ element=element[0]; }else{ element=null; } } } if (arguments.length == 1) {return element;} elements.push(element); } return elements; }; var ECSideList={}; var ECSide=function(formid){ var Me=this; Me.findAjaxZoneAtClient=true; Me.ETI_ID=ECSideConstants.ETI_ID; Me.ETI_PAGE_FLAG=ECSideConstants.ETI_PAGE_FLAG; Me.MIN_COL_WIDTH=80; Me.onLoad=null; if (!formid||formid==''){ formid=ECSideConstants.EC_ID; } Me.id=formid; Me.EXPORT_IFRAME_ID=formid+ ECSideConstants.EXPORT_IFRAME_SUFFIX; Me.SHADOWROW_ID=formid+ECSideConstants.SHADOW_ROW; Me.ECForm=null; Me.ECMainContent=null; Me.selectedRow=null; Me.sortedColumn=null; Me.sortType="default"; Me.sortedColumnHearderId=null; Me.afterFillForm=null; //Me.resizeWay="resizeSibling"; Me.resizeWay="resizeTable"; Me.listWidth=0; Me.isClassic=false; Me.canResizeColWidth=false; Me.useAjax=true; Me.doPreload=true; Me.doPreloadPrev=false; Me.doPrep="temp"; Me.doPrepPrev="temp"; Me.isDebug=false; Me.prepState={next : 0 ,prev : 0}; Me.prepPage={next : 0 ,prev : 0}; Me.prepareaName={}; Me.pageFieldName=Me.id + ECSideConstants.PAGEFIELD_SUFFIX; Me.totalPagesFieldName=Me.id+"_totalpages"; Me.prepareaName['next']=Me.id+"_ec_preparea_n"; Me.prepareaName['prev']=Me.id+"_ec_preparea_p"; Me.scrollList=false; Me.orgListHeight=0; Me.listHeight=0; Me.minHeight=0; Me.columnNum=0; ECSideList[formid]=Me; Me.buildPrepArea=function(){ if (!Me.doPreload){ return; } var hasPrepareaNext=document.getElementById(this.prepareaName['next']); if (!hasPrepareaNext){ var ta=document.createElement("textarea"); ta.id=this.prepareaName['next']; ta.disabled=true; ta.style.display="none"; document.body.appendChild(ta); } var hasPrepareaPrev=document.getElementById(this.prepareaName['prev']); if (!hasPrepareaPrev){ var tb=document.createElement("textarea"); tb.id=this.prepareaName['prev']; tb.disabled=true; tb.style.display="none"; document.body.appendChild(tb); } /* for Debug */ if(Me.isDebug){ ta=document.getElementById(this.prepareaName['next']); tb=document.getElementById(this.prepareaName['prev']); ta.disabled=false; ta.style.display="inline"; ta.rows=10; ta.cols=50; tb.disabled=false; tb.style.display="inline"; tb.rows=10; tb.cols=50; } }; Me.goPage=function(){ var newPageNO = $_E(Me.pageFieldName).value; var key=null; if(newPageNO==Me.prepPage['next'] && Me.prepState['next']==2){ key='next'; }else if(newPageNO== Me.prepPage['prev'] && Me.prepState['prev']==2 && Me.doPreloadPrev){ key='prev'; } if (key!==null){ try{ var newhtml=$_E(Me.prepareaName[key]).value; if (newhtml==''){ $_E(Me.id).submit(); return; } Me.ECMainContent.innerHTML=newhtml; Me.prepState[key]=0; Me.init(); var originalRequest={}; originalRequest.responseText=newhtml; if (Me.afterFillForm && typeof(Me.afterFillForm)=="function"){ Me.afterFillForm(originalRequest); } window.setTimeout(Me.ajaxPrepSubmit,10); if (typeof(Me.onLoad)=="function"){ Me.onLoad(); } Me.handleResize(); Me.hideWaitingBar(); }catch(ex){ $_E(Me.pageFieldName).value=newPageNO; Me.ajaxSubmit(); /* $_E(Me.id).submit(); */ } }else{ /* $_E(Me.id).submit(); */ Me.ajaxSubmit(); } }; Me.dealResponse={ 'next' : function(originalRequest){ $_E(Me.prepareaName['next']).value =ECSideUtil.cutText(originalRequest.responseText,Me.id); Me.prepState['next']=2; Me.doingAjaxSubmit=false; }, 'prev' : function(originalRequest){ $_E(Me.prepareaName['prev']).value =ECSideUtil.cutText(originalRequest.responseText,Me.id); Me.prepState['prev']=2; Me.doingAjaxSubmit=false; } }; Me.ajaxPrepSubmit=function(){ if (!Me.doPreload){ return; } Me.ajaxPrep(1); Me.ajaxPrep(-1); }; Me.ajaxPrep=function(which){ var key; if (which==1){ key='next'; }else if (which==-1 && Me.doPreloadPrev){ key='prev'; }else{ return; } Me.prepState[key]=1; Me.prepPage[key]=$_E(Me.pageFieldName).value/1+which; if (Me.prepPage[key]<1 || Me.prepPage[key]>($_E(Me.totalPagesFieldName).value/1)) { return; } $_E(Me.pageFieldName).value=Me.prepPage[key]; Me.ajaxSubmit(Me.dealResponse[key],true); $_E(Me.pageFieldName).value=Me.prepPage[key]-which; }; Me.doingAjaxSubmit=false; Me.ajaxSubmit=function(resfunc,asy,parameter){ if (!Me.useAjax){ Me.ECForm.submit(); return; } if (!asy){ asy=false; } if (!resfunc){ resfunc=Me.fillForm; } if(!asy && Me.doingAjaxSubmit){ /* alert("the last ajax request is not complete. try later."); return; */ } Me.doingAjaxSubmit=true; /* fix a prototype bug */ //pars=pars+'&'+appPara; //pars=pars.replace(/(^|&)_=(&|$)/g,'$1'+'$2'); //pars=pars.replace(/&+/g,'&'); /* end of fix a prototype bug */ //alert(url+" "+pars) //ECSideUtil.formSubmit(Me.ECForm,resfunc,"post",asy,parameter); if (Me.findAjaxZoneAtClient===false){ if (!parameter){ parameter={}; } if (typeof(parameter)=='string'){ parameter+="&findAjaxZoneAtClient=false&"; }else{ parameter.findAjaxZoneAtClient="false"; } } Form.request(Me.ECForm,{method:'post', requestHeaders:ECSideConstants.AJAX_HEADER, asynchronous: asy, parameters: parameter, onComplete :resfunc }); }; Me.fillForm=function(originalRequest){ var newhtml=ECSideUtil.cutText(originalRequest.responseText,Me.id); if (newhtml==''){ Me.hideWaitingBar(); return; } if (newhtml.indexOf("Exception:")==0){ Me.hideWaitingBar(); Me.ECMainContent.innerHTML=newhtml; return; } Me.ECMainContent.innerHTML=newhtml; Me.init(); if (Me.afterFillForm && typeof(Me.afterFillForm )=="function"){ Me.afterFillForm(originalRequest); } Me.doingAjaxSubmit=false; Me.handleResize(); Me.hideWaitingBar(); /* Me.initList(); if (typeof(Me.onLoad)=="function"){ Me.onLoad(); } */ }; Me.currentShadowRowParent=null; Me.currentShadowEventSrc=null; Me.autoCloseOtherShadowRow=true; Me.getTotalPage=function(){ return Me.ECForm[Me.totalPagesFieldName].value/1; }; Me.getPageNo=function(){ if (!Me.ECForm[Me.pageFieldName]){ return 1; } return Me.ECForm[Me.pageFieldName].value/1; }; Me.setPageNo=function(pageNo){ Me.ECForm[Me.pageFieldName]=pageNo; }; Me.showShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.hideShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.firstShowShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.beforeFilter=function(formid){}; Me.beforeSave=function(formid){}; Me.beforeSubmit=function(formid,crow,shadowRow,eventSrc){}; Me.init=function(){ Me.ECForm=document.getElementById(Me.id); if (!Me.ECForm) { /* alert("ERR: tableId=\""+Me.id+"\" not exist!"); */ return; } Me.doPreload=Me.doPrep=="temp"?Me.doPreload:Me.doPrep; Me.doPreloadPrev=Me.doPrepPrev=="temp"?Me.doPreloadPrev:Me.doPrepPrev; Me.DEFAULT_ACTION=Me.ECForm.getAttribute("action"); Me.ECMainContent=document.getElementById(Me.id+"_main_content"); if (window.isIE){ var hideHeader=document.getElementById(Me.id+ECSideConstants.HIDE_HEADER_ROW); if (hideHeader){ hideHeader.style.display="none"; } } if (window.frameElement && window.frameElement.name==Me.EXPORT_IFRAME_ID){ Me.ECForm.style.visibility ="visible"; ECSideUtil.printFrame(window.frameElement.contentWindow); return; } if (Me.sortedColumnHearderId){ var sortedHeader=document.getElementById(Me.sortedColumnHearderId); if (sortedHeader && Me.sortType && Me.sortType!='' && Me.sortType!='default' ){ var newHtml=ECSideUtil.trimString(sortedHeader.innerHTML,-1)+" 
"; sortedHeader.innerHTML=newHtml; } } if (!Me.useAjax){ Me.doPreload=false; } if (typeof(Me.ajaxSubmit)!="function"){ Me.useAjax=false; Me.ajaxSubmit=function(){ Me.ECForm.submit(); }; } if (Me.useAjax){ Me.buildPrepArea(); Me.ajaxPrepSubmit(); } Me.ECListHeadZone=document.getElementById(Me.id+ ECSideConstants.HEAD_ZONE_SUFFIX); Me.ECListBodyZone=document.getElementById(Me.id+ ECSideConstants.BODY_ZONE_SUFFIX); Me.ECListHead=document.getElementById(Me.id+"_table_head"); Me.ECListBody=document.getElementById(Me.id+"_table_body"); Me.ECListFoot=document.getElementById(Me.id+"_table_foot"); Me.ECListToolbarTable=document.getElementById(Me.id+"_toolbarTable"); Me.ECListToolbarShadow=document.getElementById(Me.id+"_toolbarShadow"); if (Me.ECListToolbarTable){ Me.ECListToolbarShadow.style.height=Me.ECListToolbarTable.offsetHeight+ 2 +"px"; } Me.orgListHeight=Me.ECListBody.scrollHeight; Me.initWaitingBar(); Me.initList(); Me.columnHandler(); Me.listWidth=Me.ECListHead.parentNode.clientWidth; Me.listHeight=Me.orgListHeight; Me.ECForm.style.visibility ="visible"; }; Me.waitingBar=null; Me.waitingBarCore=null; Me.waitingShowTimes=0; Me.initWaitingBar=function(){ Me.waitingShowTimes=0; Me.waitingBar=document.getElementById(Me.id+"_waitingBar"); Me.waitingBar.setAttribute("big","false"); Me.waitingBarCore=document.getElementById(Me.id+"_waitingBarCore"); Me.waitingBarCore.innerHTML=ECSideMessage.WAITTING_MSG; var wLeft=ECSideUtil.getPosLeft(Me.ECForm); var wTop=ECSideUtil.getPosTop(Me.ECForm); Me.waitingBar.style.left=wLeft+"px"; Me.waitingBar.style.top=wTop+"px"; }; Me.resizeWaitinBar=function(){ if (Me.waitingBar && Me.waitingBar.getAttribute("big")=="true"){ var w=Me.ECForm.offsetWidth; var h=Me.ECForm.offsetHeight; var cw=Me.waitingBarCore.offsetWidth; var ch=Me.waitingBarCore.offsetHeight; Me.waitingBar.style.width=w +"px"; Me.waitingBar.style.height=h-2 +"px"; Me.waitingBarCore.style.left= parseInt(Me.waitingBar.style.left)+(w-cw-50)/2 + "px"; Me.waitingBarCore.style.top=parseInt(Me.waitingBar.style.top)+ (h-ch-40)/2 + "px"; } }; Me.showWaitingBar=function(){ Me.waitingShowTimes++; Me.waitingBar.style.height=""; Me.waitingBar.style.width=""; Me.waitingBar.setAttribute("big","false"); if (Me.ECForm[Me.id+"_rd"]) { Me.ECForm[Me.id+"_rd"].style.display=""; } Me.waitingBarCore.style.left=Me.waitingBar.style.left; Me.waitingBarCore.style.top=Me.waitingBar.style.top; Me.waitingBar.style.display="block"; Me.waitingBarCore.style.display="block"; }; Me.showBigWaitingBar=function(){ Me.waitingShowTimes++; Me.waitingBar.setAttribute("big","true"); Me.resizeWaitinBar(); if (Me.ECForm[Me.id+"_rd"]) { Me.ECForm[Me.id+"_rd"].style.display="none"; } Me.waitingBar.style.display="block"; Me.waitingBarCore.style.display="block"; }; Me.hideWaitingBar=function(){ Me.waitingShowTimes--; if (Me.waitingShowTimes<1){ Me.waitingBar.setAttribute("big","false"); Me.waitingBar.style.display="none"; Me.waitingBarCore.style.display="none"; Me.waitingShowTimes=0; if (Me.ECForm[Me.id+"_rd"]) { Me.ECForm[Me.id+"_rd"].style.display=""; } } }; Me.autoFitHeight=function(){ if ( Me.ECListBodyZone.offsetHeight>=Me.ECListBody.parentNode.scrollHeight ){ var dh=Me.ECListBodyZone.offsetHeight-Me.ECListBodyZone.clientHeight+ECSideConstants.LIST_HEIGHT_FIXED; if (dh <=2 && Me.ECListBodyZone.offsetWidth-Me.ECListBodyZone.clientWidth>2){ dh=ECSideConstants.SCROLLBAR_WIDTH; } var tHeight=Me.ECListBody.parentNode.scrollHeight+dh; tHeight=tHeight0){ Me.resizeHeader(); Me.resized=0; return; } Me.autoFitHeight(); if (window.isIE && Me.ECListToolbarTable){ if(Me.ECListBodyZone.offsetWidth +1 1){ alert(message); } } } ecsideObj.hideWaitingBar(); }; Me.insertCallBack=function(responseObj){ var rs=ECSideUtil.responseHandler(responseObj); var tableId=ECSideUtil.trimString(rs[0]); var ecsideObj=ECSideUtil.getGridObj(tableId); for (var i=1;i1){ alert(message); } } } ecsideObj.hideWaitingBar(); }; Me.deleteCallBack=function(responseObj){ var rs=ECSideUtil.responseHandler(responseObj); var tableId=ECSideUtil.trimString(rs[0]); var ecsideObj=ECSideUtil.getGridObj(tableId); for (var i=1;i1){ alert(message); } } } ecsideObj.hideWaitingBar(); }; }; var ECSideUtil={}; ECSideUtil.responseHandler=function(responseObj){ var result=responseObj.responseText; result=ECSideUtil.trimString(result); var rs=result.split("\n"); return rs; }; ECSideUtil.syncRowsWidth=function(rows1,rows2){ var IE_FIX=0; var FF_FIX=0; //IE_FIX=4; if (rows1 && rows2 && rows1.length>0 && rows2.length>0){ var headTDs=rows1[0].cells; var bodyTDs=rows2[0].cells; if (window.isIE){ for (var i=0;i0){ tt=parseInt(bodyTDs[i].width); }else{ tt=parseInt(bodyTDs[i].style.width); } if (isNaN(tt)) { continue; } //tt=bodyTDs[i].offsetWidth; var brw=0; brw=headTDs[i].getAttribute("resizeColWidth")=="true"?2:(i==0?0:(i+1==colNum?2:0)); headTDs[i].style.width= (tt+ FF_FIX+ brw )+ "px"; var dw2=bodyTDs[i].clientWidth-headTDs[i].clientWidth; var dw=bodyTDs[i].offsetWidth-headTDs[i].offsetWidth; if (headTDs[i].getAttribute("resizeColWidth")!="true" && dw!=0){ headTDs[i].style.width =(tt+ FF_FIX+ brw ) +dw+"px"; } } } } } ECSideUtil.resizeAllGird=function(){ for (var girdId in ECSideList ){ var gird=ECSideList[girdId]; gird.handleResize(); } }; ECSideUtil.getGridObj=function(formid){ if (!formid){ formid=ECSideConstants.EC_ID; } return ECSideList[formid]; }; ECSideUtil.getECSideForm=function(formid){ var ecsideObj=ECSideUtil.getGridObj(formid); if (ecsideObj){ return ecsideObj.ECForm; } return null; }; ECSideUtil.getMessage=function(name, msgs){ var msgTemplate=ECSideMessage[name]; for (var i=1;itotalpages){ alert(ECSideUtil.getMessage("ERR_PAGENO",totalpages)); inputNoObj.focus(); inputNoObj.select(); return; } if (pageno<1){ pageno=1; } ECSideUtil.gotoPage(pageno,formid); }; ECSideUtil.doSort=function(event,columnAlias,sortT1,formid,columnHearderId){ var e = event||window.event; if ( ECSideUtil.startDragobj==true || ECSideUtil.Dragobj){ return; } if (window.isIE && e.button>1) { return; } var asc="asc"; var desc="desc"; var defaultOrder="default"; var ecsideObj=ECSideUtil.getGridObj(formid); var pageid=ecsideObj.pageFieldName; var form=ecsideObj.ECForm; //form[pageid].value=1; if ( typeof(sortT1)!='string'){ columnHearderId=sortT1.id; sortT1=null; }else if(columnHearderId && typeof(columnHearderId)!='string'){ columnHearderId=columnHearderId.id; } var tOrder="default"; if (sortT1){ tOrder=sortT1; }else if (ecsideObj.sortedColumn==columnAlias){ if (!ecsideObj.sortType || ecsideObj.sortType=="default"){ tOrder="asc"; }else if (ecsideObj.sortType=="asc"){ tOrder="desc"; }else if (ecsideObj.sortType=="desc"){ tOrder="default"; }else{ tOrder="asc"; } }else{ tOrder="asc"; } ECSideUtil.noExport(formid); var oAction=form.action; form.action=ecsideObj.DEFAULT_ACTION; if (ecsideObj.sortedColumn && ecsideObj.sortedColumn!=''){ form[formid+ECSideConstants.SORT_PREFIX+ecsideObj.sortedColumn].value=""; } ecsideObj.sortedColumn=columnAlias; ecsideObj.sortType=tOrder; ecsideObj.sortedColumnHearderId=columnHearderId; if (ecsideObj.custSort){ ecsideObj.custSort(columnAlias,tOrder); }else{ form[formid+ECSideConstants.SORT_PREFIX+columnAlias].value=tOrder; } try { ecsideObj.ajaxSubmit(); form.action=oAction; }catch (e2){ form.submit(); } ECSideUtil.ColmunMenu.doHideMe(); }; ECSideUtil.doCustomExport=function(fileName,exportAction,formid){ var form=ECSideUtil.getECSideForm(formid); var otarget=form.target; var oaction=form.action; form[formid+"_efn"].value=fileName; form.action=exportAction; var targetFrame=ECSideList[formid].EXPORT_IFRAME_ID; targetFrame=document.getElementById(targetFrame); if (targetFrame){ form.target=ECSideList[formid].EXPORT_IFRAME_ID; } form.submit(); form.target= otarget; form.action=oaction; ECSideUtil.noExport(formid); }; ECSideUtil.doExportList=function(fileName,page,formid){ var type="xls"; ECSideUtil.doExport(type,fileName,page,formid); }; ECSideUtil.doExport=function(type,fileName,page,formid){ /* for compatibility */ if (arguments.length>4){ type=arguments[4]; fileName=arguments[5]; } var ecsideObj=ECSideUtil.getGridObj(formid); var etiid=ecsideObj.ETI_ID; var etip=ecsideObj.ETI_PAGE_FLAG var form=ecsideObj.ECForm; if (page==true){ page=true; }else{ page=false; } page=!confirm(ECSideMessage.EXPORT_CONFIRM); var maxRowsExported = form.getAttribute("maxRowsExported"); if (page===false && maxRowsExported && ECSideUtil.parseIntOrZero(maxRowsExported)>0){ if(ECSideUtil.parseIntOrZero(maxRowsExported) 0) ? (/^\s+/) : (wh < 0) ? (/\s+$/) : (/^\s+|\s+$/g); return str.replace(re, ""); }; ECSideUtil.getPosTop=function(elm) { var top = elm.offsetTop; while((elm = elm.offsetParent) != null) { top += (elm.offsetTop-elm.scrollTop); } return top; } ECSideUtil.getPosLeft=function(elm) { var left = elm.offsetLeft; while((elm = elm.offsetParent) != null) { left += (elm.offsetLeft-elm.scrollLeft); } return left; }; ECSideUtil.getPosRight=function(elm){ return ECSideUtil.getPosLeft(elm)+elm.offsetWidth; }; ECSideUtil.getPosBottom=function(elm){ return ECSideUtil.getPosTop(elm)+elm.offsetHeight; }; ECSideUtil.replaceAll=function(exstr,ov,value){ var gc=ECSideUtil.escapeRegExp(ov); if (gc==null || gc==''){ return exstr; } var reReplaceGene="/"+gc+"/gm"; var r=null; var cmd="r=exstr.replace("+reReplaceGene+","+ECSideUtil.escapeString(value)+")"; eval(cmd); return r; }; ECSideUtil.escapeRegExp=function(str) { return !str?''+str:(''+str).replace(/\\/gm, "\\\\").replace(/([\f\b\n\t\r[\^$|?*+(){}])/gm, "\\$1"); }; ECSideUtil.escapeString=function(str){ return !str?''+str:('"' + (''+str).replace(/(["\\])/g, '\\$1') + '"' ).replace(/[\f]/g, "\\f" ).replace(/[\b]/g, "\\b" ).replace(/[\n]/g, "\\n" ).replace(/[\t]/g, "\\t" ).replace(/[\r]/g, "\\r"); }; ECSideUtil.hasClass=function(object, className) { if (!object.className) { return false;} return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); }; ECSideUtil.removeClass=function(object,className) { if (!object) {return;} object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), ' '); }; ECSideUtil.addClass=function(object,className) { if (!object || ECSideUtil.hasClass(object, className)){return;} if (object.className) { object.className += ' '+className; } else { object.className = className; } }; ECSideUtil.parseIntOrZero=function(num){ return ECSideUtil.parseInt(num,0); }; ECSideUtil.parseIntOrOne=function(num){ return ECSideUtil.parseInt(num,1); }; ECSideUtil.parseInt=function(num,defaultNum){ var t=parseInt(num); return isNaN(t)?defaultNum:t; }; ECSideUtil.isCollection=function(obj){ return obj && typeof(obj) != 'string' && typeof(obj.length) == 'number'; }; ECSideUtil.appendMap=function(destination,source){ for (var property in source) { if (property in destination) { if (destination[property].constructor != Array) destination[property] = [destination[property]]; destination[property].push(source[property]); }else{ destination[property] = source[property]; } } }; ECSideUtil.groupByCol=function(rows,colNo,startRowNo,endRowNo){ if (!colNo){ colNo=0; } if (!startRowNo || startRowNo<0){ startRowNo=0; } if (!endRowNo||endRowNo>rows.length){ endRowNo=rows.length; } var show=""; var hide="none"; var cell=null; var info=[]; var startCell=rows[startRowNo].cells[colNo]; var startRowSpan=startCell.rowSpan; for (var i=startRowNo+1;irows.length){ endRowNo=rows.length; } var show=""; var hide="none"; var cell=null; for (var i=startRowNo;i1){ cell.rowSpan=1; } } }; /* ===========LIST SCROLL ============= */ ECSideUtil.initSeparateLine=function(){ var temp=document.getElementById("separateLine"); if (!temp){ ECSideUtil.separateLine=document.createElement("DIV"); ECSideUtil.separateLine.id="separateLine"; ECSideUtil.separateLine.className="separateLine"; ECSideUtil.separateLine.style.display="none"; document.body.appendChild(ECSideUtil.separateLine); } }; /* =========== MENU ============= */ var ECSPopup=function(eid){ var Me=this; Me.id=eid; Me.currentContent=null; Me.hideTimeout1=500; Me.hideTimeout2=200; Me.coreElement=null; Me.isShow=false; Me.setShow=function(){ Me.isShow=true; }; Me.setHide=function(){ Me.isShow=false; }; Me.initMe=function(){ /* TODO */ }; Me.showMe=function(){ /* TODO */ Me.setShow(); }; Me.hideMe=function(){ window.setTimeout(Me.tryHideMe, Me.hideTimeout1); Me.setHide(); }; Me.tryHideMe=function(){ if (!Me.isShow){ Me.doHideMe(); } }; Me.doHideMe=function(){ Me.coreElement.style.display="none"; Me.setHide(); }; }; /* 2 */ ECSideUtil.NearPagesBar=new ECSPopup("nearPagesBar"); ECSideUtil.NearPagesBar.initMe=function(){ var temp=document.getElementById("nearPagesBar"); if (!temp){ this.coreElement=document.createElement("DIV"); this.coreElement.id=this.id; this.coreElement.className = this.id ; this.coreElement.style.display="none"; document.body.appendChild(this.coreElement); ECSideUtil_addEvent(this.coreElement,"mouseover",this.setShow ); ECSideUtil_addEvent(this.coreElement,"mouseout",this.hideMe); this.currentContent="formid : nearPages"; } }; ECSideUtil.NearPagesBar.createNearPagesList=function(nearPages,formid){ var listHtml= ECSideMessage.NEARPAGE_TITLE; var ecsideObj=ECSideUtil.getGridObj(formid); var page=ecsideObj.getPageNo(); var lastPage=ecsideObj.getTotalPage(); var pi1=0; var startP=page- nearPages; var endP=page+ nearPages; if ( startP<1){ endP=endP+(1-startP); startP=1; } if ( endP>lastPage){ startP=startP-(endP-lastPage); endP=lastPage; } startP=startP<1?1:startP; listHtml+=""; for (pi1=startP;pi1<=endP;pi1++){ if (pi1==page){ listHtml+=" "+pi1+" "; }else{ listHtml+=""+pi1+""; } } listHtml+=""; return listHtml; } ECSideUtil.NearPagesBar.showMe=function(fireObj,formid){ var ecsideObj=ECSideUtil.getGridObj(formid); var nearPages=ECSideUtil.parseIntOrZero( ecsideObj.ECForm.getAttribute("nearPages")); if (nearPages<2){ return ; } var page=ecsideObj.getPageNo(); //if (this.currentContent!=formid+" : "+page){ this.currentContent=formid+" : "+page; this.coreElement.innerHTML=this.createNearPagesList(nearPages,formid); //} this.setShow(); this.coreElement.style.display="block"; var dx=(this.coreElement.offsetWidth-fireObj.offsetWidth)/2; this.coreElement.style.left=ECSideUtil.getPosLeft(fireObj)-dx+document.body.scrollLeft+"px"; this.coreElement.style.top= (ECSideUtil.getPosTop(fireObj)- this.coreElement.offsetHeight+document.body.scrollTop) +"px"; }; //////////////////////////////////////////// ECSideUtil.doFilterFocus=function(event,filterInputObj){ var e = event||window.event; filterInputObj.select(); ECSideUtil_stopEvent(e); } ECSideUtil.doFilter=function(event,filterInputObj,filterFieldName,formid){ var e = event||window.event; if(filterInputObj.type=="button"){ filterInputObj=filterInputObj.nextSibling; }else if (event.keyCode != 13){ return; } ECSideUtil.doFilterCore(filterInputObj,filterFieldName,ECSideConstants.FILTER_ACTION,formid); }; ECSideUtil.doClearFilter=function(event,filterInputObj,filterFieldName,formid){ ECSideUtil.doFilterCore(filterInputObj,filterFieldName,ECSideConstants.CLEAR_ACTION,formid); }; ECSideUtil.doFilterCore=function(filterInputObj,filterFieldName,faction,formid){ var ecsideObj=ECSideUtil.getGridObj(formid); var pageid=ecsideObj.pageFieldName; var form=ecsideObj.ECForm; var continueFunction=true; if (ecsideObj.beforeFilter){ continueFunction=ecsideObj.beforeFilter(formid); } if (continueFunction===false){ return; } form[formid+ECSideConstants.FILTER_PREFIX+ECSideConstants.ACTION].value=faction; form[pageid].value=1; ECSideUtil.clearTotalRows(formid); ECSideUtil.noExport(formid); var oAction=form.action; form.action=ecsideObj.DEFAULT_ACTION; if (filterInputObj!=null){ form[filterFieldName].value=filterInputObj.value; } try { ecsideObj.ajaxSubmit(); form.action=oAction; }catch (e2){ form.submit(); } ECSideUtil.ColmunMenu.doHideMe(); } ECSideUtil.showColmunMenu=function(event,columnObj,formid){ var e = event||window.event; ECSideUtil.ColmunMenu.showMe(columnObj,formid); return ECSideUtil_stopEvent(e); } ECSideUtil.ColmunMenu=new ECSPopup("columnMenu"); ECSideUtil.ColmunMenu.initMe=function(){ var temp=document.getElementById("columnMenu"); if (!temp){ this.coreElement=document.createElement("table"); this.coreElement.id=this.id; this.coreElement.className = this.id ; this.coreElement.style.display="none"; this.coreElement.style.left="0px"; this.coreElement.style.top="0px"; var ntbody=document.createElement("tbody"); var ntr=document.createElement("tr"); var ntd=document.createElement("td"); ntr.appendChild(ntd); ntbody.appendChild(ntr); this.coreElement.appendChild(ntbody); document.body.appendChild(this.coreElement); this.currentContent="formid : columnIdx"; } this.setHide(); }; ECSideUtil.ColmunMenu.getFilterItem=function(menuWidth,columnObj,columnName,formid){ var FIX_WIDTH=20; var filterFieldName=formid+ECSideConstants.FILTER_PREFIX+columnName; var filterField=$_E(filterFieldName); if (!filterField){ return ""; } var v=filterField.value; var jsfunction="ECSideUtil.doFilter(event,this,'"+filterFieldName+"','"+formid+"')"; //this.coreElement.style.width=width+"px"; var filterHTML=""; var templateId=columnObj.getAttribute("editTemplate"); var template=document.getElementById(templateId); var templateText=window.isIE?template.value:template.textContent; templateText=ECSideUtil.trimString(templateText); if (templateText.toLowerCase().indexOf(""; clearHTML+=""+ECSideMessage.FILTERCLEAR_TEXT+""; return filterHTML+"
"+clearHTML; }; ECSideUtil.ColmunMenu.getSortItem=function(menuWidth,columnObj,columnName,formid){ var FIX_WIDTH=30; var sortFieldName=formid+ECSideConstants.SORT_PREFIX+columnName; var sortField=$_E(sortFieldName); if (!sortField){ return ""; } var jsfunctionAsc="ECSideUtil.doSort(event,'"+columnName+"','asc','"+formid+"')"; var jsfunctionDesc="ECSideUtil.doSort(event,'"+columnName+"','desc','"+formid+"')"; var jsfunctionDefault="ECSideUtil.doSort(event,'"+columnName+"','default','"+formid+"')"; var ascHTML=""; ascHTML+=""+ECSideMessage.SORTASC_TEXT+""; var descHTML=""; descHTML+=""+ECSideMessage.SORTDESC_TEXT+""; var defaultHTML=""; defaultHTML+=""+ECSideMessage.SORTDEFAULT_TEXT+""; return ascHTML+"
"+descHTML+"
"+defaultHTML; }; ECSideUtil.ColmunMenu.showMe=function(fireObj,formid){ var minWidth=100; var FIX_WIDTH=5; var menuWidth=0; var columnName=fireObj.getAttribute("columnName"); if(this.currentContent==formid+" : "+columnName && this.isShow){ ECSideUtil.ColmunMenu.doHideMe(); return; } menuWidth =fireObj.offsetWidth- FIX_WIDTH; menuWidth=menuWidth< minWidth? minWidth :menuWidth; var menuZone=this.coreElement.rows[0].cells[0]; var filterItemHTML=this.getFilterItem(menuWidth,fireObj,columnName,formid); var sortItemHTML=this.getSortItem(menuWidth,fireObj,columnName,formid); if (filterItemHTML=="" && sortItemHTML==""){ return; } var menuHTML=filterItemHTML+"
" + sortItemHTML; menuZone.innerHTML= menuHTML ; this.coreElement.style.top= ECSideUtil.getPosBottom(fireObj)+document.body.scrollTop +"px"; this.coreElement.style.display="block"; var tempLeft=ECSideUtil.getPosLeft(fireObj)+document.body.scrollLeft; if ( tempLeft+this.coreElement.offsetWidth >=document.body.clientWidth-2){ tempLeft=document.body.clientWidth-2-this.coreElement.offsetWidth; } this.coreElement.style.left=tempLeft+"px"; this.setShow(); this.currentContent=formid+" : "+columnName; }; /* ============ RESIZE COLUMN WIDTH ======================= */ ECSideUtil.startDragobj=false; ECSideUtil.MinColWidth=ECSideConstants.MIN_COLWIDTH; ECSideUtil.Dragobj=null; ECSideUtil.DragobjBodyCell=null; ECSideUtil.DragobjBodyCellNext=null; ECSideUtil.DragobjNext=null; ECSideUtil.DragECSideObj=null; ECSideUtil.leftC=0; ECSideUtil.rightC=0; ECSideUtil.startC=0; ECSideUtil.endC=0; ECSideUtil.StartResize=function(event,obj,formid){ var e = event||window.event; if (!formid){ formid=ECSideConstants.EC_ID; } obj.focus(); document.body.style.cursor = "col-resize"; var dx=window.isIE?e.x:e.pageX; ECSideUtil.DragECSideObj=ECSideList[formid]; ECSideUtil.Dragobj=obj.parentNode; ECSideUtil.DragobjNext = ECSideUtil.getNextElement(ECSideUtil.Dragobj); var way=ECSideUtil.DragECSideObj.resizeWay; //ECSideUtil.startC=e.screenX; ECSideUtil.leftC =ECSideUtil.getPosLeft( ECSideUtil.Dragobj )+parseInt(ECSideUtil.MinColWidth); if (way=="resizeTable" || !ECSideUtil.DragobjNext){ if (ECSideUtil.DragECSideObj.ECListBodyZone){ ECSideUtil.rightC =ECSideUtil.getPosRight(ECSideUtil.DragECSideObj.ECListBodyZone); }else{ ECSideUtil.rightC=document.body.clientWidth; } }else{ ECSideUtil.rightC =ECSideUtil.getPosRight( ECSideUtil.DragobjNext )-parseInt(ECSideUtil.MinColWidth); } ECSideUtil.leftC+=document.body.scrollLeft; ECSideUtil.rightC+=document.body.scrollLeft; var cellIndex=ECSideUtil.Dragobj.cellIndex; try{ ECSideUtil.DragobjBodyCell=ECSideList[formid].ECListBody.rows[0].cells[cellIndex]; }catch(e){ ECSideUtil.DragobjBodyCell=null; } try{ ECSideUtil.DragobjBodyCellNext=ECSideUtil.getNextElement(ECSideUtil.DragobjBodyCell); }catch(e){ ECSideUtil.DragobjBodyCellNext=null; } ECSideUtil.MinColWidth=ECSideList[formid].MIN_COL_WIDTH; if (!ECSideUtil.MinColWidth||ECSideUtil.MinColWidth=='' || ECSideUtil.MinColWidth<1){ ECSideUtil.MinColWidth=ECSideConstants.MIN_COLWIDTH; } ECSideUtil.separateLine.style.top=ECSideUtil.getPosTop(ECSideUtil.DragECSideObj.ECListHead)+2; var dX=window.isIE?document.body.scrollLeft+e.clientX:document.body.scrollLeft+e.pageX; //ECSideUtil.startC=ECSideUtil.getPosRight( ECSideUtil.Dragobj )-ECSideUtil.parseIntOrZero(ECSideUtil.separateLine.style.width)+document.body.scrollLeft-ECSideUtil.DragECSideObj.ECListBodyZone.scrollLeft; ECSideUtil.startC=dX; ECSideUtil.separateLine.style.left=ECSideUtil.startC+"px"; var th=ECSideUtil.DragECSideObj.ECListHead.parentNode.clientHeight; if (ECSideUtil.DragECSideObj.ECListHead.parentNode!=ECSideUtil.DragECSideObj.ECListBody.parentNode){ th+=ECSideUtil.DragECSideObj.ECListBodyZone.clientHeight; } ECSideUtil.separateLine.style.height=th+'px'; ECSideUtil.separateLine.style.display="block"; ECSideUtil.startDragobj=true; ECSideUtil_stopEvent(e); } ECSideUtil.DoResize=function(event){ var e = event||window.event; var dX=window.isIE?document.body.scrollLeft+e.clientX:document.body.scrollLeft+e.pageX; if (!ECSideUtil.Dragobj || !ECSideUtil.startDragobj){ if (ECSideUtil.separateLine){ ECSideUtil.separateLine.style.display="none"; } document.body.style.cursor = ""; return; } if (dX<=ECSideUtil.leftC || dX>=ECSideUtil.rightC){ document.body.style.cursor = "not-allowed"; return; } if (document.body.style.cursor == "not-allowed"){ document.body.style.cursor = "col-resize"; } ECSideUtil.separateLine.style.left=dX+"px"; } ECSideUtil.EndResize=function(event){ if (!ECSideUtil.Dragobj){ ECSideUtil.startDragobj=false; document.body.style.cursor = ""; return; } var e = event||window.event; //ECSideUtil.endC=e.screenX; ECSideUtil.endC=ECSideUtil.parseIntOrZero(ECSideUtil.separateLine.style.left); var dWidth=ECSideUtil.startC-ECSideUtil.endC; var fixX=0; if (window.isIE){ fixX = ECSideConstants.IE_WIDTH_FIX_A; }else{ fixX= ECSideConstants.FF_WIDTH_FIX_A; } var cc=0; cc=ECSideUtil.DragobjBodyCell.clientWidth-dWidth+fixX; ECSideUtil.Dragobj.style.width=cc+"px"; ECSideUtil.DragobjBodyCell.style.width=cc+"px"; ECSideUtil.DragobjBodyCell.width = cc+"px"; /* if (ECSideUtil.DragobjNext && ECSideUtil.DragECSideObj.resizeWay!="resizeTable"){ cc=ECSideUtil.DragobjBodyCellNext.clientWidth+dWidth+fixX; if (cc<10){ cc=10; } ECSideUtil.DragobjNext.style.width=cc+"px"; ECSideUtil.DragobjBodyCellNext.style.width=cc+"px"; ECSideUtil.DragobjBodyCellNext.width = cc+"px"; } */ if (!ECSideUtil.DragECSideObj.isClassic){ ECSideUtil.syncRowsWidth(ECSideUtil.DragECSideObj.ECListHead.rows,ECSideUtil.DragECSideObj.ECListBody.rows); } document.body.style.cursor = ""; ECSideUtil.separateLine.style.display="none"; ECSideUtil.DragECSideObj.handleResize(); try{ //ECSideUtil.DragECSideObj.initScrollXscrollWidth(); //ECSideUtil.DragECSideObj.initScrollBarSize(); }catch(e){} ECSideUtil.startDragobj=false; ECSideUtil.Dragobj=null; ECSideUtil.DragECSideObj=null; ECSideUtil.DragobjBodyCell=null; ECSideUtil.DragobjBodyCellNext=null; ECSideUtil.DragobjNext=null; ECSideUtil_stopEvent(e); } ECSideUtil.resizeInit=function(){ document.onmousemove = ECSideUtil.DoResize; document.onmouseup = ECSideUtil.EndResize; document.body.ondrag = function() {return false;}; document.body.onselectstart = function() { return ECSideUtil.Dragobj==null && ECSideUtil.startDragobj==false; }; /* var e = event||window.event; e.cancelBubble = true e.returnValue = false; return false; */ }; /* ===========EDIT CELL ============= */ ECSideUtil.getColumnName=function(cellObj,formid){ var ecsideObj=ECSideUtil.getGridObj(formid); var cname=''; try { var idx=cellObj.cellIndex; var cell=ecsideObj.ECListHead.rows[0].cells[idx]; cname=cell.getAttribute("columnName"); }catch(e){ cname=''; } return cname; }; // editType = input select checkbox radio ECSideUtil.editCell=function(cellObj,formid,templateId){ if (cellObj.getAttribute("editing")=="true"){ return; } var ecsideObj=ECSideUtil.getGridObj(formid); cellObj.setAttribute("editing","true"); if (!templateId){ var idx=cellObj.cellIndex; var thcell=ecsideObj.ECListHead.rows[0].cells[idx]; templateId=thcell.getAttribute("editTemplate"); } var template=document.getElementById(templateId); var templateText=window.isIE?template.value:template.textContent; templateText=ECSideUtil.trimString(templateText); var text=window.isIE?cellObj.innerText:cellObj.textContent; var value=cellObj.getAttribute("cellValue"); value=value==null?text:value; value=ECSideUtil.trimString(value); var name=ECSideUtil.getColumnName(cellObj,formid); if (templateText.indexOf("name=\"\"")>0){ templateText=ECSideUtil.replaceAll(templateText,"name=\"\"","name=\""+name+"\""); } var editType="input"; if (templateText.toLowerCase().indexOf("0){ editType="checkbox"; }else if(templateText.indexOf(" type=\"radio\"")>0){ editType="radio"; } }else if (templateText.toLowerCase().indexOf("