<!DOCTYPE html>
<html lang="en">
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<head>
<meta charset="utf-8">
<title>The Apache OFBiz&reg; Project</title>
<meta name="Description" content="OFBiz is an open source enterprise automation software project licensed under the Apache License. It means you are not alone and can work with many others." />
<meta name="Robots" content="index,follow" />
<!-- Mobile Specific Metas
    ================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS
    ================================================== -->
<!-- Bootstrap  -->
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<!-- web font  -->
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,800" rel="stylesheet" type="text/css">
<!-- plugin css  -->
<link rel="stylesheet" type="text/css" href="/js/plugins/pretty-photo/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="/js/plugins/rs-plugin/css/settings.css" media="screen" />
<link type="text/css" rel="stylesheet" href="/js/plugins/hoverdir/css/style.css">
<!-- icon fonts -->
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons.css">
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons-ie7.css">
<!-- Custom css -->
<link type="text/css" rel="stylesheet" href="/css/layout.css">
<link type="text/css" id="colors" rel="stylesheet" href="/css/colors.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if gte IE 9]><style type="text/css">.iconBig, .active, .hover a , .Shover a { filter: none !important; } </style> <![endif]-->
<script src="js/modernizr-2.6.1.min.js"></script>
<!-- Favicons
    ================================================== -->
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="apple-touch-icon" href="/images/apple-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/apple-icon-144x144.png">
</head>
<body>
<!-- header -->
<header id="mainHeader" class="clearfix">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container"> <a href="index.html" class="brand"><img src="images/ofbiz_logo.png" alt="Apache OFBiz Logo"/></a>
        <nav id="mainMenu" class="clearfix">
          <ul>
            <li><a href="index.html" class="firstLevel active">Home</a></li>
            <li><a href="#" class="firstLevel">Getting Started</a>
              <ul>
                <li><a href="developers.html" class="">Developers</a></li>
                <li><a href="business-users.html" class="last">Business Users</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">News</a>
              <ul>
                <li><a href="//twitter.com/apacheofbiz" target="external">Twitter</a></li>
                <li><a href="//blogs.apache.org/ofbiz/" target="external" class="last">Blog</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Documentation</a>
              <ul>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Documentation#Documentation-End-UserDocumentation" target="external" class="">User Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Technical+Documentation" target="external" class="">Technical Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Home" target="external" class="">Wiki</a></li>
                <li><a href="#" class="firstLevel">API Reference</a>
                  <ul>
                    <li title="Trunk API">
                      <a href="//ci.apache.org/projects/ofbiz/site/trunk/javadocs/" target="external">Trunk API</a></li>
                    </li>
                    <li title="Stable release  API">
                      <a href="//ci.apache.org/projects/ofbiz/site/stable/javadocs/" target="external">Stable Release API</a></li>
                    </li>
                    <li title="Next release API">
                      <a href="//ci.apache.org/projects/ofbiz/site/next/javadocs/" target="external">Next Release API</a></li>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Community</a>
              <ul>
                <li><a href="getting-involved.html">Getting Involved</a></li>                
                <li><a href="mailing-lists.html">Mailing Lists</a></li>
                <li><a href="source-repositories.html">Source Repository</a></li>
                <li><a href="download.html">Downloads</a></li>
                <li><a href="//issues.apache.org/jira/browse/OFBIZ/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" target="external" >Issue Tracker</a></li>
                <li><a href="faqs.html" class="last">FAQ</a></li>
              </ul>
            </li>
            <li><a href="ofbiz-demos.html" class="firstLevel">Demos</a></li>
		  <li>
		    <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
		      target="external" title="follow us on Twitter"><span>twitter</span></a>
		  </li>
		  <li><a href="//www.linkedin.com/company/apache-ofbiz/" target="external"  class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" target="external" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
		  <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips" target="external" title="follow us on Youtube"><span>Youtube</span></a></li>
		  <!--<li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>         
		  <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
		  <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
		  <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>-->
          </ul>
        </nav>
      </div>
    </div>
  </div>
</header>
<!-- header -->
<!-- globalWrapper -->
<div id="globalWrapper">

