$(document).ready(function() {
	html.shade();
	html.shadows();
	html.search();
	html.login();
	html.password();
	html.menu();
	html.profile();
	//html.fav();
	subscribe.init();
	scroller.init();
	flash.init();
	submenu.init();
	//submenu2.init();
});

flash = {
	init: function() {
		if ($("#player-content").length) {
			var so = new SWFObject("/images/audioPlayer_big.swf", "audioPlayerList", "310", "200", "8");
			so.addParam("wmode", "opaque");
			so.addParam("menu", "false");
			so.addVariable("xml", "/?mp3");
			so.write("player-content");
		}

		$(".audio").each(function() {
			var $audioContent = $(this).find(".audio-content");
			var so = new SWFObject("/images/audioPlayer_small.swf", "audioPlayerList", "510", "60", "8");
			so.addParam("wmode", "opaque");
			so.addParam("menu", "false");
			so.addVariable("xml", "/?mp3");
			so.write($audioContent.attr("id"));
		});
	}
}

scroller = {
	left: null,
	right: null,
	div: null,
	slide: null,
	images: null,
	count: 0,
	position: 0,
	maxPosition: 0,
	
	init: function() {
		if ($(".photos-related").length) {
						
			scroller.div = $(".photos-related");
			scroller.slide = scroller.div.find(".photos-holder");
			
			for (i=0; i <= 3 - $(".photo-related").length; i++) {
				scroller.slide.append("<div class=\"photo-related\"></div>");
			}
			
			scroller.left = scroller.div.find(".prev");
			scroller.right = scroller.div.find(".next");
			scroller.prev = scroller.div.find(".prev a");
			scroller.next = scroller.div.find(".next a");
			scroller.images = scroller.slide.find(".photo-related");
			
			scroller.count = scroller.images.length;
			scroller.maxPosition = scroller.images.length - 3;

			scroller.prev.live("click", function() { scroller.scroll(-1); });	
			scroller.next.live("click", function() { scroller.scroll(1); });
			
			var scrolled = false;
			scroller.images.each(function(i, item) {
				if ($(this).hasClass("selected")) {
					scroller.scrollTo(i);
					scrolled = true;
				}
			});
			
			if (!scrolled) {
				scroller.scrollTo(0);
			}
		}
	},
	
	scroll: function(direction) {
		if (scroller._allowed(scroller.position + direction)) {
			scroller.position = scroller.position + direction;
			scroller.slide.animate({left: scroller.position * -78 + "px"}, 300);
			scroller.setLinks();
		}
	},

	scrollTo: function(index) {
		if (!scroller._allowed(index)) {
			if (index < 0)
				index = 0;
			if (index > scroller.maxPosition)
				index = scroller.maxPosition;
		}
		scroller.position = index;
		scroller.slide.css({left: scroller.position * -78 + "px"});
		scroller.setLinks();
	},
	
	setLinks: function() {
		if (!scroller._allowed(scroller.position - 1)) {
			scroller.left.html("<span></span>");
		}
		else {
			scroller.left.html("<a href=\"javascript://\"><span></span></a>");
		}
		if (!scroller._allowed(scroller.position + 1)) {
			scroller.right.html("<span></span>");
		}
		else {
			scroller.right.html("<a href=\"javascript://\"><span></span></a>");
		}
	},

	_allowed: function(index) {
		var allowed = true;
		if (index < 0 || index > scroller.maxPosition) {
			allowed = false;
		}
		return allowed;
	}
}

