/* Express Modular jQuery Plugin */
jQuery.package = function(ns, obj) {
   ns = ns.split('.');
   var cur = window, i;
   while ( i = ns.shift() )
      cur = cur[i] || ( cur[i] = {} );
   if ( obj )
      jQuery.extend(cur, obj);
};

$.package("expressModular", {

    submitFavoritesLoginForm : function(){
        $('#my-favorites-content').block({ 
            message: '<img src="/images/large-loading.gif" width="16" height="16" align="absmiddle" style="margin-right: 6px;" />Processing...' 
        });
        $('#myFavoritesForm').ajaxSubmit({
            target: '#my-favorites-content',
            success: function(){ 
                expressModular.initFavoriteTooltips();
                $('#my-favorites-content').unblock(); 
            }
        });
        return false;
    },

    changeFavorite : function(homeID, actionToPerform){
        $.getJSON('/ajax/favorites.php', {action: actionToPerform, id: homeID}, this.favoriteCallback);
    },

    favoriteCallback : function(data){
        $("#plan-favorite-button").html(data.buttonMarkup);
        $("#my-favorites-content").html(data.favoritesMarkup);
        expressModular.initFavoriteTooltips();        
    },
    
    initFavoriteTooltips : function(){
        //add tooltip to favorites links
        $('.favorite-link, .similar-link').each(function(index){
            $(this).bt({
                ajaxPath: ["'/ajax/favorite_tooltip.php?id='+$(this).attr('home')"],
                centerPointY: .1,
                positions: ['right', 'left'], 
                padding: 10, 
                width: 'auto',
                spikeGirth: 30, 
                spikeLength: 50, 
                cornerRadius: 10, 
                fill: '#FFF', 
                strokeStyle: '#B9090B', 
                shadow: true, 
                shadowBlur: 12,
                shadowOffsetX: 0,
                shadowOffsetY: 5, 
                hoverIntentOpts: {interval: 200, timeout: 0},
                cssStyles: {
                    fontSize: '12px',
                    fontFamily: 'arial,helvetica,sans-serif'
                }                
            });
        });        
    },
	
	rotateSidebarImg : function() {
		$('#rotating-sidebar-container').animate({top: '-=150px'}, "slow", "linear", function(){
			var currentTop = parseInt($('#rotating-sidebar-container').css('top'));
			var totalHeight = parseInt($('#rotating-sidebar-container').css('height'));
			if((Math.abs(currentTop) + 150) >=	totalHeight){
				$('#rotating-sidebar-container').css('top','0px');
			}
		});
	}
	

});

    
