//---------------------------------------------------------------------

function str_replace ( search, replace, subject ) {    // Replace all occurrences of the search string with the replacement string
    // 
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
 
    if(!(replace instanceof Array)){
        replace=new Array(replace);
        if(search instanceof Array){//If search    is an array and replace    is a string, then this replacement string is used for every value of search
            while(search.length>replace.length){
                replace[replace.length]=replace[0];
            }
        }
    }
 
    if(!(search instanceof Array))search=new Array(search);
    while(search.length>replace.length){//If replace    has fewer values than search , then an empty string is used for the rest of replacement values
        replace[replace.length]='';
    }
 
    if(subject instanceof Array){//If subject is an array, then the search and replace is performed with every entry of subject , and the return value is an array as well.
        for(k in subject){
            subject[k]=str_replace(search,replace,subject[k]);
        }
        return subject;
    }
 
    for(var k=0; k<search.length; k++){
        var i = subject.indexOf(search[k]);
        while(i>-1){
            subject = subject.replace(search[k], replace[k]);
            i = subject.indexOf(search[k],i);
        }
    }
 
    return subject;
 
}

function ChngImage(id, curr)
{
	obj = document.getElementById(id+'['+curr+']');
	for (i = 0; ; i++)
	{
		if (!document.getElementById(id+'['+i+']'))
			break;
		document.getElementById(id+'['+i+']').className="simg";
	}
	obj.className="simg simgCurr";
	document.getElementById('glrImg').src = imgs[curr];
	document.getElementById('glrImg').width = size[curr][0];
	document.getElementById('glrImg').height = size[curr][1];
}
//---------------------------------------------------------------------
function BasketView2(txt, id)
{
	if (!id)
		return false;
	if (id)
		if (obj = document.getElementById('comment['+id+']'))
		{
			obj.innerHTML = 'Добавлено';
			setTimeout("obj.innerHTML='';",1000);
		}
	
	data = txt.split('|');
	
	var count;
		if (data[1] == 1) {
			count = ' товар';
		}
		else {
			if (data[1] > 1 && data[1] < 5) {
				count = ' товара';
			}
			else {
				if (data[1] < 21) {
					count = ' товаров';
				}
				else {
					var result = data[1]%10;
					if (result == 1) {
						count = ' товар';
					}
					else if (result == 2 || result == 3 || result == 4) {
						count = ' товара';
					}
					else if (result > 5 || result == 0) {
						count = ' товаров';
					}
					else {
						count = ' товаров';
					}
				}
			}
		}
		var total = ''+data[2];
		if (total.length > 3) {
			if (total.length > 6) {
				total = total.substr(0, total.length-6)+'<span class="order">'+total.substr(total.length-6, 3)+'</span><span class="order">'+total.substr(total.length-3)+'</span>';
			}
			else {
				total = total.substr(0, total.length-3)+'<span class="order">'+total.substr(total.length-3)+'</span>';
			}
		}
	
	if (o = document.getElementById('Basket[count]'))
			o.innerHTML = data[1]+count;	
	if (o = document.getElementById('Basket[total]'))
			o.innerHTML = total;
	
	if (nothing = document.getElementById('nothing')) {
		var huy = nothing.parentNode;
		huy.removeChild(nothing);
		
		huy.innerHTML = '<span id="Basket[count]">'+data[1]+count+'</span>'+' на <span id="Basket[total]">'+total+'</span> руб.';
		imgbasket = document.getElementById('imgbasket');
		imgbasket.src = '/img/cart-full.png';
	}
	

}
//---------------------------------------------------------------------
function BasketView(txt, id)
{
	if (!id)
		return false;
	if (id)
		if (obj = document.getElementById('comment['+id+']'))
		{
			obj.innerHTML = 'Добавлено';
			setTimeout("obj.innerHTML='';",1000);
		}
	data = txt.split('|');
	var count;
		if (data[1] == 1) {
			count = ' товар';
		}
		else if (data[1] > 1 && data[1] < 5) {
			count = ' товара';
		}
		else if (data[1] < 21) {
			count = ' товаров';
		}
		else {
			var result = data[1]%10;
			if (result == 1) {
				count = ' товар';
			}
			else if (result == 2 || result == 3 || result == 4) {
				count = ' товара';
			}
			else if (result > 5 || result == 0) {
				count = ' товаров';
			}
			else {
				count = ' товаров';
			}
		}
		var total = ''+data[2];
		if (total.length > 3) {
			if (total.length > 6) {
				total = total.substr(0, total.length-6)+'<span class="order">'+total.substr(total.length-6, 3)+'</span><span class="order">'+total.substr(total.length-3)+'</span>';
			}
			else {
				total = total.substr(0, total.length-3)+'<span class="order">'+total.substr(total.length-3)+'</span>';
			}
		}
	
	if (o = document.getElementById('Basket[count]'))
			o.innerHTML = data[1]+count;	
	if (o = document.getElementById('Basket[total]'))
			o.innerHTML = total;
	
	if (nothing = document.getElementById('nothing')) {
		var huy = nothing.parentNode;
		huy.removeChild(nothing);
		
		huy.innerHTML = '<span id="Basket[count]">'+data[1]+count+'</span>'+' на <span id="Basket[total]">'+total+'</span> руб.';
		imgbasket = document.getElementById('imgbasket');
		imgbasket.src = '/img/cart-full.png';
	}

	obj1 = document.getElementById('CountItem['+id+']');
	obj1.value = '1';
	obj1.disabled = false;

}
//---------------------------------------------------------------------
function ItemToBasket(id,price)
{
      if((document.getElementById('buttonItem['+id+']'))&&(document.getElementById('buttonItem['+id+']').title!='block'))
      {
     	      if(price==-1) price=document.getElementById('buttonItem['+id+']').title; 
     	      document.getElementById('comment['+id+']').innerHTML = 'В обработке';
      		  var sessionURL;
      		  Sub = getSubID(id);
			  sessionURL="/ajax/session_set.php?id="+id+"&count=1&price="+price+"&Sub="+Sub.sID+"&Extra="+encodeURIComponent(Sub.Extra);
      		  doLoad(sessionURL,refrashBasket2,id) ;
				  //alert('Товар добавлен в корзину');
      } else setTimeout("ItemToBasket("+id+",-1)",1000);
}
//---------------------------------------------------------------------
function ItemsToBasket(id,price)
{//alert(document.getElementById('buttonItem['+id+']').title);
      if((document.getElementById('buttonItem['+id+']'))&&(document.getElementById('buttonItem['+id+']').title!='block'))
      {
     	      if(price==-1) price=document.getElementById('buttonItem['+id+']').title; 
     	      document.getElementById('comment['+id+']').innerHTML = 'В обработке';
      	      document.getElementById('CountItem['+id+']').className='blocked';
      	      var bool,value = document.getElementById('CountItem['+id+']').value;
      	      document.getElementById('CountItem['+id+']').value = '';
      	      document.getElementById('CountItem['+id+']').disabled = true;
      	      bool = true;
      	      Sub = getSubID(id);
      	      if (isNaN(value) || value == '' || value == 0) bool = false;
      	      if (!bool)
      	      {
      		      document.getElementById('CountItem['+id+']').focus();
      		      document.getElementById('CountItem['+id+']').disabled = false;
      		      alert('Количество должно быть целым числом и больше нуля ');
      	      }
      	      else
      	      {
      		      var sessionURL;
      		      sessionURL="/ajax/session_set.php?id="+id+"&count="+value+"&price="+price+"&Sub="+Sub.sID+"&Extra="+encodeURIComponent(Sub.Extra);
      		      doLoad(sessionURL,refrashBasket,id) ;
				  //alert('Товар добавлен в корзину');
      	      }
      } else setTimeout("ItemsToBasket("+id+",-1)",1000);
}
//---------------------------------------------------------------------

