window.addEvent('domready', function(){

    if ($('last_step_form')) {

	    $('last_step_form').addEvent('submit', function(e){
			e.stop();
	        var err = new Hash();

	        // Проверка правильности заполнения формы

	        if(trim($$('input[name="fname"]')[0].value) == '')
			  {
	          err['fname'] = 'Необходимо ввести фамилию';
			  }

			if(trim($$('input[name="name"]')[0].value) == '')
			  {
	          err['name'] = 'Необходимо ввести имя';
			  }

	        if(trim($$('input[name="oname"]')[0].value) == '')
			  {
	          err['oname'] = 'Необходимо ввести отчество';
			  }

			if(trim($$('input[name="phone"]')[0].value) == '')
			  {
	          err['phone'] = 'Необходимо ввести номер телефона';
			  }

			if(trim($$('textarea[name="address"]')[0].value) == '')
			  {
	          err['address'] = 'Не указан адрес';
			  }

	        var sposob_oplati_is_checked = false;
			$$('.inp_posob_oplati').each(function (elem) {
				if (elem.checked)
				  {
				  sposob_oplati_is_checked = 1;
				  }
			});

			if (!sposob_oplati_is_checked)
			  {
			  err['sposob_oplati'] = 'Не выбран способ оплаты';
			  }

			if (!err.getLength())
			  {
			  this.submit();
			  }
			else
			  {
			  $('err').empty();
			  err.each(function (value, key) {
			    el = new Element('div', {'id': 'for_'+key,'html': '- '+value})
			  	$('err').adopt(el);
			  	});
			  window.scrollTo(0,0);
			  }
	    });
	}
	if ($('userinfo')) {

	    $('userinfo').addEvent('submit', function(e){
			e.stop();
	        var err = new Hash();

	        // Проверка правильности заполнения формы

	        if(trim($$('input[name="fname"]')[0].value) == '')
			  {
	          err['fname'] = 'Необходимо ввести фамилию';
			  }

			if(trim($$('input[name="name"]')[0].value) == '')
			  {
	          err['name'] = 'Необходимо ввести имя';
			  }

	        if(trim($$('input[name="oname"]')[0].value) == '')
			  {
	          err['oname'] = 'Необходимо ввести отчество';
			  }

			if(trim($$('input[name="phone"]')[0].value) == '')
			  {
	          err['phone'] = 'Необходимо ввести номер телефона';
			  }

			if(trim($$('textarea[name="address"]')[0].value) == '')
			  {
	          err['address'] = 'Не указан адрес';
			  }

			if (!err.getLength())
			  {
			  this.submit();
			  }
			else
			  {
			  $('err').empty();
			  err.each(function (value, key) {
			    el = new Element('div', {'id': 'for_'+key,'html': '- '+value})
			  	$('err').adopt(el);
			  	});
			  window.scrollTo(0,0);
			  }
	    });

    }

  if ($('shopadd'))
    {
	$('shopadd').addEvent('submit', function(e){
		e.stop();
		var err = new Hash();

		// Проверка правильности заполнения формы
        var colorisselected = '';
        var selected = $$('.colorselect').each(function (element) {
        	 if (element.getSelected()[0].value != 0)
        	   {
        	   colorisselected = 1;
        	   }
        	});

		if(colorisselected != 1)
		  {
		  err['color'] = 'Не выбран цвет товара';
		  }

		if ($$('input[name="title"]')[0] && $$('input[name="title"]')[0].getProperty('required')) // Проверка названия
		  {
		  if($$('input[name="title"]')[0] && trim($$('input[name="title"]')[0].value) == '')
		    {
            err['title'] = 'Не указано название товара';
		    }
		  }

		if (!err.getLength())
		  {
		  this.submit();
		  }
		else
		  {
		  alert(err);
		   err.each(function (item) {
		  		alert(item);
		  	});
		  }
	});
   }
});



function Shop_update_cartprice(num)
  {
  new Request.HTML({url:'/modules/shop/ajax/cartprice.php',
		onSuccess: function(html) {
              $('cart_price').set('text', '');
			  $('cart_price').adopt(html);
		      var total_price = parseInt($('cart_price').innerHTML);
		      if ($('skidkanum'))
		        {
		        var skidka = parseInt($('skidkanum').innerHTML);
                $('cart_skidka_price').innerHTML = total_price-total_price*skidka/100;
                }
              $('cart_kolvo').innerHTML = num;
		      $('cart_total_price').innerHTML = total_price;
		}
	,evalScripts: true}).get();
  }

