Index: branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js =================================================================== diff -u -r6889 -r6899 --- branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6889) +++ branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 6899) @@ -411,7 +411,9 @@ function openwin($url,$name,$width,$height) { -// alert('openwin: name = ['+$name+']'); + // prevent window from opening larger, then screen resolution on user's computer (to Kostja) + + // alert('openwin: name = ['+$name+']'); var left = Math.round((screen.width - $width)/2); var top = Math.round((screen.height - $height)/2); @@ -423,18 +425,40 @@ return window.open($url,$name,$window_params); } +function OnResizePopup(e) { + if (!document.all) { + var $winW = window.innerWidth; + var $winH = window.innerHeight; + } + else { + var $winW = window.document.body.offsetWidth; + var $winH = window.document.body.offsetHeight; + } + + window.status = '[width: ' + $winW + '; height: ' + $winH + ']'; +} + function opener_action(new_action) { var $prev_opener = get_hidden_field('m_opener'); set_hidden_field('m_opener', new_action); return $prev_opener; } -function open_popup($prefix_special, $event, $t) { +function open_popup($prefix_special, $event, $t, $window_size) { + if (!$window_size) { + // if no size given, then query it from ajax + var $pm = getFrame('head').$popup_manager; + $pm.ResponceFunction = function ($responce) { + open_popup($prefix_special, $event, $t, $responce); + } + $pm.GetSize($t); + return ; + } + var $kf = document.getElementById($form_name); var $window_name = $t.replace(/(\/|-)/g, '_'); // replace "/" and "-" with "_" - var $window_size = '750x400'; // query with AJAX later $window_size = $window_size.split('x'); openwin('', $window_name, $window_size[0], $window_size[1]); @@ -498,7 +522,6 @@ } } - // set current form base on ajax function set_form($prefix_special, $ajax) { @@ -1129,3 +1152,13 @@ return str.replace(/[ _\']+/g, '.'); } + function getFrame($name) + { + var $frameset = window.parent.frames; + for ($i = 0; $i < $frameset.length; $i++) { + if ($frameset[$i].name == $name) { + return $frameset[$i]; + } + } + return window.parent; + } \ No newline at end of file