function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function switchlayer(Layer_Name)
{
	var GECKO = document.getElementById? 1:0 ;
	var NS = document.layers? 1:0 ;
	var IE = document.all? 1:0 ;

	if (GECKO)
			 {document.getElementById(Layer_Name).style.display=
		 (document.getElementById(Layer_Name).style.display=='block') ? 'none' : 'block';}
	else if (NS)
			 {document.layers[Layer_Name].display=(document.layers[Layer_Name].display==
		 'block') ? 'none' : 'block';}
	else if (IE)
			 {document.all[Layer_Name].style.display=(document.all[Layer_Name].style.display==
		 'block') ? 'none' : 'block';}
}

/*
 * prices for the different actions (pricesType) or the different values (pricesValue)
 * values are in Euro Cent
 */
var pricesType = new Array(0, 9800, 7500, 6500, 6500, 4100, 4500, 1500, 1900, 1500, 800, 6500, 9500);
var pricesValue = new Array(0, 2500, 5000, 10000);

/**
 * checks the different input fields and calculates the overall price
 */
function calculatePrice()
{
	var price = 0;

	document.getElementById('type1price').value = pricesType[document.getElementById('type1').selectedIndex];
	price += parseFloat(pricesType[document.getElementById('type1').selectedIndex]);

	document.getElementById('type2price').value = pricesType[document.getElementById('type2').selectedIndex];
	price += parseFloat(pricesType[document.getElementById('type2').selectedIndex]);

	document.getElementById('type3price').value = pricesType[document.getElementById('type3').selectedIndex];
	price += parseFloat(pricesType[document.getElementById('type3').selectedIndex]);

	document.getElementById('value1price').value = pricesValue[document.getElementById('value1').selectedIndex];
	price += parseFloat(pricesValue[document.getElementById('value1').selectedIndex]);

	document.getElementById('value2price').value = pricesValue[document.getElementById('value2').selectedIndex];
	price += parseFloat(pricesValue[document.getElementById('value2').selectedIndex]);

	document.getElementById('value3price').value = pricesValue[document.getElementById('value3').selectedIndex];
	price += parseFloat(pricesValue[document.getElementById('value3').selectedIndex]);

	priceString = price.toString();
	if (priceString.length == 1)
	{
		price = '0,00';
	}
	else
	{
		priceSplit = new Array();
		priceSplit[0] = priceString.substr(0, priceString.length - 2);
		priceSplit[1] = priceString.substr(-2);

		price = priceSplit[0] + ',';
		if (priceSplit.length > 1)
		{
			price += priceSplit[1];
			if (priceSplit[1].length == 1)
			{
				price += '0';
			}
		}
		else
			price += '00';
	}

	document.getElementById('sum').innerHTML = price;
}


/**
 * check a form
 */
function checkForm()
{
	var returnValue = true;

	for (var argsCount = 0; argsCount < arguments.length; argsCount += 2)
	{
		if (document.getElementById(arguments[argsCount]))
		{
			var fieldValue = document.getElementById(arguments[argsCount]).value;

			switch(arguments[argsCount + 1])
			{
				case 't': // field has text inserted
					if (fieldValue == '')
					{
						returnValue = false;
						document.getElementById(arguments[argsCount] + 'Error').style.display = 'block';
					}
					else
						document.getElementById(arguments[argsCount] + 'Error').style.display = 'none';
				break;
				case 'e': // field has an e-mail inserted
					if (fieldValue == '' || fieldValue.match(/\w.*@\w.*\.\w\w+/) == null)
					{
						returnValue = false;
						document.getElementById(arguments[argsCount] + 'Error').style.display = 'block';
					}
					else
						document.getElementById(arguments[argsCount] + 'Error').style.display = 'none';
				break;
				default: // field is a number or something unknown
					if (arguments[argsCount + 1].indexOf('n') == 0) // is Number
					{
						var isNumber = false;

						if (arguments[argsCount + 1].length > 1)
						{ // number with x characters
							exactLength = arguments[argsCount + 1].substr(1, arguments[argsCount + 1].length - 1);

							if (fieldValue.match(/^\d+$/) != null && fieldValue.length == exactLength)
								isNumber = true;
						}
						else
						{ // regular number
							if (fieldValue.match(/^\d+$/) != null)
								isNumber = true;
						}

						if (!isNumber)
						{
							returnValue = false;
							document.getElementById(arguments[argsCount] + 'Error').style.display = 'block';
						}
						else
							document.getElementById(arguments[argsCount] + 'Error').style.display = 'none';
					}
					else
					{
						alert('this is not an allowed character: ' + arguments[argsCount + 1]);
						return false;
					}
				break;
			}
		}
	}

	return returnValue;
}

