(function($,c,b){$.map("click dblclick mousemove mousedown mouseup mouseover mouseout change select submit keydown keypress keyup".split(" "),function(d){a(d)});a("focusin","focus"+b);a("focusout","blur"+b);$.addOutsideEvent=a;function a(g,e){e=e||g+b;var d=$(),h=g+"."+e+"-special-event";$.event.special[e]={setup:function(){d=d.add(this);if(d.length===1){$(c).bind(h,f)}},teardown:function(){d=d.not(this);if(d.length===0){$(c).unbind(h)}},add:function(i){var j=i.handler;i.handler=function(l,k){l.target=k;j.apply(this,arguments)}}};function f(i){$(d).each(function(){var j=$(this);if(this!==i.target&&!j.has(i.target).length){j.triggerHandler(e,[i.target])}})}}})(jQuery,document,"outside");

$(document).ready(function() {
Cufon.replace('h2, h3, .big, #content .phone');
$("#fourBlocks .hor").html('<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="OblakoStudio">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><iframe src="http://www.facebook.com/plugins/like.php?locale=en_US&href=http%3A%2F%2Foblakolegko.ru&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:21px;" allowTransparency="true"></iframe>');

		$('#term').bind("mouseupoutside",function(){
			$(this).hide();
		});
	$('#Footer p:last a').css({position:'absolute', 'z-index':200}).toggle(function(){
		$('#term').show();
		return false;
	},function(){
		$('#term').hide();
		return false;
	});
	
	$("a[rel=example_group]").fancybox({
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'titlePosition' 	: 'over',
		'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
		}
	});
	
	var slideNav = $(".slideNav");
	var slideNavD = jQuery("em", slideNav);
	var slideNavB = $("span", slideNav);
	var animated = 0;
	var hideFlashF = "";
	var changeSlide = function(obj, n, em, lw, d) {
		var slides = $(".slided", obj);
		if(slides.length > 1) {
			animated = 1;
			if(lw) { 
				slides.not(".h").animate({opacity: 0}, 250, function() {
					$(this).addClass("h");
					slides.eq(n).css({opacity: 0}).removeClass("h").animate({opacity: 1}, 250, function() {
						animated = 0;
					});
				});
			} else {
				var wraper = $('<div class="slidesWrap"></div>');
				slides.wrapAll(wraper);
				var slideH = slides.not(".h");
				var slideEq = slides.eq(n);
				if(slideEq.hasClass("swf")) {
					var params = {
						allowscriptaccess: 'always',
						allowfullscreen: true,
						wmode: 'opaque'
					};
					var rel = slideEq.attr("rel");
					var relS = rel.split("|");
					slides.parent().height(relS[2]+"px");
					swfobject.embedSWF(relS[0], slideEq[0].id, relS[1], relS[2], "9.0.0", "/j/expressInstall.swf", {}, params, {});
					var object = $("#"+hideFlashF.id, obj);
					if(hideFlashF != "" && object[0]) {
						object.after('<div class="slided h swf" rel="'+hideFlashF.rel+'" id="'+hideFlashF.id+'"></div>');
						object.remove();
					} else {
						slideH.addClass("h");
					}
					hideFlashF = {"rel": rel, "id": slideEq[0].id};
					$("#"+hideFlashF.id).addClass("slided swf");
					setTimeout(function() {
						slides.unwrap();
						animated = 0;
					}, 1500);
				} else {
					var object = $("#"+hideFlashF.id, obj);
					if(hideFlashF != "" && object[0]) {
						slideEq.removeClass("h");
						slides.unwrap();
						object.after('<div class="slided h swf" rel="'+hideFlashF.rel+'" id="'+hideFlashF.id+'"></div>');
						object.remove();
						hideFlashF = "";
						animated = 0;
					} else {
						var leftC = slideEq.width();
						if(d != -1) {
							leftC *= -1;
						}
						slideEq.css({top:0, left: leftC, position: "absolute"}).removeClass("h").animate({left: 0}, function() {
							$(this).removeAttr("style");
							slideH.addClass("h");
							slides.unwrap();
							animated = 0;
						});
					}
				}
			}
			em.eq(n).addClass("active");
			if(lw) {
				$(".work", obj).addClass("h").eq(n).removeClass("h");
			}
		}
	};
	var nLast = 0;
	slideNavD.add(slideNavB).add($("img.slided")).click(function() {
		if(animated != 1) {
			var tp = $(this).parent();
			var tpp = tp.parent();
			var lw = 0;
			if(tpp.hasClass("info")) {
				tpp = tpp.parent();
				lw = 1;
			}
			var em = $("em", tp);
			var emL = em.length;
			var d = -1;
			if($(this).hasClass("next")) {
				var n = em.index(em.filter(".active")) + 1;
				if(n >= emL) {
					n = 0;
				}
			}
			else if($(this).hasClass("prev")) {
				var n = em.index(em.filter(".active")) - 1;
				if(n < 0) {
					n = emL - 1;
				}
				d = 1;
			} else if($(this).hasClass("slided")) {
				tp = $(this).parent().find(".slideNav");
				em = $("em", tp);
				emL = em.length;
				var n = em.index(em.filter(".active")) + 1;
				if(n >= emL) {
					n = 0;
				}
				if(tp.parent().hasClass("info")) {
					lw = 1;
				}
			}
			else {
				var n = em.index($(this));
				if(n < nLast) {
					d = 1;
				}
			}
			nLast = n;
			em.removeClass("active");
			changeSlide(tpp, n, em, lw, d);
		}
	});

	var services = $("#services");
	if(services[0]) {
		var servicesDt = $("dt", services);
		var servicesDd = $("dd", services);
		var newsH = $("#news ul").height() - 18;
		var servicesDl = $("dl", services);
		if(servicesDl.height() < newsH) {
			servicesDl.height(newsH);
		}
		var activeN = servicesDt.index(servicesDt.filter(".active"));
		servicesDt.click(function() {
			if(!$(this).hasClass("active")) {
				var toShow = $(this).next();
				$(this).addClass("active");
				toShow.addClass("active");
				servicesDd.eq(activeN).animate({height: 0}, {
					step: function(now) {
						var current = 90 - now;
						if ($.browser.msie || $.browser.opera || $.browser.safari) {
							current = Math.ceil(current);
						}
						toShow.height(current);
					},
					duration: 500
				}).removeClass("active").prev().removeClass("active");
				activeN = servicesDt.index($(this));
			}
		});
		if(jQuery.browser.msie && jQuery.browser.version < 7) {
			servicesDt.hover(function() {
				$(this).addClass("hover");
			}, function() {
				$(this).removeClass("hover");
			});
		}
	}

	$(".field input").bind("focus", function(e) {
		toggleLabel($(this), "hide");
	}).bind("blur change", function(event) {
		toggleLabel($(this));
	}).each(function() {
		toggleLabel($(this));
	});

	function toggleLabel(target, action) {
		var label = target.prev();
		if (action == "hide") {
			label.hide();
		} else {
			if (target.val()) {
				label.hide();
			} else {
				label.show();
			}
		}
	}
	if(jQuery.browser.msie) {
		if(jQuery.browser.version < 7) {
			var pngs = $('img[src$=.png]');
			if(pngs.length) {
				pngs.ifixpng();
			}
			$("#menu em").ifixpng();
		}
		if(services[0]) {
			$("span", servicesDd).each(function(i) {
				var dd = servicesDd.eq(i);
				dd.height("90px");
				$(this).css({marginTop: (90 - $(this).height())/2});
				dd.removeAttr("style");
			});
		}
	}

	var subscription = $("#subscription");
	var subscriptionSubmit = function() {
		if((/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test($("#email").val()))) {
			$.post(subscription.attr("action"), {'ml': $("#email").val()}, function() {
				subscription.html("<p>Ваш запрос успешно обработан</p>");
			});
			
			/*
			tmp = setTimeout(function(){
				subscription.html('<div class="field"><label for="email"></label><input id="email" type="text" name="ml" style="width:143px"/></div><span class="button" title="Подписаться"></span>');
				
			},5000)	;
*/
		} else {
			alert("e-mail введен некоректно.");
		}
		return false;
	};
	$(".button", subscription).bind("click", subscriptionSubmit);
	subscription.bind("submit", subscriptionSubmit);

	$("#twitter div.tools a.prev, #twitter div.tools a.next").live("click", function() {	
		if(this.href == "") return false;
		$("#twitter .content").load(this.href, function(){
			bindRetwit();
		});
		return false;
	});
	
	var twitDir = true, stopped = false;
	function twitTimer(){
		$("#twitter").delay(5000).queue(function(){
			if(!stopped){
				if(twitDir && $("#twitter div.tools a.next").attr("href") == "") twitDir = false;
				if(!twitDir && $("#twitter div.tools a.prev").attr("href") == "") twitDir = true;
				
				$("div.tools a."+((twitDir)?"next":"prev"),this).click();
			}
			twitTimer();
			$(this).dequeue();
		});
	}
	$("#twitter").hover(function(){stopped = true;},function(){stopped = false;});
	twitTimer();
	
	var workTheme = $("#workTheme");
	var workThemeH = workTheme.height();
	resizeBlock = function(f) {
		workTheme.stop();
		if(f) {
			workTheme.animate({height: workThemeH + 210 + "px"});
		} else {
			workTheme.animate({height: workThemeH + "px"});
		}
	};
	
	function bindRetwit() {
		jQuery('em.retwit').hover(
				function(){
					jQuery(this).children('span').show()
				},
				function(){
					jQuery(this).children('span').hide()
				}
		)
	}
	
	bindRetwit();
	
});
