diff --git a/support/tool/CRAFT/admin_component_types/toevoegen.php b/support/tool/CRAFT/admin_component_types/toevoegen.php
index 231dbb049669fddd13d7ec68871757c8824cfd3b..ab22a83e8508a36304a50e62f24f70de3a71b634 100644
--- a/support/tool/CRAFT/admin_component_types/toevoegen.php
+++ b/support/tool/CRAFT/admin_component_types/toevoegen.php
@@ -84,7 +84,7 @@
 		    				$query = "SELECT Comp_Type_ID FROM gebruikersgroeprechten WHERE Groep_ID = '".$_SESSION['groep_id']."'";
 		    			  $resultaat = mysql_query($query);
 								$data = mysql_fetch_array($resultaat);
-		    				
+
 					  		if (isset($_POST['parent'])) $Geselecteerd_Type = $_POST['parent'];
 					  		else if(isset($_GET['c'])) $Geselecteerd_Type = $_GET['c'];
 					  		else $Geselecteerd_Type = 'SELECTED';
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php b/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
index a62ff544392100a2a70acc8fc8cb6b07640a81a3..0a973ce0060b5c705abf506830683ec5cd2b4420 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_beschrijving.php
@@ -15,7 +15,13 @@
 				echo("<h3>". $data['Comp_Naam']."</h3>");
 
 				echo("<table border=\"0\">");
-				
+				echo("<tr><td>Status component:</td><td>");
+				$query = "SELECT Status FROM status WHERE Status_ID IN (SELECT Huidige_Status FROM melding_lijst WHERE Meld_Lijst_ID = '".$data['Laatste_Melding']."')";
+			  $res = mysql_query($query);
+				$row = mysql_fetch_array($res);
+
+				echo($row[0]."</td></tr>");
+
 				echo("<tr><td>Type component:</td><td>");
 				$query = "SELECT Type_Naam FROM Comp_Type WHERE Comp_Type ='".$data['Comp_Type_ID']."'";
 			  $res = mysql_query($query);
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
index 9a4d3b20a50a15a96167f562abb3d58dbb5ea4fe..9f6c517958a371fe4b444725dd89665d3baf4e72 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken.php
@@ -33,8 +33,8 @@
 			//verplichte velden ingevuld??
 			if ($_POST['av' . $i] == '1') {
 				//bestanden
-				if ($_POST['t' . $i] == '5') {
-					if ($_SESSION['bestand' . $i] == '-1') return false;
+				if ($_POST['at' . $i] == '5') {				
+					if ($_SESSION['abestand' . $i] == '-1') return false;
 				}
 				//overige
 				else {
@@ -95,7 +95,53 @@
 				return false;
 		} else return false;
 
-		if (!Type_Controle()) return false;					
+		//controleren of er wel een PARENT voor dit component geselecteerd is
+		if (isset($_POST['hidden_parent']) && $_POST['hidden_parent'] =='') 
+			return false;
+		//er is een PARENT ingevoerd, dus kijken of het maximum aantal niet overschreden wordt...
+		else {
+			//kijken of deze PARENT een schaduwtype is
+			$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_POST['hidden_parent']."'";
+		  $resultaat = mysql_query($query);
+	  	$data = mysql_fetch_array($resultaat);
+	  	
+	  	//Parent is een schaduwtype, dus maximumaantal geldt niet. 
+	  	//wel controleren of dit niet zelf een parent is, in dit geval mag dit type maar 1 x voorkomen
+	  	if ($data['Schaduw_Vlag'] == 1) {
+	  		$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_POST['comp_type']."'";
+				$num_rows = mysql_num_rows(mysql_query($query));
+				if($num_rows > 0 && isset($_POST['hidden_schaduw']) && $_POST['hidden_schaduw'] == '0')
+					return false;
+	  	}
+	  	//geen schaduw_vlag, dus controleren of het maximum aantal niet overschreden wordt
+	  	else {
+				//kijken wat het maximum aantal voor dit type is
+				$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '". $_POST['comp_type'] ."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+			  $maximum = $data['Max_Aantal'];
+				
+				//kijken welke parent dit is en hoeveel comps hier al van zijn aangemaakt +1
+				$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$_POST['hidden_parent']."' AND Comp_Type_ID = '".$_POST['comp_type']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+			  $aantal = $data[0];
+				
+				//alleen bij wijzigen van een parent, 
+				//moet er gecontroleerd worden of het maximum aantal overschreden wordt
+				$query = "SELECT Comp_Parent FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+				if ($data['Comp_Parent'] != $_POST['hidden_parent'])  {
+				
+					//met elkaar vergelijken			  
+				  if(($aantal + 1) > $maximum) 
+				  	return false;
+		  	}
+			}
+		}
+
+		if (!Type_Controle()) return false;
 		if (!Parent_Controle()) return false;
 
 		//de statusdatum controleren
@@ -157,8 +203,8 @@
 	if(Validatie_Opslaan()) {
 
 		//Een nieuwe melding van het component toevoegen, dit is zeer waarschijnlijk een bewerkenmelding oid
-		$query_melding = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door, Melding_Locatie)";
-		$query_melding = $query_melding . "VALUES ('". $_POST['type_melding'] ."', '".$_GET['c']."'";
+		$query_melding = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Lijst_ID, Comp_Parent, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door, Melding_Locatie)";
+		$query_melding = $query_melding . "VALUES ('". $_POST['type_melding'] ."', '".$_GET['c']."', '". $_POST['hidden_parent'] ."'";
 
 		//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
 		if (isset($_POST['statusdatum']) && $_POST['statusdatum'] != '')
@@ -171,7 +217,7 @@
 		$melding_id = mysql_insert_id();
 
 		//opslaan van het component
-		$query = "UPDATE comp_lijst SET Comp_Naam = '". htmlentities($_POST['comp_naam'], ENT_QUOTES) . "', Comp_Parent = '". $_POST['comp_nieuwe_parent'] . "', Laatste_Melding ='". $melding_id;
+		$query = "UPDATE comp_lijst SET Comp_Naam = '". htmlentities($_POST['comp_naam'], ENT_QUOTES) . "', Comp_Parent = '". $_POST['hidden_parent'] . "', Laatste_Melding ='". $melding_id;
 		$query = $query . "', Comp_Locatie = '". $_POST['comp_locatie'] ."', Comp_Verantwoordelijke = '". $_POST['hidden_verantwoordelijke'] . "'";
 		
 		//de waarde voor de leverdatum aan de query toevoegen
