var sUrl = "http://s0.la20.de/"; // static url

var request = null;
var Jetzt = new Date();
var Start = Jetzt.getTime();

window.onload = function() {
	aufenthalt();
}

function aufenthalt() {
	var Sekunden = Math.round(timer());
	document.getElementById("aufenthalt").value = Sekunden;
	window.setTimeout("aufenthalt()",1000);
}
	
function timer() {
	var again = new Date();
	return((again.getTime() - Start)/1000);
}


function checkUser(typ) {
	var user = document.getElementById("user").value;
	var regex = /[^a-zA-Z0-9_\-]/;
	if (regex.test(user)) {
		setClass('nuS');
		"ausgabe".id("h2".t("Pseudonym Prüfung"));
		"ausgabe".id("p".t("Im Pseudonym sind keine Sonderzeichen (Leerzeichen, Umlaute) möglich. Erlaubt sind Buchstaben und Zahlen, sowie Binde- und Unterstrich."));
	}
	else if (user.length < 3) {
		setClass('nuS');
		"ausgabe".id("h2".t("Pseudonym Prüfung"));
		"ausgabe".id("p".t("Pseudonym muss mind. 3 Zeichen lang sein."));
	}
	else {
		var year = document.getElementById("sYear").value;
		request = createRequest();
		request.onreadystatechange = completeUser;
		request.open("GET","/js/user.php?user="+user+"&year="+year+"&typ="+typ,true);
		request.send(null);
	}
}

function completeUser() {
	if (request.readyState == 4) {
		if (request.responseText != 'trueTab') {
			setClass('nuS');
			"ausgabe".id("h2".t("Pseudonym Prüfung"));
			if (request.responseText == 'true') "ausgabe".id("p".t(document.getElementById("user").value+" ist als Pseudonym noch verfügbar."));
			else {
				var userAr = request.responseText.split(";");		
				"ausgabe".id("p".t("Das Pseudonym "+userAr[0]+" wird schon verwendet."));
				"ausgabe".id("h2".t("Mögliche Alternativen"));
				if (userAr.length > 6) userAr.length = 6;
				for (var i = 1; i < userAr.length; ++i) {
					"ausgabe".id("a".a("href","javascript:setUser('"+userAr[i]+"')").t(userAr[i]));
					"ausgabe".id("p".t());
				}
			}
		}
	}
}

function setUser(user) {
	document.getElementById("user").value = user;
	setClass('nu');
}

function setClass(c) {
	deleteChildNodes(document.getElementById("ausgabe"));
	document.getElementById("ausgabe").className=c;
}

String.prototype.tags = "address applet area a base basefont big blockquote body br b caption center cite code dd dfn dir div dl dt em font form h1 h2 h3 h4 h5 h6 head hr html img input isindex i kbd link li map menu meta ol option param pre p samp script select small strike strong style sub sup table td textarea th title tr tt ul u var".split(" ");

String.prototype.t = function(children) {
	var tag = document.createElement(this);
	if (this.attribs != null) 	{
		for(var i = 0; i < this.attribs.length; i++) 		{
			var attr = this.attribs[i];
			if (attr.name == "class") {
				tag.className = attr.value;
			}else{
				tag.setAttribute(attr.name, attr.value);
			}
		}
	}
	return appendChildren(tag, children);
}

String.prototype.a = function(n, v) {
	if (this.attribs == undefined || this.attribs == null) this.attribs = new Array();
	if (arguments.length > 1) 	{
		this.attribs.push({name : n, value : v});
	} 
	else if (arguments.length == 1)	{
		if (n.length != undefined) 		{
			for (var i = 0; i < n.length; i++) 			{
				this.attribs.push({name : n[i][0], value : n[i][1]});
			}
		}
	}
	return this;
}

String.prototype.id = function(children) {
	return appendChildren(document.getElementById(this), children);
}

String.prototype.name = function(nr, children) {
	var elements = document.getElementsByName(this);
	if (nr != null && typeof(nr) == "number" && children != null)	{
		return appendChildren(elements[nr], children);
	}
	else if (nr != null && typeof(nr) == "number" && children == null)	{
		return elements[nr];
	}
	else	{
		return elements;
	}
}

appendChildren = function(tag, children) {
	if (children != null) {
		if (typeof(children) == "string" || typeof(children) == "number") {
			var text = document.createTextNode(children);
			tag.appendChild(text);
			return tag;
		}
		else if (children.length != undefined && children.nodeName == undefined) {
			for (var i = 0; i < children.length; i++)	{
				var child = children[i];
				if (typeof(child) == "string" || typeof(children) == "number") {
					var text = document.createTextNode(child);
					tag.appendChild(text);
				}
				else {
					tag.appendChild(child);
				}
			}
			return tag;
		}
		else {
			tag.appendChild(children);
		}
	}
	return tag;
}

Array.prototype.t = function(children) {
	var tmp = new Array();
	for (var i = 0; i < this.length; i++)	{
		tmp[i] = this[i].t(children);
	}
	return tmp;
}