submenu2 = {
	left: null,
	right: null,
	div: null,
	slide: null,
	images: null,
	count: 0,
	position: 0,
	maxPosition: 0,
	menuOffsets: [],
	
	init: function() {
		if ($("div.submenu").length) {
			submenu2.div = $("div.submenu");
			submenu2.cutter = submenu2.div.find("div.submenu-cutter");
			submenu2.slide = submenu2.div.find("div.submenu-slider");
			submenu2.list = submenu2.div.find("ul");
			submenu2.menus = submenu2.div.find("li");
			submenu2.left = submenu2.div.find(".prev");
			submenu2.right = submenu2.div.find(".next");
			submenu2.prevLink = submenu2.div.find(".prev a");
			submenu2.nextLink = submenu2.div.find(".next a");
			
			var offset = 0;
			submenu2.menus.each(function(i, item) {
				offset += $(item).width() + 103;
				submenu2.menuOffsets[i] = offset;
			});			

			submenu2.left.live("click", function() { submenu2.scroll(-1); });	
			submenu2.right.live("click", function() { submenu2.scroll(1); });

			//alert(submenu2.menus.eq(0).width());
			//alert(submenu2.list.offset().left);
			
			//if (submenu2.list.width() > submenu2.cutter.width()) {
			//	var offset = submenu2.list.offset().left - submenu2.cutter.offset().left;			
			//	submenu2.slide.animate({left: "-=" + offset + "px"}, 0);
			//}
			
			//submenu2.left.click(function() {
			//	alert(submenu2.cutter.offset().left);
			//	alert(submenu2.list.offset().left);
			//	submenu2.slide.animate({left: '-=306' + "px"}, 300);
			//});
			//submenu2.right.click(function() {
			//	//alert(submenu2.cutter.offset().left);
			//	//alert(submenu2.list.offset().left);
			//	submenu2.slide.animate({left: '+=306' + "px"}, 300);
			//});
		}
	},
	
	scroll: function(direction) {
		//alert(submenu2.menuWidths[0]);
		//if (submenu2._allowed(submenu2.position + direction)) {
			submenu2.position = submenu2.position - direction;
			alert(direction);
			if (direction==-1) {
				submenu2.slide.animate({left: "-=" + 309 + "px"}, 300);
			}
			//submenu2.setLinks();
		//}
	},

	scrollTo: function(index) {
		if (!submenu2._allowed(index)) {
			if (index < 0)
				index = 0;
			if (index > submenu2.maxPosition)
				index = submenu2.maxPosition;
		}
		submenu2.position = index;
		submenu2.slide.css({left: submenu2.position * -150 + "px"});
		submenu2.setLinks();
	},
	
	setLinks: function() {
		submenu2.images.removeClass("first");
		submenu2.images.eq(submenu2.position).addClass("first");
		
		if (!submenu2._allowed(submenu2.position - 1)) {
			submenu2.left.html("<span></span>");
		}
		else {
			submenu2.left.html("<a href=\"javascript://\"><span></span></a>");
		}
		if (!submenu2._allowed(submenu2.position + 1)) {
			submenu2.right.html("<span></span>");
		}
		else {
			submenu2.right.html("<a href=\"javascript://\"><span></span></a>");
		}
	},

	_allowed: function(index) {
		var allowed = true;
		if (index < 0 || index > submenu2.maxPosition) {
			allowed = false;
		}
		return allowed;
	},

	_allowed2: function(index) {
		var allowed = true;
		if (submenu2.cutter.offset().left < submenu2.list.offset().left || index > submenu2.maxPosition) {
			allowed = false;
		}
		return allowed;
	}
}

submenu = {
	left: null,
	right: null,
	div: null,
	slide: null,
	images: null,
	count: 0,
	position: 0,
	maxPosition: 0,
	
	init: function() {
		if ($("div.submenu.photos").length) {
						
			submenu.div = $("div.submenu.photos");
			submenu.slide = submenu.div.find("div.photo-slide");
			
			submenu.left = submenu.div.find(".prev");
			submenu.right = submenu.div.find(".next");
			submenu.prevLink = submenu.div.find(".prev a");
			submenu.nextLink = submenu.div.find(".next a");
			submenu.images = submenu.slide.find("div.photo-category");
			
			submenu.count = submenu.images.length;
			submenu.maxPosition = submenu.images.length - 5;

			submenu.prevLink.live("click", function() { submenu.scroll(-1); });	
			submenu.nextLink.live("click", function() { submenu.scroll(1); });
			
			var scrolled = false;
			submenu.images.each(function(i, item) {
				if ($(this).hasClass("current")) {
					submenu.scrollTo(i);
					scrolled = true;
				}
			});
			
			if (!scrolled) {
				submenu.scrollTo(0);
			}
		}
	},
	
	scroll: function(direction) {
		if (submenu._allowed(submenu.position + direction)) {
			submenu.position = submenu.position + direction;
			submenu.slide.animate({left: submenu.position * -158 + "px"}, 300);
			submenu.setLinks();
		}
	},

	scrollTo: function(index) {
		if (!submenu._allowed(index)) {
			if (index < 0)
				index = 0;
			if (index > submenu.maxPosition)
				index = submenu.maxPosition;
		}
		submenu.position = index;
		submenu.slide.css({left: submenu.position * -158 + "px"});
		submenu.setLinks();
	},
	
	setLinks: function() {
		submenu.images.removeClass("first");
		submenu.images.eq(submenu.position).addClass("first");
		
		if (!submenu._allowed(submenu.position - 1)) {
			submenu.left.html("<span></span>");
		}
		else {
			submenu.left.html("<a href=\"javascript://\"><span></span></a>");
		}
		if (!submenu._allowed(submenu.position + 1)) {
			submenu.right.html("<span></span>");
		}
		else {
			submenu.right.html("<a href=\"javascript://\"><span></span></a>");
		}
	},

	_allowed: function(index) {
		var allowed = true;
		if (index < 0 || index > submenu.maxPosition) {
			allowed = false;
		}
		return allowed;
	}
}

