
 //////////////////////////////////////////////////////////////////////////////
 //                                                                          //
 //  Корзина заказов. (с) 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 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');
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[4];			
			}
		}
	}
}

//

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;
	
}

// показать / скрыть корзину
function ShowOrHide(id) {
	var item = null;
	if (document.getElementById) {
		item = document.getElementById(id);
	} else if (document.all){
		item = document.all[id];
	} else if (document.layers){
		item = document.layers[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 = null;
	if (document.getElementById) {
		item = document.getElementById(id);
	} else if (document.all) {
		item = document.all[id];
	} else if (document.layers){
		item = document.layers[id];
	}
        if (item && item.style) {
		item.style.display = (show==1)?(""):("none");
	}
}



//Установить 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) ){
			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, ".", " " ); 
	};

	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, ".", " " ); 
	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 + ' шт.';
	}
	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);
	}

}


//сохранить корзину в 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;
		}
	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 cart_add_short( id, v, setv ){

	var q;

	var elm = layer('q'+id);

	if(v==''){
		if(elm){ q = elm.value; }
		else{	 q = 1; }
	}else{
		q = v;
	}

	q = Math.round(q);
	if(elm){ elm.value = q;	}

	if( (!CQ[id]) || (CQ[id]<=0 || setv) )CQ[id]=q;
	else CQ[id]=1*CQ[id]+q;
	if(CQ[id]<0)CQ[id]=0;

	if(P[id])CP[id]=P[id];
	if(N[id])CN[id]=N[id];
	if(E[id])CE[id]=E[id];

	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], 2, '.', ' ') + ' грн.';
	}

	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 number_format(number, decimals, point, separator){
	if(!isNaN(number)){
		point = point ? point : '.';
		number = number.toString().split('.');
		if(separator){
			var tmp_number = new Array();
			for(var i = number[0].length, j = 0; i > 0; i -= 3){
				var pos = i > 0 ? i - 3 : i;
				tmp_number[j++] = number[0].substring(i, pos);
			}
			number[0] = tmp_number.reverse().join(separator);
		}
		if(decimals){
			number[1] = number[1] ? number[1] : '0';
			number[1] = Math.round(parseFloat(number[1].substr(0, decimals) + '.' + number[1].substr(decimals, number[1].length), 10));
			var size = decimals - number[1].toString().length;
			for(var i = 0; i < size; i++) number[1] += '0';
		}
		return(number.join(point));
	}else{
		return(null);
	}
}