Array.prototype.a = function(name, value) {
	for (var i = 0; i < this.length; i++) {
		var t = this[i];
		this[i] = t.a(name, value);
	}
	return this;
}

Array.prototype.s = function(tag) {
		if (typeof(tag) == "string" || (tag.length == undefined && tag.nodeName == undefined)){
			for (var i = 0; i < this.length; i++) {
					if ("".tags.contains(this[i])) {
						this[i] = tag.t(this[i].t());
					}
					else {
						this[i] = tag.t(this[i]);
					}
			}
		}
		else {
			for (var i = 0; i < this.length; i++) {
				for (var j = 0; j < tag.length; j++) {
					this[i] = tag[j].t(this[i]);
				}
			}
		}
	return this;
}

Array.prototype.contains = function(obj) {
	for (var i = 0; i < this.length; i++) {
		var o = this[i];
		if (o == obj)	{
			return true;
		}
	}
	return false;
}

deleteChildNodes = function(element) {
	var childrenLength = element.childNodes.length;
	if (childrenLength > 0) {
		for (var i = childrenLength; i > 0; i--) {
			var childNode = element.childNodes[i-1];
			element.removeChild(childNode);
		}
	}
}

// Auto ausfüllen
function sSexChange() {
	var set = '0';
	var sSex = document.getElementById("sSex");
	if (sSex.value == 'm') set = 'f';
	if (sSex.value == 'f') set = 'm';
	setSelect(document.getElementById('sSexSuche'),set);
	ageChange();
}

function ageChange() {
	if (document.getElementById("sSex").value != '0') {
		if (document.getElementById("sYear").value != 'Jahr') {
			var age = calcAge(document.getElementById("sYear").value,6,15);
			var minAge;
			var maxAge;
			if (document.getElementById("sSex").value == 'f') {
				minAge = (age*1 - 3);
				maxAge = (age*1 + 11);
			} 
			else {
				minAge = (age*1 - 10);
				maxAge = (age*1 + 10);
			}
			if (document.getElementById("sSex").value == document.getElementById("sSexSuche").value) {
				minAge = (age*1 - 10);
				maxAge = (age*1 + 10);
			}
			if (minAge < 16) minAge = 16;
			if (maxAge > 80) maxAge = 80;
			setSelect(document.getElementById('sAgeFrom'),minAge);
			setSelect(document.getElementById('sAgeTo'),maxAge);
		}
	}
}

function calcAge(year,month,day){     
	var b = new Date(year, month - 1, day);
	var t = new Date();            
	var age = t.getFullYear() - b.getFullYear();
	if (t.getMonth() < b.getMonth() || t.getMonth() == b.getMonth() && t.getDate() < b.getDate()) age = age - 1;
	return age;	 
}

function setSelect(f,w) {
	f.selectOptionByValue = function (value) {
		var optionsC = this.options.length;
		for(var i = 0; i < optionsC; i++) {
		  if (this.options[i].value == value) this.options[i].selected = true;
  		else this.options[i].selected = false;
 		}
	}
	f.selectOptionByValue(w);
}

// script.js

function setC(i,c) {
	document.getElementById(i).className = c;
}

function createRequest() {
	try {
		var request = new XMLHttpRequest();
	} catch(ex) {
		try {
			var request = new ActiveXObject("MSXML2.XMLHTTP");
		} catch(ex) {
			var request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return request;
}

function gid(id) { // get ID
	return document.getElementById(id);
}

function loadJS(file) {
  if (heads==0)
    heads=document.getElementsByTagName("head");
  if (script_element!=0) {
    heads[0].removeChild(script_element);
    delete script_element;
  }
  script_element=document.createElement("script");
  script_element.type="text/javascript";
  script_element.src=file;
  heads[0].appendChild(script_element);
}

function getPosition(obj) {
  var pos = { x:0, y:0 };
  do {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;
  } while (obj = obj.offsetParent);
  return pos;
}

function mb(curobj,f,d) {
	var pos = getPosition(curobj);
	mbX = pos.x-8;
	mbY = pos.y-8;
	mbD = d;
	loadJS('/js/'+f+'.js');
}

function mBoxClose() {
	gid("mBox").className='none';
}

function geoSet() { // wenn geoid gesetzt wird
}

function sd(u,o) { // Subdomain & Subordner - User | File, Ordner
	var d = 's4', t = '.jpg'; // Standard
	var s = u.toLowerCase().slice(0,3); // Subordner
	switch (u.length) {
  case 2:
		d = 's5';
		s = '000';
		t = '.gif';
		break;
  case 6:
		d = 's1';
    break;
  case 7:
		d = 's1';
    break;
  case 9:
		d = 's2';
    break;
  case 11:
		d = 's2';
    break;
  case 10:
		d = 's3';
    break;
  case 12:
		d = 's3';
    break;
	}
	d = 'http://'+d+'.la20.de/'+o+'/'+s+'/'+u+t;
	return d;
}

var script_element=0,heads=0;
