Skip to content
Browse files

init

  • Loading branch information...
0 parents commit 6e101ea966853cece629e80cc10626e21206c4f8 @nberardi nberardi committed Oct 8, 2012
Showing with 2,255 additions and 0 deletions.
  1. +102 −0 App_Code/PaymentNotificationHandler.cs
  2. +49 −0 App_Code/SendEmailHandler.cs
  3. +185 −0 App_Code/database.sql
  4. +30 −0 App_Code/log.sql
  5. BIN Bin/ManagedFusion.Rewriter.dll
  6. BIN Bin/ManagedFusion.Web.dll
  7. BIN Bin/ManagedFusion.dll
  8. +4 −0 LiveSearchSiteAuth.xml
  9. +97 −0 Standard.Master
  10. +68 −0 Web.config
  11. +42 −0 default.aspx
  12. BIN downloads/nicholas-berardi-resume.pdf
  13. BIN downloads/url-rewriter.zip
  14. +16 −0 error/default.aspx
  15. +16 −0 error/not-found.aspx
  16. BIN favicon.ico
  17. 0 googlef29a99e40c0a5987.html
  18. +1 −0 googlehostedservice.html
  19. BIN images/background.png
  20. BIN images/button.pdn
  21. BIN images/download-url-rewriter.png
  22. BIN images/header-slim.png
  23. BIN images/header.png
  24. BIN images/managed-fusion-banner.pdn
  25. BIN images/purchase-now-paypal.png
  26. +30 −0 info/contact-us.aspx
  27. +34 −0 info/default.aspx
  28. +32 −0 info/legal.aspx
  29. +16 −0 info/press.aspx
  30. +51 −0 jobs/default.aspx
  31. +1 −0 portfolio/default.aspx
  32. +5 −0 portfolio/foote-capital.aspx
  33. +6 −0 portfolio/la-weight-loss.aspx
  34. +25 −0 products/default.aspx
  35. +29 −0 products/download.aspx
  36. +38 −0 products/purchase.aspx
  37. +43 −0 products/thank-you.aspx
  38. +71 −0 products/url-rewriter/default.aspx
  39. +124 −0 products/url-rewriter/documentation.aspx
  40. +17 −0 products/url-rewriter/examples.aspx
  41. +17 −0 products/url-rewriter/features.aspx
  42. +91 −0 products/url-rewriter/license.aspx
  43. +145 −0 products/url-rewriter/release-notes.aspx
  44. +14 −0 rewriter.txt
  45. +1 −0 robots.txt
  46. +41 −0 scripts/form.js
  47. +32 −0 scripts/jquery-1.2.3.min.js
  48. +21 −0 services/default.aspx
  49. +30 −0 services/design.aspx
  50. +24 −0 services/marketing.aspx
  51. +42 −0 services/technology.aspx
  52. +60 −0 sitemap.xml
  53. +6 −0 staff/abdullah-katawazi.aspx
  54. +1 −0 staff/default.aspx
  55. +11 −0 staff/nick-berardi.aspx
  56. +439 −0 styles/screen.css
  57. +6 −0 thank-you.aspx
  58. +133 −0 xsd/ManagedFusionRewriterConfigurationSchema.xsd
  59. +9 −0 y_key_b09866b5e5a12523.html
