function stopBubble(oEvent){
	if(oEvent && oEvent.stopPropagation){
		oEvent.stopPropagation()// для DOM-совместимых браузеров
	}
	else
	{
		window.event.cancelBubble = true;//для IE
	}
}

function insertAfter(elem, refElem) {
    var parent = refElem.parentNode
    var next = refElem.nextSibling
    if (next) {
        return parent.insertBefore(elem, next)
    } else {
        return parent.appendChild(elem)
    }
}

supportAttr =function(el,attr) {
	if(attr in document.createElement(el))return true;return false
}


var left_pos,	top_pos, el_focus, destination, destination_left, window_pos, posminus, anim_obj, facebox_active = 1, textarea_resize = false, body_tag, ie8 = false, ie7 = false;

if ($.browser.webkit){
	anim_obj = "body"
} else {
	anim_obj = document.getElementsByTagName("html")[0]
}

if($.browser.msie && $.browser.version < 9){
	ie8 = true
	if($.browser.version < 8){
	ie7 = true
	}
}

(function(){
var facebox_expr = /\bfacebox\b/, img_expr = /\.(gif|png|jpg|jpeg|bmp)$/i, local_url = location.href.replace(location.hash,"");
$.extend($.expr[':'],
{
	facebox: function(el) {
			var href = el.getAttribute("href") || ""
			if (facebox_expr.test(el.className) && href.length > 0){
			return true
			} else {
				return false;
			}
	}
},
 {
	anchor: function(el) {
		var href=el.href
		if(href.indexOf("#") < 0)return false
		href = href.replace(local_url,"")
		if(href.length > 1 && href.charAt(0)== "#"){
			return true
		}
		return false
		}
	}, 

{
		image_link: function(el) {
			var href=el.getAttribute('href') || "";
			if (img_expr.test(href)){
					return true
			} else {return false}

		} 
	}
)
})()


for(var i=0,ie_elem=["header","footer","nav","section","article","aside","time"], ie_elem_length=ie_elem.length;i<ie_elem_length;i++){
		document.createElement(ie_elem[i])
}



function facebox_close(close_time)
{
	var face_time = close_time || 1, facebox_overlay = document.getElementById("facebox_overlay"), facebox_block = document.getElementById("facebox")
	 setTimeout(function(){
		facebox_fadeOut(0.3, 1, facebox_block.offsetTop, facebox_block.offsetTop-300, facebox_overlay, facebox_block)
	}, face_time)
}

function facebox_fadeOut(opac_overlay, opac, top, min_top, el_overlay, el){
	setTimeout(function(){
		if(opac_overlay>-0.1){
			opac_overlay-=0.08
			el_overlay.style.opacity = opac_overlay
		}
		if(top>min_top){
			top-=15
			el.style.top = top+"px"
			opac-=0.05
			el.style.opacity = opac
			facebox_fadeOut(opac_overlay, opac, top, min_top, el_overlay, el)
		} else {
			el_all=document.getElementById("facebox_all")
			el_all.parentNode.removeChild(el_all)
			facebox_active = 1
		}
	}, 30)
}


