///////////////////////////////////////////////////////////////////////////////
// COPYRIGHT 2008 www.FloatingActionButton.com                               //
// A WebCodeTechnology.com product                                           //
//                                                                           //
// All Rights Reserved                                                       //
///////////////////////////////////////////////////////////////////////////////

// Position Constants
var LEFT = 1;
var MIDDLE = 2;
var RIGHT = 3;
var TOP = 1;
var BOTTOM =3;

// Selected Position of Button
var hAlign =  LEFT;
var vAlign = TOP;

// Padding/Margin   Left/Right Margin     Top/Bottom Margin
var fabHMargin = 10; 
var fabVMargin = 50;

var fabStartDelay = 3000;
var fabSlideTime = 700;
var fabOpacity = 0.9; 

xAddEventListener(window, 'load',
  function () {
    
    var e = xCreateElement('DIV');
    e.id = "divActionButton";
    e.style.backgroundColor = "#FFFFFF";
    e.style.padding = "10";
    xInnerHtml(e, "<div style=\"text-align:right;\"><a onclick=\"closeFab();\" style=\"cursor: pointer;\"\"><b>Close X</b></a></div><br><table class=\"\" =\"\" width=\"450\" cellpadding=\"2\" cellspacing=\"2\"><div id=\"menubox\" align=\"left\"></div><tbody><tr><td class=\"\" =\"\"><table style=\"border: 4px dashed rgb(0, 0, 0);\" width=\"432\" border=\"0\" bordercolor=\"#ff0000\" cellpadding=\"20\" cellspacing=\"0\">  <tbody><tr border=\"0\">    <td><p align=\"center\"><i><font color=\"#cc0000\" face=\"Tahoma, Lucida Handwriting\" size=\"4\"><b>Grab                A FREE Version of The CompleteProfitSystem Professionally Designed Fully Automated Profit-Pulling Cash                Machine </b></font></i></p>     </td>    <td><img src=\"http://completeprofitsystem.com/exit/exit3.jpg\" mce_src=\"http://completeprofitsystem.com/exit/exit3.jpg\"></td>  </tr>  <tr>    <td colspan=\"2\"> <blockquote>        <p align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">This Money Making System, is  yours *FREE But Only if you act now..</font></p>      </blockquote><div align=\"center\"><center><!-- AWeber Web Form Generator 3.0 --><style type=\"text/css\">#af-form-700937418 body,#af-form-700937418 dl, #af-form-700937418 dt, #af-form-700937418 dd,#af-form-700937418 h1, #af-form-700937418 h2, #af-form-700937418 h3, #af-form-700937418 h4, #af-form-700937418 h5, #af-form-700937418 h6,#af-form-700937418 pre, #af-form-700937418 code, #af-form-700937418 form,#af-form-700937418 fieldset, #af-form-700937418 legend, #af-form-700937418 textarea, #af-form-700937418 blockquote,#af-form-700937418 th, #af-form-700937418 td {float:none; margin:0px; padding:0px; position:static;}#af-form-700937418 ul,#af-form-700937418 ol {list-style-image:none; list-style-position:outside; list-style-type:disc; padding-left:40px;}#af-form-700937418 div {margin:0px;}#af-form-700937418 .bodyText p {margin:1em 0;}#af-form-700937418 table {border-collapse:collapse; border-spacing:0;}#af-form-700937418 fieldset,#af-form-700937418 img {border:0;}#af-form-700937418 button,#af-form-700937418 input,#af-form-700937418 submit,#af-form-700937418 textarea {float:none; margin:0px; position:static;}#af-form-700937418 select,#af-form-700937418 label,#af-form-700937418 optgroup,#af-form-700937418 option {float:none; margin:0px; padding:0px; position:static;}/*@purpose To enable resizing for IE *//*@branch For IE6-Win, IE7-Win */#af-form-700937418 input,#af-form-700937418 button,#af-form-700937418 textarea,#af-form-700937418 select {*font-size:100%;} .af-clear {clear:both;}.lastNameContainer {margin-top:10px;}.af-body .textInput input {float:none;}.af-element label {display:block; float:left;}.stacked .af-element label {float:none; display:block;}.af-form {margin:auto; text-align:left;}.af-header, .af-footer {margin-bottom:0px; margin-top:0px; padding:10px;}.af-divider {display:block; height:12px; margin-bottom:6px;}.af-divider-parent {padding-bottom:15px;}.af-element, .af-usaddress {padding: 6px 0;}.af-element {padding-bottom:5px; padding-top:5px;}.af-divider-parent {padding-top:0 !important;}.af-body input.text, .af-body textarea {padding:2px;}.af-body .af-textWrap input.text {width:100%;}.af-body .af-textWrap {text-align:left;}.af-element-checkbox label,.af-element-checkbox input.checkbox,.af-element-radio label,.af-element-radio input.radio {display:inline !important; float:none !important;}.choiceList-radio-inline .af-element-radio {float:left;}.af-element-checkbox .choice {display:inline;}.af-body input.submit,.af-body input.image {float:none !important;}.af-body input.image {border:none !important;}#af-form .af-body input.submit, .af-body.af-standards input.submit {padding:4px 12px;}.af-usaddress input {margin-bottom:5px;}.af-element label {float:left; text-align:left;}.af-form .inline .af-element input.button {float:none !important;}.af-element input.radio {width:inherit !important;}.af-element-radio label {display:inline;}.af-element-radio.inline {display:block !important; float:left; margin-left:0px; margin-right:7px;}.af-element-radio.block {display:block;}.lbl-right .af-element label{text-align:right;}.af-quirksMode .af-element {padding-left: 0px!important; padding-right: 0px!important;}#af-form-700937418  .af-body {padding-bottom:15px; padding-top:15px; background-repeat:repeat-x; background-position:inherit; background-image:url(\"http://forms.aweber.com/images/forms/download/royal/body.png\"); color:inherit; font-size:11px; font-family:Verdana, sans-serif; }#af-form-700937418  .af-body .privacyPolicy {color:inherit; font-size:11px; font-family:Verdana, sans-serif; }#af-form-700937418   {background-color:transparent; border-color:transparent; border-width:1px; border-style:solid; }#af-form-700937418 .af-standards .af-element {padding-right:10px; padding-left:10px; }#af-form-700937418 .af-standards .af-divider {margin-right:10px; margin-left:10px; }#af-form-700937418 .af-quirksMode {padding-right:10px; padding-left:10px; }#af-form-700937418  .af-header {padding-bottom:9px; padding-top:32px; padding-right:10px; padding-left:99px; background-repeat:no-repeat; background-position:inherit; background-image:url(\"http://forms.aweber.com/images/forms/download/royal/header.png\"); border-width:1px; border-style-top:none; border-style-left:none; border-style-right:none; border-style-bottom:none; color:inherit; font-size:16px; font-family:Verdana, sans-serif; }#af-form-700937418  .af-footer {padding-bottom:2px; padding-top:2px; padding-right:10px; padding-left:10px; background-color:#FFFFFF; background-repeat:no-repeat; background-position:top left; background-image:none; border-width:1px; border-style-bottom:none; border-style-left:none; border-style-right:none; border-style-top:none; color:#000000; font-size:11px; font-family:Verdana, sans-serif; }#af-form-700937418  .af-body input.text {background-color:#FFFFFF; border-color:#919191; border-width:1px; border-style:solid; color:#000000; text-decoration:none; font-style:normal; font-weight:normal; font-size:12px; font-family:Verdana, sans-serif; }#af-form-700937418  .af-body input.text:focus {background-color:#FFFAD6; border-color:#030303; border-width:1px; border-style:solid; }#af-form-700937418  .af-body label.previewLabel {display:block; float:none; text-align:left; width:auto; color:#000000; text-decoration:none; font-style:normal; font-weight:normal; font-size:11px; font-family:Verdana, sans-serif; }#af-form-700937418  .af-body .af-textWrap, #af-form-700937418  .af-body .af-dateWrap, #af-form-700937418  .af-body textarea, #af-form-700937418  .af-body .af-selectWrap, #af-form-700937418  .af-body .af-checkWrap, #af-form-700937418  .choiceList-radio-inline, #af-form-700937418  .choiceList-radio-stacked {width:98%; display:block; float:none; }#af-form-700937418 .af-element-radio {margin-left:10px; }#af-form-700937418 .choiceList-radio-inline .af-element-radio {margin-right:0px; }#af-form-700937418  .buttonContainer input.submit {background-image:url(\"http://forms.aweber.com/images/auto/gradient/button/07c.png\"); background-position:top left; background-repeat:repeat-x; background-color:#0057ac; border:1px solid #0057ac; color:#FFFFFF; text-decoration:none; font-style:normal; font-weight:normal; font-size:14px; font-family:Verdana, sans-serif; }#af-form-700937418  .buttonContainer {text-align:left; }#af-form-700937418  .af-body label.choice {color:#000000; text-decoration:none; font-style:normal; font-weight:normal; font-size:inherit; font-family:inherit; }#af-form-700937418  .af-body a {color:#094C80; text-decoration:underline; font-style:normal; font-weight:normal; }#af-form-700937418 {width:353px; }#af-form-700937418 .af-quirksMode {width:353px;}#af-form-700937418.af-quirksMode { overflow-x:hidden; }#af-form-700937418 .af-quirksMode .bodyText {padding-top: 2px; padding-bottom: 2px;}#af-form-700937418 {overflow:auto;}</style><form method=\"post\" action=\"http://www.aweber.com/scripts/addlead.pl\">    <div style=\"display: none;\">        <input name=\"meta_web_form_id\" value=\"700937418\" type=\"hidden\">        <input name=\"meta_split_id\" value=\"\" type=\"hidden\">        <input name=\"listname\" value=\"cps_yourfree\" type=\"hidden\">        <input name=\"redirect\" value=\"http://www.aweber.com/thankyou-coi.htm?m=video\" id=\"redirect_0f5fb1c3b19d58d7c03d6f842352c749\" type=\"hidden\">                <input name=\"meta_adtracking\" value=\"New_Form_700937418\" type=\"hidden\">        <input name=\"meta_message\" value=\"1\" type=\"hidden\">        <input name=\"meta_required\" value=\"email\" type=\"hidden\">        <input name=\"meta_forward_vars\" value=\"\" type=\"hidden\">        <input name=\"meta_tooltip\" value=\"\" type=\"hidden\">    </div><div id=\"af-form-700937418\" class=\"af-form\">    <div id=\"af-header-700937418\" class=\"af-header\"><div class=\"bodyText\"><p>&nbsp;</p></div></div><div id=\"af-body-700937418\" class=\"af-body inline af-standards\"><div class=\"af-element textInput\"><label class=\"previewLabel\" for=\"awf_7ca82158ab2b94560be9ec8573edb60e\">Name</label><div class=\"af-textWrap\">    <input id=\"awf_7ca82158ab2b94560be9ec8573edb60e\" name=\"name\" class=\"text\" value=\"\" type=\"text\"></div><div class=\"af-clear\"></div></div><div class=\"af-element textInput\"><label class=\"previewLabel\" for=\"awf_3fc75549f6b2d6f8ebbde2048a6b91ed\">Email</label><div class=\"af-textWrap\"><input class=\"text\" id=\"awf_3fc75549f6b2d6f8ebbde2048a6b91ed\" name=\"email\" value=\"\" type=\"text\"></div><div class=\"af-clear\"></div></div><div class=\"af-element\"><center></center><div class=\"af-clear\"></div></div><div class=\"af-element buttonContainer\"><input name=\"submit\" class=\"submit\" value=\"Send My Free Site\" type=\"submit\"><div class=\"af-clear\"></div></div></div>    <div id=\"af-footer-700937418\" class=\"af-footer\"><div class=\"bodyText\"><p align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Please Note:&nbsp;</b> Your information will NEVER be sold, rented, shared, or given away PERIOD </font></p>        <p align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\">We Hate Spam with a passion, which is why we use <a href=\"http://ebookscase.com/recommends/aweber.php\" target=\"_blank\">Aweber</a></font><a href=\"http://ebookscase.com/recommends/aweber.php\" target=\"_blank\"></a> to protect your privacy </p>    </div></div><img src=\"http://forms.aweber.com/form/displays.htm?id=7AwMnMzsLIwc\" border=\"0\"></div><script type=\"text/javascript\">    (function() {        var IE = /*@cc_on!@*/false;        if (!IE) { return; }        if (document.compatMode && document.compatMode == \'BackCompat\') {            if (document.getElementById(\"af-form-700937418\")) {                document.getElementById(\"af-form-700937418\").className = \'af-form af-quirksMode\';            }            if (document.getElementById(\"af-body-700937418\")) {                document.getElementById(\"af-body-700937418\").className = \"af-body inline af-quirksMode\";            }            if (document.getElementById(\"af-header-700937418\")) {                document.getElementById(\"af-header-700937418\").className = \"af-header af-quirksMode\";            }            if (document.getElementById(\"af-footer-700937418\")) {                document.getElementById(\"af-footer-700937418\").className = \"af-footer af-quirksMode\";            }        }    })();</script><!-- /AWeber Web Form Generator 3.0 --></form></center></div></td>    </tr></tbody></table> </td></tr><div></div></tbody></table>");    
    document.body.appendChild(e);
       
    xOpacity("divActionButton",fabOpacity);
    setTimeout("winOnResize()",fabStartDelay);    
    xAddEventListener(window, 'resize', winOnResize, false);
    xAddEventListener(window, 'scroll', winOnScroll, false);
 
  }, false
);

