$(function() {
  
    // !smooth scroll to hash tags
    $('#nav_main a').click(function(){
        $('html, body').animate({scrollTop: $(this.hash).offset().top}, 800);
        return false;
    });
  
    // !tooltips for links with title attribute
    $("a").not($("#nav_language a")).easyTooltip({ yOffset: 7 });
    $("#nav_language a").easyTooltip({ yOffset: -7, tooltipId: "smallTooltip" });
  
    // !tabbed interface for services
    $("#services a").click(function(){
        $("#nav_services a").removeClass("actif");
        $("#nav_services a[href='"+this.hash+"']").addClass("actif");
        $("#services div.tab").hide();
        $(this.hash).fadeIn('slow');
        return false;
    });
    $("#nav_services a.default").click();
    
    //  !slider for work
    $("#slider").easySlider({
		auto: true, 
		continuous: true,
		pause: 2500,
		numeric: true
	});
	
	// !flash object
	var params = {
        menu: false
    };
	swfobject.embedSWF( "flash/animation.swf", "animation", "570", "380", "9.0.115",
                        "flash/expressInstall.swf", flashvars, params, {id: 'animation'} );
    
    // !form ajax
    $("#contact_form").submit(function() {
        var submitButton = $(this).find("input[type='submit']");
        btnText = $(submitButton).attr("value");  
        $(submitButton).attr("value", "Please Wait..."); 
        $(submitButton).attr("disabled", "disabled");
        var url = $(this).attr('action');
        
        $.post(url, $(this).serialize(), function(data){
            var content = $("#fieldset-contact", data).html();
            $("#fieldset-contact").html(content);
            $(submitButton).removeAttr("disabled");
            $(submitButton).attr("value", btnText);
            if ($("#fieldset-contact").find("h3").size() > 0) {
                $("p.submit").remove();
            }
        })
        
        return false;
    });
    
});


/*
 *  Easy Tooltip 1.0 - jQuery plugin
 *  inspiration by Alen Grakalic - modified by gunther groenewege   
 */
 
(function($) {

    $.fn.easyTooltip = function(options){
      
        var defaults = {    
            yOffset: 10,
            tooltipId: "easyTooltip"
        }; 
            
        var options = $.extend(defaults, options);  
                
        this.each(function() { 
            var trigger = $(this);              
            var title = $(this).attr("title");              
            trigger.hover(function(e){                                                                         
                trigger.attr("title","");
                
                if (title != "" && title != undefined){         
                    $("body").append("<div id='"+ options.tooltipId +"'>"+ title +"</div>");    
                    var tip = $("#" + options.tooltipId);
                    tip.css("position","absolute");
                    
                    if (options.yOffset < 0) {
                        var top = trigger.position().top + tip.outerHeight();
                    } else {
                        var top = trigger.position().top - tip.outerHeight();
                    }           
                    
                    var left = trigger.position().left + (trigger.outerWidth()/2) - (tip.outerWidth()/2);                                   
                    
                    tip.css("top",top + "px").css("left",left + "px").css("display","none")
                       .animate({opacity: 'show', top: '-=' + options.yOffset}, 400);                               
                }
            },
            function(){ 
                $("#" + options.tooltipId).remove();
                $(this).attr("title",title);
            }); 
        });
      
    };

})(jQuery);


/*
 * 	Easy Slider 1.7 - jQuery plugin
 *	written by Alen Grakalic	
 *	http://cssglobe.com/post/4004/easy-slider-15-the-easiest-jquery-plugin-for-sliding
 *
 */

