// JavaScript Document
var color = ['#1d3261', '#2c3062', '#402e64', '#572a65', '#6f2867', '#882468', '#a2216a', '#b71d6b', '#cb1b6c', '#db196d'];
(function ($) {
$.fn.vAlign = function() {
	return this.each(function(i){
	var ah = $(this).height();
	var ph = $(this).parent().height();
	var mh = (ph - ah) / 2;
	$(this).css('margin-top', mh);
	});
};
})(jQuery);

(function ($) {
$.fn.hAlign = function() {
	return this.each(function(i){
	var ah = $(this).width();
	var ph = $(this).parent().width();
	var mh = (ph - ah) / 2;
	$(this).css('margin-left', mh);
	});
};
})(jQuery);

function AddSquare(){
	$(".square").remove();
	var ran = -1;
	var i = 1;
	var w = Math.ceil(($("#overflow").width()) / 123);
	var h = Math.ceil(($("#overflow").height() + 66) / 123);
	$("#grid").css({"width":w * 123 + "px", "height":h * 123 + "px"});
	for (var i = 1; i <= w * h; i++) {
		$("#grid").append('<div class="square"></div>');
	}
	$(".square").mouseover(function(){
		if (ran <= 0) {
			i = 1;
		}
		if (ran >= color.length - 1) {
			i = -1;
		}
		ran += i;
		$(this).stop().animate({opacity:1, backgroundColor:color[ran]}, 300, function(){
			$(this).animate({opacity:0}, 300);
		});
	});
}

function DocResize(){
	var bh = $("body").height();
	var mh = $("#main").height();
	if (bh >= mh) {
		$("#main, #overflow").css({"height":bh + "px"});
	} else {
		$("#main, #overflow").css({"height":"auto"});
	}	
	var w = Math.ceil(($("#overflow").width()) / 123);
	var wi = w * 123 - 738;
	var li = $("#partners_items a").length;
	$("#partners_items").css({"width":wi + "px"});
	if (wi > li * 123) {
		$("#partners_items").css({"width":li * 123 + "px"});
	} else {
		$("#partners_items").css({"width":wi + "px"});
	}
	if ($("#partners_items").height() < 150) {
		$("#arhive").css({"margin-top":-122 + "px"});
	} else {
		$("#arhive").css({"margin-top":"0px"});
	}
	$("#right_02").css({"height":$("#overflow").height() - $("#partners_items").height() - 549 + "px"});
	$("#arhive").css({"margin-left":$("#partners_block").offset().left + $("#partners_items").width() - 120 + "px"});
	AddSquare();
}

function ContentHeight(){
	ch = Math.ceil($("#content").height() / 123);
}

function SlidePageNow(){
	cont_h = $("#content").height();
}
function SlidePageAfter(){
	var h = $("#content").height();
	$("#content").css({"height":cont_h + "px", "overflow":"hidden"});
	$("#content").animate({height:h}, 500, function() {
		$("#content").css({"height":"auto", "overflow":"visible"});
		DocResize();
	});
}

