function setLang(language) {
    var myPath = new String(document.URL);
    var myPath2;
    if (myPath == "http://www.alpsmove.it" || myPath == "http://www.alpsmove.it/" || myPath == "http://alpsmove.it" || myPath == "http://alpsmove.it/") myPath2 = myPath + language + "/";
    else myPath2 = myPath.replace(/\/..\//, "/" + language + "/");
    window.location.href = myPath2;
    return false;
}

function checkAboCount() {
	var c = 0;
	var canProceed = false;
	if (document.forms[0].elements['tx_sthottickets_pi1[abo3check]'].checked) {
		for (var i = 0; i < document.forms[0].elements['tx_sthottickets_pi1[abo3][]'].length; i++) {
			if (document.forms[0].elements['tx_sthottickets_pi1[abo3][]'][i].checked) c++;
		}
		if (c < 3) {
			if (confirm(confirmMinor3)) canProceed = true;
			else return false;
		}
		else if (c > 3) {
			alert(errorMajor3);
			for (var i = 0; i < document.forms[0].elements['tx_sthottickets_pi1[abo3][]'].length; i++) {
				document.forms[0].elements['tx_sthottickets_pi1[abo3][]'][i].checked = false;
			}
			return false;
		}
		else canProceed = true;
	}
	if (document.forms[0].elements['tx_sthottickets_pi1[abo5check]'].checked) {
		for (var i = 0; i < document.forms[0].elements['tx_sthottickets_pi1[abo5][]'].length; i++) {
			if (document.forms[0].elements['tx_sthottickets_pi1[abo5][]'][i].checked) c++;
		}
		if (c < 5) {
			if (confirm(confirmMinor5)) return true;
			else return false;
		}
		else if (c > 5) {
			alert(errorMajor5);
			for (var i = 0; i < document.forms[0].elements['tx_sthottickets_pi1[abo5][]'].length; i++) {
				document.forms[0].elements['tx_sthottickets_pi1[abo5][]'][i].checked = false;
			}
			return false;
		}
		else return true;
	}
}

function checkBoxChange(sender) {
	var checkboxname = sender.name;
	var trunkname = checkboxname.replace(/check/, "");
	var inputname = trunkname + "[total]";
	if (sender.checked && document.forms[0].elements[inputname].value == 0) {
		document.forms[0].elements[inputname].value = "1";
		if (checkboxname.search(/catcheck/) != -1) {
			if (document.forms[0].elements[trunkname + "[normal]"]) document.forms[0].elements[trunkname + "[normal]"].value = "1";
			if (document.forms[0].elements[trunkname + "[elderly]"]) document.forms[0].elements[trunkname + "[elderly]"].value = "";
			if (document.forms[0].elements[trunkname + "[children]"]) document.forms[0].elements[trunkname + "[children]"].value = "";
			if (document.forms[0].elements[trunkname + "[student]"]) document.forms[0].elements[trunkname + "[student]"].value = "";
			if (document.forms[0].elements[trunkname + "[special]"]) document.forms[0].elements[trunkname + "[special]"].value = "";
			if (document.forms[0].elements[trunkname + "[free]"]) document.forms[0].elements[trunkname + "[free]"].value = "";
		}
	}
	if (!sender.checked) {
		document.forms[0].elements[inputname].value = "";
		if (checkboxname.search(/catcheck/) != -1) {
			if (document.forms[0].elements[trunkname + "[normal]"]) document.forms[0].elements[trunkname + "[normal]"].value = "";
			if (document.forms[0].elements[trunkname + "[elderly]"]) document.forms[0].elements[trunkname + "[elderly]"].value = "";
			if (document.forms[0].elements[trunkname + "[children]"]) document.forms[0].elements[trunkname + "[children]"].value = "";
			if (document.forms[0].elements[trunkname + "[student]"]) document.forms[0].elements[trunkname + "[student]"].value = "";
			if (document.forms[0].elements[trunkname + "[special]"]) document.forms[0].elements[trunkname + "[special]"].value = "";
			if (document.forms[0].elements[trunkname + "[free]"]) document.forms[0].elements[trunkname + "[free]"].value = "";
		}
	}
}

function inputChange(sender) {
	var inputname = sender.name;
	var trunkname = inputname.replace(/(cat\]\[.*\])\[.*\]$/, "$1");
	var checkboxname = trunkname.replace(/\[total\]/, "");
	checkboxname = checkboxname.replace(/abo3/, "abo3check");
	checkboxname = checkboxname.replace(/abo5/, "abo5check");
	checkboxname = checkboxname.replace(/cat/, "catcheck");
	
	if (inputname.search(/total/) != -1) {
		if (sender.value == "" || sender.value == "0") document.forms[0].elements[checkboxname].checked = false;
		else {
			document.forms[0].elements[checkboxname].checked = true;
		}
		if (document.forms[0].elements[trunkname+"[normal]"]) {
			var total = intval(sender.value);
			var sum = getSum(trunkname);
			var normal = total - sum;
			if (normal < 0) {
				document.forms[0].elements[trunkname+"[normal]"].value = total;
				if (document.forms[0].elements[trunkname+"[elderly]"]) document.forms[0].elements[trunkname+"[elderly]"].value = "";
				if (document.forms[0].elements[trunkname+"[children]"]) document.forms[0].elements[trunkname+"[children]"].value = "";
				if (document.forms[0].elements[trunkname+"[student]"]) document.forms[0].elements[trunkname+"[student]"].value = "";
				if (document.forms[0].elements[trunkname+"[special]"]) document.forms[0].elements[trunkname+"[special]"].value = "";
				if (document.forms[0].elements[trunkname+"[free]"]) document.forms[0].elements[trunkname+"[free]"].value = "";
			}
			else document.forms[0].elements[trunkname+"[normal]"].value = normal;
		}
	}
	if (inputname.search(/normal/) != -1) {
		var normal = intval(sender.value);
		var sum = getSum(trunkname) + normal;
		document.forms[0].elements[trunkname+"[total]"].value = sum;
		document.forms[0].elements[checkboxname].checked = true;
	}
	if (inputname.search(/elderly/) != -1 || inputname.search(/children/) != -1 || inputname.search(/student/) != -1 || inputname.search(/special/) != -1 || inputname.search(/free/) != -1) {
		var total = intval(document.forms[0].elements[trunkname+"[total]"].value);
		var sum = getSum(trunkname);
		if (sum < total) document.forms[0].elements[trunkname+"[normal]"].value = total - sum;
		else {
			document.forms[0].elements[trunkname+"[normal]"].value = 0;
			document.forms[0].elements[trunkname+"[total]"].value = sum;
			document.forms[0].elements[checkboxname].checked = true;
		}
	}
}

