/*
    aladin.od.ua@mail.ru  2008-12-05 Виртуальная корзина
*/
var vendor= new Array(); //производители
var vendor_chk= new Array(); //производители
var vendor_all= true; //производители
var page= 0; //страница
var Products= new Array(); //товары
var pricedelivery=new Array();//цена доставки
var quantity=new Array();  //кол-во
var product=new Array();   //ид продукта
var cash=new Array();      //цена грн.
var cashUSD=new Array();      //цена $.
var guarantee=new Array(); //гарантия мес.
var name=new Array();      //наименование
var CountProdPage=80;      //кол-во элементов на странице по умолчанию
var curentfil=1; //текущий филиала
var CountProd_f=0; //текущий филиала
////////////////продукт/////////////////////////////////////////////////////////////////////////////
function Product(id,catalog_id,name,cashUS,cashUA,guarantee,img,pricedelivery,deliverydate,youcash,quality,wait_center,beznal,sb,flagaction,vendor_id,provider_str,income)
	{
	this.id=id;
	this.catalog_id=catalog_id;
	this.name=name;
	this.cashUS=cashUS;
	this.cashUA=cashUA;
	this.guarantee=guarantee;
	this.img=img;
	this.pricedelivery=pricedelivery;
	this.deliverydate=deliverydate;
	this.youcash=youcash;
	this.quality=quality;
	this.wait_center=wait_center;
	this.beznal=beznal;
	this.sb=sb;
	this.flagaction=flagaction;
	this.vendor_id=vendor_id;
	this.provider_str=provider_str;
	this.income=income;
	}