@@ -311,26 +357,19 @@
 							$query = "SELECT Type_Naam FROM comp_type WHERE Comp_Type = " . $row['Comp_Type_ID'];
 							$result = mysql_query($query);
 							$data = mysql_fetch_array($result);
-							echo($data[0]);
+							echo($data[0] .  "<input type=\"hidden\" name=\"comp_type\" id=\"comp_type\" value=\"".$row['Comp_Type_ID']."\">");
 					 ?></td>
 				</tr>
 				<tr>
 					<td>Parent component:</td>
-					<td><input type="hidden" name="comp_huidige_parent" value="<?php echo($row['Comp_Parent']); ?>"><select name="comp_nieuwe_parent">
-						<?php
-						  $query2 = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID in (SELECT Type_Parent FROM comp_type WHERE Comp_Type = '".$row['Comp_Type_ID']."')";
-							$resultaat2 = mysql_query($query2);
-							while ($data = mysql_fetch_array($resultaat2)) {
-								echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
-								if (isset($_POST['comp_nieuwe_parent']) && isset($_POST['comp_huidige_parent']) && $_POST['comp_nieuwe_parent'] != $_POST['comp_huidige_parent']) {
-									if ($_POST['comp_nieuwe_parent'] == $data['Comp_Lijst_ID']) echo(" SELECTED"); }
-								else {if ($data['Comp_Lijst_ID'] == $row['Comp_Parent']) echo(" SELECTED");}
-								echo(">". $data['Comp_Naam'] ."</option>\r\n");
-							}
-						?></select>
-	    		<?php if(!Parent_Controle()) echo('<b>* Parent kan niet veranderen vanwege onderliggende componenten!</b>');?>
-					</td>
+					<?php
+						$selected = $row['Comp_Lijst_ID']; //is het geselecteerde component welke bewerkt gaat worden
+						$selectie = "&n=" .$row['Comp_Parent']; //parent component
+					?>
+					
+					<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_bewerken_parent.php?c=<?php echo($selected . $selectie); ?>" width="550" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
 				</tr>
+
   			<tr>
   				<td>Reden bewerking:</td>
   				<td><select name="type_melding" onchange="switchMelding();">
@@ -538,6 +577,7 @@
 							}
 							
 					 ?>
