getScrollOffSet = function()
{
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body

	var docsleft=document.all? iebody.scrollLeft : pageXOffset
	var docstop=document.all? iebody.scrollTop : pageYOffset

	return Array(docsleft,docstop);
}

openWindow = function(url,w,h,tb,stb,l,mb,sb,rs,x,y)
{
	var t=(document.layers)? ',screenX='+x+',screenY='+y: ',left='+x+',top='+y; //A LITTLE CROSS-BROWSER CODE FOR WINDOW POSITIONING
	tb=(tb)?'yes':'no'; stb=(stb)?'yes':'no'; l=(l)?'yes':'no'; mb=(mb)?'yes':'no'; sb=(sb)?'yes':'no'; rs=(rs)?'yes':'no';
	var x=window.open(url, 'newWin'+new Date().getTime(), 'scrollbars=yes,width='+w+',height='+h+',toolbar='+tb+',status='+stb+',menubar='+mb+',links='+l+',resizable=yes');
	x.focus();
}

mouseX = function(evt)
{
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	return evt.clientX + (document.documentElement.scrollLeft ?
	document.documentElement.scrollLeft :
	document.body.scrollLeft);
	else return null;
}

mouseY = function(evt)
{
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	return evt.clientY + (document.documentElement.scrollTop ?
	document.documentElement.scrollTop :
	document.body.scrollTop);
	else return null;
}

findPosX = function(obj)
{
	if(typeof obj == 'string')
	obj = $(obj);

	var curleft = 0;
	if(obj.offsetParent)
	while(1)
	{
		curleft += obj.offsetLeft;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.x)
	curleft += obj.x;
	return curleft;
}

findPosY = function(obj)
{
	if(typeof obj == 'string')
	obj = $(obj);

	var curtop = 0;
	if(obj.offsetParent)
	while(1)
	{
		curtop += obj.offsetTop;
		if(!obj.offsetParent)
		break;
		obj = obj.offsetParent;
	}
	else if(obj.y)
	curtop += obj.y;
	return curtop;
}

findPos = function(obj)
{

	curleft = findPosX(obj);
	curtop = findPosY(obj);
	return new Array(curleft,curtop);
}

switchsymbol = function(id,close,open,status)
{
	symb = $(id);

	if(close && open)
	{
		if(status)
		{
			if(status =='-')
			{
				symb.innerHTML = close;
			}else{
				symb.innerHTML = open;
			}

		}else{

			if(symb.innerHTML == open)
			{
				symb.innerHTML = close;
			}else{
				symb.innerHTML = open;
			}
		}
	}else{
		if(status)
		{
			if(status =='-')
			{
				symb.innerHTML = '[-]';
			}else{
				symb.innerHTML = '[+]';
			}

		}else{
			if(symb.innerHTML == '[+]')
			{
				symb.innerHTML = '[-]';
			}else{
				symb.innerHTML = '[+]';
			}
		}
	}

}

showhidediv = function(id)
{
	$(id).style.display=($(id).style.display!="block")? "block" : "none"
}

showdiv = function(id)
{
	$(id).style.display="block";
}

hidediv = function(id)
{
	$(id).style.display="none";
}

switchbgcolor = function(id,oncolor,offcolor)
{
	if($(id).style.background == oncolor)
	{
		$(id).style.background = offcolor;
	}else{
		$(id).style.background = oncolor;
	}
}

function createCookie(name,value,days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

readCookie = function(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);
	}
	return null;
}

eraseCookie = function(name)
{
	createCookie(name,"",-1);
}

showcrud = function()
{
	var items = $$('.crudlink');

	cookie = readCookie("crudlink");

	items.each(function(val,index){
		val.show();
	})
	createCookie("crudlink","on",7);

}

hidecrud = function()
{
	var items = $$('.crudlink');

	cookie = readCookie("crudlink");
	items.each(function(val,index){
		val.hide();
	})
	createCookie("crudlink","off",7);
}

