// JavaScript Document

/*=================================================================================================
Tarief I: (fiscale) partner en kinderen, samenwoners langer dan 5 jaar
Tarief IA: afstammelingen 2e of verdere graad (kleinkinderen)
Tarief II: broer/zuster bloedverwanten in de recht opgaande lijn
Tarief III: andere verkrijgers
==================================================================================================*/

//var arrSchijven = new Array(0, 22051, 44096, 88181, 176353, 352696, 881722, 999999);
var arrSchijven = new Array(0, 22382, 44758, 89504, 178999, 357987, 894948, 99999999);

//---------------------------------------------------------------------------------------------//
// Tarieven
//---------------------------------------------------------------------------------------------//

// Tarief I
  var arrTI = new Array(5, 8, 12, 15, 19, 23, 27);
  var arrTsubI = new Array(0, 1102, 2865, 8155, 21380, 54885, 176560);

// Tarief Ia
  var arrTIa = new Array(5, 8, 12, 15, 19, 23, 27); //deze met factor 1,6 verhogen. dit wordt in de subCalc(bedrag) gedaan
  var arrTsubIa = new Array(0, 1102, 2865, 8155, 21380, 54885, 176560);

// Tarief II
  var arrTII = new Array(26, 30, 35, 39, 44, 48, 53);
  var arrTsubII = new Array(0, 5733, 12346, 27775, 62162, 139752, 393684);

// Tarief III  
  var arrTIII = new Array(41, 45, 50, 54, 59, 63, 68);
  var arrTsubIII = new Array(0, 9040, 18960, 41002, 88614, 192656, 525942);
//---------------------------------------------------------------------------------------------//bron:belastingdienst

function typeSchenking(tAan, tVrij, tTarief, tVoetDrempel, tNaam, tIndex){
	this.tAan = tAan;
	this.tVrij = tVrij;
	this.tTarief = tTarief;
	this.tVoetDrempel = tVoetDrempel;
	this.tNaam = tNaam;
	this.tIndex = tIndex;
}

//Begin iniVars=================================================================================================
var objKind = new typeSchenking("Kind", 4479, "I", "voet", "objKind", 0);
var objKindEenmalig = new typeSchenking("Kind eenmalige verhoogde vrijstelling", 22382, "I", "voet","objKindEenmalig", 1);
var objKleinkind = new typeSchenking("Kleinkind", 2606, "Ia", "drempel", "objKleinkind", 2);
var objAchterkleinkind = new typeSchenking("Achterkleinkind", 2688, "Ia", "drempel", "objAchterkleinkind", 3);
var objB_Z_O = new typeSchenking("Broer-zus-ouder", 2688, "II", "drempel", "objB_Z_O", 4);
var objA_V = new typeSchenking("Andere verkrijgers", 2688, "III", "drempel", "objA_V", 5);
var objNut = new typeSchenking("Nut beogende instellingen", "vrij", "vrij", "vrij", "objNut", 6);

var aantalObj = new Array(objKind, objKindEenmalig, objKleinkind, objAchterkleinkind, objB_Z_O, objA_V, objNut);
//End iniVars=================================================================================================

// teksten
var strInfo = new Array();

strInfo[0] = '<table width="100%" border="0" cellpadding="3" cellspacing="0"  class="calc"><tr><td><strong>Schenken aan eigen kinderen</strong><br>Een schenking aan uw eigen kind is jaarlijks vrijgesteld voor &euro; 4.479,-(2008). Als uw kind tussen de 18 en 35 jaar oud is, mag u een beroep doen op een eenmalig verhoogde vrijstelling van &euro; 22.379,- (2008). <p>Bij een structurele schenking is het verstandig om een schenkingsplan op te stellen, waarbij u jaarlijks het vrijgestelde bedrag schenkt. Dit heeft als voordeel dat uw kinderen geen schenkingsrecht verschuldigd zijn. <br>Wilt u schenken, maar zelf ook nog genieten van uw vermogen, of schenken in de vorm van het vermogen van uw eigen huis? Dan kunt u kiezen voor een papieren schenking aan uw kinderen. Voor meer informatie hierover kunt u contact opnemen met Schenkservice.<br></p></td></tr></table>';

strInfo[1] = '<table width="100%" border="0" cellpadding="3" cellspacing="0"  class="calc"><tr>'
    +'<td><strong>Eenmalige verhoogde vrijstelling schenken aan eigen kinderen</strong><br>'
      +'Als uw kinderen tussen de 18 en 35 zijn mag u gebruik maken van de eenmalige '
      +'verhoogde vrijstelling van &euro; 22.379,- (2008). Alles wat u meer schenkt '
      +'is belast. '
      +'<p>Dit bedrag kunt u ook door een papieren schenking aan uw kinderen schenken. '
        +'Wilt u hier meer informatie over neemt u dan contact op met Schenkservice. '
      +'</p>'
      +'<p>Wilt u wel schenken maar zelf ook nog genieten van uw vermogen of wilt '
        +'u wel schenken maar heeft geen contanten om te schenken maar wel vermogen' 
        +'in de vorm van een eigen huis. Dan kunt u ook door een papieren schenking' 
        +'aan uw kinderen schenken. Wilt u hier meer informatie over neemt u dan' 
        +'contact op met Schenkservice.<br>'
      +'</p></td></tr></table>'
	  
