var calc_work = false;
var calc_entry = false;

$(document).ready(function(){
  $('#butQuestion').showWindow({'window':'questionWindow'});
  $.each($('.butQuestion'),function(){
    $(this).showWindow({'window':'questionWindow'});
    });
  if ($('#butRules')) $('#butRules').showWindow({'window':'rulesWindow'});
  if ($('div.s-select')) $('div.s-select').jsSelect();
  if ($('#butAuth')) $('#butAuth').showWindow({'window':'authWindow'});
  if ($('#mail').attr('id') && $('#mail').val() != '' && $('#mail').val() != 'Введите ваш e-mail') checkMail();
  if ($('#pass').attr('id') && $('#pass').val() != '') checkPass();
  if ($('#code').attr('id') && $('#code').val() != '') checkCode();
  if ($('#child_name').attr('id') && $('#child_name').val() != '') checkChildName();
  if ($('#child_sex_f:checked').attr('id') || $('#child_sex_m:checked').attr('id')) checkChildSex();
  if ($('#mail').attr('id') && $('#mail').val() == 'Введите ваш e-mail') $('#mail').css('color','#3a3a3a');
  
  // инициализация загрузчика фотографий
  if ($('#child_photo_button').attr('id'))
    {
    // на 1м шаге заказа
    if ($('#mail').attr('id') && $('#child_name').attr('id')) {
    var button = $('#child_photo_button');
    new AjaxUpload(button,{
	    action:   '/custom/javascripts/fileupload/upload.php',
	    data:     $('#item_id').val(),
	    name:     'child_photo',
	    onSubmit: function(file, ext){
			$('#child_photo_loader').show();
			$('#child_photo-error').hide();
			$('#child_photo-ok').hide();
			this.disable();
			if($('#child_photo_status_msg').attr('id'))
			    {
			    $('#child_photo_status_msg').hide();
			    }
			},
	    onComplete:function(file, response){
			$('#child_photo_loader').hide();
			
			data = response.split(':');
			if (data[0] != 'error') {
			  image = data[0];
			  width = data[1];
			  height = data[2];
			  
			  if (width / height > 78 / 98)
			    {
			    height = Math.round(78 * height / width);
			    $('#child_photo').attr('height',height);
			    }
			  else
			    {
			    width = Math.round(98 * width / height);
			    $('#child_photo').attr('width',width);
			    }
			  
			  $('#child_photo').attr('src','');
			  $('#child_photo').attr('src','/files/childs/'+image+'?'+height+'_'+width);
			  setFieldOk('child_photo');
			  
			  if($('#child_photo_status_msg').attr('id'))
			    {
			    $('#child_photo_status_msg').show();
			    }
			  
			} else {
			  if (data[1] == 'wrong_auth')
			    {
			    checkMail();
			    checkPass();
			    }
			  else setFieldError('child_photo',data[1]);
			}
			
			this.enable();
			}
	    });
    } else { //  на странице Загрузить фото
    
    var button = $('#child_photo_button');
    new AjaxUpload(button,{
	    action:   '/custom/javascripts/fileupload/upload-form.php',
	    data:     $('#item_id').val(),
	    name:     'child_photo',
	    onSubmit: function(file, ext){
			$('#child_photo_loader').show();
			$('#child_photo-error').hide();
			$('#child_photo-ok').hide();
			this.disable();
			if($('#child_photo_status_msg').attr('id'))
			    {
			    $('#child_photo_status_msg').hide();
			    }
			},
	    onComplete:function(file, response){
			$('#child_photo_loader').hide();
			
			data = response.split(':');
			if (data[0] != 'error') {
			  image = data[0];
			  width = data[1];
			  height = data[2];
			  
			  if (width / height > 78 / 98)
			    {
			    height = Math.round(78 * height / width);
			    $('#child_photo').attr('height',height);
			    }
			  else
			    {
			    width = Math.round(98 * width / height);
			    $('#child_photo').attr('width',width);
			    }
			  
			  $('#child_photo').attr('src','');
			  $('#child_photo').attr('src','/files/childs/'+image+'?'+height+'_'+width);
			  setFieldOk('child_photo');
			  
			  if($('#child_photo_status_msg').attr('id'))
			    {
			    $('#child_photo_status_msg').show();
			    }
			  
			} else {
			  if (data[1] == 'wrong_auth')
			    {
			    checkMail();
			    checkPass();
			    }
			  else setFieldError('child_photo',data[1]);
			}
			
			this.enable();
			}
	    });
    }
    }
  
  // инициализация автозаполнения
  if ($('.autocomplete').attr('id') == 'city')
    {
    $("#city").autocomplete(citiesArray);
    }
  
  if ($('#city-error').css('display') != 'block' &&
      $('#city').attr('id') &&
      $('#city').val() != '' &&
      $('.radio:checked').val() == 'express') calc();
});

