// XML HttpRequest-Instanz erstellen
var xmlhttp = false;
try {
	xmlhttp  = new ActiveXObject("Msxml2.XMLHTTP"); /* fŸr IE < Version 6 */
} catch(e) {
	try {
    	xmlhttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
    	xmlhttp  = false;
    }
}
 
if (!xmlhttp  && typeof XMLHttpRequest != 'undefined') {
	xmlhttp = new XMLHttpRequest(); /* fŸr Mozilla, Opera, Safari usw. */
}


function makerequest(serverPage, objID) { 
	var obj = document.getElementById(objID);

	//alert (serverPage);

	if (obj.innerHTML != "") {
		obj.innerHTML = "";
		return;
	}

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText; 
		} 
	} 
	xmlhttp.send(null); 
} 



function loadInfos(theID) { 

	var objID = "infos" + theID;
	var infoObjID = "showHideInfo" + theID;
	var serverPage = "members/hundeinfo.php?id=" + theID;
	var obj = document.getElementById(objID);
	var infoObj = document.getElementById(infoObjID);

	//alert (serverPage);

	if (obj.innerHTML != "") {
		obj.innerHTML = "";
		document.getElementById(infoObjID).textContent = "Infos anzeigen...";
		return;
	}

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById(infoObjID).textContent = "Infos ausblenden...";
		}
	}
	xmlhttp.send(null); 
}

function loadLinks(theID) { 

	var objID = "links" + theID;
	var infoObjID = "showHideLinks" + theID;
	
	var serverPage = "bulletin/links.php?id=" + theID;
	
	var obj = document.getElementById(objID);
	var infoObj = document.getElementById(infoObjID);

	//alert (document.getElementById(objID).getAttribute("title") );
		
	if (obj.innerHTML != "") {
		//obj.innerHTML = "";
		document.getElementById(infoObjID).textContent = "Links anzeigen...";
		obj.innerHTML = "";
		return;
	}
		
	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById(infoObjID).textContent = "Links ausblenden...";
		}
	}
	xmlhttp.send(null); 
}

function loadComments(theID,collaps,type) { 

	var objID = "comments" + theID;
	var infoObjID = "showHideComments" + theID;
	
	if (type == "comments") {
		var serverPage = "members/comments.php?id=" + theID;
	} else if (type == "bildergroupcomments") {
		var serverPage = "bilder/comments.php?id=" + theID;
	} else if (type == "bulletincomments") {
		var serverPage = "bulletin/comments.php?id=" + theID;
	} else if (type == "bulletinlink") {
		var serverPage = "bulletin/links.php?id=" + theID;
		objID = "links" + theID;
	}
	
	var obj = document.getElementById(objID);
	var infoObj = document.getElementById(infoObjID);

	//alert (document.getElementById(objID).getAttribute("title") );
		
	if (obj.innerHTML != "" && collaps && document.getElementById(objID).getAttribute("title") != "Neuster Kommentar") {
		//obj.innerHTML = "";
		document.getElementById(infoObjID).textContent = "Alle Kommentare anzeigen...";
		document.getElementById(objID).setAttribute("title", "Neuster Kommentar");
		if (type == "comments") {
			var newserverPage = "members/shortComment.php?id=" + theID;
		} else if (type == "bildergroupcomments") {
			var newserverPage = "bilder/shortComment.php?id=" + theID;
		} else if (type == "bulletincomments") {
			var newserverPage = "bulletin/shortComment.php?id=" + theID;
		} else if (type == "bulletinlink") {
			return;
		}
		xmlhttp.open("GET", newserverPage); 
		xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null); 

		return;
	}
	
	document.getElementById(objID).setAttribute("title", "");
	
	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById(infoObjID).textContent = "Kommentare ausblenden...";
		}
	}
	xmlhttp.send(null); 
}

function loadAddComments(theID,type) { 

	var objID = "addcomments" + theID;
	if (type == "comments") {
		var serverPage = "members/addcomments.php?id=" + theID;
	} else if (type == "bildergroupcomments") {
		var serverPage = "bilder/addcomments.php?id=" + theID;
	} else if (type == "bulletincomments") {
		var serverPage = "bulletin/addcomments.php?id=" + theID;
	} else if (type == "bulletinlink") {
		var serverPage = "bulletin/addLink.php?id=" + theID;
		objID = "addLinks" + theID;
	}
	var obj = document.getElementById(objID);

	//alert (serverPage);

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null); 
}

function loadEntries() { 
	var serverPage = "guestbook/entries.php";
	var obj = document.getElementById("entries");

	document.getElementById("gb_addEntry").innerHTML = "";
	
	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null); 
}


