var images = ['an_basket.gif', 'bookmark_an.gif', 'basket.gif', 'on_basket.gif', 'bookmark.gif', 'bookmarked.gif'];
for (var i = 0, l = images.length; i < l; i++) {
  var im = new Image();
  im.src = '/siteimg/' + images[i];
  images = images.concat(im);
}

Site = {
  User : function(id)
  {
    this.User = id;
  },
  Bookmark : function(elem, basket)
  {
    var i = {
      loader : basket ? '/siteimg/an_basket.gif' : '/siteimg/bookmark_an.gif',
      remove : {
        icon : basket ? '/siteimg/on_basket.gif' : '/siteimg/bookmarked.gif',
        text : basket ? 'Убрать из корзины товаров' : 'Убрать из моего блокнота'},
      mark   : {
        icon : basket ? '/siteimg/basket.gif' : '/siteimg/bookmark.gif',
        text : basket ? 'Добавить в корзину товаров' : 'Добавить в мой блокнот'},
      counter: basket ? '#topAuth .account .basket .count' : '#topAuth .account .notepad .count'
    }

    if (!this.User) {
    	if (!basket) {
    	  AuthPlease($(elem), basket);
    	  return false;
    	}
    }

    
    //if (this.User) { ~ta 17.12.2009
      var url = $(elem).attr('href');
      if (url.indexOf('#') == 0) {
        url = url.replace(/#/, '');
      } else {
        url = url.replace(/\/#/, '/');
        url = url.replace(/#/, '/');
      }

      $(elem).find('img').attr('src', i.loader);

      var slices = url.split('/');
      do {
        var slice = slices.pop();
      } while (!slice);
      
      $.getJSON(url, {json:1}, function(json){
    	  console.info(json);
        if (json[0]) {
          if (json[1] == 'bookmarked') {
            $(elem).find('img').attr('src', i.remove.icon);
            $(elem).find('img').attr('title', i.remove.text);
            $(elem).find('img').attr('alt', '-');
            var action = 'unmark';
          }
          if (json[1] == 'unmarked') {
            $(elem).find('img').attr('src', i.mark.icon);
            $(elem).find('img').attr('title', i.mark.text);
            $(elem).find('img').attr('alt', '+');
            var action = 'bookmark';
          }
          if(json.firstvisit){
        	  $("body").append(json.firstvisit);
        	  $('#basketContainer, #popup-window .popup-body-content').empty();
        	  $('#firstVisit').popup({title:'Товар добавлен в &laquo;Мои покупки&raquo;', form:false, width:350, height:220, overflow:'hidden', modal:true});
          }   
          console.info(Site.User);
          if (!Site.User) {
        	  
        	  //~ta счётчик товаров для неавториз. пользователя
        	  $('#topAuth li:last').html('<a href="/account/basket/">Мои покупки ('+json.countGoodsVirtualBasket+')</a>');
          }
          $(i.counter).text(json.bookmarks);
          $(elem).attr('href', slices.join('/') + '#' + action);
        }
      });
//    } else { ~ta 17.12.2009
//      AuthPlease($(elem), basket ? 'воспользоваться сервисом &laquo;Мои покупки&raquo;' : false);
//    }

    return false;
  },
  Basket : function(elem)
  {
    return Site.Bookmark(elem, true);
  },
  Print : function(elem)
  {
    var href = $(elem).attr('href').split('#')[0];

    var uri = href.split('?')[0];
    var attrs = href.split('?')[1];

    if (attrs) {
      attrs = attrs + '&printable';
    } else {
      attrs = '?printable';
    }

    console.info('Print invoke %o', uri + attrs);

    var pr = window.open(uri + attrs, 'printable', 'width=800,height=600,scrollbars=yes');
    pr.focus();
    return false;
  },
  AreYouSure : function(text, params)
  {
    $('#popup-window .popup-body-content').empty();

    var width = params.width || 275;
    var height = params.height || 75;

    $('body').append('' +
      '<form action="" method="post">' +
      '<div class="are-you-sure">' +
        '<div class="dl-dt-dd">' + text + '</div>' +
      '</div>' +
      '</form>');
    $.each(params.buttons, function(i, item){
//      console.info(i, item);
      $('.are-you-sure .dl-dt-dd').append('<a class="button ' + i + '" href="' + i + '"><span>' + item.caption + '</span></a>');
      $('.are-you-sure .dl-dt-dd .' + i).click(item.callback ? function(){
        return item.callback();
      } : function(){
        $('.are-you-sure').popup('hide');
        return false;
      });
    });

    $('.are-you-sure').popup({title:'Подтверждение', form:true, width:width, height:height, overflow:'hidden', modal:false});
  }
}

