
$(document).ready(function()
{
	/*#######################################################
					Slider Initialisation
	########################################################*/

	//Set price slider and set the value of the price plan
	var options = {
		value: 	10,
		min:	0,
		max:	40,
		range:  'min',
		keypressSlideEnabled: false,
		moveOnMouseDown: 	false,
		stop: priceSliderChanged,
		change: priceSliderChanged
	};

	createLabelledSlider("#priceSlider", options, 35, ['0','5', '10','15','20','25','30','35','40'])
	$("#withinMilesCalc").value = $("#priceSlider").slider("value");

	/*
	$("#priceSlider" ).bind("slidechange", function(event, ui)
	{
		document.getElementById("withinMilesCalc").value = ui.value;
	});
	*/

	//setPrice

	$(window).bind('scroll', function()
	{
		if ($.browser.msie && jQuery.browser.version.substr(0,3)=="6.0") {
			//ie 6
			positionFloatPanelOnScrollIE6();
		}
		else
		{
//			positionFloatPanelOnScroll();
		}
	});

});


function setPrice(price)
{
	$("#priceSlider").slider('option', 'value', price);
	$("#selectedPrice").html(getCostToDisplay(price));
}

/*###########################################################################################################
 * 									Slider Functions
 ###########################################################################################################*/
/*
 * Create a labelled slider in the given CSS selector, with ethe provided options,
 * labels should appear with interval chosen and labels are provided as an array
 */
function createLabelledSlider(selector, options, interval, labels)
{
	var width = interval * (labels.length-1);
	createSliderLabels(selector, interval, labels);

	$(selector).slider(options);
	$(selector).css("width", width);
	$(selector).css("margin-left", 0);
}

/*
 * Create labels if there are are least two, they will be placed interval width
 * apart such that they overlap teh end of the slider by half an interval width
 */
function createSliderLabels(selector, interval, labels){
	if(labels.length > 2)
	{
		var slideAxis = $('<div class="greyText slideAxis floatLeft"></div>');
		var axisLabels = $('<div></div>');
		for(var i=0; i<labels.length; i++){
			var div;
			if(i == (labels.length -1))
			{	//lastTag
				div = $('<div id="lastNation" class="axisTag floatLeft">'+ labels[i] +'</div>');
			}
			else if(i>0)
			{
				div = $('<div class="axisTag floatLeft">&nbsp;'+ labels[i] +'</div>').css('width', interval);
			} else {
				div = $('<div class="axisTag firstTag floatLeft">&nbsp;&nbsp;'+ labels[0] +'</div>').css('width', interval);
			}
			$(axisLabels).append(div);
		}

		//$(axisLabels).append("<div class='clear'></div>");
		$(slideAxis).html(axisLabels);
		//var axisMarkers = createAxisMarkers(interval, labels.length);

		$(selector).before(slideAxis);
		//$(selector).after(axisMarkers);
	}
}


/*
 * Method to trigger when the price slider is changed or has stopped being changed
 */
function priceSliderChanged(event, ui)
{
	if(event.which == 1)
	{
		//console.log(ui.value);
		if (ui.value > 39)
				var wmc = "Nationwide";
		else	var wmc = ui.value + " miles";
		document.getElementById("withinMilesCalc").value = wmc;
	}
}

function getSliderValueBySelector(selector){
	return $(selector).slider('option', 'value');
}

function setSliderValueBySelector(selector, value){
	var min = $(selector).slider('option', 'min');
	var max = $(selector).slider('option', 'max');
	var valueToSet = new Number(value);
	if(value < min){
		valueToSet = min;
	}
	if(value > max){
		valueToSet = max;
	}
	$(selector).slider('option', 'value', valueToSet);
	return valueToSet;
}