function loadAddEntry() { 
	var serverPage = "guestbook/addEntry.php";
	var obj = document.getElementById("gb_addEntry");

	//alert (serverPage);

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null); 
}


function clearEntry() {
	document.getElementById("gb_addEntry").innerHTML = "";
}

function submitEntry() { 
	
	if (validateEntryForm() ==  false) {
		return;
	}
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	var url = document.getElementById("url").value;
	var ort = document.getElementById("ort").value;
	var betreff = document.getElementById("betreff").value;
	var message = document.getElementById("message").value;

	
	var serverPage = "guestbook/process_entry.php?name=" + escape(name) + "&email=" + email + "&url=" + url + "&ort=" + escape(ort) + "&betreff=" + escape(betreff) + "&message=" + escape(message);
	
	
	//alert (serverPage);
	//alert (str_comment);
	//return;

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			loadEntries();
		}
	}
	xmlhttp.send(null); 
}


function validateEntryForm() {
	var nameID=document.getElementById("name");
	var emailID=document.getElementById("email");
	var urlID=document.getElementById("url");
	var messageID=document.getElementById("message");
	
	if ((nameID.value==null)||(nameID.value=="")){
		alert("Bitte trage deinen Namen ein.");
		nameID.focus();
		return false;
	}
	
	if ((messageID.value==null)||(messageID.value=="")){
		alert("Bitte trage eine Nachricht ein.");
		messageID.focus();
		return false;
	}

	if (emailID.value != "") {
		if (emeilcheck(emailID.value)==false){
			emailID.value="";
			emailID.focus();
			return false;
		}
	}
	
	if (urlID.value != "") {
		linkcheck(urlID);
	}
	
	return true;
}


function submitComment(theID,type) { 

	var objID = "comments" + theID;
	var infoObjID = "showHideComments" + theID;
	var obj = document.getElementById(objID);
	var infoObj = document.getElementById(infoObjID);
	
	

	if (type == "bulletinlink") {
		if (validateLinkForm() ==  false) {
			return;
		}
		var str_name = document.getElementById("addLink_name").value;
		var str_email = document.getElementById("addLink_email").value;
		var str_link = document.getElementById("addLink_link").value;
		var str_title = document.getElementById("addLink_linkTitle").value;
	} else {
		var str_name = document.getElementById("addComment_Name").value;
		var str_comment = document.getElementById("addComment_Comment").value;
		if (str_name == "" || str_comment == "") {
			return;
		}
	}
	
	
	if (type == "comments") {
		var serverPage = "members/process_comment.php?id=" + theID + "&name=" + escape(str_name) + "&comment=" + escape(str_comment);
	} else if (type == "bildergroupcomments") {
		var serverPage = "bilder/process_comment.php?id=" + theID + "&name=" + escape(str_name) + "&comment=" + escape(str_comment);
	} else if (type == "bulletincomments") {
		var serverPage = "bulletin/process_comment.php?id=" + theID + "&name=" + escape(str_name) + "&comment=" + escape(str_comment);
	} else if (type == "bulletinlink") {
		var serverPage = "bulletin/process_link.php?id=" + theID + "&name=" + escape(str_name) + "&email=" + str_email + "&link=" + escape(str_link) + "&title=" + escape(str_title);
	}
	
	//alert (str_comment);
	//return;

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			loadComments(theID,false,type);
		}
	}
	xmlhttp.send(null); 
}


function validateLinkForm(){
	var nameID=document.getElementById("addLink_name");
	var emailID=document.getElementById("addLink_email");
	var linkID=document.getElementById("addLink_link");
	var linkTitleID=document.getElementById("addLink_linkTitle");
	
	if ((nameID.value==null)||(nameID.value=="")){
		alert("Bitte trage deinen Namen ein.");
		nameID.focus();
		return false;
	}
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Bitte trage deine eMail Adresse ein.");
		emailID.focus();
		return false;
	}
	if ((linkID.value==null)||(linkID.value=="")){
		alert("Bitte trage deinen Link ein.");
		linkID.focus();
		return false;
	}
	if ((linkTitleID.value==null)||(linkTitleID.value=="")){
		alert("Bitte trage den Link Titel ein.");
		linkTitleID.focus();
		return false;
	}

	if (emeilcheck(emailID.value)==false){
		emailID.value="";
		emailID.focus();
		return false;
	}
	
	linkcheck(linkID);
	
	return true;
}


function loadKontakt() { 

	var obj = document.getElementById("contact");
	
	var selection = document.getElementById("kontaktpopup").value;
	
	
	//alert (serverPage);

	if (selection == "") {
		obj.innerHTML = "";
		return;
	} else if (selection == "Hundedaten") {
		var serverPage = "kontakt/dogdata.php";
	} else if (selection == "Allgemeiner Kontakt") {
		var serverPage = "kontakt/contact.php";
	}
	

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null); 
}

