// popups and loaders
var ACTIVEPOUP = 0;
function showLoader(obj){
	var loader = $('<div id="pre-loader"><p>Wait...</p></div>');
	$("body").append(loader);
	loader.css("left",obj.offset().left+obj.width()-70);
	loader.css("top",obj.offset().top-obj.height()-1);
	loader.fadeIn(100);
}

function hideLoader(){
	$('div#pre-loader').fadeOut(100,function(){$(this).remove();});
}

function showMxPopup(msg){
	if(msg) {		
		var msgBox   = $('<div id="mx-popup">'+
						  '<div align="center"><div id="err-message">'+msg+'</div><input type="button" name="btnClose" onclick="hideMxPopup();" id="btnClose" class="btn-blue" value="CLOSE" /></div>'+
						'</div>');
		
		var maskHeight = $(document).height();
		var maskWidth = $(window).width();	
		
		if(!ACTIVEPOUP) {								
			var winmask = $('<div id="mx-winmask"></div>');
			$("body").append(winmask.click(function() { hideMxPopup(); }));
			winmask.css("opacity", 0.8);
			winmask.css({'width':maskWidth,'height':maskHeight});	
			winmask.fadeIn(200);			
		}
		$("body").append(msgBox);		
		$("div#mx-popup").center();
		$(document).keydown(handleEscape);
	}
	return false;
}


function hideMxPopup(){
	if(!ACTIVEPOUP)	
		$('div#mx-winmask').fadeOut(200,function(){$(this).remove();});
	$('div#mx-popup').fadeOut(200,function(){$(this).remove();});
	 $(document).unbind("keydown", handleEscape)
	return false;
}

function showMxForm(frm,modal){
	if(frm) {
		ACTIVEPOUP = 1;
		var strPopup = '<div id="mx-winmask"></div>';
		var winmask = $(strPopup);
		$("body").append(winmask.click(function() { if(!modal) { hideMxForm(frm);}  }));
		
		winmask.css("opacity", 0.8);				
		var maskHeight = $(document).height();
		var maskWidth = $(window).width();		
		winmask.css({'width':maskWidth,'height':maskHeight});	
		winmask.fadeIn(200);						
		$(frm).center();
		$(frm).show();
	}
	return false;
}

function hideMxForm(frm,modal){
	ACTIVEPOUP = 0;
	if(!modal) {
		$('div#mx-winmask').fadeOut(200,function(){$(this).remove();});
		$(document).unbind("keydown", handleEscape)		 
		if(frm)
			$(frm).hide();
	}
}

function handleEscape(e){ if (e.keyCode == 27){ hideMxPopup(); }}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
  URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});
