/**
 * @author <a href="http://meia5.com">Media5</a> - <a href="mailto:banzalik@media5.com">Бойченко Александр</a>
 * @description скрипты для m5 css framework
 */

 /**
 * @description полная загрузка страницы, картинки при этом уже загрузились
 */
window.onload=documentLoaded; // присваиваем функцию documentLoaded

/**
 * @description вызов функций при полной загрузке страницы, картинки при этом уже загрузились
 */

function documentLoaded(){

}


/**
 * @description вызов функций при полной загрузке DOM дерева, картинки при этом еще не загрузились
 */
$(document).ready(function(){
			autoclearInput(); // input/textarea clear script
			m5formsWidthNormalize();		 //
			newsHover ();
			newsSubmit();

			if ($('#subscribeForm').length) {
				$('#subscribeForm').ajaxForm({
				beforeSubmit: function(formData, jqForm, options){
				if (!jqForm[0].email.value.match(/^\w+([.\-]?\w+)*@\w+([.\-]?\w+)*\.\w{2,4}$/)) {
				alert('Пожалуйста, корректно укажите Ваш e-mail!');
				jqForm[0].email.value = '';
				jqForm[0].email.focus();
				return false;}
 				else return true;
				},
				success: function(responseText) {
		                document.subscribeForm.reset(); hidePopup();
			eval(responseText);
			}});

			atLeast();
				}
})


/**
 * @description очистка инпутов, при клике на них
 */
function autoclearInput(){
	$("input.autoclear, textarea.autoclear").each(function(){
		var thisCache=$(this); // кешируем выборку
		thisCache.attr("defaultvalue",thisCache.attr("value")); // записываем в defaultvalue значение по умолчанию, необходимо для проверки нового стекста со старым
	});

	$("input.autoclear, textarea.autoclear").click(function(){
		var thisCache=$(this); // кешируем выборку
		if (thisCache.attr("value")==thisCache.attr("defaultvalue")) { // проверяем совпадают ли value и defaultvalue
			thisCache.attr("value", ""); // сбрасываем значение value
		}
	})
}


/**
 * @description выравнивание input[type=text], input[type=password], textarea
 */
function m5formsWidthNormalize(){
	var browserCache=$.browser;
	if (browserCache.msie && browserCache.version<7) {
		$("select.m5formsNormalize").each(function(i){
			var thisCache=$(this); // кешируем выборку
			var m5formnormalizepadding=Math.ceil(Number(String(thisCache.css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(thisCache.css("padding-right")).slice(0,-2))); // считаем padding
			var m5formnormalizeborder= Math.ceil(Number(String(thisCache.css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String(thisCache.css("border-right-width")).slice(0,-2))); // считаем border
			var m5formnormalizewidth=Math.ceil(Number(thisCache.width()))+m5formnormalizepadding*6+m5formnormalizeborder*2;
			thisCache.width(m5formnormalizewidth);
		})
	} else {
		$("input[type=text].m5formsNormalize, input[type=password].m5formsNormalize, textarea.m5formsNormalize").each(function(i){
			var thisCache=$(this);  // кешируем выборку
			var m5formnormalizepadding=Math.ceil(Number(String(thisCache.css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(thisCache.css("padding-right")).slice(0,-2))); // считаем padding
			var m5formnormalizewidth=Math.ceil(Number(thisCache.width()))-m5formnormalizepadding;
			thisCache.width(m5formnormalizewidth);
			})
		$("select.m5formsNormalize").each(function(i){
			var thisCache=$(this);  // кешируем выборку
			var m5formnormalizepadding=Math.ceil(Number(String(thisCache.css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(thisCache.css("padding-right")).slice(0,-2))); // считаем padding
			var m5formnormalizeborder= Math.ceil(Number(String(thisCache.css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String(thisCache.css("border-right-width")).slice(0,-2))); // считаем border
			var m5formnormalizewidth=Math.ceil(Number(thisCache.width()))+m5formnormalizepadding+m5formnormalizeborder;
			thisCache.width(m5formnormalizewidth);
		})
	}
}

function newsHover(){
	    $(".news").hover(
      function () {
		  $(this).addClass("hover");
      },
      function () {
		  $(this).removeClass("hover");
      }
    );
}

function newsSubmit(){
	$(".newsSubmit").click(function(){
			showShadow();
			showPopup("#newsPopup");
			return false;
	})
}
function showShadow(){
	$(".shadow").show();
	$(".shadow").click(function(){
		hidePopup();
		return false;
	});
}

function hidePopup(){
	$(".shadow").hide();
	$(".popup").hide();
			return false;
}

function showPopup(ell){
	$(ell).show();
	$(".close").click(function(){
		hidePopup();
		return false;
	})
}

function checkPhorm(phorm, fields, names){
			for(i in fields){
				if(phorm.elements[fields[i]].value == ''){
					alert('Заполните, пожалуйста, поле "'+names[i]+'"!');
					phorm.elements[fields[i]].focus();
					return false;
					}
				 else if ((phorm.elements[fields[i]].name == 'name' && !phorm.elements[fields[i]].value.match(/^([а-яA-Яa-zA-Z]+\.?-?\s*)+$/)) || (phorm.elements[fields[i]].name == 'email' && !phorm.elements[fields[i]].value.match(/^\w+([.\-]?\w+)*@\w+([.\-]?\w+)*\.\w{2,4}$/)) || (phorm.elements[fields[i]].name == 'phone' && !phorm.elements[fields[i]].value.match(/^([0-9()\-+,;]+\s*)+$/))){
					alert('Пожалуйста, корректно заполните поле "'+names[i]+'"!');
					phorm.elements[fields[i]].value = '';
					phorm.elements[fields[i]].focus();
					return false;
					 }
				} return true;
			}

function ArrowNaw(event){
		switch (event.keyCode ? event.keyCode : event.which ? event.which : null){
			case 0x25:
				link = document.getElementById ('BackURL');
				break;
			case 0x27:
				link = document.getElementById ('ForwURL');
				break;
			}
		if (link && link.href) document.location = link.href;
	}
