var CoreClass = Class.create();
CoreClass.prototype = {
	initialize:function(){
		this.deleteProtection();
	},

	url:function(s){
		var url = baseDir+'/'+s;
		url = this.filterUrl(url);
		return url;
	},

	goTo:function(s){
		window.location = this.url(s);
	},

	filterUrl:function(s){
		s = s.replace(/[\/]+/g,"/");
		return s;
	},
	
	parseDate:function(datetime){
		var ts = datetime.split('-');
		return ts[0]+'.'+ts[1]+'.'+ts[2].substr(0,4);
	},
	
	/**
	 * DeleteRequest
	 * Sicherheitsabfrage vor dem Löschen eines Datensatzes
	 */
	deleteProtection:function(){
		var els = document.getElementsByTagName("A");
		if (els) {
			for (var i = 0; i < els.length; i++) {
				var el = els[i];
				var at = el.getAttribute("deleteRequest");
				if (at || at == '') {
					Event.observe(el, 'click', function(e){
						var sel = Event.element(e);
						var sat = sel.getAttribute("deleteRequest");
						if (sat == '') {
							sat = 'Soll das gewählte Element gelöscht werden?'
						}
						if (!confirm(sat)) 
							Event.stop(e);
					});
				}
			}
		}
	},
	
	enableLoading:function(s){
		var status = s;
		var ldiv = 'core_loading';
		
		if(!$(ldiv)){
			var ld = Element.extend(Builder.node('div',{id:ldiv},'Loading...'));
			$(ld).addClassName('coreLoader');
			$(ld).setStyle({
 				backgroundColor: '#333',
 				position: 'absolute',
				top:'0px',
				left:'0px',
				width:'300px',
				height:'300px'
			});
			Element.hide(ld);
			document.body.appendChild(ld);
		}
		
		if(status){
			Element.show(ldiv);
		}else{
			Element.hide(ldiv);
		}
	},

	object2string: function (name, arr, path)
	{
		if (typeof path == 'undefined') {
			path = '';
		}

        var ret='';

        if(typeof arr == 'object')
        {
                for(var i in arr)
                {         
                		if (typeof arr[i] == 'object') {
                			ret += this.object2string(name,arr[i], path+'['+i+']');
                		} else {
                			if(typeof arr[i] != 'function')
                				ret += '&'+name+path+'['+i+']='+encodeURIComponent(arr[i]);
                		}
                }

        }
        return ret;
	}
}
var Core = new CoreClass();

Event.fireEvent = function(eventType,element) {
	if (document.createEvent) {
		var evt = document.createEvent("Events");
		evt.initEvent(eventType, true, true);
		$(element).dispatchEvent(evt);
	} else if (document.createEventObject) {
		var evt = document.createEventObject();
		$(element).fireEvent('on' + eventType, evt);
	}
}

function encodeRE(s) {
	return s.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
}


/* Arbeit mit InputFeldern, "Value"-Text wird bei Click entfernt */
var clearInput = Class.create({
	
	initialize: function()
	{
		this.inputFieldControl();
	},
	inputFieldControl: function()
	{
		if($$('.inputTextClear'))
	 	{
			var self=this;
		 	$$('.inputTextClear').invoke('observe','click',function()
		 	{
		 		self.removeValue(this);
		 	});
			$$('.inputTextClear').invoke('observe','focus',function()
		 	{
		 		self.removeValue(this);
		 	});
	 	}
	},
	removeValue: function(obj)
	{
		var htmlValue = obj.readAttribute('value');  	//prüft Wert HTML-Attribute 'value'
 		var tempValue = obj.value;						//prüft neuen Wert des temporären 'value'
 		if(htmlValue === tempValue)
 		{
 			obj.value = "";
 		}
	}
});


//Liest ein Cookie aus (bspw. für Drag ME's)
function readCookie(name)
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];
        while (c.charAt(0)==' ')
        {
            c = c.substring(1,c.length);
        }

        if (c.indexOf(nameEQ) == 0)
        {
            return c.substring(nameEQ.length,c.length).split(',');
        }
    }
    return null;
}


Event.observe(window,'load',function()
		{
var inputUsability = new clearInput();
		});
		
// CMS Link zum OnlineKat		
function open_onlinekat()
{
 	window.open('http://www.sued-west.com/okat_hw/index2.html', '_blank');
}		