<!-- slider -->
<section  id="sliderWrapperRS">
  <!-- background slider dark bloc -->
  <div id="bgSliderBlocWrapper">
    <div class="container">
      <div id="bgSliderBloc">&nbsp;</div>
    </div>
  </div>
  <!-- background slider dark bloc -->
  <div class="fullwidthbanner-container">
    <div class="fullwidthbanner" >
      <ul>
        <li data-transition="fade" data-slotamount="1"  data-masterspeed="2000"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfr" data-x="0" data-y="46" data-speed="1000" data-start="300" data-easing="easeOutExpo"><img src="images/slider/rs/CatalogPromotions-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="495" data-y="50" data-speed="300" data-start="600" data-easing="easeOutExpo" >
            <h2>What our users are saying..</h2>
          </div>
          <div class="caption sfb hidden-phone" data-x="495" data-y="125" data-speed="300" data-start="700" data-easing="easeOutExpo">
            <h3><i class="icon-right-circle"></i>&nbsp;Powerful, flexible and free....what more could a developer ask for?</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="159" data-speed="500" data-start="1000" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;I highly recommend OFBiz. I finished my project in 6 months working solo</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="193" data-speed="500" data-start="1250" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;I love this framework and the freedom it gives</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="227" data-speed="500" data-start="1500" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;the community support is amazing...</h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="2"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfl" data-x="450" data-y="65" data-speed="900" data-start="800" data-easing="easeOutBack"><img src="images/slider/rs/InventoryItems-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="70" data-y="120" data-speed="300" data-start="1600" data-easing="easeOutExpo" >
            <h2>Enjoy the benefits</h2>
          </div>        
          <div class="caption lfr hidden-phone" data-x="72" data-y="194" data-speed="500" data-start="1500" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Freedom from vendor lock-in</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="72" data-y="228" data-speed="500" data-start="1700" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Flexible enough to fit any business</h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="1"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfr" data-x="0" data-y="60" data-speed="800" data-start="300" data-easing="easeOutBack"><img src="images/slider/rs/Project-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="495" data-y="48" data-speed="300" data-start="500" data-easing="easeOutExpo" >
            <h2>Flexible OFBiz Solutions, </h2>
          </div>
          <div class="caption sft" data-x="495" data-y="102" data-speed="300" data-start="700" data-easing="easeOutExpo" >
            <h2>choose yours...</h2>
          </div>
         
          <div class="caption sfl hidden-phone" data-x="495" data-y="176" data-speed="500" data-start="900" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;ERP with integrated E-Commerce</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="210" data-speed="500" data-start="1100" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;Manufacturing and Warehouse Management</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="244" data-speed="500" data-start="1300" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;CRM,Human Resources,WebPOS and much more </h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="2"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfl" data-x="450" data-y="130" data-speed="900" data-start="800" data-easing="easeOutBack"><img src="images/slider/rs/SalesOrder-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="50" data-y="60" data-speed="300" data-start="1600" data-easing="easeOutExpo" >
            <h2>The best things in life are free!</h2>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="134" data-speed="500" data-start="1500" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Download and it's yours....free</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="168" data-speed="500" data-start="1700" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Enjoy the benefits and freedom</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="202" data-speed="500" data-start="1800" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;No licensing fees....ever</h3>
          </div>
        </li>
      </ul>
      <div class="tp-bannertimer"></div>
    </div>
  </div>
