/*Changes
Add work form - add material
*/

$(document).ready(function() {
	var cookie_today = new Date();
	cookie_today = cookie_today.getTime() + 2592000000;
	var cookie_end_day = new Date(cookie_today);
	
	function items_width() {
		var itemsWidth = 0;
		$("#index_bookmarks div.items").find(".item").each(function() {
			itemsWidth+=$(this).outerWidth();
		}).end().width(itemsWidth);
	}
	items_width();
	$("#index_bookmarks .item a").click(function() {
		$(this).closest("div.item").addClass("checked").siblings("div.item").removeClass("checked");
		if($(this).closest("div.item").hasClass("ideas")) {
			$("#scroll_menu_carousel").removeClass("catalogue").addClass("ideas").find("li").removeClass("act").end().find("li.ideas:eq(0)").click().end().css({width:$("#scroll_menu_carousel > li:visible").size()*170});
		}
		else {
			$("#scroll_menu_carousel").addClass("catalogue").removeClass("ideas").find("li").removeClass("act").end().find("li.catalogue:eq(0)").click().end().css({width:$("#scroll_menu_carousel > li:visible").size()*170});
		}
		$("#scroll_menu a.left_corner").click();
		
		items_width();
		winResize();
		return false;
	});
	
	$("div.vert_carousel").vert_carousel();
	$("#search a").click(function() {
		if($("#catalogue_search").is("div")) {
			$("#catalogue_search div.form_field:first label a").click();
			return false;
		}
	});
	$("#blogs_block h2 a").click(function() {
		var $a=$(this), aText=$a.text(), spanText=$a.siblings("span").text();
		$("#blogs_block div.list").hide();
		$("#"+$a.attr("rel")).show();
		$a.attr({rel:$("#blogs_block div.list:hidden").attr("id")}).text(spanText);
		$a.siblings("span").text(aText);
		return false;
	});
	
	/*$("#personal_basket form").each(function() {
		if(parseInt($(this).find("div.summ").text()) < 5000) {
			$(this).addClass("under_limit");
		}
		else {
			$(this).removeClass("under_limit");
		}
	})
	.find(":text").keyup(function() {
		$(this)
	});*/
	
	$("#delivery_companies")
	.find("div.item")
	.hover(function() {
			$(this).addClass("hover");
		}, function() {
			$(this).removeClass("hover");
		})
		.click(function() {
			$(this).find(":radio").click();
		})
	.end()
	.find(":radio").click(function(e) {
			$(this).closest("div.items_block").find("div.item").removeClass("checked");
			$(this).closest("div.item").addClass("checked");
			e.stopPropagation();
		})
	.end()
	.find(":checked").click();
	
	
	$("#add_work_form").addForm();
	$("#feedback_form input.text[value='']:eq(0)").each(function() {
		if($(this).closest("div.captcha").size()!=0) {
			if($("#feedback_form textarea").text() == "") {
				$("#feedback_form textarea").focus();
			}
			else {$(this).focus();
			}
		}
		else {
			$(this).focus();
		}
	});
	$(document).click(function() {
		$("#ci_settings div.frame").removeClass("visible");
		$("div.filter span.select span.wrapper").slideUp("middle");
	}).keydown(function(e) {
		NavigateThrough(e);
	});
	$("button, input.submit").hover(function() {
		$(this).addClass("hover");
	}, function() {
		$(this).removeClass("hover");
	}).mousedown(function() {
		$(this).addClass("active");
	}).mouseup(function() {
		$(this).removeClass("active");
	});
	$("#personal_anketa :password").attr({value:""});
	/*$("form button, form input.submit").bind("click", function() {$(this).closest("form").prepend("<div>form_button</div>");
		//checkForm(this);
		return false;
	});*/
	$("form").keyup(function(e) {
		var t = e.target || e.srcElement;
		if ((e.ctrlKey && e.keyCode == 13) || e.keyCode == 10) {
			checkForm(this);
			return false;
		}
		else if(e.keyCode == 13 && t.tagName != "TEXTAREA") {
			checkForm(this);
			return false;
		}
	}).click(function(e) {
		var t = e.target || e.srcElement;
		if(t.tagName == "BUTTON" || (t.tagName == "INPUT" && t.getAttribute("type") == "submit")) {
			checkForm(this, t.getAttribute("name"));
			return false;
		}
	});
	
	if(getCookie("catalogue_view") == "blocks") {
		$("div.catalogue_list div.catalogue_switch a").each(function() {
			$(this).removeClass("lines").addClass("blocks");
			$(this).closest("div.catalogue_list").find("div.blocks").addClass("lines").end().find("div.item").each(function() {
				var imageContent = $(this).find("td.image").html();
				var nameContent = $(this).find("td.name").find("h3").remove();
				var artContent = $(this).find("div.art").remove() || "";
				var priceContent = $(this).find("td.name").html();
				
				$(this).find("table").empty().append('<tr><td class="image">' + imageContent + '</td><td class="art">' + artContent.html() + '</td><td class="name"><h3>' + nameContent.html() + '</h3></td><td class="price">' + priceContent + '</td></tr>');
			});
		});
	}
	if(getCookie("catalogueb2b_view") == "simple_list") {
		$("div.catalogue_list_b2b div.catalogue_switch a").each(function() {
			$(this).removeClass("blocks").addClass("lines");
			$(this).closest("div.catalogue_list_b2b").find("table.list").addClass("simple_list");
		});
	}
	
	$("#personal_basket div.reload a").click(function() {
		$("#personal_basket div.reload").append('<input type="hidden" name="BasketRefresh" value="1" />')
		$(this).closest("form").submit();
		return false;
	});
	$("div.filter span.select span.left").click(function(e) {
		$(this).parent().find("span.wrapper").slideToggle("middle");
		stopEvent(this, e);
	});
	$("#scroll_menu_carousel li").each(function() {
			var bigImg = $(this).find("img.big");
			var liImg = new Image();
			liImg.src = bigImg.attr("src");
			var liImgWidth = liImg.width || bigImg.attr("width");
			var liImgHeight = liImg.height || bigImg.attr("height");
			var liImgRatio = 1;
			if(liImgWidth > 350) {
				liImgRatio = liImgWidth/350;
				if(liImgHeight/liImgRatio > 350) {
					liImgRatio = liImgHeight/350;
				}
			}
			else if(liImgHeight > 350) {
				liImgRatio = liImgHeight/350;
			}
			bigImg.attr({
				width:liImgWidth/liImgRatio,
				height:liImgHeight/liImgRatio
			})
		}).click(function() {
		$(this).siblings("li").removeClass("act").end().addClass("act");
		var liLink = $(this).find("a.link");
		$("#index_big_item td.image").find("img").remove().end().find("a").attr({href:$(liLink).attr("href")}).append($(this).find("img.big").clone());
		$("#index_big_item td.text").find("h2").empty().append(liLink.clone().append($(this).find("h3").clone().text())).end().find("div.anons").empty().html($(this).find("div.text").html()).end().find("div.price").empty().html($(this).find("div.price").html());
		
		clearInterval(scrollElemInterval);
		scrollElemInterval = setInterval(function() {scrollInterval();}, 2000);
	});
	
	function scrollInterval() {
		$scrollNextAnchor = $("#scroll_menu_carousel li.act");
		if($scrollNextAnchor.next("li").is("li") && $scrollNextAnchor.next("li").is(":visible")) {
			$scrollNextAnchor = $scrollNextAnchor.next("li");
		}
		else {
			$scrollNextAnchor = $("#scroll_menu_carousel li:visible:eq(0)");
		}
		$scrollNextAnchor.click();
	}
	
	var $scrollNextAnchor, scrollElemInterval = setInterval(function() {scrollInterval();}, 2000);
	
	$("#rating span.scale a").hover(function() {
		for (var i = 0; i <= $("#rating span.scale a").index(this); i++) {
			$("#rating span.scale a:eq(" + i + ")").addClass("hover");
		}
	}, function() {
		$("#rating span.scale a").removeClass("hover");
	});
	$("#add_shop a.add_button").click(function() {
		$(this).hide();
		$("#add_shop form").slideDown("middle",function() {
			$.scrollTo("#add_shop", 500);
			$("#add_shop form input.text:eq(0)").focus();
		});
		return false;
	});
	$("#add_shop a.close").click(function() {
		$("#add_shop form").slideUp("middle", function() {$("#add_shop a.add_button").show();
		});
		return false;
	});
	$("#add_shop").each(function() {if(String(window.location).slice(String(window.location).indexOf("#")+1) == "form") {$("#add_shop a.add_button").click();}});
	$("#registration_b2b:visible input.text[value='']:eq(0), #registration_individual:visible input.text[value='']:eq(0)").focus();
	$("#registration_b2b div.switch a").click(function() {
		$("#registration_individual").removeClass("hidden");
		$("#registration_b2b").addClass("hidden");
		$.scrollTo("#registration_individual", 500);
		$("#registration_individual input.text[value='']:eq(0)").focus();
		return false;
	});
	$("#registration_individual div.switch a").click(function() {
		$("#registration_b2b").removeClass("hidden");
		$("#registration_individual").addClass("hidden");
		$.scrollTo("#registration_b2b", 500);
		$("#registration_b2b input.text[value='']:eq(0)").focus();
		return false;
	});
	if(String(location.href).indexOf('#') != -1) {
		var formName = String(location.href).substr(String(location.href).indexOf('#')+1);
		switch(formName) {
			case "registration_b2b":formName="registration_individual";break;
			case "registration_individual":formName="registration_b2b";break;
		}
		$("#"+formName+" div.switch a").click();
	}
	$("#faq_list div.item").animate({opacity:0}, 400).slideUp(800,function() {
		$("#faq_list div.reply").css({display:"none"});
		$("#faq_list div.item").animate({opacity:1}, 200)
	});
	$("#faq_list h2 a").click(function() {
		$(this).closest("div.group").find("div.item").slideToggle("middle",function() {
			$(this).closest("div.group").find("a.reply").removeClass("hide").end().find("div.reply").css({display:"none"});
		});
		return false;
	});
	$("#faq_list a.reply").click(function() {
		$(this).toggleClass("hide").closest("div.item").find("div.reply").slideToggle("middle");
		return false;
	});
	$("#personal_anketa h2").click(function() {
		var $fieldset = $(this).next("fieldset");
		$(this).find("span.show_hide").toggleClass("hidden");
		$fieldset.find("div.form_field").css({visibility:"hidden"}).end().slideToggle("middle", function() {$fieldset.find("div.form_field").css({visibility:"visible"})});
	});
	$("div.catalogue_switch a").click(function() {
		if($(this).hasClass("blocks")) {
			this.className = "blocks_slide";
			$(this).animate({left:"24"},"middle",function() {this.className = "lines";
			});
			
			$(this).closest("div.catalogue_list").find("div.lines").removeClass("lines").end().find("div.item").each(function() {
				var imageContent = $(this).find("td.image").html();
				var nameContent = $(this).find("td.name").find("h3").html();
				var priceContent = $(this).find("td.price").html();
				var artContent = '<div class="art">'+$(this).find("td.art").html()+'</div>';
				
				$(this).find("table").empty().append('<tr><td class="image">' + imageContent + '</td></tr>').append('<tr><td class="name"><h3>' + nameContent + '</h3>' + artContent + priceContent + '</td></tr>');
			});
			if(this.parentNode.parentNode.className != "catalogue_list_b2b") {setCookie("catalogue_view","lines",cookie_end_day, "/");
			}
		}
		else if($(this).hasClass("lines")) {
			this.className = "lines_slide";
			$(this).animate({left:"-1"},"middle",function() {this.className = "blocks";
			});
			
			$(this).closest("div.catalogue_list").find("div.blocks").addClass("lines").end().find("div.item").each(function() {
				var imageContent = $(this).find("td.image").html();
				var nameContent = $(this).find("td.name").find("h3").remove();
				var artContent = $(this).find("div.art").remove() || "";
				var priceContent = $(this).find("td.name").html();
				
				$(this).find("table").empty().append('<tr><td class="image">' + imageContent + '</td><td class="art">' + artContent.html() + '</td><td class="name"><h3>' + nameContent.html() + '</h3></td><td class="price">' + priceContent + '</td></tr>');
			});
			if(this.parentNode.parentNode.className != "catalogue_list_b2b") {setCookie("catalogue_view","blocks",cookie_end_day, "/");
			}
		}
		return false;
	});
	$("div.catalogue_list_b2b div.catalogue_switch a").bind("click", function() {
		$(this).closest("div.catalogue_list_b2b").find("table.list").toggleClass("simple_list");
		if($(this).closest("div.catalogue_list_b2b").find("table.list").hasClass("simple_list")) {
			setCookie("catalogueb2b_view","simple_list",cookie_end_day, "/");
		}
		else {setCookie("catalogueb2b_view","complete_list",cookie_end_day, "/");
		}
		return false;
	});
	$("#ci_settings").click(function(e) {
		stopEvent(this, e);
	});
	$("#ci_settings a.button").click(function() {
		$(this).prev("div.frame").toggleClass("visible");
		return false;
	});
	$("#catalogue_item div.preview a").each(function() {
		var previewImage = new Image();
		previewImage.src = this.getAttribute("href");
		$(this).parent().append('<i style="width:' + $(this).children("img").width() + 'px; height:' + $(this).children("img").height() + 'px"></i>').append('<b style="width:' + $(this).children("img").width() + 'px; height:' + $(this).children("img").height() + 'px"></b>');
		if($(this).attr("href") == $(this).closest("div.preview").prev("img").attr("src")) {
			$(this).parent().addClass("act");
		}
	}).click(function() {
		var previewImage = new Image();
		previewImage.src = this.getAttribute("href");
		if(previewImage.width>350) {
			var ratio = previewImage.width/350;
			previewImage.width=350;
			previewImage.height=previewImage.height/ratio;
		}
		$(this).closest("div.preview").prev("img").attr({src:previewImage.src, width:previewImage.width, height:previewImage.height}).end().children("span").removeClass("act");
		$(this).parent().addClass("act");
		return false;
	});
	
	$("#reply_form div.close a").click(function() {
		$("#reply_form").slideUp("middle");
		$("#comments_block a.reply").css({display:"inline"});
		return false;
	});
	$("#comments_block h2 a, #shop_info a.shop_comment").click(function() {
		$.scrollTo("a[name='comment']:eq(0)", 500);
		$("#comment_form textarea").focus();
		return false;
	});
	$("#comments_block a.reply").click(function() {
		$("#reply_form").css({display:"none"}).appendTo($(this).parent().next("div.reply")).slideDown("middle").find("div.attention").removeClass("attention").end().find("input[name='cId']").attr({value:$(this).closest("div.comment").children("div.frame").find("input[name='cId']").attr("value")}).find("textarea").focus();
		$("#comments_block a.reply").css({display:"inline"});
		$(this).css({display:"none"});
		return false;
	});
	$("#comments_block a.delete").click(function(){
		if(!confirm("Удалить комментарий?")) {return false;
		}
	});
	$("#comments_block a.edit").click(function(){
		$(this).closest("div.frame").find("div.edit_comment").show().prev("div.text").hide().end().find("textarea").focus();
		return false;
	});
	$("#personal_basket td.delete a").click(function(){
		if(!confirm("Удалить?")) {return false;
		}
	});
	
	//popup
	$.fn.alignCenter = function() {
      var marginLeft =  - $(this).width()/2 + 'px';
      var marginTop =  - $(this).height()/2 + 'px';
      return $(this).css({'margin-left':marginLeft, 'margin-top':marginTop});
   };

   $.fn.togglePopup = function(){
     if($('#popup').hasClass('hidden'))
     {
       if($.browser.msie) {
         $('#opaco').height($(document).height()).toggleClass('hidden')
                    .click(function(){$(this).togglePopup();});
       }
       else {
         $('#opaco').height($(document).height()).toggleClass('hidden').fadeTo('slow', 0.7)
                    .click(function(){$(this).togglePopup();});
       }

       $('#popup')
         .html($(this).html())
         .alignCenter()
         .toggleClass('hidden');
		$('#popup div.close a').click(function() {
			$(this).closest("popup").togglePopup();
			return false;
		});
		$("button").hover(function() {
			$(this).addClass("hover");
		}, function() {
			$(this).removeClass("hover");
		}).mousedown(function() {
			$(this).addClass("active");
		}).mouseup(function() {
			$(this).removeClass("active");
		});
		$("#popup form button").unbind("click").bind("click", function() {
			checkForm(this);
			return false;
		});
     }
     else {
       $('#opaco').toggleClass('hidden').removeAttr('style').unbind('click');
       $('#popup').toggleClass('hidden');
     }
   };
   
	$("a.sign_in").click(function() {
		$('#sign_in_popup').togglePopup();
		return false;
	});
	
	
	
	$("#catalogue_search label > a").click(function() {
		$(this).parent().next("div.hidden").slideToggle("200").find("input").focus().end().find("select").focus();
		return false;
	});
	$("#catalogue_search div.close > a").click(function() {
		$(this).parent().siblings("input.text").attr({value:""}).parent().slideToggle("fast");
		$(this).parent().siblings("select").children("option:eq(0)").attr({selected:"selected"}).parent().parent().slideToggle("fast");
		return false;
	});
	
	//carousel
	$("#scroll_menu_carousel").css({width:$("#scroll_menu_carousel > li:visible").size()*170});
	
	//vars
	$("#scroll_menu div.clip").width($("#scroll_menu div.container").width());
	$(window).resize(function() {
		winResize();
	});
	listPathValue = $("#scroll_menu_carousel").width()-$("#scroll_menu div.clip").width();
	sliderPathValue = $("#scroll_menu div.slider_path").width()-$("#scroll_menu div.slider").width();
	scrollRatio = listPathValue/sliderPathValue;
	listObject = $("#scroll_menu_carousel");
	//pointers
	$("#scroll_menu a.next").click(function() {
		$("#scroll_menu a.prev").removeClass("disabled").removeClass("prev_disabled");
      	if($(this).hasClass("disabled")) {return false;
      	}
      	else {
      		listLeftValue = listLeftValue-170;
			listLeftValue = listLeftValue - listLeftValue%170;
      		if(listLeftValue<-1*listPathValue) {
      			listLeftValue = -1*listPathValue;
      		}
			$(listObject).animate({left:listLeftValue}, "middle");
			//slider
			sliderLeftValue = -1 * listLeftValue/scrollRatio;
			$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
			});
			
      		if(listLeftValue<=-1*listPathValue) {
				$(this).addClass("disabled").addClass("next_disabled");
      		}
			return false;
      	}
	});
	$("#scroll_menu a.prev").click(function() {
		$("#scroll_menu a.next").removeClass("disabled").removeClass("next_disabled");
      	if($(this).hasClass("disabled")) {return false;
      	}
      	else {
      		listLeftValue = listLeftValue+170;
			listLeftValue = listLeftValue - listLeftValue%170;
      		if(listLeftValue>0) {
      			listLeftValue = 0;
      		}
			$(listObject).animate({left:listLeftValue}, "middle");
			//slider
			sliderLeftValue = -1 * listLeftValue/scrollRatio;
			$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
			});
      		if(listLeftValue>=0) {
				$(this).addClass("disabled").addClass("prev_disabled");
      		}
			return false;
      	}
	});
	//sliderMove();
	$("#scroll_menu").disableTextSelect();
	if(document.getElementById("scroll_menu")) {
		oldX = pageX($("#scroll_menu div.slider")[0]);
	}
	
	$("#scroll_menu div.slider").draggable({
		axis:'x',
		containment:'.slider_path',
		start:function() {
			$("#scroll_menu a.next").removeClass("next_disabled").removeClass("disabled");
			$("#scroll_menu a.prev").removeClass("prev_disabled").removeClass("disabled");
		},
		drag:function(e) {
			newX = pageX($("#scroll_menu div.slider")[0]);/*e.pageX;*/
			if((sliderLeftValue + newX - oldX) > 0 && (sliderLeftValue + newX - oldX) < sliderPathValue) {
				sliderLeftValue = sliderLeftValue + newX - oldX;
				listLeftValue = -1*Math.ceil(sliderLeftValue*scrollRatio);
			}
			if((sliderLeftValue + newX - oldX) <= 0) {
				sliderLeftValue = 0;
				listLeftValue = 0;
			}
			if((sliderLeftValue + newX - oldX) >= sliderPathValue) {
				sliderLeftValue = sliderPathValue;
				listLeftValue = -listPathValue;
			}
			$(listObject).css({left:listLeftValue});
			oldX = newX;
		},
		stop:function() {
			if(sliderLeftValue != 0) {
				$("#scroll_menu a.prev").removeClass("prev_disabled").removeClass("disabled");
			}
			else if(sliderLeftValue == 0) {
				$("#scroll_menu a.prev").addClass("prev_disabled").addClass("disabled");
			}
			if(sliderLeftValue != sliderPathValue) {
				$("#scroll_menu a.next").removeClass("next_disabled").removeClass("disabled");
			}
			else if(sliderLeftValue == sliderPathValue) {
				$("#scroll_menu a.next").addClass("next_disabled").addClass("disabled");
			}
		}
	});
	$("#scroll_menu div.scroll_panel div.panel").click(function(e) {
		var eventX = e.pageX;
		var sliderPathX = pageX($("#scroll_menu div.slider_path")[0]);
		var sliderPathLength = $("#scroll_menu div.slider_path").width();
		if(eventX < sliderPathX || eventX > sliderPathX+sliderPathLength) {return false;
		}
		else {
			//disable pointers
			$("#scroll_menu a.next").removeClass("next_disabled").removeClass("disabled");
			$("#scroll_menu a.prev").removeClass("prev_disabled").removeClass("disabled");
			//move
			sliderLeftValue = e.pageX - pageX($("#scroll_menu div.slider_path")[0]) - 0.5*$("#scroll_menu div.slider").width();
			if(sliderLeftValue < 0) {
				sliderLeftValue = 0;
			}
			else if(sliderLeftValue > sliderPathValue) {
				sliderLeftValue = sliderPathValue;
			}
			listLeftValue = -1 * sliderLeftValue * scrollRatio;
			if(listLeftValue > 0) {
				listLeftValue = 0;
			}
			else if(listLeftValue < -1 * listPathValue) {
				listLeftValue = -listPathValue;
			}
			$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
			});
			$(listObject).animate({left:listLeftValue}, "middle");
			//enable pointers
			if(sliderLeftValue != 0) {
				$("#scroll_menu a.prev").removeClass("prev_disabled").removeClass("disabled");
			}
			else if(sliderLeftValue == 0) {
				$("#scroll_menu a.prev").addClass("prev_disabled").addClass("disabled");
			}
			if(sliderLeftValue != sliderPathValue) {
				$("#scroll_menu a.next").removeClass("next_disabled").removeClass("disabled");
			}
			else if(sliderLeftValue == sliderPathValue) {
				$("#scroll_menu a.next").addClass("next_disabled").addClass("disabled");
			}
		}
	});
	$("#scroll_menu div.scroll_panel a.left_corner").click(function(e) {
		//disable pointers
		$("#scroll_menu a.next").removeClass("next_disabled").removeClass("disabled");
		$("#scroll_menu a.prev").addClass("prev_disabled").addClass("disabled");
		//move
		sliderLeftValue = 0;
		listLeftValue = 0;
		$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
		});
		$(listObject).animate({left:listLeftValue}, "middle");
		return false;
	});
	$("#scroll_menu div.scroll_panel a.right_corner").click(function(e) {
		//disable pointers
		$("#scroll_menu a.next").addClass("next_disabled").addClass("disabled");
		$("#scroll_menu a.prev").removeClass("prev_disabled").removeClass("disabled");
		//move
		sliderLeftValue = sliderPathValue;
		listLeftValue = -listPathValue;
		$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
		});
		$(listObject).animate({left:listLeftValue}, "middle");
		return false;
	});
	
	$("#add_topic_settings").find("fieldset.special").find("label.radio").click(function() {
		$("#add_topic_settings div.hidden").slideDown("middle");
		$(this).addClass("checked");
	}).end().end().find("fieldset.default").find("label.radio").click(function() {
		$("#add_topic_settings div.hidden").slideUp("middle", function() {$("#add_topic_settings fieldset.special label.checked").removeClass("checked");});
		
	});
});

