// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var WS = {
		Showrooms: {
		},
		showShowroomCategory: function(categoryNumber){
			for(var showroom in WS.Showrooms) {
				WS.Showrooms[showroom].showShowroomCategory(categoryNumber);
			}
		}
	};

WS.Registration = Class.create({
	shiftFocus: function(competition, inputElement) {
		Element.up(inputElement, "dl.type").down("input.modeSelection").checked = true;
		//inputElement.up("dl.type").down("input.modeSelection").checked = true;
		this.manageRegistrationDetails(competition);
	},
	manageRegistrationDetails: function(competition) {
		this.competition = competition;

		this.radioButtonLogin = $("option_0");
		this.radioButtonRegister = $("option_1");
	},
	showErrors: function() {
		Event.observe(document, "dom:loaded", function() {
			window.location.hash = "errors";
		});
	},
	submit: function(button) {
		if ($("registration_please_wait")) {
			return false;
		}

		var submitButton = $(button);

		var submitButtonOffset = submitButton.cumulativeOffset();
		var submitButtonDimensions = submitButton.getDimensions();

		var pleaseWaitElement = document.createElement("div");
		pleaseWaitElement.setAttribute("id", "registration_please_wait");
		pleaseWaitElement.setAttribute("class", "transparency_fix");
		pleaseWaitElement.style.opacity = 0;

		document.body.appendChild(pleaseWaitElement);

		pleaseWaitElement = $(pleaseWaitElement);

		var pleaseWaitElementDimensions = {
			width: 200,
			height: 100
		};
		pleaseWaitElementDimensions = pleaseWaitElement.getDimensions();

		pleaseWaitElement.style.left = (submitButtonOffset.left - 0.5 * pleaseWaitElementDimensions.width + 0.5 * submitButtonDimensions.width) + "px";
		pleaseWaitElement.style.top = (submitButtonOffset.top - 0.5 * pleaseWaitElementDimensions.height + 0.5 * submitButtonDimensions.height) + "px";

		pleaseWaitElement.style.opacity = 1;
	}
});

WS.QuestionsAndAnswers = Class.create({
	showAnswer: function(linkElement) {
		var definitionElement = $(linkElement).up().next();
		var questionsAndAnswersElement = definitionElement.up("div.questions_and_answers");
		var definitionElements = questionsAndAnswersElement.select("div.questions_and_answers_section dl dd");

		definitionElements.each(function(tempElement) {
			tempElement.style.display = "none";
		});

		definitionElement.style.display = "block";
	},
	changePicture: function(categoryElement, imageSrc) {
		var introductionPicture = $(categoryElement).up("div.questions_and_answers").down("div.introduction img.question");
		introductionPicture.src = imageSrc;
	}
});

WS.HintsAndTips = Class.create({	
	toggleHintAndTip: function(linkElement) {
		var hintAndTipElement = $(linkElement).up("div.hint_and_tip");
		
		if (hintAndTipElement.hasClassName("hint_and_tip_closed")) {
			hintAndTipElement.removeClassName("hint_and_tip_closed");
		} else {
			hintAndTipElement.addClassName("hint_and_tip_closed");
		}
	}
});


WS.SendToFriend = Class.create({
	expand: function() {
		var sendToFriendContainer = $("send_to_friend_container");
		sendToFriendContainer.removeClassName("collapsed");
		sendToFriendContainer.addClassName("expanded");
	},
	collapse: function() {
		var sendToFriendContainer = $("send_to_friend_container");
		sendToFriendContainer.removeClassName("expanded");
		sendToFriendContainer.addClassName("collapsed");
	}
});