</section>
<!-- slider -->
<!-- content -->
<!-- three blocs -->
  <section class="sliceTop">
    <div class="container">
      <div class="row">
        <div class="span12 drop-shadow lifted">
          <div class="topQuote">
            <h1> <strong>Apache OFBiz</strong> is a suite of business 
                applications flexible enough to be used across any industry.
               A common architecture allows developers to easily extend or
               enhance it to create custom features.
            </h1>
          </div>
          <div class="topBox clearfix">
            <div class="bigIconsColumnsWrapper">
              <article class="one_third"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-cog-alt"></i>
                   <div class="ch-info"> <span> Java </span> </div>
                </a>
                <h2 class="smallHeading"><span>Powerful Java Web Framework</span></h2>
                <p>
                  OFBiz is a Java based web framework including an entity engine,
                  a service engine and a widget based UI allowing you to
                  quickly prototype and develop your web application.
                </p>
              </article>
              <article class="one_third"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-th-list"></i>
                  <div class="ch-info"> <span> CRM & ERP </span> </div>
                </a>
                <h2 class="smallHeading">Mature CRM &  ERP Solution</h2>
                <p>An Apache top level project for  10 years, OFBiz has shown it's stability and maturity as an enterprise-wide 
                  ERP solution that is flexible enough to change with your business.</p>
              </article>
              <article class="one_third last"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-edit"></i>
                  <div class="ch-info"> <span> Develop </span> </div>
                </a>
                <h2 class="smallHeading">Developer Friendly</h2>
                <p>
                  OFBiz architecture is extremely flexible allowing developers
                  to quickly and easily extend and enhance the framework with
                  custom features.
                </p>
              </article>
            </div>
          </div>
        </div>
      </div>
    </div>
  </section>


 
  <!-- three blocs -->
  <!-- carousel works-->
  <section class="slice">
    <div class="container">
      <div class="row">
  	<div class="span12">
          <h2>Where to Start?</h2>
            <div class="divider"><span></span></div>
    		<p>Developer or Business User, getting started with OFBiz is easy!. We have a range of information about OFBiz modules and features as well as an online demo that you can try.</p>
    		<ul class="iconsList">
		<li><i class="icon-pin"></i> Developers can get started on our <a href="developers.html"><strong> Developers page</strong></a> </li>
        	<li><i class="icon-pin"></i> Business Users can get started on our <a href="business-users.html"><strong>Business Users page</strong></a> </li>
      		<li><i class="icon-pin"></i> To see what OFBiz looks like and how it works, please try our <a href="ofbiz-demos.html"><strong>Online Demos</strong></a></li>
    		</ul>
           </div> 

      <div class="span12">
       <h2>Features and Benefits</h2>
   	<div class="divider"><span></span></div>
      </div>
      <section class="span12 mb15">
      	<div class="row-fluid">
		<div class="span4">
       		<h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-users" ></i></span> Modules</h3>
		<p>Apache OFBiz comes with a range of core modules out-of-the-box (OOTB) including:</p>
		<ol class="iconsList">
			<li><i class="icon-pin"></i> Accounting (GL,AR,AP,FA)</li>
			<li><i class="icon-pin"></i> CRM,Order Management & E-Commerce</li>
        		<li><i class="icon-pin"></i> Warehousing and Inventory</li>
       			<li><i class="icon-pin"></i> Manufacturing & MRP</li>
      		</ol>
    	</div>
       <div class="span4">
          <h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-cog-alt"></i></span> Features</h3>
           <p>Apache OFBiz has a full set useful business features including:</p>
	 	<ol class="iconsList">
      			<li><i class="icon-pin"></i> Product & Catalog Management</li>
        		<li><i class="icon-pin"></i> Promotion & Pricing Management</li>
        		<li><i class="icon-pin"></i> Supply Chain Fulfillment</li>
        		<li><i class="icon-pin"></i> Contracts, Payments & Billing</li>
      		</ol>
	</div>
        <div class="span4">
          <h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-resize-full-alt"></i></span> Benefits</h3>
          <p>There are a range of benefits associated with using Apache OFBiz including:.</p>
     		<ol class="iconsList">
        		<li><i class="icon-pin"></i> Free and open source - No upfront costs</li>
      			<li><i class="icon-pin"></i> Scalable, reliable enterprise solution</li>
        		<li><i class="icon-pin"></i> Fully Customisable</li>
        		<li><i class="icon-pin"></i> Flexible to grow with your business</li>
     		</ol>
        </div>
    </div>
	<p></p>
  	<p></p>
   	<p>If you are still unsure or have any questions then please feel free to use our <a href="//lists.apache.org/list.html?user@ofbiz.apache.org" target="external"><strong>User Mailing List</strong></a> </p>
  	</section>   

      </div>
    </div>
  </section>
  <!-- carousel works-->
