git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_SGD/tags/3.7.0.2_original@1 eb19766c-00d9-a042-a3a0-45cb8ec72764
68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
function _getParentElm(elm, type) {
|
|
var n = elm.parentNode;
|
|
|
|
if(isUndefinedOrNull(n)) {
|
|
return false;
|
|
}
|
|
|
|
if(n.nodeName == type) {
|
|
return n;
|
|
}
|
|
|
|
return _getParentElm(n, type);
|
|
}
|
|
|
|
function _getContentDocument(id) {
|
|
var elm = $(id);
|
|
var ret = null;
|
|
|
|
if(elm.contentDocument) {
|
|
ret = elm.contentDocument;
|
|
} else {
|
|
if(elm.id) {
|
|
id = elm.id;
|
|
}
|
|
ret = document.frames[id].document;
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
function resizeFrame(elm) {
|
|
var frame = $(elm);
|
|
var size = _getContentDocument(elm).body.offsetHeight;
|
|
frame.style.display = 'block';
|
|
frame.style.height = (parseInt(size) + 32) + 'px';
|
|
}
|
|
|
|
function setupFrame(frame) {
|
|
var form = _getParentElm(frame, 'FORM');
|
|
var moveInputs = function(event) {
|
|
for(var e in Set('input', 'select', 'textarea')) {
|
|
var elms = _getContentDocument(frame).getElementsByTagName(e);
|
|
if(!elms.length) {
|
|
continue;
|
|
}
|
|
forEach(elms, function(v) {
|
|
|
|
if(v.type=='radio') { if (!v.checked){ return; }}
|
|
|
|
var newInput = INPUT({'type':'hidden',
|
|
'name':v.name,
|
|
'value':v.value});
|
|
appendChildNodes(form, newInput);
|
|
});
|
|
}
|
|
}
|
|
|
|
resizeFrame(frame);
|
|
connect(frame, 'onload', function(e) { resizeFrame(e.src()); });
|
|
connect(form, 'onsubmit', moveInputs);
|
|
}
|
|
|
|
|
|
addLoadEvent(function() {
|
|
var frames = getElementsByTagAndClassName('iframe', 'browse-frame');
|
|
forEach(frames, setupFrame);
|
|
});
|
|
|