function refrashBasket(txt,id){
doLoad('/ajax/basket.php?'+Math.random(), BasketView,id) ;
}

function refrashBasket2(txt,id){
doLoad('/ajax/basket.php?'+Math.random(), BasketView2,id) ;
}

function getSubID(id) {
	sID = '';
	subPrice = 0;
	Extra = '';
/*	if (imgs)
		for (var i in imgs)
		{
			if (i == '0')
				continue;
			if (obj.checked)
			{
				sID+= ''+i;
				subPrice+= parseInt(obj.value);
				Extra+= obj.name+': '+obj.alt+'\r\n';
			}
		}*/
	for (i = 0; ; i++)
	{
		if (!(obj = document.getElementById('ItemVar['+id+']['+i+']')))
			break;
		if (obj.selectedIndex)
		{
			sID+= ''+i+'('+obj.selectedIndex+')';
			if (obj.selectedIndex > 0)
			{
				subPrice+= parseInt(obj.options[obj.selectedIndex].value);
				Extra+= obj.name+': '+obj.options[obj.selectedIndex].text+'<br />';
			}
		}
		else if (obj.checked)
		{
			sID+= ''+i;
			subPrice+= parseInt(obj.value);
			Extra+= obj.name+': '+obj.alt+'<br />';
		}
	}
	if (sID == '')
		sID = 'NULL';
	if (i == 0)
		return {sID: '0', sPrice: 0, Extra: ''};
	else return {sID: sID, sPrice: subPrice, Extra: Extra}
}
//---------------------------------------------------------------------
function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
			return(setStr);
		}
	}
	return(false);
}
//---------------------------------------------------------------------
function delcookie_basket(itemID, sID)
{
   doLoad('/ajax/basket.php?delete&id='+itemID+'&sID='+sID+'&'+Math.random(), BasketView, false) ;

}
//---------------------------------------------------------------------
function deleteFromBasket(itemID, subID, minus, mcount)
{
	var obj3 = document.getElementById('total_count');
	if (parseInt(obj3.innerHTML) == mcount) {
		var deldiv = document.getElementById('prod'+itemID);
		var box = deldiv.parentNode.parentNode;
		box.innerHTML = '';
		$("#basketinfo").html('Товаров пока нет. Для оформления заказа добавьте товары из&nbsp;каталога.');
		$("#basketsubmit").remove();
	}
	else {
	
		var deldiv = document.getElementById('prod'+itemID);
		var pardiv = deldiv.parentNode;
		pardiv.removeChild(deldiv);
		var box = pardiv.parentNode;
		
		var huy = $(".products");
		box.innerHTML = '';
		var text;
		for (var i=0, j=huy.length; i<j; i++) {
			if (i%2 == 1) {
				text.appendChild(huy[i]);
				var divclear = document.createElement('div');
				divclear.className = "clear";
				text.appendChild(divclear);
				box.appendChild(text);
			}
			else {
				text = document.createElement('div');
				text.className = "goods columns";
				text.appendChild(huy[i]);
			}
		}
		if (i%2 == 1) {
			var divclear = document.createElement('div');
			divclear.className = "clear";
			text.appendChild(divclear);
			box.appendChild(text);
			box.appendChild(divclear);
		}
		
		
		if ((obj2 = document.getElementById('totals')))
		{
			var obj4 = document.getElementById('totals2')
			var total = ''+(parseInt(obj2.innerHTML) - minus);
			if (total.length > 3) {
				if (total.length > 6) {
					total = total.substr(0, total.length-6)+'<span class="order">'+total.substr(total.length-6, 3)+'</span><span class="order">'+total.substr(total.length-3)+'</span>';
				}
				else {
					total = total.substr(0, total.length-3)+'<span class="order">'+total.substr(total.length-3)+'</span>';
				}
			}
			if (isNaN(obj2.innerHTML)) {
				obj2.innerHTML = 0;
				obj4.innerHTML = 0;
			}
			else {
				obj4.innerHTML = total;
				obj2.innerHTML = parseInt(obj2.innerHTML) - minus;
			}
		}
		
		if (obj3)
		{
			if (isNaN(obj3.innerHTML))
				obj3.innerHTML = 0;
			else
				obj3.innerHTML = parseInt(obj3.innerHTML) - mcount;
		}
	}
	delcookie_basket(itemID, subID);
}
//---------------------------------------------------------------------
function RecalcPrice(id)
{
  Discount(document.getElementById('CountItem['+id+']'));
}

