function $get(key,url){
	if(arguments.length < 2) url =location.href;
	if(arguments.length > 0 && key != ""){
		if(key != "#" && key != "?"){
			var regex = new RegExp("[?&]"+key+"=([^&#]*)");
			var results = regex.exec(url);
			return (results == null )? "" : results[1];
		}else if(key == "#"){
			var regex = new RegExp("[#]([^$]*)");
			var results = regex.exec(url);
			return (results == null )? "" : results[1];
		} else if(key == "?"){
			var regex = new RegExp("[?]([^#]*)");
			var results = regex.exec(url);
			return (results == null )? "" : results[1];
		}
	} else {
		url = url.split("?");
		var results = {};
			if(url.length > 1){
				url = url[1].split("#");
				if(url.length > 1) results["hash"] = url[1];
				url[0].split("&").each(function(item,index){
					item = item.split("=");
					results[item[0]] = item[1];
				});
			}
		return results;
	}
}


karw.Loader = new Class({
	
	Implements: [Events,Options],
	
	loaderFormId: 'loading',
	loaderForm: null,
	
	
	initialize: function(){
		this.loaderForm = $(this.loaderFormId);	
	},
	
	setMessage: function(message){
		var messageBox = this.loaderForm.getElement('strong');
		messageBox.innerHTML = message;
	},
	
	show: function(){
		this.loadPosition();
		this.loaderForm.setStyle('display','block');
	},
	
	loadPosition: function(){
		var coord = $('content').getElement('div.form').getCoordinates();
		var newHeight = (coord.height - 100);
		this.loaderForm.setStyle('top',newHeight+'px');
	},
	
	hide: function(){
		this.loaderForm.setStyle('display','none');
	}
	
});

karw.setShowGenericFormError = function(visible) {
	var errorElement = $("form_generic_error");
	if (errorElement) {
		
		if (visible) {
			$(errorElement).removeClass("hidden");
		} else {
			$(errorElement).addClass("hidden");
		}
		
	}
};

karw.resetFields = function(formElement){
	var formElements = formElement.getElements('input');
	
	for(i=0;i<formElements.length;i++){
		var formElement = formElements[i];
		if(formElement.type=="text"){
			formElement.value="";
		}
		if(formElement.type=="checkbox"){
			formElement.checked = false;
		}
		if(formElement.type=="radio"){
			formElement.checked = false;
		}
	}
	
}

function forms_showZipcodeError(errorArea, formElement, block) {
	errorArea.getElement("#p_de" + block).setStyle('display','none');
	errorArea.getElement("#p_nl" + block).setStyle('display','none');
	errorArea.getElement("#p_be" + block).setStyle('display','none');
	if(formElement.getElement("select.country_choice" + block).value == 'Nederland'){
		errorArea.getElement("#p_nl" + block).setStyle('display','inline');
	}
	if(formElement.getElement("select.country_choice" + block).value.substring(0,5) == 'Belgi'){
		errorArea.getElement("#p_be" + block).setStyle('display','inline');
	}
	if(formElement.getElement("select.country_choice" + block).value == 'Duitsland'){
		errorArea.getElement("#p_de" + block).setStyle('display','inline');
	}
}
