
 //////////////////////////////////////////////////////////////////////////////
 //                                                                          //
 //  Корзина заказов. (с) 2005-2008 www.KapusTa.com.ua			     //
 //                                                                          //
 //////////////////////////////////////////////////////////////////////////////

var N=new Object();  // названия
var P=new Object();  // цены
var E=new Object();  // цены

var CN=new Object(); // корзина: названия
var CP=new Object(); // корзина: цена
var CE=new Object(); // корзина: уе
var CQ=new Object(); // корзина: кол-во
var CD=new Object(); // корзина: не учитывать

var divider1='^';
var divider2='@';

expire = new Date();
expire.setTime (expire.getTime() + (365 * 24 * 60 * 60 * 1000));
cookie_fin="; expires=" + expire.toGMTString() + ";path=/";

var ccart=getCookie('cart');
//alert(ccart);
var arr2;
if( ccart && ccart.substring(0,1)==divider1){
	Q=1;
	var arr=ccart.split(divider1);
	if(arr && arr.length>1 && arr[1]!=''){
		for(var i=1; i<arr.length; i++){
			arr2=arr[i].split(divider2);
			if(arr2 && arr2.length>1 && arr2[0] && arr2[1] && arr2[2] && arr2[3]){
				CQ[arr2[0]]=arr2[1];
				CP[arr2[0]]=arr2[2];
//				CN[arr2[0]]=arr2[3];
				CE[arr2[0]]=arr2[3];			
			}
		}
	}
}

//

function float2currency( ppp ){
	ppp=(Math.round(ppp*100)/100);
	var ppps=ppp+'';
	var pppsp=ppps.indexOf(".");
	var zero='';
	if(pppsp>0){
		zero=ppps.substring(pppsp+1);
		ppps=ppps.substring(0,pppsp+1);
		if(zero.length==1)zero+='0';
	}
	else{
		zero='.00'
	}
	return ppps+zero;
	
}


