
// Colorbox Lightbox
jQuery.noConflict();jQuery(document).ready(function(){jQuery("a[rel='colorbox']").colorbox({maxWidth:"80%",maxHeight:"90%"});jQuery(".colorbox-vid").colorbox({iframe:true,innerWidth:425,innerHeight:344});jQuery("a[rel='colorbox-frame']").colorbox({width:"80%",height:"90%",iframe:true});});

// Colorbox JS
(function($){var colorbox='colorbox',hover='hover',TRUE=true,FALSE=false,cboxPublic,isIE=!$.support.opacity,isIE6=isIE&&!window.XMLHttpRequest,cbox_open='cbox_open',cbox_load='cbox_load',cbox_complete='cbox_complete',cbox_cleanup='cbox_cleanup',cbox_closed='cbox_closed',cbox_resize='resize.cbox_resize',$overlay,$cbox,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$loadingGraphic,$title,$current,$slideshow,$next,$prev,$close,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,bookmark,index,settings,open,active,defaults={transition:"elastic",speed:350,width:FALSE,height:FALSE,innerWidth:FALSE,innerHeight:FALSE,initialWidth:"400",initialHeight:"400",maxWidth:FALSE,maxHeight:FALSE,scalePhotos:TRUE,scrolling:TRUE,inline:FALSE,html:FALSE,iframe:FALSE,photo:FALSE,href:FALSE,title:FALSE,rel:FALSE,opacity:0.6,preloading:TRUE,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:FALSE,overlayClose:TRUE,slideshow:FALSE,slideshowAuto:TRUE,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:FALSE,onLoad:FALSE,onComplete:FALSE,onCleanup:FALSE,onClosed:FALSE};function setSize(size,dimension){dimension=dimension==='x'?$window.width():$window.height();return(typeof size==='string')?Math.round((size.match(/%/)?(dimension/100)*parseInt(size,10):parseInt(size,10))):size;}
function isImage(url){url=$.isFunction(url)?url.call(element):url;return settings.photo||url.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i);}
function process(){for(var i in settings){if($.isFunction(settings[i])&&i.substring(0,2)!=='on'){settings[i]=settings[i].call(element);}}
settings.rel=settings.rel||element.rel;settings.href=settings.href||element.href;settings.title=settings.title||element.title;}
function launch(elem){element=elem;settings=$(element).data(colorbox);process();if(settings.rel&&settings.rel!=='nofollow'){$related=$('.cboxElement').filter(function(){var relRelated=$(this).data(colorbox).rel||this.rel;return(relRelated===settings.rel);});index=$related.index(element);if(index<0){$related=$related.add(element);index=$related.length-1;}}else{$related=$(element);index=0;}
if(!open){open=TRUE;active=TRUE;bookmark=element;bookmark.blur();$(document).bind("keydown.cbox_close",function(e){if(e.keyCode===27){e.preventDefault();cboxPublic.close();}}).bind("keydown.cbox_arrows",function(e){if($related.length>1){if(e.keyCode===37){e.preventDefault();$prev.click();}else if(e.keyCode===39){e.preventDefault();$next.click();}}});if(settings.overlayClose){$overlay.css({"cursor":"pointer"}).one('click',cboxPublic.close);}
$.event.trigger(cbox_open);if(settings.onOpen){settings.onOpen.call(element);}
$overlay.css({"opacity":settings.opacity}).show();settings.w=setSize(settings.initialWidth,'x');settings.h=setSize(settings.initialHeight,'y');cboxPublic.position(0);if(isIE6){$window.bind('resize.cboxie6 scroll.cboxie6',function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()});}).trigger("scroll.cboxie6");}}
$current.add($prev).add($next).add($slideshow).add($title).hide();$close.html(settings.close).show();cboxPublic.slideshow();cboxPublic.load();}
cboxPublic=$.fn.colorbox=function(options,callback){var $this=this;if(!$this.length){if($this.selector===''){$this=$('<a/>');options.open=TRUE;}else{return this;}}
$this.each(function(){var data=$.extend({},$(this).data(colorbox)?$(this).data(colorbox):defaults,options);$(this).data(colorbox,data).addClass("cboxElement");if(callback){$(this).data(colorbox).onComplete=callback;}});if(options&&options.open){launch($this);}
return this;};cboxPublic.init=function(){function $div(id){return $('<div id="cbox'+id+'"/>');}
$window=$(window);$cbox=$('<div id="colorbox"/>');$overlay=$div("Overlay").hide();$wrap=$div("Wrapper");$content=$div("Content").append($loaded=$div("LoadedContent").css({width:0,height:0}),$loadingOverlay=$div("LoadingOverlay"),$loadingGraphic=$div("LoadingGraphic"),$title=$div("Title"),$current=$div("Current"),$slideshow=$div("Slideshow"),$next=$div("Next"),$prev=$div("Previous"),$close=$div("Close"));$wrap.append($('<div/>').append($div("TopLeft"),$topBorder=$div("TopCenter"),$div("TopRight")),$('<div/>').append($leftBorder=$div("MiddleLeft"),$content,$rightBorder=$div("MiddleRight")),$('<div/>').append($div("BottomLeft"),$bottomBorder=$div("BottomCenter"),$div("BottomRight"))).children().children().css({'float':'left'});$loadingBay=$("<div style='position:absolute; top:0; left:0; width:9999px; height:0;'/>");$('body').prepend($overlay,$cbox.append($wrap,$loadingBay));if(isIE){$cbox.addClass('cboxIE');if(isIE6){$overlay.css('position','absolute');}}
$content.children().bind('mouseover mouseout',function(){$(this).toggleClass(hover);}).addClass(hover);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(TRUE)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(TRUE)-$content.width();loadedHeight=$loaded.outerHeight(TRUE);loadedWidth=$loaded.outerWidth(TRUE);$cbox.css({"padding-bottom":interfaceHeight,"padding-right":interfaceWidth}).hide();$next.click(cboxPublic.next);$prev.click(cboxPublic.prev);$close.click(cboxPublic.close);$content.children().removeClass(hover);$('.cboxElement').live('click',function(e){if(e.button!==0&&typeof e.button!=='undefined'){return TRUE;}else{launch(this);return FALSE;}});};cboxPublic.position=function(speed,loadedCallback){var
animate_speed,winHeight=$window.height(),posTop=Math.max(winHeight-settings.h-loadedHeight-interfaceHeight,0)/2+$window.scrollTop(),posLeft=Math.max(document.documentElement.clientWidth-settings.w-loadedWidth-interfaceWidth,0)/2+$window.scrollLeft();animate_speed=($cbox.width()===settings.w+loadedWidth&&$cbox.height()===settings.h+loadedHeight)?0:speed;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=that.style.width;$loadingGraphic[0].style.height=$loadingOverlay[0].style.height=$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=that.style.height;}
$cbox.dequeue().animate({width:settings.w+loadedWidth,height:settings.h+loadedHeight,top:posTop,left:posLeft},{duration:animate_speed,complete:function(){modalDimensions(this);active=FALSE;$wrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";$wrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";if(loadedCallback){loadedCallback();}},step:function(){modalDimensions(this);}});};cboxPublic.resize=function(object){if(!open){return;}
var topMargin,prev,prevSrc,next,nextSrc,photo,timeout,speed=settings.transition==="none"?0:settings.speed;$window.unbind(cbox_resize);if(!object){timeout=setTimeout(function(){var $child=$loaded.wrapInner("<div style='overflow:auto'></div>").children();settings.h=$child.height();$loaded.css({height:settings.h});$child.replaceWith($child.children());cboxPublic.position(speed);},1);return;}
$loaded.remove();$loaded=$('<div id="cboxLoadedContent"/>').html(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w;}
function getHeight(){settings.h=settings.h||$loaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h;}
$loaded.hide().appendTo($loadingBay).css({width:getWidth(),overflow:settings.scrolling?'auto':'hidden'}).css({height:getHeight()}).prependTo($content);$('#cboxPhoto').css({cssFloat:'none'});if(isIE6){$('select:not(#colorbox select)').filter(function(){return this.style.visibility!=='hidden';}).css({'visibility':'hidden'}).one(cbox_cleanup,function(){this.style.visibility='inherit';});}
function setPosition(s){cboxPublic.position(s,function(){if(!open){return;}
if(isIE){if(photo){$loaded.fadeIn(100);}
$cbox[0].style.removeAttribute("filter");}
if(settings.iframe){$loaded.append("<iframe id='cboxIframe'"+(settings.scrolling?" ":"scrolling='no'")+" name='iframe_"+new Date().getTime()+"' frameborder=0 src='"+settings.href+"' "+(isIE?"allowtransparency='true'":'')+" />");}
$loaded.show();$title.show().html(settings.title);if($related.length>1){$current.html(settings.current.replace(/\{current\}/,index+1).replace(/\{total\}/,$related.length)).show();$next.html(settings.next).show();$prev.html(settings.previous).show();if(settings.slideshow){$slideshow.show();}}
$loadingOverlay.hide();$loadingGraphic.hide();$.event.trigger(cbox_complete);if(settings.onComplete){settings.onComplete.call(element);}
if(settings.transition==='fade'){$cbox.fadeTo(speed,1,function(){if(isIE){$cbox[0].style.removeAttribute("filter");}});}
$window.bind(cbox_resize,function(){cboxPublic.position(0);});});}
if((settings.transition==='fade'&&$cbox.fadeTo(speed,0,function(){setPosition(0);}))||setPosition(speed)){}
if(settings.preloading&&$related.length>1){prev=index>0?$related[index-1]:$related[$related.length-1];next=index<$related.length-1?$related[index+1]:$related[0];nextSrc=$(next).data(colorbox).href||next.href;prevSrc=$(prev).data(colorbox).href||prev.href;if(isImage(nextSrc)){$('<img />').attr('src',nextSrc);}
if(isImage(prevSrc)){$('<img />').attr('src',prevSrc);}}};cboxPublic.load=function(){var href,img,setResize,resize=cboxPublic.resize;active=TRUE;element=$related[index];settings=$(element).data(colorbox);process();$.event.trigger(cbox_load);if(settings.onLoad){settings.onLoad.call(element);}
settings.h=settings.height?setSize(settings.height,'y')-loadedHeight-interfaceHeight:settings.innerHeight?setSize(settings.innerHeight,'y'):FALSE;settings.w=settings.width?setSize(settings.width,'x')-loadedWidth-interfaceWidth:settings.innerWidth?setSize(settings.innerWidth,'x'):FALSE;settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,'x')-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw;}
if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,'y')-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh;}
href=settings.href;$loadingOverlay.show();$loadingGraphic.show();if(settings.inline){$('<div id="cboxInlineTemp" />').hide().insertBefore($(href)[0]).bind(cbox_load+' '+cbox_cleanup,function(){$(this).replaceWith($loaded.children());});resize($(href));}else if(settings.iframe){resize(" ");}else if(settings.html){resize(settings.html);}else if(isImage(href)){img=new Image();img.onload=function(){var percent;img.onload=null;img.id='cboxPhoto';$(img).css({margin:'auto',border:'none',display:'block',cssFloat:'left'});if(settings.scalePhotos){setResize=function(){img.height-=img.height*percent;img.width-=img.width*percent;};if(settings.mw&&img.width>settings.mw){percent=(img.width-settings.mw)/img.width;setResize();}
if(settings.mh&&img.height>settings.mh){percent=(img.height-settings.mh)/img.height;setResize();}}
if(settings.h){img.style.marginTop=Math.max(settings.h-img.height,0)/2+'px';}
resize(img);if($related.length>1){$(img).css({cursor:'pointer'}).click(cboxPublic.next);}
if(isIE){img.style.msInterpolationMode='bicubic';}};img.src=href;}else{$('<div />').appendTo($loadingBay).load(href,function(data,textStatus){if(textStatus==="success"){resize(this);}else{resize($("<p>Request unsuccessful.</p>"));}});}};cboxPublic.next=function(){if(!active){index=index<$related.length-1?index+1:0;cboxPublic.load();}};cboxPublic.prev=function(){if(!active){index=index>0?index-1:$related.length-1;cboxPublic.load();}};cboxPublic.slideshow=function(){var stop,timeOut,className='cboxSlideshow_';$slideshow.bind(cbox_closed,function(){$slideshow.unbind();clearTimeout(timeOut);$cbox.removeClass(className+"off"+" "+className+"on");});function start(){$slideshow.text(settings.slideshowStop).bind(cbox_complete,function(){timeOut=setTimeout(cboxPublic.next,settings.slideshowSpeed);}).bind(cbox_load,function(){clearTimeout(timeOut);}).one("click",function(){stop();$(this).removeClass(hover);});$cbox.removeClass(className+"off").addClass(className+"on");}
stop=function(){clearTimeout(timeOut);$slideshow.text(settings.slideshowStart).unbind(cbox_complete+' '+cbox_load).one("click",function(){start();timeOut=setTimeout(cboxPublic.next,settings.slideshowSpeed);$(this).removeClass(hover);});$cbox.removeClass(className+"on").addClass(className+"off");};if(settings.slideshow&&$related.length>1){if(settings.slideshowAuto){start();}else{stop();}}};cboxPublic.close=function(){$.event.trigger(cbox_cleanup);if(settings.onCleanup){settings.onCleanup.call(element);}
open=FALSE;$(document).unbind("keydown.cbox_close keydown.cbox_arrows");$window.unbind(cbox_resize+' resize.cboxie6 scroll.cboxie6');$overlay.css({cursor:'auto'}).fadeOut('fast');$cbox.stop(TRUE,FALSE).fadeOut('fast',function(){$('#colorbox iframe').attr('src','about:blank');$loaded.remove();$cbox.css({'opacity':1});try{bookmark.focus();}catch(er){}
$.event.trigger(cbox_closed);if(settings.onClosed){settings.onClosed.call(element);}});};cboxPublic.element=function(){return $(element);};cboxPublic.settings=defaults;$(cboxPublic.init);}(jQuery));

