/*
 * Plugin by: Fabio Politi
 * Date: 23/03/2012
 */
jQuery(document).ready(function(){
    ImgSwitch.init();
});


var ImgSwitch = {

    target: null,
    triggers: null,
    animating:false,
    frame:false,
	isAnimating:false,

    init: function(){
        ImgSwitch.target = jQuery('a#switchTarget');
        ImgSwitch.triggers = jQuery('a.trigger');
        ImgSwitch.frame = jQuery('div#servizi');
        ImgSwitch.triggers.click( ImgSwitch.doSwitch );
        ImgSwitch.target.click( ImgSwitch.doNothing );
        ImgSwitch.loadFrame(ImgSwitch.target.attr('href'));
    },


    loadFrame: function(page){
        page = page+"?rand";
        ImgSwitch.frame.hide();
        ImgSwitch.frame.load( page, function(){ImgSwitch.frame.fadeIn('normal'); } );
    },

    doNothing: function(evt){
        evt.preventDefault();
        evt.stopPropagation();
        return false;
    },

    doSwitch: function(event){
        if(event){
            event.preventDefault();
            event.stopPropagation();
        }

        if(ImgSwitch.isAnimating)return;

        var self = jQuery(this);
        var selfRel = self.attr('rel');
        var selfSources = selfRel.split("|");
        var selfImg = jQuery( "img" , self );
        var selfHref = self.attr('href');

        var target = ImgSwitch.target;
        var targetRel = target.attr('rel');
        var targetSources = targetRel.split("|");
        var targetImg = jQuery( "img" , target );
        var targetHref = target.attr('href');

       ImgSwitch.loadFrame(self.attr('href'));
        
		ImgSwitch.isAnimating=true;
		
		target.attr('rel', selfRel);
        target.attr('href', selfHref);
		
		
		self.attr('rel', targetRel);
        self.attr('href', targetHref);
			
        target.fadeOut(500 , function(){
            targetImg.attr('src', selfSources[1] );
            target.fadeIn(500);
            
			ImgSwitch.isAnimating=false;
        });


        self.fadeOut(500 , function(){
            selfImg.attr('src', targetSources[0] );
            self.fadeIn(500);
            
			ImgSwitch.isAnimating=false;
        })
    }
}




