var TLP = $($("#YourReg").data("tsel")).find('a');; //link on the selected region
var TW = parseFloat($("#Weight").text()); //ves korzini
var PZone = parseFloat(TLP.attr('Rp')); //nomer zoni (0-4) sootvetstvenno do 600km, 601 - 2000km, 2001 - 5000km, 5001 - 8000km, bolee 8000km
var russianPostValue = 'Rp';
var courierValue = 'Cur';

//massiv stoimosti 0-banderol, 1-posilka
var RpPr = [{"StartCost":[60,60,60,60,60], //nachalnaja stoimost
	"Cost500":[28,35,40,45,50], //dobavochnaja stoimost za 500gr
	"Avia":[0,50,50,50,50]},//dobavochnaja stoimost za avia
	{"StartCost":[100,100,105,125,140],
	"Cost500":[8,9,13,18,20],
	"Avia":[0,200,200,200,200]}];
// massiv stoimisti dostavki kur'erom 0 - Moskva, 1 - Piter
var iCourierDelieryCost = [[250,300,340],[150,170,190]];

$(document).ready(function() {
	// enable order button on the basket page
	$("#issueOrder").removeClass('BtBuyNoActBBB').addClass('BtBuyBBB').attr('href','/basket/issue_order');
});

function askRemoveBasketItem(id) {
	if(confirm('Вы уверены?')) {
		removeBasketItem(id);
	}
}

function removeBasketItem(id) {
	//umiBasket.getInstance().removeBasketItem(id);
	if($('#'+id+'li').length==1) {
		$('#'+id+'li').remove();
		$('#'+id+'a').remove();
		var count = String(parseInt($('#basketTotalSpanBg').text())-1);
		$('#basketTotalSpanBg').text(count);
		$('#basketTotalSpanFg').text(count);
		$('#basketTotalSpanBasket').text(count);
		$('#basketTotalSpanBasketBig').text(count);
		$('#basketTotalSpanOrders').text(count);
		$('#basketTotalSpanProfile').text(count);
	}
	window.location="/eshop/remove_from_basket/"+id;
}

function updateTotalWeight() {
	var weightIterator=0;
	var totalWeight=0;
	while (weightIterator < $("tr[name*='basketrow']").length){
		totalWeight+=parseFloat($("tr[name*='basketrow']:eq("+weightIterator+") span[@id$='weight_wrapper']").text());
		weightIterator++;
	}
	$('#TotalWeight').text(totalWeight+"гр.");	
}