var listPathValue, sliderPathValue, scrollRatio, sliderLeftValue, listObject, oldX, newX;
var listLeftValue = 0;
var sliderLeftValue = 0;
function winResize() {
	$("#scroll_menu div.clip").width(700).width($("#scroll_menu div.container").width());
		var carouselW = $("#scroll_menu_carousel").width();
		var clipW = $("#scroll_menu div.clip").width();
		listPathValue = carouselW-clipW;
		sliderPathValue = $("#scroll_menu div.slider_path").width()-$("#scroll_menu div.slider").width();
		scrollRatio = listPathValue/sliderPathValue;
		
		if(carouselW < clipW) {
			listLeftValue = 0;
			$("#scroll_menu a.prev").addClass("disabled").addClass("prev_disabled");
			$("#scroll_menu a.next").addClass("disabled").addClass("next_disabled");
		}
		else if(carouselW+listLeftValue <= clipW) {
			listLeftValue = -carouselW + clipW;
			if(listLeftValue == 0) {$("#scroll_menu a.next").removeClass("disabled").removeClass("next_disabled");
			}
			$("#scroll_menu a.next").addClass("disabled").addClass("next_disabled");
		}
		else if(carouselW+listLeftValue > clipW) {
			if(listLeftValue == 0) {$("#scroll_menu a.next").removeClass("disabled").removeClass("next_disabled");
			}
			else {
				$("#scroll_menu a.prev").removeClass("disabled").removeClass("prev_disabled");
				$("#scroll_menu a.next").removeClass("disabled").removeClass("next_disabled");
			}
		}
		
		sliderLeftValue = -listLeftValue/scrollRatio;
		if(sliderLeftValue < 0) {
			sliderLeftValue = 0;
		}
		else if(sliderLeftValue > sliderPathValue) {
			sliderLeftValue = sliderPathValue;
		}
		$(listObject).animate({left:listLeftValue}, "middle");
		$("#scroll_menu div.slider").animate({left:sliderLeftValue}, "middle", function() {oldX = pageX($("#scroll_menu div.slider")[0]);
		});
}

