var basket_proc = '/lib/processes/proc.basket_z95.php';

var GET_ITEM_INFO = undefined;
var bTarget = '_basket';
var timer_id;
var informer_timer_id;
var no_informer = false;
var iContainer;
var position_id;
var total = 0;
var total_added = 0;
var item_basket_price = 0;
var basket_item_title = '';
var error = 0;
var discount = [];
var SuccessMessage;
//(window.opener) ? SuccessMessage = window.opener.document.getElementById('SuccessMessage'):SuccessMessage = document.getElementById('SuccessMessage');

//var Discount = [];
//Discount['3'] = 10;
//Discount['4'] = 15;
//Discount['5'] = 20;
//Discount['6'] = 25;
var Informer = [];
var LOG = 0;
var CARDS = [];
CARDS[1] = ['Серебрянная', ', она предоставляет 25% скидку при покупке 4 и более вещей.', 25];
CARDS[2] = ['Золотая', ', она предоставляет 30% скидку при покупке 4 и более вещей.', 30];
CARDS[3] = ['Платиновая', ', она предоставляет постоянную 30% скидку', 30];

function placeOrder(obj){
	document.forms['BasketForm'].elements['update'].value = 2;
	document.forms['BasketForm'].submit();
}

function prepareToAddBasket(cat_id){
	checkButton(cat_id);
	var sizes = [];
	var sizes_div = document.getElementById('sb'+cat_id);
	if(sizes_div){
		sizes_div.style.display = 'block';
	}else{
		sizes[0] = '';
		addBasket('', cat_id, sizes);
	}
}

function checkButton(cat_id){

	if( document.getElementById('add_btn_'+cat_id)){
		
		var form_sizes = document.getElementById('f_sizes_'+cat_id);
		var disabled = true;
		if(form_sizes){
			for(var i=0; i < form_sizes.elements.length; i++){
				//if(form_sizes.elements[i]){
					if(form_sizes.elements[i].type == 'checkbox' && form_sizes.elements[i].checked){
						disabled = false;
					}
				//}
			}
		}
		document.getElementById('add_btn_'+cat_id).disabled = disabled;
	}
}

function addBasket2(cat_id){
	var form_sizes = document.getElementById('f_sizes_'+cat_id);
	var sizes = [];
	var tmp = '';
	var n = 0;
	if(form_sizes){
		for( var i=0; i < form_sizes.elements.length; i++ ){
			if(form_sizes.elements[i].type == 'checkbox'){
				tmp = form_sizes.elements[i].id.split('_');
				sizes[n] = tmp[2];
				n++;
			}
		}
	}
	addBasket('', cat_id, sizes);
}

function addBasket(elem, id, sizes_arr){
	if(sizes_arr != undefined) sizes = sizes_arr;
	if(document.getElementById('SizeError')) document.getElementById('SizeError').style.display = 'none';
	if(document.getElementById('add_basket_btn')) document.getElementById('add_basket_btn').disabled = true;
	if(document.getElementById('Sizes')) document.getElementById('Sizes').className = 'Sizes';
	position_id = id;
	showStatusMessage('block');
	if(document.basket_form) var count = document.basket_form.elements;
	var params = '';
	error = 0;
	if(sizes.length == 0){sizes[0] = '';}
	for(i in sizes){
		if(document.getElementById('size_'+id+'_'+sizes[i]).type == 'hidden'){
			size_count = 1;
			total_added += size_count;
			params += '&size['+id+']['+sizes[i]+']='+Number(size_count);
		}else{
			if(document.getElementById('size_'+id+'_'+sizes[i]).checked){
				size_count = 1;
				total_added += size_count;
				params += '&size['+id+']['+sizes[i]+']='+Number(size_count);
			}
		}
	}
	if(params != ''){
		item_basket_price = document.getElementById('price_'+id).value;
		basket_item_title = document.getElementById('title_for_basket_'+id).innerHTML;
		params += '&price['+id+']='+item_basket_price;
		url = basket_proc+'?action=add&id='+id+'&target='+bTarget+'&method=basketXmlToHtml&uid=0'+params+'&r='+Math.random();
		//alert(url);
		loadXMLDoc(url);
	}else{
		error = 1;
		document.getElementById('add_basket_btn').disabled = false;	
		showStatusMessage('none');
		document.getElementById('Sizes').className = 'SizeError';
		document.getElementById('SizeError').style.display = 'block';
	}
}

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


