function add2Basket(id, pref){
if(lock_buttons) return false; else lock_buttons = 1;
var opt = [], err_msg = '', err_msgs = [], radio_options = {}, el_id = {};
$('#b'+pref+'-'+id+'-basket').attr('disabled','disabled');
$('#'+pref+'-'+id+'-basket').removeClass('done').removeClass('err').removeClass('add').addClass('wait').attr('title','');
$('#'+pref+'-'+id+'-options-selectors').find('select, input').each(function(){
switch (this.type) {
case 'radio':
el_id = this.id.split('-');
((typeof (radio_options[el_id[3]]) == 'undefined') && (radio_options[el_id[3]] = { 'val': - 1, 'id': this.id }));
(this.checked && (radio_options[el_id[3]]['val'] = this.value));
break;
case 'checkbox':
if (this.checked && (this.value !== '')) {
if(this.value !== ''){
opt.push(this.id.split('-')[3]+'-'+this.value);
} else {
err_msgs.push({'id':this.id.split('-')[3], 'msg':'<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>'});
}
}
break;
default:
if (this.value !== '') {
opt.push(this.id.split('-')[3]+'-'+this.value);
} else {
err_msgs.push({'id':this.id.split('-')[3], 'msg':'<li>'+$(this).parent().parent().find('span.opt').html().replace(':', '')+'</li>'});
}
}
});
for(i in radio_options){
if(radio_options[i]['val'] != -1){
opt.push(radio_options[i]['id'].split('-')[3]+'-'+radio_options[i]['val']);
}else{
err_msgs.push({'id':radio_options[i]['id'].split('-')[3], 'msg':'<li>'+$('#'+radio_options[i]['id']).parent().parent().parent().find('span.opt').html().replace(':', '')+'</li>'});
}
}
err_msgs.sort(function(a, b){ return ((a['id'] > b['id']) ? 1 : -1); });
for (var i=0; i<err_msgs.length; i++) { err_msg += err_msgs[i]['msg']; }
if(err_msg == ''){
_uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}});
ga_event('basket_add');
}else{
lock_buttons = 0;
shop_alert('<div class="MyWinError">Опции<ul>'+err_msg+'</ul>обязательны для выбора</div>','Замечания','warning',350,100,{tm:8000,align:'left',icon:'/.s/img/icon/warning.png', 'onclose': function(){ $('#b'+pref+'-'+id+'-basket').removeAttr('disabled'); $('#'+pref+'-'+id+'-basket').removeClass('wait').addClass('add'); }});
}
$.fancybox('#shop-basket');
return false;
}