getWindowDimensions = function()
{
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	var viewportwidth;
	var viewportheight;

	if (typeof window.innerWidth != 'undefined')
	{
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}

	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

	else if (typeof document.documentElement != 'undefined'
	&& typeof document.documentElement.clientWidth !=
	'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}

	// older versions of IE

	else
	{
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}

	return[viewportwidth,viewportheight]
}

removeflashmessagealert = function()
{
	if($('flashmessagealert'))
	document.body.removeChild($('flashmessagealert'))
}

flashmessagealert = function(msg)
{
	var flashmessage = document.createElement('div');
	flashmessage.setAttribute("id","flashmessagealert")
	flashmessage.style.position = 'absolute';

	flashmessage.className = 'flashmessagealert';

	flashmessage.innerHTML = msg;

	document.body.appendChild(flashmessage)

	var windowdimensions = getWindowDimensions();

	var IpopTop = (windowdimensions[1] - flashmessage.offsetHeight)/2;
	var IpopLeft = (windowdimensions[0] - flashmessage.offsetWidth)/2;

	flashmessage.style.left=IpopLeft + document.body.scrollLeft+"px";
	flashmessage.style.top=IpopTop + document.body.scrollTop+"px";

	Event.observe(flashmessage,'click',function(){removeflashmessagealert()});
	window.setTimeout("removeflashmessagealert()",2000);
}

editinplace = function(url,obj,options)
{
	if(typeof(options)=='undefined')
	var options = [];

	if(typeof options['areaclass'] == 'undefined')
	options['areaclass'] = 'editinplacearea';

	if(typeof options['cancelclass'] == 'undefined')
	options['cancelclass'] = 'cancellink';

	if(typeof options['submitclass'] == 'undefined')
	options['submitclass'] = 'submitlink';

	if(typeof(obj)=='string')
	var obj = $(obj);

	var parent = obj.parentNode;
	var self = this;

	if(!$('ta_'+obj.id))
	{
		var ta = document.createElement('textarea');
		ta.className = options['areaclass'];
		ta.innerHTML = obj.innerHTML;
		ta.value = obj.innerHTML;
		ta.setAttribute('name','name');
		ta.setAttribute('id','ta_'+obj.id);
		parent.appendChild(ta);

		var cancel = document.createElement("input");
		cancel.className = options['cancelclass'];
		cancel.setAttribute('id','cancel_'+obj.id);
		cancel.setAttribute('type','button');
		cancel.onclick = '';

		$(cancel).onclick = function(){
			editinplace(url,""+obj.id+"",options);
		};

		cancel.value = 'cancel';
		parent.appendChild(cancel);

		var submit = document.createElement("input");
		submit.className = options['submitclass'];
		submit.setAttribute('id','submit_'+obj.id);
		submit.setAttribute('type','button');

		$(submit).onclick = function(){
			self.submitarea(url,obj);
		};

		submit.value = 'submit';
		parent.appendChild(submit);

		obj.style.display = 'none';
	}else{
		obj.innerHTML = $('ta_'+obj.id).value;
		parent.removeChild($('cancel_'+obj.id));
		parent.removeChild($('submit_'+obj.id));
		parent.removeChild($('ta_'+obj.id));
		obj.style.display = 'block';
	}

	submitarea = function(url,obj)
	{
		var querystring = '';
		querystring = "value="+$('ta_'+obj.id).value;
		new Ajax.Request(url,{postBody:querystring,onComplete:function(t) {flashmessagealert(t.responseText);editinplace(url,obj)}});
	}

}

displaywindowloader = function()
{
	if($('windowloader'))
	{
		$('windowloader').style.display = 'block';
	}
	else
	{
		html = '<div id="windowloader" class="windowloader"><img src="'+WEBDIR+'img/ajax-loader_5.gif"></div>';
		new Insertion.Top(parent.document.body, html);

		var windowdimensions = getWindowDimensions();

		var IpopTop = (windowdimensions[1] - $('windowloader').offsetHeight)/2;
		var IpopLeft = (windowdimensions[0] - $('windowloader').offsetWidth)/2;

		$('windowloader').style.left=IpopLeft + document.body.scrollLeft+"px";
		$('windowloader').style.top=IpopTop + document.body.scrollTop+"px";

		$('windowloader').observe('click',function(){$('windowloader').style.display = 'none';})
	}
}

hidewindowloader = function()
{
	$('windowloader').style.display = 'none';
}

create_tips = function ()
{
	var tip = "";

	$$("*").findAll(function(node){
		return node.getAttribute('title');
	}).each(function(node){
		tip = ""+node.title+"";
		new Tooltip(node,tip);
		node.removeAttribute("title");
	});
}

cookie_callback = function(){
	cookie = readCookie("crudlink");

	if(cookie=="off")
	hidecrud();

}

a_crud_delete = function(module,pass,element_to_remove)
{
	new Ajax.Request(WEBDIR+'structure/delete/'+module+'/'+pass,{onComplete : function(t){parent.$(element_to_remove).remove();flashmessagealert(t.responseText);}})
}

crudmenu = function(e,module,pass)
{
	windowdims = getWindowDimensions();

	if(!e.id)
	{
		// the element that triggered the event
		var element = Event.element(e);
		// gets the mouse position
		var mouseX = Event.pointerX(e),
		mouseY = Event.pointerY(e);
		// stop default behaviour and event propagation
		Event.stop(e);
	}else{
		mouseX = e.offsetTop;
		mouseY = e.offsetLeft;
	}

	var crudmenu = document.createElement("div");
	crudmenu.setAttribute("id","active_crud_menu");
	crudmenu.style.textAlign = 'left';
	crudmenu.style.border = '1px solid #ccc';
	crudmenu.style.background = 'white';
	crudmenu.style.width = '260px';
	crudmenu.style.position = 'absolute';
	crudmenu.style.zIndex = 9999;
	crudmenu.style.left = (mouseX-10)+"px";
	crudmenu.style.top = (mouseY-10)+"px";
	document.body.appendChild(crudmenu);
	new Ajax.Updater('active_crud_menu',WEBDIR+'structure/itemcontrol/'+module+'/'+pass);
}
strstr = function (s, find) {
	var str = new String (s);
	var r = str.indexOf (find);
	return (-1 !== r);
}


var startpoint = 0;
var start = startpoint;
var t1A;
var t1B;
var activeTween;
var duration = 40;

var viewportdims = getWindowDimensions();

popIT = function(filename,width,height)
{
	width = (parseInt(width)+4)

	theme_prefix = 'fullscreen';
	popit_id = 'hovering';

	var modal = document.createElement('div');
	modal.setAttribute('id',popit_id+'_modal');
	document.body.appendChild(modal);
	Element.absolutize($(popit_id+'_modal'))
	Element.addClassName($(popit_id+'_modal'),theme_prefix+'_popit_modal');

	modal.style.width = viewportdims[0]+'px';
	modal.style.height = (viewportdims[1])+'px';
	modal.style.top = 0+'px';
	modal.style.left = 0+'px';
	modal.innerHTML = '&nbsp;';

	/** CREATE THE WINDOW CONTAINER **/
	var pwindow = document.createElement('div');
	pwindow.innerHTML = "&nbsp;";
	pwindow.setAttribute('id',popit_id);
	pwindow.style.width = width+'px';
	//	pwindow.style.height = height+'px';

	document.body.appendChild(pwindow);
	addcls(popit_id,theme_prefix);
	Element.absolutize($(popit_id));


	$(popit_id).style.top = 225+'px';
	$(popit_id).style.left = 225+'px';

	pwindow.innerHTML = '<div style="background:black;border:2px solid #00ffcc;"><div class="textright" id="'+theme_prefix+'_popit_title_bar"><a onclick="unPOP()"><img src="'+WEBDIR+'css/popit/beursbabes/close.gif"></a></div><div><a href="mailto:redactie@foxymagazine.nl"><img src="'+WEBDIR+'media/thumb/'+filename+'/'+width+'" id="theimage"></a><div class=\"clear\"></div></div></div>';
	//	window.setTimeout('addcls("'+popit_id+'","'+theme_prefix+'")',4000);

}

addcls = function(poit_id,prefix)
{
	Element.addClassName($(popit_id),theme_prefix+'_popit_window');
}

unPOP = function()
{
	$('hovering').remove();
	$('hovering_modal').remove();
}