////////////////бокс с описанием////////////////////////////////////////////////////////////////////
function ProductBox(id,f)
{
var _credit='';
var str_action=Products[id].flagaction==1?'<b style="color:red;">АКЦИЯ </b>':'';
var box,name,quick,incar,more;
if((curentfil!=3)&&(credit))
 {
 _credit=Math.round(Products[id].cashUA*1.01/12+Products[id].cashUA*1.01*0.03+105/12);
 _credit='<a href="/?event=show_info_page&id=62" style="color:#CC0674;" target="_blank" title="Сумма Вашего ежемесячного платежа при получении кредита на срок 12 месяцев">'+_credit+'грн. на 12мес</a>';
 }
more='';
var nbsp='<span style="width:50px;">&nbsp;</span>';
var photo='<img scr="'+Products[id].img+'" />';

 name=Products[id].name.length>110?Products[id].name.substr(0,110)+'&hellip;':Products[id].name;
 name='<a href="/-p-'+Products[id].id+'.html" target="_blank">'+str_action+name+'</a>';
if(Products[id].img!='/images/not.gif')
 {
 more=nbsp+'<a style="color:#888;" href="/-p-'+Products[id].id+'.html"> Описание </a>';
 }
box=name;
var delivery='';
if(Products[id].deliverydate!='')
 {
 delivery=nbsp+'<span style="color:#a0a0a0;">Доставка в г.'+CurrentCity+' возможна не раньше '+Products[id].deliverydate+'</span>';
 }
else
 {
 delivery=nbsp+'<span style="color:#ff8080;font-weight: bold;">Доставка в г.'+CurrentCity+' не возможна</span>';
 } 
var comm=nbsp+'<a onclick="helpmy(\'comment\','+Products[id].id+');" style="color:#888;cursor:pointer;"> Оставить комментарий </a>'+nbsp;
comm+='<a onclick="helpmy(\'get_comment\','+Products[id].id+');" style="color:#888;cursor:pointer;"> Отзывы пользователей </a>';

box+='<span style="color:#f00;"> Артикул: '+Products[id].id+'</span>';
box+='<br />';
if(Products[id].youcash!='')
 {
 box+='<span style="font-size:10px; color:#003333;">Ваша цена: <strong>'+Products[id].youcash+'</strong></span><br />';
 }
if(Products[id].provider_str!='')
 {
 box+=Products[id].provider_str+'<br />';
 }
incar='<a style="color:#f63;" onclick="add_product_car('+Products[id].id+','+id+')" href="#car"><b>В корзину</b></a>';
incar+=more+delivery;
if(Products[id].cashUS>10)
 {
 var cashUS=Math.round(Products[id].cashUS);
 }
else
 {
 var cashUS=Products[id].cashUS;
 }
var income='';
if(Products[id].income!='')
 {
 income='<span style="color:red;" title="Прибыль с товара '+(Products[id].income*CURRENCY_UAH)+'грн.">($'+Products[id].income+')<span>';
 }
var cash='<b> '+Products[id].cashUA+' грн.</b>'+income+'<b style="color:#808080; font-size: 14px;"> | </b><span style="color: #808080;">$'+cashUS+'</span><br />';
cash+=_credit;

cash+='<br /><span style="color:#c0c0c0;">Гар.<b style="color:#999;">'+Products[id].guarantee+'</b>мес.</span>';
if(Products[id].quality!='')
 {
 cash+='<br /><span title="Вероятность наличия товара">'+Products[id].quality+'%</span>(<span title="Время резервирования">'+Products[id].wait_center+' мин.</span>)<br />';
 cash+= '<span style="color:red;">'+(Products[id].sb=='1'?'сб.':'')+' '+(Products[id].beznal=='1'?'НДС':'')+'</span>'; 
 }
quick='<a style="color:#888;" href="/neworder.php" onclick="add_product_car('+Products[id].id+','+id+');">Быстрая покупка</a>';

var st=f%2==0?' style="background-color: #fff;" ':' style="background-color: #fafdff;" ';
var s='<table '+st+' id="pId'+Products[id].id+'" class="productbox" onmouseover="pl_overeffect(this)" onmouseout="pl_outeffect(this)">';
s+='<tr><td class="img" rowspan="2" style="background: url('+Products[id].img+') no-repeat;"> </td><td>'+box+'</td><td style="width:140px;text-align:center;">'+cash+'</td></tr>';
s+='<tr><td>'+incar+'</td><td style="text-align:center;">'+quick+'</td></tr>';
s+='</table>';
return s;
}
////////////////страница с товарами/////////////////////////////////////////////////////////////////
function ProductList(list)
{
curentfil=getCookie('currentfilialid')
$("#productbody").empty();
if(Products.length>0)
 {
 vendor_form();
 var s='';
 h='<table class="productbox"><tr style="background-color: #ccc;"><th style="width:85px;border-left: 1px solid #ccc;">Изображение</th><th>Краткое описание</th><th style="width:150px;">Цена/Гарантия</th></tr></table>';
 var pend=CountProd<list+CountProdPage?CountProd:list+CountProdPage;
 var i=list;var ii=0;
 var where=true;
 while(where)
  {
  if(Products[i]==null){alert(i+' '+ii);}
  if((vendor_chk.length>0)&&(vendor_chk[Products[i].vendor_id]==true)||vendor_all)
   {
   s=ProductBox(i,ii);
   if(Products[i].flagaction==1)
    {
    $("#productbody").prepend(s);
    }
   else
    {
    $("#productbody").append(s);
    }
   ii++;
   }
  else
   {
   CountProd_f--;
   } 
  i++;
  where=!((ii==CountProdPage)||(ii==Products.length)||(i==Products.length));
  }
 $("#productbody").prepend(h);
 $("#productbody").append(h);
 }
// if(CountProd>Products.length) download_data();
page_url(); 
}
////////////////добавление товара в корзину/////////////////////////////////////////////////////////
function add_product_car(product_id,n)
{
var flag_old=false;
TakeCooke();
for(var i=0; i< product.length ; i++)
 {
 if(product[i]==Products[n].id)
  {
  flag_old=true;
  quantity[i]++;
  }
 }
if(!flag_old)
 {
 m=product.length;
 product[m]=Products[n].id;
 quantity[m]=1;
 name[m]=Products[n].name.substr(0,40)+'...';
 cashUSD[m]=Products[n].cashUS;
 cash[m]=Products[n].cashUA;
 guarantee[m]=Products[n].guarantee;
 pricedelivery[m]=Products[n].pricedelivery;
 }
 
ArhCooke();
car_show();
//document.getElementById('prod'+Products[n].id).style.color='#f00';
//document.getElementById('prod'+Products[n].id).style.backgroundColor='#ff9';
//setTimeout("Anime('prod"+Products[n].id+"')",2000);
}
////////////////увеличение кол-ва///////////////////////////////////////////////////////////////////
function add_count(id)
{
TakeCooke();
quantity[id]++;
ArhCooke();
car_show();
}
////////////////уменьшение кол-ва///////////////////////////////////////////////////////////////////
function dec_count(id)
{
TakeCooke();
quantity[id]--;
ArhCooke();
car_show();
}
////////////////отображение корзины/////////////////////////////////////////////////////////////////
function car_show()
{
//TakeCooke();
if(TakeCooke())
 {
 var s='';
 var aa='';
 var ad='';
 var summa=0;
 var itog=0;
 var count=0;
 
 for(var i=0; i< product.length ; i++)
  {
  if(quantity[i]>0)
   {
   summa=quantity[i]*cash[i];
   count+=quantity[i];
   itog+=summa;
   summa=Math.round(summa*100)/100;
   aa='<a style="color:#f00;FONT-FAMILY:Symbol, monospace;font-weight: bold;" href="javascript:" onclick="add_count('+i+')"> + </a>';
   ad='<a style="color:#f00;FONT-FAMILY:Symbol, monospace;font-weight: bold;" href="javascript:" onclick="dec_count('+i+')"> - </a>';
   s+='<tr id="prod'+product[i]+'"><th>'+ad+quantity[i]+aa+'</th>';
	 s+='<td><a href="/-p-'+product[i]+'.html" target=_blank>'+name[i]+'</a></td>';
	 s+='<td>'+summa+' грн.</td></tr>';
   }
  }
 if(itog>0){
  clear='<a href="javascript:" style="font-size:18px;color:#f63;" onclick="setCookie(\'cars\',\' \',\'/\',\'\');car_show();" title="Очистить корзину">X</a>';
  s='<table class="car"><caption><h4>Корзина '+clear+'</h4></caption><tr><th style="width:40px;">Кол-во</th><th>Наименование</th><th>Сумма</th></tr>'+s+'</table>';
  itog=Math.round(itog*100)/100;
  s+='<p>Итого:<b> '+itog+' </b>грн. <a style="color:#f63;" href="/neworder.php"><b> Оформить </b></a></p>'
//  $("#car").html(s);
  $("#a_o").html('Оформить заказ');
  $("#car").show();
  }
 else{
    $("#a_o").html('');
    $("#car").hide();
  }
 }
  $("#count_t").html(count+'');
  $("#count_cash").html(itog+'');
}
////////////////Запаковка данных////////////////////////////////////////////////////////////////////
function ArhCooke()
{
var r=new Array();
var f=0;
for(var i=0; i< product.length ; i++)
 {
 if(quantity[i]>0)
  {
  var temp=new Array();
  temp[0]=product[i];
  temp[1]=name[i];
  temp[2]=quantity[i];
  temp[3]=cash[i];
  temp[4]=guarantee[i];
  temp[5]=pricedelivery[i];
  temp[6]=cashUSD[i];
  r[f]=temp.join("&#001;");
  f++;
  }
 }
// alert(f)
if(f>0)
 {
 temp=r.join("&#000;");
 setCookie('cars',temp,'/','');
 }
else
 {
  setCookie('cars',' ','/','');
 }
}
//////////////////смена города//////////////////////////////////////////////////////////////////////
function cheng_city(id)
{
TakeCooke();
var s=getCookie('cars');
if(s!=null)
 {
 $.get(
  '/external.php',
  {
    event: 'ajax',
    subevent: 'cheng_city',
    filial_id: id
  },
  city_rec
 );
 }

}
//////////////////обработка данных после смены города///////////////////////////////////////////////
function city_rec(data)
{
if(data)
 {
 TakeCooke();
 var prod=data.split ("&#000;");
 for(var i=0; i< prod.length ; i++)
  {
  var s=prod[i];
  var temp=s.split ("&#001;");
  for(var f=0; f< product.length ; f++)
   {
   if(temp[0]==product[f])
    {
    cash[f] = temp[1]*1;
    }
   }
  }
 ArhCooke();
 }
car_show();
}
//////////////////распаковка данных/////////////////////////////////////////////////////////////////
function TakeCooke()
{
 name = new Array();
 product = new Array();
 quantity = new Array();
 cash = new Array();
 guarantee = new Array();
 pricedelivery = new Array();
var s=getCookie('cars');
if(s!=null)
 {
 if(s.length>3800) {alert('Корзина переполнена!\nВозможно потеря подобранного товара.');}
 var prod=s.split ("&#000;");
 var temp=new Array();
 var f=0;
 for(var i=0; i< prod.length ; i++)
  {
  s=prod[i];
  temp=s.split ("&#001;");
  product[f] = parseInt(temp[0]);
  name[f] = temp[1];
  quantity[f] = parseInt(temp[2]);
  cash[f] = temp[3]*1;
  guarantee[f] = temp[4]*1;
  pricedelivery[f] = temp[5]*1;
  cashUSD[f] = temp[6]*1;
  f++;
  }
 return true; 
 }
else
 {
 return false;
 } 
}