$(window).load(function(){
	DocResize();
	ContentHeight();


	$("#menu a:last").css({"margin-right":"0px"});
	$("#organizator a img, #partners a img, #organizator_name cufon, #partners p cufon").vAlign();
	$("#organizator a img, #partners a img").hAlign();
	$("#content .right_text .address a").live('click', function(){
		$("#popup_map").show();
		return false;
	});
	$("#popup_map .address p a").live('click', function(){
		$("#popup_map").hide();
		return false;
	});

	/*$("#speakers_link").live('click', function(){
		$("#popup_map").hide();
		$("#register").hide();
		$("#programm_page").hide();
		$("#main_page").hide();			

		if ($("#speakers").css("display") == "none"){			
			$("#speakers").fadeIn(500);
		} else {
			$("#speakers").hide();
			$("#main_page").fadeIn(500);	
		}
		
	})

	$("#register_link").live('click', function(){
		$("#popup_map").hide();
		if ($("#register").is(":hidden")) {
			$(".page").hide();
			$("#register").show();
			$(".steps").hide();
			$("#reg_step_01").fadeIn(500);
		} else {
			SlidePageNow();
			$("#register").hide();
			$("#main_page").fadeIn(500);			
			SlidePageAfter();
		}
		return false;
	});

	$("#programm").live('click', function(){
		$("#popup_map").hide();
		if ($("#programm_page").is(":hidden")) {
			SlidePageNow();			
			$(".page").hide();
			$("#programm_page").fadeIn(500);
			ContentHeight();
			$("#programm_page").css({"height":ch * 123 - 3 + "px"});
			SlidePageAfter();
		} else {
			SlidePageNow();
			$("#programm_page").hide();
			$("#main_page").fadeIn(500);
			SlidePageAfter();
		}
		$("#programm_page p span span").vAlign();
		return false;
	});*/

	$(".close").live('click', function(){
		SlidePageNow();
		$(".page").hide();
		$("#main_page").fadeIn(500);	

		if (window.location.hash){
			window.location.href = window.location.hash.split("#")[0];
		}	
		SlidePageAfter();			
		return false;
	});

	$(".radio").each(function(){
		var check = $(this).find("input").attr("checked");
		if (check == true) {
			$(this).addClass("checked");
		}
	});

	$(".radio").live('click', function(){
		var type = $(this).find("input").attr("type");
		if (type == "radio") {
			$(this).parent().find(".radio").removeClass("checked");
			$(this).find("input").attr("checked", "checked");
			$(this).addClass("checked");
		} else {
			var check = $(this).find("input").attr("checked");
			if (check == true) {
				$(this).removeClass("checked");
				$(this).find("input").attr("checked", "");
			} else {
				$(this).addClass("checked");
				$(this).find("input").attr("checked", "checked");
			}
		}
	});
	$("#people").live('click', function(){
		if ($(".people_list").is(":hidden")) {
			$(this).addClass("on");
		} else {
			$(this).removeClass("on");
		}
	});

	$("#people .people_list .people_list_bg strong").live('click', function(){
		var txt = $(this).html();
		$(".number").html(txt);
		$("#people .people_list input").val(txt);
	});

	$("#reg_step_next_01").live('click', function(){
		SlidePageNow();
		var txt = $(".number").val();
		$(".steps").hide();
		$("#reg_step_02").fadeIn(500);
		$("#reg_step_02 .left span").remove();
		for (var i = 0; i < txt; i++) {
			$("#reg_fio").append('<span><input class="fio" name="fio[]" type="text" value="" /></span>');
			$("#reg_mail").append('<span><input class="email" name="email[]" type="text" value="" /></span>');
		}
		$("#reg_step_02").css({"height":"auto"});
		ContentHeight();
		$("#reg_step_02").css({"height":ch * 123 - 3 + "px"});
		SlidePageAfter();
	});
	$("#reg_step_next_02").live('click', function(){
		SlidePageNow();
		var len = $("#reg_step_02 .left input.email").length;
		var lenf = $("#reg_step_02 .left input.fio").length;
		var len1 = len;
		var lenf1 = lenf;
		$("#reg_step_02 .left input").parent().removeClass("error");
		$("#reg_step_02 .left input.email").each(function(str){
			if(!isValidEmail($(this).val())) {
				len1 -= 1;
				$("#error_form").fadeIn(500);
				$(this).parent().addClass("error");
			}
		});
		$("#reg_step_02 .left input.fio").each(function(str){
			if($(this).val().length < 2) {
				lenf1 -= 1;
				$("#error_form_fio").fadeIn(500);
				$(this).parent().addClass("error");
			}
		});
		if (len1 == len) {
			$("#error_form").fadeOut(500);
		}
		
		if (lenf1 == lenf) {
			$("#error_form_fio").fadeOut(500);
		}
		if (len1 + lenf1 != len + lenf) {
		} else {
			var data = $('#form_registration').serialize();
			$.ajax({
				url: '/back.php/register?'+data,
				type: 'GET',
				dataType: 'json',
				success: function(response) {
				}
			});
			$(".steps").hide();
			$("#reg_step_03").fadeIn(500);
		}
		ContentHeight();
		$("#reg_step_02").css({"height":ch * 123 - 3 + "px"});
		SlidePageAfter();
	});
	
	setTimeout(function() {
		$("#speakers").css({"height":"auto"});
		SlidePageNow();
		ContentHeight();
		$("#speakers").css({"height":ch * 123 + "px"});
		SlidePageAfter();
	}, 500);
	
	$("#speakers .bio a").live("click", function(){
		pageload(false)
		$("#speakers").css({"height":"auto"});
		$(".speakers .bio a").not($(this)).removeClass("current");
		$(".speakers .biography").not($(this).parents()).slideUp();
		if ($(this).hasClass("current"))	{
			$(this).removeClass("current");
			$(".biography", $(this).parents(".person")).slideUp(function(){
				SlidePageNow();
				ContentHeight();
				$("#speakers").css({"height":ch * 123 + "px"});
				SlidePageAfter()
			});
		} else if (!$(this).hasClass("current")){
			$(this).addClass("current");
			$(".biography", $(this).parents(".person")).slideDown(function(){
				SlidePageNow();
				ContentHeight();
				$("#speakers").css({"height":ch * 123 + "px"});
				SlidePageAfter()
			});	
		}
	})

	
	$("#speakers a.roll_up").live("click", function (){		
		$("#speakers").css({"height":"auto"});
		$(".bio a",  $(this).parents(".person")).removeClass("current");
		$(".biography", $(this).parents(".person")).slideUp(function(){
				SlidePageNow();
				ContentHeight();
				$("#speakers").css({"height":ch * 123 + "px"});
				SlidePageAfter()
			});
		return false;
	})
	
	var registerPageCufonHandled = false;	
	
    function pageload(hash) {		
		// hash doesn't contain the first # character.
		if(hash) {
			$("#main").css("top", "0")
			// restore ajax loaded state
					
			$("#content").load(hash + ".html", function() {
				if (hash == 'cprogramm') {
					$("#programm_page p span span").vAlign();
				}
				else if(hash == 'cregister' && !registerPageCufonHandled) {
					Cufon.replace('#reg_step_next_01, #reg_step_next_02', { fontFamily: 'KievitCY-MediumSC' });
					registerPageCufonHandled = true;
				}
			});
			setTimeout(function() {window.twttr.widgets.load();}, 500);		
			if (hash == "orgpart") {
				$("#organizator, #organizator_name, #partners").css("display", "none")
			} else {
				$("#organizator, #organizator_name, #partners").css("display", "block")				
			}
			
		} else {
			// start page			
			$("#load").empty();
		}
	}	

	// Initialize history plugin.
	$.history.init(pageload);


	$("a[rel=history]").click(function(){
		var hash = this.href;
		hash = hash.replace(/^.*#/, '');
		$.history.load(hash);
		return false;
	});

	var speakers = new Array("#Dean", "#Edgerton", "#Jan", "#Petter", "#Tim")
	
	//$("a[href=" + window.location.hash + "]").click();
	
});

function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

$(window).resize(function(){
	DocResize();
});
