window.onload = initBasket;

var addr = "/basket.php";
$sum = 0;
var userBasket = '';

function initBasket(){	
	userBasket = new userBasketClass();
	if(document.getElementById("clearuserBasket")){
		clb = document.getElementById("clearuserBasket");
		clb.onclick = clear;
		clb.style.cursor = (getIEVer() && getIEVer() < 6) ? 'hand' : 'pointer';
	}
	var basket_links = document.getElementsByTagName("img");
	for(i = basket_links.length - 1; i >= 0; i--){
		if (basket_links[i].id.indexOf('position_') != '-1'){
			basket_links[i].onclick = handler;
			basket_links[i].style.cursor = (getIEVer() && getIEVer() < 6) ? 'hand' : 'pointer';
			basket_links[i].alt = "Добавить в корзину";
			basket_links[i].title = "Добавить в корзину";
		}
	}
	sendRequest(addr+'?action=getBasket',userBasket.show);
}

function handler(){
	id = this.id.replace("position_","");	
	sendRequest(addr+"?action=add&id="+id+"&count=1",userBasket.show);
}

function show(req){		
	//this.debug.innerHTML = req.responseText;
	eval(req.responseText);
	this.Basket = basket;
	this.calcSum();
	if(document.getElementById('basket_into')){
		this.fillTable(document.getElementById('basket_into'));		
	}
	if(document.getElementById('basket_div')){
		if(this.Basket.length > 0){
			document.getElementById('basket_div').style.display = 'block';
			if(document.getElementById('basket_table')) document.getElementById('basket_table').style.display = 'block';
			if(document.getElementById('basket_order')) document.getElementById('basket_order').style.display = 'block';
			if(document.getElementById('basket_empty')) document.getElementById('basket_empty').style.display = 'none';
			if(document.getElementById('positions_count')) document.getElementById('positions_count').innerHTML = this.count;
			if(document.getElementById('positions_sum')) document.getElementById('positions_sum').innerHTML = this.sum;
		}else{
			if(document.getElementById('basket_table')) document.getElementById('basket_table').style.display = 'none';
			if(document.getElementById('basket_empty')) document.getElementById('basket_empty').style.display = 'block';
			if(document.getElementById('basket_div')) document.getElementById('basket_div').style.display = 'none';
			if(document.getElementById('basket_order')) document.getElementById('basket_order').style.display = 'none';
			hideBasket();
		}
	}if(document.getElementById('basket_div_delivery')){
		if(this.Basket.length > 0){
			document.getElementById('basket_div_delivery').style.display = 'block';
			document.getElementById('basket_div').style.display = 'none';
			if(document.getElementById('basket_table')) document.getElementById('basket_table').style.display = 'block';
			document.getElementById('basket_empty').style.display = 'none';
			if(document.getElementById('positions_count')) document.getElementById('positions_count').innerHTML = this.Basket.length;
			if(document.getElementById('positions_sum')) document.getElementById('positions_sum').innerHTML = this.sum;
		}else{
			if(document.getElementById('basket_table')) document.getElementById('basket_table').style.display = 'none';
			document.getElementById('basket_div_delivery').style.display = 'none';
		}
	}
	if(parseInt(this.sum) > 1500){
		if(document.getElementById('submit2')) document.getElementById('submit2').disabled = false;
		if(document.getElementById('warnstr')) document.getElementById('warnstr').style.display = 'none';
	}else{
		if(document.getElementById('submit2')) document.getElementById('submit2').disabled = true;
		if(document.getElementById('warnstr')) document.getElementById('warnstr').style.display = 'inline';
	}
}


function changeCount(pos){
	var re = /count_/g;
	var position_id = pos.id.replace(re, '');	
	sendRequest(addr+"?action=changeCount&id="+position_id+"&count="+pos.value,userBasket.show);
}
function delItemFromBasket(position_id){
	sendRequest(addr+"?action=del&id="+position_id,userBasket.show);
}
function clear(){
	sendRequest(addr+"?action=clear",userBasket.show);
}

