//#######################################
// Configura AJAX do Jquery (load, get, post) para nao dar erro de caracteres =)
// Nao funciona no IE
//#######################################
jQuery.ajaxSetup({ 'beforeSend' : 
	function(xhr) 
	{ 
		xhr.overrideMimeType('text/html; charset=ISO-8859-1'); 
	} 
});
//#######################################
// Plugin Color
//#######################################
(function(jQuery){

	// We override the animation for all of these color styles
	jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
		jQuery.fx.step[attr] = function(fx){
			if ( fx.state == 0 ) {
				fx.start = getColor( fx.elem, attr );
				fx.end = getRGB( fx.end );
			}
            if ( fx.start )
                fx.elem.style[attr] = "rgb(" + [
                    Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
                    Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
                    Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
                ].join(",") + ")";
		}
	});

	// Color Conversion functions from highlightFade
	// By Blair Mitchelmore
	// http://jquery.offput.ca/highlightFade/

	// Parse strings looking for color tuples [255,255,255]
	function getRGB(color) {
		var result;

		// Check if we're already dealing with an array of colors
		if ( color && color.constructor == Array && color.length == 3 )
			return color;

		// Look for rgb(num,num,num)
		if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
			return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];

		// Look for rgb(num%,num%,num%)
		if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
			return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];

		// Look for #a0b1c2
		if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
			return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];

		// Look for #fff
		if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
			return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];

		// Otherwise, we're most likely dealing with a named color
		return colors[jQuery.trim(color).toLowerCase()];
	}
	
	function getColor(elem, attr) {
		var color;

		do {
			color = jQuery.curCSS(elem, attr);

			// Keep going until we find an element that has color, or we hit the body
			if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
				break; 

			attr = "backgroundColor";
		} while ( elem = elem.parentNode );

		return getRGB(color);
	};
	
	// Some named colors to work with
	// From Interface by Stefan Petre
	// http://interface.eyecon.ro/

	var colors = {
		aqua:[0,255,255],
		azure:[240,255,255],
		beige:[245,245,220],
		black:[0,0,0],
		blue:[0,0,255],
		brown:[165,42,42],
		cyan:[0,255,255],
		darkblue:[0,0,139],
		darkcyan:[0,139,139],
		darkgrey:[169,169,169],
		darkgreen:[0,100,0],
		darkkhaki:[189,183,107],
		darkmagenta:[139,0,139],
		darkolivegreen:[85,107,47],
		darkorange:[255,140,0],
		darkorchid:[153,50,204],
		darkred:[139,0,0],
		darksalmon:[233,150,122],
		darkviolet:[148,0,211],
		fuchsia:[255,0,255],
		gold:[255,215,0],
		green:[0,128,0],
		indigo:[75,0,130],
		khaki:[240,230,140],
		lightblue:[173,216,230],
		lightcyan:[224,255,255],
		lightgreen:[144,238,144],
		lightgrey:[211,211,211],
		lightpink:[255,182,193],
		lightyellow:[255,255,224],
		lime:[0,255,0],
		magenta:[255,0,255],
		maroon:[128,0,0],
		navy:[0,0,128],
		olive:[128,128,0],
		orange:[255,165,0],
		pink:[255,192,203],
		purple:[128,0,128],
		violet:[128,0,128],
		red:[255,0,0],
		silver:[192,192,192],
		white:[255,255,255],
		yellow:[255,255,0]
	};
	
})(jQuery);
//#######################################
// Loading
//#######################################
(function(jQuery) 
{
	jQuery.loader = function(act, options) 
	{
		var options = (jQuery.isPlainObject( act )) ? act : options;
		loaderoption = jQuery.extend
		({
			id           : 'JQloading',
			classe       : 'JQloading',
			msg          : 'Carregando!',
			element      : '',
			loadergif    : 'loader'
		}, options);
		//LOADING
		if(jQuery('#'+loaderoption.id)[0])
		{
			jQuery('#'+loaderoption.id).fadeOut("fast",function(){jQuery(this).remove()});
		}
		if(jQuery('.'+loaderoption.classe)[0])
		{
			jQuery('.'+loaderoption.classe).fadeOut("fast",function(){jQuery(this).remove()});
		}		
		if(act=='open')
		{
			var JQloading = jQuery('<div></div>')
			.attr({id:loaderoption.id})
			.addClass(loaderoption.classe)
			.html(loaderoption.msg+"<br /><img src='"+ipb_var_image_url+"/"+loaderoption.loadergif+".gif'>");
			var widthloading  = JQloading.width();
			var heightloading = JQloading.height();	
			
			if(loaderoption.element)
			{
				var element       = jQuery("#"+loaderoption.element);
				if(typeof element[0] !== 'undefined')
				{
					var top           = element.offset().top;
					var left          = element.offset().left;
					var width         = element.width();
					var height        = element.height();
					var nleft         = (left + (width/2))-(widthloading/2);
					var ntop          = (top + (height/2))-(heightloading/2);
					JQloading.css({left:nleft,top:ntop});
				}
			}
			else
			{
				JQloading.css({margin:'-'+(heightloading/2)+'px 0 0 -'+(widthloading/2)+'px'});
			}
			JQloading.appendTo('body');
		}
	};
})(jQuery);
//#######################################
// MENU DROP DOWN 
//#######################################
(function(jQuery) 
{
	jQuery.fn.dropmenu = function(content,options) 
	{
		defaut = jQuery.extend({evento:'click',classwrap:'dropmenudivwrap'}, options);
    	/* Variaveis globais */
		//OBJETO QUE CHAMA O MENU E SUA CLASSE
		//var obj      = jQuery(this);
		
		this.css({cursor: 'pointer'});
		jQuery(window).scroll(function(e){
        	closemenu(e);
		});
        jQuery(window).resize(function(e){
            closemenu(e);            
        });
		jQuery(document).click(function(e){
            closemenu(e);             
        });
			jQuery(this).live(defaut.evento,function(e){
					settings = jQuery.extend
					({
						classe       : 'dropmenudiv',
						classwrap    : 'dropmenudivwrap',
						efeitohover  : '',
						classehover  : 'dropmenudiv_hover',
						classvisited : 'dropmenudiv_visited',
						height       : '',
						margimbottom : 20,
						color        : '#fff'
					}, options);                  
				  criamenu(jQuery(this)); 
            });
		//+++++++++++++++++++++++++++++++
		// CRIA O MENU
		//+++++++++++++++++++++++++++++++
        function criamenu($this) 
		{
			//closeallmenu($this)
			
			//OFFSETTOP E OFFSETLEFT DO MENU, ID DO OBJETO QUE CHAMA O MENU
			var offsettop  = parseInt($this.offset().top+settings.margimbottom);
			var offsetleft = $this.offset().left;
			var objid      = $this.attr('id');
			if(typeof $('#divmenu_'+objid)[0]!=="undefined")
			{
				return false;
			}			
			//DIV CONTENT INTERNA DO MENU
			var contents = 'content_'+objid;
			var contentdiv = jQuery('<div></div>')
			.attr({id:contents})
			.addClass(settings.classe)
			.html(content.join(""));
			//DIV CONTENT EXTERNA DO MENU
			jQuery('<div></div>')
			.attr({id:'divmenu_'+objid})
			.css({
				 	top       :offsettop,
					left      :offsetleft,
					position  :'absolute',
					'z-index' :100
				})
			.addClass(settings.classwrap)
			.append(contentdiv)
			.appendTo('body')
			.hide()
			.slideDown(1000);
			
			// TARGET NAME NA DIV CONTENT EXTERNA
			jQuery(settings.tag,'#content_'+objid).attr('name','a_'+objid);
			
			//EFEITO HOVER
			if(settings.efeitohover)
			{
				var divclass    = jQuery('.' + settings.classe + ' a');
				var classcolor  = divclass.css('color');
				divclass.hover(function (){
					jQuery(this).addClass(settings.classehover).stop().animate({color:settings.color}, 300 );
				}, 
				function (){
					jQuery(this).removeClass(settings.classehover).stop().animate({color:settings.color}, 300 );				
				});
			}
			//BARRA DE ROLAGEM CASO SOLICITADO
			if(settings.height && contentdiv.height() > settings.height.substr(0,(settings.height.length-2)))
			{
				contentdiv.css({'height':settings.height,'overflow-y':'scroll','overflow-x':'hidden'});
			}
        }
		//+++++++++++++++++++++++++++++++
		// FECHA O MENU
		//+++++++++++++++++++++++++++++++		
        function closemenu(e) 
		{
			var target = (e && e.target) || (event && event.srcElement);
			jQuery('div').each(function(i)
			{
				
				if(jQuery(this).attr('id').substr(0,8)=='divmenu_')
				{
					
					if(e.type=='click' && target.id != jQuery(this).attr('id').substr(8))
					{
						jQuery(this).slideUp(1000,function(){removemenu(this)});	
					}
					else if(e.type=='resize' || e.type=='scroll')
					{
						removemenu(jQuery(this));
					}
				}
			}); 
        }
		//+++++++++++++++++++++++++++++++
		// REMOVE O MENU DA PAGINA
		//+++++++++++++++++++++++++++++++		
		function removemenu(menu)
		{
			jQuery(menu).remove();
		}		
	};
})(jQuery);

