function jsBasket(cr, sqt, sall){
	this.cartrows = (cr) ? (cr + 1) : 1;
	this.jsBasketAddItem = jsBasketAddItem;
	this.jsBasketAddDelHundler = jsBasketAddDelHundler;
	this.sumrows = cr;
	this.sumqt = sqt;
	this.sumall = sall;
	this.itemqt = new Array;
	this.iscartedit = 0;
	this.cartbuttons = '';
	this.setJsCartEventHandlers();
	return true;
}

jsBasket.prototype.setJsCartEventHandlers=function(){
	var tmpobj = this;
	getId('editspan').onclick = function(){jsBasketEditCart.call(tmpobj);}
	getId('emptyspan').onclick = function(){jsBasketEmptyCart.call(tmpobj);}
	getId('orderspan').onclick = function(){jsBasketNewOrder.call(tmpobj);}
	getId('orderspan1').onclick = function(){jsBasketNewOrder.call(tmpobj);}
	getId('orderspan2').onclick = function(){jsBasketNewOrder2.call(tmpobj);}
	getId('orderspan21').onclick = function(){jsBasketNewOrder2.call(tmpobj);}
	getId('showspan').onclick = function(){jsBasketShowCart.call(tmpobj);}
	getId('closespan').onclick = function(){jsBasketCloseCart.call(tmpobj);}
	return true;
}

jsBasket.prototype.addCartToSessionByAjax=function(){
	var params = 'action=jsCartAddToSession';
	var temp_i = 1;
	for(var i = 1; i < this.cartrows; i++){
		if(getId('tr'+i)){
			params += '&suid'+temp_i+'='+getId('itemid'+i).value;
			params += '&name'+temp_i+'='+getId('itemname'+i).innerHTML;
			params += '&qt'+temp_i+'='+getId('itemquantity'+i).innerHTML;
			params += '&price'+temp_i+'='+getId('itemprice'+i).innerHTML;
			params += '&sum'+temp_i+'='+getId('itemsum'+i).innerHTML;
			temp_i++;
		}
	}
	params += '&numrows='+(temp_i - 1);
//	alert(params);
	ajax_req_post('/incs/shop2/jscart/jscart_ajax.php', params, jsBasketParseAjaxResponse);
	return true;
}

function jsBasketAddItem(iid, ititle, iqt, iprice){
	var exitem = 0;
	var exitemnum;
	for(var i = 1; i < this.cartrows; i++){
		if(getId('itemid'+i) && (iid == getId('itemid'+i).value)){
			exitem = 1;
			exitemnum = i;
			break;
		}
	}
	if(exitem){
		var newqt = parseInt(getId('itemquantity'+exitemnum).innerHTML) + parseInt(iqt);
		var newsum = newqt * parseInt(iprice);
		getId('itemquantity'+exitemnum).innerHTML = newqt;
		getId('itemsum'+exitemnum).innerHTML = newsum;
		this.sumqt += parseInt(iqt);
		this.sumall += iqt * iprice;
		getId('qtsum').innerHTML = this.sumqt;
		getId('sumsum').innerHTML = this.sumall;
		getId('qtsum1').innerHTML = this.sumqt;
		getId('sumsum1').innerHTML = this.sumall;
		this.addCartToSessionByAjax();
		return true;
	}

	var thisObj = this;
	var localcr = this.cartrows;
	var tbl = getId('tblcart');
    var newrow = tbl.insertRow(-1);
	newrow.id = 'tr'+localcr;

	jsBasketAddCell(newrow, ititle, 'jscart_cell_name', 'itemname'+localcr);
    jsBasketAddCell(newrow, iqt, 'jscart_cell', 'itemquantity'+localcr);
    jsBasketAddCell(newrow, iprice, 'jscart_cell', 'itemprice'+localcr);
    jsBasketAddCell(newrow, iqt * iprice, 'jscart_cell', 'itemsum'+localcr);
    var celldelhtml = "<img src='/img/jscart_btn_del.png' style='cursor: pointer;' id='itemdel"+localcr+"' />";
	celldelhtml += "<input type='hidden' id='itemid"+localcr+"' value='"+iid+"' />";
	jsBasketAddCell(newrow, celldelhtml);
	getId('itemdel'+localcr).onclick = function(){
		jsBasketDelItem.call(thisObj, 'tr'+localcr, localcr);
	}

	this.cartrows++;
	this.sumrows += 1;
	this.sumqt += parseInt(iqt);
	this.sumall += iqt * iprice;
	getId('trqt').innerHTML = this.sumrows;
	getId('qtsum').innerHTML = this.sumqt;
	getId('sumsum').innerHTML = this.sumall;
	getId('qtsum1').innerHTML = this.sumqt;
	getId('sumsum1').innerHTML = this.sumall;
	this.addCartToSessionByAjax();
	return true;
}

function jsBasketAddDelHundler(num){
	var thisObj = this;
	var localcr = num;
	getId('itemdel'+localcr).onclick = function(){
		jsBasketDelItem.call(thisObj, 'tr'+localcr, localcr);
	}
	return true;
}

function jsBasketDelItem(trid, num){
	if(this.iscartedit){
		return false;
	}
	var tbody = getId('tblcart').firstChild;
	this.sumrows -= 1;
	this.sumqt -= parseInt(getId("itemquantity"+num).innerHTML);
	this.sumall -= parseInt(getId("itemsum"+num).innerHTML);
	getId('trqt').innerHTML = this.sumrows;
	getId('qtsum').innerHTML = this.sumqt;
	getId('sumsum').innerHTML = this.sumall;
	getId('qtsum1').innerHTML = this.sumqt;
	getId('sumsum1').innerHTML = this.sumall;
	tbody.removeChild(getId(trid));
	this.addCartToSessionByAjax();
	return true;
}

