Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -r3543 -r3559 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 3543) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 3559) @@ -254,14 +254,18 @@ if(!isset($width)) $width=750; if(!isset($height)) $height=400; if(!isset($event)) $event=''; - set_hidden_field('m_opener','s'); + + cur_opener = get_hidden_field('m_opener'); + set_hidden_field('m_opener','p'); + openwin('',$window_name,$width,$height); set_hidden_field('main_prefix', $prefix); document.kernel_form.target=$window_name; var old_action = document.kernel_form.action; document.kernel_form.action = $url; submit_event($prefix,$event,$t); document.kernel_form.action = old_action; + set_hidden_field('m_opener',cur_opener); } function openwin($url,$name,$width,$height) @@ -473,33 +477,33 @@ // related to lists operations (moving) - - + + function move_selected($from_list, $to_list) { if (typeof($from_list) != 'object') $from_list = document.getElementById($from_list); if (typeof($to_list) != 'object') $to_list = document.getElementById($to_list); - + if (has_selected_options($from_list)) { var $from_array = select_to_array($from_list); var $to_array = select_to_array($to_list); var $new_from = Array(); var $cur = null; - + for (var $i = 0; $i < $from_array.length; $i++) { $cur = $from_array[$i]; if ($cur[2]) // If selected - add to To array - { + { $to_array[$to_array.length] = $cur; } else //Else - keep in new From - { + { $new_from[$new_from.length] = $cur; } } - + $from_list = array_to_select($new_from, $from_list); $to_list = array_to_select($to_array, $to_list); } @@ -508,35 +512,35 @@ alert('Please select items to perform moving!'); } } - + function select_to_array($aSelect) { var $an_array = new Array(); var $cur = null; - + for (var $i = 0; $i < $aSelect.length; $i++) { $cur = $aSelect.options[$i]; $an_array[$an_array.length] = new Array($cur.text, $cur.value, $cur.selected); } return $an_array; } - + function array_to_select($anArray, $aSelect) { var $initial_length = $aSelect.length; for (var $i = $initial_length - 1; $i >= 0; $i--) { $aSelect.options[$i] = null; } - + for (var $i = 0; $i < $anArray.length; $i++) { $cur = $anArray[$i]; $aSelect.options[$aSelect.length] = new Option($cur[0], $cur[1]); } } - + function select_compare($a, $b) { if ($a[0] < $b[0]) @@ -545,29 +549,29 @@ return 1; return 0; } - + function select_to_string($aSelect) { var $result = ''; var $cur = null; - + if (typeof($aSelect) != 'object') $aSelect = document.getElementById($aSelect); - + for (var $i = 0; $i < $aSelect.length; $i++) { $result += $aSelect.options[$i].value + '|'; } - + return $result.length ? '|' + $result : ''; } - + function selected_to_string($aSelect) { var $result = ''; var $cur = null; - + if (typeof($aSelect) != 'object') $aSelect = document.getElementById($aSelect); - + for (var $i = 0; $i < $aSelect.length; $i++) { $cur = $aSelect.options[$i]; @@ -576,10 +580,10 @@ $result += $cur.value + '|'; } } - + return $result.length ? '|' + $result : ''; } - + function string_to_selected($str, $aSelect) { var $cur = null; @@ -589,11 +593,11 @@ $aSelect.options[$i].selected = $str.match(',' + $cur.value + ',') ? true : false; } } - + function set_selected($selected_options, $aSelect) { if (!$selected_options.length) return false; - + for (var $i = 0; $i < $aSelect.length; $i++) { for (var $k = 0; $k < $selected_options.length; $k++) @@ -605,7 +609,7 @@ } } } - + function get_selected_count($theList) { var $count = 0; @@ -617,7 +621,7 @@ } return $count; } - + function get_selected_index($aSelect, $typeIndex) { var $index = 0; @@ -631,38 +635,38 @@ } return $index; } - + function has_selected_options($theList) { var $ret = false; var $cur = null; - + for (var $i = 0; $i < $theList.length; $i++) { $cur = $theList.options[$i]; if ($cur.selected) $ret = true; } return $ret; } - + function select_sort($aSelect) { if (typeof($aSelect) != 'object') $aSelect = document.getElementById($aSelect); - + var $to_array = select_to_array($aSelect); $to_array.sort(select_compare); array_to_select($to_array, $aSelect); } - + function move_options_up($aSelect, $interval) { if (typeof($aSelect) != 'object') $aSelect = document.getElementById($aSelect); - + if (has_selected_options($aSelect)) { var $selected_options = Array(); var $first_selected = get_selected_index($aSelect, 'firstSelected'); - + for (var $i = 0; $i < $aSelect.length; $i++) { if ($aSelect.options[$i].selected && ($first_selected > 0) ) @@ -672,27 +676,27 @@ } else if ($first_selected == 0) { - alert('Begin of list'); + //alert('Begin of list'); break; - } + } } set_selected($selected_options, $aSelect); } else { - alert('Check items from moving'); + //alert('Check items from moving'); } } - + function move_options_down($aSelect, $interval) { if (typeof($aSelect) != 'object') $aSelect = document.getElementById($aSelect); - + if (has_selected_options($aSelect)) { var $last_selected = get_selected_index($aSelect, 'lastSelected'); var $selected_options = Array(); - + for (var $i = $aSelect.length - 1; $i >= 0; $i--) { if ($aSelect.options[$i].selected && ($aSelect.length - ($last_selected + 1) > 0)) @@ -702,23 +706,23 @@ } else if ($last_selected + 1 == $aSelect.length) { - alert('End of list'); + //alert('End of list'); break; } } set_selected($selected_options, $aSelect); } else { - alert('Check items from moving'); + //alert('Check items from moving'); } } - + function swap_options($aSelect, $src_num, $dst_num) { var $src_option = new Option($aSelect.options[$src_num].innerHTML, $aSelect.options[$src_num].value); var $dst_option = new Option($aSelect.options[$dst_num].innerHTML, $aSelect.options[$dst_num].value); - + $aSelect.options[$src_num] = $dst_option; $aSelect.options[$dst_num] = $src_option; } \ No newline at end of file