function AccountCostDeliver() {	
	var TLP;
	if( $("#YourReg").length )
		TLP = $($("#YourReg").data("tsel")).find('a');
	else if( $("#RegList").length ) {
		TLP = $("#RegList li[value='"+parseInt($("#deliv_region").val())+"'] a");
	}
	var TW = parseFloat($("#Weight").text());
	var PZone = parseFloat(TLP.attr('Rp'));
	var russianPostValue = 'Rp';
	var courierValue = 'Cur';
	
	if ( $("input[name2='delivery']:checked").val() == courierValue ) {
		$($("#BasketCost").parent("td")).parent('tr').hide(); // hide "Itogo" line
		$("#deliveryCostRow td:first").html("<strong>Стоимость доставки оплачивается при получении:</strong>");
	}
	else {
		$($("#BasketCost").parent("td")).parent('tr').show(); // show "Itogo" line
		$("#deliveryCostRow td:first").html("<strong>Стоимость доставки:</strong>");
	}
 	
	// courier is payed on its own rule basis
	// courier delivery to LenObl is not free of a charge
	switch ($("input[name2=delivery]:checked").val()) {
		case courierValue: // courier
				var iCourierDelivCat; // courier delivery category, depends on weight
				if(TW<1000) iCourierDelivCat = 0;
				else if(TW>=1000 && TW<2000) iCourierDelivCat = 1;
				else if(TW>=2000) iCourierDelivCat = 2;
				//alert('courier weight:'+TW+' zone:'+iCourierDelivCat+' reg:'+parseInt(TLP.attr('Cur')));
				switch(parseInt(TLP.attr('Cur'))) {
					case 1: // Moscow
						$("#deliveryCost").empty().prepend(iCourierDelieryCost[0][iCourierDelivCat]+' р.'); 
                        $("input[name2=courier_delivery_cost]").val(iCourierDelieryCost[0][iCourierDelivCat]);
						break;
					case 2: // Piter
						$("#deliveryCost").empty().prepend(iCourierDelieryCost[1][iCourierDelivCat]+' р.'); 
                        $("input[name2=courier_delivery_cost]").val(iCourierDelieryCost[1][iCourierDelivCat]);
						break;
					case 3: // LenObl
						$("#deliveryCost").empty().html("<a target='_blank' href='http://de-ex.ru/ceny_po_leningradskoy_ob' class='PopUp'>Рассчитать</a>"); 
                        $("input[name2=courier_delivery_cost]").val("#LO_link#");
						break;
				}
			
			break;
		case russianPostValue: 
			//alert('delivery2 weight:'+TW+' reg:'+parseInt(PZone));
			if (TW>500) {
				if (TW<=2000) {
					$("#deliveryCost").empty().prepend(RpPr[0].StartCost[PZone]+Math.ceil((TW-500)/500)*RpPr[0].Cost500[PZone]+RpPr[0].Avia[PZone]+' р.');
				}
				else {
					$("#deliveryCost").empty().prepend(RpPr[1].StartCost[PZone]+Math.ceil((TW-500)/500)*RpPr[1].Cost500[PZone]+RpPr[1].Avia[PZone]+' р.');
				}
			}
			else {
				$("#deliveryCost").empty().prepend(RpPr[0].StartCost[PZone]+RpPr[0].Avia[PZone]+' р.'); 
			} 
			break;
	}
	if	( parseFloat($("#booksCost").text())>2000  
		&& 	(
				$("input[name2=delivery]:checked").val() == russianPostValue  
				|| ($("input[name2=delivery]:checked").val() == courierValue && (parseInt(TLP.attr('Cur'))==1 || parseInt(TLP.attr('Cur'))==2))
			)
		) { 
		$("#deliveryCost").html("Бесплатно");
        $("input[name2=courier_delivery_cost]").val("#free#");
		$("input[name2=free_delivery]").val("#free#");
		umiBasket.getInstance().removeBasketItem(23915);		
		$("#BasketCost").text(parseFloat(parseFloat($("#booksCost").text()))+" р.");
	} 
	else {
		if(parseFloat($('#deliveryCost').text())>0 && $("input[name2=delivery]:checked").val() != courierValue) {
			umiBasket.getInstance().addElement(23915, 0);
			umiBasket.getInstance().updateCount(23915, parseFloat($('#deliveryCost').text()));
		}
		else {
			umiBasket.getInstance().removeBasketItem(23915);
		}
	}
	// if courier selected, delivery price is not included into final cost
	if( $("input[name2='delivery']:checked").val() == courierValue ) {
		$("#BasketCost").empty().prepend(parseFloat($("#booksCost").text())  + ' р.');
	}
	else {
		$("#BasketCost").empty().prepend(parseFloat($("#booksCost").text()) + parseFloat(!isNaN(parseFloat($("#deliveryCost").text())) ? $("#deliveryCost").text():0) + ' р.');
	}
    if($("input[name2=courier_delivery_cost]").val() && $("input[name2=delivery]:checked").val() == courierValue) {
        ShowGallery(ajax_loader_big);
        $.ajax({ 'url' : $("#form_profile").attr('action'),
                'async' : 'true',
                'type' : 'POST',
                'data' : $("input[name2=courier_delivery_cost]").attr('name') + "=" + $("input[name2=courier_delivery_cost]").val(),
                'success' : function() {HideDivBG();},
                'error': function() {alert('ERROR');}
            });
    }
	if($("input[name2=free_delivery]").val() == '#free#' && $("input[name2=delivery]:checked").val() == russianPostValue) {
        ShowGallery(ajax_loader_big);
        $.ajax({ 'url' : $("#form_profile").attr('action'),
                'async' : 'true',
                'type' : 'POST',
                'data' : $("input[name2=free_delivery]").attr('name') + "=" + $("input[name2=free_delivery]").val(),
                'success' : function() {HideDivBG();},
                'error': function() {alert('ERROR');}
            });
    }
    
}
	
