// JavaScript

function $(v) 
{ 
	return(document.getElementById(v)); 
}

function $S(v) 
{
	return($(v).style); 
}

function agent(v) 
{ 
	return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); 
}

function isset(v) 
{ 
	return((typeof(v)=='undefined' || v.length==0)?false:true); 
}

function XYwin(v) 
{ 
	var z=agent('msie')?Array(document.body.clientHeight,document.body.clientWidth):Array(window.innerHeight,window.innerWidth);
	return(isset(v)?z[v]:z); 
}

function YHeight()
{
	if (document.body.scrollHeight > document.body.offsetHeight) 
		return document.body.scrollHeight;
	else
		return document.body.offsetHeight;
}

function scrollTop()
{
	var scrollPos;
	if (typeof window.pageYOffset != 'undefined') {
	  scrollPos = window.pageYOffset;
	}
	else if (typeof document.compatMode != 'undefined' &&
    document.compatMode != 'BackCompat') {
  	scrollPos = document.documentElement.scrollTop;
	}
	else if (typeof document.body != 'undefined') {
   scrollPos = document.body.scrollTop;
	}
	return scrollPos;
}

function closeBOX()
{ 
	$S('contactBG').display='none';
	$S('contactBOX').display='none'; 
	document.onclick=function(){}; 
	return;
}

// Dragging
dragobj=null;

function dragstart(o) {
	dragobj = o;
  dragx = posx - dragobj.offsetLeft;
  dragy = posy - dragobj.offsetTop;
}

function dragstop() {
  dragobj=null;
}

function drag(e) {
  posx = document.all ? window.event.clientX : e.pageX;
  posy = document.all ? window.event.clientY : e.pageY;
  if(dragobj != null) {
    dragobj.style.left = (posx - dragx) + "px";
    dragobj.style.top = (posy - dragy) + "px";
  }
}

function checkstartdrag(e)
{
	t = e.target || e.srcElement;
	if (t != $('contact_author_field1') &&
			t != $('contact_author_field2') &&
			t != $('contact_author_field3') &&
			t != $('contact_author_field4'))
		{ dragstart($('contactBOX')); }
}


function contactBOX(w,e) 
{ 
	//document.onclick=closeBOX();
	// Set Background
	$S('contactBG').position = "absolute";
	$S('contactBG').top = 0;
	$S('contactBG').left = 0;
	$S('contactBG').width=XYwin(1)+'px';
	$S('contactBG').zIndex = 99;
	$S('contactBG').background = "#000";
	$S('contactBG').height=YHeight()+'px';
	$S('contactBG').display='block';
	$('contactBG').onclick = function(){closeBOX();};
	
	// Draw Box
	$S('contactBOX').position = "absolute";
	$S('contactBOX').backgroundColor = "#fff";
	$S('contactBOX').border = "2px solid #ccc";
	$S('contactBOX').padding = "10px";
	$S('contactBOX').width = w + 'px';
	$S('contactBOX').left = Math.round((XYwin(1)-w)/2)+'px';
	$S('contactBOX').zIndex = 100;
	$S('contactBOX').display='block';
	
	$('contact_author_result').innerHTML = '';
	/*
  if (document.all) {
    tempY = event.clientY + scrollTop();
  } else {
    tempY = e.pageY;
  }
  if (tempY < 0)	{	tempY = 0	}
	$S('contactBOX').top = tempY + 'px';
	*/
	$S('contactBOX').top = scrollTop() + Math.round(screen.availHeight / 10) + 'px';
	
	// Init Dragdrop
	$('contactBOX').onmousedown = checkstartdrag;
	document.onmousemove = drag;
  document.onmouseup = dragstop;

if (!window.contact_author_content && $('contactBOX').innerHTML != window.contact_author_content)
	{
		$('contactBOX').innerHTML = '<a href="#" onclick="closeBOX();return false;"><img style="float:right;" src="' + contact_author_directory + 'close.gif" alt="X"/></a>' + $('contactBOX').innerHTML;
		window.contact_author_content = $('contactBOX').innerHTML;  
	}
}


var http_request = false;
function makePOSTRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		 http_request = new XMLHttpRequest();
		 if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
		 }
	} else if (window.ActiveXObject) { // IE
		 try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
		 } catch (e) {
				try {
					 http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
		 }
	}
	if (!http_request) {
		 alert('Cannot create XMLHTTP instance');
		 return false;
	}
	
	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			$('contact_author_result').innerHTML = http_request.responseText; 	
			$('contact_author_field1').value = '';
			$('contact_author_field2').value = '';
			$('contact_author_field3').value = '';
			$('contact_author_field4').value = '';
		} else {
			$('contact_author_result').innerHTML = '<b>Fehler - leider konnte die Nachricht nicht gesendet werden.</b>';
		}
	}
}

function get(obj) {
	if ($("contact_author_field1").value && 
			$("contact_author_field2").value &&			
			($("contact_author_field3").value || $("contact_author_field4").value)) {
		$('contact_author_result').innerHTML = '<b>Nachricht wird gesendet - einen Moment bitte...</b>';
		var poststr = "contact_author_field1=" + escape(encodeURI( $("contact_author_field1").value)) + 
									"&contact_author_field2=" + escape(encodeURI( $("contact_author_field2").value)) + 
									"&contact_author_field3=" + escape(encodeURI( $("contact_author_field3").value)) + 
									"&contact_author_field4=" + escape(encodeURI( $("contact_author_field4").value)) +
									"&contact_author_ID=" + contact_author_ID +
									"&contact_author_subject=" + contact_author_subject;
		makePOSTRequest(contact_author_directory + 'contact_author.php', poststr);
	} else {
		$('contact_author_result').innerHTML = '<b>Bitte geben Sie eine Nachricht, Ihren Namen und Telefonnummer oder E-Mail-Adresse an.</b>';
	}
}
