
function showDebug()
{
	 // alert( 'Size '+document.getElementById("whisperingsecret").style.width);
}

function addFormEvent(func)
{
	if (window.addEventListener) window.addEventListener("load", func, false);
	else if  (window.attachEvent) window.attachEvent("onload", func);
	else
	{
		var oldonload=window.onload;
		if (typeof window.onload != 'function')  window.onload=func;
		else window.onload=function() {oldonload();func()}
	}
}

function pageLoader()
{ 
	// debugging video
	window.setInterval(showDebug,1000);

	if (!document.getElementsByTagName) return;

	var anchors = document.getElementsByTagName("a"); 
	var preloads = new Object();
	for (var i=0; i<anchors.length; i++)
	{ 
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
		if (anchor.getAttribute("rel") == "menu")
		{
			preloads['A'+anchor.id] = new Image;
			preloads['A'+anchor.id].src = '/images/site/buttons/'+anchor.id  + '_0.png';
			preloads['B'+anchor.id] = new Image;
			preloads['B'+anchor.id].src = '/images/site/buttons/'+anchor.id  + '_1.png';
			preloads['C'+anchor.id] = new Image;
			preloads['C'+anchor.id].src = '/images/site/buttons/'+anchor.id  + '_2.png';

			if (anchor.getAttribute("href"))
			{
				anchor.onmouseover = function () 
				{ 
					img = this.getElementsByTagName("img");
					img[0].src = preloads['B'+this.id].src; 
					return true;
				};
				anchor.onmouseout = function ()
				{
					img = this.getElementsByTagName("img");
					img[0].src = preloads['A'+this.id].src;
					return true;
				}
			}
			else
			{
				img = anchor.getElementsByTagName("img");
				img[0].src = preloads['C'+anchor.id].src;
			}
		}
	}
} 

function button_mover(button)
{
	button.style.color='#ffffff'; 
	button.style.backgroundColor='#000000';
}

function button_mout(button)
{
	button.style.color='#000000';
	button.style.backgroundColor='#ffffff';
}

function formcheck(form)
{
	if (!document.getElementsByTagName) return;
	var inputs = document.getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++)
	{
		var input = inputs[i];
		if (input.getAttribute("alt"))
		{
			var field = 'taf-'+input.getAttribute("name");
			if (document.getElementById(field).value == '')
			{
				document.getElementById(field).focus();
				alert('U bent vergeten '+input.getAttribute("alt")+' in te vullen');
				return false;
			}
		}
	}
	return true;
}

function sendRequest(url,callback,postData)
{
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		switch (req.readyState)
		{
			case 1: window.status = 'Sending data...';return;
			case 2: window.status = 'Request complete...';return;
			case 3: window.status = 'Server is processing...';return;
			case 4: window.status = 'Completed...';break;
		}
		if (req.status != 200 && req.status != 304) return;
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject()
{
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++)
	{
		try { xmlhttp = XMLHttpFactories[i](); }
		catch (e) { continue; }
		break;
	}
	return xmlhttp;
}

