var IZ = IZ || {};
$(function () {
	if (!window.console) {
		window.console = {
			"log" : function () {}
		};
	}

	$("#footer a:not(.nopopup)").click(function () {
		var parts = this.href.split("#"),
		    url;

		url = parts.shift()
		    + ((this.href.indexOf("?") > -1) ? "&" : "?")
		    + "popup=1";

		if (parts.length > 0) url += "#" + parts.join("#");

		var w = window.open(url, "support", "width=530,height=300,scrollbars=yes");
		if (w) return false;
	});

	// Focus first input with type=text and empty
	$("input[type=text], input[type=password], textarea").not(".nofocus, .pickdate").each(function () {
		if (this.value == "") {
			this.focus();
			return false;
		}
	});

	/*$("#tabcaptions a").click(function () {
		onTabClick(this.href);
	});*/

	// Questions
	if ($("select[name='type_id']").length > 0) {
		$("form").submit(function () {
			if ($("select[name='type_id']").val() == 0) {
				return false;
			}
		});
	}
	$("#question-add-input-alternative").click(function () {
		$(this).parent().children("span").append(
			'<input type="text" size="10" name="correctAnswer[]">'
		);

		return false;
	});

	// Advanced weighting
	$("#weighting-advanced").hide();
	$("input[name='weightType']").click(function () {
		if ($(this).val() == 0) {
			$("#weighting-advanced").hide();
		} else {
			$("#weighting-advanced").show();
		}
	});
	if ($("input[name='weightType']:checked").val() == 1) {
		$("#weighting-advanced").show();
	}
	if ($("p#saved").length > 0) {
		window.setTimeout(function () {
			$("p#saved").hide("slow");
		},
		5000);
	}

	/* Questions
	$(".modules-admin .accepts-image").after("<a class='image-acceptor' href='#'>Lägg till bild</a>");
	$(".image-acceptor").css("position", "absolute").css("padding-left", "30px").click(function () {
		window.open(baseUrl + "admin//images/");
	});*/

	$(".submitonchange").change(function () {
		this.form.submit();
	});

	$(".popupWindow").click(function () {
		var url	= this.href;
		var widthReg	= new RegExp("width=([0-9]+)","gi");
		var widthArray	= widthReg.exec(url);
		var heightReg	= new RegExp("height=([0-9]+)","gi");
		var heightArray	= heightReg.exec(url);
		if(widthArray.length>1 && heightArray.length>1) {
			var win = window.open(url, "_blank", "width="+widthArray[1]+",height="+heightArray[1]+"");
			win.focus();
			return false;
		}
		return true;
	});

	$(".expander_opened, .expander_closed").css("cursor", "pointer").click(function () {
		$(this).toggleClass("expander_closed");
		$(this).toggleClass("expander_opened");

		$("#"+this.id+"expanded").css("display",$("#"+this.id+"expanded").css("display")=="none"?"":"none");
		
		return false;
	});
/*	$(".expander_closed").click(function () {
		$(this).toggleClass("expander_opened");
		$("#"+this.id+"expanded").css("display",$("#"+this.id+"expanded").css("display")=="none"?"":"none");
	});*/

	var $sortable = $("#sortable");
	if ($sortable.sortable) {
		$sortable.sortable({
			update: function (event,ui){
				$("input#sortable_results").val($sortable.sortable('serialize'));
			}
		});
		$sortable.disableSelection();
	}
	
	/**
	 * Self assessment
	 */
	var $scoreInputs = $("table.self-assessment input.score");
	if ($scoreInputs.length > 0) {
		function updateGap(areaId, score, requriedScore)
		{
			var gap = requriedScore - score;
			if (gap < 0) gap = 0;
			$("#gap-" + areaId).text(gap);
		}
		$scoreInputs.bind("change", function () {
			var $this = $(this),
			    areaId	= $this.attr("id").split("-")[1],
			    areaRow = $("#subarea-" + areaId),
			    requiredScore = $("#required-" + areaId).text(),
			    score = $("input[name=" + $this.attr("name") + "]:checked").val();
			// Show/hide suggestions
			if (score < requiredScore) {
				areaRow.find(".suggestion span").show();
			} else {
				areaRow.find(".suggestion span").hide();
			}
			
			// Update gap value between chosen score and the required
			updateGap(areaId, score, requiredScore);
		});
	}

	// Show/hide score explanation
	var $areaExplanations = $("table.self-assessment .area-explanation");
	if ($areaExplanations.length > 0) {
		$areaExplanations.find("img.helpbtn").css({ "cursor" : "pointer" }).click(function () {
			$(this).siblings().show();
		}).end().find("div.explanation").click(function () {
			$(this).hide();
		});
	}
	
	// Language-chooser
	if (IZ.showLanguageChooser && typeof tb_init == "function") {
		var languageChooserWidth = 170;
		var $footer = $("#footer");
		var languages = {
			"en" : "English",
			"sv" : "Svenska",
			"fi" : "Suomi"
		};
		var chooseLanguageWrapperHtml = "",
		    s;
		for (var k in languages) {
			s = languages[k];
			if (k != IZ.currentLanguage) {
				s = '<a href="chlang?l=' + k + '">' + s + '</a>';
			}
			chooseLanguageWrapperHtml += "<li>" + s + "</li>";
		}
		$('<div id="choose-language-wrapper"><form><p style="text-align: center"><strong>Choose language</strong></p><ul style="text-align: center; list-style: none">' + chooseLanguageWrapperHtml + '</ul><div style="position: absolute; bottom: 1em; text-align: center; width: ' + languageChooserWidth + 'px"><button id="choose-language-closer">Close</button></form></div>').hide().appendTo($footer);
		$("#choose-language-closer").click(function () {
			tb_remove();
		});
		// Add link to open form
		$('<p id="choose-language" style="clear: both"><a href="#TB_inline?height=170&width=' + languageChooserWidth + '&inlineId=choose-language-wrapper&modal=true" class="thickbox">Choose language</a></p>').appendTo($footer);
		tb_init('a.thickbox, area.thickbox, input.thickbox');
	}
	
	$("#popuphelp").click(function () {
		var w = window.open(this.href, "help", "width=600,height=600,scrollbars=yes");
		if (w) return false;
	});
	
	
	var $pickdate = $('.pickdate');
	if ($pickdate) {
		$pickdate.datepicker({dateFormat: 'yy-mm-dd'});
	}

	var adminUserBulk = $("body.admin-user-bulk");
	if (adminUserBulk.length) {
		// Make sure bulk form isn't sent twice
		$("div#body form").submit(function () {
				$("input[type=submit]", this).attr("disabled", "disabled");
			}).find("input[type=submit]").dblclick(function () {
				return false;
		});
	}

});