function shop_addToCart (id){ // Добавление товара в корзину
	var kolvo = $('_kolvo').value;
	var size = $('_size').value;

	if ($('size2') && !$('_size').value) // Если есть вторая ссылка для выбора размера и размер не выбран, то сообщение
	  {
	  alert('Выберите размер');
	  return false;
	  }

	var loading = $('addbutton').value = 'Добавление...';
	var container = $('addToCart_rez').addClass('ajax-loading');
	loading.disabled = 'true';

	var myRequest = new Request({url: '/modules/shop/ajax/to_cart.php', method: 'get', evalScripts: true, onSuccess: function(responseText, responseXML) {
    	container.removeClass('ajax-loading');
    	if (function_exists('template_shop_addToCart')) { template_shop_addToCart(); }
    }}).send('id='+id+'&kolvo='+kolvo+'&size='+size);
    //$('focus').focus();
}

function shop_to_cart_rez(code,txt) { // Обработка результата добавления в корзину
	var rezdiv = $('addToCart_rez').empty();

	switch(code)
	  {
	  case 'netu':
	     elem = new Element('div', {'class': 'bad'});
	  	 rezdiv.adopt(elem.set('text',txt));
	  break;
	  case 'ok':
	  	elem = new Element('div', {'class': 'good'});
	  	rezdiv.adopt(elem.set('html',txt));
	  break;
	  }

    ajaxinit($$('#addToCart_rez a'));
}

function shop_change_size(num,j)
  {
  $('_size').value = num;
  for (var i=1;;i++)
    {
    if (!$('size'+i))
      {
      break;
      }
    $('size'+i).removeClass('selected');
    }
  $('size'+j).addClass('selected');
  }

var total_price;
function shop_check_dostavka(sposob) {

    if (!sposob) return;
    var sposoby = new Array();


    if (!total_price) {
        total_price = parseInt($('koplate').innerHTML);
    }

    $$('var').each(function(element) { // Для всех элементов информации
		info = JSON.decode(element.innerHTML);

		if (info && info.sposobyoplaty) {

		    sposoby['np'] = info.sposobyoplaty.np;
		    sposoby['bank'] = info.sposobyoplaty.bank;
		    sposoby['wm'] = info.sposobyoplaty.wm;
		    sposoby['dop1'] = info.sposobyoplaty.dop1;
		    sposoby['dop2'] = info.sposobyoplaty.dop2;
		    sposoby['dop3'] = info.sposobyoplaty.dop3;
		    sposoby['dop4'] = info.sposobyoplaty.dop4;
		}

   });

    sposobvalue = sposob;
    if(/\%$/.test(sposoby[sposobvalue])) // Проверяем в процентах ли указан
      {
      izmenenie = Math.floor(parseInt(sposoby[sposobvalue])*total_price/100);
      }
    else
      {
      izmenenie = parseInt(sposoby[sposobvalue]);
      }

    if (izmenenie < 0) // Даем скидку
      {
      $('slovo_sposoba_oplaty').innerHTML = 'Скидка за предоплату';
      $('koplate').innerHTML = total_price+izmenenie;
      $('stoimost_dostavki').innerHTML = Math.abs (izmenenie);
      }
    else
      {
      $('slovo_sposoba_oplaty').innerHTML = 'Стоимость доставки';
      $('koplate').innerHTML = total_price+izmenenie;
      $('stoimost_dostavki').innerHTML = izmenenie;
      }
    $('stoimost_dostavki_div').style.display = 'block';
    $(sposobvalue+'input').checked = true;
  }

function shop_last_step()
  {
  var i = $$('.inp_posob_oplati');
  var sposob_oplati_vibran;

  i.each(function(el) { if(el.checked) { sposob_oplati_vibran = 1; } });

  if (!sposob_oplati_vibran)
    {
    alert('Необходимо выбрать способ оплаты');
    err = 1;
    }
  else
    {
    err = 0;
    }

  if (!err)
    {
    $('last_step_form').submit();
    }
  return false;
  }

function shop_sel_country(){
	$('region').disabled=true;
	$('city').disabled=true;

	new Request.HTML({url:'/modules/shop/ajax/sel_country.php?id_country='+$('country').value,
		onSuccess: function(html) {
              $('div_region').empty();
			  $('div_region').adopt(html);
		      shop_after_sel_country();
		}
	,evalScripts: true}).get();
}
function shop_after_sel_country(num){
	if($('xer_region').value==1){
		shop_sel_region();
	}else{
		$('div_city').innerHTML='<select style="width:180px;" id="city" name="city"><option value="0">Выберите регион</option></select>';
		$('city').disabled=true;
	}
}

