var modal = {		
	opts: {
		modal		: true,
		overlay		: {
			opacity		: 0.4,
			background	: '#000'
		},
		title		: 'Warning',
		stack		: false,
		resizable	: false,
		draggable	: false,
		bgiframe 	: false,
		closeOnEscape: false,
		zIndex		: 3000,
		width		: 330
	},
	alert : function (element, myopts){
		
		var _unique = $.generateGuid();
		
		element = $('<div id="'+_unique+'" style="display:none">'+element+'</div>');
		element.appendTo('body');

		if(myopts){
			var _shop_btn_name 		= myopts.shop_btn_name;		//button name
			var _shop_btn_script 	= myopts.shop_btn_script;	//button script
		}
		
		var _tmpShopModalAlert = new StringBuffer();
		_tmpShopModalAlert.append('<script>');
		_tmpShopModalAlert.append('	function TmpShopModalAlert(){');
		_tmpShopModalAlert.append('	' + _shop_btn_script);
		_tmpShopModalAlert.append('	}');
		_tmpShopModalAlert.append('</script>');

		$('body').append(_tmpShopModalAlert.toString());
		
		var settings = {
			
			title		: '안내',
			buttons : {
				'확인' : function (){
					TmpShopModalAlert();
					if ($.browser.msie && $.browser.version < 7) {
						modal.select_show();
					}
					$(document).unbind('.dialog-overlay');
					$(this).remove();					
				}
			},
			open 	: function (e, ui){
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_hide();
				}				
				//button name replace.
				if(_shop_btn_name){
					$('.ui-dialog-buttonpane button').text(_shop_btn_name);
				}
				modal.nokey();
				$('a.ui-dialog-titlebar-close').removeAttr('href').css({cursor:'pointer'}); //X button "href=#" delete 
				$('div.error').remove();
			},
			close	: function (e, ui){
				TmpShopModalAlert();
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_show();
				}
				$(this).remove();
			}
		};
		var _empty = $.extend(false, this.opts, settings, myopts);
		element.dialog(_empty);
		
		//title ! image
		var _title_img = '<img src="/images/ico/bul_point2.gif" width="14" height="14" alt="" style="vertical-align:middle" /> ';
		$('div.ui-dialog #ui-dialog-title-'+_unique).prepend(_title_img);
		
		return false;
	},
	confirm : function (element, myopts){
			
		var _unique = $.generateGuid();		

		element = $('<div id="'+_unique+'" style="display:none"><p>'+ element +'</p></div>');
		element.appendTo('body');
		_remove_yn = true;
		
		if(myopts){
			
			if(!myopts.shop_btn_name) myopts.shop_btn_name = '삭제';
			if(!myopts.shop_btn_name2) myopts.shop_btn_name2 = '취소';
			
			var _shop_btn_name 		= myopts.shop_btn_name + ' ' + myopts.shop_btn_name2;		//button name
			var _arr_shop_btn_name 	= _shop_btn_name.split(' ');
			var _shop_btn_script 	= myopts.shop_btn_script;	//button script1
			var _shop_btn_script2 	= myopts.shop_btn_script2;	//button script2
		}
		
		var _tmpShopModalConfirmFirst = new StringBuffer();
		_tmpShopModalConfirmFirst.append('<script>');
		_tmpShopModalConfirmFirst.append('	function TmpShopModalConfirmFirst(){');
		_tmpShopModalConfirmFirst.append('	' + _shop_btn_script);
		_tmpShopModalConfirmFirst.append('	}');
		_tmpShopModalConfirmFirst.append('</script>');		
		$('body').append(_tmpShopModalConfirmFirst.toString());
		
		var _tmpShopModalConfirmSecond = new StringBuffer();
		_tmpShopModalConfirmSecond.append('<script>');
		_tmpShopModalConfirmSecond.append('	function TmpShopModalConfirmSecond(){');
		_tmpShopModalConfirmSecond.append('	' + _shop_btn_script2);
		_tmpShopModalConfirmSecond.append('	}');
		_tmpShopModalConfirmSecond.append('</script>');
		$('body').append(_tmpShopModalConfirmSecond.toString());

		var settings = {
			buttons 	: {
				'삭제' : function (){
					TmpShopModalConfirmFirst();
					if ($.browser.msie && $.browser.version < 7) {
						modal.select_show();
					}
					$(document).unbind('.dialog-overlay');
					$(this).remove();
					return false;
				},				
				'취소' : function (){	
					TmpShopModalConfirmSecond();
					if ($.browser.msie && $.browser.version < 7) {
						modal.select_show();
					}
					$(document).unbind('.dialog-overlay');
					$(this).remove();
					return false;
				}				
			},
			open		: function (e, ui){
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_hide();
				}				
				//button name replace.
				if(myopts){
					$('.ui-dialog-buttonpane button span').each(function(i){
						if(_arr_shop_btn_name[i]){
							$(this).text(_arr_shop_btn_name[i]);
						}
					});
				}				
				modal.nokey();				
				$('a.ui-dialog-titlebar-close').removeAttr('href').css({cursor:'pointer'}); //X button "href=#" delete 
				$('div.error').remove();

			},			
			close		: function (e, ui){
				TmpShopModalConfirmSecond();
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_show();
				}
				$(this).remove();				
			}
		};
		
		var _empty = $.extend(false, this.opts, settings, myopts);
		element.dialog(_empty);
		
		//title ! image
		var _title_img = '<img src="/images/ico/bul_point2.gif" width="14" height="14" alt="" style="vertical-align:middle" /> ';
		$('div.ui-dialog #ui-dialog-title-'+_unique).prepend(_title_img);
		
		return false;
	},
	html : function (myopts){
			
		var _unique = $.generateGuid();
		var _html = $('<div id="'+_unique+'" style="display:none"></div>');
		_html.appendTo('body');
		
		var _path = '/';
		var _width = 400;
		var _height = 300;
		var _data;		
		if(myopts){
			_path 	= (myopts.html_path)? myopts.html_path : _path ;
			_width	= (myopts.html_width)? myopts.html_width : _width ;
			_height	= (myopts.html_height)? myopts.html_height : _height ;			
			_data	= (myopts.html_data)? myopts.html_data : _data ;			
		}


		$.loadPath(_path, '#'+_unique, _data,'', 'modal');

		var settings = {
			width		: parseInt(_width),
			height		: parseInt(_height),
			open		: function (event, ui){
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_hide();
				}
				modal.nokey();
				$('a.ui-dialog-titlebar-close').removeAttr('href').css({cursor:'pointer'}); //X button "href=#" delete 
				$('div.error').remove();
			},	
			close		: function (e, ui){
				if ($.browser.msie && $.browser.version < 7) {
					modal.select_show();
				}
				
				$(document).unbind('.dialog-overlay');
				$('div.ui-effects-wrapper').remove(); //show효과 
//				$('#ui-datepicker-div').css({display:'none'});
				$(this).empty().remove();
			}
		};


		var _empty = $.extend(false, this.opts, settings, myopts);
		//setTimeout(function(){
			_html.dialog(_empty);
		//},500);

		var _outerheight = 0;
		if ($.browser.msie) {
			//_outerheight = screen.availHeight;
			_outerheight = document.documentElement.offsetHeight;
		}else{
			//netscape
			_outerheight = window.innerHeight;
		}
		
		if(_height > _outerheight){
			var _tmp_height = parseInt(_height) + 100;
		}

		$('.ui-widget-overlay').css({height: _tmp_height});
		if($.browser.msie){
			setTimeout(function() {
				var div_dialog 		= $('#'+_unique).width();
				var div_lightbox 	= $('#'+_unique+' div.lightBox').width();
				if(div_dialog < div_lightbox){
					var box_width = $('#'+_unique+' div.lightBox').width()- 20 + 'px';
					$('#'+_unique+' div.lightBox').width(box_width);
				}
			}, 500);
		}
	},	
	
	close : function (element){
		//element = $(#id);						
		$('a.ui-dialog-titlebar-close').trigger('click');
		
/*
		if ($.browser.msie && $.browser.version < 7) {
			modal.select_show();
		}
		$(document).unbind('.dialog-overlay');
		$('div.ui-effects-wrapper').remove(); //show효과				
		element.parents('div.ui-dialog').empty().remove();
*/
	},
	reload : function (path){
		//modal reload
		var _modal_id = $('div.ui-dialog-content').get(0).id;
		$('#'+_modal_id).empty();
		$.loadPath(path, '#'+_modal_id, 'modal');
	},
	
	select_hide : function (){
		//ie 6 select box hide
		//Don't show select-box addClass (shop2_noSelectShow)
		$('select').not('.shop2_noSelectShow').hide();
	},
	
	select_show : function (){
		//ie 6 select box show
		//Don't show select-box addClass (shop2_noSelectShow)
		if($('div.ui-dialog').length > 1){
			$('div.ui-dialog:last').prev().find('select').show();
		}else{
			$('select').not('.shop2_noSelectShow').show();
		}
	},
	
	nokey : function(){
		$('div.ui-dialog, div.ui-widget-overlay').keydown(function(event){
			//NO F5
			if(event.keyCode == 116){						
				if($.browser.msie){
					window.event.keyCode = 0;
					window.event.cancelBubble = true; 
					window.event.returnValue = false;
				}
				return false;
			}
		});		
	}	
};