+  					<input id="hidden_parent" name="hidden_parent" type="hidden" value="">
   					<input id="hidden_melding" name="hidden_melding" type="hidden" value="">
   					<input id="hidden_status" name="hidden_status" type="hidden" value="">
     				<input id="opslaan" name="opslaan" type="hidden" value="1">
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php
new file mode 100644
index 0000000000000000000000000000000000000000..0f252963c78178f887252c8fed155300eafd3782
--- /dev/null
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_bewerken_parent.php
@@ -0,0 +1,83 @@
+<html>
+	<head>
+	</head>
+	<body bgcolor="#B3CCE6">
+		<?php
+			include_once("../includes/vars.php");
+
+			if (isset($_GET['c']) && $_GET['c'] != 0) {		
+				$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."'";
+			  $resultaat = mysql_query($query);
+		  	$data = mysql_fetch_array($resultaat);
+		  	$Comp_Schaduw = $data['Schaduw_Vlag'];
+
+			  $query = "SELECT Comp_Lijst_ID, Comp_Naam FROM comp_lijst WHERE Comp_Type_ID in (SELECT Type_Parent FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."' ))";
+		  	$num_rows = mysql_num_rows(mysql_query($query));		
+
+		  	if ($num_rows == 0)
+					echo("No parent components available");
+		  	else {
+					$resultaat = mysql_query($query);
+
+					echo("<form name=\"fTest\" method=\"post\">\r\n");
+					if(isset($_POST['sComp_Parent'])) 
+						$selectie = $_POST['sComp_Parent'];
+					else if (isset($_GET['n']) && $_GET['n'] > 0)
+						$selectie = $_GET['n'];
+					else 
+						$selectie = 'SELECTED';
+			  	
+			  	//het geselecteerde component is geen schaduw component, dus kan deze verplaatst worden
+			  	if($Comp_Schaduw == 0) {
+
+						echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\" onchange=\"	document.fTest.submit();\">\r\n");
+						while ($data = mysql_fetch_array($resultaat)) {
+							echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
+							if ($data['Comp_Lijst_ID'] == $selectie || $selectie == 'SELECTED') {
+								echo(' SELECTED');
+								$selectie = $data['Comp_Lijst_ID'];
+							}
+							echo(">". $data['Comp_Naam'] ."</option>\r\n");
+						}
+						echo("</select>");
+
+						//het aantal aangemaakte componenten per geselecteerde type, gedeelte
+						if ($selectie != -1) {
+							//kijken of $selectie een schaduw ding is: dit is de parent waarnaar verplaatst wordt
+							$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '". $selectie ."'";
+	    			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+					  	if ($data['Schaduw_Vlag'] == '0') {
+
+								//maximum aantal ophalen 
+								$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."')";
+		    			  $resultaat = mysql_query($query);
+						  	$data = mysql_fetch_array($resultaat);
+		    			  $maximum = $data['Max_Aantal'];
+		
+								//aantal aangemaakte componten van dit type ophalen
+								$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$selectie."' AND Comp_Type_ID IN (SELECT Comp_Type_ID FROM comp_lijst WHERE Comp_Lijst_ID = '".$_GET['c']."')";
+		    			  $resultaat = mysql_query($query);
+						  	$data = mysql_fetch_array($resultaat);
+		    			  $aantal = $data[0];
+		
+								echo("&nbspAangemaakt: ". $aantal ." van ". $maximum);
+								if ($aantal == $maximum)
+									echo("<font color=\"#FF0000\"><b>&nbsp*Maximum componenten bereikt!</b></font>");
+							}
+						}
+					}
+					//het geselecteerde component kan niet verplaatst worden, omdat dit een schaduw component is
+					else {
+						$query = "SELECT Comp_Naam FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."'";
+					  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+						
+						echo($data['Comp_Naam'] . "<input type=\"hidden\" name=\"sComp_Parent\" id=\"sComp_Parent\" value=\"".$selectie."\">");
+					}
+					echo("</form>");
+				}
+			}
+		?>
+	</body>
+</html>
\ No newline at end of file
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
index 32ece4c0aff7c3a7ade4e30d42bdb774bf0681dc..a7f2024d03774fbd3504ca8768747259195edfb1 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen.php
@@ -32,12 +32,51 @@
 
 			//het valideren van de invoer, dus controleren of de ingevoerde gegevens opgeslagen mogen worden
 			function Valideer_Invoer() {
+				if (!isset($_POST['opslaan']))
+					return false; 
+					
 				if (isset($_POST['opslaan']) && $_POST['opslaan'] != 1)
 					return false;
-				
-				//controleren of het component niet het maximum aantal instanties van dit component overtreedt
-				if (isset($_POST['hidden_aantal']) && isset($_POST['hidden_maximum']) && $_POST['hidden_aantal'] > $_POST['hidden_maximum'])
+
+
+				//controleren of er wel een PARENT voor dit component geselecteerd is
+				if (isset($_POST['hidden_parent']) && $_POST['hidden_parent'] =='') 
 					return false;
+				//er is een PARENT ingevoerd, dus kijken of het maximum aantal niet overschreden wordt...
+				else {
+					
+					//kijken of deze PARENT een schaduwtype is
+					$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$_POST['hidden_parent']."'";
+  			  $resultaat = mysql_query($query);
+			  	$data = mysql_fetch_array($resultaat);
+			  	
+			  	//Parent is een schaduwtype, dus maximumaantal geldt niet. 
+			  	//wel controleren of dit niet zelf een parent is, in dit geval mag dit type maar 1 x voorkomen
+			  	if ($data['Schaduw_Vlag'] == 1) {
+			  		$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_POST['comp_type']."'";
+						$num_rows = mysql_num_rows(mysql_query($query));
+						if($num_rows > 0 && isset($_POST['hidden_schaduw']) && $_POST['hidden_schaduw'] == '0')
+							return false;
+			  	}
+			  	//geen schaduw_vlag, dus controleren of het maximum aantal niet overschreden wordt
+			  	else {
+						//kijken wat het maximum aantal voor dit type is
+						$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '". $_POST['comp_type'] ."'";
+	  			  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+	  			  $maximum = $data['Max_Aantal'];
+						
+						//kijken welke parent dit is en hoeveel comps hier al van zijn aangemaakt +1
+						$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$_POST['hidden_parent']."' AND Comp_Type_ID = '".$_POST['comp_type']."'";
+	  			  $resultaat = mysql_query($query);
+				  	$data = mysql_fetch_array($resultaat);
+	  			  $aantal = $data[0];
+						
+						//met elkaar vergelijken			  
+	  			  if(($aantal + 1) > $maximum) 
+	  			  	return false;
+	  			 }
+				}
 					
 				//controleren of er wel een naam voor dit component ingevoerd is
 				if (isset($_POST['hidden_naam'])) {
@@ -45,10 +84,6 @@
 						return false;
 				} else return false;
 
-				//controleren of er wel een type voor dit component geselecteerd is
-				if (isset($_POST['hidden_type']) && $_POST['hidden_type'] =='') 
-					return false;
-
 				//de statusdatum controleren
 				if (isset($_POST['statusdatum'])) {
 					//wanneer de statusdatum gevuld is, dan...
@@ -117,8 +152,12 @@
 				if (isset($_POST['hidden_fabricagedatum']) && $_POST['hidden_fabricagedatum'] != '')
 					$query = $query . ", Fabricatie_Datum";
 				
+				//als dit het admingedeelte is, dan is het schaduw_vlag checkbox aanwezig
+				if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0)
+					$query = $query . ", Schaduw_Vlag";
+				
 				//de waardes, welke opgeslagen moeten worden in de database
-				$query = $query . ") VALUES ('". htmlentities($_POST['hidden_naam'], ENT_QUOTES) ."', '". $_POST['comp_type'] ."', '". $_POST['hidden_type'] ."', '";
+				$query = $query . ") VALUES ('". htmlentities($_POST['hidden_naam'], ENT_QUOTES) ."', '". $_POST['comp_type'] ."', '". $_POST['hidden_parent'] ."', '";
 				$query = $query .  $_POST['comp_locatie'] ."', '".  $_POST['hidden_verantwoordelijke']."', '".$_POST['hidden_fabricant']."', '".$_POST['hidden_leverancier']."'";
 				    				
 				//de waarde voor de leverdatum aan de query toevoegen
@@ -131,6 +170,13 @@
   				$query = $query . ", '". Datum_Tijd_Naar_DB_Conversie($_POST['hidden_fabricagedatum'], $_POST['hidden_fabricagetijd']) . "'";
 				}
 				
+				//waarde voor schaduw_vlag aan de query toevoegen
+				if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+					if (isset($_POST['hidden_schaduw']) && ($_POST['hidden_schaduw'] == '1' || $_POST['hidden_schaduw'] == 'on')) 
+						$query = $query . ", '1'";
+					else $query = $query . ",'0'";
+				}				
+				
 				//de query afsluiten met een haakje
 				$query = $query . ')';
 				
@@ -146,8 +192,8 @@
 					$Comp_ID = mysql_insert_id();
 
 					//De eerste melding van het component toevoegen, dit is zeer waarschijnlijk het plaatsen van het component oid
