mail_filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

// функция удаления группы полей
function delFieldset(c) {
	$(c).parents('div:eq(1)').remove();
}

// функция добавления группы полей
function addFieldset(c) {
	var l = $(c).parents('fieldset').children('div').length;
	var cf = $(c).parents('fieldset').children('div:first').clone(true);
	var dlnk = $('<a class="delLink" href="#">Удалить</a>');
	dlnk.bind('click',
		function() {
			delFieldset($(this));
			return !1;
		}
	);
	cf.children('a.addLink').click(
		function() {
			addFieldset($(this));
			return !1;
		}
	);
	
	// обнуление значений полей клонированной группы полей
	cf.find('input').attr('value', '').attr('class', 'textfld');
	cf.find('select').attr('selectedIndex', 0).removeClass();
	cf.find('textarea').attr('value', '').removeClass();
	cf.children('div:eq(0)').append(dlnk);
	cf.insertAfter($(c).parents('div:eq(1)'));
	
}

function checkSimpleForm(pform) {
	var error = 0;
	$('input:text, textarea').each(
		function(i,f) {
			switch($(f).attr('name')) {
				case 'fname':
				case 'fmsg':
				case 'captcha_word':
					if ($.trim($(f).val()) == '') {
						error++;
						$(f).addClass('error');
					} else {
						$(f).removeClass('error');
					}
					break;
				case 'femail':
					if(!mail_filter.test($(f).val())) {
						error++;
						$(f).addClass('error');
					} else {
						$(f).removeClass('error');
					}
					break;
			}
		}
	);
	if(error > 0) {
		if (!$('#errorNotice').length) {
			pform.before('<div id="errorNotice">Проверьте правильность заполнения полей.</div>');
		}
		return !1;
	} else {
		return true;
	}
}


