Incomplete - task 3: Europa Pages
diff --git a/europaeffect.php b/europaeffect.php
index fed91c5..c70f039 100644
--- a/europaeffect.php
+++ b/europaeffect.php
@@ -31,51 +31,73 @@
 	// that the file renders properly (i.e. testing using) "/index.php",
 	// and "/home/index.php" both work.
 
+	include ("scripts/quotes.php");
+	
 		
-	# Paste your HTML content between the EOHTML markers!	
-	$html = <<<EOHTML
+	# Paste your HTML content between the EOHTML markers!
+	ob_start();	
+	?>
 <link rel="stylesheet" type="text/css" href="callisto.css" media="screen" />
 <div class="callistoRealEstate">
 	<div class="maincontent">
-        <h1>$pageTitle</h1>
+        <h1><?=$pageTitle;?></h1>
         <p>
         The following are just some of the examples of what Eclipse members are doing with Europa.
         </p>
-       	<table>
-       		<tr>
-       			<td><div class="contentBox">
-		        <a href="#"><b>Company Name</b></a>
-		        <br /> <br />
-		       	Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec mollis, lectus at tristique gravida, mauris enim dapibus nibh, ut imperdiet enim nulla vel tortor. Phasellus eget lacus ut orci pretium porttitor. Donec venenatis auctor est. Aliquam nec mauris. Nulla facilisi. Cras eu sem. Donec elit augue, elementum eu, vulputate at, aliquet nec, tellus. Duis egestas. Donec tristique fermentum pede. Fusce consectetuer diam non justo rutrum porttitor. Aliquam mollis urna a ligula. Quisque libero sapien, dapibus ac, congue sit amet, dapibus sit amet, nisi. Mauris ipsum. Duis ante lacus, facilisis nec, iaculis eget, posuere ut, justo. Suspendisse sodales ante in urna. 
-		        <br /><br />		        
-			    <p style="text-align:right;"><a href="#">John Doe</a> - <a href="#">Position / Title</a></p>
-		        </div></td>
-        		<td valign="center" style="padding-left:10px;">
-        		 <a href="#">
-	        		<img src="imageHolder.gif" border=0 alt="#" title="#" style="float:right;clear:none;">
-    			 </a>
-        			</td>
-        	</tr>
-        </table>
+       	
+       	<? 
+       	$quotesCatalog = $quotesParser->quotesCatalog;
+        $counter = count($quotesCatalog);
+        $i =0;
+        $float = "right";
+       	while ($i < $counter)
+       	{
+       		$text = $quotesCatalog[$i][0];
+       		$image = $quotesCatalog[$i][1];
+       		$name = $quotesCatalog[$i][2];
+       		$position = $quotesCatalog[$i][3];
+       		$org = $quotesCatalog[$i][4];
+       		$link = $quotesCatalog[$i][5];
+       		?>
+		       	<table>
+		       		<tr>
+		       			<? if ($float=="left") { ?>
+		       			<td>
+				       		<a href="<?=$link;?>">
+				       			<img src="<?=$image;?>" border=0 alt="<?=$org;?>" title="<?=$org;?>" >
+				       		</a>
+				       	</td>
+						<? } ?>
+		       			<td>
+		       				<div class="contentBox"> 
+			       				<a href="<?=$link;?>"><b><?=$org;?></b></a>
+			       				<br /> <br />
+					       		<?=$text;?>
+					        	<br /><br />		        
+						    	<p style="text-align:right;"><b><?=$name;?></b> - <a href="<?=$link;?>"><?=$position;?></a></p>
+				       		</div>
+				       	</td>
+		       			<? if ($float=="right") { ?>
+		       			<td>
+				       		<a href="<?=$link;?>">
+				       			<img src="<?=$image;?>" border=0 alt="<?=$org;?>" title="<?=$org;?>" >
+				       		</a>
+				       	</td>
+						<? } ?>				       	
+					</tr>
+				</table>
+				<br/><br/>
+	
+		<? 
+		$i++;
+		if ($float == "right")
+			$float = "left";
+		else 
+			$float="right";
+		}   ?>        
+       	
       <br />  