-					$query = "INSERT INTO melding_lijst (Melding_Locatie, Meld_Type_ID, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door)";
-					$query = $query . "VALUES ('". $_POST['comp_locatie'] ."', '". $_POST['type_melding'] ."', '". $Comp_ID ."'";
+					$query = "INSERT INTO melding_lijst (Melding_Locatie, Meld_Type_ID, Comp_Lijst_ID, Comp_Parent, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Behandeld_Door, Gemeld_Door)";
+					$query = $query . "VALUES ('". $_POST['comp_locatie'] ."', '". $_POST['type_melding'] ."', '". $Comp_ID ."', '". $_POST['hidden_parent'] ."'";
 
   				//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
   				if (isset($_POST['statusdatum']) && $_POST['statusdatum'] != '') {
@@ -269,17 +315,21 @@
   			</tr>
   			<tr>
   				<td>Naam component:</td>
-  				<td><iframe id="frame_naam" name="frame_naam" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_naam.php?c=<?php echo($selected); if(isset($_POST['hidden_naam'])){ echo("&n=".$_POST['hidden_naam']); } ?>" width="400" height="44" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
+  				<td><iframe id="frame_naam" name="frame_naam" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_naam.php?c=<?php echo($selected); if(isset($_POST['hidden_naam'])){ echo("&n=".$_POST['hidden_naam']); } ?>" width="150" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
   					<?php if (isset($_POST['opslaan']) && ($_POST['opslaan'] == 1) && isset($_POST['hidden_naam']) && $_POST['hidden_naam'] == '') echo("<b>* Er is geen naam voor deze instantie ingevuld!</b>");?></td>
   			</tr>
   			<tr>
   				<td>Parent component:</td>
 					<?php 
-						if(isset($_POST['hidden_type']) && isset($_POST['opslaan']) && $_POST['opslaan'] == 1) 
-  						$selectie = "&n=" . $_POST['hidden_type']; 
+						if(isset($_POST['hidden_parent']))// && isset($_POST['opslaan']) && $_POST['opslaan'] == 1) 
+  						$selectie = "&n=" . $_POST['hidden_parent']; 
   					else $selectie = "&n=-1";
+ 						//bepalen hoogte van het scherm
+						if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0)
+							$hoogte = 42;
+						else $hoogte = 22;
  					?>
-  				<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_parent.php?c=<?php echo($selected . $selectie); ?>" width="450" height="26" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
+  				<td><iframe id="frame_parent" name="frame_parent" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/comp_toevoegen_parent.php?c=<?php echo($selected . $selectie); ?>" width="550" height="<?php echo($hoogte); ?>" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe></td>
   			</tr>
   			<tr>
   				<td>Type melding:</td>
@@ -396,7 +446,7 @@
   			</tr>
   			<tr>
   				<td>Extra velden:<br>(* = verplicht)</td>
-  				<td><iframe id="frame_extra_velden" name="frame_extra_velden" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/component_extra_velden.php?c=<?php echo($selected); ?>" width="400" height="110" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
+  				<td><iframe id="frame_extra_velden" name="frame_extra_velden" align="middle" marginwidth="0" marginheight="0" src="<?php echo($_SESSION['pagina']); ?>algemene_functionaliteit/component_extra_velden.php?c=<?php echo($selected); ?>" width="400" height="100" ALLOWTRANSPARENCY frameborder="0" scrolling="auto"></iframe>
   					<?php
   					  if (isset($_POST['opslaan']) && $_POST['opslaan'] == 1 && !Extra_Velden_Controle()) echo("<b>* Foutieve waardes!</b>");
   					?>
@@ -453,10 +503,9 @@
   					<input id="hidden_fabricagetijd" name="hidden_fabricagetijd" type="hidden" value="<?php echo($fabricagetijd); ?>">
 						<input id="hidden_leverdatum" name="hidden_leverdatum" type="hidden" value="<?php echo($leverdatum); ?>">
 						<input id="hidden_levertijd" name="hidden_levertijd" type="hidden" value="<?php echo($levertijd); ?>">
-						<input id="hidden_type" name="hidden_type" type="hidden" value="">
+						<input id="hidden_parent" name="hidden_parent" type="hidden" value="">
+						<input id="hidden_schaduw" name="hidden_schaduw" type="hidden" value="">
 						<input id="hidden_naam" name="hidden_naam" type="hidden" value="">
-						<input id="hidden_aantal" name="hidden_aantal" type="hidden" value="">
-						<input id="hidden_maximum" name="hidden_maximum" type="hidden" value="">
 						<input id="hidden_fabricant" name="hidden_fabricant" type="hidden" value="">
 						<input id="hidden_leverancier" name="hidden_leverancier" type="hidden" value="">
   					<input id="hidden_melding" name="hidden_melding" type="hidden" value="">
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
index c477c14d9e8f20dd7c931752d13d90d50cce67ff..aa449e09682dfe00861ba4e220936190490b5617 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_functies.php
@@ -71,10 +71,12 @@ function SubmitComponentBewerken()
 	var s = document.frames['frame_melding'].document.getElementById('sStatus').value;
 	var m = document.frames['frame_melding'].document.getElementById('sMelding').value;
 	var n = document.frames['frame_contact'].document.getElementById('sVerantwoordelijke').value;
+	var p = document.frames['frame_parent'].document.getElementById('sComp_Parent').value;
 
 	document.getElementById('hidden_melding').value = m;
 	document.getElementById('hidden_status').value = s;
 	document.getElementById('hidden_verantwoordelijke').value = n;
+	document.getElementById('hidden_parent').value = p;
 
 	document.theForm.submit();
 }
@@ -119,11 +121,20 @@ function submitComponentToevoegen()
 	var leverdatum = document.frames['frame_leverancier'].document.getElementById('sLeverdatum').value;
 	var fabricagetijd  = document.frames['frame_fabricant'].document.getElementById('sFabricagetijd').value;
 	var fabricagedatum = document.frames['frame_fabricant'].document.getElementById('sFabricagedatum').value;
+
+	<?php
+
+		if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+			
+			echo("if (document.frames['frame_parent'].document.getElementById('schaduw')) { \n");
+			echo("var q = document.frames['frame_parent'].document.getElementById('schaduw').value;\n");
+			echo("document.getElementById('hidden_schaduw').value = q; \n }");
+		}
+
+	?>
 	
-	var aantal  = document.frames['frame_naam'].document.getElementById('sComp_Aantal').value;
-	var maximum = document.frames['frame_naam'].document.getElementById('sComp_Max').value;
 	document.getElementById('hidden_verantwoordelijke').value = n;
-	document.getElementById('hidden_type').value = w;
+	document.getElementById('hidden_parent').value = w;
 	document.getElementById('hidden_naam').value = x;
 	document.getElementById('hidden_fabricant').value = y;
 	document.getElementById('hidden_leverancier').value = z;
@@ -134,7 +145,5 @@ function submitComponentToevoegen()
 	document.getElementById('hidden_melding').value = m;
 	document.getElementById('hidden_status').value = s;
 
-	document.getElementById('hidden_aantal').value = aantal;
-	document.getElementById('hidden_maximum').value = maximum;
 	document.theForm.submit();
 }
