function fad_resetDefault(o,defaultText) {
    if (o.className!='') o.className='';
    if (defaultText==o.value)
        o.value='';
    else if (!o.value)
        o.value=defaultText;
}

    function resetProvides() {
        if (document.getElementById) {
            var o = document.getElementById("provides").getElementsByTagName("input");
            for (var x = 0;x<o.length;x++) {
                o[x].checked = false;
            }
    
            o = document.getElementById("provides").getElementsByTagName("select");
            for (var x = 0;x<o.length;x++) {
                    for (var i=0;i<o[x].options.length;i++)
                        o[x].options[i].selected = o[x].options[i].defaultSelected;
            }
        }

        r(true); //select "Show all"

    }

	function getElementsByClassName(oElm, strTagName, strClassName){
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];      
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}   
		}
		return (arrReturnElements)
	}
	
	function getH(elmLayer) {
		if (window.getComputedStyle) {
			var style=getComputedStyle(elmLayer, null);
			return parseInt(style.getPropertyValue('height'));
		}
		else if (elmLayer.style.pixelHeight)
			return elmLayer.style.pixelHeight;
		else if(elmLayer.offsetHeight)
			return elmLayer.offsetHeight;
	}
	
	if(!Array.prototype.push || [0].push(true)==true) {
		Array.prototype.push = function() {
			for(var i=0;i<arguments.length;i++){
				this[this.length]=arguments[i]
			};
			return this.length;
		}
	}
	
	function addEvent(obj, type, fn) {
		if (!document.getElementById)
			return;
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	}
	
	function initExpandable() {
		//Get all results
		var arResults = getElementsByClassName(document, "div", "findADentist_showAd");
		for (var i = 0; i < arResults.length; i++) {
			var oResult = arResults[i];
			//Assign an ID to this result
			oResult.id = "result_" + i;
			//Check if this result contains text that should be expandable, i.e. if its longer than the height specified in the iCollapsedHeight variable
			var arExpandable = getElementsByClassName(oResult, "*", "expandable");
			var blnExpandable = false;
			for (var j = 0; j < arExpandable.length; j++) {
				if (getH(arExpandable[j]) >= iCollapsedHeight) {
					arExpandable[j].style.height = iCollapsedHeight + "px";
					blnExpandable = true;
				}
			}
			
			//Get the expand link for this result
			var oLink = getElementsByClassName(oResult, "a", "expand")[0];
			if (blnExpandable) {
				oLink.id = "expand_" + i;
				oLink.onfocus = function() {
					this.blur();
				}
				oLink.style.visibility = "visible";
				oLink.onclick = function() {
					//Get the result container for this link
					var oResult = document.getElementById("result" + this.id.substring(this.id.indexOf("_"),this.id.length));
					//Get all elements using the expandable class for this result
					var arExpandable = getElementsByClassName(oResult, "*", "expandable");
					//Expand elements
					var blnExpand;
					for (var i = 0; i < arExpandable.length; i++) {
						var oExpandable = arExpandable[i];
						if (i == 0) {
							blnExpand = (oExpandable.style.height != "auto");
							this.getElementsByTagName("span")[0].innerHTML = (blnExpand) ? "-" : "+";
						}
						oExpandable.style.height = (blnExpand) ? "auto" : iCollapsedHeight + "px";
					}
					return false;
				}
			}
		}
	}




//Functions for setting equal height of boxes on start page


function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];      
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}   
	}
	return (arrReturnElements)
}

function getH(elmLayer) {
	if (window.getComputedStyle) {
		var style=getComputedStyle(elmLayer, null);
		return parseInt(style.getPropertyValue('height'));
	}
	else if (elmLayer.style.pixelHeight)
		return elmLayer.style.pixelHeight;
	else if(elmLayer.offsetHeight)
		return elmLayer.offsetHeight;
}

if(!Array.prototype.push || [0].push(true)==true) {
	Array.prototype.push = function() {
		for(var i=0;i<arguments.length;i++){
			this[this.length]=arguments[i]
		};
		return this.length;
	}
}

function addEvent(obj, type, fn) {
	if (!document.getElementById)
		return;
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent("on"+type, obj[type+fn]);
	}
}
	
function boxes() {
	var arBoxes = getElementsByClassName(document, "div", "teaser_introBox");
	if (arBoxes.length > 1) {
		var iMaxHeight = 0;
		for (var j = 0; j < arBoxes.length; j++) {
			if (getH(arBoxes[j]) > iMaxHeight) iMaxHeight = getH(arBoxes[j]);
		}
		if (iMaxHeight > 0) {
			for (var j = 0; j < arBoxes.length; j++) {
				arBoxes[j].style.height = iMaxHeight + "px";
			}
			
		}
	}
}
