// hide law hint
function prepareLaw(){
	if (!document.getElementById && !document.getElementsByTagName) return false;
	if (!document.createElement && !document.createTextNode) return false;
	if (!document.getElementById("law")) return false;
	var law = document.getElementById("law");
	var h = law.getElementsByTagName("H4")[0];
	var p = law.getElementsByTagName("P")[0];
	p.id = "lawhint";
	p.style.display = "none";
	var a = document.createElement("A");
	a.href = "javascript:toggle('lawhint')";
	var txt  =  document.createTextNode(h.lastChild.nodeValue);
	a.appendChild(txt);
	h.removeChild(h.lastChild);
	h.appendChild(a);
}
addLoadEvent(prepareLaw);

//effects
function blend(eName,step,ie) {
	if (!document.getElementById) return false;
	elm = document.getElementById(eName);
	
	if (elm.blendaction) clearInterval(elm.blendaction);

	//initialize
	if (!elm.blend && step > 0) {
		elm.blend = 1;
	}
	
	if (!ie && navigator.appName == 'Microsoft Internet Explorer') {
		if ( step > 0 ) {
			elm.blend = 100;
		} else {
			elm.blend = 0;
		}
	}
	
	// set display
	if (step > 0 && (elm.blend <= 1 || elm.blend >= 100) ) {
		elm.style.display = "";
	}
	if (step < 0 && elm.blend <= 1) {
		elm.style.display = "none";
	}
	
	// count
	elm.blend = elm.blend + step;
	
	if (elm.blend >= 1 && elm.blend <= 100) {
		// CSS opacity
		elm.style.opacity = elm.blend / 100;
		// MSIE if no other filters applied with style sheets set ie to true
		if (ie) elm.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity = " + elm.blend + ")";
	
		// invoke again or abort
		var action = "blend('" + eName + "', " + step + ", " + ie + ")";
		elm.blendaction = window.setTimeout(action,20);
	} else {
		elm.blend = elm.blend - step;
	}
}

// load content
function getHTTPObject() {
	var xmlhttp = false;
	
	//support all MSIE
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp = false;
	  }
	 }
	
	// create request element
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	
	return xmlhttp;
}
var xmlhttp = getHTTPObject();
function loadText(URL,elm,blender,ie) {
	xmlhttp.open("GET",URL,true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			document.getElementById(elm).innerHTML = xmlhttp.responseText;
			if (blender) blend(elm,4,ie);
		}
	}
	xmlhttp.send(null);
	return false;
}

// form validation
function isFilled(field) {
	if (field.value.length < 1 || field.value == field.defaultValue) {
		return false;
	} else {
		return true;
	}
}
function isEmail(field) {
	if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
		return false;
	} else {
		return true;
	}
}
function validateForm(whichform) {
	var check = true;
	for (var i=0; i<whichform.elements.length; i++) {
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1) {
			if (!isFilled(element)) {
				addClass(element, "false");
				check = false;
			} else {
				removeClass(element, "false");
			}
		}
		if (element.className.indexOf("email") != -1) {
			if (!isEmail(element)) {
				addClass(element, "false");
				check = false;
			} else {
				removeClass(element, "false");
			}
		}
	}
	return check;
}

function submitData(form) {
	
	if (!validateForm(form)) return false;

	if (xmlhttp) {
		if (document.getElementById || document.createElement || document.body.innerHTML) {
			var URL = "/kontakt/message.php?"
			URL = URL + "&nname=" + form.nname.value;
			URL = URL + "&email=" + form.email.value;
			URL = URL + "&newsletter=" + form.newsletter.checked;
			URL = URL + "&message=" + form.message.value;
			URL = URL + "&js=1";
			URL = encodeURI(URL);
		
			loadText( URL,"returned",true,false);
			form.reset();
			return false;
		}
	}
} 
function prepareForm() {
	var form = document.forms[0];
	form.onsubmit = function() { return submitData(form); }

	if (!document.getElementById || !document.createElement) return false;
	
	var elm = document.createElement("div");
	elm.id = "returned";
	elm.style.display = "none";
	
	elm.onmouseout = function() { return blend("returned",-2,false); }
	
	var Tchild = document.getElementById("main");
	Tchild.parentNode.insertBefore(elm,Tchild);
}
addLoadEvent(prepareForm);

