| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- // Height auto resizing
- _WIN.autoResizeHeight = function ( fixedWidth, heightOffset) {
- var win = window.top;
- if (typeof fixedWidth == 'number') {
- //fixedWidth += $tx.gecko ? 16 : 0;
- var __STATUSBAR_SIZE = 50;
- var __SCROLLBAR_SIZE = 30;
- var __ASSUMPTION_MIN_HEIGHT = 300;
- if ( !heightOffset ) heightOffset = 0;
-
- var dl = self.document.documentElement;
-
- var diff = {}, pos = {x:0, y:0};
- var left = (win.screenLeft)?win.screenLeft:win.screenX;
- var top = (win.screenTop)?win.screenTop:win.screenY;
-
- win.resizeTo( fixedWidth, __ASSUMPTION_MIN_HEIGHT);
-
- var contentScreentHeight = (dl.clientHeight == dl.scrollHeight && dl.scrollHeight != dl.offsetHeight )?dl.offsetHeight:dl.scrollHeight;
- var contentScreentWidth = (dl.clientWidth == dl.scrollWidth && dl.scrollWidth != dl.offsetWidth )?dl.offsetWidth:dl.scrollWidth;
- if(contentScreentHeight > dl.clientHeight) {
- diff.height = contentScreentHeight - dl.clientHeight;
- }else{ // for chrome -_-
- diff.width = 8;
- diff.height = dl.clientHeight - contentScreentHeight + 35;
- }
- pos.y = Math.min(screen.availHeight - contentScreentHeight - top - __STATUSBAR_SIZE,0) ;
- pos.x = Math.min(screen.availWidth - contentScreentWidth - left - __SCROLLBAR_SIZE,0);
-
- if ( pos.x || pos.y ) {
- if (!$tx.chrome) {
- win.moveBy(pos.x, pos.y);
- }
- win.resizeTo( fixedWidth, __ASSUMPTION_MIN_HEIGHT );
- }
- setTimeout(function() {
- win.resizeBy(0, diff.height + heightOffset);
- },20)
- } else {
- setTimeout(function() {
- var obj = fixedWidth;
- if(!obj)obj = document.getElementsByTagName('HTML')[0];
- var doc = document.getElementsByTagName('HTML')[0];
- var clientW = doc.clientWidth||doc.scrollWidth;
- var clientH = doc.clientHeight||doc.scrollHeight;
- var offsetW = obj.offsetWidth||obj.scrollWidth;
- var offsetH = obj.offsetHeight||obj.scrollHeight;
- //alert( clientW + " : " + clientH + " / " + offsetW + " : " + offsetH )
- var gapWidth = offsetW - clientW ;
- var gapHeight = offsetH - clientH;
- if(gapWidth || gapHeight) {
- win.resizeBy(gapWidth,gapHeight);
- }
- }, 100);
- }
- };
- _WIN.Querystring = function (query) {
-
- this.params = new Object();
- this.get = function(key, defaultValue) {
- if (defaultValue == _NULL) {
- defaultValue = _NULL;
- }
- var value = this.params[key];
- if (value == _NULL) {
- value = defaultValue;
- }
- return value;
- };
- this.getUTF8 = function(key, defaultValue) {
- if (defaultValue == _NULL) {
- defaultValue = _NULL;
- }
- var value = unescape(this.params[key]);
- if (value == _NULL) {
- value = defaultValue;
- }
- return value;
- };
-
- var qs;
- if (query) {
- qs = query;
- }else {
- qs = location.search.substring(1, location.search.length)
- }
-
- if (qs.length == 0) {
- return;
- }
-
- qs = qs.replace(/\+/g, ' ');
- var args = qs.split('&');
-
- for (var i = 0; i < args.length; i++) {
- var value;
- var pair = args[i].split('=');
- var name = unescape(pair[0]);
-
- if (pair.length == 2) {
- value = pair[1];
- } else {
- value = name;
- }
- this.params[name] = value;
- }
- };
- _WIN.qs = new Querystring();
- _WIN.closeWindow = function () {
- completeAttach();
-
- top.opener = self;
- top.close();
-
- var _opener;
- if (opener && !opener.closed) {
- _opener = opener;
- }else{
- _opener = parent.opener;
- }
- if(_opener.Editor) {
- _opener.Editor.focus();
- } else {
- _opener.focus();
- }
- };
- _WIN.stripTags = function (str) {
- return str.replace(/<\/?[^>]+>/gi, '');
- };
- _WIN.getAttacher = function (name) {
- return PopupUtil.getOpener().Editor.getSidebar().getAttacher(name);
- };
- _WIN.getEmbeder = function (name) {
- return PopupUtil.getOpener().Editor.getSidebar().getEmbeder(name);
- };
- _WIN.registerAction = function (attacher) {
- if(!attacher) {
- return;
- }
- window.execAttach = attacher.attachHandler;
- };
- _WIN.registerSearch = function (searcher) {
- if(!searcher) {
- return;
- }
- window.execSearch = searcher.insertHandler;
- };
- _WIN.registerEmded = function (embeder) {
- if(!embeder) {
- return;
- }
- window.execEmbed = embeder.embedHandler;
- };
- _WIN.modifyResult = function () {}; //For Theme
- _WIN.completeAttach = function () {}; //For Theme
- _WIN.existEntry = function (attacher) {
- if(!attacher) {
- return _FALSE;
- }
- return attacher.existEntry();
- };
- _WIN.getFirstEntryData = function (attacher) {
- if(!attacher) {
- return _FALSE;
- }
- return attacher.getFirstEntryData();
- };
- _WIN.getAttrOfElement = function ( elementStr, attrName ) {
- var regExp = new RegExp(attrName+"=['\"]?([^\"'>]*)[\"' ]","i");
- var result = regExp.exec( elementStr );
-
- if ( result) {
- return result[1];
- }else{
- return _NULL;
- }
- };
- _WIN.getParamValOfObjectTag = function ( objectStr, paramName ) {
- var regExp = new RegExp("<param([^>]*)name=['\"]"+paramName+"['\"]([^>]*)>","gi");
- var result = regExp.exec(objectStr, "gi");
- var value = _NULL;
-
- if ( result ) {
- regExp = new RegExp("value=['\"]([^>'\"]*)['\"]", "gi");
- value = regExp.exec( result[0] );
- if ( value ) {
- return value[1];
- }
- }
-
- return _NULL;
- };
- _WIN.PopupUtil = {
- getOpener : function() {
- var _opener;
- if(opener && opener.Editor) {
- _opener = opener;
- } else if(parent.opener && parent.opener.Editor) {
- _opener = parent.opener;
- } else if(opener.opener && opener.opener.Editor) {
- _opener = opener.opener;
- }
- return _opener;
- }
- };
- _WIN.getDateFormat = function (date, format) {
- date = date ? date.trim() : '';
- if ((date.length != 8) || (date.indexOf('0') == 0)) return '';
- var year = date.substr(0, 4) + (format || '년 ');
- var _m = (date.substr(4, 2).indexOf('0') == 0) ? date.substr(5, 1) : date.substr(4, 2);
- var _d = (date.substr(6, 2).indexOf('0') == 0) ? date.substr(7, 1) : date.substr(6, 2);
- var month = (_m != '0') ? _m + (format || '월 ') : '';
- var day = ( _d != '0') ? (_d + (format ? '' : '일')) : '';
- return year + month + day;
- };
- _WIN.getDashedDateFormat = function (date) {
- date = date.trim();
- if (date.length != 8 || date.indexOf('00') == 0) return '';
- var yy = removeZero(date.substr(0, 4), '');
- var mm = removeZero(date.substr(4, 2), '-');
- var dd = removeZero(date.substr(6, 2), '-');
- return yy + mm + dd;
- };
- _WIN.removeZero = function (number, fmt) {
- return (number.indexOf('00') == 0) ? '' : fmt + number;
- };
- _WIN.getYearFormat = function (date) {
- date = date.trim() || '';
- if (date.length != 8) return "";
- return date.substr(0, 4) + '년 ';
- };
- _WIN.getDayFormat = function (date) {
- try {
- date = date.trim();
- if (date.length != 8) return date;
- var d = new Date(date.substr(0, 4), date.substr(4, 2) - 1, date.substr(6, 2));
- var dayFormat = ['일', '월', '화', '수', '목', '금', '토'];
- return dayFormat[d.getDay()];
- } catch(e) {}
- return '';
- };
- _WIN.stripBracket = function (text) {
- var splitText = text.trim().split(',');
- var result = [];
- splitText.each(function(txt) {
- result.push(txt.replace(/\[\[[\w]*\]\]/, ''));
- });
- return result.join(', ');
- };
- _WIN.getFieldJson = function (name, value) {
- if (value)
- return {name: name, value: value.stripTags()};
- return _NULL;
- };
|