function shop_sel_region(){
	if($('region').value==-1){
		if(!$('other_region')){
			$('div_region').innerHTML+='<div id="other_region"><input class="inp" type="text" style="width:180px;" name="other_region" value=""></div>';
		}
		$('region').value=-1;
	}else{
		if($('other_region'))$('div_region').removeChild($('other_region'));
	}

	if($('region').value!=0){
		$('city').disabled=true;
		new Request({url:'/modules/shop/ajax/sel_region.php?id_country='+$('country').value+'&id_region='+$('region').value,
		 onSuccess: function(responseText, responseXML) {
              $('div_city').empty();
			  $('div_city').innerHTML = responseText;
		      shop_after_sel_region();
		}
	,evalScripts: true}).get();
	}else{
		$('div_city').innerHTML='<select style="width:180px;" id="city" name="city"><option value="0">Выберите регион</option></select>';
		$('city').disabled=true;
	}
}

function shop_after_sel_region(){
}

function shop_delFromCart(id,size) // Удаление товара из корзины
  {
  if (confirm('Убрать товар?'))
    {
    new Fx.Morph('cart_item'+id+size, {duration: 300, transition: Fx.Transitions.Sine.easeOut }).start({'opacity': 0}).chain(
  	  function() { this.set({'display': 'none'}); }
  	);

    new Request.HTML({url:'/modules/shop/ajax/delcartitem.php',evalScripts: true}).get({'id': id,'size': size});
    }
  return false;
  }

function shop_update_cart()
  {
  ajaxload('/modules/shop/ajax/update_ajaxcart.php','korzina',1);
  }

function shop_sel_city(){
	if($('city').value==-1){
		if(!$('other_city')){
			$('div_city').innerHTML+='<div id="other_city" ><input class="inp" type="text" style="width:180px;" name="other_city" value=""></div>';
		}
		$('city').value=-1;
	}else{
		if($('other_city'))$('div_city').removeChild($('other_city'));
	}
}

function shop_full_form_check()
  {
  var i = $$('.inp_posob_oplati');
  var sposob_oplati_vibran;

  i.each(function(el) { if(el.checked) { sposob_oplati_vibran = 1; } });

  if (!sposob_oplati_vibran)
    {
    alert('Необходимо выбрать способ оплаты');
    err = 1;
    }
  else
    {
    err = 0;

    if (!$('country').value)
      {
      alert('Необходимо выбрать страну');
      err = 1;
      }
    else
      {
      err = 0;

      if (!$('region').value && !$('other_region').value)
        {
        alert('Необходимо указать регион');
        err = 1;
        }
      else
        {
        err = 0;

        if (!$('city').value && !$('city').value)
          {
          alert('Необходимо указать город');
          err = 1;
          }
        else
          {
          err = 0;


          }
        }
      }
    }

  if (!err)
    {
    $('last_step_form').submit();
    }
  return false;
  }

var tmp_parametry; // Нужно для того, чтобы сохранять последние параметры, чтобы их можно было потом обратно занести
var last_cat_id;
function shop_add_change_cat(id_cat) {

    var num = ($$('.dopcolor').length-1); // Определяем количество блоков цветов и отнимаем, потому что всегда есть один шаблон


    $$('.size').each(function(elem) { // Вставляем размеры

  	    if($('size'+id_cat)) {
  	        elem.set('html',$('size'+id_cat).innerHTML);
  	    } else {
  	        elem.empty();
  	    }

  	    if (!$defined(elem.getProperty('id'))) // Если у цвета нет айдишника, то он только что добавлен
  	    {
  	        elem.setProperty('id','sizes'+(num));
  	    }

    });

    if ($$('#parametry'+id_cat)[0]) {

        if (tmp_parametry) {
            $('parametry'+last_cat_id).innerHTML = tmp_parametry;
        }

        $('cat_parametry').innerHTML = $('parametry'+id_cat).innerHTML;

        if (function_exists('template_shop_add_change_cat')) { template_shop_add_change_cat(); }

        $('cat_parametry_tr').style.display = '';
        tmp_parametry = $('parametry'+id_cat).innerHTML;
        last_cat_id = id_cat;
        $('parametry'+id_cat).empty();

    } else if ($('cat_parametry_tr')) {

        $('cat_parametry_tr').style.display = 'none';
        $('cat_parametry').empty();

    }

    shop_set_right_names();

    $('id_brand_tr').addClass('ajaxload');
    // Подгружаем бренды
    var myRequest = new Request({url: '/modules/shop/ajax/add_changecat.php', method: 'post', evalScripts: true, onSuccess: function(responseText, responseXML) {
      $('id_brand_tr').removeClass('ajaxload');
    }}).send('id='+parseInt(id_cat));

}