$.fn.jsSelect = function(){
  $(this).each(function(){
    var parent = $(this);
    var list = $('ul:first',parent);
    var value = $('span:first',parent);
    $(this).click(function(){
      if($(list).css('display')!='block'){
        $(list).show();
        parent.addClass('selectactive');
      }else{
        $(list).hide();
        parent.removeClass('selectactive');
      }
    });
    parent.mouseleave(function(){
      setTimeout(function(){
        list.hide();
        parent.removeClass('selectactive');
      },500);
    });
    $('li',list).each(function(i){
      $(this)
      .click(function(){
        var selectedVal = $(this).text();
        $(value).text(selectedVal);
      })
      .hover(function(){
        $(this).toggleClass('hover');
      },function(){
        $(this).toggleClass('hover');
      });
    });
  });
};

$.fn.showWindow = function(options){
  opt = $.extend({'window':'popupWindow'}, options);
  var popup = $('#'+opt.window);
  $(this).click(function(){
    $(document.body).append('<div id="overlay"></div>');
    $('#overlay').css({
      'width':   $(window).width(),
      'height':  $(document).height(),
      'opacity': 0.3
    });
    popup.show();
    return false;
  });
  $('a.close-but',popup).click(function(){
    popup.hide();
    $('#overlay').remove();
    return false;
  });
  $(window).resize(function(){
    if($('#overlay').size()>0){
      $('#overlay').css({
      	'width':   $(window).width()+'px',
      	'height':  $(document).height()+'px',
      	'opacity': 0.35
      });
    }
  });
}

$.fn.showBigWindow = function(id){
  var yScroll = $.browser.msie ? document.documentElement.scrollTop : self.pageYOffset;
  
  $(document.body).append('<div id="overlay"></div>');
  $('#overlay').css({
    'width':   $(window).width(),
    'height':  $(document).height(),
    'opacity': 0.3
  })
  .click(function(){
    $('#bigWindow').hide();
    $(this).remove();
  });
  $('#bigWindowOverflow')
  .css({
    'height': $(window).height()-235+'px'
  });
  $('#bigWindow').css({'top':(yScroll+30)+'px'}).show();
  
  $('a.close-but','#bigWindow').click(function(){
    $('#bigWindow').hide();
    $('#overlay').remove();
    return false;
  });
}

function setFieldOk(field){
  $('#'+field+'-ok').show();
  $('#'+field+'-error').hide();
  $('#'+field+'-error div.message-bubble div').html('');
  if ($('#'+field).attr('class') != 'radio') $('#'+field).removeClass('fail').addClass('success');
}

function setFieldError(field,error){
  $('#'+field+'-ok').hide();
  $('#'+field+'-error').show();
  $('#'+field+'-error div.message-bubble div').html(error);
  $('#'+field).removeClass('success').addClass('fail');
}

