gl_isMsie6 = ($.browser.msie && /6.0/.test(navigator.userAgent)) ? true : false;
gl_btnClose = {
    "Close": function() {
        $(this).dialog("close");
    }
};
function msie6fix_init() {
    if (gl_isMsie6){
        $('select:visible').each(function(i) {
            var html;
            var obj=$(this);
            var obj_id=obj.attr('id');
            if (!obj_id) {
                obj_id='msiefix_'+i;
                obj.attr('id', obj_id);
            }
            if (obj.attr('multiple')) {
                html='<textarea class="msie-fix optional" rel="#'+obj_id+
                    '" style="display:none; width:'+obj.width()+'px; height:'+obj.height()+'px;"></textarea>';
            } else {
                html='<input class="msie-fix optional" type="text" rel="#'+obj_id+
                    '" value="" style="display:none; width:'+obj.width()+'px; height:'+obj.height()+'px;"/>';
            }
            obj.before(html);
        });
    }
}
function msie6fix_onOpen() {
    $('select:visible').hide();
    $('.msie-fix:input:not(:visible)').show();
}
function msie6fix_onClose() {
    $('.msie-fix:input:visible').each(function() {
        var obj=$(this);
        var sel=$(obj.attr('rel'));
        obj.hide();
        sel.show();
    });
}
function concatMaps(map1, map2) {
    for (var key in map1)
        map2[key] = map1[key];
    return map2;
}
function createDialog(selector, options) {
    var obj = $(selector).dialog(concatMaps(options, {
        _nextDlg: null,
        _onClose: null,
        _onOpen: null,
        _defLast: false,
        autoOpen: false,
        closeOnEscape: false,
        modal: true,
        resizable: false,
        close: function(event, ui) {
            var dlg=$(this);
            var f_onClose=dlg.dialog('option', '_onClose');
            if (f_onClose)
                f_onClose(dlg);
            var nextDlg=dlg.dialog('option', '_nextDlg');
            if (!nextDlg){
                if (gl_isMsie6)
                    msie6fix_onClose();
            } else nextDlg.dialog('open');
        },
        open: function(event, ui) {
            var dlg=$(this);
            var f_onOpen=dlg.dialog('option', '_onOpen');
            if (f_onOpen)
                f_onOpen(dlg);
            if (gl_isMsie6)
                msie6fix_onOpen();
            if (dlg.dialog('option', '_defLast'))
                $('.ui-dialog-buttonpane > button:last').focus();
        }
    }));
    return obj;
}
$(function() {
    msie6fix_init();
});