function OnlyNumeric(e,obj){
   obj.value=obj.value.replace(/[^0-9.]/g, '');
}


function GetItemVar(id){
   var selects,itemvars='';
   var NeedID='ItemVar['+id+'][';
   selects=document.getElementsByTagName('select');
   for(i=0;i<selects.length;i++) if(selects[i].id.indexOf(NeedID)>=0){
                                 itemvars+="&itemvar["+i+"]="+selects[i].selectedIndex;
                                 }
   return itemvars;
}


function DiscountBasket(obj){
   var count,id,cname,tmp,url,basketCount,Sub,itemvars,getitemvars='',i;
   count=obj.value-document.getElementById(obj.name).value;
   tmp=obj.name.split('count[')[1];
   id=tmp.substr(0,tmp.indexOf(']'));
   itemvars=tmp.substr(tmp.indexOf('[')+1,(tmp.length-tmp.indexOf('['))-2);
   itemvars=itemvars.split(')');
   for(i=0;i<itemvars.length;i++) if(itemvars[i]!=''){
       itemvars[i]=itemvars[i].split('(')[1];
       getitemvars+='&itemvar['+i+']='+itemvars[i];
      }
   cname=parseInt(obj.className);
   itemvars=GetItemVar(id);
   url='/ajax/products_discount.php?id='+id+'&count='+count+getitemvars+'&'+Math.random();
   obj.disabled=true;
   obj.className='blocked';
   document.getElementById(obj.name).value=obj.value;
   doLoad(url,NewPrice,id,obj);
}  