102 App_Code/PaymentNotificationHandler.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Data;
+using System.Net;
+using System.Net.Mail;
+using System.IO;
+using System.Text;
+using System.Security.Cryptography;
+using System.Web;
+using System.Web.Configuration;
+using System.Collections.Specialized;
+
+/// <summary>
+/// Summary description for PaymentNotificationHandler
+/// </summary>
+public class PaymentNotificationHandler : IHttpHandler
+{
+ #region IHttpHandler Members
+
+ public bool IsReusable
+ {
+ get { return true; }
+ }
+
+ public void ProcessRequest(HttpContext context)
+ {
+ // read the original IPN post
+ string formValues = Encoding.ASCII.GetString(context.Request.BinaryRead(context.Request.ContentLength));
+ string requestFormValues = formValues + "&cmd=_notify-validate";
+
+ // create the pay pal request
+ HttpWebRequest payPalRequest = (HttpWebRequest)WebRequest.Create("https://www.paypal.com/cgi-bin/webscr");
+ payPalRequest.Method = "POST";
+ payPalRequest.ContentType = "application/x-www-form-urlencoded";
+ payPalRequest.ContentLength = requestFormValues.Length;
+
+ // write the request back IPN strings
+ using (StreamWriter writer = new StreamWriter(payPalRequest.GetRequestStream(), Encoding.ASCII))
+ {
+ writer.Write(requestFormValues);
+ writer.Close();
+ }
+
+ // send the request to pay pal
+ using (HttpWebResponse payPayResponse = (HttpWebResponse)payPalRequest.GetResponse())
+ {
+ // get the response from pay pal
+ using (Stream payPalResponseStream = payPayResponse.GetResponseStream())
+ {
+ // read the response from pay pal
+ using (StreamReader reader = new StreamReader(payPalResponseStream, Encoding.UTF8))
+ {
+ try
+ {
+ string ipnStatus = reader.ReadToEnd();
+ ulong testProductId = Convert.ToUInt64(context.Request.Form["item_number"]);
+
+ using (MailMessage message = new MailMessage())
+ {
+ message.To.Add(WebConfigurationManager.AppSettings["AdminEmail"]);
+ message.From = new MailAddress(WebConfigurationManager.AppSettings["ErrorEmail"], "Managed Fusion Support");
+
+ message.Body = String.Empty;
+ foreach (string key in context.Request.Params.Keys)
+ message.Body += String.Format("{0}: {1}" + Environment.NewLine, key, context.Request.Params[key]);
+
+ message.Subject = ipnStatus + " IPN";
+
+ SmtpClient smtp = new SmtpClient();
+ smtp.Send(message);
+ }
+ }
+ catch (Exception exc)
+ {
+ using (MailMessage message = new MailMessage())
+ {
+ message.To.Add(WebConfigurationManager.AppSettings["AdminEmail"]);
+ message.From = new MailAddress(WebConfigurationManager.AppSettings["ErrorEmail"], "Managed Fusion Support");
+
+ message.Body = exc.ToString();
+ message.Body += Environment.NewLine + "-------------------------------------------------------------------------" + Environment.NewLine;
+ foreach (string key in context.Request.Params.Keys)
+ message.Body += String.Format("{0}: {1}" + Environment.NewLine, key, context.Request.Params[key]);
+
+ message.Subject = "Error: " + exc.Message;
+
+ SmtpClient smtp = new SmtpClient();
+ smtp.Send(message);
+ }
+ }
+ finally
+ {
+ reader.Close();
+ payPalResponseStream.Close();
+ payPayResponse.Close();
+ }
+ }
+ }
+ }
+ }
+
+ #endregion
+}
49 App_Code/SendEmailHandler.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Net;
+using System.Net.Mail;
+using System.Web;
+using System.Web.Configuration;
+
+public class SendEmailHandler : IHttpHandler
+{
+ #region IHttpHandler Members
+
+ public bool IsReusable
+ {
+ get { return true; }
+ }
+
+ public void ProcessRequest(HttpContext context)
+ {
+ if (context.Request.Form["javascript-enabled"] != "true")
+ context.Response.Redirect(HttpStatusCode.Found, "http://spammerbegone.com");
+ else {
+ using (MailMessage message = new MailMessage())
+ {
+ string contactName = context.Request.Form["contact-name"];
+ string contactEmail = context.Request.Form["contact-email"];
+
+ message.To.Add(new MailAddress(WebConfigurationManager.AppSettings["InfoEmail"], "Managed Fusion"));
+ message.To.Add(new MailAddress(contactEmail, contactName));
+ message.From = new MailAddress(WebConfigurationManager.AppSettings["NoReplyEmail"], "Managed Fusion No Reply");
+ message.ReplyTo = new MailAddress(contactEmail, contactName);
+
+ message.Subject = "Web Site Information Request";
+ message.IsBodyHtml = false;
+ message.Body = "sent-at:" + Environment.NewLine + DateTime.Now.ToString("F") + Environment.NewLine + Environment.NewLine;
+ message.Body += "sent-from:" + Environment.NewLine + "managedfusion.com" + Environment.NewLine + Environment.NewLine;
+
+ foreach (string id in context.Request.Form.AllKeys)
+ message.Body += id + ":" + Environment.NewLine + context.Request.Form[id] + Environment.NewLine + Environment.NewLine;
+
+ SmtpClient smtp = new SmtpClient();
+ smtp.Send(message);
+ }
+
+ // redirect to form
+ context.Response.Redirect(HttpStatusCode.SeeOther, "/thank-you.aspx");
+ }
+ }
+
+ #endregion
+}
185 App_Code/database.sql
@@ -0,0 +1,185 @@
+-- MySQL Administrator dump 1.4
+--
+-- ------------------------------------------------------
+-- Server version 5.0.45-community-nt
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+
+
+--
+-- Create schema managedfusion
+--
+
+CREATE DATABASE IF NOT EXISTS managedfusion;
+USE managedfusion;
+
+--
+-- Definition of table `customer_purchases`
+--
+
+DROP TABLE IF EXISTS `customer_purchases`;
+CREATE TABLE `customer_purchases` (
+ `customer_purchase_id` int(10) unsigned NOT NULL auto_increment,
+ `customer_id` int(10) unsigned NOT NULL,
+ `product_id` smallint(5) unsigned NOT NULL,
+ `product_code` char(40) NOT NULL,
+ `purchase_date` datetime NOT NULL,
+ `purchase_quantity` int(10) unsigned NOT NULL,
+ `purchase_total` decimal(10,4) NOT NULL,
+ `purchase_fee` decimal(10,4) NOT NULL,
+ `date_created` datetime NOT NULL,
+ `date_updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`customer_purchase_id`),
+ KEY `FK_customer_purchases_products` (`product_id`),
+ KEY `FK_customer_purchases_customers` (`customer_id`),
+ CONSTRAINT `FK_customer_purchases_customers` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`customer_id`),
+ CONSTRAINT `FK_customer_purchases_products` FOREIGN KEY (`product_id`) REFERENCES `products` (`product_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `customer_purchases`
+--
+
+/*!40000 ALTER TABLE `customer_purchases` DISABLE KEYS */;
+INSERT INTO `customer_purchases` (`customer_purchase_id`,`customer_id`,`product_id`,`product_code`,`purchase_date`,`purchase_quantity`,`purchase_total`,`purchase_fee`,`date_created`,`date_updated`) VALUES
+ (1,1,1,'54AE35D9E6507CAFE3B8B6373D01A20C7FFDC498','2007-10-01 00:00:00',1,'0.0000','0.0000','2007-10-01 00:00:00','2007-12-16 19:39:01');
+/*!40000 ALTER TABLE `customer_purchases` ENABLE KEYS */;
+
+
+--
+-- Definition of table `customers`
+--
+
+DROP TABLE IF EXISTS `customers`;
+CREATE TABLE `customers` (
+ `customer_id` int(10) unsigned NOT NULL auto_increment,
+ `first_name` varchar(45) NOT NULL,
+ `last_name` varchar(45) NOT NULL,
+ `email` varchar(100) NOT NULL,
+ `date_created` datetime NOT NULL,
+ `date_updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`customer_id`),
+ UNIQUE KEY `Index_email` (`email`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `customers`
+--
+
+/*!40000 ALTER TABLE `customers` DISABLE KEYS */;
+INSERT INTO `customers` (`customer_id`,`first_name`,`last_name`,`email`,`date_created`,`date_updated`) VALUES
+ (1,'Nick','Berardi','nick@managedfusion.com','2007-06-19 00:00:00','2007-12-16 19:17:32');
+/*!40000 ALTER TABLE `customers` ENABLE KEYS */;
+
+
+--
+-- Definition of table `products`
+--
+
+DROP TABLE IF EXISTS `products`;
+CREATE TABLE `products` (
+ `product_id` smallint(5) unsigned zerofill NOT NULL,
+ `name` varchar(45) NOT NULL,
+ `registration_key` char(32) NOT NULL,
+ `date_created` datetime NOT NULL,
+ `date_updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ PRIMARY KEY (`product_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `products`
+--
+
+/*!40000 ALTER TABLE `products` DISABLE KEYS */;
+INSERT INTO `products` (`product_id`,`name`,`registration_key`,`date_created`,`date_updated`) VALUES
+ (00001,'Managed Fusion URL Rewriter','3ab274ef6874007b5ec5aca2bcc9e92','2007-12-16 19:10:07','2007-12-16 19:18:29');
+/*!40000 ALTER TABLE `products` ENABLE KEYS */;
+
+
+--
+-- Definition of procedure `set_purchase`
+--
+
+DROP PROCEDURE IF EXISTS `set_purchase`;
+
+DELIMITER $$
+
+/*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER' */ $$
+CREATE DEFINER=`root`@`localhost` PROCEDURE `set_purchase`(
+ first_name varchar(45),
+ last_name varchar(45),
+ email varchar(100),
+ product_id smallint unsigned,
+ product_code char(40),
+ purchase_date datetime,
+ purchase_quantity int,
+ purchase_total decimal(10,4),
+ purchase_fee decimal(10,4),
+ out customer_id int unsigned,
+ out customer_purchase_id int unsigned
+)
+BEGIN
+
+-- insert customer if needed
+insert into customers (
+ first_name,
+ last_name,
+ email,
+ date_created
+) values (
+ first_name,
+ last_name,
+ email,
+ now()
+) on duplicate key update
+ first_name = values(first_name),
+ last_name = values(last_name),
+ email = values(email);
+
+-- get customer id
+select customer_id = c.customer_id from customers c where c.email = email;
+
+-- insert customer purchase
+insert into customer_pruchases (
+ customer_id,
+ product_id,
+ product_code,
+ purchase_date,
+ purchase_quanity,
+ purchase_total,
+ purchase_fee
+) values (
+ customer_id,
+ product_id,
+ product_code,
+ purchase_date,
+ purchase_quanity,
+ purchase_total,
+ purchase_fee
+);
+
+-- get customer purchase id
+select customer_purchase_id = p.customer_purchase_id from customer_purchases p where p.customer_id = customer_id and p.purchase_id = purchase_id order by date_created desc limit 0, 1;
+
+END $$
+/*!50003 SET SESSION SQL_MODE=@TEMP_SQL_MODE */ $$
+
+DELIMITER ;
+
+
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
30 App_Code/log.sql
@@ -0,0 +1,30 @@
+--
+-- Definition of table `log`
+--
+
+DROP TABLE IF EXISTS `websites_log`.`log`;
+CREATE TABLE `websites_log`.`log` (
+ `id` bigint(20) unsigned NOT NULL auto_increment,
+ `request_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+ `process_time` double NOT NULL,
+ `method` varchar(10) NOT NULL,
+ `status` int(11) NOT NULL,
+ `host` varchar(255) default NULL,
+ `content_type` varchar(45) default NULL,
+ `request_uri` varchar(1000) default NULL,
+ `response_uri` varchar(1000) default NULL,
+ `redirect_uri` varchar(1000) default NULL,
+ `referrer` varchar(1000) default NULL,
+ `user_agent` varchar(1000) default NULL,
+ `address` varchar(1000) default NULL,
+ `address_ip` varchar(15) default NULL,
+ PRIMARY KEY (`id`),
+ KEY `Index_host` (`host`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `log`
+--
+
+/*!40000 ALTER TABLE `log` DISABLE KEYS */;
+/*!40000 ALTER TABLE `log` ENABLE KEYS */;
BIN Bin/ManagedFusion.Rewriter.dll
Binary file not shown.
BIN Bin/ManagedFusion.Web.dll
Binary file not shown.
BIN Bin/ManagedFusion.dll
Binary file not shown.
4 LiveSearchSiteAuth.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<users>
+ <user>C896497A1C794A6E84CD4BF13E87905C</user>
+</users>
97 Standard.Master
@@ -0,0 +1,97 @@
+<%@ Master Language="C#" %>
+<script type="text/C#" runat="server">
+ protected string HeaderType
+ {
+ get
+ {
+ if (Request.Path != "/" && Request.Path.ToLower() != "/default.aspx")
+ return @" class=""slim""";
+
+ return String.Empty;
+ }
+ }
+
+ private string _keywords;
+
+ public string Keywords
+ {
+ get { return _keywords; }
+ set { _keywords = value; }
+ }
+
+</script>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head id="head" runat="server">
+ <title>Managed Fusion - technology, marketing, and design</title>
+
+ <link rel="openid.server"
+ href="http://www.myopenid.com/server" />
+ <link rel="openid.delegate"
+ href="http://nberardi.myopenid.com/" />
+ <link rel="openid2.local_id"
+ href="http://nberardi.myopenid.com" />
+ <link rel="openid2.provider"
+ href="http://www.myopenid.com/server" />
+ <meta http-equiv="X-XRDS-Location"
+ content="http://www.myopenid.com/xrds?username=nberardi.myopenid.com" />
+
+ <meta name="description" content="At Managed Fusion we beleive in taking a holistic approach in fusing your technology, marketing, and design needs together in to a solution that works." />
+ <meta name="keywords" content="managed fusion nick berardi technology marketing design urlrewriter" />
+ <meta name="robots" content="index, follow" />
+
+ <meta property="fb:page_id" content="112636492123210" />
+ <meta property="fb:admins" content="588115619" />
+
+ <link type="text/css" media="screen" href="/styles/screen.css" rel="stylesheet" />
+</head>
+<body>
+<div id="header"<%= HeaderType %>>
+ <h1>Managed Fusion</h1>
+ <h2>Fusing technology, marketing, and design.</h2>
+ <a href="/default.aspx" rel="index">&nbsp;</a>
+</div>
+
+<div id="navigation">
+ <ul>
+ <li><a href="/info/" rel="info">About Us</a></li>
+ <li><a href="/products/" rel="section">Products</a></li>
+ <li><a href="/services/" rel="section">Services</a></li>
+ <li><a href="http://www.coderjournal.com/">Blog</a></li>
+ <li><a href="/resume/" onclick="pageTracker._trackPageview('/downloads/nicholas-berardi-resume.pdf');">Resume</a></li>
+<%-- <li><a href="/products/purchase.aspx" rel="buy">Purchase</a></li>--%>
+ </ul>
+ <asp:ContentPlaceHolder ID="subMenuContent" runat="server" />
+</div>
+
+<div id="content">
+ <asp:ContentPlaceHolder ID="preMainContent" runat="server" />
+
+ <div id="main-content">
+ <asp:ContentPlaceHolder ID="mainContent" runat="server" />
+ </div>
+
+ <asp:ContentPlaceHolder ID="postMainContent" runat="server" />
+</div>
+
+<div id="footer">
+ <a href="/info/legal.aspx" rel="copyright">&copy; <%= DateTime.Today.Year %> Managed Fusion, LLC</a><br />
+ <span class="link-break">[</span><a href="/jobs/" rel="jobs">Join Managed Fusion</a><span class="link-break">|</span><a href="/info/contact-us.aspx" rel="subsection">Contact Us</a><span class="link-break">|</span><a href="/info/press.aspx" rel="subsection">Press Releases</a><span class="link-break">]</span>
+</div>
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-93110-1");
+pageTracker._initData();
+pageTracker._trackPageview();
+</script>
+<script type="text/javascript">
+ reverseAnalytics = { profileId: "1001" };
+</script>
+<script type="text/javascript" src="http://www.reverseanalytics.com/mfra.js"></script>
+</body>
+</html>
68 Web.config
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+ <configSections>
+ <section name="managedFusion.rewriter" type="ManagedFusion.Rewriter.Configuration.ManagedFusionRewriterSectionGroup" />
+ </configSections>
+
+ <managedFusion.rewriter xmlns="http://managedfusion.com/xsd/managedFusion/rewriter">
+ <rules engine="Apache">
+ <apache defaultFileName="rewriter.txt" />
+ </rules>
+ </managedFusion.rewriter>
+
+ <appSettings>
+ <add key="AdminEmail" value="nick@managedfusion.com" />
+ <add key="SalesEmail" value="sales@managedfusion.com" />
+ <add key="SupportEmail" value="support@managedfusion.com" />
+ <add key="InfoEmail" value="info@managedfusion.com" />
+ <add key="ErrorEmail" value="error@managedfusion.com" />
+ <add key="NoReplyEmail" value="noreply@managedfusion.com" />
+ </appSettings>
+
+ <system.web>
+ <compilation debug="false" defaultLanguage="c#" />
+
+ <customErrors mode="RemoteOnly" defaultRedirect="/error/">
+ <error statusCode="404" redirect="/error/not-found.aspx" />
+ </customErrors>
+
+ </system.web>
+
+ <system.net>
+ <mailSettings>
+ <smtp deliveryMethod="Network">
+ <network host="localhost" />
+ </smtp>
+ </mailSettings>
+ <!-- defaultProxy>
+ <proxy proxyaddress="http://127.0.0.1:8888" />
+ </defaultProxy -->
+ </system.net>
+
+ <system.webServer>
+ <handlers>
+ <add name="SendEmail" verb="POST" path="/send-email.ashx" type="SendEmailHandler" resourceType="Unspecified" />
+ <add name="PaymentNotification" verb="POST" path="/products/payment-notification.ashx" type="PaymentNotificationHandler" />
+ </handlers>
+ <rewrite>
+ <rules>
+ <rule name="CanonicalHostNameRule1">
+ <match url="(.*)" />
+ <conditions>
+ <add input="{HTTP_HOST}" pattern="^managedfusion\.com$" negate="true" />
+ </conditions>
+ <action type="Redirect" url="http://managedfusion.com/{R:1}" />
+ </rule>
+ <rule name="Rewriter XSD">
+ <match url="xsd/managedFusion/rewriter" />
+ <action type="Rewrite" url="xsd/ManagedFusionRewriterConfigurationSchema.xsd" />
+ </rule>
+ <rule name="Resume" stopProcessing="true">
+ <match url="resume/?" />
+ <action type="Redirect" url="http://careers.stackoverflow.com/cv/837/export/pdf-preview" redirectType="Found" />
+ </rule>
+ </rules>
+ </rewrite>
+ </system.webServer>
+
+</configuration>
42 default.aspx
@@ -0,0 +1,42 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion" %>
+
+<asp:Content ID="Content2" ContentPlaceHolderID="preMainContent" runat="server">
+ <div id="company-news">
+ <h2>Url Rewriter News</h2>
+ <p>We are proud to announce the first release of Url Rewriter, a fully functioning Url Rewriting engine that contains full support for Apache mod_rewrite syntax. Url Rewriter provides .NET Web Applications with the ability to replace your querystring URLs into short, memorable and meaningful links.</p>
+ <ul>
+ <li><a href="/products/url-rewriter/">Learn More</a></li>
+ <li><a href="/products/download.aspx#url-rewriter">Download</a></li>
+ <li><a href="/products/url-rewriter/release-notes.aspx">Release Notes</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
+
+<asp:Content ID="Content3" ContentPlaceHolderID="mainContent" runat="server">
+ <h1>Welcome to Managed Fusion...</h1>
+
+ <p id="about-company">... we are here to deliver world class professional solutions for you and your company. At Managed Fusion we beleive in taking a holistic approach in fusing your technology, marketing, and design needs together in to a solution that works.</p>
+</asp:Content>
+
+<asp:Content ID="Content4" ContentPlaceHolderID="postMainContent" runat="server">
+ <div id="columns">
+ <div id="products-column" class="main-column">
+ <h2>Products</h2>
+ <p>Our products were born out of the necessity and the need to support our services division. Because of the lack of support, in ASP.NET, for many of the common features web developers have come to know and love. Such as our popular <a href="/products/url-rewriter/">Url Rewriter</a> that is fully Apache mod_rewrite complient.</p>
+ <p><a href="/products/">more</a></p>
+ </div>
+
+ <div id="services-column" class="main-column">
+ <h2>Services</h2>
+ <p>We provide Marketing, Technology, and Design services. Specializing in search engine optimization (SEO) of your organizations website to help increase your page rank and traffic to your website.</p>
+ <p><a href="/services/">more</a></p>
+ </div>
+
+ <div id="portfolio-column" class="main-column">
+ <h2>About Us</h2>
+ <p>Managed Fusion is a leading information technology consulting firm serving clients throughout the United States. Our clients are some of the best-run businesses in the world in manufacturing, distribution, retail, financial services and insurance industries. Managed Fusions' consultants and staff are experts in designing, building, marketing and delivering business-driven technology solutions.</p>
+ <p><a href="/info/">more</a></p>
+ </div>
+ </div>
+</asp:Content>
BIN downloads/nicholas-berardi-resume.pdf
Binary file not shown.
BIN downloads/url-rewriter.zip
Binary file not shown.
16 error/default.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Error Occured" %>
+
+<script type="text/C#" runat="server">
+ protected override void OnPreInit(EventArgs e)
+ {
+ Response.StatusCode = 500;
+ Response.StatusDescription = "Internal Server Error";
+
+ base.OnPreInit(e);
+ }
+</script>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Error Occured</h1>
+<p>The website administrator has been alerted of this error.</p>
+</asp:Content>
16 error/not-found.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Page Not Found" %>
+
+<script type="text/C#" runat="server">
+ protected override void OnPreInit(EventArgs e)
+ {
+ Response.StatusCode = 404;
+ Response.StatusDescription = "Not Found";
+
+ base.OnPreInit(e);
+ }
+</script>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Page Not Found</h1>
+<p>The website administrator has been alerted of this missing page.</p>
+</asp:Content>
BIN favicon.ico
Binary file not shown.
0 googlef29a99e40c0a5987.html
No changes.
1 googlehostedservice.html
@@ -0,0 +1 @@
+google63bb09760a3335d9
BIN images/background.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN images/button.pdn
Binary file not shown.
BIN images/download-url-rewriter.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN images/header-slim.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN images/header.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN images/managed-fusion-banner.pdn
Binary file not shown.
BIN images/purchase-now-paypal.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 info/contact-us.aspx
@@ -0,0 +1,30 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Contact Us" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<form id="send-email" method="post" action="/send-email.ashx">
+
+<h1>Contact Managed Fusion</h1>
+
+<label>To:</label>
+<address>Managed Fusion, LLC
+Phoenixville, PA
+<a href="tel:4843020125">(484) 302-0125</a></address>
+
+<label for="contact-name">From (Your Name):</label><br />
+<input type="text" id="contact-name" name="contact-name" class="input" /><br />
+
+<label for="contact-email">E-Mail:</label><br />
+<input type="text" id="contact-email" name="contact-email" class="input" /><br />
+
+<label for="contact-phone">Phone Number:</label><br />
+<input type="text" id="contact-phone" name="contact-phone" class="input" /><br />
+
+<label for="contact-message">Message:</label><br />
+<textarea id="contact-message" name="contact-message" rows="3" cols="20" class="input"></textarea><br />
+
+<button type="submit">Send Message</button>
+</form>
+
+<script type="text/javascript" src="/scripts/jquery-1.2.3.min.js"></script>
+<script type="text/javascript" src="/scripts/form.js"></script>
+</asp:Content>
34 info/default.aspx
@@ -0,0 +1,34 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > About Us" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>About Us</h1>
+<p>Managed Fusion is a leading information technology consulting firm serving clients throughout
+ the United States. Our clients are some of the best-run businesses in the world in manufacturing,
+ distribution, retail, financial services and insurance industries. Managed Fusions' consultants
+ and staff are experts in designing, building, marketing and delivering business-driven technology
+ solutions. We help our clients gain a competitive advantage by using internet-based technologies
+ to make their businesses more responsive to market opportunities and threats, strengthen relationships
+ with customers, suppliers and partners, improve productivity and reduce information technology costs.</p>
+<p>Managed Fusion prides it self in providing solutions to our clients that are both flexible
+ and make a powerful impact on their day-to-day operations. In fact the name Managed Fusion
+ came from a core belief of the founder, Nicholas Berardi, that solutions provided to clients
+ must grow with their business (Managed) and effortlessly bring together business stake
+ holders (Fusion). We take this to heart and it has been possible because of our focus on good
+ design principals, and a quality assessment
+ of the goals that our clients provide us. We pride
+ our selves on not under bidding projects only to make the money back through change orders.
+ Our people take it as a personal goal to do their homework up front so their are no surprises during the project. A smoothly executed project is a successful project.</p>
+<p>Our people are the best because they have a passion to be on the cutting edge of technology and
+ marketing trends. This passion has helped us deliver cutting edge solutions to our clients that
+ have reduced costs and given them an edge over their competitors.</p>
+<p>We specialize in the design of cutting edge retail point of sale applications, e-commerce applications,
+ and content management systems. However that is not where our expertise
+ stops, we also provide search engine marketing and optimization, interactive web
+ site design, web site analytics and tracking, brand integration, information architecture
+ and design, and <a href="/services/">much much more</a> all of a price that will be our competitors.</p>
+<p>As a cornerstone to our philosophy, "make every customer happy every day", Managed Fusion management
+ and staff value our long lasting relationships with our clients. All of our clients are satisfied
+ customers and we aim to keep it that way. We believe this reflects our commitment to quality and
+ the long-term partnerships we have with our clients.</p>
+<p>If you would like to find more about how Managed Fusion fits in to your current business needs please feel free to <a href="contact-us.aspx">contact us</a>.</p>
+</asp:Content>
32 info/legal.aspx
@@ -0,0 +1,32 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Privacy Policy" %>
+
+<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="mainContent">
+
+<div class="page-updated">Wednesday, June, 27th, 2007</div>
+<h1>Privacy Policy</h1>
+
+<p>Managed Fusion is committed to protecting your privacy. Please read the following Managed Fusion Privacy
+Statement for our website.</p>
+
+<p>This Privacy Statement applies to data collected by Managed Fusion through this Site and services; it does
+not apply to data collected through other sites that are linked to from this Site. Other sites and
+services linked to or from this Site are governed by their own privacy statements which should be
+viewed before proceeding.</p>
+
+<p>Managed Fusion is committed to protecting the security of the personal information you provide. We use a
+variety of security technologies and procedures to help protect your personal information from
+unauthorized access, use, or disclosure. For example, we store the personal information you
+provide on computer systems with limited access, which are located in controlled facilities.</p>
+
+<p>In some cases, we may collect non-personal information. Examples of this type of information
+include the type of internet browser you are using, the type of computer operating system
+application software and peripherals you are using and the domain name of the Site from which
+you linked to our Site. We use your information on an aggregated basis to do such things as
+operate our Site and enhance our Site.</p>
+
+<p>If you have questions regarding this statement, you should first contact Managed Fusion by clicking <a href="contact-us.aspx">here</a>.
+Managed Fusion may update or change this privacy policy at any time and such changes will become
+effective immediately unless otherwise stated. This Privacy Policy page will state the date it was
+last updated and we invite you to review this page whenever you use this Site.</p>
+
+</asp:Content>
16 info/press.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Press" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Press Releases</h1>
+
+<div class="date">Monday, August 24, 2007</div>
+<h2>Url Rewriter Release 1.0</h2>
+<p>We are proud to announce the first release of Url Rewriter, a fully functioning Url Rewriting engine that contains full support for Apache mod_rewrite syntax. Url Rewriter provides .NET Web Applications with the ability to replace your querystring URLs into short, memorable and meaningful links.</p>
+<ul>
+ <li><a href="/products/url-rewriter/">Learn More</a></li>
+ <li><a href="/products/download.aspx#url-rewriter">Download</a></li>
+ <li><a href="/products/url-rewriter/release-notes.aspx">Release Notes</a></li>
+ <li><a href="/products/purchase.aspx#url-rewriter">Purchase</a></li>
+</ul>
+
+</asp:Content>
51 jobs/default.aspx
@@ -0,0 +1,51 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Jobs" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<form id="send-email" method="post" action="/send-email.ashx">
+<input type="hidden" id="authorized" name="authorized" value="" />
+
+<h1>Join Managed Fusion</h1>
+
+<label>To:</label>
+<address>Managed Fusion, LLC
+Phoenixville, PA 19460-3377
+</address>
+
+<label for="contact-name">Applicant's Name:</label><br />
+<input type="text" id="contact-name" name="contact-name" class="input" /><br />
+
+<label for="contact-email">E-Mail:</label><br />
+<input type="text" id="contact-email" name="contact-email" class="input" /><br />
+
+<label for="contact-phone">Phone Number:</label><br />
+<input type="text" id="contact-phone" name="contact-phone" class="input" /><br />
+
+<label for="career-type">Type of career seeking with Managed Fusion:</label><br />
+<select id="career-type" name="career-type" class="input">
+ <optgroup label="Business">
+ <option value="business-sales">Business Development</option>
+ </optgroup>
+ <optgroup label="Technology">
+ <option value="technology-csharp">C# Developer</option>
+ <option value="technology-java">Java Developer</option>
+ </optgroup>
+ <optgroup label="Marketing">
+ <option value="marketing-search-engine">Search Engine</option>
+ <option value="marketing-print">Print</option>
+ </optgroup>
+ <optgroup label="Design">
+ <option value="design-graphics">Graphics</option>
+ <option value="design-web">Web</option>
+ </optgroup>
+</select><br />
+
+<label for="contact-message">Why you would want to work at Managed Fusion:</label><br />
+<textarea id="contact-message" name="contact-message" rows="3" cols="20" class="input"></textarea><br />
+
+<button type="submit">Send Message</button>
+</form>
+
+<script type="text/javascript" src="/scripts/jquery-1.2.3.min.js"></script>
+<script type="text/javascript" src="/scripts/form.js"></script>
+</asp:Content>
+
1 portfolio/default.aspx
@@ -0,0 +1 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Portfolio" %>
5 portfolio/foote-capital.aspx
@@ -0,0 +1,5 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Portfolio > Foote Capital" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Foote Capital</h1>
+</asp:Content>
6 portfolio/la-weight-loss.aspx
@@ -0,0 +1,6 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Portfolio > LA Weight Loss" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>LA Weight Loss</h1>
+</asp:Content>
+
25 products/default.aspx
@@ -0,0 +1,25 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products" %>
+
+<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="/products/url-rewriter/" rel="subsection">Url Rewriter</a></li>
+ <li><a href="download.aspx" rel="download">Download</a></li>
+ </ul>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+<h1>Products</h1>
+
+<ul id="products">
+
+<li>
+<a id="url-rewriter"></a>
+<div class="header-links"><span class="link-break">[</span><a href="download.aspx#url-rewriter" title="Download Managed Fusion Url Rewriter" rel="download">Download</a><span class="link-break">]</span></div>
+<h2>Url Rewriter</h2>
+<p>Managed Fusion Url Rewriter is a powerful URL manipulation engine based on the <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">Apache mod_rewrite</a> extention. It is designed specifically for ASP.NET and runs on Microsoft's Internet Information Server (IIS) and Mono XPS Server and is fully supported in IIS 7.0. Managed Fusion Url Rewriter gives you the freedom to go beyond the standard URL schemes and develop your own scheme.</p>
+<p><a href="/products/url-rewriter/">Find Out More</a></p>
+</li>
+
+</ul>
+
+</asp:Content>
29 products/download.aspx
@@ -0,0 +1,29 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Download" %>
+
+<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="/products/url-rewriter/" rel="subsection">Url Rewriter</a></li>
+ <li><a href="download.aspx" rel="download">Download</a></li>
+ </ul>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+
+<h1>Product Downloads</h1>
+
+<ul id="products">
+
+<li>
+<a id="url-rewriter"></a>
+<div class="header-links"><span class="link-break">[</span><a href="/products/url-rewriter/release-notes.aspx" rel="notes">Release Notes</a><span class="link-break">|</span><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" title="Download Managed Fusion Url Rewriter" onclick="pageTracker._trackPageview('/downloads/codeplex/url-rewriter.zip');">Download</a><span class="link-break">]</span></div>
+<h2>Url Rewriter</h2>
+<p>
+<span class="date">Sunday, June 6, 2009</span><br />
+<span class="info">Version 3.0</span><br />
+<a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" title="Download Managed Fusion Url Rewriter" onclick="pageTracker._trackPageview('/downloads/codeplex/url-rewriter.zip');">Download</a>
+</p>
+</li>
+
+</ul>
+
+</asp:Content>
38 products/purchase.aspx
@@ -0,0 +1,38 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Purchase" %>
+
+<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="/products/url-rewriter/" rel="subsection">Url Rewriter</a></li>
+ <li><a href="download.aspx" rel="download">Download</a></li>
+ </ul>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+<h1>Purchase Products</h1>
+
+<ul id="products">
+
+<li>
+<h2>Url Rewriter</h2>
+<a id="url-rewriter"></a>
+<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+<input type="hidden" name="cmd" value="_s-xclick" />
+<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" onclick="pageTracker._trackPageview('/outgoing/pay-pal/url-rewriter/');" />
+<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----" />
+</form>
+
+<p>
+<span class="price">$20.00</span><br />
+<span class="info">License is for 1 domain or 1 developer.</span>
+</p>
+</li>
+
+</ul>
+
+</asp:Content>
+
+<%--<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
+<input type="hidden" name="cmd" value="_s-xclick" />
+<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" />
+<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----" />
+</form>--%>
43 products/thank-you.aspx
@@ -0,0 +1,43 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Thank You" %>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+
+<h1>Thank You</h1>
+<p>Thank you for your purchase. You will receive an e-mail with your registration code in your e-mail box, of the e-mail you used to purchase this product.</p>
+
+</asp:Content>
+
+<asp:Content ID="Content4" runat="server" ContentPlaceHolderID="postMainContent">
+<!-- Google Code for purchase Conversion Page -->
+<script language="javascript" type="text/javascript">
+<!--
+ var google_conversion_id = 1064792038;
+ var google_conversion_language = "en_US";
+ var google_conversion_format = "1";
+ var google_conversion_color = "666666";
+ if (1) {
+ var google_conversion_value = 1;
+ }
+ var google_conversion_label = "purchase";
+//-->
+</script>
+<script language="javascript" type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>
+<noscript>
+ <img height="1" width="1" alt="Google Ad Services" src="http://www.googleadservices.com/pagead/conversion/1064792038/imp.gif?value=1&label=purchase&script=0" />
+</noscript>
+</asp:Content>
+
+<%--
+<div style="display:none;">
+<form id="utmform" name="utmform">
+<textarea id="utmtrans" rows="2" cols="30">
+UTM:T|[order-id]|[affiliation]|[total]|[tax]|[shipping]|[city]|[state]|[country]
+UTM:I|[order-id]|[sku/code]|[productname]|[category]|[price]|[quantity]
+</textarea>
+</form>
+
+<script type="text/javascript">
+ __utmSetTrans();
+</script>
+</div>
+ --%>
71 products/url-rewriter/default.aspx
@@ -0,0 +1,71 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Url Rewriter" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+
+ <a href="/products/download.aspx#url-rewriter" rel="download"><img class="button" src="/images/download-url-rewriter.png" alt="Download Now: a FREE 5 rule evaluation" /></a>
+ <!-- <a href="/products/purchase.aspx#url-rewriter" rel="buy"><img class="button" src="/images/purchase-now-paypal.png" alt="Purchase Now: using PayPal" /></a> -->
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+<h1>Url Rewriter</h1>
+<p>Managed Fusion URL Rewriter is a powerful URL manipulation engine based on the <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">Apache mod_rewrite</a>
+ extension. It is designed, from the ground up to bring all the features of
+ Apache mod_rewrite to IIS 6.0 and IIS 7.0. Managed Fusion Url Rewriter works
+ with ASP.NET on Microsoft&#39;s Internet Information Server (IIS) 6.0 and Mono XPS
+ Server and is fully supported, for all languages, in IIS 7.0, including ASP.NET
+ and PHP. Managed Fusion Url Rewriter gives you the freedom to go beyond the
+ standard URL schemes and develop your own scheme.</p>
+
+<p>URL Rewriter provides web site owners with the ability to replace URL paths and querystring into links that your users can easily remember
+ without the need for bookmarks. As an added benefit your web site becomes search engine friendly, which means higher page ranking from the search engines,
+ and should result in better lead generation.</p>
+
+<h2>Advantages</h2>
+
+<ul>
+ <li>Developed by my company but unlimited <strong>FREE use for everybody</strong>.</li>
+ <li>Full .NET 2.0, 3.0, and 3.5 support.</li>
+ <li>Full support for IIS 6.0 and IIS 7.0 (including integrated pipelines).</li>
+ <li>Fully functional Proxy and Reverse Proxy integrated in at no extra cost.</li>
+ <li>Full support for Mono XPS, and the integrated Visual Studio Web Development Server, two things that ISAPI_Rewrite and Ionic Rewriter cannot claim.</li>
+ <li>Create short URLs that are easy for your users to remember.</li>
+ <li>Structure your site for search engine readability.</li>
+ <li>Hide the implementation of your URL from the URL that is displayed to the user.</li>
+ <li>Provides easy implementation for standardizing your web site to help in SEO efforts.</li>
+ <li>Block hot linking of your sites content, very useful for sites that steal your images and consume your bandwidth for their gain.</li>
+ <li>Proxy content of one site into directory on another site.</li>
+ <li>Create a gateway server that brings together all your companies proprietary web application under one standardized schema through the proxy feature.</li>
+ <li>Create dynamic host-header based sites using a single physical site.</li>
+ <li>Change your ASP.NET file extensions to other extensions (i.e. .html). This also helps in migrating old CGI technology to ASP.NET, without changing your URL structure.</li>
+ <li>Return a browser-dependent content even for static files.</li>
+</ul>
+
+<h2>How does it work?</h2>
+
+<p>Managed Fusion Url Rewriter is an HttpModule for the Microsoft ASP.NET Web
+ Framework, or IIS 7.0 Integrated Pipeline. All rules are managed in a plain text
+ using Apache mod_rewrite syntax.&nbsp; </p>
+ <p>These rules provide the web request a way to validate how the requesting friendly
+ URL should be handled. Managed Fusion Url Rewriter does its best to find a
+ matching rule for the friendly URL, if found, the request is rewritten to
+ something your application understands or an HTTP redirect, to a different url,
+ is sent back to the client depending on the actions given to the rule.</p>
+ <p>The result is a friendly and clean URL that completely masks your file structure
+ from the client.</p>
+
+<p><strong>Unlike other existing URL rewriting process, Managed Fusion Url Rewrite is entirely masking the old URL so ASP.NET Form Postbacks are fully supported by this component and it uses the common Apache mod_rewrite syntax that is so popular with PHP, Cold Fusion, and Ruby.</strong></p>
+
+</asp:Content>
124 products/url-rewriter/documentation.aspx
@@ -0,0 +1,124 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Url Rewriter > Documentation" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+<h1>Documentation</h1>
+
+<ul id="products">
+
+<li>
+<h2>1. Getting Started</h2>
+
+<ol>
+<li><p>To get started with Managed Fusion Url Rewriter you need to integrate the following configuration settings
+ in to your web.config file.</p>
+
+<pre class="csharpcode">
+ <span class="rem">&lt;!-- Integrate the following in to the &lt;configuration&gt; tag --&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">configSections</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">section</span> <span class="attr">name</span><span class="kwrd">="managedFusion.rewriter"</span> <span class="attr">type</span><span class="kwrd">="ManagedFusion.Rewriter.Configuration.ManagedFusionRewriterSectionGroup"</span><span class="kwrd">/&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">configSections</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">managedFusion.rewriter</span> xmlns="http://managedfusion.com/xsd/managedFusion/rewriter"<span class="kwrd">&gt;</span>
+ <span class="rem">&lt;!--</span>
+<span class="rem"> This is just a minimal sample configuration file that shows how to declare</span>
+<span class="rem"> the configuration sections.</span>
+<span class="rem"> </span>
+<span class="rem"> Because an XML Schema Definition (XSD) is generated for each configuration</span>
+<span class="rem"> section, it should be trivial to edit these files because you have</span>
+<span class="rem"> IntelliSense on the XML definition.</span>
+<span class="rem"> --&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">managedFusion.rewriter</span><span class="kwrd">&gt;</span></pre>
+ <h3>For IIS 5/6:</h3>
+<pre class="csharpcode">
+ <span class="rem">&lt;!-- Integrate the following in to the &lt;system.web&gt;/&lt;httpModules&gt; tag --&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">system.web</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">httpModules</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="RewriterModule"</span> <span class="attr">type</span><span class="kwrd">="ManagedFusion.Rewriter.RewriterModule, ManagedFusion.Rewriter"</span><span class="kwrd">/&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">httpModules</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">system.web</span><span class="kwrd">&gt;</span></pre>
+ <h3>For IIS 7:</h3>
+<pre class="csharpcode">
+ <span class="rem">&lt;!-- Integrate the following in to the &lt;system.webServer&gt; tag --&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">system.webServer</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">validation</span> <span class="attr">validateIntegratedModeConfiguration</span><span class="kwrd">="false"</span><span class="kwrd">/&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">modules</span> <span class="attr">runAllManagedModulesForAllRequests</span><span class="kwrd">="true"</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="RewriterModule"</span> <span class="attr">type</span><span class="kwrd">="ManagedFusion.Rewriter.RewriterModule, ManagedFusion.Rewriter"</span><span class="kwrd">/&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">modules</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">handlers</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="RewriterProxyHandler"</span> <span class="attr">preCondition</span><span class="kwrd">="integratedMode"</span> <span class="attr">verb</span><span class="kwrd">="*"</span> <span class="attr">path</span><span class="kwrd">="RewriterProxy.axd"</span> <span class="attr">type</span><span class="kwrd">="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"</span><span class="kwrd">/&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">handlers</span><span class="kwrd">&gt;</span>
+ <span class="kwrd">&lt;/</span><span class="html">system.webServer</span><span class="kwrd">&gt;</span></pre></li>
+<li>And add the following files to your web application /bin directory.
+
+ <ol style="list-style-type: lower-alpha">
+ <li>ManagedFusion.Rewriter.dll</li>
+ <li>ManagedFusion.Rewriter.pdb</li></ol></li>
+
+<li>And create a rules file named 'ManagedFusion.Rewriter.rules' (which is just a plain text file)
+ If you are converting your Apache rules over from .htaccess then you just need to copy everything between
+ the &lt;IfModule mod_rewrite.c&gt; ... &lt;/IfModule&gt; tags in your .htaccess file.</li>
+</ol>
+<h2>2. Available Rules</h2>
+
+<p>All the following rules defined at <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html" target="_blank">http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html</a> are supported.</p>
+
+<ol><li>RewriteBase</li>
+<li>RewriteCond</li>
+<li>RewriteEngine</li>
+<li>RewriteRule</li>
+<li>RewriteLog</li>
+<li>RewriteLogLevel</li>
+</ol>
+
+<h2>3. Enabling wildcards pages in IIS 5/6</h2>
+
+<p>If you are using IIS 5 or 6 then you will want to enable wildcards to gain the full functionality of the Managed Fusion Url Rewriter,
+you can do so by adding a new application mapping to your websites IIS settings. You should note that if you use the server built in
+to Visual Studio or you use IIS 7 you do not need to follow these directions.</p>
+
+<p>** This solution works only if your website is using ASP.NET server pages and not mixing with other dynamic server pages such as ASP and PHP.</p>
+
+<h3>The following instructions apply for IIS 5.</h3>
+
+<ol><li>Open IIS and right-click on the website and select 'properties'.</li>
+ <li>Click the 'Configuration' button under Application Settings section</li>
+ <li>Click the 'Add' button to create a new application mapping</li>
+ <li>Set the executable textbox to aspnet_isapi.dll file location. for .net 2.0, 3.0, 3.5:
+ <ul>
+ <li>C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll</li>
+ </ul>
+ </li>
+ <li>Set the extension textbox to .* to map extension-less URLs and custom extensions to the ASP.NET ISAPI Process.</li>
+ <li>Make sure the checkbox 'Check that file exists' is not checked.</li>
+ <li>Press 'OK' to confirm and close all the windows.</li></ol>
+
+<h3>The following instructions apply for IIS 6.</h3>
+
+<ol><li>Open IIS and right-click on the website and select 'properties'. </li>
+ <li>Click the 'Configuration' button under Application Settings section </li>
+ <li>Click the 'Insert...' button to create a new wildcard mapping </li>
+ <li>Set the executable textbox to aspnet_isapi.dll file location.
+ for .net 2.0, 3.0, 3.5:<ul>
+ <li>&nbsp;C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll </li>
+ </ul>
+ </li>
+ <li>Make sure the checkbox 'Verify that file exists' is not checked. </li>
+ <li>Press 'OK' to confirm and close all the windows.</li></ol>
+</li>
+</ul>
+</asp:Content>
17 products/url-rewriter/examples.aspx
@@ -0,0 +1,17 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Url Rewriter > Examples" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
17 products/url-rewriter/features.aspx
@@ -0,0 +1,17 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Url Rewriter > Features" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
91 products/url-rewriter/license.aspx
@@ -0,0 +1,91 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > License" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+
+<h1>License for Url Rewriter</h1>
+
+<ul id="products">
+
+<li>
+<h2>Microsoft Public License (Ms-PL)</h2>
+ <p>This license
+ governs use of the accompanying software. If you use the software, you accept
+ this license. If you do not accept the license, do not use the software.</p>
+ <h3>1.
+ Definitions</h3>
+ <p>he terms
+ &quot;reproduce,&quot; &quot;reproduction,&quot; &quot;derivative works,&quot; and &quot;distribution&quot; have the
+ same meaning here as under U.S. copyright law.<br />
+ <br />
+ A &quot;contribution&quot; is the original software, or any additions or changes to the
+ software.<br />
+ <br />
+ A &quot;contributor&quot; is any person that distributes its contribution under this
+ license.<br />
+ <br />
+ &quot;Licensed patents&quot; are a contributor&#39;s patent claims that read directly on its
+ contribution.</p>
+ <h3>2. Grant of
+ Rights</h3>
+ <p>(A) Copyright
+ Grant- Subject to the terms of this license, including the license conditions
+ and limitations in section 3, each contributor grants you a non-exclusive,
+ worldwide, royalty-free copyright license to reproduce its contribution, prepare
+ derivative works of its contribution, and distribute its contribution or any
+ derivative works that you create.<br />
+ <br />
+ (B) Patent Grant- Subject to the terms of this license, including the license
+ conditions and limitations in section 3, each contributor grants you a
+ non-exclusive, worldwide, royalty-free license under its licensed patents to
+ make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
+ its contribution in the software or derivative works of the contribution in the
+ software.</p>
+ <h3>3. Conditions
+ and Limitations</h3>
+ <p>(A) No
+ Trademark License- This license does not grant you rights to use any
+ contributors&#39; name, logo, or trademarks.<br />
+ <br />
+ (B) If you bring a patent claim against any contributor over patents that you
+ claim are infringed by the software, your patent license from such contributor
+ to the software ends automatically.<br />
+ <br />
+ (C) If you distribute any portion of the software, you must retain all
+ copyright, patent, trademark, and attribution notices that are present in the
+ software.<br />
+ <br />
+ (D) If you distribute any portion of the software in source code form, you may
+ do so only under this license by including a complete copy of this license with
+ your distribution. If you distribute any portion of the software in compiled or
+ object code form, you may only do so under a license that complies with this
+ license.<br />
+ <br />
+ (E) The software is licensed &quot;as-is.&quot; You bear the risk of using it. The
+ contributors give no express warranties, guarantees or conditions. You may have
+ additional consumer rights under your local laws which this license cannot
+ change. To the extent permitted under your local laws, the contributors exclude
+ the implied warranties of merchantability, fitness for a particular purpose and
+ non-infringement</p>
+
+</li>
+
+</ul>
+
+</asp:Content>
+
145 products/url-rewriter/release-notes.aspx
@@ -0,0 +1,145 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Products > Url Rewriter > Release Notes" %>
+
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="preMainContent">
+ <div id="side-navigation">
+ <ul>
+ <li><a href="http://www.dotnetkicks.com/kick/?url=http://managedfusion.com/products/url-rewriter/"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://managedfusion.com/products/url-rewriter/&bgcolor=FF6A00&cfgcolor=FFFFFF&cbgcolor=3778A3" border="0" alt="kick it on DotNetKicks.com" /></a></li>
+ <li><a href="default.aspx" rel="index">Overview</a></li>
+<%-- <li><a href="features.aspx">Features</a></li>
+ <li><a href="examples.aspx">Examples</a></li>--%>
+ <li><a href="documentation.aspx">Documentation</a></li>
+ <li><a href="release-notes.aspx" rel="notes">Release Notes</a></li>
+ <li><a href="http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx" rel="download">Download</a></li>
+ <li><a href="license.aspx" rel="license">License</a></li>
+<%-- <li><a href="/products/purchase.aspx#url-rewriter" rel="buy">Purchase</a></li>--%>
+ </ul>
+ </div>
+</asp:Content>
+
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="mainContent">
+<h1>Release Notes for Url Rewriter</h1>
+<p>This page contains the release notes for the Managed Fusion URL Rewriter and Reverse Proxy which can be downloaded from <a href="/products/download.aspx#url-rewriter" title="Managed Fusion URL Rewriter Download Section" rel="download">our download section</a>. If you have any questions please feel free to use the <a href="/info/contact-us.aspx">contact form</a>.</p>
+
+<div class="date">Sunday, June 7, 2009</div>
+<h2>Version 3.0</h2>
+<ul>
+ <li><strong>Breaking Change</strong> Configuration in the web.config has been reorganized.</li>
+ <li>Major rewrite to the URL Rewriter to provide better performance and more reliable logging.</li>
+ <li>Major update to the proxy handler, it is much faster, and provides an exact duplication of headers from the proxied server.</li>
+ <li>Fixed many issues with the chunked encoding, so you are now able to proxy web based services, such as SVN.</li>
+ <li>Full rewrite of the rule, condition, and flag handling system to provide better performance and more flexibility for developers.</li>
+ <li>More extensibility points have been created for developers interested in creating their own handlers for rules, conditions, and flags.</li>
+ <li>More extensive testing of internal mechanics of the rewriter.</li>
+ <li>Added thread safety to the Apache rule set refresh.</li>
+ <li>Added initial support for Microsoft UrlRewriter IIS 7 module, this will provided a starting point for extension of the Microsoft configuration to support proxying and other more advanced Apache features.</li>
+</ul>
+
+<div class="date">Sunday, February 1, 2009</div>
+<h2>Version 2.5</h2>
+<ul>
+ <li>Major update to the proxy handler, it is not much faster, and provides an exact duplication of headers from the proxied server.</li>
+ <li>Added full support for $N and %N support in conditions and rules now.</li>
+ <li>Added contexts for condition, rule, and ruleset to make transfer of common data easier for implementations of the API.</li>
+ <li>Added split between async and sync proxy handler, this can now be controlled through the web.config using useAsyncProxy.</li>
+ <li>Fixed issue with transfer-encoding: chuncked.</li>
+</ul>
+
+<div class="date">Thrusday, November 6, 2008</div>
+<h2>Version 2.2</h2>
+<ul>
+ <li>Added support for RewriteCond backreferences: These are backreferences of the form %N (1 <= N <= 9), which provide access to the grouped parts (again, in parentheses) of the pattern, from the last matched RewriteCond in the current set of conditions.</li>
+ <li>Updated the logging output to be more readable.</li>
+</ul>
+
+<div class="date">Wednesday, July 30, 2008</div>
+<h2>Version 2.1</h2>
+<ul>
+ <li>Added support for <em>nosubreq</em> or <em>NS</em> flag from the original mod_rewrite specification, this only works in IIS 7.0.</li>
+ <li>Fixed a bug that poped up relating to cookies when dealing with the reverse proxy.</li>
+ <li>Fixed an issue where the <em>Location</em> header on a reverse proxy response wasn't getting rewritten according to the proxy rule.</li>
+</ul>
+
+
+<div class="date">Wednesday, June 25, 2008</div>
+<h2>Version 2.0.2</h2>
+<ul>
+ <li>Fixed a limitation for the proxy where the number of cookies were limited to the original number received.</li>
+ <li>Fixed an issue where IIS 7.0 wasn't able to create a proxy request.</li>
+</ul>
+
+<div class="date">Monday, June 23, 2008</div>
+<h2>Version 2.0.1</h2>
+<ul>
+ <li>Fixed an issue where certain rules, in the rewriter, created a loop in the logic, this effect IIS 7.0 only.</li>
+</ul>
+
+<div class="date">Sunday, March 30, 2008</div>
+<h2>Version 2.0</h2>
+<ul>
+ <li>Advancements have been made so that alternate RuleSets (i.e. XML) can be used in the future.</li>
+ <li>Async Proxy requests are now supported.</li>
+ <li>Fixed problem with encoding of the Cookies in proxy requests.</li>
+ <li>Windows 2008 and Vista SP1 have been verified to work.</li>
+</ul>
+
+<div class="date">Monday, February 18, 2008</div>
+<h2>Version 1.3.2</h2>
+<ul>
+ <li>Fixed bug where the domain of the cookie wasn't being password correctly during a Proxy Request.</li>
+</ul>
+
+<div class="date">Friday, February 1, 2008</div>
+<h2>Version 1.3.1</h2>
+<ul>
+ <li>Fixed bug with content-type check failure for the form tag rewriting filter.</li>
+ <li>Created a more robust form filter for rewriting the action property on the form element.</li>
+ <li>Fixed a couple minor bugs reported by users.</li>
+</ul>
+
+<div class="date">Wednesday, January 30, 2008</div>
+<h2>Version 1.3</h2>
+<ul>
+ <li>Url Rewriter doesn't require a purchased copy for unlimited use. It is now donation ware.</li>
+ <li>Added support for modules.</li>
+ <li>Added support for adding special HTTP headers to the response through the use of the <em>H</em> or <em>header</em> rule flag.</li>
+</ul>
+
+<div class="date">Saturday, January 12, 2008</div>
+<h2>Version 1.2</h2>
+<ul>
+ <li>Fixed a bugs relating to special conditions (-d, -f, -F).</li>
+ <li>Added <em>proxy</em> rule flag.</li>
+ <li>Proxy and Reverse Proxy is now full supported through the use of the <em>P</em> or <em>proxy</em> RewriteCond rule flag.</li>
+ <li>IIS 7.0 intigrated pipes is now fully supported.</li>
+</ul>
+
+<div class="date">Tuesday, December 4, 2007</div>
+<h2>Version 1.1</h2>
+<ul>
+ <li>Fixed issue with raw URL not getting rendered correctly.</li>
+ <li>Fixed <em>redirect</em> so that a realtive URL is used if the domains are the same.</li>
+ <li>Special conditions (lexicographically precedes, follows, and equal, -d, -f, -s, -l, -F, -U) are now supported in CondPattern.</li>
+ <li>Application level rules are now supported, through the <em>LoadApplicationRules</em> and <em>RefreshApplicationRules</em> events in RewriterModule.</li>
+ <li>Intigrators can now use Application level rules with out needing to purchase a license. This grants intigrators Unlimited rules for processing requests.</li>
+ <li>RewriteBase is now fully supported.</li>
+</ul>
+
+<div class="date">Tuesday, October 9, 2007</div>
+<h2>Version 1.0.1</h2>
+<ul>
+ <li>Running in a medium trust environment is now supported.</li>
+ <li><em>ornext</em> is now supported for RewriteCond.</li>
+ <li>RewriteLog and RewriteLogLevel is now supported.</li>
+ <li>Web.config section is changed to align with standards.</li>
+</ul>
+
+<div class="date">Monday, August 24, 2007</div>
+<h2>Version 1.0</h2>
+<ul>
+ <li>This is the initial release.</li>
+ <li>Support for Apache mod_rewrite rules including RewriteEngine, RewriteCond, RewriteRule, and RewriteBase.</li>
+ <li>Support for IIS 6.0, IIS 7.0, Intigrated ASP.NET Development Server in Visual Studio 2005 and 2008, Mono XPS Server.</li>
+ <li>Support for .NET 2.0 and Mono.</li>
+ <li>Works with any .NET hosting environment, including GoDaddy, WebHost4Life, and numerous others that allow you to define your own web.config file.</li>
+</ul>
+</asp:Content>
14 rewriter.txt
@@ -0,0 +1,14 @@
+RewriteEngine On
+
+# xsd mapping
+RewriteRule ^/xsd/managedFusion/rewriter$ /xsd/ManagedFusionRewriterConfigurationSchema.xsd [L]
+
+# redirect to canonical domain
+RewriteCond %{HTTP_HOST} !^managedfusion\.com [NC]
+RewriteRule ^(.*) http://managedfusion.com$1 [R=301]
+
+# rewrite url to include a trailing slash if one is missing
+#RewriteRule ^/(([^/]+/)*([^/.]+))$ /$1/ [R=301]
+
+# my resume
+RewriteRule /resume/? http://careers.stackoverflow.com/cv/837/export/pdf-preview [R=302]
1 robots.txt
@@ -0,0 +1 @@
+User-agent: *
41 scripts/form.js
@@ -0,0 +1,41 @@
+$(document).ready(function() {
+
+ $("#contact-name").blur(function () {
+ RequiredInput($(this));
+ });
+
+ $("#contact-email").blur(function () {
+ RequiredInput($(this));
+ });
+
+ $("#contact-message").blur(function () {
+ RequiredInput($(this));
+ });
+
+ $("#send-email").submit(function () {
+ $(this).prepend('<input type="hidden" name="javascript-enabled" value="true" />');
+
+ return RequiredInput($("#contact-name"))
+ && RequiredInput($("#contact-email"))
+ && RequiredInput($("#contact-message"))
+ && CheckPhone($("#contact-phone"));
+ });
+});
+
+function CheckPhone (input) {
+ input.removeClass("error");
+
+ if (input.val() == "000-000-0000")
+ input.addClass("error");
+
+ return input.val() != "000-000-0000";
+}
+
+function RequiredInput (input) {
+ input.removeClass("error");
+
+ if (input.val() == "")
+ input.addClass("error");
+
+ return input.val() != "";
+}
32 scripts/jquery-1.2.3.min.js
@@ -0,0 +1,32 @@
+/*
+ * jQuery 1.2.3 - New Wave Javascript
+ *
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
+ * $Rev: 4663 $
+ */
+(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
+selector=[];}}else
+return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
+return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
+this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else
+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
+script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else
+for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else
+for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
+ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else
+ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else
+for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
+for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
+jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})();
21 services/default.aspx
@@ -0,0 +1,21 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Services" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Services We Offer</h1>
+<p>Managed Fusion is invested in the success of our clients and their needs to reduce costs, improve customer relations, and gain technological advatages over their compeditors.</p>
+<p>We understand that this need is not just technical, a marketing problem, or even a customer interface problem, most of the time it is a combination of two or more of these basic business needs. That is why Managed Fusion has been leading the industry in fusing all of these needs in to one solution for our clients.</p>
+<p>Our team is very well versed in all things technology, marketing, and design and because Managed Fusion focuses on teamwork between these area we are able to provide successful solutions everytime we take on a contract.</p>
+<p>If you would like more information on any part of our core proficiencies please visit:</p>
+<ul>
+ <li><a href="technology.aspx">Technology</a></li>
+ <li><a href="marketing.aspx">Marketing</a></li>
+ <li><a href="design.aspx">Design</a></li>
+</ul>
+</asp:Content>
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="technology.aspx" rel="subsection">Technology</a></li>
+ <li><a href="marketing.aspx" rel="subsection">Marketing</a></li>
+ <li><a href="design.aspx" rel="subsection">Design</a></li>
+ </ul>
+</asp:Content>
30 services/design.aspx
@@ -0,0 +1,30 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Services > Design" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Design</h1>
+<p>Managed Fusion realizes that design is one of the most important aspects of custom development. It is what attracts customers to your marketing campaign. Or eases the use of a complex application. Managed Fusion uses its design team for both internal <a href="technology.aspx">technical</a> and <a href="marketing.aspx">marketing</a> projects. However, we realize that businesses also need highly qualified and dedicated design professionals that understand usability on their own in-hourse applications, and that is why we offer this service.</p>
+<ul>
+ <li>Technical
+ <ul>
+ <li>Usability Study</li>
+ <li>Web Site Design and Enhancements</li>
+ <li>Windows Application Design and Enhancements</li>
+ <li>Legacy Application Intigration</li>
+ </ul></li>
+ <li>Marketing
+ <ul>
+ <li>Banner Ad</li>
+ <li>Landing Pages</li>
+ <li>Branding</li>
+ <li>Logo Design</li>
+ </ul>
+ </li>
+</ul>
+</asp:Content>
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="technology.aspx" rel="subsection">Technology</a></li>
+ <li><a href="marketing.aspx" rel="subsection">Marketing</a></li>
+ <li><a href="design.aspx" rel="subsection">Design</a></li>
+ </ul>
+</asp:Content>
24 services/marketing.aspx
@@ -0,0 +1,24 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Services > Marketing" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Marketing</h1>
+<p>The shift in marketing from traditional to new Web 2.0 methods can leave many firms lacking the resources to reach potential customers. Managed Fusion understands that this is a problem, and that is why we offer many services that can help your company gain a compeditive advantage.</p>
+<ul>
+ <li>Online Marketing
+ <ul>
+ <li>Search Engine Marketing and Optimization</li>
+ <li>Online Promotions and Contents</li>
+ <li>Coupon Management</li>
+ <li>Bannar Ad Design</li>
+ <li>Affiliat Marketing</li>
+ </ul></li>
+ <li>Marketing Consulting</li>
+</ul>
+</asp:Content>
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="technology.aspx" rel="subsection">Technology</a></li>
+ <li><a href="marketing.aspx" rel="subsection">Marketing</a></li>
+ <li><a href="design.aspx" rel="subsection">Design</a></li>
+ </ul>
+</asp:Content>
42 services/technology.aspx
@@ -0,0 +1,42 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Services > Technology" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
+<h1>Technology</h1>
+<p>Managed Fusion has the experience and the know how to expand and create the technologies that will expand your business, reduce costs, and reach new customers.</p>
+<ul>
+ <li>Application Design and Development
+ <ul>
+ <li>Web Applications</li>
+ <li>Windows Forms Development</li>
+ <li>Backend/Middleware Development</li>
+ <li>PDA/Mobile Development</li>
+ <li>E-Commerce Development</li>
+ <li>Point Of Sale Development</li>
+ </ul></li>
+ <li>Interactive Web Services
+ <ul>
+ <li>Website Development</li>
+ <li>Content and Document Management Systems (CMS)</li>
+ <li>Enterprise Resource Planning (ERP)</li>
+ <li>Customer Relationship Management (CRM)</li>
+ </ul></li>
+ <li>Data Warehouses
+ <ul>
+ <li>Intigration of Lines of Business</li>
+ <li>Improved System Performance</li>
+ <li>Unified and Improved Reporting</li>
+ </ul></li>
+ <li>Technical Consulting
+ <ul>
+ <li>Technical Staffing</li>
+ <li>Custom Solutions</li>
+ </ul></li>
+</ul>
+</asp:Content>
+<asp:Content ID="Content2" runat="server" ContentPlaceHolderID="subMenuContent">
+ <ul id="sub-navigation">
+ <li><a href="technology.aspx" rel="subsection">Technology</a></li>
+ <li><a href="marketing.aspx" rel="subsection">Marketing</a></li>
+ <li><a href="design.aspx" rel="subsection">Design</a></li>
+ </ul>
+</asp:Content>
60 sitemap.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+ <url>
+ <loc>http://www.managedfusion.com/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/default.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/info/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/services/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/download.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/jobs/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/info/legal.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/url-rewriter/</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/url-rewriter/release-notes.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/info/contact-us.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/info/press.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/services/marketing.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/services/technology.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/services/design.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/url-rewriter/default.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/url-rewriter/documentation.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/url-rewriter/license.aspx</loc>
+ </url>
+ <url>
+ <loc>http://www.managedfusion.com/products/purchase.aspx</loc>
+ </url>
+</urlset>
6 staff/abdullah-katawazi.aspx
@@ -0,0 +1,6 @@
+<%@ Page Language="C#" MasterPageFile="~/Standard.Master" Title="Managed Fusion > Staff > Abdullah Katawazi" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID=&qu