function pageX(elem) {
	return elem.offsetParent ?
	elem.offsetLeft + pageX( elem.offsetParent ) :
	elem.offsetLeft;
}

function copyrightString(workingYear) {
	var currentDay = new Date();
	var currentYear = new String(currentDay.getFullYear(currentDay));
	if (workingYear != currentYear) {
		var string = new String(" " + workingYear + "  &mdash; " + currentYear);
	}
	else {
		var string = new String(" " + workingYear);
	}
	$("#copyright_string").append("" + string + "");
}

function checkForm(form_element, tName) {
	var formElement = form_element;
	var form = $(formElement).closest("form");
	var flag = 0;
	var firstElement;
	if(form.parent().attr("id") == "forget_password") {
		if ($(form).find("input.text:eq(0)").attr("value") != "") {
			form.submit();
		}
		else if($(form).find("input.text:eq(1)").attr("value") != "") {
			var mail = $(form).find("input.text:eq(1)").attr("value");
			var mailRegex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
			if(!mail.match(mailRegex)){
				$(form).find("input.text:eq(1)").parent().addClass("attention");
				return false;
			}
			else {form.submit();
			}
		}
		else {
			$(form).find("input.text").each(function() {
				$(this).parent().addClass("attention");
			});
			return false;
		}
	}
	else {
		$(form).find("input.text").each(function() {
			if ($(this).attr("value") == "" && $(this).attr("type") != "password" && $(this).parent().find("span.important").text() != "") {
				$(this).parent().addClass("attention");
				if(flag == 0) {firstElement = this;
				}
				flag = 1;
			}
			else if ($(this).attr("name").toLowerCase().search("mail") != -1 && $(this).parent().find("span.important").text() != "") {
				var mail = $(this).attr("value");
				var mailRegex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i;
				if(!mail.match(mailRegex)){
					$(this).parent().addClass("attention");
					if(flag == 0) {firstElement = this;
					}
					flag = 1;
				}
				else {$(this).parent().removeClass("attention");
				}
			}
			else {
				$(this).parent().removeClass("attention");
			}
			
			var confirmPasswordField="";
			var passwordField;
			$(form).find("input:password").each(function() {
				if ($(this).attr("name").toLowerCase().search("confirm") != -1) {
					confirmPasswordField = this;
				}
				else {
					passwordField = this;
				}
			});
			if(confirmPasswordField == "") {
				if($(passwordField).attr("value") == "") {
					$(passwordField).parent().addClass("attention");
					if(flag == 0) {firstElement = passwordField;
					}
					flag = 1;
				}
			}
			else {
				if(form.parent().attr("id") == "new_password" && ($(passwordField).attr("value") == "" || $(passwordField).attr("value") != $(confirmPasswordField).attr("value"))) {
					$(passwordField).parent().removeClass("attention");
					$(confirmPasswordField).parent().addClass("attention");
					if(flag == 0) {firstElement = confirmPasswordField;
					}
					flag = 1;
				}
				else {
					if ($(passwordField).attr("value") == "") {
						$(passwordField).parent().removeClass("attention");
						$(confirmPasswordField).parent().removeClass("attention");
					}
					else if (($(passwordField).attr("value") != "" && $(confirmPasswordField).attr("value") == "") || ($(passwordField).attr("value") != "" && $(confirmPasswordField).attr("value") != "" && $(passwordField).attr("value") != $(confirmPasswordField).attr("value"))) {
						$(passwordField).parent().removeClass("attention");
						$(confirmPasswordField).parent().addClass("attention");
						if(flag == 0) {firstElement = confirmPasswordField;
						}
						flag = 1;
					}
				}
			}
		});
		$(form).find("textarea").each(function() {
			if (($(this).attr("value") == "" && $(this).html() == "" && $(this).text() == "") && $(this).parent().find("span.important").text() != "") {
				$(this).parent().addClass("attention");
				if(flag == 0) {firstElement = this;
				}
				flag = 1;
			}
			else {
				$(this).parent().removeClass("attention");
			}
		});
		if($(form).closest("div.frame_block").attr("id") == "catalogue_search") {
			var csFlag = 1;
			$(form).find("input.text").each(function() {
				if ($(this).attr("value") != "") {
					csFlag = 0;
				}
			}).end().find("option:selected").each(function() {
				if ($(form).find("option").index($(this)) != 0) {
					csFlag = 0;
				}
			}).end().find(":checked").each(function() {
				if ($(this).attr("id") != "") {
					csFlag = 0;
				}
			});
			if (csFlag == 0) {$(form).submit();
			}
			else {
				return false;
			}
		}
		if(tName) {
			$("#form_button_name").attr({name:tName});
		}
		if (flag == 0) {
			if(form.parent().attr("id") == "add_work_form") {
				if(form.find("span.preloader").size() != 0) {
					$("body").append('<div class="hidden" id="add_progress_popup"><div class="popup_frame popup" id="add_progress"><div class="f_top"><div class="tl"></div><div class="tr"></div></div><div class="f_left"><div class="f_right"><div class="f_bg"><h2>Дождитесь загрузки картинок</h2><div class="bar"></div></div></div></div><div class="f_bottom"><div class="bl"></div><div class="br"></div></div></div></div>');
					$("#add_progress_popup").togglePopup();
					var prelod = setInterval(function() {if(form.find("span.preloader").size() == 0) {form.submit();}}, 500);
					return false;
				}
			}
			$(form).submit();
		}
		else {
			if(form.attr("id") == "personal_anketa" || form.parent().attr("id") == "registration_b2b" || form.parent().attr("id") == "registration_individual") {
				$.scrollTo(firstElement.parentNode, 500);
			}
			firstElement.focus();
			return false;
		}
	}
}

