var ElementMaxHeight = function() {
  this.initialize.apply(this, arguments);
}

ElementMaxHeight.prototype = {
  initialize: function(className) {
    this.elements = document.getElementsByClassName(className || 'maxheight');    
    this.textElement = document.createElement('span');
    this.textElement.appendChild(document.createTextNode('A'));
    this.textElement.style.display = 'block';
    this.textElement.style.position = 'absolute';
    this.textElement.style.fontSize = '1em';
    this.textElement.style.top = '-1000px';
    this.textElement.style.left = '-1000px';
    document.body.appendChild(this.textElement);
    this.textElementHeight = document.getDimensions(this.textElement).height;
    var __object = this;
    var __checkFontSize = this.checkFontSize;
    this.checkFontSizeInterval = window.setInterval(function() {return __checkFontSize.apply(__object)}, 500);

    this.expand();

    // Refresh elements height onResize event
    var __expand = this.expand;
    if (window.addEventListener) {
      window.addEventListener('resize', function(event) {return __expand.apply(__object, [( event || window.event)])}, false);
    } else if (window.attachEvent) {
      window.attachEvent('onresize', function(event) {return __expand.apply(__object, [( event || window.event)])});
    }
  },

  expand: function() {
    this.reset();
  	for (var i = 0; i < this.elements.length; i++) {  	
      this.elements[i].style.height = document.getDimensions(this.elements[i].parentNode).height + 'px';
  	}
  },

  reset: function() {
    for (var i = 0; i < this.elements.length; i++) {    
      this.elements[i].style.height = 'auto';
    }
  },

  checkFontSize: function() {
  	var height = document.getDimensions(this.textElement).height;
  	if(this.textElementHeight != height) {
  		this.textElementHeight = height;
  		this.expand();
  	}
  }  
}


if (!!document.evaluate) {
  document._getElementsByXPath = function(expression, parentElement) {
    var results = [];
    var query = document.evaluate(expression, parentElement || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, length = query.snapshotLength; i < length; i++)
      results.push(query.snapshotItem(i));
    return results;
  }
}

document.getElementsByClassName = function(className, parentElement) {
  if (!!document.evaluate) {
    var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
    return document._getElementsByXPath(q, parentElement);
  } else {
    var children = (parentElement || document.body).getElementsByTagName('*');
    var elements = [], child;
    for (var i = 0, length = children.length; i < length; i++) {
      child = children[i];
      if (child.className.length != 0 &&
          (child.className == className ||
           child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))) {      
        elements.push(child);
      }
    }
    return elements;
  }
}

document.getDimensions = function (element) {
  var display = element.style.display;
  if (display != 'none' && display != null) { // Safari bug
    return {width: element.offsetWidth, height: element.offsetHeight};
  }

  return {width: originalWidth, height: originalHeight};
}
/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
		else if (window.ActiveXObject){ // if IE
			try {
				page_request = new ActiveXObject("Msxml2.XMLHTTP")
				} 
			catch (e){
				try{
					page_request = new ActiveXObject("Microsoft.XMLHTTP")
					}
			catch (e){}
		}
	}
	else
	return false
		page_request.onreadystatechange=function(){
		loadpage(page_request, containerid)
		}
		if (bustcachevar) //if bust caching of external page
		bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
		page_request.open('GET', url+bustcacheparameter, true)
		page_request.send(null)
	}

function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
		document.getElementById(containerid).innerHTML=page_request.responseText
	}
	else {
		document.getElementById(containerid).innerHTML="<img src='/images/ajax-loader.gif'/>"
	}
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


function clear(elementname)
{
    document.getElementById(elementname).innerHTML = "";
}

function hideauswahl (){
	document.getElementById("objektegesamt").style.display = 'none';
	document.getElementById("estate").style.display = 'none';
}
function showbilder() {
	document.getElementById("allebilder").style.display = 'block';
}
function closePic() {
	document.getElementById("allebilder").style.display = 'none';
}
function hideall() {
	document.getElementById("allebilder").style.display = 'none';
	document.getElementById("estate").style.display = 'none';
	document.getElementById("objektdetail").style.display = 'none';
	document.getElementById("objektegesamt").style.display = 'block';
}
function hideGesamt() {
	document.getElementById("allebilder").style.display = 'none';
	document.getElementById("estate").style.display = 'block';
	document.getElementById("objektdetail").style.display = 'none';
	document.getElementById("objektegesamt").style.display = 'block';
}
function show(id) {
	document.getElementById(id).style.display = 'block';
}

function hide(id) {
	document.getElementById(id).style.display = 'none';
}

function showpic(nurl) {
	document.images.bild.src  = nurl;
}

function showText(divID,textinhalt){ 
    if (document.layers) { 
          document.layers[divID].document.write(textinhalt); 
          document.layers[divID].document.close(); 
       } else if (document.all) { 
          document.all[divID].innerHTML = textinhalt; 
       } else if (document.getElementById) { 
          document.getElementById(divID).innerHTML = textinhalt; 
       } 

  }

function checkform() {
      var vnachname = 0;
      var vvorwahl = 0;
      var vtelefon = 0;
      var nachname = document.contact.von_nachname.value;
      var vorwahl = document.contact.von_vorwahl.value;
      var telefon = document.contact.von_tel.value;

      if (nachname  == "" || nachname  == "Bitte einen Nachnamen eingeben!") {
        document.contact.von_nachname.style.color = "#FF0000";
        document.contact.von_nachname.value = 'Bitte einen Nachnamen eingeben!';
        vnachname = 1;
     }
      if (vorwahl  == "" || vorwahl  == "Bitte eine Vorwahl eingeben!") {
        document.contact.von_vorwahl.style.color = "#FF0000";
        document.contact.von_vorwahl.value = 'Bitte eine Vorwahl eingeben!';
        vvorwahl = 1;
     }
      if (telefon  == "" || telefon  == "Bitte eine Telefonnummer eingeben!") {
        document.contact.von_tel.style.color = "#FF0000";
        document.contact.von_tel.value = 'Bitte eine Telefonnummer eingeben!';
        vtelefon = 1;
     }

     else if  (vnachname == 0  || vvorname == 0 || vtelefon == 0) {
     var IDvalue=document.vertrag.vertragsid.value;
     var poststr2 = "id=" + encodeURI(IDvalue);
     ajaxpage('get_city.php?franchiseID=2&langID=1&catID=1&objektartID=1', 'city');
     }
 return false;
}

function checkForm(){
	
	if (document.kontakt.von_nachname_Name.value == ""){
		alert('Bitte einen Nachnamen eingeben!');
		document.kontakt.von_nachname_Name.focus();
		return false
	}
	if (document.kontakt.von_vorwahl_Name.value == ""){
		alert('Bitte eine Vorwahl eingeben!');
		document.kontakt.von_vorwahl_Name.focus();
		return false
	}
	if (document.kontakt.von_tel_Name.value == ""){
		alert('Bitte eine Telefonnummer eingeben!');
		document.kontakt.von_tel_Name.focus();
		return false
	}
	return true
	
}

