// var hcms = new Object();

function GetChildByClass(element, className, recursive)
{
	if(element.childNodes == null) return;
	
	var result;
	var i = -1;
	while(true)
	{
		i++;
		result = element.childNodes[i];
		if(result == null) return;
		
		if(result.attributes == null) continue;
		if(result.attributes["class"] != null)
		{
			if(result.attributes["class"].value == className) return result;
		}
		
		if(recursive)
		{
			result = GetChildByClass(result, className, true);
			if(result != null) return result;
		}
		
	}
}

function GetChildByTag(element, tag, recursive)
{
	if(element.childNodes == null) return;
	
	var result;
	var i = -1;
	while(true)
	{
		i++;
		result = element.childNodes[i];
		if(result == null) return;
		
		if(result.nodeName == tag) return result;
		
		if(recursive)
		{
			result = GetChildByTag(result, tag, true);
			if(result != null) return result;
		}
	}
}

function GetChildElementsByClass(element, className, recursive)
{
	var result = new Array();
	if(element.childNodes == null) return result;
	
	for(var i = 0; i < element.childNodes.length; i++)
	{
		var item = element.childNodes[i];
		if(item.attributes != null && item.attributes["class"] != null && item.attributes["class"].value == className)
		{
			result.push(item);
		}
		if(recursive)
		{
			var items = GetChildElementsByClass(item, className, true);
			for(var j = 0; j < items.length; j++)
			{
				result.push(items[j]);
			}
		}
	}
	return result;
}


function GetChildElementsByTag(element, tag, recursive)
{
	var result = new Array();
	if(element.childNodes == null) return result;
	
	for(var i = 0; i < element.childNodes.length; i++)
	{
		var item = element.childNodes[i];
		if(item.nodeName == tag) result.push(item);
		if(recursive)
		{
			var items = GetChildElementsByTag(item, tag, true);
			for(var j = 0; j < items.length; j++)
			{
				result.push(items[j]);
			}
		}
	}
	return result;
}

function GetGetValue(skey)
{
	var url = window.location.search;
	if(url.indexOf('=') == -1 || url.indexOf("?") == -1)
	{
		return false;
	}
	
	var temp = url.split("&");
	for(var x=0; x<temp.length; x++)
	{
		if(x==0)
		{
			key = temp[x].substring(1, temp[x].indexOf("="));
		}
		else
		{
			key = temp[x].substring(0, temp[x].indexOf("="));
		}
		
		val = temp[x].substring(temp[x].indexOf("=")+1,temp[x].length);
		
		key = unescape(key);
		if(unescape(key) == skey) return unescape(val);
	}
	return false;
}

function ReplaceUmlaute(str)
{
	str = str.replace(/ä/g, 'ae');
	str = str.replace(/ö/g, 'oe');
	str = str.replace(/ü/g, 'ue');
	
	str = str.replace(/á/g, 'a');
	str = str.replace(/é/g, 'e');
	str = str.replace(/í/g, 'i');
	str = str.replace(/ó/g, 'o');
	str = str.replace(/ú/g, 'u');
	
	return str.replace(/ß/g, 'ss');
}

function ReplaceUmlauteAndEscape(str)
{
	str = ReplaceUmlaute(str);
	str = escape(str);
	//alert(str);
	str = str.replace(/ /g, '+');
	str = str.replace(/%20/g, '+');
	return str;
}