// Box Sliders
jQuery(document).ready(function()
{jQuery(".cta_body").hide();jQuery(".cta_head").click(function()
{jQuery(this).next(".cta_body").slideToggle(600);});});

//Tables
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function addClassName(elm, className){
    var currentClass = elm.className;
    if(!new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(currentClass)){
        elm.className = currentClass + ((currentClass.length > 0)? " " : "") + className;
    }
    return elm.className;
}

function removeClassName(elm, className){
    var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i");
    elm.className = elm.className.replace(classToRemove, "").replace(/^\s+|\s+$/g, "");
    return elm.className;
}

function hasClass(el, c) {
  if (!el || !el.className.length) return;
  var bits = el.className.split(' '), has = false;
  for (var j = 0; j < bits.length; j++) if (bits[j] === c) has = true;
  return has;
}

function activateThisColumn(column) {
  var table = document.getElementById('pricetable');
  var form = document.getElementById('formcontainer');

  // first, remove the 'on' class from all other th's
  var ths = table.getElementsByTagName('th');
  for (var g=0; g<ths.length; g++) {
    removeClassName(ths[g], 'on');
    if (!hasClass(ths[g],'side')) {
      ths[g].style.display = 'none';
    }
  }
  // then, remove the 'on' class from all other td's
  var tds = table.getElementsByTagName('td');
  for (var m=0; m<tds.length; m++) {
    removeClassName(tds[m], 'on');
    if (!hasClass(tds[m],'side')) {
      tds[m].style.display = 'none';
    }
  }

  // now, add the class 'on' to the selected th
  var newths = getElementsByClassName(column, 'th', table);
  for (var h=0; h<newths.length; h++) {
    addClassName(newths[h], 'on');
    newths[h].style.display = '';
    // not all browsers like display = 'block' for cells
  }
    // and finally, add the class 'on' to the selected td
  var newtds = getElementsByClassName(column, 'td', table);
  for (var i=0; i<newtds.length; i++) {
    addClassName(newtds[i], 'on');
    newtds[i].style.display = '';
    // not all browsers like display = 'block' for cells
  }
  // show the form!
  form.style.display = 'block';
}