-        <table>
-       		<tr>
-       		    <td valign="center" style="padding-right:10px;">
-       		    	<a href="#">
-       		    		<img src="imageHolder.gif" border=0 alt="#" title="#" style="float:right;clear:none;">
-					</a>
-       		    </td>
- 
-       			<td><div class="contentBox">
-		        <a href="#"><b>Company Name</b></a>
-		        <br /> <br />
-		        Nam a est et est fringilla fringilla. Cras congue lacinia nibh. Donec leo metus, viverra quis, eleifend mattis, tristique elementum, orci. Fusce risus tellus, placerat non, imperdiet et, tincidunt vel, urna. Ut faucibus purus sed nisl. Pellentesque cursus ligula quis dolor tempor ornare. Etiam condimentum. Suspendisse tempus sem a orci viverra fermentum. Suspendisse ullamcorper, orci at sagittis ultricies, purus neque vestibulum sem, vitae molestie ipsum mi ac metus. Quisque pretium arcu ac ligula. Proin ac urna eget tortor vulputate convallis. Fusce non quam. Sed turpis. Donec risus. Curabitur dapibus, turpis sit amet sagittis lobortis, augue mi malesuada sapien, sed rutrum purus mauris id nibh.
-		        <br /><br />		        
-			    <p style="text-align:right;"><a href="#">Jane Doe</a> - <a href="#">Position / Title</a></p>
-		        </div></td>
-        	</tr>
-        </table>
-     <br />     
+
 
             
         
@@ -91,10 +113,9 @@
 
 </div>
 
+<?
 
-
-
-EOHTML;
+$html = ob_get_clean();
 
 	# Generate the web page
 $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
