//Gestione PNG con JS
//Attivazione CufOn
//OnFocus input

jQuery(function(){
    if(jQuery.browser.version < 7 && jQuery.browser.msie == true){
        pngfix();
    }
    Cufon.replace(".title-princ, .title-sec, .title, .title a", {
        fontFamily: 'Helvetica35-Thin',
        hover : true
    });
    
/*	jQuery(".delme").focus(function(){
        if (jQuery(this).is('input')) {
            var orival = jQuery(this).val();
            jQuery(this).val("");
        }else{
            var orival = jQuery(this).html();
            jQuery(this).html("");
        }

        jQuery(this).blur(function(){
            if(jQuery(this).is('input')){
                if (jQuery(this).val() != "" && jQuery(this).val() != orival) {
                    jQuery(this).removeClass('delme').unbind('blur').unbind('focus');
                }else{
                    jQuery(this).val(orival);
                }
            }else{
                if (jQuery(this).html() != "" && jQuery(this).html() != orival) {
                    jQuery(this).removeClass('delme').unbind('blur').unbind('focus');
                }else if (jQuery.browser.safari && jQuery(this).val() != "" && jQuery(this).val() != orival) {
                    jQuery(this).removeClass('delme').unbind('blur').unbind('focus');
                }else{
                    jQuery(this).html(orival);
                }
            }

        });
    });
*/
	jQuery('.thumbnail').hover(function() {
		jQuery(this).find('.thumbnail-description').addClass("hover").stop() /* Add class of "hover", then stop animation queue buildup*/
			.animate({
			}, 500); /* this value of "200" is the speed of how fast/slow this hover animates */
	
		} , function() {
		jQuery(this).find('.thumbnail-description').removeClass("hover").stop()  /* Remove the "hover" class , then stop animation queue buildup*/
			.animate({
			}, 400);
	});	

   /*
     * Begin infinite slider by reset
     */
    jQuery.fn.infinteSlider = function(options){
        //alert(this.tagName);
        //        this.each(function(){
        //            alert(this.tagName);
        //        });
        
        /*
         *Init zone
         */
        var settings = {
            focusFrame : false,
            infiniteMode : false,
            naviMarkup : '<div class="slider-navi"><a class="foward"></a><a class="back"></a></div>'
        };
        jQuery.extend(settings, options);
        var naviMarkup = settings.naviMarkup;
        var cont = this;
        var navi;
        /*
         * Find out what is the sliding content, the container and the buttons
         */
        if(cont.find('ul').html()){
            var elCont = cont.find('ul');
            var elem = elCont.children();
            if(!cont.find('.back')){
                elCont.after(naviMarkup);
            }
        }else{
            var elem = cont.children();
            var elCont = cont;
            if(!elCont.parent().find('.back')){
                elCont.after(naviMarkup);
            }
        }
        var navi = cont.find(".back").parent();
        var cont = this;
        var startLeft = 0;
        var init = function(){
            
            if(settings.focusFrame){
                startLeft = jQuery(settings.focusFrame).offset().left;
            }
            if(elCont.css('left') == "auto"){
                elCont.css('left', 0);
            }
            elCont.css({
                left : parseInt(elCont.css('left'))+startLeft
            });
            elCont.width(elem.width()*elem.length);
            slideBind();
            if(settings.infiniteMode){
                fillBefore();
            }
            
        };
        var getOpacity = function(){
        	elem = cont.find('li');
			elem.css({opacity : .5});
            var o = jQuery(".slider-navi").offset();
            o.right =  o.left + jQuery(".slider-navi").width();
            elem.each(function(){
            	var li = jQuery(this);
            	li.removeClass();
            	var liLeft = li.offset().left;
				var distanceS = o.left - liLeft;
				li.addClass("s"+distanceS);
				var distanceE = liLeft - o.right;
				li.addClass("e"+distanceE);
				if(distanceS <= 1 && distanceE < -0.5){
					li.css({opacity : 1});
				}   		});
		}
        var fillBefore = function(num){
            startLeft = parseInt(elCont.css('left'))-(elem.length*elem.width());
            elCont.prepend(elCont.html()).width(elem.width()*cont.find('li').length).css("left", startLeft);
            elem = elCont.children(); 
            getOpacity();

        //elCont.prepend(elCont.html()).css("left", parseInt(elCont.css('left'))-numelem*elem.width());

        }
        var slideFoward = function(){
            if(settings.infiniteMode){
                //Rendo il primo figlio absolute, lo metto alla fine spostandolo a dx della sua larghezza
                elCont.children(":first").appendTo(elCont);
                //setto il left della lista aggiungendo la larghezza del figlio spostato altrimenti va indietro
                elCont.css({
                    left : parseInt(elCont.css('left'))+elCont.find(":first").width()
                });
            }
            //ricavo il left per l'animazione - attuale left meno (-) larghezza elemento
            var newLeft = parseInt(elCont.css('left'))-elCont.find(":first").width()-(parseInt(elCont.find(":first").css("marginRight"))+parseInt(elCont.find(":first").css("marginLeft")));
            //alert(newLeft);
            elCont.animate({
                left : newLeft
            }, 500, function(){
                //alert(elCont);
                getOpacity();
                slideBind();
            });
        };
        var slideBack = function(){
            if(settings.infiniteMode){
                //Rendo l'ultimo figlio absolute, lo metto all'inizio spostandolo a sx della sua larghezza
                elCont.children(":last").prependTo(elCont);
                //alert(1);
                //setto il left della lista aggiungendo la larghezza del figlio spostato altrimenti va avanti
                elCont.css({
                    left : parseInt(elCont.css('left')) - elCont.children(":first").width()
                });
            }
            //alert(2);
            //ricavo il left per l'animazione - attuale left meno (-) larghezza elemento
            var newLeft = parseInt(elCont.css('left'))+elCont.find(":first").width()+(parseInt(elCont.find(":first").css("marginRight"))+parseInt(elCont.find(":first").css("marginLeft")));
            //alert(newLeft);
            //alert(newLeft);
            elCont.animate({
                left : newLeft
            }, 500, function(){
                //alert(elCont);
                getOpacity();
                slideBind();
            });
        };
        var slideBind = function(){
            navi.find(".foward").click(function(){
                slideUnbind();
                slideFoward();
                return false;
            });
            navi.find(".back").click(function(){
                slideUnbind();
                slideBack();
                return false;
            });
        }
        var slideUnbind = function(){
            navi.find("a").unbind();
        }
        init();
        return this;
    };
// END INFINITE SLIDER Anzi inFINTE


    jQuery(".slider").infinteSlider({infiniteMode : true,
	focusFrame : '.slider-navi'});
});

function antiSpam(user, site)
{
	document.write('<a href=\"mailto:' + user + '@' + site + '\">');
	document.write(user + '@' + site + '</a>');
}