function delBasket(id, size, mode){
	position_id = id;
	url = basket_proc+'?action=del&id='+id+'&size='+size+'&target='+bTarget+'&method=basketXmlToHtml'+'&mode='+mode+'&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;
	var basket_discount_info = '';
	if(document.getElementById('add_basket_btn')){
		document.getElementById('add_basket_btn').disabled = false;
	}
	//alert(item_basket_price+':'+total);
	if(result == 'deleted'){ window.location.reload(); }
	
	try{ 
//	(window.opener){
		message = window.opener.document.getElementById(target);
		success_message = window.opener.document.getElementById('basket_success_msg');
		SuccessMessage = window.opener.document.getElementById('SuccessMessage');
		SuccessMessage.style.top = window.opener.document.body.scrollTop+200;
	}catch(err){
		message = document.getElementById(target);
		success_message = document.getElementById('basket_success_msg');
		SuccessMessage = document.getElementById('SuccessMessage');
		SuccessMessage.style.top = document.body.scrollTop+200;
	}

	if(result != 0){

		bData = result.split('EOD');
		VIP = bData[2];
		PD = bData[1];
		res = bData[0];
		basket_info = bData[3];
		bItem = res.split(',');
		for( i in bItem){
			itemData[i] = bItem[i].split(':');
			sum += Number(itemData[i][2]) * Number(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) && (count != 12 && count != 13 && count != 14 && count != 11)){ pos_rus = 'товара'; }
		else{pos_rus = 'товаров';}
		if(rest == 1){ pos_rus = 'товар'; }
		
		// Вычисление скидки от стоимости покупки
		
		for(i in Discount){
			if(Number(count) >= i){
				percent = Discount[i];
			}
		}

		basket_into = 'Уже заказали '+count+' '+pos_rus+' на '+sum+' руб.';
		total = count;
		
		if(percent != 0 || PD != 0){
			if(PD != 0 && PD > percent){
				discount_sum = sum-(sum*Number(PD)/100);
				basket_discount_info = '<br/>С учетом персональной скидки '+PD+'% — '+discount_sum+' руб.';	
			}else{
				discount_sum = sum-(sum*percent/100);
				basket_discount_info = '<br/>C учетом скидки '+percent+'% — <b>'+discount_sum+'</b> руб.';
			}
		}
		if(VIP != 0){
			if(count >= 4 || VIP == 3){
				discount_sum = sum - (sum * Number(CARDS[VIP][2])/100);
				basket_discount_info = '<br/>C учетом скидки по карте: '+CARDS[VIP][2]+'% — <b>'+discount_sum+'</b> руб.';
			}
			basket_into += '<br/>У вас есть скидочная карта <a href="/vip/#'+VIP+'">'+CARDS[VIP][0]+'</a>'+CARDS[VIP][1];
		}	
		basket_into += basket_discount_info;
		basket_into += ' <input type="button" class="make_order" onclick="window.location.href = \'/basket/\'" value="Заказать &rarr;"/>';

	}else{
//		alert(result);
		basket_into = ' ваш заказ пока не сформирован.';
		basket_info = basket_into;
	}
	//timer_id = setInterval(showStatusMessage, 10, 'none');
	showStatusMessage('none');
	if(message){
		message.innerHTML = basket_into;
	}
	if(position_id && success_message){
		//alert(window.opener.document.body.scrollTop);
		success_message.style.display = 'block';
		//item_basket_price = total_added*item_basket_price;
		var _size = '';
		(total_added == 1) ? _size = 'размер' : _size = 'размера';
		//success_message.innerHTML = 'Добавили: '+basket_item_title+', '+total_added+' '+_size+', на сумму '+item_basket_price+' руб.';
//		alert(basket_info);
		success_message.innerHTML = basket_info;
	}

	if(!no_informer){
		loadInformer();
	}else{
		loadItemInfo();
	}
}

function loadItemInfo(){
	if( GET_ITEM_INFO != undefined){
		GET_ITEM_INFO = 0;
		// Начинаем загрузку
		url = '/lib/processes/proc.get_item_info.php?target=ITEM_INFO&cat_id='+CURRENT_CAT_ID+'&cat_parent='+CURRENT_CAT_PARENT+'&cat_root='+CAT_ROOT+'&rand='+Math.random();
		loadXMLDoc(url);
		
	}
}

function loadInformer(){
	url = '/lib/processes/proc.informer.php?action=get&target=informer&method=initInformer&rand='+Math.random();
	loadXMLDoc(url);
}

var InformerID = 0;