function closeFab() {
   xVisibility('divActionButton', false);	 
}

function winOnResize() {
  xMoveTo('divActionButton', calculateXpos(), calculateYpos());
  xVisibility('divActionButton', true);	  
  winOnScroll(); // initial slide
}

function winOnScroll() {
  xSlideTo('divActionButton', calculateXpos(), calculateYpos(), fabSlideTime);
}

function calculateXpos() {
  
  switch(hAlign) {
      case LEFT: return fabHMargin;
      case MIDDLE: return (xClientWidth()/2) -  (xWidth('divActionButton')/2);
      case RIGHT: return xClientWidth()-xWidth('divActionButton') - fabHMargin;
  }
}

function calculateYpos() {
  
  switch(vAlign) {
      case TOP: return xScrollTop() + fabVMargin;
      case MIDDLE: return xScrollTop() + ((xClientHeight()/2) -  (xHeight('divActionButton')/2));
      case BOTTOM: return xScrollTop() + xClientHeight()-xHeight('divActionButton') - fabVMargin;
  }  
}


// XBrowser Functions below

/* Compiled from X 4.17 by XC 1.06 on 17Nov07 */
xLibrary={version:'4.17',license:'GNU LGPL',url:'http://cross-browser.com/'};
// xAddEventListener r8, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xAddEventListener(e,eT,eL,cap)
{
  if(!(e=xGetElementById(e)))return;
  eT=eT.toLowerCase();
  if(e.addEventListener)e.addEventListener(eT,eL,cap||false);
  else if(e.attachEvent)e.attachEvent('on'+eT,eL);
  else {
    var o=e['on'+eT];
    e['on'+eT]=typeof o=='function' ? function(v){o(v);eL(v);} : eL;
  }
}
// xCamelize r1, Copyright 2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xCamelize(cssPropStr)
{
  var i, c, a = cssPropStr.split('-');
  var s = a[0];
  for (i=1; i<a.length; ++i) {
    c = a[i].charAt(0);
    s += a[i].replace(c, c.toUpperCase());
  }
  return s;
}
// xClientHeight r5, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xClientHeight()
{
  var v=0,d=document,w=window;
  if((!d.compatMode || d.compatMode == 'CSS1Compat') && !w.opera && d.documentElement && d.documentElement.clientHeight)
    {v=d.documentElement.clientHeight;}
  else if(d.body && d.body.clientHeight)
    {v=d.body.clientHeight;}
  else if(xDef(w.innerWidth,w.innerHeight,d.width)) {
    v=w.innerHeight;
    if(d.width>w.innerWidth) v-=16;
  }
  return v;
}
// xClientWidth r5, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xClientWidth()
{
  var v=0,d=document,w=window;
  if((!d.compatMode || d.compatMode == 'CSS1Compat') && !w.opera && d.documentElement && d.documentElement.clientWidth)
    {v=d.documentElement.clientWidth;}
  else if(d.body && d.body.clientWidth)
    {v=d.body.clientWidth;}
  else if(xDef(w.innerWidth,w.innerHeight,d.height)) {
    v=w.innerWidth;
    if(d.height>w.innerHeight) v-=16;
  }
  return v;
}
// xDef r1, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xDef()
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}
// xGetComputedStyle r7, Copyright 2002-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xGetComputedStyle(e, p, i)
{
  if(!(e=xGetElementById(e))) return null;
  var s, v = 'undefined', dv = document.defaultView;
  if(dv && dv.getComputedStyle){
    s = dv.getComputedStyle(e,'');
    if (s) v = s.getPropertyValue(p);
  }
  else if(e.currentStyle) {
    v = e.currentStyle[xCamelize(p)];
  }
  else return null;
  return i ? (parseInt(v) || 0) : v;
}

