fieldsTypesMap = {
	site: 'site_address',
	email: 'email',
	password: 'password'
};

function onInputClick(event) {
	var obj = event.target;
	if ($(obj).val() == $(obj).attr('defaultValue')) {
		$(obj).val('');
	}
}

function onInputBlur(event) {
	var obj = event.target;
	if ($(obj).val() == '') {
		var dv = $(obj).attr('defaultValue');
		$(obj).val(dv);
	}
}

function onInputKeypress(event) {
	var obj = event.target;
	$(obj).attr('defaultValue', '');
}

function onRbClick() {
	$(".cm_label").each(function (i) {
		var for_id = $(this).attr('for');
		if ($("#" + for_id).attr('checked')) {
			$(this).addClass('highlited');
		} else {
			$(this).removeClass('highlited');
		}
   	});
}

function setCookie(name, value, expires, path, domain, secure) {
  if (!name || !value) return false;
  var str = name + '=' + encodeURIComponent(value);
  if (expires) str += '; expires=' + expires.toGMTString();
  if (path)    str += '; path=' + path;
  if (domain)  str += '; domain=' + domain;
  if (secure)  str += '; secure';
  document.cookie = str;
  return true;
}

function getCookie(name) {
  var pattern = "(?:; )?" + name + "=([^;]*);?";
  var regexp  = new RegExp(pattern);
  if (regexp.test(document.cookie))
  return decodeURIComponent(RegExp["$1"]);
  return false;
}

function deleteCookie(name, path, domain) {
  setCookie(name, null, new Date(0), path, domain);
  return true;
}

function foldDiv(event) {
	var f = 1;
	if (getCookie('folded') != 1)
		f = 2;
	if (typeof(event['wo_toggle']) == 'undefined') {
		//переключить состояние
		$("div.folded").toggle(300);
		//сохранить состояние
		setCookie('folded', 3 - f, null, null, null, null);
	} else {
		//получить состояние из куков
		if (f == 2)
			$("div.folded").toggle();
	}
}

jQuery(document).ready(function(){
	$("#email").click(onInputClick);
	$("#email").blur(onInputBlur);
	$("#email").keypress(onInputKeypress);
	$("#password").click(onInputClick);
	$("#password").blur(onInputBlur);
	$("#password").keypress(onInputKeypress);
	$("#site_address").click(function() {
		if ($(this).val() == $(this).attr('defaultValue')) {
			$(this).val('http://');
		}
	});
	$("#reg_form").submit(function(event) {
		if ($("#is_form_checked").val() == 0) {
			$("#error_message").text('проверка данных...');
			//запретить отправку, если форма не проверена
			event.preventDefault();
			//проверить все 3 поля
			var fields = new Object;
			for (var fieldName in fieldsTypesMap) {
				fields[fieldName] = $("#" + fieldsTypesMap[fieldName]).val();
			}
			jQuery.getJSON('input_checking.php', fields, function(data) {
				$("#error_message").text('идёт регистрация...');
				if (data.isCorrect) {
					$("#is_form_checked").val(1);
					$("#reg_form").submit();
				} else {
					$("#error_message").text('данные заполнены некорректно');
					for (var f in data) {
						var inputsId = fieldsTypesMap[f];
						if (typeof(inputsId) != 'undefined') {
							var chObj = $("#" + inputsId);
								if (data[f]) {
									chObj.removeClass('warning');
								} else {
									chObj.addClass('warning');
							}
						}
					}
				}
			});
        }
	});
	$("input.bg_highlited").click(onRbClick);
	onRbClick();
	$("div.fold").click(foldDiv);
	if (getCookie('folded') != 1)
		foldDiv({'wo_toggle': 1});

  var sb = $("#slides_container");
  $("#slider_box").slideDown();
  $("#right_arrow").click(function(event) {
    var slide = $(".slide:first");
    var slideWidth = slide.width();
    slide.animate({
        'margin-left': '-' + slideWidth + 'px',
      }, 500, function() {
        var x = $(this).detach();
        x.css('margin-left', '8px');
        x.appendTo($("#slides_container"));
    });
  });
  $("#left_arrow").click(function(event) {
    var slide = $(".slide:last");
    var slideWidth = slide.width();
    var x = slide.detach();
    x.css('margin-left', '-' + slideWidth + 'px');
    x.prependTo($("#slides_container"));
    slide.animate({
        'margin-left': '8px',
      }, 500
    );
  });

  bodyload();
});

