//(function($){
//	window.alerts={
//		show:function(text,color){
//			$('.alerts-show').remove();
//			var x=$('<div class="alerts-show"></div>').click(function(){$(this).remove();}).html(text).css({
//				 'background':color,
//				 'padding':20,
//				 'position':'absolute',
//				 'top':50,
//				 'left':50,
//				 'z-index': 1000
//			}).appendTo($("body"));
//			console.log(x);
//		},
//		message: function(text){
//			window.alerts.show('message: '+text,'green');
//		},
//		error: function(text){
//			window.alerts.show('error: '+text,'red');
//		},
//		warning: function(text){
//			window.alerts.show('warning: '+text,'yellow');
//		}
//	};
//})(jQuery)


(function($){
	window.alerts={};
	var aw=window.alerts;
	aw.extend=$.extend;
	aw.extend({
		opened: false,
		windowEventsBinded: false,
		xhrobj: null,
		state: {
			ok		: 1,
			cancel	: 0,
			none	: -1
		},
		event: -1,

		open: function(options) {
//			reload_median();
			aw.stop();
			aw.event = -1;
			aw.options={
				ajax: false,
				width: 370,
				height: 'auto',
				content: false,
//				box: false,
				box: {
					title	: '',
					content	: '',
					symbol	: 'dandelion',
					icon	: 'info',
					buttons	: false
				},
				buttons: {
					ok		: {
						text	: 'OK',
						symbol	: 'pipeyes',
						onclick	: 'alerts.trig(1)'
					}
				},
				opened: function(){},
				completed: function(){},
				closed: function(){},
				callback: function(event) { }
			};
			aw.options=$.extend(aw.options, options || {});
			aw.openLayer(aw.options.width,aw.options.height);

			btns = '';
			width= 0;
			if(aw.options.buttons) {
				$.each(aw.options.buttons, function(i, obj) {
					btn = aw.getButton(obj).html();
					btns+= btn;
//					width+= $(btn).realDimension('width')+5;
					width+= 100;
				});
				aw.options.box.buttons = {html:btns, width: width};
			}

			aw.options.box = $.extend({content: aw.options.content ? aw.options.content : ''}, aw.options.box);
			if(typeof aw.options.box.buttons == 'object') {
				if(aw.options.box.buttons.width) aw.options.box.width = aw.options.box.buttons.width;
				if(aw.options.box.buttons.html) aw.options.box.buttons = aw.options.box.buttons.html;
			}
			$("#alertPopup .alert-popup-content").html(
				$( "#popupAlertTemplate" ).tmpl( aw.options.box )
			)

			if(aw.options.height!='auto'){
				$("#alertPopup .alert-popup-content .box-content").css(
					{
						height: aw.options.height-50,
						overflow: 'auto'
					}
				);
			}

			if(aw.options.ajax){
				aw.options.ajax=$.extend(aw.options.ajax,{
					type:'POST'
				});
				aw.xhrobj=$.ajax(options.ajax);
				aw.xhrobj.complete(aw.resizeLayer);
				if(!(typeof(aw.options.ajax.popup_update_disable)!='undefined' && aw.options.ajax.popup_update_disable))
				{
					$(aw.options.box?'#alertPopup .box-content':'#alertPopup .alert-popup-content')
								.html("<div style='height: 100px;' class='alert-popup-content-loader'></div>");
					window.ajaxLoader.addSlotLoader('#alertPopup .alert-popup-content-loader');
					aw.xhrobj.complete(
						function(req){
//							window.ajaxLoader.removeSlotLoaders();
							window.ajaxLoader.removeSlotLoader('#alertPopup .alert-popup-content-loader');
							$(aw.options.box?'#alertPopup .box-content':'#alertPopup .alert-popup-content')
								.html(req.responseText);
							aw.resizeLayer();
						}
					);
				}
				aw.xhrobj.complete(aw.options.completed);
			}

			$(document).trigger("myvip-alert-opened");
			aw.options.opened();
		},
		stop: function(){
			if(aw.xhrobj)aw.xhrobj.abort();
			$("#alertPopup").stop(true,true).hide();
			aw.opened=false;
		},
		openLayer: function(width,height){
			var sizeOptions={
				width: $(document).width(),
				height: $(document).height()
			};
			
			if(!isModernBrowser()){
				$("#alertPopup .alert-popup-bg").css('background','transparent');
			}

			$("#alertPopup").stop(false,false).fadeIn();
			$("#alertPopup .alert-popup-bg").css(sizeOptions);
			$("#alertPopup .alert-popup-container").css(sizeOptions);
				//.click(function(){pw.close()});

			var mTop=(($(window).height()-height)/2)+$(window).scrollTop();
			mTop=(mTop<0)?0:mTop;

			$("#alertPopup .alert-popup-content").css({
				width: width,
				height: height,
				marginTop: mTop
			});
			aw.resizeLayer();
			aw.opened=true;

			if(!aw.windowEventsBinded) {
				$(window).bind('resize.aw',function() {
						if(aw.opened) {
							aw.resizeLayer();
						}
					}
				);
				$(document).bind('click.aw', function() {
					if(aw.opened) aw.trig(1);
				});
				aw.windowEventsBinded = true;
			}
		},
		resizeLayer: function() {
			var height=$("#alertPopup .alert-popup-content").height();

			$("#alertPopup .alert-popup-bg").css({width: 'auto'});
			$("#alertPopup .alert-popup-container").css({width: 'auto'});

			var neww=$(document).width()>$(window).width()?$(window).width():$(document).width();

			$("#alertPopup .alert-popup-bg").css(
				{
					width: neww,
					height: $(document).height()
				}
			);

			$("#alertPopup .alert-popup-container").css(
				{
					width: neww,
					height: $(document).height()
				}
			);

			var mTop=(($(window).height()-height)/2)+$(window).scrollTop();
			mTop=(mTop<0)?0:mTop;

			$("#alertPopup .alert-popup-content").css({
				marginTop: mTop
			});
		},
		close: function(){
			if(aw.opened){
//				$("#alertPopup").stop(false,false).hide();
//				aw.opened=false;
				aw.stop();
				$(document).trigger("myvip-alert-closed");
				aw.options.closed();
			}
		},
		trig: function(event) {
			if(aw.opened) {
				aw.event = event;
				if(aw.options.callback) {
					aw.options.callback(event);
				}
				aw.close();
			}
		},
		getButton: function(obj) {
			if(obj.symbol) obj.symbol = 'symbol symbol-'+obj.symbol;
			else obj.symbol = '';
			return $('#popupAlertButtonTemplate').tmpl(obj);
		},
		message: function(text, callback){
            window.alerts.open({box:{'title':'Üzenet','symbol':'help','icon':'info'},'content':text,'callback':callback});
		},
		error: function(text, callback){
            window.alerts.open({box:{'title':'Hiba','symbol':'x','icon':'error'},'content':text,'callback':callback});
		},
		warning: function(text, callback){
            window.alerts.open({box:{'title':'Figyelmeztetés','symbol':'warning','icon':'warning'},'content':text,'callback':callback});
		}
	});
})(jQuery)
