// copyright scalp.de

var DOM = (document.getElementById);


function winopen(url,name,style) { 
	var newWin = window.open(url,name,style);
	newWin.focus();
}


	function set_listname(){
		tmp_listname = document.getElementById("lkz_id").value;
		switch (tmp_listname) {
			case "1":
				selected_listname = "tokiohotel";
				break;

			case "3":
				selected_listname = "tokiohotel";
				break;

			case "5":
				selected_listname = "tokiohotel";
				break;

			case "2":
				selected_listname = "tokiohotel_fr";
				break;

			case "217":
				selected_listname = "tokiohotel_fr";
				break;

			case "239":
				selected_listname = "tokiohotel_fr";
				break;

			case "11":
				selected_listname = "tokiohotel_uk";
				break;

			case "14":
				selected_listname = "tokiohotel_it";
				break;

			case "18":
				selected_listname = "tokiohotel_no";
				break;

			case "20":
				selected_listname = "tokiohotel_pt";
				break;

			case "8":
				selected_listname = "tokiohotel_es";
				break;

			case "48":
				selected_listname = "tokiohotel_ca";
				break;

			case "156":
				selected_listname = "tokiohotel_us";
				break;

			default:
				selected_listname = "tokiohotel_en";
				break;

		}
		
		document.getElementById("listname_id_1").value = selected_listname;
		// alert ("listname: " + document.getElementById("listname_id_1").value);
	}


	function submit_theform(){
		var alerttext = "";

		// email
		var zeichen="/ ;:,δόφ";
		eingabe = document.getElementById("email_id").value;
		laenge = eingabe.length;
		for(i=0; i<laenge; i++) {
	  		badchar = eingabe.charAt(i);
	  		if (zeichen.indexOf(badchar)>-1) {
				alerttext += "\nEmail contains bad characters.";
			}
		}   		
     		var PosEt = document.getElementById("email_id").value.indexOf("@");
     		var PosPt = document.getElementById("email_id").value.indexOf(".", PosEt);
     		if ((document.getElementById("email_id").value == '') || (PosPt == -1) || (PosPt - PosEt < 2) || (document.getElementById("email_id").value.length - PosPt < 3) || (PosEt == -1) || (PosEt == 0) || (document.getElementById("email_id").value.indexOf("@", PosEt + 1) > PosEt)) {
			alerttext += "\nEmail is not valid.";	
		}
		if ((document.getElementById("email_id2").value == '') || (document.getElementById("email_id2").value != document.getElementById("email_id").value)) {
			alerttext += "\nConfirm your email.";	
		}



		var zeichen="/;:,<>";


		// pers_firstname_id   
        	if (document.getElementById("pers_firstname_id").value == ""){      
			alerttext += "\nFirst name missing."; 
        	}
		eingabe = document.getElementById("pers_firstname_id").value;
		laenge = eingabe.length;
		for(i=0; i<laenge; i++) {
	  		badchar = eingabe.charAt(i);
	  		if (zeichen.indexOf(badchar)>-1) {
				alerttext += "\nFirst name contains bad characters.";
			}
		} 


		// pers_surname_id   
        	if (document.getElementById("pers_surname_id").value == ""){      
			alerttext += "\nLast name missing."; 
        	}
		eingabe = document.getElementById("pers_surname_id").value;
		laenge = eingabe.length;
		for(i=0; i<laenge; i++) {
	  		badchar = eingabe.charAt(i);
	  		if (zeichen.indexOf(badchar)>-1) {
				alerttext += "\nLast name contains bad characters.";
			}
		}

		// pers_street_hno_id  
        	if (document.getElementById("pers_street_hno_id").value == ""){      
			alerttext += "\nStreet + Number missing."; 
        	}

		// pers_street_plz_id  
        	if (document.getElementById("pers_street_plz_id").value == ""){      
			alerttext += "\nPostal code missing."; 
        	}

		// pers_street_cityname_id  
        	if (document.getElementById("pers_street_cityname_id").value == ""){      
			alerttext += "\nCity missing."; 
        	}

		// state_id  
        	if (document.getElementById("state_id").value == ""){      
			// alerttext += "\nState missing."; 
        	}

		// lkz_id  
        	if (document.getElementById("lkz_id").value == ""){      
			alerttext += "\nCountry missing."; 
        	}

		// listname_id_1 + listname_id_2
 		if (document.getElementById('listname_id_1').checked==false && document.getElementById('listname_id_2').checked==false) { 
			alerttext += "\n\nTell us if you want to subscribe to the free and official Tokio Hotel newsletter."; 
		}

		// final check
		if (alerttext != "") {
			alerttext = "Error, please check:\n" + alerttext;
			alert(alerttext);
			return false;
		} else {
			// alerttext = "No errors :)";
			// alert(alerttext);

			document.forms.theform.submit_name.disabled = true;			
			document.forms.theform.submit_name.value = 'PLEASE WAIT ...';
			return true;
		}
	}


	toggle = function(id, toggle_id, toggle_basename) {		
		if (DOM) {
			node = document.getElementById(id);

			if (node) {					
   				if (node.style.display == "") {
					// ausschalten
   					node.style.display = "none";
					if (document.images) {
						document.getElementById(toggle_id).src = "images/icons/" + toggle_basename + "_off.gif";
					}	
   				} else {
					// einschalten
   					node.style.display = "";
					if (document.images) {
						document.getElementById(toggle_id).src = "images/icons/" + toggle_basename + "_on.gif";
					}
  				}
 			}
		}
	}


