// refresh captcha
function ch_crypt()
  {
  document.images.cryptogram.src="crypt/cryptographp.php?cfg=0&"+Math.round(Math.random(0)*1000)+1;
  }


// setting elm bottom to bottom - only for ie6
function correct_bottom_pos(elm, parent, bottom)
{
	if ($.browser.msie && $.browser.version <= 6)
	{
		var h = parent.height();
		var bb = (!isNaN(parseInt(parent.css("paddingBottom")))) ? parseInt(parent.css("paddingBottom")) : 0;
		var bt = (!isNaN(parseInt(parent.css("paddingTop")))) ? parseInt(parent.css("paddingTop")) : 0;
		elm.css({top: h + bb + bt + bottom});
	}
	return;
}
// setting footer to bottom - only for ie6
function correct_footer_pos()
{
	if ($.browser.msie && $.browser.version <= 6)
	{
		var doc_h = $(body).height();
		var f_h = $("#footer").height();
		$("#footer").css({top: doc_h - f_h});
	}
	return;
}
// setting blck list height
function set_blck_list()
{
	var h_chap = $("#qa .chapter").height();
	var h_list = $("#qa .list").height();
	var tot = h_chap + h_list + 20 + 15;
	if (360 - tot <= 60)
	{
		$("#qa .list").height(h_list - (tot - 300));
	}
	else
	{
		var h = h_list - (tot - 300);
		if (h > 220)
		{
			h = 220;
		}
		$("#qa .list").height(h);
	}
	return;
}
// correcting m_top lis
function set_m_top()
{
	$("#m_top").css({visibility: "hidden"});
	var w = $("#m_top .menu").width();
	var lis = $("#m_top .menu>li").length;
	var li_w = 0;
	$("#m_top .menu>li").each(function()
		{
			li_w += $(this).width();
		}
	);
	var margin = Math.floor((w - li_w - 2) / (lis - 1));
	$("#m_top .menu>li").each(function()
		{
			if (!$(this).is(":last-child"))
			{
				$(this).css({marginRight: margin});
			}
		}
	);
	$("#m_top").css({visibility: "visible"});
	return;
}
// setting vertical align
function set_vertical_align(elm)
{
	var elm_h = elm.height();
	elm.css({marginTop: "10px", top: "0px"});
	return;
}
// input or textarea hints toggle
function toggle_form_hint(elm, text)
{
	elm.bind("focus", function()
	{
		$(this).addClass("hover");
		if ($(this).parents(".error").length == 1)
		{
			$(this).parents(".error").removeClass("error");
		}
		if ($(this).val() == text)
		{
			$(this).val('');
		}
	}
	);
	elm.bind("blur", function()
	{
		if ($(this).val() == '')
		{
			$(this).val(text);
			$(this).removeClass("hover");
		}
	}
	);
	return;
}
//
$(document).ready(function(){




	$(".iepng").ifixpng();
	// set icons menu vertical
	$("#m_icons .icon img").each(function()
		{
			set_vertical_align($(this));
		}
	);
	// chapter balloon - index
	$("#qa .chapter img").hover(
		function()
		{
			var off = $(this).position();
			var parent = $(this).parents(".blck");
			$(".balloon", parent).css({left: off.left + 194, top: off.top - 120}).show();
		},
		function()
		{
			var parent = $(this).parents(".blck");
			$(".balloon", parent).hide();
		}
	);
	// calendar day hover
	$(".calendar input").hover(
		function()
		{
			$(this).addClass("h");
		},
		function()
		{
			$(this).removeClass("h");
		}
	);
	// videos
	$(".videos .title a").bind("click", function(e)
		{
			e.preventDefault();
			var parent = $(this).parents("li");
			if (!parent.hasClass("a"))
			{
				$(".videos .a").removeClass("a");
				parent.addClass("a");
			}
			var cont_css = {height: 390, width: 441};
			$(".video", parent).modal({overlayClose: true, containerCss: cont_css});
		}
	);
	// invoke ww_qa
	$(".df_b3_5 a").bind("click", function(e)
		{
			e.preventDefault();
			var cont_css = {height: 450, width: 501};
			$("#ww_qa").modal({overlayClose: true, containerCss: cont_css});
			ch_crypt();
		}
	);
	$("#m_service .feedback a").bind("click", function(e)
		{
			e.preventDefault();
			var cont_css = {height: 450, width: 501};
			$("#ww_qa").modal({overlayClose: true, containerCss: cont_css});
		}
	);
	// checking question form - ww_qa
	$("#ww_qa :submit").bind("click", function(e)
		{
			var form = $("#ww_qa");
			var frms = {
			frm_fio: $("#frm_fio"),
			frm_phone: $("#frm_phone"),
			frm_address: $("#frm_address"),
			frm_text: $("#frm_text"),
      frm_code: $("#frm_code")			
			};
			var errors = new Array();
			e.preventDefault();
			$.each(frms, function(field, input)
				{
					var val = '';
					switch (field)
					{
						case 'frm_fio':
							val = (input.val() != 'Ф. И. О.') ? input.val() : '';
						break;
						case 'frm_phone':
							val = (input.val() != 'Телефон') ? input.val() : '';
						break;
						case 'frm_address':
							val = (input.val() != 'Адрес') ? input.val() : '';
						break;
						case 'frm_text':
							val = (input.val() != 'Текст') ? input.val() : '';
						break;
						case 'frm_code':
							val = (input.val() != 'Текст с изображения') ? input.val() : '';
						break;
						default:
							val = input.val();
					}
					if (val == '')
					{
						input.parents("li").addClass("error");
						errors.push(field);
					}
					else if (field == "frm_email" && !/^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9-_])+\.([a-z0-9]{2,4})$/.test(val))
					{
						input.parents("li").addClass("error");
						errors.push(field);
					}
					else
					{
						input.parents("li").removeClass("error");
					}
				}
			);
			if (errors.length == 0)
			{
//////////////////////////////////////////			
      var req = new JsHttpRequest();
      req.onreadystatechange = function() 
        {
        if (req.readyState == 4) 
          {
          var answer = req.responseText;
          var json=jQuery.parseJSON(answer);
						if (json.errors == 0)
						{
							$(".wrap_m", form).hide();
							$(".wrap_ok", form).show();
							setTimeout(function()
								{
									$.modal.close();
								}, 2000);
							$.each($(":input", form), function()
								{
									$(this).val('');
								}
							);
							$.each($("select", form), function()
								{
									$(":selected", $(this)).attr({selected: false});
								}
							);
						}
						else
						{
							$.each($("li", form), function()
								{
									$(this).removeClass("error");
								}
							);
							$.each(json.errors, function(num, field)
								{
									$("#"+field).parents("li").addClass("error");
								}
							);
						}          
          }
        }
      req.open(null, 'js_qa.php', true);
      req.send({frm_fio: $('#frm_fio').val(), frm_address: $('#frm_address').val(), frm_phone: $('#frm_phone').val(), frm_text: $('#frm_text').val(), frm_code: $('#frm_code').val()});
//////////////////////////////////////////			
			}
		}
	);
	// close ww_qa
	$("#ww_qa .wrap_ok .btn a").bind("click", function(e)
		{
			e.preventDefault();
			$.modal.close();
		}
	);
	// checking question form - qa page
	$(".question :submit").bind("click", function(e)
		{
			var form = $(this).parents(".question");
			var frms = {
			frm_fio: $("#frm_fio"),
			frm_phone: $("#frm_phone"),
			frm_address: $("#frm_address"),
			frm_text: $("#frm_text"),
			frm_code: $("#frm_code")			
			};
			var errors = new Array();
			e.preventDefault();
			$.each(frms, function(field, input)
				{
					var val = '';
					switch (field)
					{
						case 'frm_fio':
							val = (input.val() != 'Ф. И. О.') ? input.val() : '';
						break;
						case 'frm_phone':
							val = (input.val() != 'Телефон') ? input.val() : '';
						break;
						case 'frm_address':
							val = (input.val() != 'Адрес') ? input.val() : '';
						break;
						case 'frm_text':
							val = (input.val() != 'Текст') ? input.val() : '';
						break;
						case 'frm_code':
							val = (input.val() != 'Текст с изображения') ? input.val() : '';
						break;
						default:
							val = input.val();
					}
					if (val == '')
					{
						input.parents("li").addClass("error");
						errors.push(field);
					}
					else if (field == "frm_email" && !/^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9-_])+\.([a-z0-9]{2,4})$/.test(val))
					{
						input.parents("li").addClass("error");
						errors.push(field);
					}
					else
					{
						input.parents("li").removeClass("error");
					}
				}
			);
			if (errors.length == 0)
			{
//////////////////////////////////////////			
      var req = new JsHttpRequest();
      req.onreadystatechange = function() 
        {
        if (req.readyState == 4) 
          {
          var answer = req.responseText;
          var json=jQuery.parseJSON(answer);
						if (json.errors == 0)
						{
							$(".wrap_m", form).hide();
							$(".wrap_ok", form).show();
							setTimeout(function()
								{
									$.modal.close();
								}, 2000);
							$.each($(":input", form), function()
								{
									$(this).val('');
								}
							);
							$.each($("select", form), function()
								{
									$(":selected", $(this)).attr({selected: false});
								}
							);
						}
						else
						{
							$.each($("li", form), function()
								{
									$(this).removeClass("error");
								}
							);
							$.each(json.errors, function(num, field)
								{
									$("#"+field).parents("li").addClass("error");
								}
							);
						}          
          }
        }
      req.open(null, 'js_qa.php', true);
      req.send({frm_fio: $('#frm_fio').val(), frm_address: $('#frm_address').val(), frm_phone: $('#frm_phone').val(), frm_text: $('#frm_text').val(), frm_code: $('#frm_code').val()});
//////////////////////////////////////////
			}
		}
	);
	// top sub menu
	$("#m_top .subs").hover(
		function()
		{
			if ($(this).hasClass("li"))
			{
				if ($(this).hasClass("a"))
				{
					$(".frame_a", $(this)).removeClass("frame_a").addClass("frame");
				}
				$(this).addClass("h");
			}
			$(".sub", $(this)).eq(0).show();
		},
		function()
		{
			if ($(this).hasClass("li"))
			{
				if ($(this).hasClass("a"))
				{
					$(".frame", $(this)).removeClass("frame").addClass("frame_a");
				}
				$(this).removeClass("h");
			}
			$(".sub", $(this)).eq(0).hide();
		}
	);
	// scroll - index qa
	$("#qa .list").scrollTop(0);
	var b_h = $("#qa .list").height();
	var tli_h = 0;
	$("#qa .list li").each(function()
		{
			tli_h += $(this).height() + 20;
		}
	);
	if (b_h < tli_h)
	{
		$("#qa .list").css({marginRight: 30, overflowY: "hidden"});
		$("#qa .scroll").show();
	}
	$("#qa .scroll .bar").draggable({axis: 'y', containment: '#qa .scroll .wrap'});
	$("#qa .scroll .bar").bind("drag", {list_height: tli_h, b_h: b_h}, function(e, ui)
		{
			var cont_height = e.data.b_h;
			var list_height = e.data.list_height;
			var cus_scroll = $("#qa .scroll").height() - $("#qa .scroll .bar").height() - 20;
			var scroll_coef1 = (list_height - cont_height) / cus_scroll + ((list_height - cont_height) * .035 / cus_scroll);
			$("#qa .list").scrollTop(ui.position.top * scroll_coef1);
		}
	);
	// init
	correct_footer_pos();
	set_m_top();
	set_blck_list();
	toggle_form_hint($("#searchstring"), "поиск");
	toggle_form_hint($("#frm_fio"), "Ф. И. О.");
	toggle_form_hint($("#frm_phone"), "Телефон");
	toggle_form_hint($("#frm_address"), "Адрес");
	toggle_form_hint($("#frm_text"), "Текст");
	toggle_form_hint($("#frm_code"), "Текст с изображения");	
	// other stuff
	$(".blck_2").each(function()
		{
			correct_bottom_pos($(".c_bl", $(this)), $(this), -19);
			correct_bottom_pos($(".c_br", $(this)), $(this), -19);
		}
	);
	$(".blck_3").each(function()
		{
			correct_bottom_pos($(".c_bl", $(this)), $(this), -19);
			correct_bottom_pos($(".c_br", $(this)), $(this), -19);
		}
	);
	// common events
	$(window).bind("resize", function()
		{
			correct_footer_pos();
			set_m_top();
			set_blck_list();
		}
	);
});
