	  /**
	  * @autor Recigio Poffo
	  * @uses Scripts to all pages
	  * @package Default
	  * @version $Id
	  * @copyright Copyright (c) 2007-2010 Doupler Internet Ltda
	  * 
	  * Apply function to all pages
	  *
	  * 
	  * Summary
	  * -aviso(title,subtitle,type) = message onscreen
	  * 
	  * -showWrapper() = fill screen with wrapper
	  * -hideWrapper() = hide wapprer()
	  * 
	  * -addWrapperBox() = addWrapperBox on the view
	  * -showWrapperBox() = show WrapperBox
	  * -hideWrapperBox() = hide WrapperBox
	  * 
	  * -setWrapperBoxContent(text) = set WrapperBox content
	  * -setWrapperBoxHeader(text) = set WrapperBox header
	  * -setWrapperBoxFooter(text) = set WrapperBox footer
	  * -addWrapperBoxContent(text) = add WrapperBox content
	  * 
	  * -closeWrapperBoxModal = close wrapper and wrapperbox
	  * -fontController(MaxHeight, MaxCaracters, element) = return size calculate
	  * -douplerConfirm(action = url, message = txt,type = url or function ,val = parameters)
	  * 
	  */
	  	

	 /******************************************************************************************************
	* Static functions
	******************************************************************************************************/

	 var controlerEnter = true;
	 
	 /**************************
	* Doupler Feedback Box
	* 
	* funtions to alert div on top page
	* @params title = text, subtitle = text, type = (error, alert,success)
	* 
	**************************/
	
	//set warning
	 function aviso(title,subtitle,type,callback)
	 {

		 //remove and add
		$('#feedback').remove();		
		$('#content').append('<div id="feedback" style="display:none" class="controller"><div id="feedbackmessage"><ul><li class="icon"></li><li class="message"><span></span><br /></li></ul></div></div>');
			
		
			 
		 $('#feedbackmessage .message').find("span").html(title);
		 $('#feedbackmessage .message').append(subtitle);
		 $('#feedbackmessage ul li.icon').addClass(type);
		 
			setTimeout( function(){
				$('#feedback').slideDown(); 
				$('#feedback').fadeTo(1,0.9); 
				setTimeout(function(){
					$('#feedback').slideUp();
					// now we are calling our own callback function
				      if(typeof callback == 'function'){
				        callback.call(this);
				      }
				},10000);
			},2000);
		 

	}
	//set click close
	$('#feedback').live('click',function(){
			
			$('#feedback').slideUp();
	} );
		
	 /**************************
	 * Doupler Wrapper
	 * 
	 * Function to wrapper div, to fill document
	 * 
	 * **************************/
	 function setWrapperSize(){
		 
			//set width and height
			 var height = $(document).height();
			 var width = $(document).width();
			$("#wrapper").css({'height': height+"px"});
			$("#wrapper").css({'width': width+"px"});
			
	}
	 $(window).resize(function() {
		 

		 setWrapperSize();

	 });
	 function showWrapper(){
		 		
		$('#wrapper').fadeTo(1,0.8);
		$('#wrapper').show();
		
		setWrapperSize();
		
	 }
	 
	 function hideWrapper(){
		 
		 $('#wrapper').hide();
	 }
	 
	 /**************************
	  * Doupler Wrapper Box
	  * 
	  * Function to wrapper box div, modal with dinamic information
	  * 
	  * **************************/
	 function addWrapperBox(){
		 
		 //remove others box
		 $('.wrapper-box').remove();
		 
		//append modal
		 $('#content').append("<div class='wrapper-box'> <div class='wrapper-box-start'><a name='#' class='close'></a></div><div class='wrapper-box-wrapper-content'><div class='wrapper-box-content'></div></div><div class='wrapper-box-end'></div></div>");

		 //set default close operation
		 $('.wrapper-box .close').click(function(){ closeWrapperBoxModal(); });
		 
		 $(window).resize(function() {
			 
			 centralizeBox('.wrapper-box',true);
		 });

		 
	 }
	 
	 //show wrapper
	 function showWrapperBox(){
		 
		 centralizeBox('.wrapper-box',false);
		 $('.wrapper-box').show();
		 setWrapperSize();
	 }
	 
	 //hide wrapper
	 function hideWrapperBox(){
		 
		 $('.wrapper-box').hide();
	 }
	 
	 //set copntent
	 function setWrapperBoxContent(content){
		 
		 $('.wrapper-box-content').html('');
		 $('.wrapper-box-content').append(content);
	 }
	 
	 //set header
	 function setWrapperBoxHeader(content){
		 

		 $('.wrapper-box-start').append(content);
	 }
	 function setWrapperBoxFooter(content){
		 
		 $('.wrapper-box-end').html('');
		 $('.wrapper-box-end').append(content);
	 }	

	 //add content
	 function addWrapperBoxContent(content){
		  
		 $('.wrapper-box-content').prepend(content);
	 }
	 
	 
	//close modal
	 function closeWrapperBoxModal()
	 {
		 hideWrapperBox();
		 hideWrapper();
		 	
	 }
	 
	 function centralizeBox(element,animate){
		 
		 var height =  $(element).height();
		 var width =  $(element).width();
		 var documentHeight = $(window).height();
		 var documentWidth = $(window).width();
		 
		 var middleH = (documentHeight-height)/2 + $(window).scrollTop();;
		 	 middleH = parseInt(middleH-10);
		 
		 var middleW = (documentWidth-width)/2;
		 	 middleW = parseInt(middleW);
		 
		 if(animate)	 
			 //$(element).animate({'top': middleH+"px"},300, "linear");
			 $(element).css({'top': middleH+"px"});
		 else
			 $(element).css({'top': middleH+"px"});
		 
	 }
	 
	 /**************************
	  * Doupler Confirm
	  * 
	  * Function to show a alert on the screen
	  * @params action = URL - ex: 'http://site/' or Function ex: myFunction , 
	  * 		messamge = text, 
	  * 		type = 'url','funtion' 
	  * 		val = parameter to function 
	  * 
	  * @return false if false, function or url if true
	  * **************************/
	 function douplerConfirm(action, message,type,val){
		 
		//add wrapper box to page
		 addWrapperBox();
		 setWrapperBoxHeader('<h2>Confirmação</h2>');
		 setWrapperBoxContent('<p class="confirm">'+message+'</p>');
		 setWrapperBoxFooter("<a class='participe-buttom ok' style='margin:0 30px 0 110px;' name='#'><span style='padding:13px 35px 2px 56px;' >"+alertYes+"</span></a> <a class='participe-buttom cancel' name='#'><span style='padding:13px 35px 2px 56px;'>"+alertNo+"</span></a>");
		 showWrapperBox();
		 showWrapper();
		 
		 $('.participe-buttom.ok').click(function(){ 
			 
			 if(type=='url')
			 {
				 window.location=action; 
				 closeWrapperBoxModal(); 
			 }
			 if(type=='function')
			 {
				 action.call(this,val); 
				 closeWrapperBoxModal();

			 }
			 
		 });
		 $('.participe-buttom.cancel').click(function(){ closeWrapperBoxModal(); return false; });
		 
		 return false;
	 }
	 
	 
	 /**************************
	 * Doupler Keyboard Control
	 * 
	 * Functions to control forms submits
	 * 
	 * **************************/
	 $(document).keydown(function(event){
		 
		  switch (event.keyCode) {
		  	case 27: $('#wrapper').hide();$('.wrapper-box-login').hide();break;
		  	case 40: controlerEnter=false;
	
		  }
		  
	});
	
	/**************************
	* Doupler Status Mouse
	* 
	* Function to control position of loading image
	* 
	* **************************/
	$(document).mousemove(function(e){
			 
			if($('#status:visible').css("display")!="none"){
				 $('#status').css('left',e.pageX+10);
				 $('#status').css('top',e.pageY);

			}
			 	 
	}); 
	 
	/**************************
	* Doupler Font Controler
	* @params MaxHeight, MaxCaracteres, element
	* @return size
	* **************************/
	/*
	 * Recieve font max size, max caracters and element
	 * Return the size optimized to text atual on element
	 * 
	 */
	
	function fontController(MaxHeight, MaxCaracters, element){
			 
		var qtdCaracters = element.html();

		if(qtdCaracters != null)
		{
			var start = qtdCaracters.toLowerCase().indexOf("<span>");
					
			if(start>0)
			{
				qtdCaracters = qtdCaracters.substr(0,start);
			}

			qtdCaracters = qtdCaracters.length;
			
			var size = parseInt(MaxCaracters*MaxHeight / qtdCaracters);
			
			
			if(qtdCaracters>MaxCaracters)
				return size;
			else
				return MaxHeight;
		}
		else
			return false;
	}
	
	