\ No newline at end of file
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
index 90e92e9f92cdac2ab16f67c9aef5a56a5bdf79a5..f7b154be4a1f6e6c86022cd245b9d347f6bc79c4 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_naam.php
@@ -8,11 +8,9 @@
 			include_once("../includes/vars.php");
 
 			if (isset($_GET['c']) && $_GET['c'] != 0) {
-				$query = "SELECT Type_Naam, Min_Aantal, Max_Aantal FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
+				$query = "SELECT Type_Naam FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
 				$resultaat = mysql_query($query);
 				$data = mysql_fetch_array($resultaat);
-				$minimum = $data[1];
-				$maximum = $data[2];
 				
 				$naam = $data[0];
 				if(isset($_GET['n']))
@@ -32,11 +30,7 @@
 						$inputveld = $inputveld . " nr. ".($aantal + 1);
 				$inputveld = $inputveld . "\">";
 
-				echo("<input id=\"sComp_Aantal\" name=\"sComp_Aantal\" type=\"hidden\" value=\"". ($aantal + 1)."\">\n");
-				echo("<input id=\"sComp_Max\" name=\"sComp_Max\" type=\"hidden\" value=\"". $maximum ."\">\n");
-				echo("Aangemaakt: ". $aantal . " van ". $maximum);
-				if ($aantal + 1 > $maximum) echo("<font color=\"#FF0000\"><b> * Maximum componenten bereikt!</b></font>");
-				echo("<br>\n" .$inputveld);
+				echo($inputveld);
 			}
 		?>
 	</body>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
index 5024a6bc87168d7af990d36a9e1e6218f0b84533..75f4ef32c0ba033a62e7817be7dbd383f2ac55be 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/comp_toevoegen_parent.php
@@ -1,3 +1,9 @@
+<?php
+
+	session_start();
+	
+?>
+
 <html>
 	<head>
 	</head>
@@ -14,22 +20,104 @@
 		  	else {
 					$resultaat = mysql_query($query);
 
-					echo("<form name=\"fTest\">\r\n");
-					if (isset($_GET['n']) && $_GET['n'] > 0)
+					echo("<form name=\"fTest\" method=\"post\">\r\n");
+					if(isset($_POST['sComp_Parent'])) 
+						$selectie = $_POST['sComp_Parent'];
+					else if (isset($_GET['n']) && $_GET['n'] > 0)
 						$selectie = $_GET['n'];
 					else 
 						$selectie = 'SELECTED';
 
-					echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\">\r\n");
+					echo("<select id=\"sComp_Parent\" name=\"sComp_Parent\" onchange=\"	document.fTest.submit();\">\r\n");
 					while ($data = mysql_fetch_array($resultaat)) {
 						echo("<option value=\"". $data['Comp_Lijst_ID'] ."\"");
 						if ($data['Comp_Lijst_ID'] == $selectie || $selectie == 'SELECTED') {
 							echo(' SELECTED');
-							$selectie = -1;
+							$selectie = $data['Comp_Lijst_ID'];
 						}
 						echo(">". $data['Comp_Naam'] ."</option>\r\n");
 					}