function facebox_load(html_cont)
{
	var facebox_old = document.getElementById("facebox_all")
	if(facebox_old){
		facebox_old.parentNode.removeChild(facebox_old)
	}
	$(body_tag).append('<div id="facebox_all">\
			<div id="facebox_overlay"></div>\
			<div id="facebox">\
			<!--[if lte IE 7]><table><tr><td><![endif]--> \
				<div id="facebox_block_top"><div><div><span title="Закрыть" onclick="facebox_close()"></span></div></div></div>\
					<div id="facebox_center">\
						<div>\
							<div id="facebox_content">\
								<div id="facebox_content_i">'+html_cont+'</div>\
								<input type="button" value="&nbsp;" id="alert_ok" onclick="facebox_close();">\
							</div>\
						</div>\
					</div>\
					<div id="facebox_block_bottom"><div><div></div></div></div>\
			<!--[if lte IE 7]></td></tr></table><![endif]-->\
			</div></div>\
		')
	facebox_position()
	var facebox_overlay = document.getElementById("facebox_overlay")
	facebox_overlay_fadeIn(0, facebox_overlay)
}
//
function facebox_overlay_fadeIn(count, el){
	setTimeout(function(){
		el.style.opacity=count+=0.1
		if(count<0.3){
			facebox_overlay_fadeIn(count, el)
		} else {
			var facebox_el = document.getElementById("facebox")
			$(facebox_el).animate({"top":top_pos}, 1000, "easeOutBack", function(){
				$(this).draggable({
					cursor: 'crosshair',
					cancel: ':input, option, span, small, img, p, label',
					containment:'parent',
					addClasses: false
				})
			})
			facebox_fadeIn(0, facebox_el)
			facebox_active = 2;
			var facebox_loading = document.getElementById("facebox_loading")
			if(facebox_loading){
				facebox_loading.parentNode.removeChild(facebox_loading)
			}
			facebox_resize_textarea();
		}
	}, 100)
}
function facebox_fadeIn(count, el){
	setTimeout(function(){
		el.style.opacity = count+=0.3
		if(count<1){
			facebox_fadeIn(count, el)
		}
	}, 100)
}

function get_position()
{
	destination = $(el_focus).offset().top;
	destination_left = $(el_focus).offset().left;
	window_pos = $(window).scrollTop();
	posminus = window_pos - destination;
}

function arrow(){
	var obj = document.createElement("div")
	obj.className = "alert_arrow"
	obj.style.left = destination_left-70+"px"
	obj.style.top = destination-5+"px"
	body_tag.appendChild(obj)
	for(var i=0;i<5;i++){
		$(obj).animate({"left":"+=30"}, "linear").animate({"left":"-=30"}, "linear")
	}
	$(obj).animate({"opacity":0,"left":"+=30"}, 500, "linear", function(){
				obj.parentNode.removeChild(obj)
		})
}

function facebox_focus(element_focus)
{
	el_focus = element_focus || null
	if(el_focus != null){
		get_position();
		if ((window_pos > destination) || ((window_pos < destination) && posminus < -400)){
				$(anim_obj).animate({scrollTop: destination-250}, 900, function(){
				$(el_focus).focus();
			});
		}else{
		$(el_focus).focus()
		}
		arrow()
	}
}

$.fn.facebox_focus = function(){
facebox_focus(this)
}

function facebox_position()
{
	var facebox_block = document.getElementById("facebox"),
			facebox_overlay_block = document.getElementById("facebox_overlay")
			left_pos = (facebox_overlay_block.offsetWidth - facebox_block.offsetWidth)/2,
			top_pos = (facebox_overlay_block.offsetHeight - facebox_block.offsetHeight)/ 2 - 50;
	facebox_block.style.left = left_pos+"px"
	facebox_block.style.top = top_pos-300+"px"
}

function facebox_resize(){
	if(facebox_active == 2){
			left_pos = ($(window).width() - $("#facebox").width())/2,
			top_pos = ($(window).height() - $('#facebox').height()) / 2 - 50;
			$("#facebox").dequeue().animate({"left":left_pos, "top": top_pos}, "slow", "easeOutBack");
		}
}

function facebox_resize_textarea(){

		$("#facebox").find("textarea").hover(function(){
			textarea_resize = true
			}, function(){
			textarea_resize = false
			}
		)
		$("#facebox").find("textarea").mouseup(function(){
			if(textarea_resize){
				facebox_resize()
			}
		})
}

function facebox_alert(el_text, end_check)
{
	if (end_check == "end" || end_check == null){
	el_focus = null
	} else {
	el_focus = end_check
	};
	facebox_load("<h3 class='alert'>"+el_text+"</h3>");
	$("#facebox").addClass("alert_mes");
	window.setTimeout(function() {
		$("#alert_ok").focus();}, 1500);
}