function stopEvent(object, e) {
	if(!e) e = window.event;
	if(e.stopPropagation) e.stopPropagation();
	else e.cancelBubble = true;
}

/**
 * .disableTextSelect - Disable Text Select Plugin
 *
 * Version: 1.0
 * Updated: 2007-08-11
 *
 * Used to stop users from selecting text
 *
 * Copyright (c) 2007 James Dempster (letssurf@gmail.com, http://www.jdempster.com/category/jquery/disabletextselect/)
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 **/

/**
 * Requirements:
 * - jQuery (John Resig, http://www.jquery.com/)
 **/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('(0($){6($.7.c){$.3.5=0(){2 1.4(0(){$(1).d({\'a\':\'b\'})})}}8 6($.7.i){$.3.5=0(){2 1.4(0(){$(1).f(\'g\',0(){2 9})})}}8{$.3.5=0(){2 1.4(0(){$(1).h(0(){2 9})})}}})(e);',19,19,'function|this|return|fn|each|disableTextSelect|if|browser|else|false|MozUserSelect|none|mozilla|css|jQuery|bind|selectstart|mousedown|msie'.split('|'),0,{}))

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

function setCookie(name, value, expires, path, domain, secure) {
        var curCookie = name + "=" + escape(value) +
                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                ((secure) ? "; secure" : "");
				 document.cookie = curCookie;
}

