// JavaScript Document

/*
 * NETEYE Activity Indicator jQuery Plugin
 *
 * Copyright (c) 2010 NETEYE GmbH
 * Licensed under the MIT license
 *
 * Author: Felix Gnass [fgnass at neteye dot de]
 * Version: 1.0.0
 */
(function(f){f.fn.activity=function(h){this.each(function(){var m=f(this);var k=m.data("activity");if(k){clearInterval(k.data("interval"));k.remove();m.removeData("activity")}if(h!==false){h=f.extend({color:m.css("color")},f.fn.activity.defaults,h);k=e(m,h).css("position","absolute").prependTo(h.outside?"body":m);var j=m.outerHeight()-k.height();var i=m.outerWidth()-k.width();var l={top:h.valign=="top"?h.padding:h.valign=="bottom"?j-h.padding:Math.floor(j/2),left:h.align=="left"?h.padding:h.align=="right"?i-h.padding:Math.floor(i/2)};var n=m.offset();if(h.outside){k.css({top:n.top+"px",left:n.left+"px"})}else{l.top-=k.offset().top-n.top;l.left-=k.offset().left-n.left}k.css({marginTop:l.top+"px",marginLeft:l.left+"px"});b(k,h.segments,Math.round(10/h.speed)/10);m.data("activity",k)}});return this};f.fn.activity.defaults={segments:12,space:3,length:7,width:4,speed:1.2,align:"center",valign:"center",padding:4};f.fn.activity.getOpacity=function(l,k){var j=l.steps||l.segments-1;var h=l.opacity!==undefined?l.opacity:1/j;return Math.min(k,j)*(1-h)/j};var e=function(){return f("<div>").addClass("busy")};var b=function(){};function a(i,h){var j=document.createElementNS("http://www.w3.org/2000/svg",i||"svg");if(h){f.each(h,function(m,l){j.setAttributeNS(null,m,l)})}return f(j)}if(document.createElementNS&&document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect){e=function(n,o){var m=o.width*2+o.space;var l=(m+o.length+Math.ceil(o.width/2)+1);var j=a().width(l*2).height(l*2);var k=a("g",{"stroke-width":o.width,"stroke-linecap":"round",stroke:o.color}).appendTo(a("g",{transform:"translate("+l+","+l+")"}).appendTo(j));for(var h=0;h<o.segments;h++){k.append(a("line",{x1:0,y1:m,x2:0,y2:m+o.length,transform:"rotate("+(360/o.segments*h)+", 0, 0)",opacity:f.fn.activity.getOpacity(o,h)}))}return f("<div>").append(j).width(2*l).height(2*l)};if(document.createElement("div").style.WebkitAnimationName!==undefined){var g={};b=function(j,n,k){if(!g[n]){var h="spin"+n;var m="@-webkit-keyframes "+h+" {";for(var l=0;l<n;l++){var q=Math.round(100000/n*l)/1000;var p=Math.round(100000/n*(l+1)-1)/1000;var o="% { -webkit-transform:rotate("+Math.round(360/n*l)+"deg); }\n";m+=q+o+p+o}m+="100% { -webkit-transform:rotate(100deg); }\n}";document.styleSheets[0].insertRule(m);g[n]=h}j.css("-webkit-animation",g[n]+" "+k+"s linear infinite")}}else{b=function(j,h,l){var i=0;var k=j.find("g g").get(0);j.data("interval",setInterval(function(){k.setAttributeNS(null,"transform","rotate("+(++i%h*(360/h))+")")},l*1000/h))}}}else{var d=f("<shape>").css("behavior","url(#default#VML)").appendTo("body");if(d.get(0).adj){var c=document.createStyleSheet();f.each(["group","shape","stroke"],function(){c.addRule(this,"behavior:url(#default#VML);")});e=function(n,q){var m=q.width*2+q.space;var l=(m+q.length+Math.ceil(q.width/2)+1);var k=l*2;var p=-Math.ceil(k/2);var j=f("<group>",{coordsize:k+" "+k,coordorigin:p+" "+p}).css({top:p,left:p,width:k,height:k});for(var h=0;h<q.segments;h++){j.append(f("<shape>",{path:"m "+m+",0  l "+(m+q.length)+",0"}).css({width:k,height:k,rotation:(360/q.segments*h)+"deg"}).append(f("<stroke>",{color:q.color,weight:q.width+"px",endcap:"round",opacity:f.fn.activity.getOpacity(q,h)})))}return f("<group>",{coordsize:k+" "+k}).css({width:k,height:k,overflow:"hidden"}).append(j)};b=function(j,h,l){var i=0;var k=j.get(0);j.data("interval",setInterval(function(){k.style.rotation=++i%h*(360/h)},l*1000/h))}}f(d).remove()}})(jQuery);
