// JavaScript Document

function toggletab(div)
{
	if($(div).visible())
		$(div).hide();
	else
		$(div).show();
}

function disablequestiona9(nummer)
{
	if(nummer==2)
	{
		$('a9').setValue(5);
		$('a9').disable();
	}
	else
	{
		$('a9').setValue(1);
		$('a9').enable();		
	}
}



function disablequestion(value,nummer,div)
{
	var inputs = $$('input.'+div);
	if(nummer==value)
	{

		for(var i=0; i<inputs.length; i++)
		{
			inputs[i].disable();
		}
		inputs[inputs.length-1].enable();	
		inputs[inputs.length-1].checked =true;		
	}
	else
	{
		for(var i=0; i<inputs.length; i++)
		{
			inputs[i].enable();
		}
		inputs[inputs.length-1].disable();
		inputs[inputs.length-1].checked = false;
		
	}
}

function uncheck(div,nummer)
{
	$(div+'_'+nummer).checked = false;
}

function initSlider(name,options)
{
	//alert(options);
	var opt = options || [];
	//opt = $H(options);
			// horizontal slider control with preset values
			//alert(opt);
			//return true;
	first = opt[0] || 0;
	last = opt[1] || 100;
	step = opt[2] || 1;	
	func = opt[3] || false;		
				
	var bar = 'bar'+name;	
	bar = name;
	var pin = 'pin'+name;
	
	var active = 'active'+name;	
	new Control.Slider(pin, bar, {
		range:$R(first, last, false),
		step:step,
		values:$R(first, last, false),
		sliderValue: $F(name), // won't work if set to 0 due to a bug(?) in script.aculo.us
		onSlide: function(v)
		{
			var width = $(pin).getStyle('left');
			$(active).setStyle({width:width});			
			$(name).value = v;

		},
		onChange: function(v)
		{ 
			var width = $(pin).getStyle('left');
			$(active).setStyle({width:width});
			$(name).value = v; 	
			if(func) func();
		}
	});

	var width = $(pin).getStyle('left');
	$(active).setStyle({width:width});	
}
/*
function initSlider(name,first,last,step)
{
			// horizontal slider control with preset values
	var bar = 'bar'+name;			
	var pin = 'pin'+name;
	
	var active = 'active'+name;	
	var value = $F(name);
	

	
	new Control.Slider(pin, bar, {
		range:$R(first, last, false),
		step:step,
		values:$R(first, last, false),
		sliderValue: value, // won't work if set to 0 due to a bug(?) in script.aculo.us
		onSlide: function(v)
		{
			var width = $(pin).getStyle('left');
			$(active).setStyle({width:width});			
			$(name).value = v;

		},
		onChange: function(v)
		{ 
			var width = $(pin).getStyle('left');
			$(active).setStyle({width:width});
			$(name).value = v; 	
		}
	});

	var width = $(pin).getStyle('left');
	$(active).setStyle({width:width});	
}*/



function submitform(nummer,volgende)
{

	var form = $('formstap'+nummer); 
	
	var url = 'lib/quickscan.php';		
	var parameters = "nummer=" + nummer + "&goto=" + volgende + 
			"&action=submitform&" + form.serialize();		
	var volgendestap = nummer+1;
	if(!volgende)
		volgendestap = nummer-1;
	new Ajax.Request(url, {   
		method: 'post',  
		parameters: parameters,
		onSuccess: function(transport) 
		{  		
			var result = transport.responseText;
			//alert(parameters + '\n' + result);
			if(result=="")
				alert('Vul a.u.b. de onbrekende vragen in.');
			else
				document.location = 'index.php?page=66&stap='+volgendestap;				
		}
	});	
}

function submitformoutput(nummer,volgende)
{
	var form = $('formstap'+nummer); 
	
	var url = 'lib/quickscan.php';		
	var parameters = "nummer=" + nummer + "&goto=" + volgende + 
			"&action=submitform&" + form.serialize();		
	var volgendestap = nummer+1;
	if(!volgende)
		volgendestap = nummer-1;
	new Ajax.Request(url, {   
		method: 'post',  
		parameters: parameters,
		onSuccess: function(transport) 
		{  		
			var result = transport.responseText;
			//alert(parameters + '\n' + result);
			if(result=="")
				alert('Vul a.u.b. de onbrekende vragen in.');
			else
				document.location = 'index.php?page=66&stap='+volgendestap;				
		}
	});	
}


function selectfase(obj)
{
	var an = $(obj).ancestors();
	var selected = an[1].getElementsByClassName("selected");
	selected[0].removeClassName("selected");
	an[0].addClassName("selected");
}

