$(document).ready(function(){

	if ($("#submenu em").length!=0) {

		$("#submenu em:last-child").css('background','none');

	}

	if ($("#footer_menu em").length!=0) {

		$("#footer_menu em:first-child").css('background','none');

		$("#footer_menu em:nth-child(3n-1)").next().show();

		$("#footer_menu em:nth-child(3n-2)").css('background','none');

	}

	if ($("#left_menu li ul").length!=0) {

		$("#left_menu li ul").parent().addClass('scroll');

	}

	

	if ($("#submenu em ul").length!=0) {

		$("#submenu em ul").parent().addClass('scroll');

	}

	if ($("#left_menu li ul .cur").length!=0) {

		$("#left_menu li ul .cur").parent().parent().addClass('cur');

	}

	if ($("#imp_info dl").length!=0) {

		$("#imp_info dl:last-child").css('background','none');

	}

	if ($("#index_news dl").length!=0) {

		$("#index_news dl:last-child").css('background','none');

	}

	if ($("#navi_wl .png li").length!=0) {

		$("#navi_wl .png li:last-child").css('border','0');

	}

	if ($("#submenu em li").length!=0) {

		$("#submenu em li:first-child").addClass('first');

	}

	if ($("#left_menu_wl").length!=0) $('<div class="stripe"></div>').appendTo("#left_menu_wl");

	

	///////////////////// TABLE AUTOPAINTING ///////////////////////

	if ($("table.table").length!=0) {

		$("table.table").attr('cellspacing','0').attr('cellpadding','0');

		$(".table tr th:last-child, .table tr td:last-child").css('background','none');

	}

	

	///////////////////// LEFT MENU ////////////////////////////////
	var top_body_height = 0;
	var afterLoad = function(){
		top_body_height = $("#top_body_height").height()-47;
		$("body").css("padding-top",top_body_height+"px");
		return false;
	}
	var isChrome = function() {
		if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {
			return true;
			chrome_version = navigator.userAgent.replace(/^.*Chrome\/([\d\.]+).*$/i, '$1')
		} else return false
	}
	if (isChrome()) $(window).load(afterLoad); else $(window).load(afterLoad());
	
	var resize_map = function(){
		var obj = $(".str_flash");
		obj.css("height",(obj.width()*0.59)+"px");
	}
	resize_map();
	$(window).resize(function(){ resize_map(); });
	
	var left_menu_wl_TOP = function(obj){

		var cur_top = 0;

		var flag = false;

		$("#left_menu li.first_level").each(function(){

			if (!flag && ($(this).find('span').text()!=obj.find('span').text())) {

				cur_top = cur_top + $(this).height();

				if ($('#ie6').length!=0 || $('#ie7').length!=0) cur_top = cur_top + 9;

				else cur_top = cur_top + 8;

			} else {

				if ($(this).find('span').text()==obj.find('span').text()) {

					flag = true;

				}

			}

		});

		cur_top = cur_top + parseInt($('body').css('padding-top').replace(/px$/,''));

		cur_top = cur_top - 7;

		return cur_top;

	}

	var left_menu_wl_LEFT = function(){

		var left = $("#site .relative").width()*0.28;

		return left;

	}

	var left_menu_wl_HIDE = function(){

		$("#left_menu li.active").removeClass('active');

		$("#left_menu_wl").hide();

	}

	var menu_timer = 0;

	$("#left_menu li.scroll a").mouseenter(function(){

		var this_obj = $(this).parent().parent();

		if (!this_obj.hasClass('active')) {

			clearTimeout(menu_timer);

			left_menu_wl_HIDE();

			this_obj.addClass('active');

			var wl_top = left_menu_wl_TOP(this_obj);

			var wl_left = left_menu_wl_LEFT();

			$("#left_menu_wl")

				.css('left',(wl_left)+'px')

				.css('top',(wl_top+top_body_height+8)+'px');

			$("#left_menu_wl .stripe")

				.css('left',((-1)*(wl_left-21))+'px')

				.css('width',((wl_left-21)+481)+'px');

			$("#left_menu_wl .png").html("<ul>"+this_obj.find('ul').html()+"</ul>");

			$("#left_menu_wl").show();

		} else {

			clearTimeout(menu_timer);

		}

	}).mouseleave(function(){

		menu_timer = setTimeout(function(){ left_menu_wl_HIDE(); },1000);

	});

	$("#left_menu_wl").mouseenter(function(){

		clearTimeout(menu_timer);

	}).mouseleave(function(){

		menu_timer = setTimeout(function(){ left_menu_wl_HIDE(); },1000);

	});

	

	/* Left menu switcher */

	$("#left_menu h2 a").click(function(){

		var a = $(this);

		if (!a.hasClass("cur")) {

			$("#left_menu h2 a").removeClass("cur");

			$("#left_menu ul").removeClass("cur");

			a.addClass("cur");

			$("#left_menu ul."+a.attr("id")).addClass("cur");

		}

		return false

	});

	

	/* Index publicity */

	$("#add_info.switch h2 a").click(function(){

		var a = $(this);

		if (!a.hasClass("cur")) {

			$("#add_info.switch h2 a").removeClass("cur");

			$("#add_info.switch div").removeClass("cur");

			a.addClass("cur");

			$("#add_info.switch div."+a.attr("id")).addClass("cur");

		}

		return false

	});	

	

	///////////////////// SUBMENU //////////////////////////////////

	var submenu_wl_LEFT = function(obj){

		var cur_left = 0;

		var summ = 0;

		var submenu = $("#submenu").width();

		var flag = false;

		var em_count = 0;

		$("#submenu em").each(function(){

			var cur_width = $(this).width();

			if (!flag && ($(this).find('span').text()!=obj.find('span').text())) {

				cur_left = cur_left + cur_width + 41;

			} else {

				if ($(this).find('span').text()==obj.find('span').text()) {

					flag = true;

				}

			}

			em_count++;

			summ = summ + cur_width;

		});

		cur_left = (submenu - summ)/2 + cur_left + 8 - (em_count-1)*25;

		if ($("#ie6").length!=0) {

			cur_left = cur_left - 58;

		}

		if ($("#ie7").length!=0) {

			cur_left = cur_left;

		}

		return cur_left;

	}

	var submenu_wl_HIDE = function(){

		$("#submenu em.active").removeClass('active');

		$("#submenu_wl").hide();

	}

	var submenu_timer = 0;

	$("#submenu em.scroll span a").mouseenter(function(){

		var this_obj = $(this).parent().parent();

		if (!this_obj.hasClass('active')) {

			clearTimeout(submenu_timer);

			submenu_wl_HIDE();

			this_obj.addClass('active');

			var wl_left = submenu_wl_LEFT(this_obj);

			$("#submenu_wl").css('left',(wl_left)+'px');

			$("#submenu_wl .png").html("<ul>"+this_obj.find('ul').html()+"</ul>");

			$("#submenu_wl").show();

		} else {

			clearTimeout(submenu_timer);

		}

	}).mouseleave(function(){

		submenu_timer = setTimeout(function(){ submenu_wl_HIDE(); },600);

	});

	$("#submenu_wl").mouseenter(function(){

		clearTimeout(submenu_timer);

	}).mouseleave(function(){

		submenu_timer = setTimeout(function(){ submenu_wl_HIDE(); },100);

	});

	

	

	///////////////////// NAVI WL //////////////////////////////////

	var navi_wl_HIDE = function(){

		$("#navi_wl").hide();

	}

	var navi_wl_timer = 0;

	$("#navi a").mouseenter(function(){

		clearTimeout(navi_wl_timer);

		$("#navi_wl").css('top', parseInt($('body').css('padding-top').replace(/px$/,''))+47+'px');

		$("#navi_wl").show();

	}).mouseleave(function(){

		navi_wl_timer = setTimeout(function(){ navi_wl_HIDE(); },600);

	});

	$("#navi_wl").mouseenter(function(){

		clearTimeout(navi_wl_timer);

	}).mouseleave(function(){

		navi_wl_timer = setTimeout(function(){ navi_wl_HIDE(); },100);

	});

	

	

	///////////////////// HEADER SELECT ////////////////////////////

	if ($('#mainmenu_wl').length!=0) {

		function init_dw_Scroll() {

		    var wndo = new dw_scrollObj('mainmenu_wl_scroll', 'mainmenu_wl_list');

		    wndo.setUpScrollbar("dragBar", "track", "v", 1, 1);

		    wndo.setUpScrollControls('scrollbar');

		}

		if ( dw_scrollObj.isSupported() ) {

			init_dw_Scroll();

		}

	}

	var mainmenu_FADE = function(){

		$("#mainmenu_select").removeClass('active');

		$("#mainmenu_wl").hide();

	}

	var mainmenu_wl_LEFT = function(){

		var cur_left = 0;

		var flag = false;

		$("#mainmenu td").each(function(){

			var cur_width = $(this).width();

			if (!flag && $(this).attr('id')!='mainmenu_select') {

				cur_left = cur_left + cur_width;

				if ($("#ie8").length!=0) {

					cur_left = cur_left;

				}

				if ($("#ie6").length!=0) {

					cur_left = cur_left;

				}

			} else {

				if ($(this).attr('id')=='mainmenu_select') {

					flag = true;

				}

			}

		});

		cur_left = cur_left + ($('#mainmenu_select').width()-$('#mainmenu_select span').width())/2 - 10 + 58 + $("body").width()*0.023;

		if ($("#ie6").length!=0) {

			cur_left = cur_left;

		}

		if ($("#ie8").length!=0) {

			cur_left = cur_left;

		}

		return cur_left;

	}

	var mainmenu_timer = 0;

	var ctrl_flag = false;

	$("#mainmenu_select a").mouseenter(function(){

		obj = $(this).parent().parent();

		clearTimeout(mainmenu_timer);

		if (!ctrl_flag && $("#mainmenu_wl").length!=0) {

			$("#mainmenu_wl").addClass('go');

			ctrl_flag++;

		}

		if (!obj.hasClass('active')) {

			obj.addClass('active');

			$("#mainmenu_wl")

				.css('top', parseInt($('body').css('padding-top').replace(/px$/,''))+47+'px')

				.css('left', mainmenu_wl_LEFT()+'px');

			$("#mainmenu_wl").show();

		}

		return false;

	}).mouseleave(function(){

		mainmenu_timer = setTimeout(function(){ mainmenu_FADE(); },600);

	});

	$("#mainmenu_wl").mouseenter(function(){

		clearTimeout(mainmenu_timer);

	}).mouseleave(function(){

		mainmenu_timer = setTimeout(function(){ mainmenu_FADE(); },100);

	});

	

	$("body").mouseleave(function(){

		if ($("#left_menu_wl").length!=0) left_menu_wl_HIDE();

		if ($("#submenu_wl").length!=0) submenu_wl_HIDE();

		if ($("#navi_wl").length!=0) navi_wl_HIDE();

		if ($("#mainmenu_wl").length!=0) mainmenu_FADE();

	});

	

	

	///////////////////// STRUCTURE ////////////////////////////////

	var calc_COUNT = function(obj){

		var count = 0;

		obj.each(function(){ count++ });

		return count;

	}

	if ($("#structure ul").length!=0) {

		$("#structure ul").each(function(){

			if (calc_COUNT($(this).find('li'))>=1 && !$(this).hasClass('root')) $(this).addClass('bg');

		});

		/*$("#structure .point").each(function(){

			if ($(this).parent().parent().parent().hasClass('bg')) $(this).show();

		});*/

		$("#structure li .point").show();

		$("#structure li:last-child .point").hide();

		$("#structure li li .point").show();

		$("#structure li li:last-child .point").hide();

		$("#structure li li li .point").show();

		$("#structure li li li:last-child .point").hide();

		

		$("#structure ul li:first-child").each(function(){

			obj = $(this).find('.obj:first');

			if ($(this).parent().hasClass('bg'))

				$("<div class='to_start'></div>").appendTo(obj);

		});

		$("#structure ul li:last-child").each(function(){

			obj = $(this).find('.obj:first');

			if ($(this).parent().hasClass('bg')) {

				$("<div class='to_end'></div>").appendTo(obj);

				var height = $(this).height()-44+20;

				$(this).find('.to_end').css('height',height+'px');

			}

		});

	}

	

	// CALENDAR

	var calendarColorize = function() {

		$("#calendar .calendar-month th:nth-child(6)").css('color','#F59814'); $("#calendar .calendar-month td:nth-child(6) span").css('color','#F59814');

		$("#calendar .calendar-month th:nth-child(7)").css('color','#F59814'); $("#calendar .calendar-month td:nth-child(7) span").css('color','#F59814');

		$("#calendar .other-month span").css('color','#ddd');

		$("#calendar .calendar-month tr td:first-child, #calendar .calendar-month tr th:first-child").css('background','none');

		if ($("#calendar .calendar-month td a").length!=0) $("#calendar .calendar-month td a").parent().css('padding-right','0').css('width','25px');

	}

	if ($("#calendar .calendar-month td").length!=0) {

		calendarColorize();

	}

	$("#calendar .prev").click(function(){

		var cur_month = parseInt($('#calendar .month').text());

		var cur_year = parseInt($('#calendar .year').text());

		var cur_lang = $('#calendar .lang').text();

		if (cur_month==1) {

			cur_month = 12;

			cur_year = parseInt($('#calendar .year').text())-1;

		} else cur_month = parseInt($('#calendar .month').text())-1;

		

		$("#calendar .cont").calendarWidget({

			month: cur_month,

			year: cur_year,

			lang: cur_lang

		});

		$('#calendar .month').text(cur_month);

		$('#calendar .year').text(cur_year);

		$('#calendar .lang').text(cur_lang);

		calendarColorize();

		return false;

	});

	$("#calendar .next").click(function(){

		var cur_month = parseInt($('#calendar .month').text());

		var cur_year = parseInt($('#calendar .year').text());

		var cur_lang = $('#calendar .lang').text();

		if (cur_month==12) {

			cur_month = 1;

			cur_year = parseInt($('#calendar .year').text())+1;

		} else cur_month = parseInt($('#calendar .month').text())+1;

		

		$("#calendar .cont").calendarWidget({

			month: cur_month,

			year: cur_year,						  

			lang: cur_lang

		});

		$('#calendar .month').text(cur_month);

		$('#calendar .year').text(cur_year);

		$('#calendar .lang').text(cur_lang);

		calendarColorize();

		return false;

	});

	$("#calendar .to_start").click(function(){

		var cur_year = parseInt($('#calendar .year').text());
		
		var cur_lang = $('#calendar .lang').text();

		$("#calendar .cont").calendarWidget({

			month: 1,

			year: cur_year,
			
			lang: cur_lang

		});

		$('#calendar .month').text(1);

		$('#calendar .year').text(cur_year);
		
		$('#calendar .lang').text(cur_lang);

		calendarColorize();

		return false;

	});

	$("#calendar .to_end").click(function(){

		var cur_year = parseInt($('#calendar .year').text());
		
		var cur_lang = $('#calendar .lang').text();

		$("#calendar .cont").calendarWidget({

			month: 12,

			year: cur_year,
			
			lang: cur_lang

		});

		$('#calendar .month').text(12);

		$('#calendar .year').text(cur_year);
		
		$('#calendar .lang').text(cur_lang);

		calendarColorize();

		return false;

	});

	

	

	///////////////////// MAP //////////////////////////////////////

	

	if ($('#site_map').length!=0) {

		$('#site_map li li:last-child').addClass('last');

		$('#site_map li li').each(function(){ if (!$(this).hasClass('last')) $('<div class="point"></div>').appendTo(this); });

	}

	

	///////////////////// CABINET //////////////////////////////////

	

	if ($('.cabinet_menu td').length!=0) $('.cabinet_menu td:first-child').css('background','none');

	if ($('.cabinet_table td').length!=0) {

		$('.cabinet_table td.field input').focus(function(){ $(this).addClass('focus'); $(this).parent().prev().removeClass('alert'); }).blur(function(){ $(this).removeClass('focus'); });

		$('.cabinet_table td.field select').focus(function(){ $(this).addClass('focus'); }).blur(function(){ $(this).removeClass('focus'); });

		$('.cabinet_table td.field textarea').focus(function(){ $(this).addClass('focus'); $(this).parent().prev().removeClass('alert'); }).blur(function(){ $(this).removeClass('focus'); });

		var emailValidate = function(str){

			if (!(/\w+@\w+\.[a-z]{2,4}/).test(str))

				return false;

			else

				return true;

		}

		var passValidate = function(){

			if ($('#ce_pass').attr('value')==$('#ce_repass').attr('value')) {

				$('#ce_repass').parent().prev().addClass('good').removeClass('alert');

				$('#ce_pass').parent().prev().addClass('good').removeClass('alert');

				return true;

			} else {

				$('#ce_repass').parent().prev().addClass('alert').removeClass('good');

				$('#ce_pass').parent().prev().addClass('alert').removeClass('good');

				return false;

			}

		}

		var validate_FLAG = false;

		var validateCabinetForm = function(){

			validate_FLAG = false;

			$('.cabinet_table td input.imp').each(function(){

				if ($(this).attr('value')=='') {

					validate_FLAG = true;

					$(this).parent().prev().addClass('alert');

				}

			});

			if ($('.cabinet_table td textarea').length!=0) {

				var textarea = $('.cabinet_table td textarea.imp');

				if (textarea.attr('value')=='') {

					validate_FLAG = true;

					textarea.parent().prev().addClass('alert');

				}

			}

			if ($('#ce_email').length!=0) {

				var email = $('#ce_email.imp');

				if (!emailValidate(email.attr('value'))) {

					validate_FLAG = true;

					email.parent().prev().addClass('alert');

				}

			}

			if ($('#cr_email').length!=0) {

				var email = $('#cr_email.imp');

				if (!emailValidate(email.attr('value'))) {

					validate_FLAG = true;

					email.parent().prev().addClass('alert');

				}

			}

			if ($('#cl_email').length!=0) {

				var email = $('#cl_email.imp');

				if (!emailValidate(email.attr('value'))) {

					validate_FLAG = true;

					email.parent().prev().addClass('alert');

				}

			}

			if ($('#delivery_email').length!=0) {

				var email = $('#delivery_email.imp');

				if (!emailValidate(email.attr('value'))) {

					validate_FLAG = true;

					email.parent().prev().addClass('alert');

				}

			}

			if ($('#ce_repass').length!=0) {

				if (!passValidate()) {

					validate_FLAG = true;

					$('#ce_repass').parent().prev().addClass('alert');

				}

			}

			if ($('#cr_repass').length!=0) {

				if (!passValidate()) {

					validate_FLAG = true;

					$('#cr_repass').parent().prev().addClass('alert');

				}

			}

		}

		passValidate();

		$('#ce_repass, #ce_pass').keyup(function(){

			passValidate();

		});

		$('#cabinet .edit_save a').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) $('#cabinet_edit_form').get(0).submit();

			return false;

		});

		$('#cabinet .lost_save a').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) $('#cabinet_lost_form').get(0).submit();

			return false;

		});

		$('#delivery .delivery_submit a').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) $('#delivery_form').get(0).submit();

			return false;

		});

		$('#registration_submit .send').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) $('#cabinet_reg_form').get(0).submit();

			return false;

		});

		$('#registration_submit .clearing').click(function(){

			$('.cabinet_table td input').each(function(){

				$(this).attr('value','');

			});

			$('.cabinet_table td textarea').attr('value','');

			return false;

		});

		$('#cabinet .public').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) {

				$('#cq_public').attr('value','yes');

				$('#cabinet_message_form').get(0).submit();

			}

			return false;

		});

		$('#cabinet .no_public').click(function(){

			validateCabinetForm();

			if (!validate_FLAG) $('#cabinet_message_form').get(0).submit();

			return false;

		});

	}

	

	$('.col_2 ul.nestedMenu li:last-child').css('background','none');

	$('#add_info dl:last-child').css('background','none');

	$('#news_list dl:last-child').css('background','none');

	$('#cabinet_edit_form table tr:last-child td').css('background','none');

});



