/* Generelle Javascriptfunktionen für bigks.de */

function printPage() {
	self.print();
}

function savePage() {
	if(document.all)
		window.external.AddFavorite('http://www.bigks.de','BIGKs - Wohnungen auf Zeit');
	else
		alert(unescape("Bitte dr%FCcken Sie Strg+D um diese Seite zu Ihren Favoriten hinzuzuf%FCgen."));
}

function setVisible(what) {
	if(document.getElementById(what).style.display == 'block')
		document.getElementById(what).style.display='none';
	else
		document.getElementById(what).style.display='block';
}

function sendCheck() {

	var email_empf = document.sendpage.email_receipt.value;
	var email_send = document.sendpage.email_sender.value;

	var mail="^[a-zA-Z0-9\-\_\.]+\@[a-zA-Z0-9\-\.]+\\.[a-zA-Z]{2,4}$";

	if((email_empf == "")||(email_send == "")) {
		alert("Bitte geben Sie beide E-Mail-Adressen ein !");
		return false;
	}

	if (email_empf.match(mail)==null) {
		alert("Die E-Mail-Adresse des Empfängers ist nicht korrekt!");
		document.sendpage.email_receipt.focus();
		return false;
	}

	if (email_send.match(mail)==null) {
		alert("Ihre eigene E-Mail-Adresse ist nicht korrekt!");
		document.sendpage.email_sender.focus();
		return false;
	}
	else{
		window.open("functions.php?recommend=true&receiver="+email_empf+"&sender="+email_send,"Nachricht gesendet","width=270,height=100,screenX=100,screenY=100,resizable=no,scrollbars=no,status=no");
		document.sendpage.submit();
		return true;
	}
}

/**
 *	Aktiviert bzw. deaktiviert beliebiges Formularelement
 *
 * @access Name des Formulars, Name des Formularelements
 * @return void
 **/
function activate(form,name,name2){

	if(name == '')
		return false;

	if(document.forms[form].elements[name].disabled)
		document.forms[form].elements[name].disabled = false;
	else
		document.forms[form].elements[name].disabled = true;

	if(name2 != '')
		if(document.forms[form].elements[name2].disabled)
			document.forms[form].elements[name2].disabled = false;
		else
			document.forms[form].elements[name2].disabled = true;
}

/**
 * Sendet eine Anfrage wenn eine Option in einem
 * Formular geändert wurde.
 *
 * @access Id des Elements auf das gewechselt wurde, Name der Seite
 * @return void
 **/
function changeTo(element,site){
	this.location.href=site+".php?action=change&to="+element;
}

/**
 * Überprüft mögliche Umkreissuchoptionen zu einem
 * ausgewähltem Ort
 *
 * @access void
 * @return void
 **/
function checkAreaSearchOptions(insearch){
	var selectedElement = document.search.ort.selectedIndex;

	/*if(insearch == 0)
		this.location.href="search.php?action=check&id="+document.search.ort[selectedElement].value;
	else if(insearch == 1)
	    this.location.href="search.php?action=restore&id="+document.search.ort[selectedElement].value;*/
}

/**
 * Lädt alle Bilder im übergebenen Array während des Seitenaufrufs vor
 *
 * @access images - Array mit Pfaden für alle vorzuladenden Bilder
 * @return void
 **/
function preloadImages(images){

	document.preload = new Array();

    if(document.images)
    {
        for(var i = 0; i < images.length; i++)
        {
            document.preload[i] = new Image();
            document.preload[i].src = images[i];
        }
    }
}

/*
Simple Image Trail script- By JavaScriptKit.com
Visit http://www.javascriptkit.com for this script and more
This notice must stay intact
*/

var offsetfrommouse=[15,15]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimagewidth = 400; // maximum image width.
var currentimageheight = 350; // maximum image height.

if (document.getElementById || document.all){
	 document.write('<div id="imageviewer">');
	 document.write('</div>');
}

function gettrailobj(){
	if (document.getElementById)
		return document.getElementById("imageviewer").style
	else if (document.all)
		return document.all.imageviewer.style
}

function gettrailobjnostyle(){

	if (document.getElementById)
		return document.getElementById("imageviewer")
	else if (document.all)
		return document.all.imageviewer
}


function truebody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showtrail(imagename,title,width,height){

	 if (width > 0) {
	 	currentimagewidth = width;
	 }
	 if (height > 0){
	 	currentimageheight = height+65;
	 }
	 document.onmousemove=followmouse;

	 var newHTML = '<img src="' + imagename + '" border="0" width="'+ width + '" height="'+ height +'" />';

     if(title != null) {
	 	newHTML = newHTML + '<br/><span class="imgtitle">' + title + '</span>';
     }

	 gettrailobjnostyle().innerHTML = newHTML;

	 gettrailobj().display="block";

}