var cursor = {x:0, y:0};
document.onmousemove = getPosition;
function getPosition(e)
{
	e = e || window.event;
	if (e.pageX || e.pageY)
	{
		cursor.x = e.pageX;
		cursor.y = e.pageY;
	} 
	else
	{
		var de = document.documentElement;
		var b = document.body;
		cursor.x = e.clientX+(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		cursor.y = e.clientY+ (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
	}
}

function getSize()
{
	if (typeof window.innerWidth != 'undefined')
	{
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}
	else if (typeof document.documentElement != 'undefined'
		&& typeof document.documentElement.clientWidth !=
		'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}
	else
	{
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	var cursor = {w:0, h:0};
	cursor.w = viewportwidth;
	cursor.h = viewportheight;
	return cursor;
}

function openTickets(eventId)
{
        if (typeof window.innerWidth != 'undefined')
        {
                viewportwidth = window.innerWidth,
                viewportheight = window.innerHeight
        }
        else if (typeof document.documentElement != 'undefined'
                && typeof document.documentElement.clientWidth !=
                'undefined' && document.documentElement.clientWidth != 0)
        {
                viewportwidth = document.documentElement.clientWidth,
                viewportheight = document.documentElement.clientHeight
        }
        else
        {
                viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
                viewportheight = document.getElementsByTagName('body')[0].clientHeight
        }

	_body = document.getElementsByTagName('body') [0];

	if (!document.getElementById('ticketsBack'))
	{
		_bgdiv = document.createElement('div');
		_bgdiv.id = 'ticketsBack';
		_bgdiv.className = 'ticketsBack';
		if (navigator.appName.indexOf("Netscape")!=-1 &&parseInt(navigator.appVersion)>=5)
			_bgdiv.style.MozOpacity=0.7;
		else if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion)>=4)
  			_bgdiv.style.filter='alpha(opacity=70)';
		else
			_bgdiv.style.opacity='0.70';
		_body.appendChild(_bgdiv);
	}
	else
	{
		document.getElementById('ticketsBack').style.display = 'block';
	}

	if (!document.getElementById('ticketsContent'))
	{
		newleft = Math.ceil((viewportwidth-544)/2);
		_cndiv = document.createElement('div');
		_cndiv.id = 'ticketsContent';
		_cndiv.className = 'ticketsContent';
		_cndiv.style.left = newleft+"px";
		_lddiv = document.createElement('div');
		_lddiv.id = 'ticketsLoader';
		_lddiv.className = 'ticketsLoader';
		_lddiv.innerHTML = 'Bezig met laden...<br/>Een ogenblik a.u.b.';
		_cndiv.appendChild(_lddiv);
		_body.appendChild(_cndiv);
	}
	dtop = Math.floor(cursor.y - 150);
	document.getElementById('ticketsContent').style.top = dtop+"px";
	document.getElementById('ticketsContent').style.display = 'block';
	sendRequest('/getTickets/'+eventId+'/1',formTickets);
}

function formTickets(req)
{
	window.status='';
	document.getElementById('ticketsContent').innerHTML = req.responseText;
}

function abortTickets()
{
	document.getElementById('ticketsBack').style.display = 'none';
	document.getElementById('ticketsContent').style.display = 'none';
}

var errors = new Array();
var postdata = new Array();
var errcol = '#f88';
var goodstages = new Array();
function fieldCheck(id,desc,minlength)
{
	if (document.getElementById(id).value.length < minlength)
	{
		document.getElementById(id).style.backgroundColor = errcol;
		errors.push(desc);
	}
	else postdata.push(id+'='+escape(document.getElementById(id).value));
}

function doTickets(eventId,step)
{
	errors = new Array();
	postdata = new Array();
	window.status='Bezig met het verwerken van de gegevens van stap '+step+'...';
	switch (step) {
		case 3: fieldCheck('r_voornaam','Voornaam',4);
			fieldCheck('r_achternaam','Achternaam',4);
			if (!document.getElementById('r_sexe_m').checked &&
			    !document.getElementById('r_sexe_v').checked)
			{
				document.getElementById('r_sexe_m').style.color = errcol;
				document.getElementById('r_sexe_v').style.color = errcol;
				errors.push('Geslacht');
			}
			else
			{
				postdata.push('r_sexe_m='+document.getElementById('r_sexe_m').checked);
				postdata.push('r_sexe_v='+document.getElementById('r_sexe_v').checked);
			}
			fieldCheck('r_adres','Adres',3);
			fieldCheck('r_postc','Postcode',4);
			fieldCheck('r_woonp','Woonplaats',4);
			fieldCheck('r_phone','Telefoonnummer',4);
			fieldCheck('r_email','Email adres',4);
			fieldCheck('r_sdcnick','SDC Nicknaam',2);
			postdata.push('r_newsl='+document.getElementById('r_newsl').checked);
			break;
		case 4: if(document.getElementById('p_voornaam').value!='') {
				fieldCheck('p_voornaam','Voornaam',4);
				fieldCheck('p_achternaam','Achternaam',4);
				if (!document.getElementById('p_sexe_m').checked &&
				    !document.getElementById('p_sexe_v').checked)
				{
					document.getElementById('p_sexe_m').style.color = errcol;
					document.getElementById('p_sexe_v').style.color = errcol;
					errors.push('Geslacht');
				}
				else
				{
					postdata.push('p_sexe_m='+document.getElementById('p_sexe_m').checked);
					postdata.push('p_sexe_v='+document.getElementById('p_sexe_v').checked);
				}
				postdata.push('p_phone='+escape(document.getElementById('p_phone').value));
				postdata.push('p_email='+escape(document.getElementById('p_email').value));
				postdata.push('p_sdcnick='+escape(document.getElementById('p_sdcnick').value));
				postdata.push('p_newsl='+document.getElementById('p_newsl').checked);
			}
			break;
		case 6: tickets = document.getElementById('ticketsContent').getElementsByTagName('select');
			var tcount = 0;
			for (t=0;t<tickets.length;t++)
			{
				if (tickets[t].id.match(/tickets_/) && parseInt(tickets[t].value)>0)
				{
					tcount += parseInt(tickets[t].value);
					postdata.push(tickets[t].id+'='+parseInt(tickets[t].value));
				}
			}
			if (tcount===0) errors.push('ticket aantallen');
			break;
		case 8:
			if (!document.getElementById('accept').checked) errors.push('Algemene Voorwaarden');
			else
			{
				postdata.push('opmerk='+escape(document.getElementById('opmerk').value));
				postdata.push('store='+document.getElementById('store').checked);
			}
		break;
	}
	if (errors.length>0)
	{
		var text=	'<img src="/images/website/warning.png" style="float:left;margin: 0px -40px 0px 20px;" alt="" />'+
				'U heeft vergeten de volgende velden in te vullen: '+errors.join(',');
		document.getElementById('errorBox').innerHTML = text;
		goodstages[step]=false;
		return;
	}
	if (postdata.length>0)
	{
		goodstages[step]=true;
		sendRequest('/getTickets/'+eventId+'/'+step,formTickets,postdata.join('&'));
	}
	else sendRequest('/getTickets/'+eventId+'/'+step,formTickets);
}

addFormEvent(pageLoader);