function submitKontaktForm(type) { 

	var obj = document.getElementById("contact");
	
	//alert (type);

	if (type == "dogdata") {
		if (validateDogdataForm() ==  false) {
			return;
		}
		var str_name = document.getElementById("name").value;
		var str_email = document.getElementById("email").value;
		var dogname = document.getElementById("dogname").value;
		var nickname = document.getElementById("nickname").value;
		var birthday = document.getElementById("birthday").value;
		var race = document.getElementById("race").value;
		var herkunft = document.getElementById("herkunft").value;
		var website = document.getElementById("website").value;
		var info = document.getElementById("info").value;
	} else if (type == "contact") {
		if (validateContactForm() ==  false) {
			return;
		}
		var str_name = document.getElementById("name").value;
		var str_email = document.getElementById("email").value;
		var message = document.getElementById("message").value;
	}
	
	
	if (type == "dogdata") {
		var serverPage = "kontakt/process_dogdata.php?name=" + escape(str_name) + "&email=" + str_email + "&dogname=" + escape(dogname) + "&nickname=" + escape(nickname) + "&birthday=" + escape(birthday) + "&race=" + escape(race) + "&herkunft=" + escape(herkunft) + "&info=" + escape(info) + "&website=" + escape(website);
	} else if (type == "contact") {
		var serverPage = "kontakt/process_contact.php?name=" + escape(str_name) + "&email=" + str_email + "&message=" + escape(message);
	}
	
	//alert (serverPage);
	//alert (str_comment);
	//return;

	xmlhttp.open("GET", serverPage); 
	xmlhttp.onreadystatechange = function() { 
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = "eMail wurde erfolgreich versendet!";
		}
	}
	xmlhttp.send(null); 
}

function validateContactForm(){
	var nameID=document.getElementById("name");
	var emailID=document.getElementById("email");
	var messageID=document.getElementById("message");
	
	if ((nameID.value==null)||(nameID.value=="")){
		alert("Bitte trage deinen Namen ein.");
		nameID.focus();
		return false;
	}
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Bitte trage deine eMail Adresse ein.");
		emailID.focus();
		return false;
	}
	if ((messageID.value==null)||(messageID.value=="")){
		alert("Bitte trage eine Nachricht ein.");
		messageID.focus();
		return false;
	}

	if (emeilcheck(emailID.value)==false){
		emailID.value="";
		emailID.focus();
		return false;
	}	
	return true;
}


function validateDogdataForm(){
	var nameID=document.getElementById("name");
	var emailID=document.getElementById("email");
	var dognameID=document.getElementById("dogname");
	
	if ((nameID.value==null)||(nameID.value=="")){
		alert("Bitte trage deinen Namen ein.");
		nameID.focus();
		return false;
	}
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Bitte trage deine eMail Adresse ein.");
		emailID.focus();
		return false;
	}
	if ((dognameID.value==null)||(dognameID.value=="")){
		alert("Bitte trage den Namen deines Hundes ein.");
		dognameID.focus();
		return false;
	}

	if (emeilcheck(emailID.value)==false){
		emailID.value="";
		emailID.focus();
		return false;
	}	
	return true;
}



function linkcheck(linkID) {
	var http="http://"
	if (linkID.value.indexOf(http)==-1) {
		linkID.value = "http://" + linkID.value
	}
}

function emeilcheck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   alert("Bitte gib eine richtige eMail Adresse an.")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Bitte gib eine richtige eMail Adresse an.")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Bitte gib eine richtige eMail Adresse an.")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Bitte gib eine richtige eMail Adresse an.")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Bitte gib eine richtige eMail Adresse an.")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Bitte gib eine richtige eMail Adresse an.")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Bitte gib eine richtige eMail Adresse an.")
		return false
	 }

	 return true					
}


function insertSmilie(smname,id) {
	//alert(smname);
	//alert(document.getElementById("message").value += smname); // = smname;
	
	var myField = document.getElementById(id);
	var myValue = smname;
	//IE support
if (document.selection) {
myField.focus();

//in effect we are creating a text range with zero
//length at the cursor location and replacing it
//with myValue
sel = document.selection.createRange();
sel.text = myValue;
} else if (myField.selectionStart || myField.selectionStart == '0') {

//Here we get the start and end points of the
//selection. Then we create substrings up to the
//start of the selection and from the end point
//of the selection to the end of the field value.
//Then we concatenate the first substring, myValue,
//and the second substring to get the new value.
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)+ myValue+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
} 
	
}

