/* Makes sure the site is not displayed within someone else's frame */
function killFrames()
{
	if (top != self && !top.location.match(/plattentests\.de/i)) {
	  top.location = self.location;
	}
}


/* Pre-loads images based on the current style sheet. */
function preLoadImages()
{
	if (document.styleSheets) {
		var allStyleSheets = document.styleSheets;
		var processedStyleSheets = new Array();

		for (var i = 0; i < allStyleSheets.length; i++)
		{
			var style    = allStyleSheets[i];
			var title    = style.title;

			// Do nothing if the style sheet is disabled or has already been
			// processed earlier
			if (style.disabled || processedStyleSheets[title]) { continue; }

			if (title == "Plattentests V2.0") preLoadImages_v2_0();
			
			processedStyleSheets[title] = true;
		}
	}
}


/* Clears an input field if it has its default value. */
function clearInput(input)
{
	if (input.value == input.defaultValue)
		input.value = '';
}


/* Assigns its default value to an input field. */
function resetInput(input)
{
	if (!input.value.match(/\S/))
		input.value = input.defaultValue;
}

/* Checks the charts vote prior to submission */
function checkChartsVote(form)
{
	var expr  = /^(10|9|8|7|6|5|4|3|2|1)$/;
	var value = form.vote.value;
	
	if (value.search(expr) == -1) {
		alert("Bitte waehle einen gueltigen Wert aus!");
		return false;
	}
	
	return true;
}

/* Checks the newsletter e-mail address */
function checkNewsletterEMail(form)
{
	var expr   = /^(\S+)@(\S+)\.(\S+)$/;
	var result = true;
	
	for (var i = 0; i < form.elements.length && result; i++) {
		var element = form.elements[i];

		if (element.name == "YMP[0]") {
			// Strip whitespace
			var value = element.value.replace(/(^\s+|\s+$)/g, "");

			if (value == element.defaultValue || value.search(expr) == -1)
				result = false;
			else
				element.value = value;
		}
	}

	if (!result)
		alert("Bitte gib eine gueltige E-Mail-Adresse an!");
		
	return result;
}

killFrames();
preLoadImages();