(function($) {

	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {			
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',	
			nextText: 		'Next',
			controlsShow:	true,
			controlsBefore:	'',
			controlsAfter:	'',	
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',	
			lastText: 		'Last',
			lastShow:		false,				
			vertical:		false,
			speed: 			800,
			auto:			false,
			pause:			2000,
			continuous:		false, 
			numeric: 		false,
			numericId: 		'controls',
			legends:        true
		}; 
		
		var options = $.extend(defaults, options);  
				
		this.each(function() {  
			var obj = $(this); 				
			var s = $("li", obj).length;
			var w = $("li", obj).width(); 
			var h = $("li", obj).height(); 
			var clickable = true;
			obj.width(w); 
			obj.height(h); 
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);	
			
			if(options.legends){
			  $(".legend", obj).each(function(index) {
			    $(this).attr('id',"legend" + (index))
			         .css("position","absolute").css("left",0).css("bottom",0)
			         .hide();
			  });;
			}		
			
			if(options.continuous){
				$("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left","-"+ w +"px"));
				$("ul", obj).append($("ul li:nth-child(2)", obj).clone());
				$("ul", obj).css('width',(s+1)*w);
			};				
			
			if(!options.vertical) $("li", obj).css('float','left');
								
			if(options.controlsShow){
				var html = options.controlsBefore;				
				if(options.numeric){
					html += '<ol id="'+ options.numericId +'"></ol>';
				} else {
					if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
					html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
					html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
					if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';				
				};
				
				html += options.controlsAfter;						
				$(obj).after(html);										
			};
			
			if(options.numeric){									
				for(var i=0;i<s;i++){						
					$(document.createElement("li"))
						.attr('id',options.numericId + (i+1))
						.html('<a rel='+ i +' href=\"javascript:void(0);\">'+ (i+1) +'</a>')
						.appendTo($("#"+ options.numericId))
						.click(function(){							
							animate($("a",$(this)).attr('rel'),true);
						}); 												
				};							
			} else {
				$("a","#"+options.nextId).click(function(){		
					animate("next",true);
				});
				$("a","#"+options.prevId).click(function(){		
					animate("prev",true);				
				});	
				$("a","#"+options.firstId).click(function(){		
					animate("first",true);
				});				
				$("a","#"+options.lastId).click(function(){		
					animate("last",true);				
				});				
			};
			
			function setCurrent(i){
				i = parseInt(i)+1;
				$("li", "#" + options.numericId).removeClass("current");
				$("li#" + options.numericId + i).addClass("current");
			};
			
			function adjust(){
				if(t>ts) t=0;		
				if(t<0) t=ts;	
				if(!options.vertical) {
					$("ul",obj).css("margin-left",(t*w*-1));
				} else {
					$("ul",obj).css("margin-left",(t*h*-1));
				}
				clickable = true;
				if(options.numeric) setCurrent(t);
				if(options.legends) {
				   $(".legend", obj).hide();
				   $("#legend" + t).show();
				}
			};
			
			function animate(dir,clicked){
				if (clickable){
					clickable = false;
					var ot = t;				
					switch(dir){
						case "next":
							t = (ot>=ts) ? (options.continuous ? t+1 : ts) : t+1;						
							break; 
						case "prev":
							t = (t<=0) ? (options.continuous ? t-1 : 0) : t-1;
							break; 
						case "first":
							t = 0;
							break; 
						case "last":
							t = ts;
							break; 
						default:
							t = dir;
							break; 
					};	
					var diff = Math.abs(ot-t);
					var speed = diff*options.speed;						
					if(!options.vertical) {
						p = (t*w*-1);
						$("ul",obj).animate(
							{ marginLeft: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);				
					} else {
						p = (t*h*-1);
						$("ul",obj).animate(
							{ marginTop: p }, 
							{ queue:false, duration:speed, complete:adjust }
						);					
					};
					
					if(!options.continuous && options.controlsFade){					
						if(t==ts){
							$("a","#"+options.nextId).hide();
							$("a","#"+options.lastId).hide();
						} else {
							$("a","#"+options.nextId).show();
							$("a","#"+options.lastId).show();					
						};
						if(t==0){
							$("a","#"+options.prevId).hide();
							$("a","#"+options.firstId).hide();
						} else {
							$("a","#"+options.prevId).show();
							$("a","#"+options.firstId).show();
						};					
					};				
					
					if(clicked) clearTimeout(timeout);
					if(options.auto && dir=="next" && !clicked){;
						timeout = setTimeout(function(){
							animate("next",false);
						},diff*options.speed+options.pause);
					};
			
				};
				
			};
			// init
			var timeout;
			if(options.auto){;
				timeout = setTimeout(function(){
					animate("next",false);
				},options.pause);
			};		
			
			if(options.numeric) setCurrent(0);
			
			if(options.legends) {
			   $(".legend", obj).hide();
			   $("#legend0").show();
			}
		
			if(!options.continuous && options.controlsFade){					
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();				
			};				
			
		});
	  
	};

})(jQuery);