function hidetrail(){

	 gettrailobj().display="none";
	 document.onmousemove="";
	 gettrailobj().left="-540px";

}

function followmouse(e){

	 var xcoord=offsetfrommouse[0]
	 var ycoord=offsetfrommouse[1]

	 var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	 var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(document.body.offsetHeight, window.innerHeight)

	 if (typeof e != "undefined"){

	 	if (docwidth - e.pageX < (currentimagewidth+50)){
	 		xcoord = e.pageX - xcoord - (currentimagewidth+20); // Move to the left side of the cursor
	 	} else {
	 		xcoord += e.pageX;
	 	}

	 	if (docheight - e.pageY < (currentimageheight + 0)){
	 		ycoord += e.pageY - Math.max(0,(0 + currentimageheight + e.pageY - docheight - truebody().scrollTop));
	 	} else {
	 		ycoord += e.pageY;
	 	}

	 } else if (typeof window.event != "undefined"){

	 	if (docwidth - event.clientX < (currentimagewidth+50)){
	 		xcoord = event.clientX + truebody().scrollLeft - xcoord - (currentimagewidth+20); // Move to the left side of the cursor
	 	} else {
	 		xcoord += truebody().scrollLeft+event.clientX
	 	}

		if (docheight - event.clientY < (currentimageheight + 0)){
	 		ycoord += event.clientY + truebody().scrollTop - Math.max(0,(0 + currentimageheight + event.clientY - docheight));
	 	} else {
	 		ycoord += truebody().scrollTop + event.clientY;
	 	}
	 }

	 var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	 var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)

	 gettrailobj().left=xcoord+"px"
	 gettrailobj().top=ycoord+"px"

}

/**
 * Zeigt das Großbild des aktuellen Objektthumbs in einem eigenen Fenster an
 * und positioniert es entsprechend den Koordinaten des Thumbs
 *
 * @access file       - Pfad zum Großbild des gewählten Thumbs.
 *         desc       - Bildunterschrift des gewählten Thumbs.
 *		   source     - Bildobjekt im Dokument
 *		   src_width  - Breite des Großbildes
 *		   src_height - Höhe des Großbildes
 *
 * @return void
 **/
function showImage(file,desc,source,src_width,src_height){

	document.getElementById('imageviewer').style.left = (source.offsetLeft - (src_width - source.width) - 40) + 'px';
	document.getElementById('imageviewer').style.top = (source.offsetTop - (src_height - source.height) - 40) + 'px';

	document.getElementById('imageviewer').src = file;
	document.getElementById('imageviewer').alt = desc;
	document.getElementById('imageviewer').style.display='block';

}

/**
 * Versteckt das Vollbildfenster für die Bildansicht
 *
 * @access erwartet keine Parameter
 * @return void
 **/
function hideImage(file) {
	if(document.getElementById('imageviewer').src != file)
		document.getElementById('imageviewer').style.display='none';
}

/**
 * Versteckt das Vollbildfenster für die Bildansicht
 *
 * @access erwartet keine Parameter
 * @return void
 **/
function setImageActive(sourceObj,image,text) {

    //Zurücksetzen aller zuvor angeklickten Bilder
    for(i=0; i<document.getElementsByTagName("img").length; i++)
    {
        if(document.getElementsByTagName("img")[i].className == 'active')
            document.getElementsByTagName("img")[i].className = 'border';
    }

	if(document.getElementById('objectimage').src != image) {
		document.getElementById('objectimage').src = image;
		document.getElementById('imgtitle').innerHTML = text;
		sourceObj.className = 'active';
	}
}

/**
 * Öffnet ein Popupfenster mit der Pictogramlegende
 *
 * @access erwartet keine Parameter
 * @return void
 **/
function showPictogramDescription(){
	pictogramWindow = window.open("static.php?topic=pictogram&popup=1", "Pictogramlegende","top="+(screen.height/2-350)+",left="+(screen.width/2-250)+", width=340,height=460,dependent=yes");
  	pictogramWindow.focus();
}

/**
 * Speichert ein beliebiges Objekt in der Merkliste
 *
 * @access object_id - Die Objektnummer des zu merkenden Objektes
 		   operation - Was soll getan werden? del = löschen, add = hinzufügen
 * @return void
 **/
function execBasketOperation(object_id,operation,forward){

    if(forward == undefined)
	   window.location.href ="order.php?basket="+operation+"&object_id="+object_id;
	else
       window.location.href ="order.php?basket="+operation+"&object_id="+object_id+"&forwardTo="+forward;
}

/**
 * Öffnet Vorschaubilder von Objekten im eigenen Fenster
 *
 * @access imgpath - Pfad zum anzuzeigenden Bild
 * @return void
 **/
