 /* 2009 (C) Eugene Krivoruchko */
 /* FlipFlip.Ru */
 /* eugene@krivoruchko.info */

 var commentParentID = 0;
 var background = '';
 
 rbOpen(false);

 function removeBasket() {
  $('#basket a.delete').click(function() {
   var id = $(this).attr('rel');

   $.post("/include/basket.php", {delete_id: id, url: document.URL}, function(data){
    $('#basket').html(data);
    removeBasket();
    reserv();
   });

   return false;
  });  
 }
 
 function reserv() {
  $('#basket a.reserve').click(function() {
   Boxy.load("/html/dostavka.phtml", {modal: true, title: language.n});
   return false;
  });
 }

 function sifr() {
	if(typeof sIFR == "function"){
		sIFR.replaceElement(named({sSelector:"h1.sifr", sWmode:"transparent", sFlashSrc:"/files/swf/sifr.swf", sColor:"#ffffff", sLinkColor: null, sBgColor:null, sHoverColor: null, nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=right"}));
		sIFR.replaceElement(named({sSelector:"h3.sifr", sWmode:"transparent", sFlashSrc:"/files/swf/sifr.swf", sColor:"#ffffff", sLinkColor: null, sBgColor:null, sHoverColor: null, nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=right"}));
		sIFR.replaceElement(named({sSelector:"h1.sifr-2", sWmode:"transparent", sFlashSrc:"/files/swf/sifr.swf", sColor:"#ffffff", sLinkColor: null, sBgColor:null, sHoverColor: null, nPaddingTop:0, nPaddingBottom:0, sFlashVars:""}));
		sIFR.replaceElement(named({sSelector:"h3.sifr-2", sWmode:"transparent", sFlashSrc:"/files/swf/sifr.swf", sColor:"#ffffff", sLinkColor: null, sBgColor:null, sHoverColor: null, nPaddingTop:0, nPaddingBottom:0, sFlashVars:""}));
	};
 }


$(document).ready(function() {

	/* SUGGEST */
	
	$("#suggest").suggest(
		"/include/suggest.php",
		{
			onSelect: function() {
				//alert("You selected: " + this.value)
			}
		}
	);

 	/* ICON MENU */
 	
 	$('#categories-icons a').click(function() {
 		if (!$(this).hasClass('select') || $('#' + $(this).parent().attr('class')).css('display') == 'none') {
 			$('#catalog-inner').show();
 			
 			$('#' + $('#categories-icons a.select').removeClass('select').parent().attr('class')).hide();
 			
 			$('#' + $(this).addClass('select').parent().attr('class')).show();
 	
 			return false;
 		}
 		else {
 			return true;
 		}
 	});
 

	$('#categories-js ul.two-colums li.colum-1 a').click(function() {
		if (!$(this).parent().hasClass('select') && $(this).attr('name') != '') {
			
			$('#' + $(this).parent().parent().find('li.select').removeClass('select').find('a').attr('name')).hide();

			$('#' + $(this).parent().addClass('select').find('a').attr('name')).show();
		
		
			return false;
		}
		else {
			return true;
		}
	});

	sifr();

  /* В корзину */
  
  $('#tocard, a.tocard').click(function() {
   var id = $(this).attr('rel');
   $.post("/include/basket.php", {id: id, url: document.URL}, function(data){
    $('#basket').html(data);
    removeBasket();
    reserv();
   });

   return false;  
  });

  /* Из корзины */
  
  removeBasket();
  reserv();
  
  simple_tooltip("a.tooltip", "tooltip");
  
  $('#a-complect').click(function() {
   $('#complect').slideToggle('slow');
   return false;
  });

  $('.item-list p.discount, a.discount').click(function() {
   Boxy.load("/html/discount.html", {modal: true, title: language.m});
   return false;
  });

  
  $('#logout').click(function() {
   location.href = '/include/logout.php';
   return false;
  });

  $('#login').click(function() {
   Boxy.load("/html/login.html", {modal: true, title: language.h});
   return false;
  });
  
  $('#registration, a.registration').click(function() {
   Boxy.load("/html/registration.html", {modal: true, title: language.k});
   return false;
  });
 
  $('.fo').flyout();
  
  $('a').each(function() {
   if ($(this).attr('image')) $(this).thumbPopup();
  });

  $('.alert').click(function() {
    Boxy.alert(language.j, null, {title: language.j});
    return false;
  });


  if (jQuery.browser.msie && jQuery.browser.version == 6) {
  } else {
   // rbClose('/images/background_body.jpg');

   if (!background) {
   	background = '/images/bg_newyear.jpg';
   }
   
   var html = '<div style="overflow: hidden; width: 1px; height: 1px;"><img src="' + background + '" onload="initBG();" /></div>';
   $('body').after(html);
  }
  
  //if ($(window).height() > $('.body').height()) $('.body').height($(window).height() - 24);
  
  /* Клики по основным пунктам */
  
  $('#main-page').each(function() {
   var obj = this;
   $(this).find('h2 a').click(function() {
    if ($('#legend').css('display') != 'none') $('#legend').hide().css('display', 'none');

    var c = $(this).attr('name');
   
    if ($('#' + c).css('display') != 'block') {
     $('#main-page').find('div.slide').each(function() {
      $(this).hide();
     });

     $('#' + c).show().css('display', 'block');
     return false;
    } else return true;
   });
  });
  
  $('.catalog #game-type').click(function() {
   $('.main-game-type-inner').each(function() {
    if ($(this).css('display') == 'none') {
     $(this).slideDown('slow', function() { $(this).css('display', 'block'); });

     $.cookie("game-type-hidden", false);
    } else {
     $(this).slideUp('slow', function() { $(this).css('display', 'none'); });

     $.cookie("game-type-hidden", true);
    }
   
   });
   return false;
  });
  
  /* Наведение на меню */

  $('.top-menu li').each(function() {
   if (!$(this).hasClass('select')) {
    $(this).mouseover(function() { $(this).addClass('select'); })
    $(this).mouseout(function() { $(this).removeClass('select'); })
   }
  });

  $('#submenu li').each(function() {
   if (!$(this).hasClass('select')) {
    $(this).mouseover(function() { $(this).addClass('select'); })
    $(this).mouseout(function() { $(this).removeClass('select'); })
   }
  });

  /* Комментарии */

  $('a.addcommentary').click(function() {
   $('.commentary-layer li form').slideUp('slow');
   commentParentID = 0;
   $('.add-commentary form').slideToggle('slow');
   return false;
  });

  $('.add-commentary form').submit(function() {
   addComment(this);
   return false;
  });
  
  $('.add-subcommentary').click(function() {
   var id = $(this).parent().parent().parent().parent().find("a").attr('name').replace('comment-','');
   if (commentParentID != id) {
    commentParentID = id;
    $('.add-commentary form').slideUp('slow');
    $('.commentary-layer ul li form').remove();

    //$('div.add-commentary form').clone().insertAfter($('.body')).css('display', 'none').slideDown('slow');
    
    $('div.add-commentary div.padding-minus form').clone().insertAfter($(this).parent().parent()).slideDown('slow');
    $(this).parent().parent().parent().find("input[name='parent_id']").val(id);

    var html = ($('div.add-commentary form').html());
    if ($('.commentary-layer li form').html() == '') $('.commentary-layer li form').html(html);

    $('.commentary-layer li form').submit(function() {
     addComment(this);
     return false;
    });
   }
   return false;
  });

 });
 
	function initBG() {
		rbClose(background);
		
		$(window).resize(function() { rbResize(); });
		$(window).each(function() { rbInit(); });
	}

 /* Добавить комментарии */

 function addComment(obj) {
  $(obj).find('input[type=submit]').attr('disabled', 'disabled');
  $.post("/include/add.commentary.php", { id: obj.id.value, parent_id: obj.parent_id.value, description: obj.description.value }, function(data){
   if (data == '0') alert(language.ar);
   if (data == '1') alert(language.aq);
   if (data == '2') {
    alert(language.ap);
    var url = document.URL;
    if (url.indexOf('#') > 0) url = url.substr(0, url.indexOf('#'));
    location.href = url + '#comment-' + obj.parent_id.value;
    if (obj.parent_id.value > 0) $('.commentary-layer li form').slideUp('slow');
    else $('.add-commentary form').slideUp('slow');
    location.reload();
   }
   $(obj).find('input[type=submit]').attr('disabled', '');
  });
  return false;
 }
 
 function deleteCommentary(id) {
  $.post("/include/delete.commentary.php", { id: id }, function(data){
   if (data == 2) { alert('Комментарий удален!'); location.reload(); }
   if (data == 0) alert(language.a);
   if (data == 1) alert(language.a);
  });
 }

 /* Получение данных формы */

 function getFormData(obj) {
  var params = {};
  $(obj)
  .find("input[checked], input[type='text'], input[type='hidden'], input[type='password'], input[type='submit'], option[selected], textarea")
  .each(function() {
    params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
  });
  return params;
 }
 
 /* Регистрация */

 function submitRegistration(obj) {
  $(obj).find('input[type=image]').attr('disabled', 'disabled');
  var params = getFormData(obj);

  $.post("/include/ajax.registration.php", params, function(data){
   if (data == '0') alert(language.a);
   if (data == '1') alert(language.b);
   if (data == '2') alert(language.c);
   if (data == '3') alert(language.d);
   if (data == '5') { alert(language.f); Boxy.get(obj).hide(); }
   if (data == '4') {
    alert(language.e);
    Boxy.get(obj).hide();
   }
 
   $(obj).find('input[type=image]').attr('disabled', '');
   $(obj).find('img').each(function() { updateImage(this); });
  });  
 
  return false;
 }

 /* Восстановление пароля */

 function submitRemember(obj) {
  $(obj).find('input[type=image]').attr('disabled', 'disabled');
  var params = getFormData(obj);

  $.post("/include/ajax.remember.php", params, function(data){
   if (data == '0') alert(language.a);
   if (data == '1') alert(language.b);
   if (data == '2') alert(language.c);
   if (data == '3') alert(language.g);
   if (data == '4') {
    alert(language.o);
    Boxy.get(obj).hide();
   }
 
   $(obj).find('input[type=image]').attr('disabled', '');
   $(obj).find('img').each(function() { updateImage(this); });
  });  
 
  return false;
 }

 /* Восстановление пароля */

 function submitSignin(obj) {
  $(obj).find('input[type=image]').attr('disabled', 'disabled');
  var params = getFormData(obj);
  
  $.post("/include/ajax.signin.php", params, function(data){
   if (data == '0') alert(language.a);
   if (data == '1') alert(language.c);
   if (data == '2') alert(language.p);
   if (data == '3') { alert(language.q); Boxy.get(obj).hide(); location.href = '/'; };
 
   $(obj).find('input[type=image]').attr('disabled', '');
  });  
 
  return false;
 }
 
 function checkLegend() {
  $('div.legend').each(function() {
   if ($(this).css('display') != 'none') $(this).slideUp('slow'); 
  })
 }

 function changeBox(obj, fun) {
  Boxy.get(obj).hide();
  eval(fun + '();');
  return false;
 } 

 function loginAccount(id) { Boxy.load("/html/login.html", {modal: true, title: language.h}); return false; }
 function registrationAccount(id) { Boxy.load("/html/registration.html", {modal: true, title: language.k}); return false; }
 function rememberAccount(id) { Boxy.load("/html/remember.html", {modal: true, title: language.l}); return false; }

 /* Tooltip */
 
 function simple_tooltip(target_items, name){
  $(target_items).each(function(i){
   var title = $(this).attr('title');
   $(this).find('img').removeAttr("alt");
   
   $("body").append('<div class="' + name + '" id="' + name + i + '"><div class="tooltip-top"></div><div class="tooltip-inner">' + title + '</div><div class="tooltip-bottom"></div></div>');
   var my_tooltip = $("#"+name+i);
   $(this).attr('elem', i).removeAttr("title").mouseover(function(){ $('div.' + name).hide(); my_tooltip.fadeIn(300); }).mousemove(function(kmouse){ my_tooltip.css({left:kmouse.pageX+15, top:kmouse.pageY+15}); }).mouseout(function(){ my_tooltip.fadeOut(300); });
  });
 }
 
 var language = {
  ap: 'Ваш комментарий добавлен',
  aq: 'Введено слишком короткое сообщение',
  ar: 'Добавлять комментарии могут только авторизированные пользователи',

  j: 'Временно недоступно',
  k: 'Регистрация на сайте',
  l: 'Восстановление пароля',
  m: 'Наши скидки',
  n: 'Оформление заказа',
  h: 'Авторизация на сайте',
  i: 'Логин на форуме не обновлен. Возможно данный логин уже существует или введен неверно',

  a: 'Ошибка передачи данных',
  b: 'Код на картинке не совпадает',
  c: 'Введен неверный емайл',
  d: 'Заполнены не все поля',
  e: 'Вы успешно зарегистрированы на сайте!',
  f: 'Вы ранее регистрировались на сайте! Попробуйте восстановить пароль!',

  g: 'Данный пользователь не найден',
  o: 'Пароль отправлен на емаил',
  p: 'Связка логин и пароль не найдена',
  q: 'Вы успешно авторизированы на сайте',
  r: 'Ваша корзина пустая',
  s: '',
  t: 'Редактирование профиля',
  u: 'Ошибка авторизации на сайте',
  w: 'Ваш профиль обновлен',
  x: 'Комплектность игры'
 };
 
 function submitEditprofile(obj) {
  $(obj).find('input[type=image]').attr('disabled', 'disabled');
  var params = getFormData(obj);
  
  $.post("/include/ajax.edit.php", params, function(data){
  
   if (data == '0') alert(language.a);
   if (data == '1') alert(language.u);
   if (data == '2') alert(language.w);
   if (data == '3') alert(language.i);
  
   $(obj).find('input[type=image]').attr('disabled', '');
  });  
 
  return false;
 }
 
 function profileView() {
  Boxy.load("/html/profile.phtml", {modal: true, title: language.t});
  return false; 
 }

 function avatarAccount() {
  Boxy.load("/html/avatar.phtml", {modal: true, title: language.t});
  return false; 
 }
 
 function showSets(id) {
  Boxy.load("/html/sets.phtml?id=" + id, {modal: true, title: language.x});
  return false; 
 }
 
 function submitOrder(obj) {
  $(obj).find('input[type=image]').attr('disabled', 'disabled');
  var params = getFormData(obj);
  
  $.post("/include/ajax.order.php", params, function(data){
   
   if (data == '-1') alert(language.a);
   if (data == '-2') alert(language.b);
   if (data == '-3') alert(language.c);
   if (data == '-4') alert(language.d);
   if (data == '-5') { alert(language.r); Boxy.get(obj).hide(); }
   if (data > 0) {
   		
		alert('Заказ №' + data + ' принят! С вами свяжется наш менеджер!'); Boxy.get(obj).hide(); location.reload(); 
   }
 
   $(obj).find('input[type=image]').attr('disabled', '');
   $(obj).find('img').each(function() { updateImage(this); });
  });  
 
  return false;
 }
 
 function checkEqual(obj, elem) {
  if (obj.value != $('#' + elem).val()) {
   obj.style.background = '#2f1b1b';
   $('#' + elem).css('background', '#2f1b1b');
   return false;
  }
  else {
   obj.style.background = '#cfc';
   $('#' + elem).css('background', '#183418');
   return true;
  }
 }
 
 
 function updateImage(obj) {
  var src = obj.src;
  if (src.indexOf('?') > 0) src = src.substr(0, src.indexOf('?'));
  obj.src = src + "?r=" + Math.random();
 }

 /* Проверка форм */
 
 function checkCapcha(obj) {
  if (obj.value > 999 && obj.value <= 9999)	{
   obj.style.background = '#183418';
   return true;
  }
  else {
   obj.style.background = '#2f1b1b';
   return false;
  }
 }
 
 function checkEmail(obj) {
  if (!filterEmail.test(obj.value)) {
   obj.style.background = '#2f1b1b';
   return false;
  }
  else {
   obj.style.background = '#183418';
   return true;
  }
 }

 function checkLogin(obj) {
  var hasDigits = false;
  var hasLowerLettersRus = false;
  var hasUpperLettersRus = false;
  var hasOtherSingsLogin = false;

  var val = obj.value;

  for(i = 0; i < val.length; i++) {
   hasDigits |= digits.indexOf(val.charAt(i)) >= 0;
   hasLowerLettersRus |= lowerLettersRus.indexOf(val.charAt(i)) >= 0;
   hasUpperLettersRus |= upperLettersRus.indexOf(val.charAt(i)) >= 0;
   hasOtherSingsLogin |= otherSingsLogin.indexOf(val.charAt(i)) >= 0;
  }

  var u = (hasLowerLettersRus? 1: 0) + (hasUpperLettersRus? 1: 0) + (hasOtherSingsLogin? 1: 0);

  if (u > 0 || val.length < 3 || val.length > 20) {
   obj.style.background = '#2f1b1b';
   return false;
  }
  else {
   obj.style.background = '#183418';
   return true;
  }
 }

 function checkPassword(obj) {
  var password = $(obj).val();

  var hasDigits = false;
  var hasLowerLettersEng = false;
  var hasUpperLettersEng = false;
  var hasLowerLettersRus = false;
  var hasUpperLettersRus = false;
  var hasOtherSigns = false;

  for(i = 0; i < password.length; i++) {
   hasDigits |= digits.indexOf(password.charAt(i)) >= 0;
   hasLowerLettersEng |= lowerLettersEng.indexOf(password.charAt(i)) >= 0;
   hasUpperLettersEng |= upperLettersEng.indexOf(password.charAt(i)) >= 0;
   hasLowerLettersRus |= lowerLettersRus.indexOf(password.charAt(i)) >= 0;
   hasUpperLettersRus |= upperLettersRus.indexOf(password.charAt(i)) >= 0;
   hasOtherSigns |= otherSigns.indexOf(password.charAt(i)) >= 0;
  }

  var m =
   (hasDigits? 10: 0) +
   (hasLowerLettersEng? 26: 0) +
   (hasUpperLettersEng? 26: 0);

  var u =
   (hasLowerLettersRus? 1: 0) +
   (hasUpperLettersRus? 1: 0) +
   (hasOtherSigns? 1: 0);

  var R = Math.pow(m, password.length);
  var intScore = Math.log(R);

  if (u > 0) {
   strVerdict = 0;
  }
  else
  if (intScore < 5 || password.length < 4) {
   strVerdict = 1;
  }
  else
   if (intScore < 16)
    strVerdict = 2;
   else
    if (intScore < 25)
     strVerdict = 3;
    else
     if (intScore < 35)
      strVerdict = 4;
     else
      if (intScore < 45)
       strVerdict = 5;
      else
       strVerdict = 6;
  $('#message').html('<p>&nbsp;</p>' + passDesc[strVerdict]);
  if (strVerdict > 1) return true;
  else return false;
 }
 
 var filterEmail  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
 var digits = "0123456789";
 var lowerLettersEng = "abcdefghijklmopqrstuvwxyz";
 var upperLettersEng = "ABCDEFGHIJKLMOPQRSTUVWXYZ";
 var otherSingsLogin = "~`!@#$%^&*+=|\\/()[]{}<>,.;:?\"\'";
 var lowerLettersRus = "ячсмитьбюэждлорпавыфйцукенгшщзхъё";
 var upperLettersRus = "ЯЧСМИТЬБЮЭЖДЛОРПАВЫФЙЦУКЕНГШЩЗХЪЁ";
 var otherSigns = "~`!@#$%^&*+-=_|\\/()[]{}<>,.;:?\"\'";

 var passWidth = 254;
 var passHeight = 4;
 var passLabel = new Array('недопустимые символы', 'слишком короткий', 'слабенький', 'слабый', 'нормальный', 'сложный', 'очень сложный');
 var passRation = passWidth / (passLabel.length - 2);

 var passDesc = new Array();
 passDesc[0] = '<p><small><b>'+passLabel[0]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"></div>';
 passDesc[1] = '<p><small><b>'+passLabel[1]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"></div>';
 passDesc[2] = '<p><small><b>'+passLabel[2]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"><div style="width: '+(passRation * 1)+'px; height: '+passHeight+'px; background: #c00;"></div></div>';
 passDesc[3] = '<p><small><b>'+passLabel[3]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"><div style="width: '+(passRation * 2)+'px; height: '+passHeight+'px; background: #f69;"></div></div>';
 passDesc[4] = '<p><small><b>'+passLabel[4]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"><div style="width: '+(passRation * 3)+'px; height: '+passHeight+'px; background: #9fc;"></div></div>';
 passDesc[5] = '<p><small><b>'+passLabel[5]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"><div style="width: '+(passRation * 4)+'px; height: '+passHeight+'px; background: #9f9;"></div></div>';
 passDesc[6] = '<p><small><b>'+passLabel[6]+'</b></small></p><div style="width: '+passWidth+'px; height: '+passHeight+'px; background: #ccc;"><div style="width: '+(passRation * 5)+'px; height: '+passHeight+'px; background: #093;"></div>';
 