function initInformer(result, target){
	iContainer = document.getElementById(target);

	var foo = 0;
	var Info;
	var aItems = [];
	if(result != ''){
		// Parsing informer
		Info = result.split('EOD');
		// Additional parsing for order items
		if(Info[0] != ''){
		order_items = Info[0].split('|');
		for( i in order_items){
			oItem = order_items[i].split(';');
			aItems[i] = '<b>Только что купили:</b> <a href="/catalogue'+oItem[9]+'/?id='+oItem[1]+'">'+oItem[2]+' ('+oItem[8]+') </a> за '+oItem[5]+' рублей';
		}
		}
		//var more = '';	if(total < 7){	more = 'Вам осталось купить вещей: <b>'+(7-total)+'</b>.';	}
		//Informer[foo] = '<b>С 5 по 25 января</b> при покупке более 7 вещей — скидка на покупку 50%! '+more+' Не забывайте — вам нужно это все и сейчас!';
		//foo++;
		if(Info[1] != '') { Informer[foo] = Info[1]; foo++; }
		if(Info[2] != '') { Informer[foo] = Info[2]; foo++; }
		
		for(i in aItems){
/*			if((i % 3) == 0 && Info[1] != '') {
				Informer[foo] = Info[1];
				foo++;
			}
			
			if((i % 3) == 1 && Info[2] != '') {
				Informer[foo] = Info[2];
				foo++;
			}
*/			
			Informer[foo] = aItems[i];
			foo++;
		}
		iContainer.innerHTML = Informer[InformerID];
		informer_timer_id = setInterval(showInformer, 10000);
	}
	if(document.getElementById('COMMENTS')) {
		loadComments();
	}else{
		if(GET_ITEM_INFO != undefined) loadItemInfo();
	}
}

function gotoInformer(direction){
	clearInterval(informer_timer_id);
	(direction == '-1') ? InformerID-- : InformerID++;
//	alert(InformerID);
	getNewInformer();
	informer_timer_id = setInterval(showInformer, 10000);
}
function showInformer(){
	InformerID++;
	getNewInformer();	
}

function getNewInformer(){
	if( Informer[InformerID] == undefined ){
		InformerID = 0;
	}
	
	if( Informer[InformerID] != ''){
		iContainer.innerHTML = Informer[InformerID];
	}
}
function goToBasket(){
/*
	if(window.opener){
		window.opener.location.href = '/basket/';
		window.close();
	}else{
		window.location.href = '/basket/';	
	}
*/
	window.location.href = '/basket/';	
}
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'
			&& !error
			&& SuccessMessage
			){
			SuccessMessage.style.display = 'block';
			document.getElementById('status_'+position_id).style.display = 'none';
			if(document.getElementById('sb'+position_id)) document.getElementById('sb'+position_id).style.display = 'none';
//			try{ if(window.opener.document.getElementById('')){window.close()} }catch(err){}
		}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';	
	}
}

function printDiscount(){
	var tmp = '';
	if(VIP != 0){ // Если есть карта
		if(BasketCount >= 4 || VIP == 3){ // Если купили более 4=х вещей или платиновая карта
			discount_sum = ORDER_SUM - (ORDER_SUM * Number(CARDS[VIP][2])/100);
			tmp = 'У вас '+CARDS[VIP][0]+' карта и вы получили скидку '+CARDS[VIP][2]+'%';
		}else{
			if((4-BasketCount) == 1) { 
				word = 'одну вещь';
			}else{
				if((4-BasketCount) == 5){
					word = (4-BasketCount)+' вещей';
				}else{
					word = (4-BasketCount)+' вещи';
				}
			}
			tmp +='<div class="discount_vip">Чтобы получить скидку по карте '+CARDS[VIP][2]+'% вам нужно заказать еще '+word+'.</div>';		
		}
		
	}else{
		// Если есть карта, но не платиновая или вещей менее 4-х
		for( i in Discount){
			if(BasketCount < i){
				if((i-BasketCount) == 1) { 
					word = 'одну вещь';
				}else{
					if((i-BasketCount) == 5){
						word = (i-BasketCount)+' вещей';
					}else{
						word = (i-BasketCount)+' вещи';
					}
				}
				tmp +='<div class="discount_'+Discount[i]+'">Чтобы получить скидку '+Discount[i]+'% вам нужно заказать еще '+word+'.</div>';
			}
		}
		if(BasketCount >= i){
			tmp += 'Вы получили максимальную скидку <b>'+Discount[i]+'</b>% — т.к. в вашем заказе '+i+' или более вещей';
			document.getElementById('discount_hint').style.display = 'block';
			document.getElementById('discount_hint').innerHTML = tmp;
		}
		
	}
		
	if(tmp != ''){
		(VIP == 0) ?
		tmp += '<div style="clear:both;"/><p class="popup"><a href="/discount/" class="black" target="_blank">Подробнее о скидках</a></p>' :
		tmp += '<div style="clear:both;"/><p class="popup"><a href="/vip/" class="black" target="_blank">Подробнее о скидочных картах</a></p>' ;
		document.getElementById('discount_hint').style.display = 'block';
		document.getElementById('discount_hint').innerHTML = tmp;
//		alert(document.getElementById('discount_hint').innerHTML)
	}
}

function showActionInfo(elem_id, sum){
	if(sum == undefined){
		document.getElementById(elem_id).innerHTML = '****';
	}else{
		document.getElementById(elem_id).innerHTML = '<div>При покупке 6 вещей скидка 50% </div>'+sum;
	}
}