function checkOrderForm() {
	var TLP = $($("#YourReg").data("tsel")).find('a');
	//-- save text values of Region, delivery type and payment type
	switch($("input[name2='pay']:checked").val()) {
		case "en":
			$("input[name2='payment_text']").val('Наличными');
			break;
		case "bt":
			$("input[name2='payment_text']").val('Банковский перевод');
			break;
        case "pc":
			$("input[name2='payment_text']").val('Банковской картой');
			break;
	}
	switch($("input[name2='delivery']:checked").val()) {
		case "Cur":
			$("input[name2='delivery_text']").val('Курьер');
			break;
		case "Rp":
			$("input[name2='delivery_text']").val('Почта России');
			break;
	}
	$("input[name2='region_text']").val($(TLP).text());
	//--
	$("#OrderFormError").empty();
	var returnValue = true;
	var inputFields = {"fio":"Ф.И.О. получателя","phone":"Телефон получателя","index":"Индекс","address":"Адрес доставки"};
	
	if(! $("#YourRegValue").val().length) {
		$("#regionLabel").addClass("red");
		//$("#OrderFormError").show().append("Не выбран 'Ваш регион'!<br/>");
		$("#OrderFormError").show().html("Для завершения офромления заказа, пожалуйста,заполните поля выделенные <font class='red'>красным</font> цветом.");
		returnValue = false;	
	}
	else if($("#regionLabel").hasClass("red")) {
		$("#regionLabel").removeClass("red");
	}
	
	for(key in inputFields) {
		if(! $("#"+key).val().length) {
			$("#"+key+"Label").addClass("red");
			//$("#OrderFormError").show().append("Не заполнено поле '"+inputFields[key]+"'!<br/>");
			$("#OrderFormError").show().html("Для завершения офромления заказа, пожалуйста,заполните поля выделенные <font class='red'>красным</font> цветом.");
			returnValue = false;	
		}
		else if($("#"+key+"Label").hasClass("red")) {
			$("#"+key+"Label").removeClass("red");
		}	
	}
	
	if($("#pay1:checked").length==0 && $("#pay2:checked").length==0 && $("#pay3:checked").length==0 && $("#pay4:checked").length==0 && $("#pay5:checked").length==0 && $("#pay6:checked").length==0 && $("#pay7:checked").length==0 && $("#pay8:checked").length==0) {
		$("#paymentLabel").addClass("red");
		//$("#OrderFormError").show().append("Не выбран способ оплаты!<br/>");
		$("#OrderFormError").show().html("Для завершения офромления заказа, пожалуйста,заполните поля выделенные <font class='red'>красным</font> цветом.");
		returnValue = false;
	}
	else if($("#paymentLabel").hasClass("red")) {
		$("#paymentLabel").removeClass("red");
	}
	if($("#delivery1:checked").length==0 && $("#delivery2:checked").length==0) {
		$("#deliveryLabel").addClass("red");
		//$("#OrderFormError").show().append("Не выбран способ доставки!<br/>");
		$("#OrderFormError").show().html("Для завершения офромления заказа, пожалуйста? заполните поля выделенные <font class='red'>красным</font> цветом.");
		returnValue = false;
	}
	else if($("#deliveryLabel").hasClass("red")) {
		$("#deliveryLabel").removeClass("red");
	}
	return returnValue;
}