/* implementation of printPart to facilitate printing debug comments, do not call this method directly!
	 * WARNING, partName from first argument is nog checked */
	function imp_printPart($args) {
		$partName = $args[0];
		$methodName = "print$partName"; 
		if (method_exists($this, $methodName)) {
			$extraArgs = $args; //implicit copy
			array_shift($extraArgs);
			return call_user_func_array(array($this,$methodName), $extraArgs); //partName in methodname checked by ::printPart 
		}
		$part = $this->getPart($args);
		if ($part)
			return $part->printBody($args);
	
		
		$dir = $this->getDir();
		$skinName = $this->getSpecificPartPrefix().$partName;
		$filePath = "../$dir"."skin$skinName.php";
		if (file_exists($filePath)) {
			$this->checkAlphaNumeric($skinName);
			pntCheckIncludePath($dir);
			return include($filePath); //imp_printpart $skinName and $dir checked by ::printPart
		}
		if ($this->includeSkin($partName))
			return;
		
		// report all includes that went wrong
		$params = $this->getPartIncludeTryParams($partName);
		print "\n<BR>". $this->getName(). " could not include first:\n<BR>";
		foreach ($params as $paramSet)
			print "$paramSet[0], $paramSet[1],\n<BR>";
		print $filePath;
	}