strInfo[2] = '<table width="100%" border="0" cellpadding="3" cellspacing="0" class="calc"><tr>'
    +'<td><strong>Schenken aan kleinkinderen</strong><br>'
      +'Schenkingen aan uw kleinkinderen zijn vrijgesteld voor &euro; 2.688,- (2008). '
      +'Dit heet een drempelvrijstelling, want zodra u meer schenkt is de hele schenking '
      +'belast. Deze vorm van schenken kan gecombineerd worden met &#8216;schenken '
      +'aan kinderen&#8217;. Een voorbeeld:'
      +'<p><em>Indien u als grootouder eerst aan uw kind schenkt, en hij vervolgens '
        +'aan zijn kind schenkt, kan er &euro; 4.479, - + &euro; 2.688, - = &euro;' 
        +'7.167,- per jaar belastingvrij overgeheveld worden. Voorzichtigheid is '
        +'echter geboden: er moet een ruime periode zitten tussen beide schenkingen. '
        +'Indien dit niet gebeurt kan de Belastingdienst dit aanmerken als &#8216;samenstel '
        +'van rechtshandelingen&#8217; en de beide schenkingen optellen en belasten. '
        +'</em><br>'
      +'</p></td></tr></table>'
	  
strInfo[3] = '<table width="100%" border="0" cellpadding="3" cellspacing="0" class="calc"><tr>'
    +'<td><strong>Schenken aan achterkleinkinderen</strong><br>'
      +'Schenkingen aan uw achterkleinkinderen zijn vrijgesteld voor &euro; 2.688,- '
      +'(2008). Dit is een drempelvrijstelling. Zodra u meer schenkt is de hele '
      +'schenking belast.</td>'
  +'</tr></table>'
  
strInfo[4] = '<table width="100%" border="0" cellpadding="3" cellspacing="0" class="calc"><tr>'
    +'<td><strong>Schenken aan uw broer, zus of ouders</strong><br>'
      +'Schenkingen aan uw broer, zus of ouders zijn vrijgesteld voor &euro; 2.688,- '
      +'(2008). Dit is een drempel vrijstelling, want zodra u meer schenkt is de '
      +'hele schenking belast. '
      +'<p><em>Indien u als peetoom wil schenken aan uw neefje is dat een dure gift' 
        +'(tariefgroep III) als u meer dan &euro; 2.688,- schenkt. Door eerst te '
        +'schenken aan uw broer (tariefgroep II) die vervolgens schenkt aan uw neefje '
        +'(tariefgroep I) heeft u een belastingbesparende oplossing. </em></p>'
      +'</td></tr></table>'
	  
strInfo[5] = '<table width="100%" border="0" cellpadding="3" cellspacing="0"  class="calc"><tr>'
    +'<td><strong>Schenken aan andere verkrijgers</strong><br>'
      +'Andere verkrijgers zijn vrijgesteld voor &euro; 2.688,- (2008). Dit is een '
     +'drempelvrijstelling, want zodra u meer schenkt is de hele schenking belast. '
      +'Uitzondering hierop zijn de algemeen nut beogende instellingen. Deze zijn '
      +'vrijgesteld indien ze door de belastingdienst aangemerkt zijn als algemeen '
      +'nut beogende instelling. Schenkingen aan dergelijke instellingen zijn onder '
      +'voorwaarden belastingaftrekbaar. Zie schenkingen aan nut beogende instellingen.<br></td></tr></table>'
strInfo[6] = '';


// end tekste
function calc(bedrag, obj){
objSelected = eval(obj);
infoText(objSelected.tIndex);
if(obj == "objNut"){
window.location = "default.asp?P=calculator.asp&mKey=-1_-1";
}else{
	bedrag = parseInt(bedrag);
	if (bedrag=="" || isNaN(bedrag)){ bedrag = 0; }
	//bedrag = parseFloat(bedrag);
	voorgerekend = 0;
		if(isNaN(bedrag)){
			alert('U heeft geen correct bedrag in gevuld \rControleer het te schenken bedrag en probeert u het opnieuw');
		}else{
			if(objSelected.tVoetDrempel.toLowerCase()=='voet'){
				result = bedrag - parseInt(objSelected.tVrij);
				subCalc(result);
			} else if(objSelected.tVoetDrempel.toLowerCase()=='drempel'){
				if(parseInt(objSelected.tVrij) < bedrag){
					result = bedrag;
					subCalc(result);
				}else{
					result = 0;
					document.form1.resultaat.value = Math.floor(result);
				}
			}
		}
	}
}

function subCalc(bedrag){
	result = parseInt(bedrag);
	for(j=0; j<arrSchijven.length-1 ; j++){
		if(arrSchijven[j] >= result){
			voorgerekend = eval('arrTsub'+objSelected.tTarief);
			if(j!=0){
			voorgerekend=voorgerekend[j-1];
			voorgerekendeSchrijf = arrSchijven[j-1];
			}else if(j==arrSchijven.length-1){
			voorgerekend=voorgerekend[j];
			voorgerekendeSchrijf = arrSchijven[j];
			}else{
			voorgerekend=voorgerekend[0];
			voorgerekendeSchrijf = arrSchijven[0];
			}
			//alert(voorgerekend);
			break;
		}
	}

	result = result - voorgerekendeSchrijf;
	tarief = new Array();
	tarief = eval('arrT'+objSelected.tTarief);
	if(j!=0){
		tariefPerc = tarief[j-1];
	}else{
		tariefPerc = tarief[0];
	}
	if(objSelected.tTarief=="Ia"){
		result = (result/100) * tariefPerc + voorgerekend;
		result = result * 1.6 ;
	}else{
		result = (result/100) * tariefPerc + voorgerekend;
	}
	if (result<0){result = 0;}
	document.form1.resultaat.value = Math.floor(result);
}
function infoText(myIndex)
{
document.getElementById('ptext').innerHTML=strInfo[myIndex];
}
function InfoTextOut()
{
	document.getElementById('ptext').innerHTML="";
}