//#######################################
// Marquee
//#######################################	
(function(jQuery) 
{
	jQuery.fn.marquee = function(options) {
	}

})(jQuery);
//#######################################
// ENVIA FORM
//#######################################
(function(jQuery) 
{
	jQuery.fn.sendform = function(options) 
	{
		sfsettings = jQuery.extend
		({
			postreturn: function(data){}
			
		}, options);

    	/* Variaveis globais */
		var obj       = jQuery(this);
		var objform   = obj.parents('form');
		//junta valores do act do form e dos inputs do form
		var arraydata = jQuery.extend(pegainputs(objform[0]),pegaAct(objform));
		//envia o formulario
		jQuery.post
		(
			ipb_var_base_url,
			arraydata,
			function(retorno)
			{
				if(jQuery.isFunction(sfsettings.postreturn))
				{
					sfsettings.postreturn(retorno);// callback
				}
				
			}
		);
		//pega variaveis que possam estar no act do forumulario, que seriam enviados via get
		function pegaAct(objform)
		{
			var actdata    = {};
			var splitdata  = new Array();
			var objact     = objform.attr('action');
			var quebralink = objact.split('php?');
			var linkdata   = quebralink[1].split('&');
			if(quebralink[1])
			{
				for(var i in linkdata)
				{
					splitdata[i] = linkdata[i].split('=');
					actdata[splitdata[i][0]] =  splitdata[i][1] || "";
				}
			}
			return actdata;
		}
		//pega valores dos inputs
		function pegainputs(objform)
		{
			var inputdata = {};
			for(i=0;i<=objform.length;i++)
			{
				if(jQuery(objform[i]).attr('name'))
				{
					inputdata[jQuery(objform[i]).attr('name')] =  jQuery(objform[i]).val() || "";
				}
			}
			return inputdata;
		}
	};	
})(jQuery);
//#######################################
// LOAD MODAL
//#######################################
(function(jQuery) 
{
	jQuery.fn.loadmodal = function(options) 
	{
		lmsettings = jQuery.extend
		({
			div          : '',
			success      : function(data){}
			
		}, options);
		
    	/* Variaveis globais */
		var obj       = jQuery(this);
		var objtag    = obj.attr('tagName');
		var objid     = obj.attr('id');
		
		if(objtag=='INPUT')
		{
			if(typeof jQuery('#jminner')[0] === 'undefined' )
			{
				obj.parents('form').submit();
			}
			else
			{
				jQuery.loader('open');
				jQuery(obj).sendform({postreturn:
					function(data)
					{
						jQuery('#jminner').html(jQuery(data).find(lmsettings.div));
						var jminner = jQuery('#jminner');
						var Efilho = (lmsettings.div) ? jQuery(lmsettings.div) : jminner;
						jminner.parent().stop().animate(
						{
							height:Efilho.height()+'px',
							width:Efilho.width()+'px',
							marginTop:'-'+(Efilho.height()/2)+'px', 
							marginLeft:'-'+(Efilho.width()/2)+'px'
						}, 900 );
						if(jQuery.isFunction(lmsettings.success))
						{
							lmsettings.success();
						}
						jQuery.loader();
					} 
				});
			}
		}
		else if(objtag=='A')
		{
			jQuery.loader('open');
			var objurl = obj.attr('href');
			jQuery('#jminner').load(objurl + ' ' + lmsettings.div,
				function()
				{
					var jminner = jQuery(this);
					var Efilho = (lmsettings.div) ? jQuery(lmsettings.div) : jminner;
					jminner.parent().stop().animate(
						{
							height:Efilho.height()+'px',
							width:Efilho.width()+'px',
							marginTop:'-'+(Efilho.height()/2)+'px', 
							marginLeft:'-'+(Efilho.width()/2)+'px'
						}, 900 );
					jQuery.loader();
				}
			);
		}
	};	
})(jQuery);