function jsBasketEmptyCart(){
	var tbl = getId('tblcart').firstChild;
	for(var i = 1; i < this.cartrows; i++){
		if(getId('tr'+i)){
			tbl.removeChild(getId('tr'+i));
		}
	}
	this.cartrows = 1;
	this.sumrows = 0;
	this.sumqt = 0;
	this.sumall = 0;
	getId('trqt').innerHTML = this.sumrows;
	getId('qtsum').innerHTML = this.sumqt;
	getId('sumsum').innerHTML = this.sumall;
	getId('qtsum1').innerHTML = this.sumqt;
	getId('sumsum1').innerHTML = this.sumall;
	this.addCartToSessionByAjax();
	return true;
}

function jsBasketEditCart(){
	var tmpar = new Array;
	var tbl = getId('tblcart').firstChild;
	var exeditem = 0;
	for(var i = 1; i < this.cartrows; i++){
		if(getId('tr'+i)){
			var tmpqt = parseInt(getId('itemquantity'+i).innerHTML);
			var tar = {
			index: i,
			qt: tmpqt
			}
			tmpar.push(tar);
			getId('itemquantity'+i).innerHTML = '<input type="text" size="5" id="newqt'+i+'" value="'+tmpqt+'" />';
			exeditem = 1;
		}
	}
	if(exeditem){
		this.iscartedit = 1;
		getId('emptyspan').style.display = 'none';
		getId('orderspan21').style.display = 'none';
		getId('orderspan1').style.display = '';
		getId('editspan').src = '/img/jscart_btn_cancel.png';
		getId('editspan').id = 'canceledspan';
		getId('orderspan1').src = '/img/jscart_btn_ok.png';
		getId('orderspan1').id = 'confirmedspan';

		var thisObj = this;
		getId('confirmedspan').onclick = function(){
			jsBasketConfirmEdit.call(thisObj);
		}
		getId('canceledspan').onclick = function(){
			jsBasketCancelEdit.call(thisObj);
		}
	}
	this.itemqt = tmpar;
	return true;
}

function jsBasketConfirmEdit(){
	var tmpsumqt = 0;
	var tmpsumall = 0;
	for(var itr = 0; itr < this.itemqt.length; itr++){
		if(getId('newqt'+this.itemqt[itr]['index']).value <= 0){return false;}
		var newqt = parseInt(getId('newqt'+this.itemqt[itr]['index']).value);
		var newsum = parseInt(getId('itemprice'+this.itemqt[itr]['index']).innerHTML) * newqt;
		getId('itemquantity'+this.itemqt[itr]['index']).innerHTML = newqt;
		getId('itemsum'+this.itemqt[itr]['index']).innerHTML = newsum;
		tmpsumqt += newqt;
		tmpsumall += newsum;
	}
	this.sumqt = tmpsumqt;
	this.sumall = tmpsumall;
	getId('qtsum').innerHTML = this.sumqt;
	getId('sumsum').innerHTML = this.sumall;
	getId('qtsum1').innerHTML = this.sumqt;
	getId('sumsum1').innerHTML = this.sumall;
	this.iscartedit = 0;
	getId('emptyspan').style.display = '';
	getId('canceledspan').src = '/img/jscart_btn_edit.png';
	getId('canceledspan').id = 'editspan';
	getId('confirmedspan').src = '/img/jscart_btn_order_full.png';
	getId('confirmedspan').id = 'orderspan1';
	getId('orderspan1').style.display = 'none';
	getId('orderspan21').style.display = '';
	this.setJsCartEventHandlers();
	this.addCartToSessionByAjax();
	return true;
}

function jsBasketCancelEdit(){
	for(var itr = 0; itr < this.itemqt.length; itr++){
		getId('itemquantity'+this.itemqt[itr]['index']).innerHTML = this.itemqt[itr]['qt'];
	}
	this.iscartedit = 0;
	getId('emptyspan').style.display = '';
	getId('canceledspan').src = '/img/jscart_btn_edit.png';
	getId('canceledspan').id = 'editspan';
	getId('confirmedspan').src = '/img/jscart_btn_order_full.png';
	getId('confirmedspan').id = 'orderspan1';
	this.setJsCartEventHandlers();
	return true;
}

function jsBasketNewOrder(){
	this.addCartToSessionByAjax();
	if(this.cartrows != 1){
		var disp = getId('jscartdivfull').style.display;
		if(disp != 'none'){
			getId('jscartdivfull').style.display = 'none';
		}
		window.top.showWin("reglog_win","/incs/shop2/jscart/jscart_reglog.php","",370,220,false);
	}
	return true;
}

function jsBasketNewOrder2(){
	this.addCartToSessionByAjax();
	if(this.cartrows != 1){
		var disp = getId('jscartdivfull').style.display;
		if(disp != 'none'){
			getId('jscartdivfull').style.display = 'none';
		}
		window.top.showWin("reglog_win","/incs/shop2/jscart/jscart_reglog2.php","",370,220,false);
	}
	return true;
}

function jsBasketShowCart(){
	this.addCartToSessionByAjax();
	var disp = getId('jscartdivfull').style.display;
	if(disp == 'none'){
		getId('jscartdivfull').style.display = '';
	}
	return true;
}

function jsBasketCloseCart(){
	this.addCartToSessionByAjax();
	getId('jscartdivfull').style.display = 'none';
	return true;
}

function jsBasketParseAjaxResponse(httpReq){
	if(httpReq.readyState == 4){
		if(httpReq.status == 200 || httpReq.status == 0){
			//actions
		}
	}
	return true;
}