function userBasketClass(){
	this.Basket 		= [];
	this.debug			= document.getElementById('debug');
	this.basket_div		= document.getElementById('basket_div');
	this.clear			= clear;
	this.show			= show;
	this.changeCount	= changeCount;
	this.count 			= 0;
	this.calcSum		= calcSum;
	this.fillTable		= fillTable;
	this.sum			= 0;
	//this.basket_div.onclick = showBasket;	
}
function showBasket(){
	if(document.getElementById('basket_table_div')){
		var btd = document.getElementById('basket_table_div');
		btd.style.display = 'block';
		btd.focus();
	}
	if(document.getElementById('modal')) document.getElementById('modal').style.display = 'block';
	//alert(document.getElementById('modal').outerHTML);
}
function hideBasket(){
	if(document.getElementById('basket_table_div')) document.getElementById('basket_table_div').style.display = 'none';
	if(document.getElementById('modal'))document.getElementById('modal').style.display = 'none';
}
function calcSum(){
	this.sum = 0;
	var oldCount = this.count;
	var sumarr = [];
	this.count = 0;
	for(i = this.Basket.length - 1; i >= 0; i--){
		p = parseFloat(this.Basket[i].position_price);
		c = parseInt(this.Basket[i].position_count);
		this.count += c;
		this.sum = parseFloat(this.sum);
		this.sum += (p*c);
		this.sum = roundNumber(this.sum,2);
		this.sum+= '';
	}
	sum = this.sum;
	if(this.sum) if(this.sum.substring(this.sum.indexOf('.')+1,this.sum.length).length == 1) this.sum += '0';	
	if(this.count > oldCount && ((oldCount != 0 && this.count != 0) || (oldCount == 0 && this.count == 1)) ){
		//alert("Товар добавлен в корзину");
	}
}
fillTable = function(tbody){
	if(tbody.rows.length > 0){
		while(tbody.rows.length){
			tbody.deleteRow(0);
		}
	}
	var tr,td;
	for (var i = 0 ; i < this.Basket.length ; i++){
		tr = tbody.insertRow(tbody.rows.length);
		// первый столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = '<img src="/images/s/'+this.Basket[i].position_id+'.jpg" alt="'+this.Basket[i].name+'" style="margin: 10px"/>';
		// второй столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = this.Basket[i].position_id;
		// третий столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = this.Basket[i].name;		
		// четвёртый столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = '<span class="news">'+this.Basket[i].position_price+'</span>';
		// пятый столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = "<input type='text' id='count_"+this.Basket[i].position_id+"' value='" + this.Basket[i].position_count + "' size='2' onchange='userBasket.changeCount(this)' name='position_"+this.Basket[i].position_id+"' class='but2'>";
		// шестой столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = '<span class="news">'+roundNumber((this.Basket[i].position_price * this.Basket[i].position_count),2)+'</span>';
		// седьмой столбец
		td = tr.insertCell(tr.cells.length);
		td.innerHTML = '&nbsp;&nbsp;<button class="but3" onclick="delItemFromBasket(\'' + this.Basket[i].position_id + '\'); return false;" >Удалить</button>';
	}
	document.getElementById('sum').innerHTML = '<b>'+this.sum+'</b>';
}

//-------Дополнительные проверки версии ИЕ
function getIEVer(){
	var ua = navigator.userAgent;
	var ieOffset = ua.indexOf('MSIE ');
	if(ieOffset != -1){
		//return ua;
		return parseFloat(ua.substring(ieOffset + 5, ua.indexOf(';', ieOffset)));
	}else return false;
}
//alert(getIEVer());

function roundNumber(number,x) { 
	x = (!x ? 2 : x); // rounds number to x decimal, default to 2 
	return Math.round(number*Math.pow(10,x))/Math.pow(10,x); 
}
function checkSum(){return (sum > 1500) ? true : false;}