function hideTheForm() {
	// get the form
	var form = document.getElementById('formcontainer');
	// hide the form
	form.style.display = 'none';
	
	// now get the hidden table cells and show them again
	var table = document.getElementById('pricetable');
	var tds = table.getElementsByTagName('td');
	for (var i=0; i<tds.length; i++) {
		tds[i].style.display = '';
	}
	var ths = table.getElementsByTagName('th');
	for (var k=0; k<ths.length; k++) {
		ths[k].style.display = '';
	}
}
// Form stuff
jQuery(".button").click(function() {
    var $button = jQuery(this);
    var oldValue = $button.parent().parent().find("input").val();

	if ($button.hasClass('inc')) {
	  var newVal = parseFloat(oldValue) + 1;
	  // AJAX save would go here
	} else {
	  // Don't allow decrementing below zero
	  if (oldValue >= 1) {
	      var newVal = parseFloat(oldValue) - 1;
	      // AJAX save would go here
	  }
	}
	$button.parent().parent().find("input").val(newVal);
});

// jQuery Slider

jQuery.fn.selectToUISlider = function(settings){
	var selects = jQuery(this);
	
	//accessible slider options
	var options = jQuery.extend({
		labels: 3, //number of visible labels
		tooltip: true, //show tooltips, boolean
		tooltipSrc: 'text',//accepts 'value' as well
		labelSrc: 'value',//accepts 'value' as well	,
		sliderOptions: null
	}, settings);


	//handle ID attrs - selects each need IDs for handles to find them
	var handleIds = (function(){
		var tempArr = [];
		selects.each(function(){
			tempArr.push('handle_'+jQuery(this).attr('id'));
		});
		return tempArr;
	})();
	
	//array of all option elements in select element (ignores optgroups)
	var selectOptions = (function(){
		var opts = [];
		selects.eq(0).find('option').each(function(){
			opts.push({
				value: jQuery(this).attr('value'),
				text: jQuery(this).text()
			});
		});
		return opts;
	})();
	
	//array of opt groups if present
	var groups = (function(){
		if(selects.eq(0).find('optgroup').size()>0){
			var groupedData = [];
			selects.eq(0).find('optgroup').each(function(i){
				groupedData[i] = {};
				groupedData[i].label = jQuery(this).attr('label');
				groupedData[i].options = [];
				jQuery(this).find('option').each(function(){
					groupedData[i].options.push({text: jQuery(this).text(), value: jQuery(this).attr('value')});
				});
			});
			return groupedData;
		}
		else return null;
	})();	
	
	//check if obj is array
	function isArray(obj) {
		return obj.constructor == Array;
	}
	//return tooltip text from option index
	function ttText(optIndex){
		return (options.tooltipSrc == 'text') ? selectOptions[optIndex].text : selectOptions[optIndex].value;
	}
	
	//plugin-generated slider options (can be overridden)
	var sliderOptions = {
		step: 1,
		min: 0,
		orientation: 'horizontal',
		max: selectOptions.length-1,
		range: selects.length > 1,//multiple select elements = true
		slide: function(e, ui) {//slide function
				var thisHandle = jQuery(ui.handle);
				//handle feedback 
				var textval = ttText(ui.value);
				thisHandle
					.attr('aria-valuetext', textval)
					.attr('aria-valuenow', ui.value)
					.find('.ui-slider-tooltip .ttContent')
						.text( textval );

				//control original select menu
				var currSelect = jQuery('#' + thisHandle.attr('id').split('handle_')[1]);
				currSelect.find('option').eq(ui.value).attr('selected', 'selected');
		},
		values: (function(){
			var values = [];
			selects.each(function(){
				values.push( jQuery(this).get(0).selectedIndex );
			});
			return values;
		})()
	};
	
	//slider options from settings
	options.sliderOptions = (settings) ? jQuery.extend(sliderOptions, settings.sliderOptions) : sliderOptions;
		
	//select element change event	
	selects.bind('change keyup click', function(){
		var thisIndex = jQuery(this).get(0).selectedIndex;
		var thisHandle = jQuery('#handle_'+ jQuery(this).attr('id'));
		var handleIndex = thisHandle.data('handleNum');
		thisHandle.parents('.ui-slider:eq(0)').slider("values", handleIndex, thisIndex);
	});
	

	//create slider component div
	var sliderComponent = jQuery('<div></div>');

	//CREATE HANDLES
	selects.each(function(i){
		var hidett = '';
		
		//associate label for ARIA
		var thisLabel = jQuery('label[for=' + jQuery(this).attr('id') +']');
		//labelled by aria doesn't seem to work on slider handle. Using title attr as backup
		var labelText = (thisLabel.size()>0) ? 'Slider control for '+ thisLabel.text()+'' : '';
		var thisLabelId = thisLabel.attr('id') || thisLabel.attr('id', 'label_'+handleIds[i]).attr('id');
		
		
		if( options.tooltip == false ){hidett = ' style="display: none;"';}
		jQuery('<a '+
				'href="#" tabindex="0" '+
				'id="'+handleIds[i]+'" '+
				'class="ui-slider-handle" '+
				'role="slider" '+
				'aria-labelledby="'+thisLabelId+'" '+
				'aria-valuemin="'+options.sliderOptions.min+'" '+
				'aria-valuemax="'+options.sliderOptions.max+'" '+
				'aria-valuenow="'+options.sliderOptions.values[i]+'" '+
				'aria-valuetext="'+ttText(options.sliderOptions.values[i])+'" '+
			'><span class="screenReaderContext">'+labelText+'</span>'+
			'<span class="ui-slider-tooltip ui-widget-content ui-corner-all"'+ hidett +'><span class="ttContent"></span>'+
				'<span class="ui-tooltip-pointer-down ui-widget-content"><span class="ui-tooltip-pointer-down-inner"></span></span>'+
			'</span></a>')
			.data('handleNum',i)
			.appendTo(sliderComponent);
	});
	
	//CREATE SCALE AND TICS
	
	//write dl if there are optgroups
	if(groups) {
		var inc = 0;
		var scale = sliderComponent.append('<dl class="ui-slider-scale ui-helper-reset" role="presentation"></dl>').find('.ui-slider-scale:eq(0)');
		jQuery(groups).each(function(h){
			scale.append('<dt style="width: '+ (100/groups.length).toFixed(2) +'%' +'; left:'+ (h/(groups.length-1) * 100).toFixed(2)  +'%' +'"><span>'+this.label+'</span></dt>');//class name becomes camelCased label
			var groupOpts = this.options;
			jQuery(this.options).each(function(i){
				var style = (inc == selectOptions.length-1 || inc == 0) ? 'style="display: none;"' : '' ;
				var labelText = (options.labelSrc == 'text') ? groupOpts[i].text : groupOpts[i].value;
				scale.append('<dd style="left:'+ leftVal(inc) +'"><span class="ui-slider-label">'+ labelText +'</span><span class="ui-slider-tic ui-widget-content"'+ style +'></span></dd>');
				inc++;
			});
		});
	}
	//write ol
	else {
		var scale = sliderComponent.append('<ol class="ui-slider-scale ui-helper-reset" role="presentation"></ol>').find('.ui-slider-scale:eq(0)');
		jQuery(selectOptions).each(function(i){
			var style = (i == selectOptions.length-1 || i == 0) ? 'style="display: none;"' : '' ;
			var labelText = (options.labelSrc == 'text') ? this.text : this.value;
			scale.append('<li style="left:'+ leftVal(i) +'"><span class="ui-slider-label">'+ labelText +'</span><span class="ui-slider-tic ui-widget-content"'+ style +'></span></li>');
		});
	}
	
	function leftVal(i){
		return (i/(selectOptions.length-1) * 100).toFixed(2)  +'%';
		
	}
	

	
	
	//show and hide labels depending on labels pref
	//show the last one if there are more than 1 specified
	if(options.labels > 1) sliderComponent.find('.ui-slider-scale li:last span.ui-slider-label, .ui-slider-scale dd:last span.ui-slider-label').addClass('ui-slider-label-show');

	//set increment
	var increm = Math.max(1, Math.round(selectOptions.length / options.labels));
	//show em based on inc
	for(var j=0; j<selectOptions.length; j+=increm){
		if((selectOptions.length - j) > increm){//don't show if it's too close to the end label
			sliderComponent.find('.ui-slider-scale li:eq('+ j +') span.ui-slider-label, .ui-slider-scale dd:eq('+ j +') span.ui-slider-label').addClass('ui-slider-label-show');
		}
	}

	//style the dt's
	sliderComponent.find('.ui-slider-scale dt').each(function(i){
		jQuery(this).css({
			'left': ((100 /( groups.length))*i).toFixed(2) + '%'
		});
	});
	

	//inject and return 
	sliderComponent
	.insertAfter(jQuery(this).eq(this.length-1))
	.slider(options.sliderOptions)
	.attr('role','application')
	.find('.ui-slider-label')
	.each(function(){
		jQuery(this).css('marginLeft', -jQuery(this).width()/2);
	});
	
	//update tooltip arrow inner color
	sliderComponent.find('.ui-tooltip-pointer-down-inner').each(function(){
				var bWidth = jQuery('.ui-tooltip-pointer-down-inner').css('borderTopWidth');
				var bColor = jQuery(this).parents('.ui-slider-tooltip').css('backgroundColor')
				jQuery(this).css('border-top', bWidth+' solid '+bColor);
	});
	
	var values = sliderComponent.slider('values');
	
	if(isArray(values)){
		jQuery(values).each(function(i){
			sliderComponent.find('.ui-slider-tooltip .ttContent').eq(i).text( ttText(this) );
		});
	}
	else {
		sliderComponent.find('.ui-slider-tooltip .ttContent').eq(0).text( ttText(values) );
	}
	
	return this;
}
//--------------------------
			jQuery(document).ready(function() {
				jQuery('input:checkbox:not([safari])').checkbox();
				jQuery('input[safari]:checkbox').checkbox({cls:'jquery-safari-checkbox'});
				jQuery('input:radio').checkbox();
			});

			displayForm = function (elementId)
			{
				var content = [];
				jQuery('#' + elementId + ' input').each(function(){
					var el = $(this);
					if ( (el.attr('type').toLowerCase() == 'radio'))
					{
						if ( this.checked )
							content.push([
								'"', el.attr('name'), '": ',
								'value="', ( this.value ), '"',
								( this.disabled ? ', disabled' : '' )
							].join(''));
					}
					else
						content.push([
							'"', el.attr('name'), '": ',
							( this.checked ? 'checked' : 'not checked' ), 
							( this.disabled ? ', disabled' : '' )
						].join(''));
				});
				alert(content.join('\n'));
			}
			
			changeStyle = function(skin)
			{
				jQuery('#myform :checkbox').checkbox((skin ? {cls: skin} : {}));
			}
			
//------------- Buttons hover

jQuery('#dialog_link, ul#icons li').hover(
					function() { jQuery(this).addClass('ui-state-hover'); }, 
					function() { jQuery(this).removeClass('ui-state-hover'); }
				);