function getError(field){
  if (!field || field == '') field = '';
  var error = '';
  
  switch (field)
    {
    case 'form-mail':
    case 'mail':
      {
      var mail = $('#'+field).val();
      
      if (mail == '') error = 'Введите имя';
      
      if (error == '') {
	if (mail.length < 3) error = 'Слишком короткий адрес';
      }
      
      if (error == '' && (
	  mail.indexOf('!') != -1 || mail.indexOf('@') == -1 ||
	  mail.indexOf('=') != -1 || mail.indexOf(',') != -1 ||
	  mail.indexOf('"') != -1 || mail.indexOf("'") != -1 ||
	  mail.indexOf('\\') != -1 || mail.indexOf('/') != -1 ||
	  mail.indexOf('^') != -1 || mail.indexOf('#') != -1 ||
	  mail.indexOf('*') != -1 || mail.indexOf('+') != -1 ||
	  mail.indexOf('%') != -1 || mail.indexOf('&') != -1 ||
	  mail.indexOf('<') != -1 || mail.indexOf('>') != -1 ||
	  mail.indexOf('(') != -1 || mail.indexOf(')') != -1 ||
	  mail.indexOf('[') != -1 || mail.indexOf(']') != -1 ||
	  mail.indexOf('{') != -1 || mail.indexOf('}') != -1 ||
	  mail.indexOf('?') != -1 || mail.indexOf('$') != -1)) error = 'Введен несуществующий адрес';
      
      if (error == '') {
	mail = mail.split('@');
	if (mail.length > 2) error = 'Введен несуществующий адрес';
	
	var name = mail[0];
	var domen = mail[1];
	if (name == '' || domen == '') error = 'Введен несуществующий адрес';
	if (name.length > 63 || domen.length > 63) error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (name[0] == '.' ||
	    name[0] == '-' ||
	    name[name.length-1] == '.' ||
	    name[name.length-1] == '-') error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (domen.indexOf('.') == -1) error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (domen[0] == '.' ||
	    domen[0] == '-' ||
	    domen[domen.length-1] == '.' ||
	    domen[domen.length-1] == '-') error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	domen = domen.split('.');
	$.each(domen, function(i,v) {
	  if (v == '') error = 'Введен несуществующий адрес';
	});
	if (domen[0] == '' || domen[domen.length-1].length < 2) error = 'Введен несуществующий адрес';
      }
      
      break;
      }
    case 'pass':
      {
      var pass = $('#pass').val();
      
      if (pass == '') error = 'Введите пароль';
      if (error == '' && pass.length < 6) error = 'Не менее 6 символов';
      
      break;
      }
    case 'name':
      {
      var name = $('#name').val();
      if (name == '') error = 'Введите имя';
      break;
      }
    case 'child_name':
      {
      var child_name = $('#child_name').val();
      if (child_name == '') error = 'Введите имя вашего ребенка';
      break;
      }
    case 'child_sex':
      {
      if (!$('#child_sex_f:checked').attr('id') && !$('#child_sex_m:checked').attr('id')) error = 'Выберите пол вашего ребенка';
      break;
      }
    case 'delivery':
      {
      error = 'Выберите способ доставки';
      $.each($('.radio'),function(){
	if ($(this).attr('checked')) error = '';
	});
      break;
      }
    case 'payment':
      {
      error = 'Выберите способ оплаты';
      $.each($('.radio'),function(){
	if ($(this).attr('checked')) error = '';
	});
      break;
      }
    case 'question_mail':
      {
      var mail = $('#question_mail').val();
      
      if (mail == '') error = 'Введите имя';
      
      if (error == '') {
	if (mail.length < 3) error = 'Слишком короткий адрес';
      }
      
      if (error == '' && (
	  mail.indexOf('!') != -1 || mail.indexOf('@') == -1 ||
	  mail.indexOf('=') != -1 || mail.indexOf(',') != -1 ||
	  mail.indexOf('"') != -1 || mail.indexOf("'") != -1 ||
	  mail.indexOf('\\') != -1 || mail.indexOf('/') != -1 ||
	  mail.indexOf('^') != -1 || mail.indexOf('#') != -1 ||
	  mail.indexOf('*') != -1 || mail.indexOf('+') != -1 ||
	  mail.indexOf('%') != -1 || mail.indexOf('&') != -1 ||
	  mail.indexOf('<') != -1 || mail.indexOf('>') != -1 ||
	  mail.indexOf('(') != -1 || mail.indexOf(')') != -1 ||
	  mail.indexOf('[') != -1 || mail.indexOf(']') != -1 ||
	  mail.indexOf('{') != -1 || mail.indexOf('}') != -1 ||
	  mail.indexOf('?') != -1 || mail.indexOf('$') != -1)) error = 'Введен несуществующий адрес';
      
      if (error == '') {
	mail = mail.split('@');
	if (mail.length > 2) error = 'Введен несуществующий адрес';
	
	var name = mail[0];
	var domen = mail[1];
	if (name == '' || domen == '') error = 'Введен несуществующий адрес';
	if (name.length > 63 || domen.length > 63) error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (name[0] == '.' ||
	    name[0] == '-' ||
	    name[name.length-1] == '.' ||
	    name[name.length-1] == '-') error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (domen.indexOf('.') == -1) error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	if (domen[0] == '.' ||
	    domen[0] == '-' ||
	    domen[domen.length-1] == '.' ||
	    domen[domen.length-1] == '-') error = 'Введен несуществующий адрес';
      }
      
      if (error == '') {
	domen = domen.split('.');
	$.each(domen, function(i,v) {
	  if (v == '') error = 'Введен несуществующий адрес';
	});
	if (domen[0] == '' || domen[domen.length-1].length < 2) error = 'Введен несуществующий адрес';
      }
      
      break;
      }
    default:
      {
      var value = $('#'+field).val();
      if (value == '') error = 'Заполните поле';
      }
    }
  
  return error;
}