function setPos(id,links,oben,sel_width,sel_height) {
	lay = document.getElementById(id);
	lay.style.position = 'absolute';
	lay.style.visibility = "visible";
	links = links * sel_width;
	oben = oben * sel_height;
	lay.style.left = links + 'px';
	lay.style.top = oben + 'px';
	//alert(id + " pos: " + links + " | " + oben);
	
	var agt = navigator.userAgent.toLowerCase();
	if (agt.indexOf("safari") != -1) {
		window.scrollTo((links - 200), (oben - 200));
	} else {
		scrollZu((links - 200), (oben - 200));
	}
}

function show(id) {
	lay = document.getElementById(id);
	lay.style.display = "";	
}

function hide(id) {
	lay = document.getElementById(id);
	lay.style.display = "none";	
}


// gibt aktuelle y-scroll position
function scrollTop() {
	body = document.body
	d = document.documentElement
	if (body && body.scrollTop) return body.scrollTop
	if (d && d.scrollTop) return d.scrollTop
	if (window.pageYOffset) return window.pageYOffset
	return 0
}


// gibt aktuelle x-scroll position
function scrollLeft() {
	body = document.body
	d = document.documentElement
	if (body && body.scrollLeft) return body.scrollLeft
	if (d && d.scrollLeft) return d.scrollLeft
	if (window.pageXOffset) return window.pageXOffset
	return 0
}	


function scrollZu(soll_x, soll_y) {
	// alert("scrollZu(" + soll_x + ", " + soll_y + ")");
	ih = window.innerHeight || document.documentElement.clientHeight;
	h = document.body.scrollHeight;
	a = scrollTop();
	alt_a = a;
	
	iw = window.innerWidth || document.documentElement.clientWidth;
	w = document.body.scrollWidth;
	b = scrollLeft();
	alt_b = b;
	
	scrollSpeed = 25;

	// y-achse
	if (soll_y > a) {
		if (h - soll_y > ih) {
			a += Math.ceil((soll_y - a) / scrollSpeed);
		} else {
			a += Math.ceil((soll_y - a - (h - soll_y)) / scrollSpeed);
		}
	} else {
		a = a + (soll_y - a) / scrollSpeed;
	}
	
	// x-achse
	if (soll_x > b) {
		if (w - soll_x > iw) {
			b += Math.ceil((soll_x - b) / scrollSpeed);
		} else {
			b += Math.ceil((soll_x - b - (h - soll_x)) / scrollSpeed);
		}
	} else {
		b = b + (soll_x - b) / scrollSpeed;
	}
	
	window.scrollTo(b, a);
		
	jetzt_a = scrollTop();
	jetzt_b = scrollLeft();
	
	if ((a == soll_y && b == soll_x) || (jetzt_a == alt_a && jetzt_b == alt_b)) {
		// alert("angekommen / keine bewegung");
		// showId(soll_id);
	} else {
		setTimeout("scrollZu(" + soll_x + ", " + soll_y + ")", 10);
	}
}


function submit_aktion() {
	var alerttext = "";

	var zeichen="/ ;:,<>δόφ";

	// pers_email
	eingabe = document.getElementById("pers_email_id").value;
	laenge = eingabe.length;
	for(i=0; i<laenge; i++) {
	  	badchar = eingabe.charAt(i);
	  	if (zeichen.indexOf(badchar)>-1) {
			alerttext += "\nYour email contains invalid characters!";
		}
	}   		
     	var PosEt = document.getElementById("pers_email_id").value.indexOf("@");
     	var PosPt = document.getElementById("pers_email_id").value.indexOf(".", PosEt);
     	if ((document.getElementById("pers_email_id").value == '') || (PosPt == -1) || (PosPt - PosEt < 2) || (document.getElementById("pers_email_id").value.length - PosPt < 3) || (PosEt == -1) || (PosEt == 0) || (document.getElementById("pers_email_id").value.indexOf("@", PosEt + 1) > PosEt)) {
		alerttext += "\nYour email is not valid.";	
	}


	// final check
	if (alerttext != "") {
		alerttext = "An error occurred, please check:\n" + alerttext;
		alert(alerttext);
		return false;
	} else {
		document.forms.form_aktion.aktion_submitname.disabled = true;			
		document.forms.form_aktion.aktion_submitname.value = 'Please wait...';		
		document.forms.form_aktion.submit();
		return true;
	}		 
}

// --- peace out ---