var calendario_atual_settings = null;
var calendario_atual_cont = null;
var calendario_atual_parent = null;

	(function($) {
		
		jQuery.fn.weeTabs = function(settings) {
			settings = jQuery.extend({
				speedOut	: 'fast',
				speedIn		: 'slow',
				effectIn	: 'fade',
				effectOut	: 'fade',
                imageTab    : false
			}, settings);
			var $container = $(this);
			var $tabs = $(".tabs a", this).addClass('clickable').click(function (e) {
                                if ($(this).attr("href").substr(0, 7) != 'http://' )
                                                    e.preventDefault();
                                else
                                    window.location = $(this).attr("href");

                                if ($(this).parents('li').hasClass('active'))
                                    return false;
				
				var $old_li = $(this).parents('ul').find(".active").removeClass("active");

				var $old_tab = $($old_li.find("a").attr("href"));
                
				var $new_tab = $($(this).attr("href"));
                
                if (settings.imageTab) {
                    //var $img = $new_tab.find("img");
                    //var src = $img.attr("src").split('.');
                    //var ext = src.pop();
                   // src.push("-on");
                    //$img.attr("src", src.join(".")+"."+ext);      
                    
                    var $img = $old_li.find("img");
                    var src = $img.attr("src").split('-on.');
                    $img.attr("src", src.join("."));
                }
                
				var $offset = $old_tab.offset();

                if ($(this).parents("ul").find(".active").length == 0)
				    $(this).parent().addClass("active");
				$container.height($container.height());
				
				if (settings.effectOut == "fade") {		
					$old_tab.hide().css({'position':'absolute'}).show().fadeOut(settings.speedOut);

				} else if (settings.effectOut == "slide") {
					$old_tab.hide().css({'position':'absolute'}).show().slideUp(settings.speedOut);
				} else if (settings.effectOut == "toggle") {
					$old_tab.hide().css({'position':'absolute'}).show().hide(settings.speedOut);
				}

				if (settings.effectIn == "fade") {					
					$new_tab.css({'position':''}).fadeIn(settings.speedIn);
				} else if (settings.effectIn == "slide") {
					$new_tab.css({'position':''}).slideDown(settings.speedIn);
				} else if (settings.effectIn == "toggle") {
					$new_tab.css({'position':''}).show(settings.speedIn);
				}
				
				
				
				delete $old_tab, $new_tab, $offset;
				return false;
			}).hover(function () {
                var $class = $(this).parents('li').addClass('hover').hasClass('active');
                
                if (!$class && settings.imageTab) {
                    
                    var $img = $(this).find("img");
                    var src = $img.attr("src").split('.');
                    var ext = src.pop();
                    $img.attr("src", src.join(".")+"-on."+ext);      
                    

                }
			}, function () {
                var $class = $(this).parents('li').removeClass('hover').hasClass('active');
                
                if (!$class && settings.imageTab) {
                    var $img = $(this).find("img");
                    var src = $img.attr("src").split('-on.');
                    $img.attr("src", src.join("."));                
                }
                    
		});
                 
          if (location.hash != '') {
              $("a[href='"+location.hash+"']", this).parent().addClass("active");
          }
           if ($(".active", this).length == 0) {
				$("li:first", this).addClass("active");
			}
            
            if (settings.imageTab) {
                var $img = $(".tabs .active").find("img");
                var src = $img.attr("src").split('.');
                var ext = src.pop();
                $img.attr("src", src.join(".")+"-on."+ext); 
            }
			
                        
                        
                        
			$($(".tabs .active a", this).attr("href")).show();
		}
        
        
		jQuery.fn.weeSlider = function(settings) {
			settings = jQuery.extend({
				slide_speed	    : 5000,
				fadeOut_speed	: 1000,
				fadeIn_speed	: 1000
			}, settings);
            
            var $master = $(this);			 
			var offset = $master.parent().offset();
			var $offset = $master.offset();
			var $slides = $master.css({'left':offset.left - (MONTE_SINAI ? 10 : 22),'visibility':'visible'})
					   .find(".slide").eq(0).show().end().each(function () {
							$(this).css({'position':'absolute'});
						});
			var total = $slides.length;
			var slider_selected = 0;
			var i;
			var html = '';
			for(i=1;i<=total; i++)
				html += '<li>'+i+'</li>';
			$("#slider-pagination", $master).html(html).css('margin-left', $master.width() - $("#slider-pagination", $master).width() - 5);
			var $lis = $("#slider-pagination li", $master);
            $lis.hover(function () {
				$(this).addClass('hover');										   
			}, function () {
				$(this).removeClass('hover');
			}).eq(0).addClass("selected");
			
			
			var auto_change_slider = function () {
				var next = slider_selected + 1;
				$lis.eq(slider_selected).removeClass("selected");
				if (next >= total)
					next = 0;
				$slides.eq(slider_selected).fadeOut(settings.fadeOut_speed).
						end().eq(next).fadeIn(settings.fadeIn_speed);
				slider_selected = next;
				$lis.eq(slider_selected).addClass("selected");
			}
			var timer;
			function start_interval() {
				timer = setInterval(auto_change_slider, settings.slide_speed);		
			}

			if ($lis.length > 1)
                start_interval();
			
			$lis.click(function () {
				$lis.eq(slider_selected).removeClass("selected");
				$(this).addClass("selected");	
				var next = parseInt($(this).html()) - 1;
				
				$slides.eq(slider_selected).fadeOut(settings.fadeOut_speed).
						end().eq(next).fadeIn(settings.fadeIn_speed);
				slider_selected = next;
				clearInterval(timer);
				start_interval();
			});
			
			
		}
        
        function ext_weeMenu(elemento, options) {
            $(elemento).weeMenu(options);
        }
        
        jQuery.fn.weeMenu = function(options) {
        	var settings = jQuery.extend({
        		timeout: 300,
                closetimer: 0,
                menu_item: 0
        	}, options);
        	
        	var close = function () {
        		if(settings.menu_item) 
        			//settings.menu_item.hide('fast');
        			settings.menu_item.css('visibility', 'hidden');
        	}
        	
        	var cancel = function () {
        		if(settings.closetime) {  
        			window.clearTimeout(settings.closetime);
        	      	closetimer = null;
          		}
        	}
        	
        	var open = function () {
         		cancel();
        	   	close();
        	    settings.menu_item = $('ul:first', this).css('visibility', 'visible').show();
        	}
        	
        	var timer = function () {
        		settings.closetime = window.setTimeout(close, settings.timeout);
        	}
        	$(this).bind('mouseover', open).bind('mouseout',  timer);	
            
            $('ul', this).each(function () {
                 ext_weeMenu(this, settings); 
            });
        };
        
        jQuery.fn.weeRadio = function () {
   
            var selected = $(this).is(":checked");
            var $element = $(this);
            var $offset = $(this).offset();
            if ($offset == null)
                return;
            $element.hide().before('<img src="'+SKIN_PATH+'btn-radio-'+(!selected ? 'un' : '')+'selected.png" width="18" height="18" alt="" style="top:'+$offset.top+'px;" class="customradio pointer '+$(this).attr('name')+'" name="'+$element.attr("name")+'" value="'+$(this).val()+'" id="customradio_'+$element.attr("id")+'" />');
        
            
            $("#customradio_"+$element.attr("id") ).click(function () {
                var $name = $(this).attr('name');
                $('.'+$name).attr("src", SKIN_PATH+'btn-radio-unselected.png');
                
                $(this).css({'outline':'1px dotted'}).animate({top: $offset.top+2}, 100, function () {
                        $(this).css({'top' : $offset.top, 'outline':0})
                    });
                //$(this).css('top', $(this).css('top') -  2);
                $(this).attr("src", SKIN_PATH+'btn-radio-selected.png');
                $element.attr('checked', true);

                $element.trigger('click');
                delete $name;
            });
 
        }
        
        jQuery.fn.weeCheckbox = function () {
            this.each(function () {
                var selected = $(this).is(":checked");
                var $element = $(this);
                var $offset = $(this).offset();
                var $check = $('<img src="'+SKIN_PATH+'btn-checkbox-'+(!selected ? 'off' : 'on')+'.gif" width="20" height="20" alt="" style="top:'+$offset.top+'px;" class="customcheckbox pointer '+$(this).attr('name')+'" value="'+$(this).val()+'" id="'+$(this).val()+'-'+$(this).attr('name')+'" />');
                $element.css('display','none').before($check);
                $element.click(function (e) {
                    e.preventDefault();

                })
                $check.click(function () {
                    var selected = $element.is(":checked");
                    $(this).attr("src", SKIN_PATH+'btn-checkbox-'+(selected ? 'off' : 'on')+'.gif');
                    
                    $(this).css({'outline':'1px dotted'}).animate({top: $offset.top+2}, 100, function () {
                        $(this).css({'top' : $offset.top, 'outline':0})
                    });
          
                    $element.attr('checked', !selected);

                    $element.trigger('click');
           
                });
            });
        }
        
        jQuery.fn.weeSelect = function(options) {
            var settings = jQuery.extend({
                menu_item: 0,
                css_class: 'custom_select',
                items: 20,
                item_extra_width: 40,
                fixWidth: 0,
                fixHeight: 0,
                open_condition : function () {
                    return true;
                }
        	}, options);
            
            //log(this);
            var $element;
            var event_on = false;
        	var close = function () {
      			settings.menu_item.css('visibility', 'hidden');
                event_on = false;
        	}
            
            var closebody = function (ev) {
                if($(ev.target).parent().get(0) != $element.parent().get(0) && $(ev.target).parent().parent().get(0) != $element.parent().get(0))
                    close();
            }
            
            var $offset = $(this).offset();
            var options  = '';
            var selected = '';
            
            $(this).css('visibility','hidden');
            
            var first = $("option", this).each(function () {
                options += '<li opt_value="'+$(this).attr('value')+'" '+($(this).is(":selected") ? 'class="selected"' : '')+' >'+$(this).html()+'</option>';
                if ($(this).is(":selected")) {
                    selected = $(this).html();
                }
            }).eq(0).html();
            var first_choose = false;
            if (selected == '') {
                first_choose = true;
                selected = first;
                   
            }
            var use_width = jQuery.browser.webkit ? $(this).outerWidth() : $(this).width();
            if (settings.fixWidth > 0)
                use_width = settings.fixWidth;
            $(this).css('visibility','hidden').before('<div class="'+settings.css_class+'" style=" width:'+use_width+'px;"><div id="wee_select_'+$(this).attr("id")+'"><span>'+selected+'</span><ul>'+options+'</ul></div></div>');
        	delete $offset, first, selected;
            
            $element = $('#wee_select_'+$(this).attr("id"));
            
            if (first_choose)
                $('li:first', $element).addClass('selected');
            
        	var open = function () {
                if (settings.open_condition()) {
                    if (settings.menu_item.css('visibility') != 'visible') {
                        settings.menu_item.css('visibility','visible');   
                        event_on = true;
                        $('li', settings.menu_item).removeClass('hover').eq(0).addClass('hover').focus();
                        $('li.hover', settings.menu_item).removeClass('hover');
                        $("li.selected", settings.menu_item).addClass('hover');
                        move_to_selected();
                    } else {
                        close();
                    }
                }
        	}
            
            var move_to_selected = function () {
                settings.menu_item.scrollTop(0);
                var $lis = $("li", settings.menu_item);
                var $sel = 0;
                $lis.each(function (i, val) {
                    if ($(this).is(".selected")) {
                        $sel = i;
                        return;
                    }
                });
                
                var height = $lis.eq($sel)[0].scrollHeight;
                
                var first = settings.menu_item.scrollTop() / height;                
                
                //console.log([$sel, settings.menu_item.scrollTop(), height, settings.items]);
                if ($sel >= settings.items)
                    settings.menu_item.scrollTop(height *  $sel);
            }
            
            var move_item = function (direction) {
                var $lis = $("li", settings.menu_item);
                var $sel = 0;
                $lis.each(function (i, val) {
                    if ($(this).is(".hover")) {
                        $sel = i;
                        return;
                    }
                });
                
                if ($sel < $lis.length -1 && direction == 'down') {
                    $sel++;    
                    //var height = $lis.removeClass("hover").eq($sel).addClass('hover')[0].scrollHeight;
                    //settings.menu_item.scrollTop(height * $sel - height * (settings.items - 1) );
                    var height = $lis.removeClass("hover").eq($sel).addClass('hover')[0].scrollHeight;
                    
                    var first = settings.menu_item.scrollTop() / height;
                    
                    
                    if ($sel > first + settings.items)
                        settings.menu_item.scrollTop(height *  (first + settings.items) );
                } else if ($sel > 0 && direction == 'up') {
                    $sel--;
                    var height = $lis.removeClass("hover").eq($sel).addClass('hover')[0].scrollHeight;
                    if (settings.menu_item.scrollTop() == height * ($sel + 1))
                        settings.menu_item.scrollTop(height * ($sel + 1) - height );
                }

                delete $lis, $sel;
            }
            
            var select_item = function (obj) {
                $('.selected', settings.menu_item).removeClass('selected');
                $(obj).addClass('selected');
                $('span', $element).html($(obj).html());
                var id = $element.attr('id').replace('wee_select_','');
               
                $("#"+id).val($(obj).attr('opt_value'));
                
                $('#'+id).trigger('change');

                
            }
            
            $(document).keydown(function (evt) {
                
                if (event_on){
                    evt.preventDefault();
                    switch (evt.keyCode) { 
                        case 38 :
                            move_item("up");
                            break;
                        case 40 :
                            move_item("down");
                            break;
                        case 13 :
                            select_item($("li.hover", settings.menu_item));
                            close();
                            break;
                    }
                }
            });

            settings.menu_item = $('ul', $element);
            var width = 0;
            var height = $("li", settings.menu_item).each(function () {
                if (use_width > width)
                    width = use_width;
            }).eq(0).height();

            settings.menu_item.width(width+settings.item_extra_width);
      
            if (( settings.fixHeight > 0 ? settings.fixHeight :  height ) * $("li", settings.menu_item).length  > ( settings.fixHeight > 0 ? settings.fixHeight :  height ) * settings.items)
                settings.menu_item.height(( settings.fixHeight > 0 ? settings.fixHeight :  height ) * settings.items);
                
            
        	$('#wee_select_'+$(this).attr("id")).bind('click', open).data('settings', settings).data('func', select_item);
            
            $("li", settings.menu_item).hover(function () {
                $("li", settings.menu_item).removeClass('hover');
                $(this).addClass('hover'); 
            }, function () {
                $(this).removeClass('hover');
            }).click(function () {
                select_item(this);
            });
            
            $(document.body).bind('click', closebody);

            
            //$('wee_select_'+$(this).attr("id")).hover(open, close);
            
            
        };
        
        jQuery.fn.weeSelectValue = function (val1, val2) {

            $('span',$("#wee_select_"+$(this).attr('id'))).html(val2);

            $(this).val(val1);
            $(this).trigger('change');
        }
        
        jQuery.fn.selectValue = function (val) {
            $(this).val(val);
            
            var id = $(this).attr("id");
            var opt_name = $("option[value="+val+"]", this).html();
            
            
            $('span',$("#wee_select_"+id)).html(opt_name);

            $(this).trigger('change');
            
            delete id, opt_name;
            
            return this;
        }
        
        
        jQuery.fn.weeSelectReplace = function(options) {
            $(this).html(options);
            
            var html = '';
            
            $("option", this).each(function () {
                html += '<li opt_value="'+$(this).attr('value')+'">'+$(this).html()+'</li>';
            })
            
            $("#wee_select_"+$(this).attr('id')).weeSelectRebuild(html);

        };
        
        jQuery.fn.weeSelectRebuild = function(options) {
            var settings = $(this).data('settings');
            var func = $(this).data('func');
            var use_width = jQuery.browser.webkit ? $(this).outerWidth() : $(this).width();
            $("li", this).unload().remove();
            var height = 25;
            $("ul", this).html(options);
            
            var itens = $("li", this).length;

            if (height * itens > height * settings.items)
                $("ul", this).height(height * settings.items);

            $(this).data('settings', settings);
        	//$('#wee_select_'+$(this).attr("id")).bind('click', open);	
            
            $("li", this).hover(function () {
                $("li", settings.menu_item).removeClass('hover');
                $(this).addClass('hover'); 
            }, function () {
                $(this).removeClass('hover');
            }).click(function () {
                func(this);
            });
        };
        
        jQuery.fn.editButton = function(options) {
            this.each(function () {
                var settings = jQuery.extend({
                    target: ''
            	}, options);
                if (settings.target == '')
                    settings.target = $(this).attr('target');
                
                settings.button = $(this);
                settings.button.bind('show', function () {
                    settings.button.attr({'title':'Fechar', 'alt' : 'Fechar', 'src' : SKIN_PATH+'btn-fechar.gif'});
                    $("#"+settings.target).show();
                });
                
                settings.button.bind('show_cond', function () {
                    if (settings.button.is(':visible')) {
                        $(this).trigger('show');   
                    }
                });
                
                settings.button.bind('hide_cond', function () {
                    if (settings.button.is(':visible')) {
                        settings.button.attr({'title':'Editar', 'alt' : 'Editar', 'src' : SKIN_PATH+'btn-editar.gif'});
                            $("#"+settings.target).hide();
                    }
                });
                
                $(this).click(function () {
                    if ($("#"+settings.target).is(':hidden')) {
                        settings.button.attr({'title':'Fechar', 'alt' : 'Fechar', 'src' : SKIN_PATH+'btn-fechar.gif'}); 
                        $("#"+settings.target).show();   
                    } else {
                        settings.button.attr({'title':'Editar', 'alt' : 'Editar', 'src' : SKIN_PATH+'btn-editar.gif'});
                        $("#"+settings.target).hide();
                            
                    }
                    
                });
            });
        };
        

        
        jQuery.fn.weeCalendarOpen = function(options) {
            var $parent = $(this);
            var settings = jQuery.extend({
                mes_ano       : '',
                from          : '',
                to            : '',
                input         : null,
                display       : null,
                blur_mode     : false,
                fancybox      : false,
                fancybox_offset : {left:0, top:0}
        	}, options);
            
            // Já tem calendário, só abrir
            FECHA_AUTOMATICA = false;
            if ($parent.attr('calendarizado') == '1') {
               
                $parent.data({
                    "cad_from" : settings.from,
                    "cad_to"   : settings.to 
                });
                $parent.data('event_on', true).data('cont').show();
                $parent.data("old_date", $parent.val());
                calendario_atual_settings = settings;
                calendario_atual_cont = $parent.data('cont');
                calendario_atual_parent = $parent;
            // Uhu precisamos criar um novo
            } else {
                $parent.attr('calendarizado', '1');
                var $cont = $('<div class="calendar_pop_box" />');
                $parent.data("old_date", $parent.val());
                
                var offset = $parent.offset();
                if (settings.fancybox ) {
                    $("#fancybox-outer").prepend($cont);   
                    $cont.css({marginLeft:settings.fancybox_offset.left, marginTop:settings.fancybox_offset.top}).show();
                    
                } else {
                    $parent.after($cont);
                }
                
                if ($parent.attr("has_relative") != 'true') {
                    $cont.css({left: offset.left + $parent.outerWidth() - $cont.outerWidth(), top : offset.top + $parent.height() }).show();
                }/*.position({
    			
                	of: $parent,
    				my: 'right top',
    				at: 'right bottom',
    				offset: 0,
    				collision: 'flip flip'
    			});*/
                
                
                
                $.ajax({
                    url: SITE_URL+"ajax/calendario_pop",
                    data: {
                        "from" : settings.from,
                        "to"   : settings.to
                    },
                    type:'post',
                    success: function (html) {
                        $cont.html(html);
                        
                        //if($('.dayable', $cont).length > 0 ) {
                            calendario_atual_settings = settings;
                            calendario_atual_cont = $cont;
                            calendario_atual_parent = $parent;
                        //}
                        
                        
                    }
                });
                
                $parent.data('event_on', true);
                $parent.data('cont', $cont);
                
                if (!settings.blur_mode ) {
                    var closebody = function (ev) {
                        if($parent.data('event_on') == true && $(ev.target).parents('.calendar_pop_box').length == 0 ) {
                            $parent.data('event_on', false).data('cont').hide();
                            FECHA_AUTOMATICA = true;
                        }
                    }
                    
                    $(document.body).bind('click', closebody);
                } else {
                    $cont.hover(function () {
                        $parent.data('hover_on', true);
                    }, function () {
                        if ($parent.data('hover_on') == true) {
                            $parent.data('hover_on', false); 
                            $parent.focus();
                        }
                    });
                    $parent.blur(function () {
                        if ($(this).data('hover_on') != true) {
                            $parent.weeCalendarClose();    
                        }
                    });
                }
            }
        };
        
        jQuery.fn.weeCalendarClose = function () {
            FECHA_AUTOMATICA = true;
            $(this).data('event_on', false).data('hover_on', false).data('cont').hide();
            $(this).trigger('trocou_data');
        };
        
        jQuery.fn.weeCalendar = function(options) {
            this.each(function () {
                var settings = jQuery.extend({
                    parent        : $(this),
                    ajax_url      : '',
                    months        : $(".mes", this),
                    years         : $(".ano", this),
                    years_max     : 3,
                    current_month : 0,
                    current_year  : 0,
                    post_data     : {},
                    mleft         : $(".mleft", this),
                    mright        : $(".mright", this),
                    content       : $(".calendar_content", this),
                    meses         : ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
                    ajax          : null
            	}, options);
                
                settings.current_month = parseInt(settings.months.val().ltrim("0"));
                settings.current_year  = parseInt(settings.years.val());
                
                var check_arrows = function () {
                    if (settings.current_month == 1 && settings.current_year == new Date().getFullYear()) {
                        settings.mleft.css('visibility','hidden');
                    } else {
                        settings.mleft.css('visibility','visible');
                    }
                    
                    if (settings.current_month == 12 && settings.current_year == new Date().getFullYear() + settings.years_max ) {
                        settings.mright.css('visibility','hidden');
                    } else {
                        settings.mright.css('visibility','visible');
                    }
                }
                
                settings.mleft.click(function () {
                    var tmp = settings.current_month;
                    tmp--;
                    
                    if (tmp == 0) {
                        tmp = 12;
                        settings.current_year--;
                        change_year(false);
                    }
                    settings.current_month = tmp;
                    
                    change_month();
                });
                
                change_month = function () {
                    check_arrows();
                    
                    var str_mes = settings.current_month < 10 ? ['0',settings.current_month].join('') : settings.current_month;
                    if (settings.months.hasClass('weeselect')) {
                        settings.months.weeSelectValue(str_mes,settings.meses[settings.current_month-1]);
                    } else
                        settings.months.val(str_mes);
                        
                    //settings.months.trigger('change');
                }
                
                change_year = function (change) {
                    settings.years.data('changing', !change);
                    if (settings.years.hasClass('weeselect'))
                        settings.years.weeSelectValue(settings.current_year,settings.current_year);
                    else
                        settings.years.val(settings.current_year);
                        
                    if (change == true)
                        settings.months.trigger('change');
                    settings.years.data('changing', false);
                }
                
                settings.mright.click(function () {
                    var tmp = settings.current_month;
                    tmp++;                    
                    if (tmp == 13) {
                        tmp = 1;
                        settings.current_year++;
                        change_year(false);
                    }
                    settings.current_month = tmp;
                    change_month();                    
                });
                
                settings.months.bind('change', function () {                    
                    var tmp = $(this).val();
                    if (tmp.indexOf(0) == '0')
                        tmp = tmp.substr(1,1);
                    
                    settings.current_month = parseInt(tmp);
                    check_arrows();
                    // Mudamos !! Vamos mudar o calendário agora !!!
                    settings.parent.trigger('atualizar_calendario');
                });
                settings.years.bind('change', function () {
                    if (!$(this).data('changing') == true) {
                        settings.current_year = parseInt($(this).val());
                        change_month();
                    }
                });
                
                settings.parent.bind('atualizar_calendario', function () {
                    if (settings.ajax != null) {
                        settings.ajax.abort();
                        
                    }
                    settings.content.block({ message: null });
                    settings.ajax = $.ajax({
                       url: [eval(settings.ajax_url),settings.current_month,settings.current_year].join('/'),
                       data : settings.post_data,
                       type : 'POST',
                       success: function (response) {
                            settings.content.html(response);
                            settings.content.unblock();
                            settings.ajax = null;
                       },
                       error : function () {
                            jAlert("Ocorreu um erro na requisição de dados com o servidor! Por favor tente novamente.");
                            settings.content.unblock();
                            settings.ajax = null;
                       }
                    }); 
                });
            });
        };
        
        jQuery.fn.opacity = function(opacity) {
            $(this).stop().animate({"opacity":opacity},100); 
            return this; 
        };
        
        jQuery.fn.weeGallery = function(options) {
            var settings = jQuery.extend({
                width: 220,
                height: 220,
                zoom: true
            }, options);
            $(this).each(function () {
            
                var first_index = 0;
                var $parent = $(this);
                
                var $images = $(".galeria-images img", $parent).click(function () {
                    $(".galeria-images .active", $parent).removeClass('active').opacity(0.5);      
                    $(this).addClass('active').opacity(1);
                    
                    $parent.trigger('galeria_trocar');
                 }).opacity(0.5).hover(function () {
                    if (!$(this).hasClass('active'))
                        $(this).opacity(1);
                 }, function () {
                    if (!$(this).hasClass('active'))
                        $(this).opacity(0.5);
                 });
                
                 $parent.bind('galeria_trocar', function () {
                    var $active = $(".galeria-images .active", $parent);
            
                    var html = '';
                    var fancybox = false;
                    if ($active.attr('youtube') != '') {
                        html = '<object width="'+settings.width+'" height="'+settings.height+'"><param name="movie" value="http://www.youtube.com/v/'+$active.attr('youtube')+'?fs=1&amp;hl=pt_BR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+$active.attr('youtube')+'?fs=1&amp;hl=pt_BR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="220" height="220"></embed></object>';
                    } else if ($active.attr('link') != '') {            
                        html = '<a href="'+$active.attr('link')+'" target="_blank"><div class="lupa" style="width:'+settings.width+'px; height:'+settings.height+'px"></div></a><img src="'+$active.attr('src')+'" width="'+settings.width+'" height="'+settings.height+'" />';            
                    } else if (settings.zoom){
                        html = '<a href="'+$active.attr('src')+'" id="galeria_lupa" rel="galeria"><div class="lupa" style="width:'+settings.width+'px; height:'+settings.height+'px"></div></a><img src="'+$active.attr('src')+'" width="'+settings.width+'" height="'+settings.height+'" />';
                        fancybox = true;
                    } else {
                        html = '<img src="'+$active.attr('src')+'" width="'+settings.width+'" height="'+settings.height+'" />';
                    }
                    var index = $images.index($active);
                    
                    if (index - first_index > 4) {
                        first_index =  index - first_index;
                        
                        $(".galeria-images", $parent).scrollTo($active);
                    }
            
                    $(".galeria-atual",$parent).html(html);
                    if (fancybox) {
                        var abriu = false;
                        $("a[rel=galeria]",$parent).fancybox({
                    		'transitionIn'	:	'elastic',
                    		'transitionOut'	:	'elastic',
                    		'speedIn'		:	600, 
                    		'speedOut'		:	200,
                            'onStart'       : function (ev, ev2) {
                                if (abriu == false && $("a[rel=galeria]").eq(ev2).attr("id") != 'galeria_lupa') {
                                    return false;
                                }
                                abriu = true;
                            },
                            'onClose' : function () {
                                abriu = false;
                            }
                    	});
                        
                     }
                 });
                
                var $next = $(".galeria-next", $parent).click(function () {
                    first_index += 4;
                    $(".galeria-images", $parent).scrollTo($images.eq(first_index), {duration: 300});
                    //console.log([$imgs.length,'-',( $imgs.length % 4),'==',first_index]);
                    if ($images.length - ($images.length % 4) == first_index) {
                        $(this).css('visibility','hidden');
                    } else if (first_index > 3) {
                        $prev.css('visibility','visible');
                    }
                });
                var $prev = $(".galeria-prev", $parent).click(function () {
                    first_index -= 4;
                    $(".galeria-images", $parent).scrollTo($images.eq(first_index+1), {duration: 300});
                    
                    if (first_index <  4) {
                        $(this).css('visibility','hidden');
                    } else if (first_index < $images.length - ($images.length % 4)) {
                        $next.css('visibility','visible');
                    }
                });

                $images.eq(0).addClass('active').opacity(1);
                
                $parent.trigger('galeria_trocar');
            });
            return this; 
        };
	})(jQuery); 

function add_wee_input(obj) {
    
} 

$(function () {

});
    

function select_dayable(obj, dia) {
    var settings = calendario_atual_settings;
    var $cont = calendario_atual_cont;
    var $parent = calendario_atual_parent;
    
    
    var data = dia+'-'+$(".mes", $cont).val()+'-'+$(".ano", $cont).val();
    settings.input.val(data);
    if (settings.display != null)
        settings.display.html(data);
    
    $parent.weeCalendarClose();   
    //$parent.trigger('trocou_data');
    
    //$parent.data("old_date", data);
    delete settings, $cont, $parent, data;
}
