var active_fade_img = 0;

var AvailabilityStatus = {
	IN_STOCK_STATUS_ID: 1,
	OUT_OF_STOCK_STATUS_ID: 2,
	BACKORDERED_STATUS_ID: 3,
	DISCONTINUED_STATUS_ID: 4
}

$(document).ready(function() {
	$(window).load(function() {
		$('#ProductInfoThumbImage0').fadeTo("fast", 0.4);

		recalculatePrice();
		$('[id^=ProductThumbImage]:first').attr('class', 'ProductThumbImage ProductThumbActive');
	});
});

/**
 * Function recalculates product price based on selected Qty and options(if these exist)
 * Set's #PriceTag to the calculated price
 */
function recalculatePrice(option_id) {
	var unitPrice =	Number($('#unitPrice').val());
	var totalPrice = 0.0;

	if (option_id) {
		if(store_product_option_list[option_id] != undefined) {
			// set checkout button image and additional text below it
			var op_qty = store_product_option_list[option_id].quantity;
			if (store_product_option_list[option_id].store_product_availability_status_id == AvailabilityStatus.BACKORDERED_STATUS_ID) {
				op_qty = 9;
				$('#addToCartButton img').get(0).src = '/template/content/images/back_order.png';
				$('#addToCartButton').removeClass('DisabledButton').removeAttr('onclick');
				$('#addToCartButton').click(function(){
					document.ProductForm.submit(); return false;
				});

				if(store_product_option_list[option_id].waiting_time){
					if($('#waitingTime').length > 0){
						$('#waitingTime').show();
					}else{
						$('#postNotes').prepend('<div style="color: #0E72BD;" id="waitingTime"></div>');
					}
					$('#waitingTime').html('Waiting Time: '+store_product_option_list[option_id].waiting_time);
					if($('#quantityLeft').length > 0){
						$('#quantityLeft').hide();
					}
				}
			} else {
				$('#addToCartButton img').get(0).src = '/template/content/images/add_to_cart.png';
				if (store_product_option_list[option_id].store_product_availability_status_id == AvailabilityStatus.OUT_OF_STOCK_STATUS_ID
					|| store_product_option_list[option_id].store_product_availability_status_id == AvailabilityStatus.DISCONTINUED_STATUS_ID) {
					$('#addToCartButton').addClass('DisabledButton').removeAttr('onclick');
					$('#addToCartButton').click(function(){
						return false;
					});
					if($('#quantityLeft').length > 0){
						$('#quantityLeft').hide();
					}
				} else {
					$('#addToCartButton').removeClass('DisabledButton').removeAttr('onclick');
					$('#addToCartButton').click(function(){
						document.ProductForm.submit(); return false;
					});

					if($('#quantityLeft').length > 0){
						$('#quantityLeft').show();
					}else{
						$('#postNotes').prepend('<div style="color: #F60000;" id="quantityLeft">Only <span></span> left in stock</div>');
					}
					$('#quantityLeft span').html('<b>'+op_qty+'</b> product'+(op_qty > 1 ? 's' : ''));
				}

				if($('#waitingTime').length > 0){
					$('#waitingTime').hide();
				}
			}
			// set quantity dropdown list
			if (store_product_option_list[option_id].store_product_availability_status_id != AvailabilityStatus.OUT_OF_STOCK_STATUS_ID
				&& store_product_option_list[option_id].store_product_availability_status_id != AvailabilityStatus.DISCONTINUED_STATUS_ID) {
				$('#Quantity div').show();
				var Qty = $('#itemQty').get(0);
				if(Qty.options.length > op_qty){
					Qty.options.length = op_qty;
				}else if(Qty.options.length < op_qty){
					for(var i=Qty.options.length; i < op_qty; i++){
						Qty.options[i] = new Option(i+1);
					}
				}
			} else {
				$('#Quantity div').hide();
			}
		}
		var optionPrice = Number($("#optionPrices"+option_id).val());

		if (optionPrice) {
			unitPrice = optionPrice;
		}
	}

	if ($('#Quantity div').css('display') != 'none' && $('#itemQty option:selected').text()) {
		var qty = Number($('#itemQty option:selected').text());
		qty = qty > 0 ? qty : 1;
	} else {
		var qty = 1;
	}

	if(unitPrice > 0) {
		$('#unitPrice').val(unitPrice);
		totalPrice = unitPrice * qty;
	}

	if (totalPrice) {
		var total = '$ ' + totalPrice.toFixed(2);
	} else {
		var total = '';
	}
	$('#PriceTag').html(total);
}

function changeImage(num) {
	$('.ProductThumbImage').attr('class', 'ProductThumbImage');
	$('#ProductThumbImage' + num).attr('class', 'ProductThumbImage ProductThumbActive');

	$('#ProductInfoBigImage').fadeOut(500, function(){
		$('#ProductInfoBigImage').attr('src', eval("SmallImage" + num + ".src"))
	});
	$('#ProductInfoBigImage').fadeIn(500);
}

function fadeout(id) {
	if (id != active_fade_img) {
		$('#ProductInfoThumbImage' + id).fadeTo("fast", 0.4);
	}
}

function fadein(id) {
	if (id != active_fade_img) {
		$('#ProductInfoThumbImage' + id).fadeTo("fast", 1);
	}
}

/**
 * Validate and submit form
 */
function sendEmailToFriendData(product_id) {
	$('#email_to_friend_product_id').val(product_id);
	if($('#EmailToFriendForm').valid()) {
		$('#EmailToFriendForm').get(0).submit();
	}
}