subscribe = {
	
	bubble: null,
	bubbleContent: null,
	bubbleClose: null,
	form: null,
	spinner: null,
	emailValue: null,
	timeout: null,
	
	init: function() {
		subscribe.form = $("form.form-subscribtion");
		subscribe.spinner = subscribe.form.find("div.spinner");
		
		subscribe.input();
		
		if ($("div.popup").length) {
			subscribe.bubble = $("div.popup");
			subscribe.bubbleContent = $("div.popup-middle");
			subscribe.bubbleClose = $("a.popup-close");
			subscribe.timeout = setTimeout(function() { subscribe.bubble.fadeOut() }, 3000);
		}
		else {
			subscribe.form.append('<div class="popup" style="display: none;"><div class="popup-top"><a class="popup-close" href="javascript://"></a></div><div class="popup-middle"></div><div class="popup-bottom"></div></div>');
			subscribe.bubble = $("div.bubble");
			subscribe.bubbleContent = $("div.popup-middle");
			subscribe.bubbleClose = $("a.popup-close");
		}
		
		subscribe.bubbleClose.click(function() {
			subscribe.bubble.hide();
		});
		
		subscribe.form.submit(function(e) {
			clearTimeout(subscribe.timeout);
			subscribe.spinner.show();
			subscribe.bubble.hide();
			$.post("/", subscribe.form.serialize() + "&subscribe=1", function(data) {
				subscribe.raiseBubble(data);
				subscribe.spinner.hide();
			});
			return false;
		});
	},
	
	input: function() {
		$("input[name='email']").click(function() {
			$emailInput = $(this);
			$emailValue = $emailInput.val();
			$emailCancel = $emailInput.parent().parent().find("div.subscribe-cancel");

			$emailCancel.click(function() {
				$emailInput.val("");
				$emailCancel.hide();
			});
			
			if ($emailInput.val()==$emailValue) {
				$emailInput.val("");
				$emailCancel.hide();
			}
			}).blur(function() {
			if ($emailInput.val()=="") {
				$emailInput.val($emailValue);
				$emailCancel.show();
			}
			$emailValue = $emailInput.val();
			}).keyup(function() {
			if ($emailInput.val().length > 0) {
				$emailCancel.show();
			}
			else {
				$emailCancel.hide();
			}
		});
	},
	
	raiseBubble: function(html) {
		subscribe.bubbleContent.html(html);
		subscribe.bubble.show();
		subscribe.timeout = setTimeout(function() { subscribe.bubble.fadeOut() }, 10000);
	}
}

