function checkSearchInput(inputfield)
{
	searchfield = document.getElementById(inputfield);
	
	if (searchfield.value != '') 
	{
		return true;
	}
	else 
	{
		searchfield.className = 'error';
		return false;
	}
}


//  arrangeHalfColouredBoxes bringt nebeneinanderstehende boxen mit css "csc-frame-half-coloured" und "csc-frame-half-coloured half-right" auf die gleiche höhe
function arrangeHalfColouredBoxes()
{
	var myBlueFrames = document.getElementsByClassName("csc-frame-half");
	myBlueFrames.each(function(myBlueFrame, counter)
	{
		var myBlueFrameHeight = myBlueFrame.getHeight();
		var myOtherBlueFrame, myOtherBlueFrameHeight;
		if (myBlueFrame.hasClassName("half-right")) 
		{
			if ($(myBlueFrames[counter - 1])) 
			{
				myOtherBlueFrame = myBlueFrames[counter - 1];
				myOtherBlueFrameHeight = myOtherBlueFrame.getHeight();
			}
		}
		else 
		{
			if ($(myBlueFrames[counter + 1])) 
			{
				myOtherBlueFrame = myBlueFrames[counter + 1];
				myOtherBlueFrameHeight = myOtherBlueFrame.getHeight();
			}
		}
		maxHeight = (myBlueFrameHeight > myOtherBlueFrameHeight) ? myBlueFrameHeight : myOtherBlueFrameHeight;
		if (myBlueFrame)
			myBlueFrame.setStyle({
				height: maxHeight + 'px'
			});
		if (myOtherBlueFrame)
			myOtherBlueFrame.setStyle({
				height: maxHeight + 'px'
			});
	});
}

function quicklinks()
{
	var id = $('quicklinks');
	// quicklinks only on homepage
	if (!id) 
		return;
	var menu = id.getElementsByTagName("ul");
	for (i = 0; i < menu.length; i++) 
	{
		menu[i].setAttribute("id", "menu" + i)
		var li = menu[i].parentNode;
		if (li.nodeName == "LI") 
		{
			li.onmouseover = function()
			{
				this.addClassName("hover");
			}
			li.onmouseout = function()
			{
				this.removeClassName("hover");
			}
		}
	}
}

function rawurldecode(str)
{
	// Decodes URL-encodes string  
	var hash_map = {}, ret = str.toString(), unicodeStr = '', hexEscStr = '';
	
	var replacer = function(search, replace, str)
	{
		var tmp_arr = [];
		tmp_arr = str.split(search);
		return tmp_arr.join(replace);
	};
	
	// The hash_map is identical to the one in urlencode.
	hash_map["'"] = '%27';
	hash_map['('] = '%28';
	hash_map[')'] = '%29';
	hash_map['*'] = '%2A';
	hash_map['~'] = '%7E';
	hash_map['!'] = '%21';
	
	
	for (unicodeStr in hash_map) 
	{
		hexEscStr = hash_map[unicodeStr]; // Switch order when decoding
		ret = replacer(hexEscStr, unicodeStr, ret); // Custom replace. No regexing
	}
	
	// End with decodeURIComponent, which most resembles PHP's encoding functions
	ret = ret.replace(/%([a-fA-F][0-9a-fA-F])/g, function(all, hex)
	{
		return String.fromCharCode('0x' + hex);
	}); // These Latin-B have the same values in Unicode, so we can convert them like this
	ret = decodeURIComponent(ret);
	
	return ret;
}


function startsWith(string, pattern)
{
	return string.indexOf(pattern) === 0;
}

function endsWith(string, pattern)
{
	var d = string.length - pattern.length;
	return d >= 0 && string.lastIndexOf(pattern) === d;
}





function trackDownload(type, url)
{
	switch (type)
	{
		case 'trackDownloads':
			// google
			urchinTracker(url);
			// wiredminds
			if (endsWith(url, '/'))
				url = url.substr(0, url.length-1);
			wm_page_name = url;
			wm_group_name = 'Documents';
			wm_milestone = 'Document_Download';
			wiredminds.count();
			break;
		case '.external':
			// google
			urchinTracker('/' + type + url);
			// wiredminds
			wiredminds.trackEvent('External_Links' + url);
			break;
		default:
			return
	}
}


 
function randomString() 
{
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}

 
// if spam doesn't stop, try encrpytion: http://www.vincentcheung.ca/jsencryption/instructions.html
function avoidSpam()
{
	var my_forms = document.getElementsByClassName("contactform");
	my_forms.each(function(my_form)
	{
		var the_string = 'HE5hDGuK' + randomString();
		// var the_string = '';
		var hidden = document.createElement('input');
		hidden.setAttribute('type', 'hidden');
		hidden.setAttribute('name', 'tx_pilmailform_pi1[text][spam]');
		hidden.setAttribute('value', the_string);
		my_form.appendChild(hidden);
	});
}








Event.observe(window, "load", function()
{
	avoidSpam();
	quicklinks();
	arrangeHalfColouredBoxes();
});