//#######################################
// JANELA MODAL
//#######################################
(function(jQuery) 
{
	jQuery.fn.jmodal = function(options,delegate) 
	{
    	/* Variaveis globais */
		var obj      = this;
		var objid    = obj.attr('id');
		var objclass = obj.attr('class');
		jmsettings = jQuery.extend
		({
			classe       : '',
			Xfundomodal  : 600,
			Yfundomodal  : 322,
			closerecuo   : 25, 
			closeclass   : 'jmclose',
			closebutton  : '[X]',
			delegate     : '',
			linkextra    : function(e){}
		}, options);		
		jQuery(document).click(function(e){
			closejanelamodal(e)
        });
		
		if(delegate)
		{
			obj.each(function(){
											   
				var objurl   = (obj.attr('tagName')=='A') ? obj.attr('href') : ((jQuery.isFunction(jmsettings.linkextra)) ? jmsettings.linkextra() : "");		
				if(!objurl) return false;
				criajanela(objurl); 
			});			
		}
		else
		{
			obj.each(function(){
				jQuery(this).bind('click',function(e){
					var objurl   = (obj.attr('tagName')=='A') ? obj.attr('href') : ((jQuery.isFunction(jmsettings.linkextra)) ? jmsettings.linkextra(e) : "");							
					if(!objurl) return false;
					criajanela(objurl,e); 
				});
			});			
		}

		//function():
        function criajanela($this,e) 
		{
			if(typeof e!=='undefined')
			{
				e.preventDefault();
			}
			closeall();
			openwindow($this);
        }
        function openwindow(url) 
		{
			var maskHeight = jQuery(document).height();
			// Deixa url igual do cliente
			var urlorigem  = url.indexOf( "clanfenix.com" );
			var urlc       = window.location.toString();
			var urlcliente = urlc.indexOf( "clanfenix.com" );
			url = urlc.slice(0, urlcliente) + url.slice( urlorigem, url.length )
			
			//LOADING
			jQuery.loader('open',{classe:'jmloading'});
			
			//Cria FUNDO 'mask'
			jQuery('<div></div')
			.attr({id:'mask'})
			.css({'width':'100%','height':maskHeight+'px'})
			.appendTo('body')
			.hide()
			.fadeTo("slow",0.5,
				function()
				{
					//Cria Botao para fechar janela modal
					var jmclose = jQuery('<a></a>')
					.attr({id:'jmclose',href:'#',onclick:'return false'})
					.addClass(jmsettings.closeclass)
					.html(jmsettings.closebutton);				
					
					//Cria DIV WRAP (DIV DE FUNDO)
					var jmwrap = jQuery('<div></div>')
					.attr('id','jmwrap')
					.css({
							 width:jmsettings.Xfundomodal+'px',
							 //height:jmsettings.Yfundomodal+'px',
							 margin:'-'+(jmsettings.Yfundomodal/2)+'px 0 0 -'+(jmsettings.Xfundomodal/2)+'px'
						 })
					.append(jmclose)
					.appendTo('body')
					.hide();	
				
					//Cria DIV INNER (DIV INTERNA ==> JANELA EM SI)
					var jminner = jQuery('<div></div>')
					.attr('id','jminner')
					.load(url,
						function()
						{
							if(!jQuery(this).html())
							{
								window.location = url;	
								return;
							}
							
							jQuery(this).appendTo(jmwrap);
							jmwrap.fadeTo(1000,1.0);
							jQuery.loader('close');
						}
					);				
				});			
        }		
		function closejanelamodal(e)
		{	
			var target = (e && e.target) || (event && event.srcElement);									
			if(target.id=='jmclose')
			{
				jQuery('#jmwrap').fadeOut("slow",
					function()
					{
						jQuery(this).remove();
						jQuery('#mask').fadeOut("slow",function(){jQuery(this).remove()});
					});
			}
		}
		function closeall()
		{
			if(jQuery('#mask')[0]){jQuery('#mask').remove()}
			if(jQuery('#jmwrap')[0]){jQuery('#jmwrap').remove()}
		}
	};	
})(jQuery);
//#######################################
// ALERT
//#######################################
(function(jQuery) {
	
	jQuery.alerts = {
		
		// These properties can be read/written by accessing jQuery.alerts.propertyName from your scripts at any time
		
		verticalOffset: -75,                // vertical offset of the dialog from center screen, in pixels
		horizontalOffset: 0,                // horizontal offset of the dialog from center screen, in pixels/
		repositionOnResize: true,           // re-centers the dialog on window resize
		overlayOpacity: .01,                // transparency level of overlay
		overlayColor: '#FFF',               // base color of overlay
		draggable: true,                    // make the dialogs draggable (requires UI Draggables plugin)
		okButton: '&nbsp;OK&nbsp;',         // text for the OK button
		cancelButton: '&nbsp;Cancel&nbsp;', // text for the Cancel button
		dialogClass: null,                  // if specified, this class will be applied to all dialogs
		
		// Public methods
		
		alert: function(message, title, callback) {
			if( title == null ) title = 'Alert';
			jQuery.alerts._show(title, message, null, 'alert', function(result) {
				if( callback ) callback(result);
			});
		},
		
		confirm: function(message, title, callback) {
			if( title == null ) title = 'Confirm';
			jQuery.alerts._show(title, message, null, 'confirm', function(result) {
				if( callback ) callback(result);
			});
		},
			
		prompt: function(message, value, title, callback) {
			if( title == null ) title = 'Prompt';
			jQuery.alerts._show(title, message, value, 'prompt', function(result) {
				if( callback ) callback(result);
			});
		},
		
		// Private methods
		
		_show: function(title, msg, value, type, callback) {
			
			jQuery.alerts._hide();
			jQuery.alerts._overlay('show');
			
			jQuery("BODY").append(
			  							  
			  '<div id="popup_container">' +
			  '<div id="popup_border">' +	
			    '<h1 id="popup_title"></h1>' +
				'<div id="popup_inner">' +
			    '<div id="popup_content">' +
			      '<div id="popup_message"></div>' +
				'</div>' +
				'</div>' +
				'</div>' +				
			  '</div>');
			
			if( jQuery.alerts.dialogClass ) jQuery("#popup_container").addClass(jQuery.alerts.dialogClass);
			
			// IE6 Fix
			var pos = (jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 
			
			jQuery("#popup_container").css({
				position: pos,
				zIndex: 99999,
				margin: 0
			});
			
			jQuery("#popup_title").text(title);
			jQuery("#popup_content").addClass(type);
			jQuery("#popup_message").text(msg);
			jQuery("#popup_message").html( jQuery("#popup_message").text().replace(/\n/g, '<br />') );
			
			jQuery("#popup_container").css({
				minWidth: jQuery("#popup_container").outerWidth(),
				maxWidth: jQuery("#popup_container").outerWidth()
			});
			
			jQuery.alerts._reposition();
			jQuery.alerts._maintainPosition(true);
			
			switch( type ) {
				case 'alert':
					jQuery("#popup_message").after('<div id="popup_panel"><input type="button" value="' + jQuery.alerts.okButton + '" id="popup_ok" /></div>');
					jQuery("#popup_ok").click( function() {
						jQuery.alerts._hide();
						callback(true);
					});
					jQuery("#popup_ok").focus().keypress( function(e) {
						if( e.keyCode == 13 || e.keyCode == 27 ) jQuery("#popup_ok").trigger('click');
					});
				break;
				case 'confirm':
					jQuery("#popup_message").after('<div id="popup_panel"><input type="button" value="' + jQuery.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + jQuery.alerts.cancelButton + '" id="popup_cancel" /></div>');
					jQuery("#popup_ok").click( function() {
						jQuery.alerts._hide();
						if( callback ) callback(true);
					});
					jQuery("#popup_cancel").click( function() {
						jQuery.alerts._hide();
						if( callback ) callback(false);
					});
					jQuery("#popup_ok").focus();
					jQuery("#popup_ok, #popup_cancel").keypress( function(e) {
						if( e.keyCode == 13 ) jQuery("#popup_ok").trigger('click');
						if( e.keyCode == 27 ) jQuery("#popup_cancel").trigger('click');
					});
				break;
				case 'prompt':
					jQuery("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + jQuery.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + jQuery.alerts.cancelButton + '" id="popup_cancel" /></div>');
					jQuery("#popup_prompt").width( jQuery("#popup_message").width() );
					jQuery("#popup_ok").click( function() {
						var val = jQuery("#popup_prompt").val();
						jQuery.alerts._hide();
						if( callback ) callback( val );
					});
					jQuery("#popup_cancel").click( function() {
						jQuery.alerts._hide();
						if( callback ) callback( null );
					});
					jQuery("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {
						if( e.keyCode == 13 ) jQuery("#popup_ok").trigger('click');
						if( e.keyCode == 27 ) jQuery("#popup_cancel").trigger('click');
					});
					if( value ) jQuery("#popup_prompt").val(value);
					jQuery("#popup_prompt").focus().select();
				break;
			}
			
			// Make draggable
			if( jQuery.alerts.draggable ) {
				try {
					jQuery("#popup_container").draggable({ handle: jQuery("#popup_title") });
					jQuery("#popup_title").css({ cursor: 'move' });
				} catch(e) { /* requires jQuery UI draggables */ }
			}
		},
		
		_hide: function() {
			jQuery("#popup_container").remove();
			jQuery.alerts._overlay('hide');
			jQuery.alerts._maintainPosition(false);
		},
		
		_overlay: function(status) {
			switch( status ) {
				case 'show':
					jQuery.alerts._overlay('hide');
					jQuery("BODY").append('<div id="popup_overlay"></div>');
					jQuery("#popup_overlay").css({
						position: 'absolute',
						zIndex: 99998,
						top: '0px',
						left: '0px',
						width: '100%',
						height: jQuery(document).height(),
						background: jQuery.alerts.overlayColor,
						opacity: jQuery.alerts.overlayOpacity
					});
				break;
				case 'hide':
					jQuery("#popup_overlay").remove();
				break;
			}
		},
		
		_reposition: function() {
			var top = ((jQuery(window).height() / 2) - (jQuery("#popup_container").outerHeight() / 2)) + jQuery.alerts.verticalOffset;
			var left = ((jQuery(window).width() / 2) - (jQuery("#popup_container").outerWidth() / 2)) + jQuery.alerts.horizontalOffset;
			if( top < 0 ) top = 0;
			if( left < 0 ) left = 0;
			
			// IE6 fix
			if( jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6 ) top = top + jQuery(window).scrollTop();
			
			jQuery("#popup_container").css({
				top: top + 'px',
				left: left + 'px'
			});
			jQuery("#popup_overlay").height( jQuery(document).height() );
		},
		
		_maintainPosition: function(status) {
			if( jQuery.alerts.repositionOnResize ) {
				switch(status) {
					case true:
						jQuery(window).bind('resize', jQuery.alerts._reposition);
					break;
					case false:
						jQuery(window).unbind('resize', jQuery.alerts._reposition);
					break;
				}
			}
		}
		
	}
	
	// Shortuct functions
	jAlert = function(message, title, callback) {
		jQuery.alerts.alert(message, title, callback);
	}
	
	jConfirm = function(message, title, callback) {
		jQuery.alerts.confirm(message, title, callback);
	};
		
	jPrompt = function(message, value, title, callback) {
		jQuery.alerts.prompt(message, value, title, callback);
	};
	
})(jQuery);