$.fn.facebox = function()
{
		$(this).click(function(){
			el_focus = null
			var url_load = this.getAttribute("href")
			if (url_load.length > 1 && url_load.indexOf('#') == 0){
				var url_load_anchor = document.getElementById(url_load.substr("1"))
				facebox_load(url_load_anchor ? url_load_anchor.innerHTML : "Ошибка, блок с id='"+url_load.substr("1")+"' не найден")
			}
			else {
			$.ajax({
				url: url_load,
				beforeSend: function(){
					var loading_image = new Image()
					loading_image.id = "facebox_loading"
					loading_image.src = "/images/design/lightbox_green/loading.gif"
					body_tag.appendChild(loading_image)
				},
				error:function(){
					facebox_alert("Ошибка, не удается загрузить страницу")
				},
				success: function(html){
					facebox_load(html)
					}
				})
			}
			return false
		})
}


function insertAfter(elem, refElem) {
    var parent = refElem.parentNode
    var next = refElem.nextSibling
    if (next) {
        return parent.insertBefore(elem, next)
    } else {
        return parent.appendChild(elem)
    }
}

function style_checkbox(cont){
	var elem_inputs = document.getElementsByTagName("input"), elem_inputs_length = elem_inputs.length, class_check = /\bstyled_input\b/i;
	if(!ie8){
		for(var i=0;i<elem_inputs_length;i++){
			var el = elem_inputs[i], el_type = el.type
			if((el_type == "radio" || el_type == "checkbox") && !class_check.test(el.className)){
				el.className+=" styled_input"
				var el_span = document.createElement("span")
				el_span.className = "checkbox_input"
				el_span.setAttribute("onclick", "this.previousSibling.click()")
				insertAfter(el_span, el)
			}
		}
	} else {
		for(var i=0;i<elem_inputs_length;i++){
				var el = elem_inputs[i], el_type = el.type

				if((el_type == "radio" || el_type == "checkbox") && !class_check.test(el.className)){
					el.className+=" styled_input"
					var el_span = document.createElement("span")
					el_span.className = "checkbox_input"
					el_span.onclick = function(){
						this.previousSibling.click()
					}
					el.attachEvent("onclick", function(){
						checkbox_set_active()
					})
					insertAfter(el_span, el)
				}
			}
		checkbox_set_active()
	}
	

}

function checkbox_set_active(){
	for(var i=0, elem_inputs = document.getElementsByTagName("input"), elem_inputs_length = elem_inputs.length;i<elem_inputs_length;i++){
	var el = elem_inputs[i], el_type = el.type
		if(el.checked === true){
		el.nextSibling.className="checkbox_input active_input"
		} else if(el_type == "radio" || el_type == "checkbox"){
		el.nextSibling.className="checkbox_input"
		}
	}
}

function required_alert(el, el_text, el_topmar, no_focus){
	$("#required_mes").remove()
	var el_first;
	if(el.length > 1){
		 el_first = el[0]
	} else {
		 el_first = el
	}
	 el_text = el_text || el_first.getAtrribute("data-reqtext") || "Это поле обязательно"
	 el_topmar = el_topmar || 0
	 var el_left = $(el_first).offset().left,
			 el_top = $(el_first).offset().top+el_topmar,
			 doc_width = $(document).width(),
			 el_width = $(el_first).width(),
			 el_height = $(el_first).height();
			$(body_tag).append("<div id=\"required_mes\"><div><div>"+el_text+"</div></div></div>")
			var required_width = $("#required_mes").width();
			if(doc_width<(el_left+el_width+required_width+20)){
				//Слева
				$("#required_mes").addClass("required_mes_left").css({"left":el_left-required_width-5,"top":el_top-5})
			} else {
				//Справа
				$("#required_mes").css({"left":el_left+el_width+5,"top":el_top-5})
			}
			if(!no_focus){
				 el_first.focus()
			}
			if(el.length > 1){
				for(i=0;i<el.length;i++){
					$(el[i]).addClass("invalid_input")
				}
			} else {
					$(el).addClass("invalid_input")
				}
				
}