//////////////////анимация        х/////////////////////////////////////////////////////////////////
function Anime(id)
{
document.getElementById(id).style.color='';
document.getElementById(id).style.backgroundColor='';
}
//////////////////ссылки страниц///////////////////////////////////////////////
function page_url()
{
if(CountProd_f==0){CountProd_f=CountProd;}
var Counts_page=Math.ceil(CountProd_f/CountProdPage);
var s='';
var u='';
var pages=0;
var PageEnd=Counts_page;
var PageStart=0;
var count_url=18;
if(Counts_page>count_url)
 {
 PageStart=page-count_url/2;
 PageEnd=Math.ceil(page+count_url/2);
 if(PageStart<0)
  {
  PageStart=0;
  PageEnd=count_url;
  }

 if(PageEnd>Counts_page)
  {
  PageStart=Counts_page-count_url;
  PageEnd=Counts_page;
  }

 }

s+='<table class="menupage" align="right"><tr>' 
for(var i=PageStart; i< PageEnd ; i++)
 {
 pages=i+1;
 if(page==i)
  {
  u='<th class="cur">'+pages+'</th>';
  }
 else if((i+1<=Products.length/CountProdPage)||(CountProd_f==Products.length))
  {
  u='<th><a href="javascript:;" onclick="goto_page('+i+')">'+pages+'</a></th>';
  } 
 else
  {
  u='<td>'+pages+'</td>';
  } 

 if((i+2>PageEnd)&&(Counts_page>count_url)&&(i!=Counts_page-1))
  {
  if((i+1<=Products.length/CountProdPage)||(CountProd_f==Products.length))
   {
   u='<th><a href="javascript:;" onclick="goto_page('+i+')">>></a></th>';
   //flag_download=true;
   }
  else
   {
   u='<td>>></td>';
   }   
  }
   
 if((i==PageStart)&&(i!=0))
  {
  if((CountProdPage>count_url)&&(page>count_url/2))
   {
   u='<th><a href="javascript:;" onclick="goto_page('+i+')"><<</a></th>';
   }
  } 
// s+='<td>&nbsp|&nbsp</td>';
 s+=u;
 }
if((CountProd_f<=Products.length)&&(CountProd_f<500))
 {
 u='<a href="javascript:;" onclick="CountProdPage=CountProd;ProductList(0);">Показать все</a>';
 s+='<th style="width:100px;">'+u+'</th>';
 }
s+='</tr></table><br />';
if(Counts_page==1)
 {
 s='';
 }

if((PageEnd+count_url/2>Counts_page)||(PageEnd+count_url/2>Products.length/CountProdPage))
 {
 if(Products.length/CountProdPage<PageEnd-count_url/2)
  {
  download_data();
  }
 else if(Products.length/CountProdPage<PageEnd-count_url/4)
  {
  setTimeout("download_data();",2500);
  } 
 else
  {
  setTimeout("download_data();",5000);
  } 
 }  
 
$("#menu_page1").html(s);
$("#menu_page2").html(s);
}
//////////////////переход на страницу///////////////////////////////////////////////
function goto_page(n)
{
page=n;
var NextProduct=n*CountProdPage;
ProductList(NextProduct);
}