window.onload=function(){

	document.onkeypress = function(event) {

		event = (event) ? event : window.event;

		if(event.keyCode == 27){

			jQuery.fn.colorbox.close();

			}

		if ((event.keyCode == 13 || event.keyCode == 10) && event.ctrlKey == true)

		{

			openFeedback();

		}

	}

};



function openFeedback()	{

	var sel = "";

	sel = window.GetSelected().toString();

	jQuery.fn.colorbox({href:"/error_popup.php?title="+Url.encode(document.title)+"&sel="+Url.encode(sel), open:true, width:"500px", height:"580px", krClose:true, iframe:true});

}



function GetSelected()

{

	txt = '';

	if (window.getSelection) {

 		txt = window.getSelection();

  	} else if (document.getSelection) {

 		txt = document.getSelection();

 	} else if (document.selection) {

 		txt = document.selection.createRange().text;

 	}

	return txt;

}



var Url = {



	// public method for url encoding

	encode : function (string) {

		return escape(this._utf8_encode(string));

	},



	// public method for url decoding

	decode : function (string) {

		return this._utf8_decode(unescape(string));

	},



	// private method for UTF-8 encoding

	_utf8_encode : function (string) {

		string = string.replace(/\r\n/g,"\n");

		var utftext = "";



		for (var n = 0; n < string.length; n++) {



			var c = string.charCodeAt(n);



			if (c < 128) {

				utftext += String.fromCharCode(c);

			}

			else if((c > 127) && (c < 2048)) {

				utftext += String.fromCharCode((c >> 6) | 192);

				utftext += String.fromCharCode((c & 63) | 128);

			}

			else {

				utftext += String.fromCharCode((c >> 12) | 224);

				utftext += String.fromCharCode(((c >> 6) & 63) | 128);

				utftext += String.fromCharCode((c & 63) | 128);

			}



		}



		return utftext;

	},



	// private method for UTF-8 decoding

	_utf8_decode : function (utftext) {

		var string = "";

		var i = 0;

		var c = c1 = c2 = 0;



		while ( i < utftext.length ) {



			c = utftext.charCodeAt(i);



			if (c < 128) {

				string += String.fromCharCode(c);

				i++;

			}

			else if((c > 191) && (c < 224)) {

				c2 = utftext.charCodeAt(i+1);

				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));

				i += 2;

			}

			else {

				c2 = utftext.charCodeAt(i+1);

				c3 = utftext.charCodeAt(i+2);

				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));

				i += 3;

			}



		}



		return string;

	}



}