function getSum(trunkname) {
	var sum = 0;
	if (document.forms[0].elements[trunkname+"[elderly]"]) sum += intval(document.forms[0].elements[trunkname+"[elderly]"].value);
	if (document.forms[0].elements[trunkname+"[children]"]) sum += intval(document.forms[0].elements[trunkname+"[children]"].value);
	if (document.forms[0].elements[trunkname+"[student]"]) sum += intval(document.forms[0].elements[trunkname+"[student]"].value);
	if (document.forms[0].elements[trunkname+"[special]"]) sum += intval(document.forms[0].elements[trunkname+"[special]"].value);
	if (document.forms[0].elements[trunkname+"[free]"]) sum += intval(document.forms[0].elements[trunkname+"[free]"].value);
	return sum;
}

function intval(invar) {
	var tmp = parseInt(invar);
	if (isNaN(tmp) || !isFinite(tmp)) return 0;
	else return tmp;
}

function checkData() {
	var needtel = false;
	var error = false;
	//if (document.getElementById("name").value == "") error = true;
	//if (document.getElementById("email").value == "") needtel = true;
	//if (document.getElementById("strasse").value == 
	//if (document.getElementById("stadt").value == 
	//if (document.getElementById("plz").value == 
	//if (document.getElementById("land").value == 
	if (document.getElementById("mail").value != "" && !emailCheck(document.getElementById("mail").value)) {
		error= true;
		alert("Bitte geben eine korrekte Emailadresse an.\nInserite un indirizzo di mail valido, per favore.");
	}
	if (document.getElementById("mail").value == "") {
		error = true;
		alert("Bitte geben Sie Ihre Email adresse an.\nPrego inserisca il suo indirizzo email.");
	}
	
	if (document.getElementById("name").value == "") {
		error = true;
		alert("Bitte geben Sie Ihren Namen an.\nPrego inserisca il suo nome.");
	}
	if (document.getElementById("nachname").value == "") {
		error = true;
		alert("Bitte geben Sie Ihren Nachnamen an.\nPrego inserisca il suo cognome.");
	}
	if (error) return false;
	else return true;
}


function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// See if "user" is valid 
	if (user.match(userPat)==null) {
	    // user is not valid
	    return false;
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
	    // this is an IP address
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				return false;
		    }
	    }
	    return true;
	}


	// Domain is symbolic name
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {	
	    return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   // the address must end in a two letter or three letter word.   
	   return false;
	}

	// Make sure there's a host name preceding the domain.
	if (len<2) {  
	   return false;
	}

	// If we've gotten this far, everything's valid!
	return true;
}