diff --git a/quotes.xml b/quotes.xml
new file mode 100644
index 0000000..a8ea0ba
--- /dev/null
+++ b/quotes.xml
@@ -0,0 +1,115 @@
+<quotes>
+	<quote>
+		<text>"Since its release, BIRT has captured the interest of the Eclipse community and anticipation of BIRT 2.2 has been high. BIRT has been an integral part of the Actuate product line from August, 2005 when we incorporated release 1.0 and we will continue that commitment with BIRT 2.2, providing value-add features, products and services built on top of the Eclipse open source release. This includes the Actuate iPortal, an enterprise-grade JEE report delivery application, and Interactive Viewer to provide users with Web 2.0-style interaction and personalization of BIRT reports."</text>
+		<image>/membership/members/org-images/actuatelogo.jpg</image>
+		<name>Mark Coggins</name>
+		<position>Senior Vice President of Engineering</position>
+		<org>Actuate Corporation</org>
+		<link>http://www.actuate.com/</link>
+	</quote>
+	<quote>
+		<text>"Eclipse is a great example of commercial cooperation in an open source world.  We look forward to making Eclipse Europa a part of our upcoming Adobe Flex Builder 3 release later this year."</text>
+		<image>/membership/members/org-images/adobe.jpg</image>
+		<name>Steven Heintz</name>
+		<position>Senior Product Manager, Flex</position>
+		<org>Adobe Systems</org>
+		<link>http://www.adobe.com/</link>
+	</quote>
+	<quote>
+		<text>"The Europa Eclipse platform release represents a significant improvement in both functionality and stability," said Bill Roth, Vice President, Products, BEA Systems. "We have been working with it for months, and will be aggressively adopting it."</text>
+		<image>/membership/members/org-images/bealogo.jpg</image>
+		<name>Bill Roth</name>
+		<position>Vice President, Products</position>
+		<org>BEA Systems</org>
+		<link>http://www.bea.com/</link>
+	</quote>
+	<quote>
+		<text>"One of the goals of Carleton University's Talent Forge initiative is to host Eclipse plug-ins and educational material developed by students and faculty in support of Europa and future releases of Eclipse. We look forward to the success of Eclipse Europa." </text>
+		<image></image>
+		<name>Dr. Dwight Deugo</name>
+		<position>Associate Professor, School of Computer Science</position>
+		<org>Carleton University</org>
+		<link>http://www.carleton.ca</link>
+	</quote>
+	<quote>
+		<text>"The Europa release represents a significant milestone for Eclipse, unprecedented in the software industry.  Having 21 significant projects in the release train with the involvement of now 162 member companies solidify Eclipse as the open source standard for software tools, RCP and beyond.  We are excited to see a growing community and a thriving ecosystem based on repeated success and high quality standards."</text>
+		<image>/membership/members/org-images/genuitec.gif</image>
+		<name>Maher Masri</name>
+		<position>CEO</position>
+		<org>Genuitec, LLC</org>
+		<link>http://www.genuitec.com/</link>
+	</quote>
+	<quote>
+		<text>"We are excited that our application to join the Eclipse Foundation was accepted.  We believe that the Eclipse Community has built the perfect environment for developing enterprise class applications for deployment across a wide variety of platforms. We look forward to becoming active community participants as well as working closely with the ecosystem to make a significant contribution to the Eclipse platform," </text>
+		<image></image>
+		<name>Emma McGrattan</name>
+		<position>Senior Vice President of Engineering</position>
+		<org>Ingres Corporation</org>
+		<link></link>
+	</quote>	
+	<quote>
+		<text>"As a commercial vendor of software development tools, working closely with the Eclipse Foundation assures our customers a known technology road map and access to the latest features in Eclipse the moment a new release comes out. Our customers expect us to be among the first to support new Eclipse releases to meet their business needs, technical requirements and project schedules." </text>
+		<image>/membership/members/org-images/instantiationslogo4eclipse.jpg</image>
+		<name>Michael Taylor</name>
+		<position>CEO</position>
+		<org>Instantiations, Inc.</org>
+		<link>http://www.instantiations.com/</link>
+	</quote>
+	<quote>
+		<text>"Nexaweb Studio is a visual drag and drop environment for building Rich Internet Applications that connect Ajax with service oriented architecture.  Europa is a significant release that we have been looking forward to. The new features in the core Eclipse Platform makes it much more flexible and customizable. Incorporating DTP, WTP and the core platform enhancements, Nexaweb Studio will deliver even better integrated experience and developer productivity."</text>
+		<image>/membership/members/org-images/nexaweb.jpg</image>
+		<name>Coach Wei</name>
+		<position>CTO</position>
+		<org>Nexaweb</org>
+		<link>http://www.nexaweb.com/</link>
+	</quote>
+	<quote>
+		<text>"Our QNX Momentics IDE customers are becoming increasingly aware of the advanced features and benefits of Eclipse-based tooling.  With the Europa release, we are looking forward to integrating new CDT features such as an improved project model, enhanced source indexing with static analysis features, simplified debugging, and improved source editing and navigation capabilities."</text>
+		<image>/membership/members/org-images/qnxlogo.gif</image>
+		<name>Bill Graham</name>
+		<position>Product Marketing Manager</position>
+		<org>QNX Software Systems</org>
+		<link>http://www.qnx.com/</link>
+	</quote>	
+	<quote>
+		<text>"Europa marks another major milestone in the history of Eclipse, reinforcing the value received by the millions of Eclipse users," said Lee Nackman, vice president, development and support, Rational Software, IBM.  "Hundreds of products across IBM's software portfolio are built on Eclipse and the technology in Europa continues to strengthen the value proposition we bring to customers."</text>
+		<image>/membership/members/org-images/ibmlogo.gif</image>
+		<name>Lee Nackman</name>
+		<position>Vice President, Development and Support</position>
+		<org>Rational Software, IBM</org>
+		<link>http://www.ibm.com/</link>
+	</quote>
+	<quote>
+		<text>"The Eclipse Europa release is a fantastic example of the power of the open source development model. Having 21 projects coordinate a release is a challenge in any context, but the fact that Eclipse is able to do this among distinct projects with disparate parties and differing interests is a testament to the openness, quality, and speed of open source," said Bryan Che, product manager for tools, Red Hat. "Red Hat is excited to support the Eclipse Europa distribution and will be basing its inaugural release of the fully open source Red Hat Developer Studio on Eclipse Europa later this summer."</text>
+		<image>/membership/members/org-images/redhatlogo.gif</image>
+		<name>Bryan Che</name>
+		<position>Product Manager for Tools</position>
+		<org>Red Hat</org>
+		<link>http://www.redhat.com/</link>
+	</quote>	
+	<quote>
+		<text>"Scapa Technologies is planning to adopt Europa for a new product, Scapa ITSA, in the fall of 2007.  It will be built on the Eclipse platform and have as its core the B2J project in STP,  with elements built around JDT, GEF and BIRT.  Europa is the stable interoperable platform which makes it all work together."</text>
+		<image>/membership/members/org-images/scapatechlogo.gif</image>
+		<name>Mike Norman</name>
+		<position>CEO</position>
+		<org>Scapa Technologies</org>
+		<link>http://www.scapatech.com/</link>
+	</quote>
+	<quote>
+		<text>"As a longstanding, strategic and dedicated Member of the Eclipse Foundation, Sybase leverages the Eclipse platform for internal development of a number of commercially built products. The upcoming version of Sybase WorkSpace, a unified Eclipse-based application development environment, incorporates both a variety of projects and new technology features from the new Europa release.   The rich Eclipse ecosystem enables Sybase to deliver best-of-breed solutions to our customer base and the Eclipse community - a win-win for all."</text>
+		<image>/membership/members/org-images/sybaselogo.jpeg</image>
+		<name>John Graham</name>
+		<position>Project Lead - Eclipse Data Tools Platform</position>
+		<org>Sybase</org>
+		<link>http://www.sybase.com/</link>
+	</quote>
+	<quote>
+		<text>"The widespread, coordinated release of Eclipse Europa is a great achievement and will be fantastic for users. Webtide, the lead developers of the Jetty java web server, are excited to participate and look forward to bringing greater productivity to developers through the platform," </text>
+		<image>http://www.eclipse.org/membership/members/org-images/webtide.PNG</image>
+		<name>Adam Lieber</name>
+		<position>CEO</position>
+		<org>Webtide LLC.</org>
+		<link>http://www.webtide.com/</link>
+	</quote>										
+</quotes>
+		
\ No newline at end of file
diff --git a/scripts/quotes.php b/scripts/quotes.php
new file mode 100644
index 0000000..185c821
--- /dev/null
+++ b/scripts/quotes.php
@@ -0,0 +1,101 @@
+<?php
+
+class QuotesParser {
+ 	
+ 	var $quotesCatalog = array();
+ 	
+ 	var $insideItem = false;
+ 	var $tag = "";
+ 	var $text = "";
+ 	var $image = "";
+ 	var $name = "";
+ 	var $position = "";
+ 	var $org = "";
+ 	var $link = "";
+ 	
+ 	
+	function add_quote(& $quote) {
+		$this->quotesCatalog[] = $quote;
+	}
+ 	
+ 	
+ 	function startElement($parser, $tagName, $attribs)
+ 	{
+ 		global $insideItem, $tag;
+ 		if ($insideItem) {
+ 			$tag = $tagName;
+ 		}
+ 		elseif ($tagName = "QUOTE")
+ 		{
+ 			$insideItem = TRUE;
+ 		}
+ 	
+ 	}
+ 	
+ 	function endElement($parser, $tagName) 
+ 	{
+ 		global $quotesCatalog, $insideItem;
+
+ 		if ($tagName == "QUOTE")
+ 		{
+ 			$quotesTemp = array($this->text, $this->image, $this->name, $this->position, $this->org, $this->link);
+
+ 			$this->add_quote($quotesTemp);
+ 			$this->text = "";
+ 			$this->image = "";
+ 			$this->name = "";
+ 			$this->position = "";
+ 			$this->org = "";
+ 			$this->link = "";
+ 			$this->insideitem = FALSE;
+ 		}
+ 	}
+ 	
+ 	function characterData($parser, $data)
+ 	{
+ 		
+ 		global $insideItem, $tag;
+  		
+ 		if ($insideItem)
+ 		{
+ 			switch ($tag) {
+				case "TEXT":
+						$this->text .= $data;
+					break;
+				case "IMAGE":
+						$this->image .= $data;
+					break;
+				case "NAME":
+						$this->name .= $data;
+					break;
+				case "POSITION":
+						$this->position .= $data;
+					break;
+				case "ORG":
+						$this->org .= $data;
+					break;
+				case "LINK":
+						$this->link .= $data;
+					break;
+			}
+ 		}
+ 	} 
+ 	
+}
+ 	
+ 	$parser = xml_parser_create('');
+ 	$quotesParser = new QuotesParser();
+	xml_set_object($parser,&$quotesParser);
+	xml_set_element_handler($parser, "startElement", "endElement");
+	xml_set_character_data_handler($parser, "characterData"); 
+	
+	$fp = fopen ("quotes.xml", "r") or die ("File I/O Problem");
+	while ($data = fread($fp, 4096))
+	{
+		xml_parse($parser, $data, feof($fp)) or die("XML Error");
+	}
+	fclose ($fp);
+	xml_parser_free($parser);	
+	
+	
+?>