html = {
	loginValue: null,
	passValue: null,
	
	profile: function() {
		$a = $(".profile a");
		$profile = $(".profile");
		$profileMenu = $(".profile-menu");
		$profileSpan = $(".profile a span");
		$profileSpan.click(function(event) {
			event.preventDefault();
			$profileMenu.toggle();
			$profile.toggleClass("white");
			$a.toggleClass("text-shadow");
		});
	},
	
	menu: function() {
		$menuLi = $("div.menu li.menu-1");
		
		$menuLi.mouseover(function() {
			$(this).addClass("selected");
			$(this).find("ul").show();
		});
		$menuLi.mouseout(function() {
			$(this).removeClass("selected");
			$(this).find("ul").hide();
		});
	},
	
	shade: function() {
		$(".shade").each(function() {
			var block = $(this);
			var width = block.width() - 26;
			var height = block.height() - 26;
			var topMargin = block.height() + 26;
			var content = block.html();
			var wrapper = block.html('<div class="block-wrapper"><div class="block-left" style="_height: ' + height + 'px"></div><div class="block-right" style="_height: ' + height + 'px"></div><div class="block-top" style="_width: ' + width + 'px"></div><div class="block-bottom" style="_width: ' + width + 'px"></div><div class="block-tl"></div><div class="block-tr"></div><div class="block-bl" style="_margin-top: ' + topMargin +  'px"></div><div class="block-br" style="_margin-top: ' + topMargin +  'px"></div>' + content + '</div>');
		});
		$(".audio").each(function() {
			var block = $(this);
			var width = block.width() - 26;
			var height = block.height() - 26;
			var topMargin = block.height() + 26;
			var content = block.html();
			var wrapper = block.html('<div class="block-wrapper"><div class="block-left" style="_height: ' + height + 'px"></div><div class="block-right" style="_height: ' + height + 'px"></div><div class="block-top" style="_width: ' + width + 'px"></div><div class="block-bottom" style="_width: ' + width + 'px"></div><div class="block-tl"></div><div class="block-tr"></div><div class="block-bl" style="_margin-top: ' + topMargin +  'px"></div><div class="block-br" style="_margin-top: ' + topMargin +  'px"></div>' + content + '</div>');
		});
	},
	
	shadows: function() {
		var textShadow = {x: 1, y: 0, radius: 1, color: "#333333"};
		var textShadowLight = {x: 1, y: 0, radius: 0, color: "#333333"};
		var textShadowLime = {x: 1, y: 1, radius: 0, color: "lime"};
		var textShadowLabel = {x: 1, y: 1, radius: 0, color: "#111111"};
		
		$(".control-comments a").addClass("text-shadow").textShadow(textShadowLight);		
		
		$(".header .text input").addClass("text-shadow");
		$(".footer .text input").addClass("text-shadow");
		
		$(".contacts-info h2").addClass("text-shadow").textShadow(textShadow);
		
		$(".twitter .text-block a").addClass("text-shadow").textShadow(textShadow);
		$(".twitter .text-block span.open").addClass("text-shadow").textShadow(textShadow);
		$(".twitter .text-block span.close").addClass("text-shadow").textShadow(textShadow);
		$(".twitter .title a").addClass("text-shadow").textShadow(textShadow);
		$(".twitter .title .slash").addClass("text-shadow").textShadow(textShadow);
		$(".twitter .title .date").addClass("text-shadow").textShadow(textShadow);
		
		$(".form-login label").addClass("text-shadow").textShadow(textShadow);
		
		$(".profile a").addClass("text-shadow-dark").textShadow(textShadow);
		$(".favorites a").addClass("text-shadow-dark").textShadow(textShadow);
		$(".logout a").addClass("text-shadow-dark").textShadow(textShadow);
		$(".actions a").addClass("text-shadow").textShadow(textShadow); 
		$(".navigation label").addClass("text-shadow").textShadow(textShadowLabel);
		
		$(".path span.slash").addClass("text-shadow").textShadow(textShadowLight);
		$(".path a").addClass("text-shadow").textShadow(textShadowLight);
		
		$(".submenu-list .link").addClass("text-shadow").textShadow(textShadow);
		$(".pages-list .link").addClass("text-shadow-light").textShadow(textShadowLight);
		
		$(".photo-category-count").addClass("text-shadow").textShadow(textShadow);
		
		$(".menu ul li ul li a").addClass("text-shadow").textShadow(textShadowLight);
		
		$lis = $(".photo-category-title");
		$lis.each(function() {
			$li = $(this);
			$a = $li.find("a");
			if ($a.length) {
				$a.addClass("text-shadow").textShadow(textShadowLight);
			}
			else {
				$li.addClass("text-shadow").textShadow(textShadow);
			}
		});
		
		$(".news-item.large .title a").addClass("text-shadow").textShadow(textShadow);
		$(".news-item.medium .title a").addClass("text-shadow").textShadow(textShadow);
	},
	
	search: function() {
		$("input[name='s']").click(function() {
			$input = $(this);
			$searchValue = $input.val();
			$cancel = $input.parent().find("div.search-cancel");
			
			$cancel.click(function() {
				$input.val("");
				$cancel.hide();
			});
			
			if ($input.val()==$searchValue) {
				$input.val("");
				$cancel.hide();
			}
		}).blur(function() {
			if ($input.val()=="") {
				$input.val($searchValue);
				$cancel.show();
			}
			$searchValue = $input.val();
		}).keyup(function() {
			if ($input.val().length > 0) {
				$cancel.show();
			}
			else {
				$cancel.hide();
			}
		});
	},
	
	login: function() {
		html.loginValue = $("#user_login").val();
		
		$("#user_login").click(function() {
			if ($(this).val()==html.loginValue)
				$(this).val("");
		}).blur(function() {
			if ($(this).val()=="") {
				$(this).val(html.loginValue);
			}
			html.loginValue = $(this).val();
		});
	},
	
	password: function() {
		html.passValue = $("#user_password").val();
		
		$("#user_login").click(function() {
			if ($(this).val()==html.passValue)
				$(this).val("");
		}).blur(function() {
			if ($(this).val()=="") {
				$(this).val(html.passValue);
			}
			html.passValue = $(this).val();
		});
	},
	
	fav: function() {
		$("#fav-link").jFav();
	}
}
