jQuery.bt={version:"0.9.5-rc1"};(function($){jQuery.fn.bt=function(content,options){if(typeof content!="string"){var contentSelect=true;options=content;content=false;}else{var contentSelect=false;}if(jQuery.fn.hoverIntent&&jQuery.bt.defaults.trigger=="hover"){jQuery.bt.defaults.trigger="hoverIntent";}return this.each(function(index){var opts=jQuery.extend(false,jQuery.bt.defaults,jQuery.bt.options,options);opts.spikeLength=numb(opts.spikeLength);opts.spikeGirth=numb(opts.spikeGirth);opts.overlap=numb(opts.overlap);var ajaxTimeout=false;if(opts.killTitle){$(this).find("[title]").andSelf().each(function(){if(!$(this).attr("bt-xTitle")){$(this).attr("bt-xTitle",$(this).attr("title")).attr("title","");}});}if(typeof opts.trigger=="string"){opts.trigger=[opts.trigger];}if(opts.trigger[0]=="hoverIntent"){var hoverOpts=jQuery.extend(opts.hoverIntentOpts,{over:function(){this.btOn();},out:function(){this.btOff();}});$(this).hoverIntent(hoverOpts);}else{if(opts.trigger[0]=="hover"){$(this).hover(function(){this.btOn();},function(){this.btOff();});}else{if(opts.trigger[0]=="now"){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}}else{if(opts.trigger[0]=="none"){}else{if(opts.trigger.length>1&&opts.trigger[0]!=opts.trigger[1]){$(this).bind(opts.trigger[0],function(){this.btOn();}).bind(opts.trigger[1],function(){this.btOff();});}else{$(this).bind(opts.trigger[0],function(){if($(this).hasClass("bt-active")){this.btOff();}else{this.btOn();}});}}}}}this.btOn=function(){if(typeof $(this).data("bt-box")=="object"){this.btOff();}opts.preBuild.apply(this);$(jQuery.bt.vars.closeWhenOpenStack).btOff();$(this).addClass("bt-active "+opts.activeClass);if(contentSelect&&opts.ajaxPath==null){if(opts.killTitle){$(this).attr("title",$(this).attr("bt-xTitle"));}content=$.isFunction(opts.contentSelector)?opts.contentSelector.apply(this):eval(opts.contentSelector);if(opts.killTitle){$(this).attr("title","");}}if(opts.ajaxPath!=null&&content==false){if(typeof opts.ajaxPath=="object"){var url=eval(opts.ajaxPath[0]);url+=opts.ajaxPath[1]?" "+opts.ajaxPath[1]:"";}else{var url=opts.ajaxPath;}var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}var cacheData=opts.ajaxCache?$(document.body).data("btCache-"+url.replace(/\./g,"")):null;if(typeof cacheData=="string"){content=selector?$("<div/>").append(cacheData.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):cacheData;}else{var target=this;var ajaxOpts=jQuery.extend(false,{type:opts.ajaxType,data:opts.ajaxData,cache:opts.ajaxCache,url:url,complete:function(XMLHttpRequest,textStatus){if(textStatus=="success"||textStatus=="notmodified"){if(opts.ajaxCache){$(document.body).data("btCache-"+url.replace(/\./g,""),XMLHttpRequest.responseText);}ajaxTimeout=false;content=selector?$("<div/>").append(XMLHttpRequest.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):XMLHttpRequest.responseText;}else{if(textStatus=="timeout"){ajaxTimeout=true;}content=opts.ajaxError.replace(/%error/g,XMLHttpRequest.statusText);}if($(target).hasClass("bt-active")){target.btOn();}}},opts.ajaxOpts);jQuery.ajax(ajaxOpts);content=opts.ajaxLoading;}}var shadowMarginX=0;var shadowMarginY=0;var shadowShiftX=0;var shadowShiftY=0;if(opts.shadow&&!shadowSupport()){opts.shadow=false;jQuery.extend(opts,opts.noShadowOpts);}if(opts.shadow){if(opts.shadowBlur>Math.abs(opts.shadowOffsetX)){shadowMarginX=opts.shadowBlur*2;}else{shadowMarginX=opts.shadowBlur+Math.abs(opts.shadowOffsetX);}shadowShiftX=(opts.shadowBlur-opts.shadowOffsetX)>0?opts.shadowBlur-opts.shadowOffsetX:0;if(opts.shadowBlur>Math.abs(opts.shadowOffsetY)){shadowMarginY=opts.shadowBlur*2;}else{shadowMarginY=opts.shadowBlur+Math.abs(opts.shadowOffsetY);}shadowShiftY=(opts.shadowBlur-opts.shadowOffsetY)>0?opts.shadowBlur-opts.shadowOffsetY:0;}if(opts.offsetParent){var offsetParent=$(opts.offsetParent);var offsetParentPos=offsetParent.offset();var pos=$(this).offset();var top=numb(pos.top)-numb(offsetParentPos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)-numb(offsetParentPos.left)+numb($(this).css("margin-left"))-shadowShiftX;}else{var offsetParent=($(this).css("position")=="absolute")?$(this).parents().eq(0).offsetParent():$(this).offsetParent();var pos=$(this).btPosition();var top=numb(pos.top)+numb($(this).css("margin-top"))-shadowShiftY;var left=numb(pos.left)+numb($(this).css("margin-left"))-shadowShiftX;}var width=$(this).btOuterWidth();var height=$(this).outerHeight();if(typeof content=="object"){var original=content;var clone=$(original).clone(true).show();var origClones=$(original).data("bt-clones")||[];origClones.push(clone);$(original).data("bt-clones",origClones);$(clone).data("bt-orig",original);$(this).data("bt-content-orig",{original:original,clone:clone});content=clone;}if(typeof content=="null"||content==""){return;}var $text=$('<div class="bt-content"></div>').append(content).css({padding:opts.padding,position:"absolute",width:(opts.shrinkToFit?"auto":opts.width),zIndex:opts.textzIndex,left:shadowShiftX,top:shadowShiftY}).css(opts.cssStyles);var $box=$('<div class="bt-wrapper"></div>').append($text).addClass(opts.cssClass).css({position:"absolute",width:opts.width,zIndex:opts.wrapperzIndex,visibility:"hidden"}).appendTo(offsetParent);if(jQuery.fn.bgiframe){$text.bgiframe();$box.bgiframe();}$(this).data("bt-box",$box);var scrollTop=numb($(document).scrollTop());var scrollLeft=numb($(document).scrollLeft());var docWidth=numb($(window).width());var docHeight=numb($(window).height());var winRight=scrollLeft+docWidth;var winBottom=scrollTop+docHeight;var space=new Object();var thisOffset=$(this).offset();space.top=thisOffset.top-scrollTop;space.bottom=docHeight-((thisOffset+height)-scrollTop);space.left=thisOffset.left-scrollLeft;space.right=docWidth-((thisOffset.left+width)-scrollLeft);var textOutHeight=numb($text.outerHeight());var textOutWidth=numb($text.btOuterWidth());if(opts.positions.constructor==String){opts.positions=opts.positions.replace(/ /,"").split(",");}if(opts.positions[0]=="most"){var position="top";for(var pig in space){position=space[pig]>space[position]?pig:position;}}else{for(var x in opts.positions){var position=opts.positions[x];if((position=="left"||position=="right")&&space[position]>textOutWidth+opts.spikeLength){break;}else{if((position=="top"||position=="bottom")&&space[position]>textOutHeight+opts.spikeLength){break;}}}}var horiz=left+((width-textOutWidth)*0.5);var vert=top+((height-textOutHeight)*0.5);var points=new Array();var textTop,textLeft,textRight,textBottom,textTopSpace,textBottomSpace,textLeftSpace,textRightSpace,crossPoint,textCenter,spikePoint;switch(position){case"top":$text.css("margin-bottom",opts.spikeLength+"px");$box.css({top:(top-$text.outerHeight(true))+opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={y:textBottom+opts.spikeLength,x:((textRight-textLeft)*0.5)+xShift,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textBottom);crossPoint.x=crossPoint.x<textLeft+opts.spikeGirth/2+opts.cornerRadius?textLeft+opts.spikeGirth/2+opts.cornerRadius:crossPoint.x;crossPoint.x=crossPoint.x>(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.CornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:crossPoint.x+(opts.spikeGirth/2),y:textBottom,type:"join"};points[points.length]=spikePoint;break;case"left":$text.css("margin-right",opts.spikeLength+"px");$box.css({top:vert+"px",left:((left-$text.btOuterWidth(true))+opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:textRight+opts.spikeLength,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textRight);crossPoint.y=crossPoint.y<textTop+opts.spikeGirth/2+opts.cornerRadius?textTop+opts.spikeGirth/2+opts.cornerRadius:crossPoint.y;crossPoint.y=crossPoint.y>(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textRight,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;case"bottom":$text.css("margin-top",opts.spikeLength+"px");$box.css({top:(top+height)-opts.overlap,left:horiz});textRightSpace=(winRight-opts.windowMargin)-($text.offset().left+$text.btOuterWidth(true));var xShift=shadowShiftX;if(textRightSpace<0){$box.css("left",(numb($box.css("left"))+textRightSpace)+"px");xShift-=textRightSpace;}textLeftSpace=($text.offset().left+numb($text.css("margin-left")))-(scrollLeft+opts.windowMargin);if(textLeftSpace<0){$box.css("left",(numb($box.css("left"))-textLeftSpace)+"px");xShift+=textLeftSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:((textRight-textLeft)*0.5)+xShift,y:shadowShiftY,type:"spike"};crossPoint=findIntersectX(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textTop);crossPoint.x=crossPoint.x<textLeft+opts.spikeGirth/2+opts.cornerRadius?textLeft+opts.spikeGirth/2+opts.cornerRadius:crossPoint.x;crossPoint.x=crossPoint.x>(textRight-opts.spikeGirth/2)-opts.cornerRadius?(textRight-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.x;points[points.length]={x:crossPoint.x+opts.spikeGirth/2,y:textTop,type:"join"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:crossPoint.x-(opts.spikeGirth/2),y:textTop,type:"join"};points[points.length]=spikePoint;break;case"right":$text.css("margin-left",(opts.spikeLength+"px"));$box.css({top:vert+"px",left:((left+width)-opts.overlap)+"px"});textBottomSpace=(winBottom-opts.windowMargin)-($text.offset().top+$text.outerHeight(true));var yShift=shadowShiftY;if(textBottomSpace<0){$box.css("top",(numb($box.css("top"))+textBottomSpace)+"px");yShift-=textBottomSpace;}textTopSpace=($text.offset().top+numb($text.css("margin-top")))-(scrollTop+opts.windowMargin);if(textTopSpace<0){$box.css("top",(numb($box.css("top"))-textTopSpace)+"px");yShift+=textTopSpace;}textTop=$text.btPosition().top+numb($text.css("margin-top"));textLeft=$text.btPosition().left+numb($text.css("margin-left"));textRight=textLeft+$text.btOuterWidth();textBottom=textTop+$text.outerHeight();textCenter={x:textLeft+($text.btOuterWidth()*opts.centerPointX),y:textTop+($text.outerHeight()*opts.centerPointY)};points[points.length]=spikePoint={x:shadowShiftX,y:((textBottom-textTop)*0.5)+yShift,type:"spike"};crossPoint=findIntersectY(spikePoint.x,spikePoint.y,textCenter.x,textCenter.y,textLeft);crossPoint.y=crossPoint.y<textTop+opts.spikeGirth/2+opts.cornerRadius?textTop+opts.spikeGirth/2+opts.cornerRadius:crossPoint.y;crossPoint.y=crossPoint.y>(textBottom-opts.spikeGirth/2)-opts.cornerRadius?(textBottom-opts.spikeGirth/2)-opts.cornerRadius:crossPoint.y;points[points.length]={x:textLeft,y:crossPoint.y-opts.spikeGirth/2,type:"join"};points[points.length]={x:textLeft,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textTop,type:"corner"};points[points.length]={x:textRight,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:textBottom,type:"corner"};points[points.length]={x:textLeft,y:crossPoint.y+opts.spikeGirth/2,type:"join"};points[points.length]=spikePoint;break;}var canvas=document.createElement("canvas");$(canvas).attr("width",(numb($text.btOuterWidth(true))+opts.strokeWidth*2+shadowMarginX)).attr("height",(numb($text.outerHeight(true))+opts.strokeWidth*2+shadowMarginY)).appendTo($box).css({position:"absolute",zIndex:opts.boxzIndex});if(typeof G_vmlCanvasManager!="undefined"){canvas=G_vmlCanvasManager.initElement(canvas);}if(opts.cornerRadius>0){var newPoints=new Array();var newPoint;for(var i=0;i<points.length;i++){if(points[i].type=="corner"){newPoint=betweenPoint(points[i],points[(i-1)%points.length],opts.cornerRadius);newPoint.type="arcStart";newPoints[newPoints.length]=newPoint;newPoints[newPoints.length]=points[i];newPoint=betweenPoint(points[i],points[(i+1)%points.length],opts.cornerRadius);newPoint.type="arcEnd";newPoints[newPoints.length]=newPoint;}else{newPoints[newPoints.length]=points[i];}}points=newPoints;}var ctx=canvas.getContext("2d");if(opts.shadow&&opts.shadowOverlap!==true){var shadowOverlap=numb(opts.shadowOverlap);switch(position){case"top":if(opts.shadowOffsetX+opts.shadowBlur-shadowOverlap>0){$box.css("top",(numb($box.css("top"))-(opts.shadowOffsetX+opts.shadowBlur-shadowOverlap)));}break;case"right":if(shadowShiftX-shadowOverlap>0){$box.css("left",(numb($box.css("left"))+shadowShiftX-shadowOverlap));}break;case"bottom":if(shadowShiftY-shadowOverlap>0){$box.css("top",(numb($box.css("top"))+shadowShiftY-shadowOverlap));}break;case"left":if(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap>0){$box.css("left",(numb($box.css("left"))-(opts.shadowOffsetY+opts.shadowBlur-shadowOverlap)));}break;}}drawIt.apply(ctx,[points],opts.strokeWidth);ctx.fillStyle=opts.fill;if(opts.shadow){ctx.shadowOffsetX=opts.shadowOffsetX;ctx.shadowOffsetY=opts.shadowOffsetY;ctx.shadowBlur=opts.shadowBlur;ctx.shadowColor=opts.shadowColor;}ctx.closePath();ctx.fill();if(opts.strokeWidth>0){ctx.shadowColor="rgba(0, 0, 0, 0)";ctx.lineWidth=opts.strokeWidth;ctx.strokeStyle=opts.strokeStyle;ctx.beginPath();drawIt.apply(ctx,[points],opts.strokeWidth);ctx.closePath();ctx.stroke();}opts.preShow.apply(this,[$box[0]]);$box.css({display:"none",visibility:"visible"});opts.showTip.apply(this,[$box[0]]);if(opts.overlay){var overlay=$('<div class="bt-overlay"></div>').css({position:"absolute",backgroundColor:"blue",top:top,left:left,width:width,height:height,opacity:".2"}).appendTo(offsetParent);$(this).data("overlay",overlay);}if((opts.ajaxPath!=null&&opts.ajaxCache==false)||ajaxTimeout){content=false;}if(opts.clickAnywhereToClose){jQuery.bt.vars.clickAnywhereStack.push(this);$(document).click(jQuery.bt.docClick);}if(opts.closeWhenOthersOpen){jQuery.bt.vars.closeWhenOpenStack.push(this);}opts.postShow.apply(this,[$box[0]]);};this.btOff=function(){var box=$(this).data("bt-box");opts.preHide.apply(this,[box]);var i=this;i.btCleanup=function(){var box=$(i).data("bt-box");var contentOrig=$(i).data("bt-content-orig");var overlay=$(i).data("bt-overlay");if(typeof box=="object"){$(box).remove();$(i).removeData("bt-box");}if(typeof contentOrig=="object"){var clones=$(contentOrig.original).data("bt-clones");$(contentOrig).data("bt-clones",arrayRemove(clones,contentOrig.clone));}if(typeof overlay=="object"){$(overlay).remove();$(i).removeData("bt-overlay");}jQuery.bt.vars.clickAnywhereStack=arrayRemove(jQuery.bt.vars.clickAnywhereStack,i);jQuery.bt.vars.closeWhenOpenStack=arrayRemove(jQuery.bt.vars.closeWhenOpenStack,i);$(i).removeClass("bt-active "+opts.activeClass);opts.postHide.apply(i);};opts.hideTip.apply(this,[box,i.btCleanup]);};var refresh=this.btRefresh=function(){this.btOff();this.btOn();};});function drawIt(points,strokeWidth){this.moveTo(points[0].x,points[0].y);for(i=1;i<points.length;i++){if(points[i-1].type=="arcStart"){this.quadraticCurveTo(round5(points[i].x,strokeWidth),round5(points[i].y,strokeWidth),round5(points[(i+1)%points.length].x,strokeWidth),round5(points[(i+1)%points.length].y,strokeWidth));i++;}else{this.lineTo(round5(points[i].x,strokeWidth),round5(points[i].y,strokeWidth));}}}function round5(num,strokeWidth){var ret;strokeWidth=numb(strokeWidth);if(strokeWidth%2){ret=num;}else{ret=Math.round(num-0.5)+0.5;}return ret;}function numb(num){return parseInt(num)||0;}function arrayRemove(arr,elem){var x,newArr=new Array();for(x in arr){if(arr[x]!=elem){newArr.push(arr[x]);}}return newArr;}function canvasSupport(){var canvas_compatible=false;try{canvas_compatible=!!(document.createElement("canvas").getContext("2d"));}catch(e){canvas_compatible=!!(document.createElement("canvas").getContext);}return canvas_compatible;}function shadowSupport(){try{var userAgent=navigator.userAgent.toLowerCase();if(/webkit/.test(userAgent)){return true;}else{if(/gecko|mozilla/.test(userAgent)&&parseFloat(userAgent.match(/firefox\/(\d+(?:\.\d+)+)/)[1])>=3.1){return true;}}}catch(err){}return false;}function betweenPoint(point1,point2,dist){var y,x;if(point1.x==point2.x){y=point1.y<point2.y?point1.y+dist:point1.y-dist;return{x:point1.x,y:y};}else{if(point1.y==point2.y){x=point1.x<point2.x?point1.x+dist:point1.x-dist;return{x:x,y:point1.y};}}}function centerPoint(arcStart,corner,arcEnd){var x=corner.x==arcStart.x?arcEnd.x:arcStart.x;var y=corner.y==arcStart.y?arcEnd.y:arcStart.y;var startAngle,endAngle;if(arcStart.x<arcEnd.x){if(arcStart.y>arcEnd.y){startAngle=(Math.PI/180)*180;endAngle=(Math.PI/180)*90;}else{startAngle=(Math.PI/180)*90;endAngle=0;}}else{if(arcStart.y>arcEnd.y){startAngle=(Math.PI/180)*270;endAngle=(Math.PI/180)*180;}else{startAngle=0;endAngle=(Math.PI/180)*270;}}return{x:x,y:y,type:"center",startAngle:startAngle,endAngle:endAngle};}function findIntersect(r1x1,r1y1,r1x2,r1y2,r2x1,r2y1,r2x2,r2y2){if(r2x1==r2x2){return findIntersectY(r1x1,r1y1,r1x2,r1y2,r2x1);}if(r2y1==r2y2){return findIntersectX(r1x1,r1y1,r1x2,r1y2,r2y1);}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var r2m=(r2y1-r2y2)/(r2x1-r2x2);var r2b=r2y1-(r2m*r2x1);var x=(r2b-r1b)/(r1m-r2m);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectY(r1x1,r1y1,r1x2,r1y2,x){if(r1y1==r1y2){return{x:x,y:r1y1};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var y=r1m*x+r1b;return{x:x,y:y};}function findIntersectX(r1x1,r1y1,r1x2,r1y2,y){if(r1x1==r1x2){return{x:r1x1,y:y};}var r1m=(r1y1-r1y2)/(r1x1-r1x2);var r1b=r1y1-(r1m*r1x1);var x=(y-r1b)/r1m;return{x:x,y:y};}};jQuery.fn.btPosition=function(){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,"marginTop");offset.left-=num(this,"marginLeft");parentOffset.top+=num(offsetParent,"borderTopWidth");parentOffset.left+=num(offsetParent,"borderLeftWidth");results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;};jQuery.fn.btOuterWidth=function(margin){function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}return this["innerWidth"]()+num(this,"borderLeftWidth")+num(this,"borderRightWidth")+(margin?num(this,"marginLeft")+num(this,"marginRight"):0);};jQuery.fn.btOn=function(){return this.each(function(index){if(jQuery.isFunction(this.btOn)){this.btOn();}});};jQuery.fn.btOff=function(){return this.each(function(index){if(jQuery.isFunction(this.btOff)){this.btOff();}});};jQuery.bt.vars={clickAnywhereStack:[],closeWhenOpenStack:[]};jQuery.bt.docClick=function(e){if(!e){var e=window.event;}if(!$(e.target).parents().andSelf().filter(".bt-wrapper, .bt-active").length&&jQuery.bt.vars.clickAnywhereStack.length){$(jQuery.bt.vars.clickAnywhereStack).btOff();$(document).unbind("click",jQuery.bt.docClick);}};jQuery.bt.defaults={trigger:"hover",clickAnywhereToClose:true,closeWhenOthersOpen:false,shrinkToFit:false,width:"200px",padding:"10px",spikeGirth:10,spikeLength:15,overlap:0,overlay:false,killTitle:true,textzIndex:9999,boxzIndex:9998,wrapperzIndex:9997,offsetParent:null,positions:["most"],fill:"rgb(255, 255, 102)",windowMargin:10,strokeWidth:1,strokeStyle:"#000",cornerRadius:5,centerPointX:0.5,centerPointY:0.5,shadow:false,shadowOffsetX:2,shadowOffsetY:2,shadowBlur:3,shadowColor:"#000",shadowOverlap:false,noShadowOpts:{strokeStyle:"#999"},cssClass:"",cssStyles:{},activeClass:"bt-active",contentSelector:"$(this).attr('title')",ajaxPath:null,ajaxError:"<strong>ERROR:</strong> <em>%error</em>",ajaxLoading:"<blink>Loading...</blink>",ajaxData:{},ajaxType:"GET",ajaxCache:true,ajaxOpts:{},preBuild:function(){},preShow:function(box){},showTip:function(box){$(box).show();},postShow:function(box){},preHide:function(box){},hideTip:function(box,callback){$(box).hide();callback();},postHide:function(){},hoverIntentOpts:{interval:300,timeout:500}};jQuery.bt.options={};})(jQuery);

var ddaccordion={
	contentclassname:{}, //object to store corresponding contentclass name based on headerclass
	expandone:function(headerclass, selected){ //PUBLIC function to expand a particular header
		this.toggleone(headerclass, selected, "expand")
	},
	collapseone:function(headerclass, selected){ //PUBLIC function to collapse a particular header
		this.toggleone(headerclass, selected, "collapse")
	},
	expandall:function(headerclass){ //PUBLIC function to expand all headers based on their shared CSS classname
		var $=jQuery
		var $headers=$('.'+headerclass)
		$('.'+this.contentclassname[headerclass]+':hidden').each(function(){
			$headers.eq(parseInt($(this).attr('contentindex'))).trigger("evt_accordion")
		})
	},
	collapseall:function(headerclass){ //PUBLIC function to collapse all headers based on their shared CSS classname
		var $=jQuery
		var $headers=$('.'+headerclass)
		$('.'+this.contentclassname[headerclass]+':visible').each(function(){
			$headers.eq(parseInt($(this).attr('contentindex'))).trigger("evt_accordion")
		})
	},
	toggleone:function(headerclass, selected, optstate){ //PUBLIC function to expand/ collapse a particular header
		var $=jQuery
		var $targetHeader=$('.'+headerclass).eq(selected)
		var $subcontent=$('.'+this.contentclassname[headerclass]).eq(selected)
		if (typeof optstate=="undefined" || optstate=="expand" && $subcontent.is(":hidden") || optstate=="collapse" && $subcontent.is(":visible"))
			$targetHeader.trigger("evt_accordion")
	},
	expandit:function($targetHeader, $targetContent, config, useractivated, directclick){
		this.transformHeader($targetHeader, config, "expand")
		$targetContent.slideDown(config.animatespeed, function(){
			config.onopenclose($targetHeader.get(0), parseInt($targetHeader.attr('headerindex')), $targetContent.css('display'), useractivated)
			if (config.postreveal=="gotourl" && directclick){ //if revealtype is "Go to Header URL upon click", and this is a direct click on the header
				var targetLink=($targetHeader.is("a"))? $targetHeader.get(0) : $targetHeader.find('a:eq(0)').get(0)
				if (targetLink) //if this header is a link
					setTimeout(function(){location=targetLink.href}, 200) //ignore link target, as window.open(targetLink, targetLink.target) doesn't work in FF if popup blocker enabled
			}
		})
	},
	collapseit:function($targetHeader, $targetContent, config, isuseractivated){
		this.transformHeader($targetHeader, config, "collapse")
		$targetContent.slideUp(config.animatespeed, function(){config.onopenclose($targetHeader.get(0), parseInt($targetHeader.attr('headerindex')), $targetContent.css('display'), isuseractivated)})
	},
	transformHeader:function($targetHeader, config, state){
		$targetHeader.addClass((state=="expand")? config.cssclass.expand : config.cssclass.collapse) //alternate btw "expand" and "collapse" CSS classes
		.removeClass((state=="expand")? config.cssclass.collapse : config.cssclass.expand)
		if (config.htmlsetting.location=='src'){ //Change header image (assuming header is an image)?
			$targetHeader=($targetHeader.is("img"))? $targetHeader : $targetHeader.find('img').eq(0) //Set target to either header itself, or first image within header
			$targetHeader.attr('src', (state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse) //change header image
		}
		else if (config.htmlsetting.location=="prefix") //if change "prefix" HTML, locate dynamically added ".accordprefix" span tag and change it
			$targetHeader.find('.accordprefix').html((state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse)
		else if (config.htmlsetting.location=="suffix")
			$targetHeader.find('.accordsuffix').html((state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse)
	},
	urlparamselect:function(headerclass){
		var result=window.location.search.match(new RegExp(headerclass+"=((\\d+)(,(\\d+))*)", "i")) //check for "?headerclass=2,3,4" in URL
		if (result!=null)
			result=RegExp.$1.split(',')
		return result //returns null, [index], or [index1,index2,etc], where index are the desired selected header indices
	},
	getCookie:function(Name){ 
		var re=new RegExp(Name+"=[^;]+", "i") //construct RE to search for target name/value pair
		if (document.cookie.match(re)) //if cookie found
			return document.cookie.match(re)[0].split("=")[1] //return its value
		return null
	},
	setCookie:function(name, value){
		document.cookie = name + "=" + value + "; path=/"
	},
	init:function(config){
	document.write('<style type="text/css">\n')
	document.write('.'+config.contentclass+'{display: none}\n') //generate CSS to hide contents
	document.write('<\/style>')
	jQuery(document).ready(function($){
		ddaccordion.urlparamselect(config.headerclass)
		var persistedheaders=ddaccordion.getCookie(config.headerclass)
		ddaccordion.contentclassname[config.headerclass]=config.contentclass //remember contentclass name based on headerclass
		config.cssclass={collapse: config.toggleclass[0], expand: config.toggleclass[1]} //store expand and contract CSS classes as object properties
		config.revealtype=config.revealtype || "click"
		config.revealtype=config.revealtype.replace(/mouseover/i, "mouseenter")
		if (config.revealtype=="clickgo"){
			config.postreveal="gotourl" //remember added action
			config.revealtype="click" //overwrite revealtype to "click" keyword
		}
		if (typeof config.togglehtml=="undefined")
			config.htmlsetting={location: "none"}
		else
			config.htmlsetting={location: config.togglehtml[0], collapse: config.togglehtml[1], expand: config.togglehtml[2]} //store HTML settings as object properties
		config.oninit=(typeof config.oninit=="undefined")? function(){} : config.oninit //attach custom "oninit" event handler
		config.onopenclose=(typeof config.onopenclose=="undefined")? function(){} : config.onopenclose //attach custom "onopenclose" event handler
		var lastexpanded={} //object to hold reference to last expanded header and content (jquery objects)
		var expandedindices=ddaccordion.urlparamselect(config.headerclass) || ((config.persiststate && persistedheaders!=null)? persistedheaders : config.defaultexpanded)
		if (typeof expandedindices=='string') //test for string value (exception is config.defaultexpanded, which is an array)
			expandedindices=expandedindices.replace(/c/ig, '').split(',') //transform string value to an array (ie: "c1,c2,c3" becomes [1,2,3]
		var $subcontents=$('.'+config["contentclass"])
		if (expandedindices.length==1 && expandedindices[0]=="-1") //check for expandedindices value of [-1], indicating persistence is on and no content expanded
			expandedindices=[]
		if (config["collapseprev"] && expandedindices.length>1) //only allow one content open?
			expandedindices=[expandedindices.pop()] //return last array element as an array (for sake of jQuery.inArray())
		if (config["onemustopen"] && expandedindices.length==0) //if at least one content should be open at all times and none are, open 1st header
			expandedindices=[0]
		$('.'+config["headerclass"]).each(function(index){ //loop through all headers
			if (/(prefix)|(suffix)/i.test(config.htmlsetting.location) && $(this).html()!=""){ //add a SPAN element to header depending on user setting and if header is a container tag
				$('<span class="accordprefix"></span>').prependTo(this)
				$('<span class="accordsuffix"></span>').appendTo(this)
			}
			$(this).attr('headerindex', index+'h') //store position of this header relative to its peers
			$subcontents.eq(index).attr('contentindex', index+'c') //store position of this content relative to its peers
			var $subcontent=$subcontents.eq(index)
			var needle=(typeof expandedindices[0]=="number")? index : index+'' //check for data type within expandedindices array- index should match that type
			if (jQuery.inArray(needle, expandedindices)!=-1){ //check for headers that should be expanded automatically (convert index to string first)
				if (config.animatedefault==false)
					$subcontent.show()
				ddaccordion.expandit($(this), $subcontent, config, false) //Last param sets 'isuseractivated' parameter
				lastexpanded={$header:$(this), $content:$subcontent}
			}  //end check
			else{
				$subcontent.hide()
				config.onopenclose($(this).get(0), parseInt($(this).attr('headerindex')), $subcontent.css('display'), false) //Last Boolean value sets 'isuseractivated' parameter
				ddaccordion.transformHeader($(this), config, "collapse")
			}
		})
		$('.'+config["headerclass"]).bind("evt_accordion", function(e, isdirectclick){ //assign custom event handler that expands/ contacts a header
				var $subcontent=$subcontents.eq(parseInt($(this).attr('headerindex'))) //get subcontent that should be expanded/collapsed
				if ($subcontent.css('display')=="none"){
					ddaccordion.expandit($(this), $subcontent, config, true, isdirectclick) //2nd last param sets 'isuseractivated' parameter
					if (config["collapseprev"] && lastexpanded.$header && $(this).get(0)!=lastexpanded.$header.get(0)){ //collapse previous content?
						ddaccordion.collapseit(lastexpanded.$header, lastexpanded.$content, config, true) //Last Boolean value sets 'isuseractivated' parameter
					}
					lastexpanded={$header:$(this), $content:$subcontent}
				}
				else if (!config["onemustopen"] || config["onemustopen"] && lastexpanded.$header && $(this).get(0)!=lastexpanded.$header.get(0)){
					ddaccordion.collapseit($(this), $subcontent, config, true) //Last Boolean value sets 'isuseractivated' parameter
				}
 		})
		$('.'+config["headerclass"]).bind(config.revealtype, function(){
			if (config.revealtype=="mouseenter"){
				clearTimeout(config.revealdelay)
				var headerindex=parseInt($(this).attr("headerindex"))
				config.revealdelay=setTimeout(function(){ddaccordion.expandone(config["headerclass"], headerindex)}, config.mouseoverdelay || 0)
			}
			else{
				$(this).trigger("evt_accordion", [true])
				return false //cancel default click behavior
			}
		})
		$('.'+config["headerclass"]).bind("mouseleave", function(){
			clearTimeout(config.revealdelay)
		})
		config.oninit($('.'+config["headerclass"]).get(), expandedindices)
		$(window).bind('unload', function(){ //clean up and persist on page unload
			$('.'+config["headerclass"]).unbind()
			var expandedindices=[]
			$('.'+config["contentclass"]+":visible").each(function(index){ //get indices of expanded headers
				expandedindices.push($(this).attr('contentindex'))
			})
			if (config.persiststate==true && $('.'+config["headerclass"]).length>0){ //persist state?
				expandedindices=(expandedindices.length==0)? '-1c' : expandedindices //No contents expanded, indicate that with dummy '-1c' value?
				ddaccordion.setCookie(config.headerclass, expandedindices)
			}
		})
	})
	}
}

var MapIconMaker = {};
MapIconMaker.createMarkerIcon = function (a) {
	var b = a.width || 32;
	var c = a.height || 32;
	var d = a.primaryColor || "#ff0000";
	var e = a.strokeColor || "#000000";
	var f = a.cornerColor || "#ffffff";
	var g = "http://chart.apis.google.com/chart?cht=mm";
	var h = g + "&chs=" + b + "x" + c + "&chco=" + f.replace("#", "") + "," + d.replace("#", "") + "," + e.replace("#", "") + "&ext=.png";
	var j = new GIcon(G_DEFAULT_ICON);
	j.image = h;
	j.iconSize = new GSize(b, c);
	j.shadowSize = new GSize(Math.floor(b * 1.6), c);
	j.iconAnchor = new GPoint(b / 2, c);
	j.infoWindowAnchor = new GPoint(b / 2, Math.floor(c / 12));
	j.printImage = h + "&chof=gif";
	j.mozPrintImage = h + "&chf=bg,s,ECECD8" + "&chof=gif";
	var h = g + "&chs=" + b + "x" + c + "&chco=" + f.replace("#", "") + "," + d.replace("#", "") + "," + e.replace("#", "");
	j.transparent = h + "&chf=a,s,ffffff11&ext=.png";
	j.imageMap = [b / 2, c, (7 / 16) * b, (5 / 8) * c, (5 / 16) * b, (7 / 16) * c, (7 / 32) * b, (5 / 16) * c, (5 / 16) * b, (1 / 8) * c, (1 / 2) * b, 0, (11 / 16) * b, (1 / 8) * c, (25 / 32) * b, (5 / 16) * c, (11 / 16) * b, (7 / 16) * c, (9 / 16) * b, (5 / 8) * c];
	for (var i = 0; i < j.imageMap.length; i++) {
		j.imageMap[i] = parseInt(j.imageMap[i])
	};
	return j
};
var animatedcollapse = {
	divholders: {},
	divgroups: {},
	statusholders: {},
	lastactiveingroup: {},
	show: function (a) {
		document.getElementById('fade').style.display = 'block';
		if (typeof a == "object") {
			for (var i = 0; i < a.length; i++) {
				this.showhide(a[i], "show");
				window.scrollTo(0, 0)
			}
		} else {
			this.showhide(a, "show");
			window.scrollTo(0, 0)
		}
	},
	hide: function (a) {
		if (typeof a == "object") {
			for (var i = 0; i < a.length; i++) {
				this.showhide(a[i], "hide")
			}
		} else {
			this.showhide(a, "hide");
			document.getElementById('fade').style.display = 'none'
		}
	},
	toggle: function (a) {
		if (typeof a == "object") {
			a = a[0];
			this.showhide(a, "toggle")
		}
	},
	addDiv: function (c, d) {
		this.divholders[c] = ({
			id: c,
			$divref: null,
			attrs: d
		});
		this.divholders[c].getAttr = function (a) {
			var b = new RegExp(a + "=([^,]+)", "i");
			return (b.test(this.attrs) && parseInt(RegExp.$1) != 0) ? RegExp.$1: null
		};
		this.currentid = c;
		return this
	},
	showhide: function (a, b) {
		var c = this.divholders[a].$divref;
		if (this.divholders[a] && c.length == 1) {
			var d = this.divgroups[c.attr('groupname')];
			if (c.attr('groupname') && d.count > 1 && (b == "show" || b == "toggle" && c.css('display') == 'none')) {
				if (d.lastactivedivid && d.lastactivedivid != a) {
					this.slideengine(d.lastactivedivid, 'hide');
					this.slideengine(a, 'show');
					d.lastactivedivid = a
				}
			} else {
				this.slideengine(a, b)
			}
		}
	},
	slideengine: function (a, b) {
		var c = this.divholders[a].$divref;
		if (this.divholders[a] && c.length == 1) {
			var d = {
				height: b
			};
			if (c.attr('fade')) {
				d.opacity = b;
				c.animate(d, c.attr('speed') ? parseInt(c.attr('speed')) : 500, function () {
					if (animatedcollapse.ontoggle) {
						try {
							animatedcollapse.ontoggle(jQuery, c.get(0), c.css('display'))
						} catch(e) {
							alert("An error exists inside your \"ontoggle\" function:\n\n" + e + "\n\nAborting execution of function.")
						}
					}
				})
			};
			return false
		}
	},
	generatemap: function () {
		var a = {};
		for (var i = 0; i < arguments.length; i++) {
			if (arguments[i][1] != null) {
				a[arguments[i][0]] = arguments[i][1]
			}
		};
		return a
	},
	init: function () {
		var f = this;
		jQuery(document).ready(function ($) {
			animatedcollapse.ontoggle = animatedcollapse.ontoggle || null;
			var c = animatedcollapse.urlparamselect();
			var d = f.getCookie('acopendivids');
			var e = f.getCookie('acgroupswithpersist');
			if (d != null) {
				d = (d == 'nada') ? [] : d.split(',')
			};
			e = (e == null || e == 'nada') ? [] : e.split(',');
			jQuery.each(f.divholders, function () {
				this.$divref = $('#' + this.id);
				if ((this.getAttr('persist') || jQuery.inArray(this.getAttr('group'), e) != -1) && d != null) {
					var a = (jQuery.inArray(this.id, d) != -1) ? 'block': 'none'
				} else {
					var a = this.getAttr('hide') ? 'none': null
				};
				if (c[0] == "all" || jQuery.inArray(this.id, c) != -1) {
					a = 'block'
				} else if (c[0] == "none") {
					a = 'none'
				};
				this.$divref.css(f.generatemap(['height', this.getAttr('height')], ['display', a]));
				this.$divref.attr(f.generatemap(['groupname', this.getAttr('group')], ['fade', this.getAttr('fade')], ['speed', this.getAttr('speed')]));
				if (this.getAttr('group')) {
					var b = f.divgroups[this.getAttr('group')] || (f.divgroups[this.getAttr('group')] = {});
					b.count = (b.count || 0) + 1;
					if (jQuery.inArray(this.id, c) != -1) {
						b.lastactivedivid = this.id;
						b.overridepersist = 1
					};
					if (!b.lastactivedivid && this.$divref.css('display') != 'none' || a == "block" && typeof b.overridepersist == "undefined") {
						b.lastactivedivid = this.id;
						this.$divref.css({
							display: 'none'
						})
					}
				}
			});
			jQuery.each(f.divgroups, function () {
				if (this.lastactivedivid && c[0] != "none") {
					f.divholders[this.lastactivedivid].$divref.show()
				}
			});
			if (animatedcollapse.ontoggle) {
				jQuery.each(f.divholders, function () {
					animatedcollapse.ontoggle(jQuery, this.$divref.get(0), this.$divref.css('display'))
				})
			};
			$(window).bind('unload', function () {
				f.uninit()
			})
		})
	},
	uninit: function () {
		var a = '',
		groupswithpersist = '';
		jQuery.each(this.divholders, function () {
			if (this.$divref.css('display') != 'none') {
				a += this.id + ','
			};
			if (this.getAttr('group') && this.getAttr('persist')) {
				groupswithpersist += this.getAttr('group') + ','
			}
		});
		a = (a == '') ? 'nada': a.replace(/,$/, '');
		groupswithpersist = (groupswithpersist == '') ? 'nada': groupswithpersist.replace(/,$/, '');
		this.setCookie('acopendivids', a);
		this.setCookie('acgroupswithpersist', groupswithpersist)
	},
	getCookie: function (a) {
		var b = new RegExp(a + "=[^;]*", "i");
		if (document.cookie.match(b)) {
			return document.cookie.match(b)[0].split("=")[1]
		};
		return null
	},
	setCookie: function (a, b, c) {
		if (typeof c != "undefined") {
			var d = new Date();
			d.setDate(d.getDate() + c);
			document.cookie = a + "=" + b + "; path=/; expires=" + d.toGMTString()
		} else {
			document.cookie = a + "=" + b + "; path=/"
		}
	},
	urlparamselect: function () {
		window.location.search.match(/expanddiv=([\w\-_,]+)/i);
		return (RegExp.$1 != "") ? RegExp.$1.split(",") : []
	}
};
function loadIframe(a) {
	if (a == 'free') {
		document.getElementById('hFree').style.display = 'none';
		document.getElementById('divHolder').style.width = '720px';
		document.getElementById('divHolder').innerHTML = '<img class="popup_Close2" src="images/popup_Close.png" onclick="javascript:animatedcollapse.hide(\'divHolder\');" title="Close" alt="Close" /><iframe name="ifrm" width="100%" height="1040px" src="registerOffice/freeUser.php" frameborder="0" scrolling="auto">Iframes disabled </iframe>';
		animatedcollapse.show('divHolder')
	} else if (a == 'contact') {
		document.getElementById('divHolder').style.width = '500px';
		document.getElementById('divHolder').innerHTML = '<img class="popup_Close2" src="images/popup_Close.png" onclick="javascript:animatedcollapse.hide(\'divHolder\');" title="Close" alt="Close" /><iframe name="ifrm" width="100%" height="1040px" src="registerOffice/contact.php" frameborder="0" scrolling="auto">Iframes disabled</iframe>';
		animatedcollapse.show('divHolder')
	}
};
function setupCheckboxes(a, b) {
	for (i = 0; i < a.length; i++) {
		a[i].checked = false
	};
	document.getElementById(b).checked = true
};
function toggleMarkers() {
	setupCheckboxes(document.CCmarkers.m, "all");
	for (var i = 0; i < markers.length; i++) {
		markers[i].hide()
	};
	for (var i = 0; i < markers.length; i++) {
		if (markers[i].isHidden()) {
			markers[i].show()
		} else {
			markers[i].hide()
		}
	}
};
function Markers(a) {
	CCmarker = a;
	if (document.getElementById(a).checked == false) {
		for (var i = 0; i < markers.length; i++) {
			if (markers[i].type == a) {
				markers[i].hide()
			}
		}
	} else {
		for (var i = 0; i < markers.length; i++) {
			if (markers[i].type == a) {
				markers[i].show()
			} else {
				markers[i].hide()
			}
		}
	};
	for (var i = 0; i < CCarray.length; i++) {
		if (CCarray[i] != a) {
			document.getElementById(CCarray[i]).checked = false
		}
	}
};
function loadXMLDoc(a) {
	var b;
	if (window.XMLHttpRequest) {
		b = new window.XMLHttpRequest();
		b.open("GET", a, false);
		b.send("");
		return b.responseXML
	} else if (ActiveXObject("Microsoft.XMLDOM")) {
		b = new ActiveXObject("Microsoft.XMLDOM");
		b.async = false;
		b.load(a);
		return b
	};
	alert("Error loading document");
	return null
};
function addMarkers(c, d, e) {
	var f = Math.floor(Math.random() * 11);
	if (e != null) {
		d = e + '/' + d
	}
	var g = loadXMLDoc("user/" + d + ".xml?" + f);
	if (g != null) {
		var a = g.getElementsByTagName("lab");
		if (a.length != 0) {
			for (var i = 0; i < a.length; i++) {
				var h = a[i].getAttribute("mac");
				var j = h.split(" ");
				for (var b = 0; b < j.length; b++) {
					var k = new GLatLng(parseFloat(a[i].getAttribute("lat")), parseFloat(a[i].getAttribute("lng")));
					var l = color(j[b], a[i].getAttribute("s"));
					var m = createMarker(k, l, i, d);
					m.type = j[b];
					batch.push(m)
				}
			};
			loadProgressBar()
		} else {
			alert("There are no labs listed yet in " + d);
		}
	} else {
		alert('Missing File: ' + d)
	}
};
function createMarker(a, b, c, d) {
	var e = new GMarker(a, {
		icon: b
	});
	GEvent.addListener(e, "click", function () {
		popupData(c, d)
	});
	markers.push(e);
	return e
};
function loadProgressBar() {
	maxNum = batch.length;
	progressBar.start(maxNum);
	document.getElementById("loading").style.visibility = "visible";
	setTimeout('addMarkersTest()', 10)
};
function addMarkersTest() {
	num = num + 1;
	progressBar.updateLoader(1);
	var a = batch.pop();
	gmap.addOverlay(a);
	if (num < maxNum) {
		document.getElementById("loadingMessage").innerHTML = "Loading Markers...<br><b>" + num + " of " + maxNum + "</b><br>";
		setTimeout('addMarkersTest()', 10)
	} else {
		batch = [];
		num = 0;
		maxNum = 0;
		document.getElementById("loading").style.visibility = "hidden";
		progressBar.remove()
	}
};
function popupData(d, b) {
	animatedcollapse.show('popup');
	var c = Math.floor(Math.random() * 11);
	var e = loadXMLDoc("user/" + b + ".xml?" + c);
	var a = e.getElementsByTagName("lab");
	document.getElementById("lab").innerHTML = a[d].getAttribute("n");
	document.getElementById("pic").innerHTML = '<img src="images/lab/' + a[d].getAttribute("pic") + '" />';
	document.getElementById("address").innerHTML = a[d].getAttribute("a");
	document.getElementById("address2").innerHTML = a[d].getAttribute("a2") + " " + a[d].getAttribute("z") + '<input type="hidden" id="destZip" value="' + a[d].getAttribute("z") + '" />';
	var f = '';
	if (a[d].getAttribute("p") != "") {
		f += 'Phone: ' + a[d].getAttribute("p")
	};
	if (a[d].getAttribute("p2") != "") {
		f += '<br />Toll-Free: ' + a[d].getAttribute("p2")
	};
	if (a[d].getAttribute("f") != "") {
		f += '<br />Fax:  ' + a[d].getAttribute("f")
	};
	if (a[d].getAttribute("u") != "") {
		f += '<br />Website: <a id="link_lab" href="http://' + a[d].getAttribute("u") + '" target="_blank">' + a[d].getAttribute("u") + '</a>'
	};
	document.getElementById("phone").innerHTML = f;
	if (a[d].getAttribute("e") != "") {}
};
function hide() {
	document.getElementById('popup').style.display = 'none';
	document.getElementById('fade').style.display = 'none'
};
function checkLogin(a) {
	var b = document.getElementById('username');
	var c = document.getElementById('password');
	var d = document.getElementById('loginHeader');
	if (b.value.length == 0) {
		d.style.color = '#F00';
		d.innerHTML = "Username cannot be blank!";
		b.style.backgroundColor = '#FFEAEC';
		b.style.borderStyle = 'inherit';
		b.focus();
		return false
	};
	b.style.backgroundColor = '#FFF';
	if (c.value.length == 0) {
		d.style.color = '#F00';
		d.innerHTML = "Password cannot be blank!";
		c.style.backgroundColor = '#FFEAEC';
		c.style.borderStyle = 'inherit';
		c.focus();
		return false
	};
	c.style.backgroundColor = '#FFF';
	b.style.backgroundColor = '#FFF';
	a.submit()
};
function shipping(a, b, c) {
	if (document.getElementById('locZip').value == "") {
		alert('Please enter your Zip code!');
		document.getElementById('locZip').focus()
	} else if (isNaN(document.getElementById('locZip').value) == true) {
		alert('Please review your Zip code!');
		document.getElementById('locZip').focus()
	} else {
		var b = "";
		for (var i = 0; i < document.shipForm.shipper.length; i++) {
			if (document.shipForm.shipper[i].checked) {
				b = document.shipForm.shipper[i].value
			}
		};
		$destZip = document.getElementById('destZip').value;
		c = document.getElementById('locZip').value;
		document.getElementById('UPS').innerHTML = "$ " + shipRequest('ups', b, $destZip, c);
		document.getElementById('USPS').innerHTML = "$ " + shipRequest('usps', b, $destZip, c)
	}
};
function shipRequest(a, b, c, d) {
	var e = "getShip.php?service=" + b + "&shipper=" + a + "&destZip=" + c + "&locZip=" + d;
	if (window.XMLHttpRequest) {
		xmlDoc = new window.XMLHttpRequest();
		xmlDoc.open("GET", e, false);
		xmlDoc.send("");
		return xmlDoc.responseText
	} else if (ActiveXObject("Microsoft.XMLDOM")) {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.load(e);
		return xmlDoc
	};
	alert("Error loading document");
	return null
};
function changeCountry(v) {
	for (var i = 0; i < c.length; i++) {
		if (c[i][0] == v) {
			iCountry = i;
			var b = populateState(i);
			if (b == true) {
				document.getElementById('location_References').innerHTML = '<p>' + v + ' Selected, Select a State/Province to see ALL centers.</p>';
				var d = new GClientGeocoder();
				d.getLatLng(v, function (a) {
					if (!a) {
						alert(v + " not found")
					} else {
						gmap.setCenter(a, c[i][1])
					}
				})
			} else {
				document.getElementById('location_References').innerHTML = '<p>' + v + ' Selected. Random list shown.</p>';
				initialize(c[i][1], c[i][2], c[i][3])
			};
			return
		}
	}
};
function changeCountry2(v) {
	for (var i = 0; i < c.length; i++) {
		if (c[i][0] == v) {
			var b = populateState2(i);
			if (b == true) {
				alert(b);
				//document.getElementById('location_References').innerHTML = '<p>' + v + ' Selected, Select a State/Province to see ALL centers.</p>';		
			};
		};
	};
};
var c = new Array(3);
c = [['Worldwide', '31.413662', '-38.320312', 2], ['Australia', 4], ['Austria', 6], ['Belgium', 7], ['Canada', 4], ['China', 4], ['France', 5], ['Germany', 5], ['Greece', 6], ['Iceland', 6], ['India', 4], ['Italy', 5], ['Japan', 5], ['Korea, North', 5], ['Korea, South', 5], ['Netherlands', 6], ['New Zealand', 5], ['Norway', 5], ['Poland', 6], ['Portugal', 6], ['Romania', 6], ['Spain', 5], ['Sweden', 4], ['Switzerland', 7], ['Taiwan', 7], ['United Kingdom', 5], ['USA', 4]];
var aStates = new Array();
aStates[0] = "";
aStates[1] = " |Australian Capital Territory:6|New South Wales:6|Northern Territory:6|Queensland:6|South Australia:6|Tasmania:6|Victoria:6|Western Australia:6";
aStates[2] = " |Burgenland|Kaernten|Niederoesterreich|Oberoesterreich|Salzburg|Steiermark|Tirol|Vorarlberg|Wien";
aStates[3] = " |Antwerpen|Brabant Wallon|Brussels Capitol Region|Hainaut|Liege|Limburg|Luxembourg|Namur|Oost-Vlaanderen|Vlaams Brabant|West-Vlaanderen";
aStates[4] = " |Alberta:6|British Columbia:6|Manitoba:6|New Brunswick:6|Newfoundland:6|Northwest Territories:6|Nova Scotia:6|Nunavut:6|Ontario:6|Prince Edward Island:6|Quebec:6|Saskatchewan:6|Yukon Territory:6";
aStates[5] = " |Anhui|Beijing|Chongqing|Fujian|Gansu|Guangdong|Guangxi|Guizhou|Hainan|Hebei|Heilongjiang|Henan|Hubei|Hunan|Jiangsu|Jiangxi|Jilin|Liaoning|Nei Mongol|Ningxia|Qinghai|Shaanxi|Shandong|Shanghai|Shanxi|Sichuan|Tianjin|Xinjiang|Xizang (Tibet)|Yunnan|Zhejiang";
aStates[6] = " |Alsace|Aquitaine|Auvergne|Basse-Normandie|Bourgogne|Bretagne|Centre|Champagne-Ardenne|Corse|Franche-Comte|Haute-Normandie|Ile-de-France|Languedoc-Roussillon|Limousin|Lorraine|Midi-Pyrenees|Nord-Pas-de-Calais|Pays de la Loire|Picardie|Poitou-Charentes|Provence-Alpes-Cote d'Azur|Rhone-Alpes";
aStates[7] = " |Baden-Wuerttemberg|Bayern|Berlin|Brandenburg|Bremen|Hamburg|Hessen|Mecklenburg-Vorpommern|Niedersachsen|Nordrhein-Westfalen|Rheinland-Pfalz|Saarland|Sachsen|Sachsen-Anhalt|Schleswig-Holstein|Thueringen";
aStates[8] = " |Aitolia kai Akarnania|Akhaia|Argolis|Arkadhia|Arta|Attiki|Ayion Oros (Mt. Athos)|Dhodhekanisos|Drama|Evritania|Evros|Evvoia|Florina|Fokis|Fthiotis|Grevena|Ilia|Imathia|Ioannina|Irakleion|Kardhitsa|Kastoria|Kavala|Kefallinia|Kerkyra|Khalkidhiki|Khania|Khios|Kikladhes|Kilkis|Korinthia|Kozani|Lakonia|Larisa|Lasithi|Lesvos|Levkas|Magnisia|Messinia|Pella|Pieria|Preveza|Rethimni|Rodhopi|Samos|Serrai|Thesprotia|Thessaloniki|Trikala|Voiotia|Xanthi|Zakinthos";
aStates[9] = " |Akranes|Akureyri|Arnessysla|Austur-Bardhastrandarsysla|Austur-Hunavatnssysla|Austur-Skaftafellssysla|Borgarfjardharsysla|Dalasysla|Eyjafjardharsysla|Gullbringusysla|Hafnarfjordhur|Husavik|Isafjordhur|Keflavik|Kjosarsysla|Kopavogur|Myrasysla|Neskaupstadhur|Nordhur-Isafjardharsysla|Nordhur-Mulasys-la|Nordhur-Thingeyjarsysla|Olafsfjordhur|Rangarvallasysla|Reykjavik|Saudharkrokur|Seydhisfjordhur|Siglufjordhur|Skagafjardharsysla|Snaefellsnes-og Hnappadalssysla|Strandasysla|Sudhur-Mulasysla|Sudhur-Thingeyjarsysla|Vesttmannaeyjar|Vestur-Bardhastrandarsysla|Vestur-Hunavatnssysla|Vestur-Isafjardharsysla|Vestur-Skaftafellssysla";
aStates[10] = " |Andaman and Nicobar Islands|Andhra Pradesh|Arunachal Pradesh|Assam|Bihar|Chandigarh|Chhattisgarh|Dadra and Nagar Haveli|Daman and Diu|Delhi|Goa|Gujarat|Haryana|Himachal Pradesh|Jammu and Kashmir|Jharkhand|Karnataka|Kerala|Lakshadweep|Madhya Pradesh|Maharashtra|Manipur|Meghalaya|Mizoram|Nagaland|Orissa|Pondicherry|Punjab|Rajasthan|Sikkim|Tamil Nadu|Tripura|Uttar Pradesh|Uttaranchal|West Bengal";
aStates[11] = " |Abruzzi|Basilicata|Calabria|Campania|Emilia-Romagna|Friuli-Venezia Giulia|Lazio|Liguria|Lombardia|Marche|Molise|Piemonte|Puglia|Sardegna|Sicilia|Toscana|Trentino-Alto Adige|Umbria|Valle d'Aosta|Veneto";
aStates[12] = " |Aichi|Akita|Aomori|Chiba|Ehime|Fukui|Fukuoka|Fukushima|Gifu|Gumma|Hiroshima|Hokkaido|Hyogo|Ibaraki|Ishikawa|Iwate|Kagawa|Kagoshima|Kanagawa|Kochi|Kumamoto|Kyoto|Mie|Miyagi|Miyazaki|Nagano|Nagasaki|Nara|Niigata|Oita|Okayama|Okinawa|Osaka|Saga|Saitama|Shiga|Shimane|Shizuoka|Tochigi|Tokushima|Tokyo|Tottori|Toyama|Wakayama|Yamagata|Yamaguchi|Yamanashi";
aStates[13] = " |Chagang-do (Chagang Province)|Hamgyong-bukto (North Hamgyong Province)|Hamgyong-namdo (South Hamgyong Province)|Hwanghae-bukto (North Hwanghae Province)|Hwanghae-namdo (South Hwanghae Province)|Kaesong-si (Kaesong City)|Kangwon-do (Kangwon Province)|Namp'o-si (Namp'o City)|P'yongan-bukto (North P'yongan Province)|P'yongan-namdo (South P'yongan Province)|P'yongyang-si (P'yongyang City)|Yanggang-do (Yanggang Province)";
aStates[14] = " |Ch'ungch'ong-bukto|Ch'ungch'ong-namdo|Cheju-do|Cholla-bukto|Cholla-namdo|Inch'on-gwangyoksi|Kangwon-do|Kwangju-gwangyoksi|Kyonggi-do|Kyongsang-bukto|Kyongsang-namdo|Pusan-gwangyoksi|Soul-t'ukpyolsi|Taegu-gwangyoksi|Taejon-gwangyoksi|Ulsan-gwangyoksi";
aStates[15] = " |Drenthe|Flevoland|Friesland|Gelderland|Groningen|Limburg|Noord-Brabant|Noord-Holland|Overijssel|Utrecht|Zeeland|Zuid-Holland";
aStates[16] = " |Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Westland|Whakatane|Whangarei|Whangaroa|Woodville";
aStates[17] = " |Akershus|Aust-Agder|Buskerud|Finnmark|Hedmark|Hordaland|More og Romsdal|Nord-Trondelag|Nordland|Oppland|Oslo|Ostfold|Rogaland|Sogn og Fjordane|Sor-Trondelag|Telemark|Troms|Vest-Agder|Vestfold";
aStates[18] = " |Dolnoslaskie|Kujawsko-Pomorskie|Lodzkie|Lubelskie|Lubuskie|Malopolskie|Mazowieckie|Opolskie|Podkarpackie|Podlaskie|Pomorskie|Slaskie|Swietokrzyskie|Warminsko-Mazurskie|Wielkopolskie|Zachodniopomorskie";
aStates[19] = " |Acores (Azores)|Aveiro|Beja|Braga|Braganca|Castelo Branco|Coimbra|Evora|Faro|Guarda|Leiria|Lisboa|Madeira|Portalegre|Porto|Santarem|Setubal|Viana do Castelo|Vila Real|Viseu";
aStates[20] = " |Bucharesti|Slatina";
aStates[21] = " |Andalucia|Aragon|Asturias|Baleares (Balearic Islands)|Canarias (Canary Islands)|Cantabria|Castilla y Leon|Castilla-La Mancha|Cataluna|Ceuta|Communidad Valencian|Extremadura|Galicia|Islas Chafarinas|La Rioja|Madrid|Melilla|Murcia|Navarra|Pais Vasco (Basque Country)|Penon de Alhucemas|Penon de Velez de la Gomera";
aStates[22] = " |Blekinge|Dalarnas|Gavleborgs|Gotlands|Hallands|Jamtlands|Jonkopings|Kalmar|Kronobergs|Norrbottens|Orebro|Ostergotlands|Skane|Sodermanlands|Stockholms|Uppsala|Varmlands|Vasterbottens|Vasternorrlands|Vastmanlands|Vastra Gotalands";
aStates[23] = " |Aargau|Ausser-Rhoden|Basel-Landschaft|Basel-Stadt|Bern|Fribourg|Geneve|Glarus|Graubunden|Inner-Rhoden|Jura|Luzern|Neuchatel|Nidwalden|Obwalden|Sankt Gallen|Schaffhausen|Schwyz|Solothurn|Thurgau|Ticino|Uri|Valais|Vaud|Zug|Zurich";
aStates[24] = " |Chang-hua|Chi-lung|Chia-i|Chia-i|Chung-hsing-hsin-ts'un|Hsin-chu|Hsin-chu|Hua-lien|I-lan|Kao-hsiung|Kao-hsiung|Miao-li|Nan-t'ou|P'eng-hu|P'ing-tung|T'ai-chung|T'ai-chung|T'ai-nan|T'ai-nan|T'ai-pei|T'ai-pei|T'ai-tung|T'ao-yuan|Yun-lin";
aStates[25] = " |Barking and Dagenham|Barnet|Barnsley|Bath and North East Somerset|Bedfordshire|Bexley|Birmingham|Blackburn with Darwen|Blackpool|Bolton|Bournemouth|Bracknell Forest|Bradford|Brent|Brighton and Hove|Bromley|Buckinghamshire|Bury|Calderdale|Cambridgeshire|Camden|Cheshire|City of Bristol|City of Kingston upon Hull|City of London|Cornwall|Coventry|Croydon|Cumbria|Darlington|Derby|Derbyshire|Devon|Doncaster|Dorset|Dudley|Durham|Ealing|East Riding of Yorkshire|East Sussex|Enfield|Essex|Gateshead|Gloucestershire|Greenwich|Hackney|Halton|Hammersmith and Fulham|Hampshire|Haringey|Harrow|Hartlepool|Havering|Herefordshire|Hertfordshire|Hillingdon|Hounslow|Isle of Wight|Islington|Kensington and Chelsea|Kent|Kingston upon Thames|Kirklees|Knowsley|Lambeth|Lancashire|Leeds|Leicester|Leicestershire|Lewisham|Lincolnshire|Liverpool|Luton|Manchester|Medway|Merton|Middlesbrough|Milton Keynes|Newcastle upon Tyne|Newham|Norfolk|North East Lincolnshire|North Lincolnshire|North Somerset|North Tyneside|North Yorkshire|Northamptonshire|Northumberland|Nottingham|Nottinghamshire|Oldham|Oxfordshire|Peterborough|Plymouth|Poole|Portsmouth|Reading|Redbridge|Redcar and Cleveland|Richmond upon Thames|Rochdale|Rotherham|Rutland|Salford|Sandwell|Sefton|Sheffield|Shropshire|Slough|Solihull|Somerset|South Gloucestershire|South Tyneside|Southampton|Southend-on-Sea|Southwark|St. Helens|Staffordshire|Stockport|Stockton-on-Tees|Stoke-on-Trent|Suffolk|Sunderland|Surrey|Sutton|Swindon|Tameside|Telford and Wrekin|Thurrock|Torbay|Tower Hamlets|Trafford|Wakefield|Walsall|Waltham Forest|Wandsworth|Warrington|Warwickshire|West Berkshire|West Sussex|Westminster|Wigan|Wiltshire|Windsor and Maidenhead|Wirral|Wokingham|Wolverhampton|Worcestershire|York";
aStates[26] = " |Alabama:6|Alaska:4|Arizona:6|Arkansas:6|California:6|Colorado:6|Connecticut:8|Delaware:8|Florida:6|Georgia:6|Hawaii:7|Idaho:6|Illinois:6|Indiana:6|Iowa:6|Kansas:6|Kentucky:6|Louisiana:6|Maine:6|Maryland:7|Massachusetts:8|Michigan:6|Minnesota:6|Mississippi:6|Missouri:6|Montana:6|Nebraska:6|Nevada:6|New Hampshire:7|New Jersey:7|New Mexico:6|New York:6|North Carolina:6|North Dakota:6|Ohio:6|Oklahoma:6|Oregon:6|Pennsylvania:6|Rhode Island:9|South Carolina:7|South Dakota:7|Tennessee:7|Texas:6|Utah:6|Vermont:7|Virginia:6|Washington:6|West Virginia:7|Wisconsin:6|Wyoming:6";
function populateState(a) {
	document.getElementById('dropDownState').options.length = 0;
	if (aStates[a] != "") {
		var b;
		b = aStates[a].split("|").length;
		document.getElementById('dropDownState').options[0] = new Option(' ');
		for (i = 0; i < b; i++) {
			var c = aStates[a].split("|")[i];
			document.getElementById('dropDownState').options[i] = new Option(c.split(":")[0], i)
		};
		document.getElementById('dropDownState').disabled = false;
		return true
	} else {
		document.getElementById('dropDownState').options[0] = new Option('Select a Country');
		document.getElementById('dropDownState').disabled = true;
		return false
	}
};
function populateState2(a) {
	document.getElementById('dropDownState2').options.length = 0;
	if (aStates[a] != "") {
		var b;
		b = aStates[a].split("|").length;
		document.getElementById('dropDownState2').options[0] = new Option(' ');
		for (i = 0; i < b; i++) {
			var c = aStates[a].split("|")[i];
			document.getElementById('dropDownState2').options[i] = new Option(c.split(":")[0], i)
		};
		document.getElementById('dropDownState2').disabled = false;
		return true
	} else {
		document.getElementById('dropDownState2').options[0] = new Option('Select a Country');
		document.getElementById('dropDownState2').disabled = true;
		return false
	}
};
function changeState() {
	var d = document.getElementById('dropDownState').value;
	var e = document.getElementById('dropDownCountry').value;
	var a = aStates[iCountry].split("|")[d];
	document.getElementById('location_References').innerHTML = '<p>State/Province: <b>' + a.split(":")[0] + '</b>    Country: <b>' + e + '</b></p>';
	var b = a.split(":")[1];
	if (isNaN(b)) {
		b = 10
	}
	initialize('', '', b, a.split(":")[0], e);
	return
};
function color(c, s) {
	var a = {};
	if (s == "big") {
		a.width = 32;
		a.height = 32
	} else {
		a.width = 20;
		a.height = 24
	};
	if (c == "lava") {
		a.primaryColor = "#F50000FF";
		a.cornerColor = "#D99898FF";
		a.strokeColor = "#00000000"
	} else if (c == "everest") {
		a.primaryColor = "#0043FFFF";
		a.cornerColor = "#9EAFDCFF";
		a.strokeColor = "#00000000"
	} else if (c == "inlab") {
		a.primaryColor = "#FFFF00FF";
		a.cornerColor = "#E5E58EFF";
		a.strokeColor = "#00000000"
	} else if (c == "prismatic") {
		a.primaryColor = "#31DC00FF";
		a.cornerColor = "#9DD98CFF";
		a.strokeColor = "#00000000"
	} else if (c == "zeno") {
		a.primaryColor = "#9200EEFF";
		a.cornerColor = "#CEA1E7FF";
		a.strokeColor = "#00000000"
	} else if (c == "zahn") {
		a.primaryColor = "#FFFFFFFF";
		a.cornerColor = "#E3E1E1FF";
		a.strokeColor = "#00000000"
	} else if (c == "origin") {
		a.primaryColor = "#F5990FFF";
		a.cornerColor = "#E0C295FF";
		a.strokeColor = "#00000000"
	} else if (c == "perfactory") {
		a.primaryColor = "#808A8AFF";
		a.cornerColor = "#C0C0C0FF";
		a.strokeColor = "#00000000"
	} else if (c == "procera") {
		a.primaryColor = "#000";
		a.cornerColor = "#FFF";
		a.strokeColor = "#00F"
	};
	var b = MapIconMaker.createMarkerIcon(a);
	return b
};
var gmap;
var progressBar;
var batch = [];
var num = 0;
var maxNum;
markers = [];
CCmarker = "all";
CCarray = new Array("all", "zahn", "perfactory", "lava", "origin", "inlab", "zeno", "everest", "prismatik", "procera");
function initialize(b, c, d, e, f) {
	if (GBrowserIsCompatible()) {
		gmap = new GMap2(document.getElementById("map_canvas"));
		if (f != null) {
			var g = new GClientGeocoder();
			g.getLatLng(e + ' ' + f, function (a) {
				if (!a) {
					alert(v + " not found")
				} else {
					gmap.setCenter(a, parseFloat(d))
				}
			})
		} else {
			gmap.setCenter(new GLatLng(parseFloat(b), parseFloat(c)), parseFloat(d))
		}
		gmap.setMapType(G_HYBRID_MAP);
		progressBar = new ProgressbarControl(gmap, {
			width: 150
		});
		var h = gmap.getDefaultUI();
		h.controls.scalecontrol = false;
		h.controls.maptypecontrol = false;
		h.zoom.scrollwheel = false;
		h.controls.menumaptypecontrol = true;
		gmap.setUI(h);
		if (e == null) {
			addMarkers(gmap, 'random')
		} else {
			addMarkers(gmap, e, f)
		}
	} else {
		alert("Sorry, the Google Maps API is not compatible with this browser")
	}
};
ddaccordion.init({
	headerclass: "silverheader",
	contentclass: "submenu",
	revealtype: "mouseover",
	mouseoverdelay: 200,
	collapseprev: true,
	defaultexpanded: [0],
	onemustopen: false,
	animatedefault: false,
	persiststate: true,
	toggleclass: ["", "selected"],
	togglehtml: ["none", "", ""],
	animatespeed: "fast",
	oninit: function (a) {},
	onopenclose: function (a, b, c, d) {}
});
function sH() {
	setupCheckboxes(document.CCmarkers.m, "all");
	animatedcollapse.addDiv('divHolder', 'fade=1');
	animatedcollapse.addDiv('hFree', 'fade=1');
	animatedcollapse.addDiv('hUser', 'fade=1');
	animatedcollapse.addDiv('hVersion', 'fade=1');
	animatedcollapse.addDiv('hPartner', 'fade=1');
	animatedcollapse.addDiv('popup', 'fade=1');
	animatedcollapse.init();
	$('.submenu div').bt({
		padding: 10,
		width: 120,
		spikeLength: 14,
		spikeGirth: 10,
		cornerRadius: 10,
		fill: 'rgba(0, 0, 0, .8)',
		strokeWidth: 1,
		strokeStyle: '#CC0',
		cssStyles: {
			color: '#FFF'
		}
	});
	$('#addMachine2').bt('Have a machine thats not listed? <br />Please contact us and we will be more than happy to add it to the list.', {
		padding: 10,
		width: 200,
		spikeLength: 14,
		spikeGirth: 10,
		cornerRadius: 10,
		fill: 'rgba(0, 0, 0, .8)',
		strokeWidth: 2,
		strokeStyle: '#CC0',
		cssStyles: {
			color: '#FFF'
		}
	});
	$('#right_Column img').bt({
		padding: 10,
		width: 100,
		spikeLength: 14,
		spikeGirth: 10,
		cornerRadius: 10,
		fill: 'rgba(0, 0, 0, .8)',
		strokeWidth: 1,
		strokeStyle: '#CC0',
		cssStyles: {
			color: '#FFF'
		}
	});
	$('#image3d img').bt({
		padding: 10,
		width: 75,
		spikeLength: 14,
		spikeGirth: 10,
		cornerRadius: 10,
		fill: 'rgba(198, 226, 255, .8)',
		strokeWidth: 1,
		strokeStyle: '#FF7F24',
		cssStyles: {
			color: '#000'
		}
	})
};
