var basket_proc = 'add_to_basket.php';
var bTarget = '_basket';
var timer_id;
var position_id;
var total = 0;
var item_basket_price = 0;
var basket_item_title = '';
var max_count_override = false; // Overriding max count for size.
var discount = [];
discount['158000'] = 5;
discount['278000'] = 10;
discount['471000'] = 15;
var error = 0;

function addBasket(product_id){

		url = basket_proc+'?tyre_id='+product_id+'&r='+Math.random();
		//alert(url);
		loadXMLDoc(url, product_id);
}

function addDetailBasket(product_id,amount){

		url = basket_proc+'?detail_id='+product_id+'&r='+Math.random();
		//alert(url);
		if(amount>0){
			loadXMLDoc(url, product_id);
		}else{
			if(confirm('      .   ,    ?')){ location.href='/part_order/'; }
		}
}

function clearBasket(){
	url = basket_proc+'?action=del&target='+bTarget+'&method=basketXmlToHtml'+'&r='+Math.random();
//	alert(url);
	loadXMLDoc(url);
}


function delBasket(id, size, mode){
	url = basket_proc+'?action=del&id='+id+'&size='+size+'&target='+bTarget+'&method=basketXmlToHtml'+'&r='+Math.random();
//	alert(url);
	loadXMLDoc(url);
}

function getBasket(){
	url = basket_proc+'?action=get&target='+bTarget+'&method=basketXmlToHtml&rand='+Math.random();
	loadXMLDoc(url);
}

/*
	Parsing basket data and placing into basket container
*/
function basketXmlToHtml(result, target){
	var message;
	var success_message;
	var bItem;
	var itemData = [];
	var sum = 0;
	var count = 0;
	var rest = 0;
	var pos_rus = '';
	var basket_into = '';
	var percent = 0;
	if(document.getElementById('add_basket_btn')){
		document.getElementById('add_basket_btn').disabled = false;
	}
	//alert(item_basket_price+':'+total);
	if(result == 'deleted'){ window.location.reload(); }
	if(window.opener){
		try{
			message = window.opener.document.getElementById(target);
			success_message = window.opener.document.getElementById('basket_success_msg');
		}catch(err){
			message = document.getElementById(target);
			success_message = document.getElementById('basket_success_msg');
		
		}
	}else{
		message = document.getElementById(target);
		success_message = document.getElementById('basket_success_msg');
//		alert(success_message);
	}

	if(result != 0){
		bItem = result.split(',');
		for( i in bItem){
			itemData[i] = bItem[i].split(':');
			sum += itemData[i][2]*itemData[i][3];
			count += Number(itemData[i][2]);
			if(itemData[i][1] == 0)itemData[i][1] = '';
			if(document.getElementById('basket_'+itemData[i][0]+'_'+itemData[i][1])){
				document.getElementById('basket_'+itemData[i][0]+'_'+itemData[i][1]).innerHTML = itemData[i][2];
			}
		}
		
		count += '';
		rest = count[count.length-1];
		if(rest == 2 || rest == 3 || rest == 4){ pos_rus = 'товара'; }
		else{pos_rus = 'товаров';}
		if(rest == 1){ pos_rus = 'товар'; }
		
		// Вычисление скидки от стоимости покупки
		for(i in discount){
			if(sum > i){
				percent = discount[i];
			}
		}
		if(percent != 0){
			discount_sum = sum-(sum*percent/100);
			basket_into = 'Уже заказали '+count+' '+pos_rus+' на '+sum+' руб.<br/>C учетом скидки '+percent+'% — <b>'+discount_sum+'</b> руб.';
		}else{
			basket_into = 'Уже заказали '+count+' '+pos_rus+' на '+sum+' руб.';
		}
	}else{
		basket_into = '<br>Ваш заказ пока не сформирован.<br><br>';
	}
	timer_id = setInterval(showStatusMessage, 1500, 'none');

	if(message){
		message.innerHTML = basket_into;
	}
	if(position_id && success_message){
		success_message.style.display = 'block';
		item_basket_price = total*item_basket_price;
		success_message.innerHTML = 'Добавили: '+basket_item_title+', '+total+' шт., на сумму '+item_basket_price+' руб.';
	}


}

function showStatusMessage(elem_display){
	// Закрываем окно:
	if(elem_display == undefined){
		elem_display = 'none';	
	}
	if(document.getElementById('status_'+position_id)){
		if(
		   	document.getElementById('status_'+position_id).style.display == 'block' 
			&& elem_display != 'block'
			&& !max_count_override
			&& !error
			){
//			alert(document.getElementById('status_'+position_id).style.display);
			document.getElementById('status_'+position_id).style.display = 'none';
			if(window.opener){window.close()}			
//			window.close();
		}else{
			document.getElementById('status_'+position_id).style.display = elem_display;	
		}
		
	}
	if(timer_id){
		clearInterval(timer_id);
	}

}

function selectPayment(obj){
	if(document.getElementById('payment').style.display == 'none'){
		document.getElementById('payment').style.display = 'block';
	}
	var found = 0;

	for(p in aPayment){
		for(i in delivery[obj.value]){
			if(delivery[obj.value][i] != aPayment[p]){
				found = 0;
			}else{
				found = 1;
				break;
			}
		}
		if(found == 1){
			document.getElementById('payment_'+aPayment[p]).disabled = 0;
			document.getElementById('p_'+aPayment[p]).className = 'item';
		}else{
			document.getElementById('payment_'+aPayment[p]).disabled = 1;
			document.getElementById('p_'+aPayment[p]).className = 'disabled item';
			if(document.getElementById('payment_'+aPayment[p]).checked){
				document.getElementById('payment_'+aPayment[p]).checked = false;
			}
		}
	}
}

function showBasketPreview(preview){
	if(preview){
		document.getElementById('BasketPreview').innerHTML = '<img src="'+preview+'" />';
		document.getElementById('BasketPreview').style.display = 'block';
	}else{
		document.getElementById('BasketPreview').style.display = 'none';	
	}
}