function shop_set_right_names() { // Везде где нет правильных названий для полей проставляем их

    $$('.dopcolor').each(function (elem) {

        if (elem.getProperty('id')) {
            var id=elem.getProperty('id').replace(/(dop|new)color/,'');
        }

        if (id !== false) {

	        $$('#dopcolor'+id+' .size input, #newcolor'+id+' .size input').each(function (element) {  // Обновляем число
	  		    element.setProperty('name',element.getProperty('name').replace(/sizes\[\]/,'sizes['+id+']'));
	  	    });

	  	    $$('#newcolor'+id+' .photos input').each(function (element) {  // Обновляем число
	  		    element.setProperty('name','photo['+id+'][]');
	  	    });

	  	    $$('#newcolor'+id+' select.colorselect').each(function (element) {  // Обновляем число
	  		    element.setProperty('name','color['+id+']');
	  	    });

	  	    $$('#newcolor'+id+' select').each(function (element) {
	  		    element.setProperty('name',element.getProperty('name').replace(/([a-z0-9]+)\[\]/,'$1['+id+']'));
	  	    });
        }

    });

}

function shop_add_add_color()
  {
  var num = ($$('.dopcolor').length-1); // Определяем количество блоков цветов и отнимаем, потому что есть один шаблон
  var content = $('clearcolortable').innerHTML.replace(/id=\"dopcolor([0-9]+)?\"/,'id=\"newcolor'+num+'\"');
  var content = content.replace(/id=\"dellink([0-9]+)?\"/,'id=\"dellink'+num+'\"');

  var inElement  = new Element('div', {'class': 'newColorElement'});


  inElement.set('html',content);
  $('colorstd').grab(inElement);
  //$('clearcolortable').innerHTML.replace(/id=\"dopcolor([0-9]+)?\"/,'id=\"newcolor'+num+'\"'); // Копируем таблицу

  /*
  $$('#newcolor'+num+' .size input').each(function (element) {  // Обновляем name для разделов
  		var name = element.getProperty('name').replace(/sizes\[\]/,'sizes['+num+']');
  		element.setProperty('name',name);
  	});*/



  shop_set_right_names();
  }

function shop_add_del_color(obj)
  {
  obj.empty();
  }

function shop_add_change_menu(id)
  {
  $('id_cat_tr').addClass('ajaxload');
  var myRequest = new Request({url: '/modules/shop/ajax/add_changemenu.php', method: 'post', evalScripts: true, onSuccess: function(responseText, responseXML) {
  		$('id_cat_tr').removeClass('ajaxload');
  }}).send('id='+id);
  }

function shop_changeMiniPic(id, src, href)
  {
  $$('#mini'+id+' a')[0].setAttribute('href',href);
  $$('#mini'+id+' a span.boxpic')[0].setAttribute('style','background:url(\''+src+'\');');
  }

function shop_delColor(obj)
  {
  if (!confirm('Удалить цвет?')) return false;

  var id = parseInt(obj.getAttribute('id').replace(/dellink/,''));

  if ($('newcolor'+id)) // Если удаляем новый цвет
    {
    $('newcolor'+id).empty();
    }
  else if ($('dopcolor'+id))
    {
    var myRequest = new Request({url: '/modules/shop/ajax/del_color.php', method: 'post', evalScripts: true, onSuccess: function(responseText, responseXML) {

    }}).send('id='+id);

    $('dopcolor'+id).empty();
    }
  return false;
  }


function shop_cart_changecount (id, size, act) {

    var kolvo = parseInt($('kolvo'+id+size).innerHTML);
    var doNum = (act == 'minus')?-1:1;

    if (kolvo + doNum <= 0) { // Если количество 1 и уменьшаем
        return shop_delFromCart(id,size);
    } else {

        $('cartitems').addClass('loading');
        var myRequest = new Request({url: '/modules/shop/ajax/cart_change_count.php', method: 'post', evalScripts: true, onSuccess: function(responseText, responseXML) {
            $('cartitems').removeClass('loading');
        }}).send('id='+id+'&size='+size+'&act='+act);

    }

    $('kolvo'+id+size).innerHTML = kolvo+doNum;

    return false;

}