function showObjectImages(imgpath){
	window.open(imgpath,"Bildgroßansicht","width=420,height=420,screenX=100,screenY=100,resizable=no,scrollbars=no,status=no");
}

/**
 * Überprüft die Eingabe des Anfrageformulars
 *
 * @access public
 * @return true - wenn alle Eingaben gemacht wurden und
 *		   false - wenn die Eingaben unvollständig waren
 **/
function requestCheck(){

	var mail="^[a-zA-Z0-9\-\_\.]+\@[a-zA-Z0-9\-\.]+\\.[a-zA-Z]{2,4}$";

	if(document.request.i_vor.value == "") {
		alert("Bitte geben Sie Ihren Vornamen ein !");
		document.request.i_vor.focus();
		document.request.i_vor.style.backgroundColor="#FF8888";
		return false;
	}

	if(document.request.i_name.value == "") {
		alert("Bitte geben Sie Ihren Nachnamen ein !");
		document.request.i_name.focus();
		document.request.i_name.style.backgroundColor="#FF8888";
		return false;
	}

	if(document.request.i_str.value == "") {
		alert("Bitte geben Sie Ihre Strasse und Hausnummer ein !");
		document.request.i_str.focus();
		document.request.i_str.style.backgroundColor="#FF8888";
		return false;
	}

	if(document.request.i_plz.value == "") {
		alert("Bitte geben Sie Ihre PLZ ein !");
		document.request.i_plz.focus();
		document.request.i_plz.style.backgroundColor="#FF8888";
		return false;
	}

	if(document.request.i_ort.value == "") {
		alert("Bitte geben Sie Ihren Ort ein !");
		document.request.i_ort.focus();
		document.request.i_ort.style.backgroundColor="#FF8888";
		return false;
	}

	if(document.request.i_tel.value == "") {
		alert("Bitte geben Sie Ihre Telefonnummer ein !");
		document.request.i_tel.focus();
		document.request.i_tel.style.backgroundColor="#FF8888";
		return false;
	}

	if ((document.request.i_mail.value == "") || (document.request.i_mail.value.match(mail)==null)) {
		alert("Die E-Mail-Adresse wurde entweder nicht eingegeben oder ist nicht korrekt!");
		document.request.i_mail.focus();
		document.request.i_mail.style.backgroundColor="#FF8888";
		return false;
	}

	return true;
}

/**
 * Überprüft die Eingabe des Anbieten-Formulars
 *
 * @access public
 * @return true - wenn alle Eingaben gemacht wurden und
 *		   false - wenn die Eingaben unvollständig waren
 **/
function offerCheck(){

	var offerForm = document.forms["offer"];

	for(i=0; i < offerForm.elements.length; i++)
	{

		if(offerForm.elements[i].className == "req")
		{
			var missing = false;
			var msg = "";

			switch (offerForm.elements[i].type) {
			  case "select-one": if(offerForm.elements[i].value == "Keine Angabe") {
			  						missing = true;
									msg = "Bitte wählen Sie eine Option!";
								 }
			  				     break;
			  case "text"      : if(offerForm.elements[i].value == "") {
			  						missing = true;
									msg = "Bitte füllen Sie alle Pflichtfelder aus!";
								 }
			  				     break;
			  case "radio"     : var count = 0;
			  					 var nName = offerForm.elements[i].name;

			  					 for(r=0; r < offerForm.elements[nName].length; r++)
			  					 {
									if(offerForm.elements[nName][r].checked == false)
			  					 		count++;
			  					 }

								 if(count == offerForm.elements[nName].length) {
								 	missing = true
									msg = "Bitte wählen Sie eine Option!";
								 }
			  				     break;
			  case "checkbox"  : var count = 0;
			   					 var nName = offerForm.elements[i].name;
								 msg = "Bitte setzen Sie einen Haken!";

								 if(offerForm.elements[nName].length > 1)
								 {
				  					 for(r=0; r < offerForm.elements[nName].length; r++)
				  					 {
				  					 	if(offerForm.elements[nName][r].checked == false)
				  					 		count++;
				  					 }

								 	 if(count == offerForm.elements[nName].length) {
								 		missing = true
								 	 }
								 }
								 else
								 {
								 	if(offerForm.elements[i].checked == false) {
								 		missing = true
								 	}
								 }
			  				     break;
			}

			if(missing == true)
			{
				alert(msg);
				offerForm.elements[i].focus();
				offerForm.elements[i].style.backgroundColor="#FF8888";
				offerForm.elements[i].style.borderColor="#FF8888";
				return false;
			}
		}
	}

	return true;

}

function setNormal(what) {
		what.style.backgroundColor="#FFFFFF";
		what.style.borderColor="#CCCCCC";
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
