var globalFunc;
var globalParams;

function showDeleteDialog(func, params) {
    jQuery('#ui-dialog').dialog('destroy');
    
	globalFunc = func;
	globalParams = params;
	jQuery('#ui-dialog').html('Are you sure you want to delete?');
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'title', 'Confirmation');
	jQuery('#ui-dialog').dialog('option', 'width', 380);
	jQuery('#ui-dialog').dialog('option', 'height', 'auto');
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
			'Cancel' : function() {
				jQuery(this).dialog('close');
			},
			'Ok' : function() {
				globalFunc(globalParams);
				jQuery(this).dialog('close');
			}
		}
	)

	jQuery('#ui-dialog').dialog('open');
}

function showEditDialog(func, html, params) {
    jQuery('#ui-dialog').dialog('destroy');

	globalFunc = func;
	globalParams = params;
	jQuery('#ui-dialog').html(html);
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'title', 'Edit');
	jQuery('#ui-dialog').dialog('option', 'width', 380);
	jQuery('#ui-dialog').dialog('option', 'height', 'auto');
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
			'Cancel' : function() {
				jQuery(this).dialog('close');
			},
			'Update' : function() {
				globalParams.dialog = jQuery(this);
				globalFunc(globalParams)
			}
		}
	)

	jQuery('#ui-dialog').dialog('open');
}

function showSaveDialog(func, html, params) {
    jQuery('#ui-dialog').dialog('destroy');

	globalFunc = func;
	globalParams = params;
	jQuery('#ui-dialog').html(html);
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'width', 380);
	jQuery('#ui-dialog').dialog('option', 'height', 'auto');
	jQuery('#ui-dialog').dialog('option', 'title', 'Save');
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
			'Cancel' : function() {
				jQuery(this).dialog('close');
			},
			'Save' : function() {
				globalParams.dialog = jQuery(this);
				globalFunc(globalParams);
			}
		}
	)

	jQuery('#ui-dialog').dialog('open');
}

function showMessageDialog(msg) {
    jQuery('#ui-dialog').dialog('destroy');

	jQuery('#ui-dialog').html('<div style="text-align:center;width:100%;color:#666666;padding-top:15px;">' + msg + '</div>');
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'title', 'Message');
	jQuery('#ui-dialog').dialog('option', 'width', 380);
	jQuery('#ui-dialog').dialog('option', 'height', 220);
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
			'Ok' : function() {
				jQuery(this).dialog('close');
			}
		}
	)
	
	jQuery('#ui-dialog').dialog('open');
}

function showLoadingDialog() {
    jQuery('#ui-dialog').dialog('destroy');

	var msg = 'Please wait. Loading...';
	jQuery('#ui-dialog').html(msg);
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'width', 380);
	jQuery('#ui-dialog').dialog('option', 'height', 150);
	jQuery('#ui-dialog').dialog('option', 'title', 'Message');
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
		}
	)
	jQuery('#ui-dialog').dialog('open');
}

function showCustomDialog(func, html, params) {
    jQuery('#ui-dialog').dialog('destroy');
    
	globalFunc = func;
	globalParams = params;
	jQuery('#ui-dialog').html(html);
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'width', parseInt(globalParams.width));
	jQuery('#ui-dialog').dialog('option', 'height', parseInt(globalParams.height));
	jQuery('#ui-dialog').dialog('option', 'title', globalParams.title);
	if (globalParams.buttons) {
		jQuery('#ui-dialog').dialog(
			'option',
			'buttons', globalParams.buttons
		)
	} else {
		jQuery('#ui-dialog').dialog(
			'option',
			'buttons', {
				'Cancel' : function() {
					jQuery(this).dialog('close');
				},
				'Ok' : function() {
					globalParams.dialog = jQuery(this);
					globalFunc(globalParams);
				}
			}
		)
	}

	jQuery('#ui-dialog').dialog('open');
}

function showSelectDialog(func, html, params) {
    jQuery('#ui-dialog').dialog('destroy');

	globalFunc = func;
	globalParams = params;
	jQuery('#ui-dialog').html(html);
	jQuery('#ui-dialog').dialog({
		'modal' : true,
		'autoOpen' : true
	});
	jQuery('#ui-dialog').dialog('option', 'width', parseInt(globalParams.width));
	jQuery('#ui-dialog').dialog('option', 'height', parseInt(globalParams.height));
	jQuery('#ui-dialog').dialog('option', 'title', globalParams.title);
	jQuery('#ui-dialog').dialog(
		'option',
		'buttons', {
			'Cancel' : function() {
				jQuery(this).dialog('close');
			},
			'Ok' : function() {
				globalParams.dialog = jQuery(this);
				globalFunc(globalParams);
			}
		}
	)

	jQuery('#ui-dialog').dialog('open');
}

function hideDialog() {
	jQuery('#ui-dialog').dialog('destroy');
}