function str_replace ( search, replace, subject ) {    // Replace all occurrences of the search string with the replacement string
    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 explode( delimiter, string ) {    // Split a string by string
    //
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: kenneth
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

    var emptyArray = { 0: '' };

    if ( arguments.length != 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }

    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }

    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }

    if ( delimiter === true ) {
        delimiter = '1';
    }

    return string.toString().split ( delimiter.toString() );
}

jQuery(document).ready(function() {

$('#add_to_basket').click(AddToBasket);
function AddToBasket() {
  var id = $(this).attr('id');
  var lang = $(this).attr('lang');
  var formdata = $('#add_to_basket_form').serialize();
  var addtobasket = 'Добавление в корзину...';
  var addedtobasket = 'Изделие добавлено в корзину';
  if (lang == 'en') {
    addtobasket = 'Adding to basket...';
    addedtobasket = 'Good added to basket';
  }
  //alert(formdata);
  $.ajax({
    url: '/custom/basket.php?'+formdata+'&add',
    beforeSend:function(){
      $('#add_to_basket_msg').text(addtobasket);
      $('#add_to_basket_msg').fadeIn("fast");
    },
    success: function(cnt){        
      $('#add_to_basket_msg').fadeOut("slow", function(){
        $('#outer_add_to_basket').html('<span class=instead_link >'+addedtobasket+'</span>');
      });
      cnt = explode( '#', cnt )
      if (cnt[0] > 0) {
        $('#basket').addClass("notemptybasket");
      }
      $('#basket .count span').text(cnt[0]);
      $('#basket .total span').text(cnt[1]);      
    }
  });
  return false;
};

$('.delete_from_basket').click(DeleteFromBasket);
function DeleteFromBasket() {
  var id = $(this).attr('id');
  var goodid = $(this).attr('goodid');
  var sid = $(this).attr('sid');
  var lang = $(this).attr('lang');
  $.ajax({
    url: '/custom/basket.php?id='+id+'&goodid='+goodid+'&sid='+sid+'&lang'+lang+'&delete',
    success: function(cnt){
      //alert(cnt);
      cnt = explode( '#', cnt )
      if (cnt[0] <= 0) {
        $('.basket').removeClass("notemptybasket");
      }
      $('#basket .count span').text(cnt[0]);
      $('#basket .total span').text(cnt[1]);
      //alert(cnt[1]);
      $('#good'+id).fadeOut("slow");
      setTimeout("ProcessForm();",1000);
    }
  });

  return false;
}
});
       
         
