var skipped = 0;

function exitIntro(url) { 
	if (skipped != 1) {
		switchPage(url);
		skipped = 1;
	}
}



function clickclear(thisfield, defaulttext) {
	if (thisfield.value == defaulttext) {
	thisfield.value = "";
	}
}

function clickrecall(thisfield, defaulttext) {
	if (thisfield.value == "") {
	thisfield.value = defaulttext;
	}
}

function getURL($url)
{
	//alert($url);
	document.location.href = $url;
}

/*
function MM_swapImgRestore(o) { //v3.0.1
  var i,x,a=(o)?o:document.MM_sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
*/

//SCROLLER
var slideControl;
var scrollRatio = 0.05;
var doScrollUp = false;
var scrollUpInterval;
var doScrollDown = false;
var scrollDownInterval;

if(typeof System == 'undefined') var System = new Object();

	System.Browser = {};
	System.Browser.name = navigator.appName;
	
	System.Browser.isMSIE = function()
	{
		var agent = navigator.userAgent.toLowerCase();
		return(agent.indexOf('msie') > 0);
	};
	
	System.Browser.isFF = function()
	{
		var agent = navigator.userAgent.toLowerCase();
		return(agent.indexOf('firefox') > 0);
	};

function addScrollArea(target, width, height)
{
	
	var b = $(target).innerHTML;
	var c = '\n		<div id="scrollContent"></div>\n'
		+	'		<div id="scroller">\n'
		+	'			<div class="butUp"><a onMouseDown="scrollUp(true);" onMouseUp="scrollUp(false);"><img src="/images/scroll_up.png"></a></div>\n'
		+	'			<div id="track" style="margin-top: -4px; width: 10px;">\n'
		+	'				<div id="slider" style="cursor: n-resize; width: 10px;">\n'
		+	'					<div style="width: 7px; height: 100%; margin-left: 1px; margin-right: 4px;"></div>\n'
		+	'				</div>\n'
		+	'			</div>\n'
		+	'			<div class="butDown"><a onMouseDown="scrollDown(true);" onMouseUp="scrollDown(false);"><img src="/images/scroll_down.png"></a></div>\n'
		+	'		</div>\n';
	
	
	//alert($(target).innerHTML);
	
	$(target).innerHTML = c;
	
	
	$('scrollContent').innerHTML = b;
	$('scrollContent').style.width = width+'px';
	$('scroller').style.marginLeft = width+'px';
	
	//TRACK HEIGHT
	var th = (height - 18);
	$('track').style.height = th +'px';
	
	//CONTENT TARGET UPDATEN NAAR DIE VAN DE SCROLLER
	ct = 'scrollContent';
	hasScroll = true;


	//SCROLL TOTAL HEIGHT
	var scrollTH = $('scrollContent').offsetHeight;
	//SCROLL HEIGHT
	var scrollH = (scrollTH - height);
	scrollRatio = (height/scrollTH);
	var r = (10-(scrollRatio*scrollRatio));
	//alert('ratio: '+scrollRatio+'\nr: '+ r);
	scrollRatio /= r;
	//alert(scrollRatio);
				
				
	//GEBRUIK GEEN SCROLLBAR WANNEER DEZE NIET NODIG IS!!!
	if(scrollH <= 0)
	{
		$(target).innerHTML = b;
	}
	else
	{
		// mozilla
		Event.observe('scrollContent', 'DOMMouseScroll', scrollWheel);
		// IE/Opera
		Event.observe('scrollContent', 'mousewheel', scrollWheel);
		
		
		$('scrollContent').style.height = (System.Browser.isMSIE()) ? height +'px' : (height - 20) +'px';
//		$('slider').style.height = (th / (scrollTH / height)) +'px';
		$('slider').style.height = '2px';
	
		slideControl = new Control.Slider('slider', 'track',
		{
			axis: 'vertical',
			
			onSlide: function(v)
			{
				$('scrollContent').scrollTop = (v * scrollH);
			},
			
			onChange: function(v)
			{
				$('scrollContent').scrollTop = (v * scrollH);
			}
		});
		
		Element.setOpacity('scroller', 1);
	}
}



function _scrollWheel(delta)
{
	s = (delta < 1)
		? scrollRatio
		: -scrollRatio;
	
	slideControl.setValueBy(s*2);
}