function checkMail() {
  var mail = $('#mail').val();
  
  var error = getError('mail');
  if (error != '') setFieldError('mail',error);
  else             setFieldOk('mail');
  }

function checkFormMail() {
  var mail = $('#form-mail').val();
  
  var error = getError('form-mail');
  if (error != '') setFieldError('form-mail',error);
  else             setFieldOk('form-mail');
  }

function checkPass(key) {
  // проверка email
  var error_mail = getError('mail');
  if (error_mail != '') setFieldError('mail',error_mail);
  else                  setFieldOk('mail');
  
  // проверка пароля
  var error_pass = getError('pass');
  if (error_pass != '') setFieldError('pass',error_pass);
  else                  setFieldOk('pass');
  
  if (error_mail == '' && error_pass == '' ) {
    var pass = encodeURIComponent($('#pass').val());
    var mail = encodeURIComponent($('#mail').val());
    var item = $('#item_id').val();
    
    if (!key || key == '') key = 'noreg';
    else key = 'reg';
    
    $.ajax({type:     'post',
	    dataType: 'json',
	    url:      '/custom/modules/shop/db_site.php',
	    data:     'option=check_pass&mail='+mail+'&pass='+pass+'&id='+item+'&key='+key,
	    success:  function (data) {
	      if (data && data.msg)
		{
		switch (data.msg)
		  {
		  case 'authorized':
		    {
		    
		    if ($('#child_sex').attr('id')) $('#child_sex').val(data.child_sex);
		    if ($('#child_name').attr('id')) $('#child_name').val(data.child_name);
		    
		    if ($('#form_child_photo').attr('id'))
		      {
		      $('#form_child_photo').show();
		      $('#form_auth').hide();
		      }
		    
		    if ($('#child_photo').attr('id') && data.child_photo && data.child_photo != '')
		      {
		      var child_photo = data.child_photo.split(':');
			  image = child_photo[0];
			  width = child_photo[1];
			  height = child_photo[2];
			  
			  if (width / height > 78 / 98)
			    {
			    height = Math.round(78 * height / width);
			    $('#child_photo').attr('height',height);
			    }
			  else
			    {
			    width = Math.round(98 * width / height);
			    $('#child_photo').attr('width',width);
			    }
			  
		      $('#child_photo').attr('src','');
		      $('#child_photo').attr('src','/files/childs/'+image);
		      }
		      
		    break;
		    }
		  case 'error':
		    {
		    setFieldError('pass','Неверный пароль');
		    break;
		    }
		  }
		}
	      }
	    });
    }
  }

function checkCode() {
  var code = encodeURIComponent($('#code').val());
  
  if (code != '' ) {
    $.ajax({type:     'post',
	    dataType: 'json',
	    url:      '/custom/modules/shop/db_site.php',
	    data:     'option=check_code&code='+code,
	    success:  function (data) {
	      if (data && data.msg)
		{
		switch (data.msg)
		  {
		  case 'ok':
		    {
		    $('#code-error').hide();
		    $('#code-ok').show();
		    $('#code').css('float','left');
		    break;
		    }
		  case 'wrong':
		    {
		    $('#code').css('float','none');
		    $('#code-ok').hide();
		    setFieldError('code','Неверный код');
		    break;
		    }
		  }
		}
	      }
	    });
    }
  else
    {
    $('#code-ok').hide();
    $('#code-error').hide();
    }
}

function checkChildName() {
  var error = getError('child_name');
  if (error != '') setFieldError('child_name',error);
  else             setFieldOk('child_name');
}

function checkChildSex() {
  var error = getError('child_sex');
  if (error != '')
    {
    $('#child_sex-ok').hide();
    $('#child_sex-error').show();
    $('#child_sex-error div.message-bubble div').html(error);
    }
  else
    {
    $('#child_sex-ok').show();
    $('#child_sex-error').hide();
    $('#child_sex-error div.message-bubble div').html('');
    }
}

function checkDelivery() {
  var error = getError('delivery');
  if (error != '')
    {
    $('#delivery-ok').hide();
    $('#delivery-error').show();
    $('#delivery-error div.message-bubble div').html(error);
    }
  else
    {
    $('#delivery-ok').show();
    $('#delivery-error').hide();
    $('#delivery-error div.message-bubble div').html('');
    }
}