function selectopleverdatum()
{
	var gewenstoplevermaand = $F('gewenstoplevermaand');
	var gewenstopleverjaar = $F('gewenstopleverjaar');
	var oplevermaand = $F('oplevermaand');
	var opleverjaar = $F('opleverjaar');
	var bouwtijd = $F('bouwtijd');	
	var voorstelbouwtijd = $F('voorstelbouwtijd');	
	
	if(oplevermaand!='-1' && opleverjaar!='-1' && (gewenstoplevermaand!=oplevermaand || gewenstopleverjaar!=opleverjaar || voorstelbouwtijd!=bouwtijd))
	{	
		var url = './lib/quickscan.php?action=getopleverdatum&nummer=1&oplevermaand='+oplevermaand+'&opleverjaar='+opleverjaar+'&bouwtijd='+bouwtijd;
		//alert(url);
		// notice the use of a proxy to circumvent the Same Origin Policy. 
		
		new Ajax.Request(url, {   method: 'get',   
			onSuccess: function(transport) 
			{     	
				//alert(transport.responseText);
				var myObject = eval('(' + transport.responseText + ')');
				$('voorstel_vandaag').update(myObject.vandaag);
				$('voorstel_voorbereiding').update(myObject.voorbereiding + '<br />mnd');				
				$('voorstel_startbouw').update(myObject.startbouw);								
				$('voorstel_bouwtijd').update(myObject.bouwtijd + '<br />mnd');		
				$('voorstel_oplevering').update(myObject.opleverdatum);		
				$('voorstelrood').hide();
				$('voorsteloranje').hide();
				$('voorstelgroen').hide();				
				if(myObject.voorbereiding >= myObject.voorb )		$('voorstelgroen').show();		
				else if(myObject.voorbereiding <= myObject.voorb-4  )	$('voorstelrood').show();
				else $('voorsteloranje').show();		
				
				var total_pro = parseInt(myObject.voorbereiding) + parseInt(myObject.bouwtijd);
				var voorbereiding_pro = Math.round(562 / (parseInt(total_pro) / parseInt(myObject.voorbereiding)));
				if(parseInt(myObject.voorbereiding)<=0)
					voorbereiding_pro = 0;
				var bouwtijd_pro =  562 - voorbereiding_pro;
				$('voorstel_voorbereiding').setStyle({width: voorbereiding_pro+'px'});			
				$('voorstel_bouwtijd').setStyle({width: bouwtijd_pro+'px'});			
				//$('voorstel_voorbereiding').update(voorbereiding_pro);
				//$('voorstel_bouwtijd').update(bouwtijd_pro);						
				window.location="#aangepastvoorstel";
				$('voorstel').show();
			}				
		}); 	
	}
	else
	{
		//alert(gewenstoplevermaand+'='+oplevermaand+'\n'+gewenstopleverjaar+'='+opleverjaar+'\n'+voorstelbouwtijd+'='+bouwtijd);	
		//$('voorstel_vandaag').update(myObject.vandaag);
		$('voorstel').hide();
		$('voorstel_voorbereiding').update();				
		$('voorstel_startbouw').update();								
		$('voorstel_bouwtijd').update();		
		$('voorstel_oplevering').update();		
		$('voorstelrood').hide();
		$('voorsteloranje').hide();
		$('voorstelgroen').hide();						
	}
}

function selectvastgoed()
{
	var vastgoed = $F('vastgoed');
//	alert(vastgoed);
	
	var url = './lib/quickscan.php?action=getvastgoed&nummer='+vastgoed;
		//alert(url);
		// notice the use of a proxy to circumvent the Same Origin Policy. 
		
		new Ajax.Request(url, {   method: 'get',   
			onSuccess: function(transport) 
			{     
			//	$('markersdiv').update(transport.responseText);
				var myObject = eval('(' + transport.responseText + ')');
				//$('omvang1bvomin').update(bereken_minomvang(myObject.bvo_klein));
				if(myObject.bvo_groot){
				$('omvang1bvomin').update(0);
				$('omvang2bvomin').update(bereken_minomvang(myObject.bvo_klein));			
				$('omvang3bvomin').update(bereken_minomvang(myObject.bvo_middel));	
				$('omvang4bvomin').update(bereken_minomvang(myObject.bvo_groot));	
				
				$('omvang1bvomax').update(bereken_maxomvang(myObject.bvo_klein));
				$('omvang2bvomax').update(bereken_maxomvang(myObject.bvo_middel));				
				$('omvang3bvomax').update(bereken_maxomvang(myObject.bvo_groot));								
				$('omvang4bvomax').update(bereken_maxomvang(myObject.bvo_zeergroot));		
				if(vastgoed!=-1)
					$('omvang4bvomax').update('n.v.t');			
				else
					$('omvang4bvomax').update();		
				
				//$('omvang1kostenmin').update(bereken_minomvang(myObject.kosten_klein));
				$('omvang1kostenmin').update(0);
				$('omvang2kostenmin').update(bereken_minomvang(myObject.kosten_klein));				
				$('omvang3kostenmin').update(bereken_minomvang(myObject.kosten_middel));								
				$('omvang4kostenmin').update(bereken_minomvang(myObject.kosten_groot));	
				
				$('omvang1kostenmax').update(bereken_maxomvang(myObject.kosten_klein));
				$('omvang2kostenmax').update(bereken_maxomvang(myObject.kosten_middel));				
				$('omvang3kostenmax').update(bereken_maxomvang(myObject.kosten_groot));								
				//$('omvang4kostenmax').update(bereken_maxomvang(myObject.kosten_zeergroot));					
				if(vastgoed!=	-1)
					$('omvang4kostenmax').update('n.v.t');	
				else
					$('omvang4kostenmax').update();								
				$('afbeeldingvastgoed').update(myObject.afbeelding);
				
				}
			}				
		}); 						
}

function numberFormat(getal) 
{
	var seperator = ".";
	var value = "";
	var ss = 3;
	var s = 0;
	for (i = 0; i < getal.length; i++) 
	{
		value = getal[i] + value;
		s++;
		if(s==ss)
		{
			value = seperator + value;	
			s=0;
		}
	}

	getal = value;
	//value = "";
	for (i = 0; i < getal.length; i++) 
	{
		value = getal[i] + value;
	}	
	return value;
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

function bereken_minomvang(getal)
{
	if(!getal)
		return '';
	//getal = getal / 100 * 90;
	getal = number_format(getal, 0, ',', '.');
	return getal;
}

function bereken_maxomvang(getal)
{
	if(!getal)
		return '';
	//getal = getal / 100 * 110;
	getal = number_format(getal, 0, ',', '.');
	return getal;
}