<!-- Call to download action -->
  <section class="slice">
    <div  class="container">
      <div class="row-fluid callToActionBoxed">
        <div class="span7">
          <div class="ctaText">
            <h3>Go ahead and take OFBiz for a spin!</h3>
            <p>Download <strong>OFBiz</strong> and try it out for yourself.
             All you need is to install the Java Development Kit and then follow
              the instructions in the README file.</p>
          </div>
        </div>
        <div class="span5">
          <div class="btnWrapper">
            <a href="download.html" class="iconBtn" title="Download OFBiz">
              <i class="icon-download"></i>Download OFBiz 
            </a>
          </div>
        </div>
      </div>
    </div>
  </section>
  <!-- Call to download action -->

<!-- content -->
<!-- footer -->
<footer class="footer1">
  <div class="container" id="footer">
    <div class="row">
      <div class="span6 timelineWidget">
        <h2>Latest tweets</h2>
        <!--
        <div class="divider"><span></span></div>
        <ul class="socialNetwork nav">
          <li>
            <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
              target="external" title="follow us on Twitter"><span>twitter</span></a>
          </li>
          <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips"  title="follow us on Youtube"><span>Youtube</span></a></li>
          <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
          <li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>
          <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
          <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
          <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
          <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>
        </ul>
        -->
        <div id="twitterFrame"> <a class="twitter-timeline" href="//twitter.com/ApacheOfbiz?height=250" data-widget-id="588661945194192896"  data-tweet-limit="2" data-theme="dark" data-chrome="nofooter noheader transparent" >Tweets by @ApacheOfbiz</a>
          <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        </div>
      </div>
      <div class="span3 contactWidget">
        <h2>Contact Community</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="mailing-lists.html">Mailing Lists</a></li>
          <li><a href="source-repositories.html">Source Repository (Git)</a></li>
          <li><a href="//issues.apache.org/jira/browse/OFBIZ" target="external">Issue Tracker (Jira)</a></li>
          <li><a href="//www.youtube.com/user/ofbiz" target="external">OFBiz Youtube Channel</a></li>
          <li><a href="//vimeo.com/channels/apacheofbiz" target="external">OFBiz Vimeo Channel</a></li>
          <li>
            <a href="//s.apache.org/ofbiz-slack-channel" target="external">OFBiz Chat</a><br/>
            <span class="footer-note">
              Note: To chat with users and developers of Apache OFBiz.
              <br>Please create a Slack account using <a href="//s.apache.org/slack-invite" target="external">this invite link</a> and
              <a href="//s.apache.org/ofbiz-slack-channel" target="external">join the <b>#ofbiz channel</b>.</a>
              Please do <b>not</b> ask OFBiz questions in the #general channel.
            </span>
          </li>
        </ul>
      </div>
      <div class="span3 sociallWidget">
        <h2>ASF Information</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="https://www.apache.org/foundation/" target="external">Apache Software Foundation</a></li>
          <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
          <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a>
          		and <a href="https://www.apache.org/foundation/contributing.html" target="external">Donations</a>
          </li>
          <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
          <li><a href="https://ofbiz.apache.org/security.html">Security</a></li>
          <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
        </ul>
      </div>
    </div>
  </div>
</footer>
<footer class="footer2" id="footerRights">
  <div class="container">
    <div class="row">
      <div class="span12">
        <p>
          Copyright © 2021 The Apache Software Foundation.
          <a href="https://www.apache.org/licenses/" target="external">Licensed under the  Apache License, Version 2.0</a>.<br/>
          Apache OFBiz, OFBiz, the project logo and the Apache feather logo are trademarks of <a href="https://www.apache.org/" target="external">The Apache Software Foundation.</a>
        </p>
      </div>
    </div>
  </div>
</footer>
<!-- footer -->
</div>
<!-- globalWrapper -->
<script type="text/javascript" src="js/plugins/respond/respond.min.js"></script>
<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="js/jquery-migrate-1.0.0.min.js"></script>
<script type="text/javascript" src="js/plugins/jquery-browser-plugin/jquery.browser.min.js"></script>
<!-- third party plugins  -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap-carousel.js"></script>
<script type="text/javascript" src="js/plugins/easing/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/plugins/pretty-photo/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js/plugins/hoverdir/jquery.hoverdir.js"></script>
<!-- jQuery KenBurn Slider  -->
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.plugins.min.js"></script>
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.revolution.min.js"></script>
<!-- Custom  -->
<script type="text/javascript" src="js/custom.js"></script>
<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', UA]);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
</body>
</html>