function loadPhoto() {
  var child_name = $('#child_name').val();
  var error = '';
  
  if (child_name == '') error = 'Введите имя вашего ребенка';
  
  if (error != ''){
    $('#child_name-ok').hide();
    $('#child_name-error').show();
    $('#child_name-error div.message-bubble div').html(error);
    $('#child_name').removeClass('success').addClass('fail');
  } else {
    $('#child_name-ok').show();
    $('#child_name-error').hide();
    $('#child_name-error div.message-bubble div').html('');
    $('#child_name').removeClass('fail').addClass('success');
  }
}

function saveOrder(from,to,page_from) {
  var error     = false;
  var item_id   = encodeURIComponent($('#item_id').val());
  var item_name = encodeURIComponent($('#item_name').val());
  var data      = '';
  
  switch(from)
    {
    case '1':
      {
      // проверка email
      var error_mail = getError('mail');
      if (error_mail != '') setFieldError('mail',error_mail);
      else                  setFieldOk('mail');
      
      // проверка пароля
      var error_pass = getError('pass');
      if (error_pass != '') setFieldError('pass',error_pass);
      else                  setFieldOk('pass');
      
      // проверка имени ребенка
      var error_child_name = getError('child_name');
      if (error_child_name != '') setFieldError('child_name',error_child_name);
      else                        setFieldOk('child_name');
      
      // проверка пола ребенка
      var error_child_sex = getError('child_sex');
      if (error_child_sex != '')
	{
	$('#child_sex-ok').hide();
	$('#child_sex-error').show();
	$('#child_sex-error div.message-bubble div').html(error_child_sex);
	}
      else
	{
	$('#child_sex-ok').show();
	$('#child_sex-error').hide();
	$('#child_sex-error div.message-bubble div').html('');
	}
      
      if (error_pass != '' || error_mail != '' || error_child_name != '' || error_child_sex != '') error = true;
      else
	{
	var mail = encodeURIComponent($('#mail').val());
	var pass = encodeURIComponent($('#pass').val());
	var code = encodeURIComponent($('#code').val());
	var child_name = encodeURIComponent($('#child_name').val());
	
	if ($('#child_sex_m').attr('checked')) var child_sex = 'm';
	if ($('#child_sex_f').attr('checked')) var child_sex = 'f';
	
	data = 'mail='+mail+'&pass='+pass+'&code='+code+'&child_name='+child_name+'&child_sex='+child_sex;
	}
      
      break;
      }
    case '2':
      {
      if ($('.radio:checked').attr('id')) var delivery = $('.radio:checked').val();
      else var delivery = '';
      
      if (delivery != 'download')
	{
	var fields = new Array('name','surname','phone','country','region','city','address','delivery');
	var error_field  = '';
	if (to == 3)
	  {
	  $.each(fields,function(i,field){
	    error_field = getError(field);
	    if (error_field != '')
	      {
	      setFieldError(field,error_field);
	      error = true;
	      }
	    else setFieldOk(field);
	    });
	  }
	}
      
      if ($('#city-error').css('display') != 'block' &&
	  $('#city').val() != '' &&
	  $('.radio:checked').val() == 'express') calc();
      else $('#delivery-cost').hide();
      
      if (!error)
	{
	var name    = encodeURIComponent($('#name').val());
	var surname = encodeURIComponent($('#surname').val());
	var phone   = encodeURIComponent($('#phone').val());
	var country = encodeURIComponent($('#country').val());
	var region  = encodeURIComponent($('#region').val());
	var city    = encodeURIComponent($('#city').val());
	var index   = encodeURIComponent($('#index').val());
	var address = encodeURIComponent($('#address').val());
	
	data = 'name='+name+'&surname='+surname+'&phone='+phone+'&country='+country+'&region='+region+'&city='+city+'&index='+index+'&address='+address+'&delivery='+delivery;
	}
      
      break;
      }
    case '3':
      {
      if (to == 4)
	{
	error = true;
	$.each($('.radio'),function(){
	  if ($(this).attr('checked')) error = false;
	  });
	}
      
      if (!error)
	{
	var payment = $('.radio:checked').val();
	$('#payment-error').hide();
	}
      else
	{
	var payment = '';
	if (to == 4)
	  {
	  $('#payment-error').show();
	  error = true;
	  }
	}
      
      var cost = parseInt($('#order_summ').html());
      
      data = 'payment='+payment+'&cost='+cost;
      
      break;
      }
    }
  
  // если ошибок нет, отправляем запрос серверу
  // когда запрос выполнится, переходим на следующую страницу
  if (!error){
      $('*').css('cursor','wait');
      
      $.ajax({type: 'post',
	      url:  '/custom/modules/shop/db_site.php',
	      data: 'option=save_order&id='+item_id+'&step='+from+'&to='+to+'&'+data,
	      complete: function (data) {
		
		if (payment && to == 4 && (payment == 'yandexmoney' || payment == 'cards' || payment == 'rbkmoney'))
		  {
		  //if (payment == 'wm') $('#preference').val('exchangers');
		  if (payment == 'cards') $('#preference').val('bankCard');
		  if (payment == 'rbkmoney') $('#preference').val('inner');
		  if (payment == 'yandexmoney') $('#preference').val('yandex');
		  
		  $('#rbk_form').submit();
		  }
		else
		  {
		  /*if ($('#form-step-1') && $('#form-step-1').attr('id'))
		    {
		    $('#form-step-1').attr('action','/order?step='+to+'&i='+item_name+'&page_from='+page_from+'#sd');
		    $('#form-step-1').submit();
		    }
		  else*/
		  
		  location.href = '/order?step='+to+'&i='+item_name+'&page_from='+page_from;
		  }
		}
	      });
  }
  }

