jQuery(function($) {
	$("body").addClass("jsok");
	var archive = $("#aside .archive h3, #aside li h3");
	archive.siblings("ul:not(:has(.current_page_item))").hide().
	each(function(){
		var ul = $(this);
		ul.prev("h3").wrapInner('<a href="#"></a>').children().click(function(event){
			$(this).toggleClass("open");
			ul.slideToggle("fast");
			event.preventDefault();
		});
	});
	//init gallery thumbnails and lightbox
	$(".gallery a").lightBox();
	
	//set JP localization
	getpc = "Get address from postal code";
	loadingmsg = "loading...";
	if($("#team-admin.ja").length > 0) {
		$.extend(DateInput.DEFAULT_OPTS, {
			month_names: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
			short_month_names: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
			short_day_names: ["日", "月", "火", "水", "木", "金", "土"],
			start_of_week: 0
		});
		
		getpc = "郵便番号から住所を取得する";
		loadingmsg = "読み込み中。。。";
	}
	
	//dateinput fix for correct dateformat
	if($("#team-admin").length > 0) {
		$.extend(DateInput.DEFAULT_OPTS, {
			stringToDate: function(string) {
				var matches;
				if (matches = string.match(/^(\d{4,4})-(\d{2,2})-(\d{2,2})$/)) {
					return new Date(matches[1], matches[2] - 1, matches[3]);
				} else {
					return null;
				};
			},
			dateToString: function(date) {
				var month = (date.getMonth() + 1).toString();
				var dom = date.getDate().toString();
				if (month.length == 1) month = "0" + month;
				if (dom.length == 1) dom = "0" + dom;
				return date.getFullYear() + "-" + month + "-" + dom;
			}
		});
	
		//init date input fields
		$("#sponsordate, #supporterdate, #participationdate, #matchingdate, #additionaldate").date_input();
		$("#team-admin #postalcode").after('<a href="#" id="get-pc">'+getpc+'</a>');
		
		
		$("#get-pc").click(function(event) {
			
			var postalcode = $.trim($("#postalcode").val());
			
			if(postalcode=="" || postalcode.length < 7) {
				$("#postalcode").css("background-color", "#ff6666").focus();
				return false;
			}
			
			//getpc = (getpc == "") ? $(this).text() : getpc;
			
			$(this).text("Loading...");
			
			$.ajax({
				type: "GET",
				url: "./",
				data: "get-pc="+postalcode,
				dataType: "xml",
				success: function(xml) {
					if($("address header result", xml).text() == "ok") {
						var prefecture = $("address value ken", xml).text();
						var ward = $("address value shi", xml).text();
						var city = $("address value cho", xml).text();
						var address1 = prefecture+ward+city;
						var addrfield = $("#address1");
						if(addrfield.val().indexOf(address1)<0) {
							addrfield.val(address1);
						}
						addrfield.focus();
						$("#postalcode").css("background-color", "transparent");
					} else {
						$("#postalcode").css("background-color", "#ff6666").focus();
					}
					$("#get-pc").text(getpc);
				}
			});
			event.preventDefault();
		});
		
		//autoupdate total number of participants when fields are changed
		//var races = $("#team-admin .participants input");
		var races = $("#team-admin #total-men, #team-admin #total-women, #team-admin #total-child");
		races.bind("keyup", function(event) {
			var men = 0, women = 0, child = 0, fee = 5000;
			
			//men = eval(races.filter("[id$='-men']").map(function() {
			//	return (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
			//}).get().join("+"));
			//$("#total-men").text(men);
			
			//women = eval(races.filter("[id$='-women']").map(function() {
			//	return (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
			//}).get().join("+"));
			//$("#total-women").text(women);
			
			//child = eval(races.filter("[id$='-child']").map(function() {
			//	return (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
			//}).get().join("+"));
			//$("#total-child").text(child);
			
			//$("#participationfee").text((men+women)*fee);
			$("#participationfee").text((parseInt(races.filter("[id$='-men']").val())+parseInt(races.filter("[id$='-women']").val()))*fee);
		});
		
		
		
	}
	$('a[@rel*=lightbox]').lightBox();
});