// xGetElementById r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xGetElementById(e)
{
  if(typeof(e)=='string') {
    if(document.getElementById) e=document.getElementById(e);
    else if(document.all) e=document.all[e];
    else e=null;
  }
  return e;
}
// xHeight r6, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xHeight(e,h)
{
  if(!(e=xGetElementById(e))) return 0;
  if (xNum(h)) {
    if (h<0) h = 0;
    else h=Math.round(h);
  }
  else h=-1;
  var css=xDef(e.style);
  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    h = xClientHeight();
  }
  else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) {
    if(h>=0) {
      var pt=0,pb=0,bt=0,bb=0;
      if (document.compatMode=='CSS1Compat') {
        var gcs = xGetComputedStyle;
        pt=gcs(e,'padding-top',1);
        if (pt !== null) {
          pb=gcs(e,'padding-bottom',1);
          bt=gcs(e,'border-top-width',1);
          bb=gcs(e,'border-bottom-width',1);
        }
        // Should we try this as a last resort?
        // At this point getComputedStyle and currentStyle do not exist.
        else if(xDef(e.offsetHeight,e.style.height)){
          e.style.height=h+'px';
          pt=e.offsetHeight-h;
        }
      }
      h-=(pt+pb+bt+bb);
      if(isNaN(h)||h<0) return;
      else e.style.height=h+'px';
    }
    h=e.offsetHeight;
  }
  else if(css && xDef(e.style.pixelHeight)) {
    if(h>=0) e.style.pixelHeight=h;
    h=e.style.pixelHeight;
  }
  return h;
}
// xLeft r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xLeft(e, iX)
{
  if(!(e=xGetElementById(e))) return 0;
  var css=xDef(e.style);
  if (css && xStr(e.style.left)) {
    if(xNum(iX)) e.style.left=iX+'px';
    else {
      iX=parseInt(e.style.left);
      if(isNaN(iX)) iX=xGetComputedStyle(e,'left',1);
      if(isNaN(iX)) iX=0;
    }
  }
  else if(css && xDef(e.style.pixelLeft)) {
    if(xNum(iX)) e.style.pixelLeft=iX;
    else iX=e.style.pixelLeft;
  }
  return iX;
}
// xMoveTo r1, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xMoveTo(e,x,y)
{
  xLeft(e,x);
  xTop(e,y);
}
// xNum r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xNum()
{
  for(var i=0; i<arguments.length; ++i){if(isNaN(arguments[i]) || typeof(arguments[i])!='number') return false;}
  return true;
}
// xOpacity r1, Copyright 2006-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xOpacity(e, o)
{
  var set = xDef(o);
  //  if (set && o == 1) o = .9999; // FF1.0.2 but not needed in 1.5
  if(!(e=xGetElementById(e))) return 2; // error
  if (xStr(e.style.opacity)) { // CSS3
    if (set) e.style.opacity = o + '';
    else o = parseFloat(e.style.opacity);
  }
  else if (xStr(e.style.filter)) { // IE5.5+
    if (set) e.style.filter = 'alpha(opacity=' + (100 * o) + ')';
    else if (e.filters && e.filters.alpha) { o = e.filters.alpha.opacity / 100; }
  }
  else if (xStr(e.style.MozOpacity)) { // Gecko before CSS3 support
    if (set) e.style.MozOpacity = o + '';
    else o = parseFloat(e.style.MozOpacity);
  }
  else if (xStr(e.style.KhtmlOpacity)) { // Konquerer and Safari
    if (set) e.style.KhtmlOpacity = o + '';
    else o = parseFloat(e.style.KhtmlOpacity);
  }
  return isNaN(o) ? 1 : o; // if NaN, should this return an error instead of 1?
}
// xScrollTop r3, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xScrollTop(e, bWin)
{
  var offset=0;
  if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    var w = window;
    if (bWin && e) w = e;
    if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop;
    else if(w.document.body && xDef(w.document.body.scrollTop)) offset=w.document.body.scrollTop;
  }
  else {
    e = xGetElementById(e);
    if (e && xNum(e.scrollTop)) offset = e.scrollTop;
  }
  return offset;
}
// xSlideTo r3, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xSlideTo(e, x, y, uTime)
{
  if (!(e=xGetElementById(e))) return;
  if (!e.timeout) e.timeout = 25;
  e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false;
  e.yA = e.yTarget - xTop(e); e.xA = e.xTarget - xLeft(e); // A = distance
  if (e.slideLinear) e.B = 1/e.slideTime;
  else e.B = Math.PI / (2 * e.slideTime); // B = period
  e.yD = xTop(e); e.xD = xLeft(e); // D = initial position
  var d = new Date(); e.C = d.getTime();
  if (!e.moving) _xSlideTo(e);
}
function _xSlideTo(e)
{
  if (!(e=xGetElementById(e))) return;
  var now, s, t, newY, newX;
  now = new Date();
  t = now.getTime() - e.C;
  if (e.stop) { e.moving = false; }
  else if (t < e.slideTime) {
    setTimeout("_xSlideTo('"+e.id+"')", e.timeout);

    s = e.B * t;
    if (!e.slideLinear) s = Math.sin(s);
//    if (e.slideLinear) s = e.B * t;
//    else s = Math.sin(e.B * t);

    newX = Math.round(e.xA * s + e.xD);
    newY = Math.round(e.yA * s + e.yD);
    xMoveTo(e, newX, newY);
    e.moving = true;
  }  
  else {
    xMoveTo(e, e.xTarget, e.yTarget);
    e.moving = false;
    if (e.onslideend) e.onslideend();
  }  
}

