var core={
	app:new animator,
	effects:new effects,
	listener:new listener,
	mouseposx:0,
	mouseposy:0,
	isIE6:0,
	isIE:0,
	isIE7:0,
	isOpera:0,
	isFirefox:0,
	HTMLLINKS:0,
	AJAX:0,
	page:'',
	subpage:'',
	add:'',
	design:'',
	
	startapp:function()
	{
		core.checkbrowser();
		core.app.creategrids();
		core.app.createforms();
	},
	
	closeall:function()
	{
		core.app.calendar.closecalendar();
		core.app.colorpicker.closecolor();
		if(core.app.grids[0])
			core.app.grids[0].closecolumnchooser();
	},
	
	createlink:function(page,subpage,add,delq)
	{
		if( !subpage ){ subpage = core.subpage; }
		if( !page ){ page = core.page; }
		if( !add ){ add = ""; }
		if( page.indexOf("http://") != -1 )
		{
			return 'window.location="'+page+add+'"';
		}
		if(core.AJAX == 1)
		{
			return 'ajx'+(delq?'del':'')+'("'+page+'","&subpage='+subpage+add+'");';
		}
		else
		{
			var dellink = "";
			var dellinkend = "";
			if(delq)
			{
				dellink = 'if(core.confirmation("Diesen Datensatz wirklich entfernen?")){';
				dellinkend = '}';
			}
			if(core.HTMLLINKS)
			{
				subpage = subpage.replace('&','_');
				subpage = subpage.replace('=','_');
				while(add.indexOf('&') > -1)
				{
					add = add.replace('&','_');
					add = add.replace('=','_');
				}
				return dellink+'window.location="?page_'+page+'_subpage_'+subpage+add+'.html"'+dellinkend;
			}
			else
			{
				return dellink+'window.location="?page='+page+'&subpage='+subpage+add+'.html"'+dellinkend;
			}
		}
	},
	
	confirmation:function(question)
	{
		document.getElementById('mask').style.display='block';
		var x = confirm(question);
		document.getElementById('mask').style.display='none';
		return x;
	},
	
	var_dump:function(arr,level){
		var dumped_text = "";
		if(!level) level = 0;
		var level_padding = "";
		for(var j=0;j<level+1;j++) level_padding += "    ";
		if(typeof(arr) == 'object') 
		{
			for(var item in arr) 
			{
				var value = arr[item];
				if(typeof(value) == 'object') 
				{
					dumped_text += level_padding + "'" + item + "' ...\n";
					dumped_text += core.dump(value,level+1);
				} 
				else 
				{
					dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
				}
			}
		} 
		else 
		{ 
			dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
		}
		alert(dumped_text);
	},
	
	dump:function( value, level )
	{
		var string = "";
		for( var x = 0; x <= level; x++ )
		{
			string = string + " ";
		}
		return string + value;
	},
	
	checkbrowser:function()
	{
		if(window.createPopup)
		{
			core.isIE=true;
			if(window.XMLHttpRequest)
			{
				core.isIE7=1;
			}
			else
			{
				core.isIE6=1;
			}
		}
		else
		{
			if(window.XML)
			{
				core.isFirefox=1;
			}
			else
			{
				core.isOpera=1;
			}
		}
		
	},

	StopEvent:function (pE)
	{
		if (!pE)
		if (window.event)
			pE = window.event;
		else
			return;
		if (pE.cancelBubble != null)
			pE.cancelBubble = true;
		if (pE.stopPropagation)
			pE.stopPropagation();
		if (pE.preventDefault)
			pE.preventDefault();
		if (window.event)
			pE.returnValue = false;
		if (pE.cancel != null)
			pE.cancel = true;
	},
	
	KeyPress:function (e)
	{
		if( core.isIE )
			return true;
		if( (e.keyCode == 9 || e.keyCode == 13) && document.getElementById('mask').style.display=='block' )
			core.StopEvent( e );

	},
	
	mouse:function (e)
	{
		core.mouseposx = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
		core.mouseposy = (document.all) ? window.event.y + document.body.scrollTop : e.pageY;
		if(pagedefjsaction!=""){placeDiv(pagedefjsaction);}
	}
}
document.onmousemove = core.mouse;
document.onkeydown = core.KeyPress;