$(function(){
	body_tag = document.body
	
	
	if(!$.browser.webkit){
		$(body_tag).ajaxSuccess(function(){
			style_checkbox()
		})
		style_checkbox();
	}
	$(window).resize(function(){
		facebox_resize()
	})
	$(document).keydown(function(e){
		 if(e.keyCode == 27){
						facebox_close();
					}
	 });
	$("a:facebox").facebox()
	$("a:anchor").click(function(){
    var this_href = this.getAttribute("href"), grid_href = this_href.indexOf("#")+1
		this_href = this_href.substr(grid_href)
		el_focus = document.getElementById(this_href) || document.anchors[this_href]
    if(el_focus){
			get_position()
			$(anim_obj).animate({scrollTop: destination-100}, 1500 )
			arrow()
		}
    return false
  })
	$("#content").css({"min-height":$("#left_block").height() - $("#submenu").height() - 42});
	
	var leftmenu_home = -100, topmenu_home = -100;
	if($("#left_menu_ul .selectedLava").length > 0){
	leftmenu_home = 0;
	}
	if($("#submenu_ul .selectedLava").length > 0){
	topmenu_home = 0;
	}
	$("#submenu_ul").lavaLamp({fx:"swing",speed:400,returnDelay:100,homeTop:topmenu_home});
	$("#left_menu_ul").lavaLamp({homeTop:leftmenu_home});
	
	$(body_tag).mousedown(function(){
		$("#required_mes").remove()
	})
	$(".link_blank").click(function(){
		return !window.open(this.href);
	})
	$(".slider").click(function(){
		$(this.parentNode).next().toggle("slow")
		return false
	})
	if(!supportAttr("input","placeholder")){
		$("input,textarea").each(function(){
			var placeholder = this.getAttribute("placeholder")
			if(placeholder){
				if(this.value == "")$(this).val(placeholder).addClass("placeholder")
				$(this).focus(function(){
					if(this.value == placeholder)$(this).val("").removeClass("placeholder")
				}).blur(function(){
					if(this.value == ""){
						this.value=placeholder
						this.className+=" placeholder"
					}
				})
			}
		})
	}
	$("#right_request_form").submit(function(){
		var reg=/[0-9a-z_-а-яё\.]+@[0-9a-z_^\.\-а-яё]+\.[a-zа-яё]{2,}\.?/i
		this["check_spam"].value = "nospam"
		$(this).find(".placeholder").val("").removeClass("placeholder")
		if(this["request[name]"].value == ""){
			required_alert(this["request[name]"], "Укажите имя")
		} else if(!reg.test(this["request[email]"].value) && this["request[phone]"].value == ""){
			required_alert([this["request[phone]"],this["request[email]"]], "Укажите телефон или email", 15, 0)
		} else {
			var data = $(this).serialize(), el = this
			$.get('/request/ajax_send/', data, function(){
				facebox_alert("Спасибо! Ваша заявка отправлена!")
				facebox_close("3000")
				yaCounter7879672.hit('/request/ajax_send?i=1&from=' + location.href)

                                if(_gaq){                                                                                                             
                                     _gaq.push(['_trackPageview', '/request/right']);                                                                      
                                     _gaq.push(['_trackEvent', 'Forms', 'AJAX Form']);                                                                
                                }     

				setTimeout(function(){
					$(el).hide(1000, function(){
						$(this).remove()
					})
				}, 4000
				)
			})
		}
		$(this.elements).each(function(){
			if(this.value=="" && this.getAttriute("placeholder")){
				this.blur()
			}
		})
		return false
	})
})


if($.browser.mozilla && $.browser.version.substr(0,5) == "1.9.0"){
	$(function(){
		$(body_tag).addClass("ff3");
		$("#left_menu, #top_blocks .blue_block_back, #top_blocks > div, #left_news time").prepend("<div class=\"ff3_before\"></div>").append("<div class=\"ff3_after\"></div>");
		}
	)
}

