function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}

function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function DeleteCookie (name,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function IOSOpenWindow(MyLink, WindowName)
{
 var MyWin=window.open(MyLink.href, WindowName, "height=350,width=445,dependent=yes,scrollbars=yes,toolbar=yes,resizable=yes");
 MyWin.focus();
}

function AddToBasket(BasketName, ID)
  { 
   var Basket = GetCookie("Basket");
   if ((Basket == null) || (Basket.indexOf("," + ID + ",", 0) == -1))
      {
       if (Basket == null) 
          Basket = "," + ID + ","
       else
          Basket += ID + ",";
       var today = new Date();
       var expires = new Date();
       expires.setTime(today.getTime() + 60*60*24*365)
       SetCookie("Basket", Basket, expires);       
       ActionCompleted("Added to " + BasketName); 	
      }
  else 
  ActionCompleted("Already in " + BasketName); 
} 

function EmptyBasket(BasketName)
   {
    DeleteCookie("Basket");
    ActionCompleted(BasketName + " emptied");
   }

function ViewBasket(BasketName)
   {
    if (BasketFrame.document.hasChildNodes) 
      while (BasketFrame.document.hasChildNodes())
         BasketFrame.document.removeChild(BasketFrame.document.lastChild);
    if (BasketItemFrame.document.hasChildNodes) 
       while (BasketItemFrame.document.hasChildNodes())
          BasketItemFrame.document.removeChild(BasketItemFrame.document.lastChild);
    BasketItemFrame.document.writeln('<html><body>');	
    Basket = GetCookie("Basket");
    if ((Basket == null) || (Basket.length == 0)) 
       BasketFrame.document.writeln(BasketName + " is empty.")
    else 
       {
        var i = 0;
        var ID = null;
        FrameData = '';
        clen = Basket.length;          
        for (i = 0;i < clen;i++)
           {
	    if (Basket.substring(i, i + 1) == ',') 
              {
               if (ID != null) 
                 {
                   BasketItemFrame.document.writeln('<div><iframe name=\"BasketItemFrame' + i + '\" src=\"' + ID + '.html\"></iframe></div>');
                 }
               ID = null;
              }    
           else
              {
               if (ID == null) 
                  ID = Basket.substring(i, i + 1)
               else             
                  ID += Basket.substring(i, i + 1);
              }
          }    
       }
    BasketItemFrame.document.writeln('</body></html>');	 
   }  

function PrintBasket()
{ 
  if (BasketFrame.print)
     {
       BasketFrame.print();
     }
}

function GetIOSContent(UnitHTML, StylePath)
  {
   var StartPos = UnitHTML.indexOf('<!-- IOSContentBegin -->', 0);
   var EndPos = UnitHTML.indexOf('<!-- IOSContentEnd -->', 0);  
    if ((StartPos != -1) && (EndPos != -1))
       {      
        return '<html><head><link rel=stylesheet href=\"' + StylePath + '\"></head><body>' + UnitHTML.substring(StartPos + 24, EndPos) + '</body></html>'; 
       }   
   else
      return UnitHTML;
  }

function ActionCompleted(Action)
  { 
    var node = document.getElementById("progressbox");
    if (node != null)
       { 
        node.innerHTML = '<img src="dddd/Resources/mybook.gif">' + ' ' + Action;
        var progressWidth = getWindowWidth() * 0.6;
        var progressHeight = 100;
        node.style.width = progressWidth;
        node.style.height = progressHeight;
	node.style.left = Math.round((document.body.clientWidth - progressWidth) / 2); 
        node.style.top = Math.round((document.body.clientHeight - progressHeight) / 2)
        node.style.visibility = "visible";
        setTimeout('HideAction()', 2000);
       }
  }

function HideAction()
  { 
    var node = document.getElementById("progressbox");
    if (node != null)
       { 
        node.style.visibility = "hidden";
       }
  }

function getWindowHeight() 
  {
    if( typeof( window.innerWidth ) == 'number' ) 
      {
       //Non-IE
       return window.innerHeight;
      }
   else 
      {
       if( document.documentElement &&
          ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
        {
        //IE 6+ in 'standards compliant mode'
           return document.documentElement.clientHeight;
        }
       else 
        {
         if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
           {
             //IE 4 compatible
             return document.body.clientHeight;
           }
        }
      }
   }

function getWindowWidth() 
  {
    if( typeof( window.innerWidth ) == 'number' ) 
      {
       //Non-IE
       return window.innerWidth;
      }
   else 
      {
       if( document.documentElement &&
          ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
        {
        //IE 6+ in 'standards compliant mode'
           return document.documentElement.clientWidth;
        }
       else 
        {
         if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
           {
             //IE 4 compatible
             return document.body.clientWidth;
           }
        }
      }
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else {
    if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
      //DOM compliant
      scrOfY = document.body.scrollTop;
      scrOfX = document.body.scrollLeft;
    } else {
      if( document.documentElement &&
          ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
      	//IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
      }
    }
  }
  return [ scrOfX, scrOfY ];
}

function SetupBullets() {
   if (navigator.appName.indexOf("Microsoft Internet Explorer") != -1)
      {
         var MyBullets = document.getElementsByTagName('span');
         for (i=0;i<MyBullets.length;i++) {    
            if (MyBullets[i].name == "iosbullet") {
               MyBullets[i].style.position = "absolute";  
            }
         }
      }
}