function getCookie(name) {
        var prefix = name + "="
        var cookieStartIndex = document.cookie.indexOf(prefix)
        if (cookieStartIndex == -1)
                return null
        var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function deleteCookie(name, path, domain) {
	if (getCookie(name)) {
			document.cookie = name + "=" + 
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT"
	}
}
//навигация с помощью стрелок
function NavigateThrough(event) {
	if (!document.getElementById) return;
	if (window.event) event = window.event;
	if (event.ctrlKey) {
		if(document.getElementById("index_prods_ideas")) {
			switch (event.keyCode ? event.keyCode : event.which ? event.which : null) {
				case 0x25: $("#index_prods_ideas a.prev").click(); break;
				case 0x27: $("#index_prods_ideas a.next").click(); break;
			}
		}
		else {
			var link = null;
			var href = null;
			switch (event.keyCode ? event.keyCode : event.which ? event.which : null) {
				case 0x25: link = document.getElementById ('PrevLink'); break;
				case 0x27: link = document.getElementById ('NextLink'); break;
				case 0x24: href = '/'; break;
			}
			if (link && link.href) document.location = link.href;
			if (href) document.location = href;
		}
	}
}

(function($){
	var defaults = {};
	$.fn.addForm = function(params){
		var options = $.extend({}, defaults, params);
		
		$(this).each(function() {
			$this=$(this);
			$this.delegate("div.materials a.add", "click", function() {
				methods.addMaterial($(this));
				return false;
			}).delegate("span.delete", "click", function() {
				methods.removeMaterial($(this));
				return false;
			}).delegate("a.delete_stage", "click", function() {
				methods.removeStage($(this));
				return false;
			});
			$("#add_stage a.add").click(function() {
				methods.addStage();
				return false;
			});
			
			options.nameAutocomplete = {
				arrays:[{ajax:"ajax[].name", url:/*"/js/prod.php"*/"/bitrix/components/ars/add.works/search.php?name="}],
				num:5,
				total:"",
				onSelect:function($this, resultUi, li, arrayObject, event) {
					$this.val(li.text());
					for(var i=0; i<arrayObject.ajaxArray.length; i++) {
						if(String(arrayObject.ajaxArray[i].name).replace(/&quot;/g, '"') == $this.val()) {$this.closest("tr").children("td.art").children("input").val(arrayObject.ajaxArray[i].art);}
					}
					setTimeout(function() {resultUi.hide().empty()}, 150);
					return false;
				}
			};
			
			options.artAutocomplete = {
				arrays:[{ajax:"ajax[].art", url:/*"/js/prod.php"*/"/bitrix/components/ars/add.works/search.php?article="}],
				num:5,
				total:"",
				onSelect:function($this, resultUi, li, arrayObject, event) {
					$this.val(li.text());
					for(var i=0; i<arrayObject.ajaxArray.length; i++) {
						if(arrayObject.ajaxArray[i].art == $this.val()) {$this.closest("tr").children("td.name").children("input").val(String(arrayObject.ajaxArray[i].name).replace(/&quot;/g, '"'));}
					}
					setTimeout(function() {resultUi.hide().empty()}, 150);
					return false;
				}
			};
			
			$this.find("td.name").find("input").fc_autocomplete(options.nameAutocomplete);
			$this.find("td.art").find("input").fc_autocomplete(options.artAutocomplete);
			
			var methods={
				stageNum:function($elem) {
					return $("#add_work_stages div.stage").index($elem.closest("div.stage"));
				},
				addMaterial:function($elem) {
					var $tr = $('<tr><td class="name"><input type="text" value="" name="stage0_material_name[]" class="text" autocomplete="off" /></td><td class="art"><input type="text" value="" name="stage0_material_art[]" class="text" autocomplete="off" /></td><td class="buttons"><span class="delete" title="Удалить материал"></span></td></tr>');
					/*$elem.closest("div.stage").find("div.materials").find("tbody")*/$("#add_work_summary div.materials tbody").append($tr);
					$tr.find("td.name").find("input").fc_autocomplete(options.nameAutocomplete);
					$tr.find("td.art").find("input").fc_autocomplete(options.artAutocomplete);
				},
				removeMaterial:function($elem) {
					if(confirm("Удалить материал?")) {
						if($elem.closest("tbody").children("tr").size()==1) {
							methods.addMaterial($elem);
						}
						$elem.closest("tr").remove();
					}
				},
				addStage:function() {
					var num=$("#add_work_stages div.stage").size(), uniqueId=new Date().getTime();
					 $("#add_stage").before('<div class="stage"><a href="#" class="delete_stage">Удалить этап</a><h2>Этап '+(num+1)+'</h2><div class="form_field"><label>Название этапа:</label><input type="text" name="stage_name[]" value="" class="text" /></div><div class="form_field"><label>Описание этапа:</label><textarea rows="10" cols="20" name="stage_description[]"></textarea></div><div class="form_field"><label>Фото:</label><input type="hidden" name="stage_photo[' + num + ']" /><div id="stage_photo_'+uniqueId+'"></div><span class="important">?</span></div></div>');
					$("#add_work_stages div.stage:last td.name input").fc_autocomplete(options.nameAutocomplete);
					$("#add_work_stages div.stage:last td.art input").fc_autocomplete(options.artAutocomplete);
					new qq.FileUploader(qqParams("stage_photo_"+uniqueId));
				},
				removeStage:function($elem) {
					if(confirm("Удалить этап?")) {
						var id = $elem.closest("div.stage").find("input[name='stage_id']").val();
						var index = $("#add_work_stages div.stage").index($elem.closest("div.stage"));
						
						for(var i=parseInt(index,10)+1; i<$("#add_work_stages div.stage").size(); i++) {
							var num=i-1;
							$("#add_work_stages div.stage:eq("+i+")").find("h2").text('Этап '+(num+1)+'').end()
								.find("td.name").find("input").attr({name:'stage'+num+'_material_name[]'}).end().end()
								.find("td.art").find("input").attr({name:'stage'+num+'_material_art[]'});
						}
						$elem.closest("div.stage").remove();
						$("#add_work_stages").append('<input type="hidden" name="stage'+id+'" value="'+id+'">');
						if($("#add_work_stages div.stage").size()==0) {
							methods.addStage();
						}
					}
				}
			};
		});
		
		return this;
	};
})(jQuery);

(function($) {
	var defaults = {};
	$.fn.vert_carousel = function(params) {
		var options = $.extend({}, params, defaults);
		$(this).each(function() {
			var $this = $(this),
				$switchA = $this.find("div.switch a"),
				$backwardA = $this.find("a.backward"),
				listHeight = $this.find("div.list").height(),
				$belt = $this.find("div.belt"),
				intervalID,
				methods = {
					nav:function(anc) {
						clearInterval(intervalID);
						var $anc = $(anc);
						if($anc.hasClass("backward")) {
							$belt.animate({marginTop:"-"+listHeight+"px"}, function() {
								$belt.css({marginTop:"0px"}).find("div.item:eq(0)").appendTo($belt);
							});
						}
						else {
							$belt.css({marginTop:"-"+listHeight+"px"}).find("div.item:last").prependTo($belt).end().end().animate({marginTop:"0px"});
						}
						intervalID = setInterval(function() {$backwardA.click();}, 2500);
					}
				};
			$belt.find("table").css({height:listHeight+"px"});
			$switchA.click(function() {
				methods.nav(this);
				return false;
			});
			intervalID = setInterval(function() {$backwardA.click();}, 2500);
		});
		return this;
	};
})(jQuery);

function stageUpload(stage) {
	$("body").append('<div class="hidden" id="add_progress_popup"><div class="popup_frame popup" id="add_progress"><div class="f_top"><div class="tl"></div><div class="tr"></div></div><div class="f_left"><div class="f_right"><div class="f_bg"><h2>'+stage+'</h2><div class="bar"></div></div></div></div><div class="f_bottom"><div class="bl"></div><div class="br"></div></div></div></div>');
	$("#add_progress_popup").togglePopup();
}