function delivery_download_on() {
  
  $('#column_1').hide();
  $('#column_2').hide();
  
  $.each($('.textfield'),function(){
    $(this).attr('disabled','disabled');
    });
  }
function delivery_post_on() {
  
  $('#column_1').show();
  $('#column_2').show();
  
  $('#delivery-cost').hide();
  
  $.each($('.textfield'),function(){
    $(this).removeAttr('disabled');
    });
  }

function delivery_ems_on() {
  
  $('#column_1').show();
  $('#column_2').show();
  
  if ($('#delivery-cost div.message-bubble-green div').html() != '' && $('#delivery-cost div.message-bubble-green div').html() != '&nbsp;')
    {
    $('#city-error').hide();
    $('#city-ok').hide();
    $('#delivery-cost').show();
    }
  
  if ($('#city').val() != '') calc();
  
  $.each($('.textfield'),function(){
    $(this).removeAttr('disabled');
    });
  }


function payment_nalozh_on() {
  if ($('#tr_nalozh').css('display') == 'none') {
    var summ = parseInt($('#order_summ').html()) + parseInt(settingsPodCost);
    $('#order_summ').html(summ);
    }
  $('#tr_nalozh').show();
  }
function payment_nalozh_off() {
  if ($('#tr_nalozh').css('display') != 'none') {
    var summ = parseInt($('#order_summ').html()) - parseInt(settingsPodCost);
    $('#order_summ').html(summ);
    }
  $('#tr_nalozh').hide();
  }

function send_question(){
  var error_mail = getError('question_mail');
  if (error_mail != '') setFieldError('question_mail',error_mail);
  else                  setFieldOk('question_mail');
  
  if ($('#question_text').val() == '') $('#question_msg').html(' Вы не ввели сообщение.');
  
  if (error_mail == '' && $('#question_text').val() != ''){
    var mail = encodeURIComponent($('#question_mail').val());
    var text = encodeURIComponent($('#question_text').val());
    
    $.ajax({type: 'post',
	    url:  '/custom/modules/shop/db_site.php',
	    data: 'option=send_question&mail='+mail+'&text='+text,
	    complete: function (data) {
	      $('#question_msg').html(' Ваше сообщение отправлено.');
	      }
	    });
      }
  }

function calc() {
  var city = $('#city').val();
  var item = $('#item_id').val();
  var delivery = $('#delivery:checked').val();
  
  if (delivery == 'express' && city != '' && in_array(city,citiesArray))
    {
    $('#city-error').hide();
    $('#city-ok').hide();
    $('#delivery-cost').hide();
    $('#city_loader').show();
    
    $.ajax({type:     'post',
	    dataType: 'json',
	    url:      '/calc.php',
	    data:     'city='+city+'&item='+item,
	    success:  function (data) {
	      $('#city_loader').hide();
	      
	      $('#delivery-cost').show();
	      if (data.price && data.price != '') $('#delivery-cost div.message-bubble-green div').html(data.price+ ' руб.<br>'+data.terms+ ' дня');
	      else $('#delivery-cost div.message-bubble-green div').html('500 руб.');
	      
	      $('#city').removeClass('fail').addClass('success');
	      }
	    });
    }
  }
  
function in_array(what, where) {
    for(var i=0; i<where.length; i++)
        if(what == where[i]) 
            return true;
    return false;
}

