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

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 BasketView(txt, id)
{
	data = txt.split('|');
	if (o = document.getElementById('Basket[name]'))
			o.innerHTML = data[0];	
	if (o = document.getElementById('Basket[count]'))
			o.innerHTML = data[1];	
	if (o = document.getElementById('Basket[total]'))
			o.innerHTML = data[2];	


	if (!id)
		return false;
	if (id)
		if (obj = document.getElementById('comment['+id+']'))
		{
			obj.innerHTML = 'Добавлено';
			setTimeout("obj.innerHTML='';",1000);
		}

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

}
//---------------------------------------------------------------------
function ItemsToBasket(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 = 'В обработке';
      	      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;
      		      
      		      var Extra = Sub.Extra;
      		      sessionURL="/ajax/session_set.php?id="+id+"&count="+value+"&price="+price+"&Sub="+Sub.sID+"&Extra="+encodeURIComponent(Extra);
      		      doLoad(sessionURL,refrashBasket,id) ;
      		      //refrashBasket(sessionURL,id);
      	      }
      } else setTimeout("ItemsToBasket("+id+",-1)",1000);
}



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

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)
{
	delcookie_basket(itemID, subID);
	if ((obj1 = document.getElementById('prod['+itemID+'_'+subID+']')))
		obj1.style.display = 'none';
	if ((obj2 = document.getElementById('totals')))
	{
		if (isNaN(obj2.innerHTML))
			obj2.innerHTML = 0;
		else
			obj2.innerHTML = parseInt(obj2.innerHTML) - minus;
	}
}
//---------------------------------------------------------------------
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 guestConnected(id,i){
   url='/ajax/guest_connected.php?id='+id+'&i='+i+'&' + Math.random();
   doLoad(url,setGuestConnected);
  }

function setGuestConnected(txt){
    document.getElementById('gccc').innerHTML=txt;
}
