var subDialog = {
	initialized:Boolean,
	movable:Boolean,
	overlay:false,
	closeButton:Boolean,
	overlayClose:Boolean,
	buttons:Array,
	defWidth:600,
	defHeight:450,
	buttonEvents:Array,
	dialogId:0,
	init:function() {
		subDialog.dialogId = subDialog.dialogId + 1;
		if (this.overlay) {
			var overlay = document.createElement('div');
			overlay.id = 'dialog_overlay' + this.dialogId;
			overlay.className = "minidialog_overlay";
			overlay.innerHTML = "&nbsp;";
			if (this.overlayClose) {
				overlay.onmousedown = function () {
					subDialog.close();
				};
			}
		}

		var dialogWindow = document.createElement('div');
		dialogWindow.id = "dialog_window" + this.dialogId;
		dialogWindow.className = "minidialog_window";
		dialogWindow.innerHTML = "&nbsp;";

		var dialogHeader = document.createElement('div');
		dialogHeader.id = "dialog_header" + this.dialogId;
		dialogHeader.className = "minidialog_header";

		var dialogBody = document.createElement('div');
		dialogBody.id = "dialog_body" + this.dialogId;
		dialogBody.className = "minidialog_body";
		dialogBody.innerHTML = '<center style="height:20px"><img border="0" src="' + themedir + '/images/ajax.gif"></center>';

		var dialogFooter = document.createElement('div');
		dialogFooter.id = "dialog_footer" + this.dialogId;
		dialogFooter.className = "minidialog_footer";
		if (subDialog.buttons.indexOf('close') > -1)
			dialogFooter.innerHTML += '<img onclick="subDialog.close();" src="' + themedir + '/images/close.png" class="close">';
		if (subDialog.buttons.indexOf('addtobasket') > -1)
			dialogFooter.innerHTML += '<img onclick="addToBasketac();" src="' + themedir + '/images/addtobasket_dialog.png" class="add">';
		if (subDialog.buttons.indexOf('ok') > -1)
			dialogFooter.innerHTML += '<img onclick="addToBasketac();" src="' + themedir + '/images/continue.png" class="add">';

		if (this.overlay)
			$("body").append(overlay);
		$("body").append(dialogWindow);
		$(dialogWindow).append(dialogHeader);
		$(dialogWindow).append(dialogBody);
		$(dialogWindow).append(dialogFooter);
		subDialog.initialized = true;
	},
	changeData:function (data, change_type) {
		if (change_type == 'assign') {
			$("#dialog_body" + subDialog.dialogId).html(data);
		} else {
			$("#dialog_body" + subDialog.dialogId).append(data);
		}
	},
	resizeWind:function () {
		if (document.getElementById('dialog_window' + subDialog.dialogId) == null) return false;
		var headerH = $("#dialog_header" + subDialog.dialogId).height();
		var bodyH = $("#dialog_body" + subDialog.dialogId).height();
		var footerH = $("#dialog_footer" + subDialog.dialogId).height();
		var total = headerH + bodyH + footerH + 60;

		var leftX = ($(window).width() - $("#dialog_window" + subDialog.dialogId).width()) / 2;
		var topX = ($(window).height() - $("#dialog_window" + subDialog.dialogId).height()) / 2;
		$("#dialog_window" + subDialog.dialogId).css("left", leftX);
		$("#dialog_window" + subDialog.dialogId).css("top", topX);

		$("#dialog_window" + subDialog.dialogId).stop();
		if ($("#dialog_window" + subDialog.dialogId).height < total)
			$("#dialog_window" + subDialog.dialogId).animate({ height: total }, 'slow');
	},
	open:function (widthW, heightH, title) {
		if (!subDialog.initialized)
			subDialog.init();
		if (widthW == null) widthW = subDialog.defWidth;
		if (heightH == null) heightH = subDialog.defHeight;
		var leftX = ($(window).width() - widthW) / 2;
		var topX = ($(window).height() - heightH) / 2;
		if (subDialog.closeButton)
			$("#dialog_header" + subDialog.dialogId).html('<div class="minidialog_title"><h3>' + title + '</h3></div><div class="minidialog_close"><a href="javascript:void(0);" onclick="subDialog.close();"><img src="' + themedir + '/images/closedialog.png"></a></div>');
		$("#dialog_window" + subDialog.dialogId).css("width", widthW);
		$("#dialog_body" + subDialog.dialogId).css("width", widthW - 40);
		$("#dialog_window" + subDialog.dialogId).css("height", heightH);
		$("#dialog_body" + subDialog.dialogId).css("height", heightH - 120);
		$("#dialog_window" + subDialog.dialogId).css("left", leftX);
		$("#dialog_window" + subDialog.dialogId).css("top", topX);
		if (subDialog.overlay)
			$('#dialog_overlay' + subDialog.dialogId).fadeTo('slow', 0.6)
		$('#dialog_window' + subDialog.dialogId).fadeTo('fast', 1);
		$(window).resize(function () {
			subDialog.resizeWind();
		});
		setTimeout(function () {
			subDialog.resizeWind();
		}, 2000);
	},
	destroyDialog: function () {
		if (subDialog.overlay)
			$('#dialog_overlay' + subDialog.dialogId).remove();
		$('#dialog_window' + subDialog.dialogId).remove();
		subDialog.initialized = false;
	},
	close:function() {
		$('#dialog_window' + subDialog.dialogId).fadeTo('fast', 0, function () {
			setTimeout(function () {
				subDialog.destroyDialog();
			}, 500);
		});
		if (subDialog.overlay)
			$('#dialog_overlay' + subDialog.dialogId).fadeTo('fast', 0);
	}
}

$(document).ready(function () {
	if (!Array.indexOf) {
		Array.prototype.indexOf = function (obj, start) {
			for (var i = (start || 0); i < this.length; i++) {
				if (this[i] == obj) {
					return i;
				}
			}
			return -1;
		}
	}
	subDialog.buttons = new Array('close');
	subDialog.defWidth = 650;
	subDialog.defHeight = 500;
	subDialog.init();

});