//////////////////подгрузка данных   ///////////////////////////////////////////////
function download_data()
{
if(CountProd>Products.length)
 {
 var inp={event:'ajax',subevent:'get_data',n:Products.length,cId:CurrentCId};
 if('search' in GET) {inp['search']=GET['search'];}
 $.get('/external.php',inp,save_data);
 }
}
////////////////////////////////
function save_data(data)
{
var t=Products.length;
if(data)
 {
 eval(data);
 vendor_form();
 $("#c_pro").empty();
 $("#c_pro").html('Загружено '+Products.length+' позиций');
 page_url(); 
 }
else
 {
 return '';
 }
/*
if(t!=Products.length)
 {
 if(CountProd>Products.length) download_data();
 }  

*/
}
////////////////////////////////////////////////////////////////////////////////////////////////////
function vendor_form()
{
vendors[0]='Не определен'; 

var tmp=vendor_all?' style="color:red;" ':' style="color:black;" ';
var str='<input type="button" id="chk_all" '+tmp+' onclick="vendor_all=!vendor_all;if(vendor_all)  {this.style.color=\'red\';for (var i in vendor_chk){vendor_chk[i]=true;}} else  {this.style.color=\'black\';for (var i in vendor_chk){vendor_chk[i]=false;}};vendor_form();" value="Все" /> ';
str+='<input type="button" onclick="CountProd_f=0;ProductList(0);" value="Применить фильтр по производителю" /><br />';
vendor=new Array();
for(var i=0; i< Products.length ; i++)
 {
 tmp=Products[i];
 vendor[tmp.vendor_id]=vendors[tmp.vendor_id];
 }

for (var i in vendor)
 {
 if(vendor_all){tmp=' style="color:black;" ';}
 else{tmp=vendor_chk[i]?' style="color:red;" ':' style="color:black;" ';}
 str+='<div style="width:100px;text-align: justify;float: left"><a href="javascript:;" onclick="not_all();if(vendor_chk['+i+']==null){vendor_chk['+i+']=true;}else{vendor_chk['+i+']=!vendor_chk['+i+'];};if(vendor_chk['+i+'])  {this.style.color=\'red\';} else  {this.style.color=\'black\';};" '+tmp+'><b>'+vendor[i]+'</b></a></div>';
 }
document.getElementById('menu_vendor').innerHTML=str;
return str;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
function not_all()
{
vendor_all=false;
document.getElementById('chk_all').style.color='black';
}
///////////////////end//////////////////////////////////////////////////////////////////////////////

