

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 3;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return "?foo=" + randomstring;
}


circleMenu={
	settings:
		{
			effect:"<",
			itemFill:"#876ED7",
			itemHover:"#412C84",
			itemTextColor:"#FFF",
			itemStroke:"#444",
			itemStrokeDasharray:"",
			itemCircleStrokeWidth:1.5,
			itemTextOpacity:1,
			itemTextFont:"12px Helvetica",
			bounceTime:500,
			itemsRadiusTune:2
		},
	drawMenu:
		function(a,b){
			
			function C(){
				for(var a=0;a<j;a+=1){
					if(e.length!=0){
						k[a].animate(
								{ x:menuX-f[a]/2,y:menuY-f[a]/2,opacity:0 },
								circleMenu.settings.bounceTime,circleMenu.settings.effect
							)
					} else {
						k[a].animate(
							{cx:menuX,cy:menuY,opacity:0},
							circleMenu.settings.bounceTime,circleMenu.settings.effect
							);
						l[a].animate(
							{x:menuX,y:menuY,opacity:0},
							circleMenu.settings.bounceTime,circleMenu.settings.effect
							)
					}
				}
				r.animate(
					{opacity:0},
					circleMenu.settings.bounceTime/2
					);
				setTimeout(
					function(){
						while(c.firstChild){
							c.removeChild(c.firstChild)
						}
					},
					circleMenu.settings.bounceTime
				)
			}
			
			function B(){
				var a=Math.PI*2/j,b;
				for(var c=0;c<j;c+=1){
					b=a*c;
					itemX=menuX+Math.cos(b)*(p-o);
					z=menuY-Math.sin(b)*(p-o);
					m.push(itemX);
					n.push(z)
				}
			}
			
			function A(){
				var a,b=p,c,d,e,f;
				if(j==1){
					return p
				} else if(j==2){
					return p/2
				} else {
					a=b*Math.tan(Raphael.rad(360/j/2));
					c=Math.sqrt(a*a+b*b);
					d=c+a;
					e=d-c;
					e=e*e;
					return Math.sqrt((d-a*2)*e/d)
				}
			}
			
			var c=document.getElementById("round_"+a),d=document.getElementById(a),e=[],f=[],g=[],h=[],i=[],j=0,k=[],l=[],m=[],n=[],o,p,q=d,r,s,t,u;
			
			for(var v=d.firstChild;v!=null;v=v.nextSibling){
				if(v.nodeType==1&&v.tagName=="LI"){
					j+=1;
					for(var w=v.firstChild;w!=null;w=w.nextSibling){
						if(w.nodeType==1&&w.tagName=="A"){
							i.push(w.getAttribute("href"));
							for(var x=w.firstChild;x!=null;x=x.nextSibling){
									h.push(x.data)
							}
						}
					}
				}
			}
			
			if(c.hasChildNodes()){
				return
			}
			
			if(b){
				var y=Raphael(c,b,b),z=itemX=menuX=menuY=b/2
			} else {
				var y=Raphael(c,225,200),z=itemX=menuX=menuY=100
			}
			
			p=menuX-1;
			o=A();
			B();
			for(var D=0;D<j;D+=1){
				itemsCurrentRadius=o+circleMenu.settings.itemsRadiusTune;
				if(e.length!=0){
					k[D]=y.image(e[D],menuX,menuY,f[D],g[D]).attr({href:i[D],title:h[D]||""});
					k[D].animate({x:m[D]-f[D]/2,y:n[D]-g[D]/2},circleMenu.settings.bounceTime,circleMenu.settings.effect)
				} else {
					k[D]=y.circle(menuX,menuY,itemsCurrentRadius).attr({
						href:i[D] + randomString(),
						fill:circleMenu.settings.itemFill,
						stroke:circleMenu.settings.itemStroke,
						"stroke-dasharray":circleMenu.settings.itemStrokeDasharray,
						"stroke-width":circleMenu.settings.itemCircleStrokeWidth
					});
					k[D].animate({cx:m[D],cy:n[D]},circleMenu.settings.bounceTime,circleMenu.settings.effect);
					k[D].hover(function(a){
						this.animate({fill:circleMenu.settings.itemHover},100)},
						function(a){this.animate({fill:circleMenu.settings.itemFill},100)
					});
						
					l[D]=y.text(menuX,menuY,h[D]).attr({
						href:i[D],
						fill:circleMenu.settings.itemTextColor,
						opacity:circleMenu.settings.itemTextOpacity,
						font:circleMenu.settings.itemTextFont
					});
					l[D].animate({x:m[D],y:n[D]},circleMenu.settings.bounceTime,circleMenu.settings.effect);
					l[D].hover(function(a){
						this.prev.animate({fill:circleMenu.settings.itemHover},100)},
						function(a){this.prev.animate({fill:circleMenu.settings.itemFill},100)
					})
				}
			}
		}
	}