function forgotPass() {
  $('#forgotPassMsg').hide();
  
  // проверка email
  var error_mail = getError('mail');
  if (error_mail != '') setFieldError('mail',error_mail);
  else                  setFieldOk('mail');
  
  // если ошибок нет, отправляем запрос серверу
  if (error_mail == ''){
      var mail = encodeURIComponent($('#mail').val());
      
      $.ajax({type: 'post',
	      url:  '/custom/modules/shop/db_site.php',
	      data: 'option=forgot_pass&mail='+mail,
	      complete: function (data) {
		if (data['responseText'] != 'fail') $('#forgotPassMsg').show().html('Пароль отправлен на указанную почту<br/><a href="/order">Продолжить заказ</a>');
		else  $('#forgotPassMsg').show().html('Данный email не зарегистрирован');
		}
	      });
  }
  }

function email_focus() {
  if ($('#mail').val() == 'Введите ваш e-mail') $('#mail').val('').css('color','#3a3a3a');
  }

function email_blur() {
  if ($('#mail').val() == '') $('#mail').val('Введите ваш e-mail').css('color','#aaa');
  }

function partnerRegister() {
  var error     = false;
  var data      = '';
  
  // проверка email
  var error_mail = getError('mail');
  if (error_mail != '') setFieldError('mail',error_mail);
  else                  setFieldOk('mail');
  
  // проверка имени
  var error_name = getError('name');
  if (error_name != '') setFieldError('name',error_name);
  else                  setFieldOk('name');
  
  // проверка пароля
  var error_pass = getError('pass');
  if (error_pass != '') setFieldError('pass',error_pass);
  else                  setFieldOk('pass');
  
  // если ошибок нет, отправляем запрос серверу
  // когда запрос выполнится, переходим на страницу отчётов
  if (error_pass == '' || error_mail == '' || error_name == '') 
    {
    var mail = encodeURIComponent($('#mail').val());
    var pass = encodeURIComponent($('#pass').val());
    var name = encodeURIComponent($('#name').val());
    var code = encodeURIComponent($('#code').val());
    var wmr = encodeURIComponent($('#wmr').val());
    var ydx = encodeURIComponent($('#ydx').val());
    
    $.ajax({type: 'post',
	    url:  '/custom/modules/shop/db_site.php',
	    data: 'option=partner_register&mail='+mail+'&name='+name+'&pass='+pass+'&code='+code+'&wmr='+wmr+'&ydx='+ydx,
	    complete: function (data) {
		      if (data['responseText'] == 'complete') location.href = '/partners/thank-you';
		      else
			{
			if (data['responseText'] == 'error') alert('Во время регистрации произошла ошибка. Пожалуйста, попробуйте ещё раз.');
			if (data['responseText'] == 'Пользователь с таким e-mail уже зарегистрирован') setFieldError('mail',data['responseText']);
			if (data['responseText'] == 'Пользователь с таким именем уже зарегистрирован') setFieldError('name',data['responseText']);
			}
		      }
	    });
  }
  }

function checkPartnerAuth(code,exit){
  
  if (code && code == 'form') {
    var mail = 'form-mail';
    var pass = 'form-pass';
  } else {
    var mail = 'mail';
    var pass = 'pass';
  }
  
  // проверка имени
  var error_mail = getError(mail);
  if (error_mail != '') setFieldError(mail,error_mail);
  else                  setFieldOk(mail);
  
  // проверка пароля
  var error_pass = getError(pass);
  if (error_pass != '') setFieldError(pass,error_pass);
  else                  setFieldOk(pass);
  
  // если ошибок нет, отправляем запрос серверу
  // когда запрос выполнится, переходим на страницу отчётов
  if (error_pass == '' || error_mail == '') 
    {
    mail = encodeURIComponent($('#'+mail).val());
    pass = encodeURIComponent($('#'+pass).val());
    
    $.ajax({type: 'post',
	    url:  '/custom/modules/shop/db_site.php',
	    data: 'option=check_partner_auth&mail='+mail+'&pass='+pass,
	    complete: function (data) {
		      if (data['responseText'] == 'auth')
			{
			
			if (code && code == 'form') {
			  if ($('#form-partner-login-window') && $('#form-partner-login-window').attr('id'))
			    {
			    if (exit && exit != '') $('#form-partner-login-window').attr('action','/partners/'+exit);
			    else $('#form-partner-login-window').attr('action','/partners/reports?auth');
			    $('#form-partner-login-window').submit();
			    }
			  else
			    {
			    if (exit && exit != '') location.href = '/partners/'+exit;
			    else location.href = '/partners/reports?auth';
			    }
			} else {
			  if ($('#form-partner-login') && $('#form-partner-login').attr('id'))
			    {
			    if (exit && exit != '') $('#form-partner-login').attr('action','/partners/'+exit);
			    else $('#form-partner-login').attr('action','/partners/reports?auth');
			    $('#form-partner-login').submit();
			    }
			  else
			    {
			    if (exit && exit != '') location.href = '/partners/'+exit;
			    else location.href = '/partners/reports?auth';
			    }
			}
			}
		      else
			{
			if (code && code == 'form') setFieldError('form-pass','неверный пароль');
			else setFieldError('pass','неверный пароль');
			}
		      }
	    });
    }
  }