-					echo("</select></form>");
+					echo("</select>");
+
+					//als de gekozen parent een schaduw component is, dan geld onderstaande niet meer
+					$query = "SELECT Schaduw_Vlag FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."'";
+  			  $resultaat = mysql_query($query);
+			  	$data = mysql_fetch_array($resultaat);
+					
+					//de meldingen voor het aantal aan te maken componenten maken 
+					if ($data['Schaduw_Vlag'] == 0) {
+						//het aantal aangemaakte componenten per geselecteerde type, gedeelte
+						if ($selectie != -1) {
+							//maximum aantal ophalen 
+							$query = "SELECT Max_Aantal FROM comp_type WHERE Comp_Type = '".$_GET['c']."'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+		  			  $maximum = $data['Max_Aantal'];
+		
+							//aantal aangemaakte componten van dit type ophalen
+							$query = "SELECT Count(Comp_Lijst_ID) FROM comp_lijst WHERE Comp_Parent = '".$selectie."' AND Comp_Type_ID = '".$_GET['c']."'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+		  			  $aantal = $data[0];
+		
+							echo("&nbspAangemaakt: ". $aantal ." van ". $maximum);
+							if ($aantal == $maximum)
+								echo("<font color=\"#FF0000\"><b>&nbsp*Maximum componenten bereikt!</b></font>");
+						}
+					}
+					
+					//het schaduwcomponentengedeelte
+					if(isset($_SESSION['admin_deel']) && 	$_SESSION['admin_deel'] > 0) {
+
+						//als er al 1 schaduw component van dit type bestaat, dan deze niet weergeven
+						$query = "SELECT Comp_Lijst_ID FROM comp_lijst WHERE Comp_Type_ID = '".$_GET['c']."' AND Schaduw_Vlag='1'";
+						$num_rows = mysql_num_rows(mysql_query($query));
+						//echo($num_rows . " asdad  ");
+						
+						//er is nog geen schaduwcomponent, dus aanmaken kan
+						if($num_rows == 0){
+
+							//Parent Component = 1 -> dan weergeven
+							if ($selectie == 1) {
+								echo("<br><input id=\"schaduw\" name=\"schaduw\" type=\"checkbox\">Schaduw component");
+							}
+							else {
+								//geselecteerde parent is een schaduw
+								$query = "SELECT * FROM comp_lijst WHERE Comp_Lijst_ID = '".$selectie."' AND Schaduw_Vlag = '1'";
+								$num_rows = mysql_num_rows(mysql_query($query));
+								//parent is een schaduw
+								if($num_rows == 1){
+									$query = "SELECT * FROM comp_type WHERE Type_Parent = '".$_GET['c']."'";
+									$num_rows = mysql_num_rows(mysql_query($query));		
+		
+									//Geen parents
+							  	if ($num_rows == 0)
+										echo("<br>Dit is een instantie. Dit wordt geen schaduw component.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+									//mappen worden ook schaduw, and zelf parent dan schaduw
+				  				else 
+										echo("<br>Dit component wordt een schaduwcomponent.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"1\">");
+								}
+								//parent is geen schaduw, dus dan dit ook geen schaduw laten worden
+								else								
+									echo("<br>Dit component kan geen schaduw component worden.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+							}
+						}
+						else {
+							//er is een schaduwcomponent... 
+							//dus onderscheid maken of t schaduwcomponent geselecteerd is.
+							$query = "SELECT Comp_Lijst_ID FROM comp_lijst WHERE Comp_Type_ID IN (SELECT Type_Parent FROM comp_type WHERE Comp_Type = '".$_GET['c']."') AND Schaduw_Vlag='1'";
+		  			  $resultaat = mysql_query($query);
+					  	$data = mysql_fetch_array($resultaat);
+							
+							if ($data['Comp_Lijst_ID'] == $selectie)
+								echo("<br>Dit is het schaduwcomponent voor dit type.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+							else echo("<br>Een schaduwcomponent bestaat voor dit type.<input id=\"schaduw\" name=\"schaduw\" type=\"hidden\" value=\"0\">");
+						}
+						//als parent een schaduw is, en huidige type is een map -> schaduw voor deze wordt 1 
+						//als parent een schaduw is, en huidige type is geen map -> schaduw wordt 0
+					}
+
+					echo("</form>");
 				}
 			}
 		?>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php b/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
index 1aa5ecfc636efe94197ed5b7a74a68f885db7252..749ea79b5c38113b7ff51273ce397a303ffcc5f2 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/component_bewerken_extra_velden.php
@@ -1,3 +1,9 @@
+<?php
+
+	session_start();
+
+?>
+
 <html>
 	<head>
 	</head>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php b/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
index 7db93eb94c0c05cf96891cca1c89da72890d6bef..40bba9ddd4fe1de1d4743e4b187d3593d5d877de 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/component_extra_velden.php
@@ -1,3 +1,9 @@
+<?php
+	
+	session_start();
+
+?>
+
 <html>
 	<head>
 	</head>
diff --git a/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php b/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
index 5968e3563433f3f6cd75e90776c2e8b481e79891..8f03e8b78dba8edb7ab811c3a05580e35c40f1cd 100644
--- a/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
+++ b/support/tool/CRAFT/algemene_functionaliteit/melding_toevoegen.php
@@ -100,13 +100,13 @@
 		
 		//uit de componenten lijst halen welke melding hier als laatste bij opgeslagen is
 		//deze waarde is nodig om een keten van meldingen te kunnen vormen
-		$query = "SELECT Laatste_Melding FROM comp_lijst WHERE Comp_Lijst_ID = '". $Comp_Selectie ."'";
+		$query = "SELECT Laatste_Melding, Comp_Parent FROM comp_lijst WHERE Comp_Lijst_ID = '". $Comp_Selectie ."'";
 		$resultaat = mysql_query($query);
   	$row = mysql_fetch_array($resultaat);
 		
 		//de query om de melding toe te voegen, samenstellen
-		$query = "INSERT INTO melding_lijst (Meld_Type_ID, Melding_Locatie, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Prob_Oplossing, Behandeld_Door, Gemeld_Door, Afgehandeld)";
-		$query = $query . "VALUES ('". $_POST['Type_Melding'] ."', '". $_POST['Melding_Locatie'] ."', '" .$Comp_Selectie . "'";
+		$query = "INSERT INTO melding_lijst (Meld_Type_ID, Comp_Parent, Melding_Locatie, Comp_Lijst_ID, Meld_Datum, Huidige_Status, Voorgaande_Melding, Prob_Beschrijving, Prob_Oplossing, Behandeld_Door, Gemeld_Door, Afgehandeld)";
+		$query = $query . "VALUES ('". $_POST['Type_Melding'] ."', '". $row['Comp_Parent']. "', '". $_POST['Melding_Locatie'] ."', '" .$Comp_Selectie . "'";
 
 		//het toevoegen van een statusdatum: eerst kijken of er 1 ingevuld is, anders de huidige datum gebruiken...
 		if (isset($_POST['Meld_Datum']) && $_POST['Meld_Datum'] != '') {
@@ -114,7 +114,7 @@
 			$query = $query . ", '". $datum[2]."-".$datum[1]."-".$datum[0] ." ". $_POST['Meld_Tijd'] .":00'";							
 		}
 		else $query = $query . ", NOW()";
-		$query = $query . ", '". $_POST['hidden_status'] ."', '". $row[0] ."', '". htmlentities($_POST['hidden_beschrijving'], ENT_QUOTES) ."', '". htmlentities($_POST['hidden_oplossing'], ENT_QUOTES);
+		$query = $query . ", '". $_POST['hidden_status'] ."', '". $row['Laatste_Melding'] ."', '". htmlentities($_POST['hidden_beschrijving'], ENT_QUOTES) ."', '". htmlentities($_POST['hidden_oplossing'], ENT_QUOTES);
 		$query = $query . "', '". $_POST['Behandeld_Door'] ."', '". $_POST['Gemeld_Door'] ."', '";
 		//de afgehandeld checkbox vertalen naar sql taal ;)
 		if (isset($_POST['afgehandeld']) && ($_POST['afgehandeld'] == 'on' || $_POST['afgehandeld'] == '1'))
@@ -192,8 +192,9 @@
 		}
 		else if ($errorlevel == 0) echo("De nieuwe melding (". $Laatste_Melding .") kon niet aan het systeem toegevoegd worden!.");
 		else if ($errorlevel == 1) echo("De nieuwe melding (". $Laatste_Melding .") is aan het systeem toegevoegd.<br>Alleen is er iets foutgegaan met het updaten van de componten tabel! De 'laatste meldin' verwijzing is niet geupdated!");
-		if(isset($_GET['b'])) $url = ("&b=" . $_GET['b']);
-		else $url = ("&c=" . $Comp_Selectie);
+		$url = '';
+		if(isset($_GET['c'])) $url = $url . ("&c=" . $Comp_Selectie);		
+		if(isset($_GET['b'])) $url = $url . ("&b=" . $_GET['b']);
 		
 		echo('<a href="'.$_SESSION['huidige_pagina']. $url .'">Klik hier om nog een melding aan dit component toe te voegen of geselecteer een component uit de treeview.</a>');
 	}