/** Event handler for mouse wheel event. */
function scrollWheel(event)
{
	var delta = 0;
	
	/* For IE. */
	if (!event) event = window.event;
	if (event.wheelDelta)
	{ /* IE/Opera. */
		delta = event.wheelDelta/120;
		/** In Opera 9, delta differs in sign as compared to IE. */
		if (window.opera) delta = -delta;
	}
	else if (event.detail)
	{ /** Mozilla case. */
		/** In Mozilla, sign of delta is different than in IE.
		* Also, delta is multiple of 3.
		*/
		delta = -event.detail/3;
	}

	/** If delta is nonzero, handle it.
	* Basically, delta is now positive if wheel was scrolled up,
	* and negative, if wheel was scrolled down.
	*/
	if(delta) _scrollWheel(delta);

	/** Prevent default actions caused by mouse wheel.
	* That might be ugly, but we handle scrolls somehow
	* anyway, so don't bother here..
	*/
	if (event.preventDefault) event.preventDefault();
	
	event.returnValue = false;
}

/********************************/

function scrollUp(activate)
{
	if(activate != true)
	{
		clearTimeout(scrollUpInterval);
		doScrollUp = false;
	}
	else if(doScrollUp != true)
	{
		doScrollUp = true;
		scrollUpInterval = setTimeout('_scrollUp()', 10);
	}
}

function _scrollUp()
{
	slideControl.setValueBy(-scrollRatio);
	scrollUpInterval = setTimeout('_scrollUp()', 10);
}

function scrollDown(activate)
{
	if(activate != true)
	{
		clearTimeout(scrollDownInterval);
		doScrollDown = false;
	}
	else if(doScrollDown != true)
	{
		doScrollDown = true;
		scrollUpInterval = setTimeout('_scrollDown()', 10);
	}
}

function _scrollDown()
{
	slideControl.setValueBy(scrollRatio);
	scrollDownInterval = setTimeout('_scrollDown()', 10);
}


if(document.layers)
	document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);


/*********************** FUNCTIES VOOR HET LADEN VAN PAGINA'S VIA AJAX **************************/

function switchPage(url)
{
	var succes_actions = function(transport)
	{
		var responseText = transport.responseText;
	
		$("content").innerHTML = responseText;
		executeJS(responseText);
	};
	
	new Ajax.Request(url,{ onSuccess : succes_actions });
	
	return false;

}

function debug(arg)
{
	if(typeof(arg) == 'object')
	{
		if(arg.constructor == Array)
		{
			var array = arg;
			arg = '';
			
			var iL = array.length;
			for(var i=0; i<iL; i++)
			{
				var v = array[i];
				arg += i +': '+ v +'<br>';
			}
		}
	}
	
	var d = document.getElementById('debug');
		d.innerHTML = arg +'<hr>'+ d.innerHTML; 
}

function executeJS(contents)
{
	contents = contents.replace(/\n/g, ' ');
	contents = contents.replace(/\r/g, ' ');
	
	var regExp = new RegExp(/(<script type="text\/javascript"(>(.*)| src="([\/:a-zA-Z0-9_\-\.\?=&%#]*)">)<\/script>)/gm);
	
	while(result = regExp.exec(contents))
	{
		if(result[3] != undefined && result[3] != '')
		{
			eval(result[3]);
		}
		else if(result[4] != undefined && result[4] != '') 
		{
			var success = function(transport)
			{
				var responseText = transport.responseText;
				eval(responseText);
			};
			
			new Ajax.Request("/cmsfiles/operators/call.php?file="+ result[4],
			{ 
				onSuccess: success
			});
		}
	}
}

var MailForm =
{
	submit: function($formName, $formDiv)
	{
		var $params = {};
		var $form = document.forms[$formName +'_form'];
		
		var $iL = $form.elements.length;
		for(var $i=0; $i<$iL; $i++)
		{
			var $elem = $form.elements[$i];
			if($elem.name)
			{
				var $name = $elem.name;
				var $value = $elem.value;
				
				$params[$name] = $value;
			}
		}
		
		$params['__form_name__'] = $formName;
		new Ajax.Request('/includes/form.php',
		{
			method:		'post',
			parameters:	$params,
			
			onSuccess: function(ajax)
			{
				var $response = ajax.responseText;
				$($formDiv).innerHTML = $response;
			}
		});	
	}
};