function savePartnerProfile() {
  var pass = $('#pass').val();
  
  if (pass.length > 0 && pass.length < 6)
    {
    setFieldError('pass','Не менее 6 символов');
    }
  else
    {
    pass = encodeURIComponent($('#pass').val());
    var wmr = encodeURIComponent($('#wmr').val());
    var ydx = encodeURIComponent($('#ydx').val());
    
    $.ajax({type: 'post',
          url:  '/custom/modules/shop/db_site.php',
	  data: 'option=save_partner_profile&wmr='+wmr+'&pass='+pass+'&ydx='+ydx,
	  complete: function (data) {
	      var status = '';
	      if (data['responseText'] != '') status+= data['responseText'];
	      if (pass.length > 0)
		{
		if (status != '')
		  {
		  status+= '<br/>';
		  $('#status-msg').css('margin-top','3px');
		  }
		else $('#status-msg').css('margin-top','9px');
		status+= 'Ваш пароль успешно обновлен';
		
		}
	      
	      if (status != '') $('#status-msg').html(status);
	      else location.href = '/partners/profile';
	      }
	});
    }
  }

function partnerForgotPass() {
  $('#forgotPassMsg').hide();
  
  // проверка email
  var error_mail = getError('mail');
  if (error_mail != '') setFieldError('mail',error_mail);
  else                  setFieldOk('mail');
  
  // если ошибок нет, отправляем запрос серверу
  if (error_mail == ''){
      var mail = encodeURIComponent($('#mail').val());
      
      $.ajax({type: 'post',
	      url:  '/custom/modules/shop/db_site.php',
	      data: 'option=partner_forgot_pass&mail='+mail,
	      complete: function (data) {
		if (data['responseText'] != 'fail') $('#forgotPassMsg').show().html('Пароль отправлен на указанную почту');
		else $('#forgotPassMsg').show().html('Данный email не зарегистрирован');
		}
	      });
  }
}

function partnerGetMoney() {
  $('#error-msg').hide();
  
  var error = '';
  
  var sum = parseInt($('#sum').val());
  if (!sum || sum == '') error = 'Введите сумму, которую хотите снять';
  if (sum > 0 && sum < 1000) error = 'Минимальная сумма выплаты: 1000 рублей';
  
  var payment = '';
  if (error == '') {
    if ($('#radio1:checked').attr('id')) payment = 'wmr';
    else
      {
      if ($('#radio2:checked').attr('id')) payment = 'ydx';
      else error = 'Выберите способ вывода денег';
      }
  }
  
  // если ошибок нет, отправляем запрос серверу
  if (error == ''){
      $.ajax({type: 'post',
	      url:  '/custom/modules/shop/db_site.php',
	      data: 'option=partner_get_money&sum='+sum+'&payment='+payment,
	      complete: function (data) {
		if (data['responseText'] != '') $('#error-msg').show().html(data['responseText']);
		else $('#error-msg').show().html('Ваша заявка принята');
		}
	      });
  } else {
    $('#error-msg').show().html(error);
  }
}

function setBlogPartnersSubscribe() {
  
  $('#blog_subscribe').attr('disable','disable');
  
  if ($('#blog_subscribe:checked').attr('id'))
    var subscribe = 1;
  else
    var subscribe = 0;
  
  $.ajax({type: 'post',
	  url:  '/custom/modules/blog_partners/db.php',
	  data: 'option=subscribe&subscribe='+subscribe,
	  complete: function (data) {
	    if (data['responseText'] == '')
	      {
	      if (subscribe == 1) $('#status_subscribe_msg').show().html('Новые комментарии, а также новые посты, будут приходить вам на почту');
	      else $('#status_subscribe_msg').show().html('Комментарии больше не будут приходить вам на почту');
	      }
	    else
	      $('#status_subscribe_msg').show().html(data['responseText']);
	    
	    $('#blog_subscribe').removeAttr('disable');
	    }
	  });
}