// xStr r1, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xStr(s)
{
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}
  return true;
}
// xTop r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xTop(e, iY)
{
  if(!(e=xGetElementById(e))) return 0;
  var css=xDef(e.style);
  if(css && xStr(e.style.top)) {
    if(xNum(iY)) e.style.top=iY+'px';
    else {
      iY=parseInt(e.style.top);
      if(isNaN(iY)) iY=xGetComputedStyle(e,'top',1);
      if(isNaN(iY)) iY=0;
    }
  }
  else if(css && xDef(e.style.pixelTop)) {
    if(xNum(iY)) e.style.pixelTop=iY;
    else iY=e.style.pixelTop;
  }
  return iY;
}
// xVisibility r1, Copyright 2003-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xVisibility(e, bShow)
{
  if(!(e=xGetElementById(e))) return null;
  if(e.style && xDef(e.style.visibility)) {
    if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden';
    return e.style.visibility;
  }
  return null;
}

//function xVisibility(e,s)
//{
//  if(!(e=xGetElementById(e))) return null;
//  var v = 'visible', h = 'hidden';
//  if(e.style && xDef(e.style.visibility)) {
//    if (xDef(s)) {
//      // try to maintain backwards compatibility (???)
//      if (xStr(s)) e.style.visibility = s;
//      else e.style.visibility = s ? v : h;
//    }
//    return e.style.visibility;
//    // or...
//    // if (e.style.visibility.length) return e.style.visibility;
//    // else return xGetComputedStyle(e, 'visibility');
//  }
//  else if (xDef(e.visibility)) { // NN4
//    if (xDef(s)) {
//      // try to maintain backwards compatibility
//      if (xStr(s)) e.visibility = (s == v) ? 'show' : 'hide';
//      else e.visibility = s ? v : h;
//    }
//    return (e.visibility == 'show') ? v : h;
//  }
//  return null;
//}
// xWidth r6, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xWidth(e,w)
{
  if(!(e=xGetElementById(e))) return 0;
  if (xNum(w)) {
    if (w<0) w = 0;
    else w=Math.round(w);
  }
  else w=-1;
  var css=xDef(e.style);
  if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    w = xClientWidth();
  }
  else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) {
    if(w>=0) {
      var pl=0,pr=0,bl=0,br=0;
      if (document.compatMode=='CSS1Compat') {
        var gcs = xGetComputedStyle;
        pl=gcs(e,'padding-left',1);
        if (pl !== null) {
          pr=gcs(e,'padding-right',1);
          bl=gcs(e,'border-left-width',1);
          br=gcs(e,'border-right-width',1);
        }
        // Should we try this as a last resort?
        // At this point getComputedStyle and currentStyle do not exist.
        else if(xDef(e.offsetWidth,e.style.width)){
          e.style.width=w+'px';
          pl=e.offsetWidth-w;
        }
      }
      w-=(pl+pr+bl+br);
      if(isNaN(w)||w<0) return;
      else e.style.width=w+'px';
    }
    w=e.offsetWidth;
  }
  else if(css && xDef(e.style.pixelWidth)) {
    if(w>=0) e.style.pixelWidth=w;
    w=e.style.pixelWidth;
  }
  return w;
}

// xCreateElement r1, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xCreateElement(sTag)
{
  if (document.createElement) return document.createElement(sTag);
  else return null;
}

// xInnerHtml r1, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xInnerHtml(e,h)
{
  if(!(e=xGetElementById(e)) || !xStr(e.innerHTML)) return null;
  var s = e.innerHTML;
  if (xStr(h)) {e.innerHTML = h;}
  return s;
}