function BasketBlock(){
 if(document.getElementById('pereschet')) document.getElementById('pereschet').disabled=true;
 if(document.getElementById('oformit'))document.getElementById('oformit').disabled=true;
}

function BasketUnblock(){
 if(document.getElementById('pereschet')) document.getElementById('pereschet').disabled=false;
 if(document.getElementById('oformit')) document.getElementById('oformit').disabled=false;
}

function ButtonBlock(id){
  if(document.getElementById('buttonItem['+id+']')) document.getElementById('buttonItem['+id+']').title='block';
 }

function ButtonUnblock(id,price){
  if(document.getElementById('buttonItem['+id+']')) document.getElementById('buttonItem['+id+']').title=price;
}



function Discount(obj){
   var count,id,cname,tmp,url,basketCount,Sub,itemvars;
   count=obj.value;
   tmp=obj.id.split('CountItem[')[1];
   id=tmp.substr(0,tmp.length-1);
   cname=parseInt(obj.className);
   itemvars=GetItemVar(id);
   url='/ajax/products_discount.php?id='+id+'&count='+count+itemvars+'&'+Math.random();
   obj.disabled=true;
   obj.className='blocked';
   doLoad(url,NewPrice,id,obj);
  }

function NewPrice(txt,id,obj){
   if(document.getElementById('priceItem['+id+']')) document.getElementById('priceItem['+id+']').innerHTML=txt;
   if(obj.name.indexOf('count[')!=-1) {
          var tmpName;
          tmpName=str_replace('count','priceItem',obj.name);
          document.getElementById(tmpName);
          tmpName=str_replace('][','_',tmpName);
          if(document.getElementById(tmpName)) document.getElementById(tmpName).innerHTML=txt;
          tmpName=str_replace('count','pricer',obj.name);
          if(document.getElementById(tmpName)) document.getElementById(tmpName).value=txt;
        } 
   else {
          var i,a,needHref='ItemsToBasket('+id+',';
          a=document.getElementsByTagName('a');
          for(i=0;i<=a.length;i++) if(a[i].href.indexOf(needHref)>=0) {
                                   a[i].href='javascript:'+needHref+txt+');'; break;
                                    }
        }                                                
   obj.disabled=false;
   obj.className='input3';
   BasketUnblock();
   ButtonUnblock(id,txt)
}


function guestConnectedr(id,i){
   $('#pgc').hide("drop", { direction: "right" }, 300);
   $('#pgc_prew_1').fadeOut(1000);
   $('#pgc_prew_2').fadeOut(1000);
   
   $('#pgc_next_1').fadeOut(1000);
   $('#pgc_next_2').fadeOut(1000);
   url='/ajax/guest_connected.php?id='+id+'&i='+i+'&' + Math.random();
   doLoad(url,setGuestConnectedr);
  }

function setGuestConnectedr(txt){
    document.getElementById('gccc').innerHTML=txt;
    $('#pgc').show("drop", { direction: "left" }, 300);
}

function guestConnectedl(id,i){
   $('#pgc').hide("drop", { direction: "left" }, 300);
   url='/ajax/guest_connected.php?id='+id+'&i='+i+'&' + Math.random();
   doLoad(url,setGuestConnectedl);
  }

function setGuestConnectedl(txt){
    document.getElementById('gccc').innerHTML=txt;
    $('#pgc').show("drop", { direction: "right" }, 300);
}
