/**
 * jQuery Slider
 */
var pagesDefault = 1;
var pagesMin = 1;
var pagesMax = 10;
var pagePrices = {
	1: 20,
	2: 45,
	3: 70,
	4: 95,
	5: 120,
	6: 145,
	7: 170,
	8: 195,
	9: 220,
	10: 245

};

var daysDefault = 1;
var daysMin = 1;
var daysMax = 5;
var dayPrices = {
	1: 55,
	2: 40,
	3: 30,
	4: 15,
	5: 0
};


var fixed;
var newVal;
var pagesVal = pagesDefault;
var daysVal = daysDefault;
var basePrice = 0;
$(function(){
   // Sliders
	$('#slider-pages').slider({
		value: pagesDefault,
		min: pagesMin,
		max: pagesMax,
		slide: function(e, ui){
			fixed = $().fixFloat(ui.value);
			(fixed < pagesVal) ? $().adjustPrice('pages', fixed) : $().adjustPrice('pages', fixed);
			
			pagesVal = parseInt(fixed);
			$('.pages-output').html(( pagesVal == 1 ) ? pagesVal +  ' Page' : pagesVal + ' Pages');
            $('input[name=pages]').val(pagesVal);
			
			$().totalPrice();
		},
		change: function(e, ui){
			fixed = $().fixFloat(ui.value);
			(fixed < pagesVal) ? $().adjustPrice('pages', fixed) : $().adjustPrice('pages', fixed);
			
			pagesVal = parseInt(fixed);
			$('.pages-output').html(( pagesVal == 1 ) ? pagesVal +  ' Page' : pagesVal + ' Pages');
            $('input[name=pages]').val(pagesVal);
			
			$().totalPrice();
		}
	});
	$('.pages-output').html(( pagesDefault == 1 ) ? pagesDefault +  ' Page' : pagesDefault + ' Pages');
	$('.pages > .sub').sub();
	$('.pages > .add').plus();
	
	$('#slider-days').slider({
		value: daysDefault,
		min: daysMin,
		max: daysMax,
		slide: function(e, ui){
			fixed = $().fixFloat(ui.value);
			(fixed < daysVal) ? $().adjustPrice('days', fixed) : $().adjustPrice('days', fixed);
			
			daysVal = parseInt(fixed);
			$('.days-output').html(( daysVal == 1 ) ? daysVal +  ' Day' : daysVal + ' Days');
            $('input[name=days]').val(daysVal);
			
			$().totalPrice();
		},
		change: function(e, ui){
			fixed = $().fixFloat(ui.value);
			(fixed < daysVal) ? $().adjustPrice('days', fixed) : $().adjustPrice('days', fixed);
			
			daysVal = parseInt(fixed);
			$('.days-output').html(( daysVal == 1 ) ? daysVal +  ' Day' : daysVal + ' Days');
            $('input[name=days]').val(daysVal);
			
			$().totalPrice();
		}
	});
	$('.days-output').html(( daysDefault == 1 ) ? daysDefault +  ' Day' : daysDefault + ' Days');
	$('.days > .sub').sub();
	$('.days > .add').plus();
   
   // Prices
	basePrice = pagePrices[pagesDefault] + dayPrices[daysDefault];
	$('#base-price').html('$' + basePrice);
    $('input[name=basePrice]').val(basePrice);

	$().totalPrice();
});

$.fn.sub = function(){
	$(this).click(function(){
		if($(this).parent().hasClass('pages')){
			if(pagesVal > pagesMin){
				newVal = pagesVal - 1;
				$('#slider-pages').slider('value', newVal);
			}
		} else if($(this).parent().hasClass('days')){
			if(daysVal > daysMin){
				newVal = daysVal - 1;
				$('#slider-days').slider('value', newVal);
			}
		}
	});
};

$.fn.plus = function(){
	$(this).click(function(){
		if($(this).parent().hasClass('pages')){
			if(pagesVal < pagesMax){
				newVal = pagesVal + 1;
				$('#slider-pages').slider('value', newVal);
			}
		} else if($(this).parent().hasClass('days')){
			if(daysVal < daysMax){
				newVal = daysVal + 1;
				$('#slider-days').slider('value', newVal);
			}
		}
	});
};

$.fn.fixFloat = function(num){
	numVal = num.toString();
	if( num < 1 )
	{
		numVal = 1;
	}
	else
	{
		if(numVal.length > 1){
			if( num > 9 ){
				numVal = numVal.substring(0,2);
			} else {
				numVal = numVal.substring(0,1);
			}
		}
	}
	return numVal;
};

$.fn.adjustPrice = function(obj, index){
	if(obj == 'pages'){
		basePrice = dayPrices[daysVal] + pagePrices[index];
		$('#base-price').html('$' + basePrice);
	} else if(obj == 'days'){
		basePrice = pagePrices[pagesVal] + dayPrices[index];
		$('#base-price').html('$' + basePrice);
	}
};

$.fn.totalPrice = function(){
	total = dayPrices[daysVal] + pagePrices[pagesVal];
   
   $('.total-price').html('$' + total);
   $('input[name=totalPrice]').val(total);
};


/**
 * jQuery Accordion
 */
$(document).ready(function(){
	$("dd:not(:first)").hide();
	$("dt a").click(function(){
        $(".swfupload").hide();
		$("dd:visible").slideUp("slow");
		$(this).parent().next().slideDown("slow");
        setTimeout("displayUpload()", 1000);
		return false;
	});
});
function displayUpload(){
   $('.swfupload').show();
}