//Установить cookie
function setCookie(name, value) {
	document.cookie = name + "=" + escape(value) + cookie_fin;
}
//Получить cookie
function getCookie(name) {
	var doc_cookie = document.cookie;
	if(!doc_cookie || doc_cookie==0)return "";
	var prefix = name + "=";
	var cookie_st = doc_cookie.indexOf(prefix)
	if (cookie_st == -1 ) return "";
	var cookie_end = doc_cookie.indexOf(";", cookie_st + prefix.length);
	if (cookie_end == -1) cookie_end = doc_cookie.length;
	var res=unescape(doc_cookie.substring(cookie_st + prefix.length, cookie_end));
	return res;
}
//Удалить cookie
function deleteCookie(name) {
if (getCookie(name)) {
	document.cookie = name + "=" + "; path=/" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

//

//перерисовать корзину

function refresh_cart( mode ) {
	if(!layer('curs'))
		{ 
			if(getCookie('ue')==''){
				var LayerCursValue = 0; 
			}else{
				var LayerCursValue = getCookie('ue');
			}
		}
	else
		{ var LayerCursValue = layer('curs').value; };
	var res='';
	var all_q=0;
	var all_p=0;
	var num=0;
	var qqq=0;

	for(var pp in CP){ if(P[pp]){ if(P[pp]!=CP[pp]){ CP[pp] = P[pp]; } } }
	for(var pp in CE){ if(E[pp]){ if(E[pp]!=CE[pp]){ CE[pp] = E[pp]; } } }

	if(CQ){	for(var pp in CQ){
		if( (CQ[pp]>=0)&&(CP[pp]>=0) ){
if(CD[pp]!=1){
			num++;
			if(CQ[pp]>0){ qqq++ }
			all_q+=(CQ[pp]*1);
			if(LayerCursValue==666){
				var ppp=CP[pp]*CQ[pp]/Curs[CE[pp]];
				if(!(all_p[CE[pp]])){ all_p[CE[pp]]=0; }
				all_p[CE[pp]]+=(ppp*1);
			}else{
				var ppp=CP[pp]*CQ[pp]*Curs[CE[pp]]/Curs[LayerCursValue];
				if(ppp) all_p+=(ppp*1);
			}
}
		}
		}
	}

/*	if( all_q==0 ){
		res+='Ваша корзина пуста.'
	}else{
		res+='Товаров у вас в корзине:<br>';
		res+='<a href="/order/index.htm"';
		res+='>'+all_q+' шт. на сумму '+(Math.round(all_p*100)/100)+' '+Ue[LayerCursValue]+'</a>';
	}	/**/
//	res+="<span>"+all_q+"</span>";
//	res+="<span>"+num+"</span>";
//	var qqq = num;
//	res+=qqq;
//	res+='';

//	layer('cart1').innerHTML = qqq;

	if( layer("sum") ){
		layer("sum").innerHTML = number_format( all_p, 2, ".", "" ); 
		layer("sum").innerHTML += " "+Ue[getCookie('ue')];
	};

	if( layer("sum2") ){ 
		layer("sum2").innerHTML = number_format( all_p, 2, ".", "&nbsp;" );
		layer("sum2").innerHTML += " <span>"+Ue[getCookie('ue')]+"</span>";
	};

	if(layer("qq1"))layer("qq1").innerHTML = qqq;
	if(layer("qq2"))layer("qq2").innerHTML = all_q;
	if(layer("qq3"))layer("qq3").innerHTML = number_format( all_p, 2, ".", " " );
	if(layer("qq3"))layer("qq3").innerHTML += " <span>"+Ue[getCookie('ue')]+"</span>";
	if(layer("qq4"))layer("qq4").innerHTML = number_format( all_p*Curs[getCookie('ue')], 2, ".", " " ); 
	if(layer("qq4"))layer("qq4").innerHTML += " <span>"+Ue[0]+"</span>";
/*	var qqq_1 = qqq - Math.floor(qqq/10)*10;
	var qqq_2 = qqq - Math.floor(qqq/100)*100;
	if( (qqq_1 == 1)&&( (qqq_2<10)||(qqq_2>20) ) ){
		layer('cart2').className = "cartbox_r";
	}else if( ((qqq_1 == 2)||(qqq_1 == 3)||(qqq_1 == 4))&&( (qqq_2<10)||(qqq_2>20) ) ){
		layer('cart2').className = "cartbox_ra";
	}else{
		layer('cart2').className = "cartbox_rov";
	}

*/


	if( layer('cart_quan') ){
		layer('cart_quan').innerHTML = qqq;

		var qqq_1 = qqq - Math.floor(qqq/10)*10;
		var qqq_2 = qqq - Math.floor(qqq/100)*100;
		if( (qqq_1 == 1)&&( (qqq_2<10)||(qqq_2>20) ) ){
			layer('cart_quan').innerHTML += " товар";
		}else if( ((qqq_1 == 2)||(qqq_1 == 3)||(qqq_1 == 4))&&( (qqq_2<10)||(qqq_2>20) ) ){
			layer('cart_quan').innerHTML += " товара";
		}else{
			layer('cart_quan').innerHTML += " товаров";
		}
	}
	if( layer('cart_quan_all') ){
		layer('cart_quan_all').innerHTML = all_q;

		var qqq = all_q;
		var qqq_1 = qqq - Math.floor(qqq/10)*10;
		var qqq_2 = qqq - Math.floor(qqq/100)*100;
		if( (qqq_1 == 1)&&( (qqq_2<10)||(qqq_2>20) ) ){
			layer('cart_quan_all').innerHTML += " товар";
		}else if( ((qqq_1 == 2)||(qqq_1 == 3)||(qqq_1 == 4))&&( (qqq_2<10)||(qqq_2>20) ) ){
			layer('cart_quan_all').innerHTML += " товара";
		}else{
			layer('cart_quan_all').innerHTML += " товаров";
		}
	}
	if( layer('cart_all') ){
		layer('cart_all').innerHTML = (Math.round(all_p*100)/100)+' ' +Ue[LayerCursValue]+'</a>';
	}

	var all_p_ue0 = all_p * Curs[LayerCursValue];
	if( layer('cart_all_ue0') ){
		layer('cart_all_ue0').value = (Math.round(all_p_ue0*100)/100);
	}

	if(all_q>0){
		ShowOrHideEx('cart_empty', false);
		ShowOrHideEx('cart_full', true);
	}else{
		ShowOrHideEx('cart_full', false);
		ShowOrHideEx('cart_empty', true);
	}

}


//сохранить корзину в cookie
function save_cart(){   
	var res='';
	if(CQ)for(p in CQ){
		if(!CQ[p] || CQ[p]<=0 || CQ[p]==null)continue;
//		res+=divider1+p+divider2+CQ[p]+divider2+CP[p]+divider2+CN[p]+divider2+CE[p]+divider2+CD[p]+divider2;
		res += divider1
			+p+divider2
			+CQ[p]+divider2
			+CP[p]+divider2
//			+CN[p]+divider2
			+CE[p]+divider2
//			+( (CE[p]!="undefined")?(CE[p]):("") )+divider2
//			+( (CD[p])?(CD[p]):("") )+divider2	/**/
		}
	if(!res)res=divider1;
//alert('savecart: '+res);
	setCookie('cart', res);
}

//удалить товар из корзины
function cart_del( id ){
	CQ[id]=null;
	CP[id]=null;
	CN[id]=null;
	CE[id]=null;

	save_cart();
	refresh_cart(true);
}

//очистить корзину
function cart_delall(){
	if(CQ)	for(var pp in CQ){
			cart_del( pp );
	}

	save_cart();
	refresh_cart(true);
}

//не учитывать
function disabled_toggle( id ){

	if(!CD[id]){ CD[id]=0; }

	CD[id] = (CD[id]==0)?( 1 ):( 0 );

	if(CD[id]!=1){ 	layer('ad_'+id).innerHTML = '<span title="Не учитывать в рассчёте заказа">Спрятать</span>'; 
			layer('ad_'+id).className = '';
			layer('s'+id).className = 'price_q'; 
	}else{		layer('ad_'+id).innerHTML = '<span title="Снова учитывать в рассчёте заказа">Вернуть</span>'; 
			layer('ad_'+id).className = 'dis';
			layer('s'+id).className = 'price_q_d'; 
	}

	save_cart();
	refresh_cart(true);

	return false;
}

function cartsend_keyup(event){
	if(event.keyCode==27){ ShowOrHideEx("div_cart_send", false); };
};

//добавить
function cart_add_short( id, v, setv, vfloat ){

	var q;

	var elm = layer('q'+id);

	if(v==''){
		if(elm){ q = elm.value; }
		else{	 q = v; }
	}else{
		q = v;
	}

//	q = Math.round(q);
	q_str = new String(q); 
	q_str = q_str.replace(/,/g, '.');
	q_str = q_str.replace(/[^0-9.]/g, '');
	q = q_str;
	if(vfloat){
		q = Math.round(q*100+0.49)/100;
		if(q!=0 && q<0.05) q=0.05;
		q = number_format(q, 3, '.', '');
	}else{
		q = Math.round(q);
		q = number_format(q, 0, '.', '');
	}
	

	if(elm){ elm.value = q;	}
//alert('id='+id+' v='+v+' setv='+setv+' / q='+q+' CQ[id]='+CQ[id]);
	if( (!CQ[id]) || (CQ[id]<=0 || setv) )CQ[id]=q;
				 	 else CQ[id]=1*CQ[id]+q;
	if(CQ[id]<0)CQ[id]=0;
//alert('CQ[id] = '+CQ[id]);

	if(P[id])CP[id]=P[id];
	if(N[id])CN[id]=N[id];
	if(E[id])CE[id]=E[id];
	CD[id]='0';

	if( CQ[id]>0 )	{ if(layer('a'+id)) layer('a'+id).className = 'tocart0a'; }
	else		{ if(layer('a'+id)) layer('a'+id).className = 'tocart0'; };

	var sum = layer('s'+id);
	if(sum){
		sum.innerHTML = number_format( CQ[id]*CP[id]*Curs[CE[id]]/Curs[getCookie('ue')], 2, '.', ' ') + " "+Ue[getCookie('ue')]//' грн.';
	}

	save_cart();
	refresh_cart(true);

	return false;
}

function ch( id ){
	if( CQ[id]>0 )	{ layer('a'+id).className = 'tocart1'; }
	else		{ layer('a'+id).className = 'tocart0'; };
}

// слой через id
function layer(id,d){
	if(!d)d = document;
	if(d.getElementById) return d.getElementById(id);
	if(d.all) return d.all[id];
	if(d.layers) return d.layers[id];
	return null;
}

//смена кол-ва в корзине
function change( id, sender ){
	var q;
	q=sender.value;
	q=1*q
	if(!q)q=0;
	if(q<0)q=0;

	CQ[id] = q;

	save_cart();
	refresh_cart(true);
}

//клавиша enter в кол-ве в корзине
function keypress( e, id, ssender ){
	if(e.keyCode==13){
		change( id, ssender )
		return false;
	}
	else return true;
}

//оформить заказ
function make_order(){
	res='';

	layer('cart').innerHTML += res;
}




// показать / скрыть корзину
function ShowOrHide(id, doc) {
	if(doc){	var item = layer(id, doc);	}
	else{		var item = layer(id);	}

	if (!item) {
	}else 	if (item.style) {
			if (item.style.display == "none"){ item.style.display = ""; 
		}else{
			item.style.display = "none"; 
		}
	}else{ 
		item.visibility = "show"; 
	}
}

function ShowOrHideEx(id, show) {
	var item = layer(id);
        if (item && item.style) {
		item.style.display = (show==1)?(""):("none");
	}
}