diff --git a/support/tool/CRAFT/documentatie/changes.doc b/support/tool/CRAFT/documentatie/changes.doc
index 90aef5d59b1aece3a63569afc4e5bd442dc085db..e3ccec06ae5658cc59ffb1842b191fa07cd8d501 100644
Binary files a/support/tool/CRAFT/documentatie/changes.doc and b/support/tool/CRAFT/documentatie/changes.doc differ
diff --git a/support/tool/CRAFT/documentatie/db_structuur.sql b/support/tool/CRAFT/documentatie/db_structuur.sql
index 64455a8b8bbedf0f51c62725feef2fc12fa10a57..81656cc80cec16d2528108980d8ec23216f219a3 100644
--- a/support/tool/CRAFT/documentatie/db_structuur.sql
+++ b/support/tool/CRAFT/documentatie/db_structuur.sql
@@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS `comp_lijst` (
 -- 
 
 INSERT INTO `comp_lijst` (`Comp_Lijst_ID`, `Comp_Naam`, `Comp_Type_ID`, `Comp_Parent`, `Comp_Locatie`, `Comp_Verantwoordelijke`, `Contact_Fabricant`, `Contact_Leverancier`, `Lever_Datum`, `Fabricatie_Datum`, `Laatste_Melding`) VALUES 
-(1, 'ASTRON', 1, NULL, 1, 3, NULL, NULL, NULL, NULL, 1);
+(1, 'ASTRON', 1, NULL, 1, 1, NULL, NULL, NULL, NULL, 1);
 
 -- --------------------------------------------------------
 
@@ -112,6 +112,9 @@ CREATE TABLE IF NOT EXISTS `comp_locatie` (
 -- Gegevens worden uitgevoerd voor tabel `comp_locatie`
 -- 
 
+INSERT INTO `comp_locatie` (`Locatie_ID`, `Loc_Naam`, `Loc_Adres1`, `Loc_Adres2`, `Loc_Postcode`, `Loc_Plaats`, `Long_Graden`, `Long_Min`, `Long_Sec`, `Lat_Graden`, `Lat_Min`, `Lat_Sec`) VALUES 
+(1, 'Lhee', NULL, NULL, NULL, NULL, 6, 39, 51, 52, 81, 28);
+
 -- --------------------------------------------------------
 
 -- 
@@ -145,7 +148,7 @@ CREATE TABLE IF NOT EXISTS `comp_type` (
 -- 
 
 INSERT INTO `comp_type` (`Comp_Type`, `Type_Naam`, `Type_Parent`, `Aangemaakt_Door`, `Aanmaak_Datum`, `Structuur_Entry`, `Gefabriceerd_Door`, `Geleverd_Door`, `Min_Aantal`, `Max_Aantal`, `Reserve_Minimum`, `Type_Verantwoordelijke`) VALUES 
-(1, 'Faciliteit', NULL, 1, '2007-06-18 13:29:26', 1, 2, 2, 1, 1, 0, 3);
+(1, 'Faciliteit', NULL, 1, '2007-06-18 13:29:26', 1, 1, 1, 1, 1, 0, 1);
 
 -- --------------------------------------------------------
 
@@ -278,9 +281,6 @@ CREATE TABLE IF NOT EXISTS `gebruikersgroeprechten` (
 -- Gegevens worden uitgevoerd voor tabel `gebruikersgroeprechten`
 -- 
 
-INSERT INTO `gebruikersgroeprechten` (`Groep_ID`, `Comp_Type_ID`, `Zichtbaar`, `Toevoegen`, `Bewerken`, `Verwijderen`, `onderliggende_Data`) VALUES 
-(2, 1, 0, 0, 0, 0, 1);
-
 -- --------------------------------------------------------
 
 -- 
diff --git a/support/tool/CRAFT/main_componenten/zoeken.php b/support/tool/CRAFT/main_componenten/zoeken.php
index c8b932b3fefd28a5f7e9461a542929b953c34ecd..7ab1312dc0a554d68e2e4e1dce29a313cf0d1d81 100644
--- a/support/tool/CRAFT/main_componenten/zoeken.php
+++ b/support/tool/CRAFT/main_componenten/zoeken.php
@@ -94,58 +94,67 @@
 	    		if(Valideer_Zoeken()) {
 	    			
 	    			//basisquery: selecteert alle componenten... de criteria wordt hierachter geplakt
-	  				$query = "SELECT * FROM comp_lijst WHERE Comp_Lijst_ID > 1";
+	  				//wanneer er ook op status gezocht moet worden, dan moeten 2 tabellen doorgezocht worden
+	  				if(isset($_POST['Status']) && $_POST['Status'] != -1) {
+							$query = "SELECT c.* FROM comp_lijst c, melding_lijst m WHERE c.Comp_Lijst_ID > 1";
+	  				}
+	  				else $query = "SELECT c.* FROM comp_lijst c WHERE c.Comp_Lijst_ID > 1";
 	  				
 	  				//naam component
 	  				if(isset($_POST['naam']))
-							$query = $query . " AND Comp_Naam LIKE '%".$_POST['naam']."%'";
+							$query = $query . " AND c.Comp_Naam LIKE '%".$_POST['naam']."%'";
 
 						//type component
 	  				if(isset($_POST['Type']) && $_POST['Type'] != -1)
-							$query = $query . " AND Comp_Type_ID = '".$_POST['Type']."'";
-						
+							$query = $query . " AND c.Comp_Type_ID = '".$_POST['Type']."'";
+
+						//status
+	  				if(isset($_POST['Status']) && $_POST['Status'] != -1) {
+	  					$query = $query . " AND c.laatste_melding = m.Meld_Lijst_ID AND m.Huidige_Status = '". $_POST['Status'] ."'";
+	  				}
+
 						//locatie
 						if (isset($_POST['Locatie1']) && $_POST['Locatie2'] == -1 )
-							$query = $query . " AND Comp_Locatie IN (SELECT Locatie_ID FROM comp_locatie WHERE Loc_Naam LIKE '%".$_POST['Locatie1']."%')";
+							$query = $query . " AND c.Comp_Locatie IN (SELECT Locatie_ID FROM comp_locatie WHERE Loc_Naam LIKE '%".$_POST['Locatie1']."%')";
 						else if ($_POST['Locatie2'] > 0)
-							$query = $query . " AND Comp_Locatie = '".$_POST['Locatie2']."'";
+							$query = $query . " AND c.Comp_Locatie = '".$_POST['Locatie2']."'";
 
 						//parent 
 	  				if(isset($_POST['Parent']) && $_POST['Parent'] != -1)
-							$query = $query . " AND Comp_Parent = '".$_POST['Parent']."'";
+							$query = $query . " AND c.Comp_Parent = '".$_POST['Parent']."'";
 						
 						//verantwoordelijke voor dit component
 						if (isset($_POST['Verantwoordelijke1']) && $_POST['Verantwoordelijke2'] == -1 )
-							$query = $query . " AND Comp_Verantwoordelijke IN (SELECT Werknem_ID FROM gebruiker WHERE inlognaam LIKE '%".$_POST['Verantwoordelijke1']."%')";
+							$query = $query . " AND c.Comp_Verantwoordelijke IN (SELECT Werknem_ID FROM gebruiker WHERE inlognaam LIKE '%".$_POST['Verantwoordelijke1']."%')";
 						else if ($_POST['Verantwoordelijke2'] > 0)
-							$query = $query . " AND Comp_Verantwoordelijke = '".$_POST['Verantwoordelijke2']."'";
+							$query = $query . " AND c.Comp_Verantwoordelijke = '".$_POST['Verantwoordelijke2']."'";
 
 						//fabricant voor dit component
 						if (isset($_POST['Fabricant1']) && $_POST['Fabricant2'] == -1 )
-							$query = $query . " AND Contact_Fabricant IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Fabricant1']."%')";
+							$query = $query . " AND c.Contact_Fabricant IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Fabricant1']."%')";
 						else if ($_POST['Fabricant2'] > 0)
-							$query = $query . " AND Contact_Fabricant = '".$_POST['Fabricant2']."'";
+							$query = $query . " AND c.Contact_Fabricant = '".$_POST['Fabricant2']."'";
 
 						//leverancier voor dit component
 						if (isset($_POST['Leverancier1']) && $_POST['Leverancier2'] == -1 )
-							$query = $query . " AND Contact_Leverancier IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Leverancier1']."%')";
+							$query = $query . " AND c.Contact_Leverancier IN (SELECT Contact_ID FROM contact WHERE Contact_Naam LIKE '%".$_POST['Leverancier1']."%')";
 						else if ($_POST['Leverancier2'] > 0)
-							$query = $query . " AND Contact_Leverancier = '".$_POST['Leverancier2']."'";
+							$query = $query . " AND c.Contact_Leverancier = '".$_POST['Leverancier2']."'";
 
 	  				//Leverdatum
 	  				if (isset($_POST['Lever_Datum1']) && isset($_POST['Lever_Tijd1']) && isset($_POST['Lever_Datum2']) && isset($_POST['Lever_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Lever_Datum1'], $_POST['Lever_Tijd1']) && Datum_Geldigheid($_POST['Lever_Datum2'], $_POST['Lever_Tijd2']))
-							$query = $query . " AND Lever_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum1'], $_POST['Lever_Tijd1'])."' AND Lever_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum2'], $_POST['Lever_Tijd2'])."'";
+							$query = $query . " AND c.Lever_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum1'], $_POST['Lever_Tijd1'])."' AND c.Lever_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Lever_Datum2'], $_POST['Lever_Tijd2'])."'";
 
 	  				//Fabricatiedatum
 	  				if (isset($_POST['Fabr_Datum1']) && isset($_POST['Fabr_Tijd1']) && isset($_POST['Fabr_Datum2']) && isset($_POST['Fabr_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1']) && Datum_Geldigheid($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2']))
-							$query = $query . " AND Fabricatie_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1'])."' AND Fabricatie_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2'])."'";
+							$query = $query . " AND c.Fabricatie_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum1'], $_POST['Fabr_Tijd1'])."' AND c.Fabricatie_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Fabr_Datum2'], $_POST['Fabr_Tijd2'])."'";
 
 	  				//Aangemaakt:
 	  				if (isset($_POST['Meld_Datum1']) && isset($_POST['Meld_Tijd1']) && isset($_POST['Meld_Datum2']) && isset($_POST['Meld_Tijd2']) &&
 	  					 Datum_Geldigheid($_POST['Meld_Datum1'], $_POST['Meld_Tijd1']) && Datum_Geldigheid($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])) {
-							$query = $query . " AND Comp_Lijst_ID IN (SELECT Comp_Lijst_ID FROM melding_lijst WHERE Voorgaande_Melding = 1 AND Meld_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum1'], $_POST['Meld_Tijd1'])."' AND Meld_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])."')";	  				
+							$query = $query . " AND c.Comp_Lijst_ID IN (SELECT Comp_Lijst_ID FROM melding_lijst WHERE Voorgaande_Melding = 1 AND Meld_Datum >= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum1'], $_POST['Meld_Tijd1'])."' AND Meld_Datum <= '".Datum_Tijd_Naar_DB_Conversie($_POST['Meld_Datum2'], $_POST['Meld_Tijd2'])."')";	  				
 	  				}
 						
 	  				//de samengestelde query uitvoeren
@@ -188,6 +197,29 @@
 								?></select>
 		    			</td>
 		    		</tr>
+		    		<tr>
+		    			<td>Status:</td>
+		    			<td>
+		    				<select name="Status">
+		    				<?php
+			    				if (isset($_POST['Status']))
+			    					$selected = $_POST['Status'];
+			    				else $selected = -1;
+
+									echo("<option value=\"-1\"");
+									if($selected == -1) echo(" SELECTED");
+									echo(">None selected</option>");
+			    				$query = "SELECT * FROM status WHERE Status_ID";
+			    			  $resultaat = mysql_query($query);
+							  	while ($data = mysql_fetch_array($resultaat)) {
+										echo("<option value=\"".$data['Status_ID']."\"");
+										if ($selected == $data['Status_ID']) echo(" SELECTED");
+										echo(">".$data['Status']."</option>");
+							  	}									
+								?>
+								</select>
+		    			</td>
+		    		</tr>
 		    		<tr>
 		    			<td>Locatie:</td>
 		    			<td><input type="text" name="Locatie1" id="Locatie1" value="<?php if (isset($_POST['Locatie1'])) echo($_POST['Locatie1']); ?>" onchange="ResetSelectveld('Locatie1', 'Locatie2');">&nbspof&nbsp