var totalFlashPrice = 0;
var totalPartPrice = 0;
var numFormat = "0.00 Lt";
var partItems = new Array();

function strReplace(haystack, needle, replacement) {
    var temp = haystack.split(needle);
    return temp.join(replacement);
}


function fnClearParts() {

	jQuery("#part-table input").attr('value', '0');
	
	var Cookies = new CookieHandler();
	var parts = new Array();
	Cookies.setCookie('parts', JSON.encode(parts));
	addPartItems(parts);
}

function showComplect() {
	jQuery('#buttonParts').removeClass('selected');
	jQuery('#buttonComplect').addClass('selected');
	jQuery('#parts').css("left", "-2000px");
	jQuery('#flash').css("left", "0px");
}

function showParts() {
	jQuery('#buttonParts').addClass('selected');
	jQuery('#buttonComplect').removeClass('selected');
	jQuery('#flash').css("left", "-2000px");
	jQuery('#parts').css("left", "0px");
}


function checkPartValueInt(el) {
	var val = el.value.toString();
	val = val.replace(new RegExp("[^0-9]+", "g"), "");

	if (val == '') el.value = 0;
	else el.value = val;
	
	updateParts();
}

function checkPartValueFloat(el) {
	var val = el.value.toString();
	val = val.replace(new RegExp("[^0-9\.\,]+", "g"), "");
	val = val.replace(new RegExp("[\,]+", "g"), ".");

	if (val == '') el.value = 0;
	else el.value = val;
	
	updateParts();
}

function savePartItems() {
	var Cookies = new CookieHandler();
	var parts = new Array();
	for (x=0; x<partItems.length; x++) {
		var item = new Object();
		item.id = partItems[x].id;
		item.ammount = partItems[x].ammount;
		parts[parts.length] = item;
	}

	Cookies.setCookie('parts', JSON.encode(parts));
}

function updateParts() {
	partItems = [];
	jQuery("#part-table input[value!='0']").each(
		function(i) {
			var item = Base64.decode(jQuery(this).attr('base64').toString());
			item = JSON.decode(item);

			var ammount = jQuery(this).attr('value');
			ammount = parseFloat(strReplace(ammount.toString(), ',', '.'));

			var price = null;
			price = item.price;
			price = parseFloat(strReplace(price.toString(), ',', '.'));
			price = Math.round(price * ammount*100)/100;

			item.ammount = ammount;
			item.price = price;

			partItems[partItems.length] = item;
		}
	)
	addPartItems(partItems);
	savePartItems();
}

function updatePrice() {
	var total = totalFlashPrice + totalPartPrice;
	jQuery('#price').html(total.numberFormat(numFormat));


	if (total>0) {
		jQuery('#buttons').show();
		jQuery('#total').show();
	} else {
		jQuery('#buttons').hide();
		jQuery('#total').hide();
	}
}

function parseJSON(str) {
	var items = eval(str);
	addFlashItems(items);
}

function addFlashItems(items) {
	totalFlashPrice = 0;
	jQuery('#complect-rows').html('');

	if ( items.length>0) {
		for (x=0; x<items.length; x++) {
			totalFlashPrice += items[x].price;
			addFlashItem(items[x]);
		}
	} else {
		jQuery('#complect-rows').html('-');
	}
	
	updatePrice();
}

function addFlashItem(item) {
	var s = ''; 
	
	
	
	s += '<div class="item clearfix">';
	s += '<span class="title">' + item.title + '</span>';
	s += '<span class="price">' + item.price.numberFormat(numFormat) + '</span>';
	s += '<span class="color">' + item.color + '</span>';
	s += '<span class="code">' + item.code + '</span>';
	s += '</div>';

	jQuery('#complect-rows').append(s);
}



function addPartItems(items) {
	totalPartPrice = 0;
	jQuery('#part-rows').html('');

	if (items.length>0) {
		for (x=0; x<items.length; x++) {
			totalPartPrice += items[x].price;
			addPartItem(items[x]);
		}
	} else {
		jQuery('#part-rows').html('-');
	}

	updatePrice();
}

function addPartItem(item) {
	var s = ''; 
	s += '<div class="item clearfix">';
	s += '<span class="title">' + item.title + '</span>';
	s += '<span class="price">' + item.price.numberFormat(numFormat) + '</span>';
	s += '<span class="color">' + strReplace(item.ammount.numberFormat("0.00"), '.00', '') + '</span>';
	s += '<span class="code">' + item.code + '</span>';
	s += '</div>';

	jQuery('#part-rows').append(s);
}