$(
	function() {
	
		// inserting i tags
		$('#mainMenu').append('<i class="crnr"></i>');
		$('#mainMenu ul:eq(1) > li').append('<i></i>');
		$('#contactInfoblock').prepend('<i class="crnr topc"><i class="crnr"></i></i>').append('<i class="crnr botc"><i class="crnr"></i></i>');
		$('#addServices').prepend('<i class="crnr"></i>');
		$('#quickLinks').prepend('<i class="crnr"><i class="crnr"></i></i>');
		
		if($('#awards').length) {
			$('#awards').before('<i class="dotSep"></i>');
		}
		if($('#breadcrumbs').length) {
			$('#breadcrumbs > li').append('<i></i>');
		}
		if($('.rCrnrs').length) {
			$('.rCrnrs').prepend('<i class="crnr topc"><i class="crnr"></i></i>').append('<i class="crnr botc"><i class="crnr"></i></i>');
		}
		
		// раскрывающийся список месяцев в архиве новостей в правой колонке
		if($('.newsCalendar').length) {
			$('.newsCalendar > li > a').click(
				function() {
					if($(this).parent('li').hasClass('open')) {
						$(this).next('ul').slideUp(400);
						$(this).parent('li').removeClass('open');
					} else {
						$('.newsCalendar').children('li').each(
							function() {
								if($(this).hasClass('open')) {
									$(this).children('ul').slideUp(400);
									$(this).removeClass('open');
								}
							}
						);
						$(this).next('ul').slideDown(400).parent('li').addClass('open');
					}
					return !1;
				}
			);
		}
		
		// раскрывающийся список ЧАВО
		if($('#faqList').length) {
			$('#faqList dt').each(
				function() {
					var dt = $(this);
					dt.append($('<i></i>')).next('dd').append($('<i></i>'));
					dt.find('a:first').click(
						function() {
							var idx = $(this).parent('dt').attr('id').substring(4);
							$('#tfla'+idx).slideToggle(400,
								function() { dt.toggleClass('expd');}
							);
							return !1;
						}
					);
				}
			);
		}
		
		if($('div.dataForm').length) {
			$('.dataForm a.addLink').click(
				function() {
					addFieldset($(this));
					return !1;
				}
			);
		}
		
		// проверка форм
		if($('.feedback').length) {
			var fform = $('.feedback form');
			fform.submit(
				function() {
					return checkSimpleForm($(this));
				}
			);
		}
		if($('.faqform').length) {
			var fform = $('.faqform form');
			fform.submit(
				function() {
					return checkSimpleForm($(this));
				}
			);
		}
		if($('.vacancyForm').length) {
			var vform = $('.vacancyForm form');
			vform.submit(
				function() {
					var felems = vform.get(0).elements;
					var error = 0;
					$.each(felems, function(i, f) {
						if (f.getAttribute('type') != 'SUBMIT') {
							switch (f.getAttribute('name')) {
								case 'f_position':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_uname':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_ubday':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_ubyear':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_uphone':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_uemail':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else if (!mail_filter.test(f.value)) {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_education[]':
									if (f.selectedIndex == 0) {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_institutions[]':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_special_subjects[]':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_company[]':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_uduties[]':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_upost[]':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_languages':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_pcskills':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
								case 'f_captcha':
									if (f.value == '') {
										error++;
										$(f).addClass('error');
									} else if (!digit_filter.test(f.value)) {
										error++;
										$(f).addClass('error');
									} else { $(f).removeClass('error');}
									break;
							}
						}
					});
				if(error != 0) {
					if(!vform.parent('div').children('p.error').length)
						vform.before('<div id="errorNotice">Проверьте правильность заполнения полей.</div>');
					return false;
				}
			});
		}
		
		if($('#opinionsForm').length) {
			$('#opinionsForm .rating a').click(
				function() {
					var prnt = $(this).parents('ul:eq(0)');
					prnt.find('li a').removeClass('current');
					$(this).parents('div:eq(0)').find('input:hidden').attr('value', $(this).attr('class').substring(2));
					$(this).addClass('current');
					return !1;
				}
			);
		}
		
		if ($('#showFullChart').length && $('#fullChart').length) {
			$('#showFullChart').click(
				function() {
					$('#fullChart').slideToggle('600');
					return !1;
				}
			);
		}
		
		/*if ($('#infoBlock .dd-link').length > 0) {
			$('#infoBlock .dd-link').click(
				function() {
					if (!$(this).hasClass('active')) {
						$('#infoBlock .dd-open').slideUp(400).removeClass('dd-open');
						$('#infoBlock a.active').removeClass('active');
						$(this).addClass('active').next('.dd-block').slideDown(400).addClass('dd-open');
					}
					return !1;
				}
			);
		}*/
		var limited=$('#limitedleft');
		if(limited.length)
		{
			var count;
			var msgtext=$("textarea[name='fmsg']");
			var msgcount=$("input[name='countdown']");
			msgtext.keyup(function(event)
				{
					limited=$('#limitedleft');
					if (msgtext.val().length > 300) {
						msgtext.val(msgtext.val().substring(0, 300));
					}
					//limited.text(300 - msgtext.val().length);
					//msgcount.val(300 - msgtext.val().length);
					if(300-msgtext.val().length>0)
					{
						limited.html(300-msgtext.val().length);
					}
					else
					{
						limited.html('0');
					}
				}
			);
			limited.html(300-msgtext.val().length);
		}
		var creditList=$('#creditList');
		if(creditList.length)
		{
			creditList.find(":radio").click(
				function ()
				{
					$("form[@name='creditingForm']").attr("action", window.location.protocol+"//"+window.location.hostname+window.location.pathname.substr(0,window.location.pathname.lastIndexOf('/')+1)+$(this).val());
					$("form[@name='creditingForm']").submit();
				}
			);
		}
		
		
		if($('.ratesBlock').length) {
			$('.ratesBlock > li > a').click(
				function() {
					if($(this).parent('li').hasClass('open')) {
						$(this).next('div').slideUp(400);
						$(this).parent('li').removeClass('open');
					} else {
						$('.ratesBlock').children('li').each(
							function() {
								if($(this).hasClass('open')) {
									$(this).children('div').slideUp(400);
									$(this).removeClass('open');
								}
							}
						);
						$(this).next('div').slideDown(400).parent('li').addClass('open');
					}
					return !1;
				}
			);
		}
		
		$("#difAddress").click(function(){
			if ($(this).attr('checked') == true)
				$("#factAddress").show();
			else
				$("#factAddress").hide();
		});
		
		$(".states").hide();
		$(".premises").each(function(){
			if ($(this).attr('checked') == true && ($(this).val() == 0 || $(this).val() == 1))
				$(".states").show();
		});
		$(".premises").click(function(){
			if ($(this).val() == 0 || $(this).val() == 1)
				$(".states").show();
			else
				$(".states").hide();
		});
		
		function orgDifAddress() {
			$("#orgDifAddress").each(function(){
				if ($(this).attr('checked') == true)
					$("#orgAddress").show();
				else
					$("#orgAddress").hide();
			});
		}
		$("#orgDifAddress").click(function(){
			orgDifAddress()
		});
		function checkDisabled(oThis) {
			if ($(oThis).val() == 4 || $(oThis).val() == 5) {
				$('.orgInfo').each(function (){
					$(this).hide();
				});
			}
			else {
				$('.orgInfo').each(function (){
					$(this).show();
				});
			}
		}
		checkDisabled($('#status'));
		orgDifAddress();
		$('#status').change(function(){
			checkDisabled(this);
		})
	}
);
