';
var $tpl = jQuery(tpl);
for(var i=0,l=attr.length; i < l; i++) {
if(!$tpl.attr(attr[i].name)) $tpl.attr(attr[i].name, attr[i].value);
}
tpl = jQuery('
').append($tpl).html();
opener.doAddWidgetCode(tpl);
window.close();
},
'document_srl'.split(',') // response tags
);
return false;
}
/* 박스 위젯 추가 */
function doAddWidgetBox() {
var tpl = ''+
'
'+
''+
'
'+
''+
'
'+
'
';
zonePageObj.innerHTML += tpl;
}
/* 일반 위젯을 추가하기 위해 위젯 팝업창을 띄움 */
function doAddWidget(fo) {
var sel = fo.widget_list;
var idx = sel.selectedIndex;
var val = sel.options[idx].value;
var module_srl = fo.module_srl.value;
var url = request_uri.setQuery('module','widget').setQuery('act','dispWidgetGenerateCodeInPage').setQuery('selected_widget', val).setQuery('module_srl', module_srl);
popopen(url,'GenerateWidgetCode');
}
var selectedWidget = null;
var writedText = null;
var checkDocumentWrite = false;
// document.write(ln)의 경우 ajax로 처리시 가로채기 위한 함수
// 아래 함수는 str 내용을 단지 전역 변수에 보관 후 doAddWidgetCode 에서 재사용하기 위해 사용됨.
window.document.write = window.document.writeln = function(str){
if(checkDocumentWrite) {
writedText = str;
return;
}
if ( str.match(/^<\//) ) return;
if ( !window.opera ) str = str.replace(/&(?![#a-z0-9]+;)/g, "&");
str = str.replace(/(<[a-z]+)/g, "$1 xmlns='http://www.w3.org/1999/xhtml'");
var div = jQuery('
').html(str)[0];
var pos;
pos = document.getElementsByTagName("*");
pos = pos[pos.length - 1];
var nodes = div.childNodes;
while ( nodes.length ) {
pos.parentNode.appendChild( nodes[0] );
}
}
// 위젯 추가
function doAddWidgetCode(widget_code) {
restoreWgBtn();
// css 추가
var tmp = widget_code;
while(tmp.indexOf("");
var cssfile = tmp.substr(9,eos-9);
if(cssfile.indexOf('.js')>-1) {
tmp = tmp.substr(eos);
continue;
}
if(!cssfile) break;
tmp = tmp.substr(eos);
var cssfile = request_uri+'/'+cssfile;
if(typeof(document.createStyleSheet)=='undefined') {
var css ='';
var dummy = xCreateElement("DIV");
xInnerHtml(dummy , css);
document.body.appendChild(dummy);
} else {
document.createStyleSheet(cssfile,0);
}
}
// widget 코드에서 javascript 부분을 빼서 eval후 결과값을 대체함
checkDocumentWrite = true; ///< document.write(ln)등의 함수값을 바로 사용하기 위한 check flag
// widget_code의 javascript 부분 수정
var tmp = widget_code.toLowerCase();
while(tmp.indexOf("")+9;
var script = widget_code.substr(pos,length);
script = script.replace(/^