// JavaScript Document

function swap(targetId){

 	var off = 0;
	if (window.pageYOffset) off = parseInt(window.pageYOffset);
	else if (window.scrollY && (off==0)) off = parseInt(window.scrollY);
	else if (document.body.scrollTop && (off==0)) off = parseInt(document.body.scrollTop);
	else if (document.body.parentNode.scrollTop && (off==0)) off = parseInt(document.body.parentNode.scrollTop);

  if (document.getElementById)
        {
        target = document.getElementById(targetId);
            if (target.style.display == "none")
                {
				target.style.width = popwidth;
				target.style.height = popheight;
				target.style.marginLeft = -(popwidth/2);
				target.style.marginTop = off-(popheight/2);
				id = document.getElementById("frameBackground");
				id.style.width = popwidth-30;
				id.style.height = popheight-30;
				id.style.marginLeft = -((popwidth-30)/2);
				id.style.marginTop = -((popheight-30)/2);
				id = document.getElementById("displayArea");
				id.style.width = popwidth-popleft;
				id.style.height = popheight-140;
				id.style.marginLeft = -((popwidth-popleft)/2);
				id.style.marginTop = -((popheight-140)/2);
				id = document.getElementById("closeWidget");
				id.style.marginLeft = ((popwidth-140)/2);
				id.style.marginTop = -((popheight-40)/2);
               target.style.display = "block";
//               target.style.marginTop = off-270;
               } 
            else 
                {
				var theImage = document.getElementById("mainPhoto");
				theImage.setAttribute("src", "");
                target.style.display = "none";
				}
                
        }
		

//	if (document.getElementById) {
//		document.getElementById("frameBorder").style.marginTop = off-230;
//		document.getElementById("frameBackground").style.marginTop = off-220;
	//	document.getElementById("displayArea").style.marginTop = off-150;
	//	document.getElementById("closeWidget").style.marginTop = off-210;
//	}
	
}


function swapPhoto(photoSRC,theCaption,theDetail) {

if (document.getElementById("frameBorder")) {

	var theImage = document.getElementById("mainPhoto");
	var displayedCaption = document.getElementById("caption");
	var displayedDetails = document.getElementById("details");
	displayedCaption.firstChild.nodeValue = theCaption;
	displayedDetails.firstChild.nodeValue = theDetail;
	theImage.setAttribute("src", photoSRC);
	
	return false;
    }
	return true;
  }

function swapBook(photoSRC,theTitle,theDetail,theAuthor,theISBN,theRRP, theAddr) {

if (document.getElementById("frameBorder")) {

	var theImage = document.getElementById("mainPhoto");
	var displayedCaption = document.getElementById("caption");
	var displayedDetails = document.getElementById("details1");
	var displayedTitle = document.getElementById("title");
	var displayedAuthor = document.getElementById("author");
	var displayedIsbn = document.getElementById("isbn");
	var displayedRrp = document.getElementById("rrp");
	var displayedLink = document.getElementById("goAddSub");
	displayedCaption.firstChild.nodeValue = theTitle;
	displayedDetails.firstChild.nodeValue = theDetail;
	displayedTitle.firstChild.nodeValue = theTitle;
	displayedAuthor.firstChild.nodeValue = theAuthor;
	displayedIsbn.firstChild.nodeValue = theISBN;
	displayedRrp.firstChild.nodeValue = theRRP;
	theImage.setAttribute("src", photoSRC);
	displayedLink.setAttribute("href", theAddr);
	if ( theAddr.indexOf("subto",0) > 0 ) {	// subtract from heart
		document.getElementById("photoAddSub").setAttribute("src", "images/subcartp.gif");
//		displayedLink.firstChild.nodeValue = "REMOVE this item from your heart";
	}
	else {
		document.getElementById("photoAddSub").setAttribute("src", "images/addcartp.gif");
//		displayedLink.firstChild.nodeValue = "ADD this item to your heart";
	}
	
	return false;
    }
	return true;
  }

function doHoverAddSub( htype ) {
	var displayedLink = document.getElementById("goAddSub");
	var theAddr = displayedLink.getAttribute("href");
	if ( htype == 'H' ) {
		if ( theAddr.indexOf("subto",0) > 0 ) document.getElementById("photoAddSub").setAttribute("src", "images/subcarto.gif");
		else document.getElementById("photoAddSub").setAttribute("src", "images/addcarto.gif");
	}
	else {
		if ( theAddr.indexOf("subto",0) > 0 ) document.getElementById("photoAddSub").setAttribute("src", "images/subcartp.gif");
		else document.getElementById("photoAddSub").setAttribute("src", "images/addcartp.gif");
	}
}

function cachePortTags( image1, image2, image3 ) {
	var d=document; if(d.images){
		if(!d.portcache) d.portcache=new Array();
    	d.portcache[0]=new Image; d.portcache[0].src=image1;
    	d.portcache[1]=new Image; d.portcache[1].src=image2;
    	d.portcache[2]=new Image; d.portcache[2].src=image3;
	}
}

function getCachePort( target, ind ) {
	var d=document; if(d.images){
	if (document.getElementById(target) && d.portcache[ind]) {
		document.getElementById(target).setAttribute("src", d.portcache[ind].src);
	}
	}
}

function swapCart(){

 	var off = 0;
	if (window.pageYOffset) off = parseInt(window.pageYOffset);
	else if (window.scrollY && (off==0)) off = parseInt(window.scrollY);
	else if (document.body.scrollTop && (off==0)) off = parseInt(document.body.scrollTop);
	else if (document.body.parentNode.scrollTop && (off==0)) off = parseInt(document.body.parentNode.scrollTop);

  if (document.getElementById)
        {
        target = document.getElementById("frameBorderCart");
 		id = document.getElementById("dbselector");
            if (target.style.display == "none")
                {
				target.style.marginTop = off-(225);
               target.style.display = "block";
				if ( id ) id.style.visibility = "hidden";
              } 
            else 
                {
                target.style.display = "none";
				if ( id ) id.style.visibility = "visible";
				}
                
        }
		
	
}

function doAlert() {
	if ( alertmsg ) { if ( alertmsg != "" ) alert( alertmsg ); }
}

<!-- 
// Use Freely as long as following disclaimer is intact ::
//---------------------------------------------------------------
// Cross Browser Multi-Directional Scroller v1.0 24th August 2004
// This script written by Rik Comery. www.ricom.co.uk
// For support, visit the "Resources" section at www.ricom.co.uk           
// All rights reserved.   
// Featured in the SimplytheBest DHTML Scripts Library at http://simplythebest.net/scripts/
                                     
Article = new Array;
i=0;

/* DEFINE SCROLLER ELEMENTS
  Define new scroller elements here in the following format.
  Article[i] = new Array ("display text", "URL", "frame target to load link in");i++  
  Note: If you do not want the item to be a link, change the URL value to "none".
*/
//  Article[i] = new Array ("Welcome to PlanMagic", "http://planmagic.com", "_blank");i++  
  Article[i] = new Array ("Global Contact wins 2006 Shoalhaven Small Business Award!", "none", "");i++
  Article[i] = new Array ('Order online and WIN! For every order placed online you enter the draw to win 2 nights accommodation at our <a class="altlink2" href="http://www.jerajamal.com">Jera Jamal</a> accommodation retreat. The draw takes place three times a year so don\'t miss out!', "none", "");i++
  Article[i] = new Array ("BERRY MOUNTAIN FESTIVAL - Sunday 29th October 2006. A fundraiser for the Beaumont Rural Fire Brigade. Arts & Craft, Stalls, Local Porduce, Open Gardens and more ...", "none", "");i++
  Article[i] = new Array ('Join our <a class="altlink2" href="joinmail.php">Mailing List</a> and receive info and special offers just for our list of friends.', "none", "");i++

////// SCROLLER CONFIGURATION ///////////////////////////////////////////////////////////////////  

orientation = "horizontal"        // Orientation of scroller (Horizontal or vertical)
scrollerWidth = "790"             // Width of entire scroller.
scrollerHeight = "16"             // Height of Scroller.
borderWidth = 0                   // Width of border. (use 0 for no border).
borderColour = "#000000"          // Colour of scroller border. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red") 
backColour = "#ffffff"              // Colour of scroller background. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red") 
staticColour = "#fb7310"          // Colour of scroller items that are NOT a link. (including scrollerDivider characters)
stopScroll = 1                    // Pause the scroller on mouseOver. (use 0 for no.)
textAlignment="left"            // Alignment of each scroller item.  Only really makes a difference on vertical scroller
                                  // (center, left, right, justify)

// Scroller Links
linkFont = "Verdana, Arial, Helvetica, sans-serif"                // Font of scroller links;
linkWeight = "bold"             // Weight of scroller links;
linkColour = "#000080"            // Colour of scroller links
linkSize = "7"                   // Size of links (in points)
linkDecoration = "none"           // Decoration of links. (underline, overline, none)

// Scroller Links On MouseOver
slinkFont = "Verdana, Arial, Helvetica, sans-serif"               // Font of scroller links;
slinkWeight = "bold"            // Weight of scroller links;
slinkColour = "#cc3333"           // Colour of scroller links
slinkSize = "7"                  // Size of links (in points)
slinkDecoration = "underline"     // Decoration of links. (underline, overline, none)

scrollerDivider = '<img src="images/heartow.gif">' // Character to place between each scroller item. 
                                  // <img> tags can be used if an image is required. 
                                  // Use "0" for nothing.  For Vertical scrollers, it is best to use "<br>"

/* 
  Because Netscape version 4 does not support this scroller, configure the values below so NS4 users do not see an error. 
  In the scroller's place will be a static title which can be a link if require.  The appearance of the static text (colour, scroller border etc)
  will be exactly the same as for the working version in other browsers.
*/
ns4Text = "GlobalContact Wins!!";  // Alternative text to display in Netscape 4.
ns4URL = "none";            // URL of link in NS4. If no URL is required, enter "none"
ns4Target = "_top";                           // Frame target for link in NS4

////// DO NOT EDIT BELOW THIS LINE  ///////////////////////////////////////////////////////////////////

//Browser Sniffer
var isIE = (document.getElementById && document.all)?true:false;
var isNS4 = (document.layers)?true:false;
var isNS6 = (document.getElementById && !document.all)?true:false;

style='<style type="text/css">';
style+='p{font-family:'+linkFont+'; color:'+staticColour+'; font-size:'+linkSize+'pt; font-weight:'+linkWeight+'; text-align:'+textAlignment+'}';
style+='a.rcScroller,a.rcScroller:active,a.rcScroller:visited{color:'+linkColour+';text-decoration:'+linkDecoration+'; font-weight:'+linkWeight+'}';
style+='a.rcScroller:hover{color:'+slinkColour+';text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
style+='rcScrollerHoverNS{color:red;text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
style+='<\/style>';
document.writeln(style);

// Build the scroller and place it on the page
function buildScroller()
{
  if(isNS4){
    scroller='<table border="0" cellpadding="0" cellspacing="0" width="'+scrollerWidth+'" bgcolor="'+borderColour+'"><tr><td>'
    scroller+='<table border="0" cellpadding="3" cellspacing="1" width="100%" height="'+scrollerHeight+'" bgcolor="'+backColour+'"><tr><td align="center" nowrap><p>';
    if(ns4URL.toLowerCase()!="none"){scroller+='<a href="'+ns4URL+'" class="rcScroller" target="'+ns4Target+'">'+ns4Text+'</a>';}
    else{scroller+=ns4Text;} 
    scroller+='</p></td></tr></table></td></tr></table>'   
  }else{
    scroller='<table border="0" cellpadding="0" cellspacing="0" style="width:'+scrollerWidth+';height:'+scrollerHeight+';border:'+borderWidth+'px solid '+borderColour+';background-color:'+backColour+'">';
    scroller+='<tr valign="middle"><td><div id="div" style="';
    if(orientation.toLowerCase()=="vertical"){scroller+='height:'+scrollerHeight+';';}
    scroller+='width:'+scrollerWidth+'; position:relative; background-color:'+backColour+'; overflow:hidden">';
    scroller+='<div id="div1" style="position:relative; left:0; z-index:1">';
    scroller+='<table border="0" name="table" id="table"';
    if(orientation.toLowerCase()=="vertical"){scroller+='style="width:'+scrollerWidth+'"';}
    scroller+='><tr>';
    y=0;
    while (y<4)
    {
      for (x=0; x<(Article.length); x++)
      {
        if(orientation.toLowerCase()=="vertical"){scroller+='<tr>';}
        scroller+='<td ';
        if(orientation.toLowerCase()=="horizontal"){scroller+='nowrap';} if(stopScroll==1){scroller+=' onMouseOver="stopScroller();" onMouseOut="setWidth()"';}
        scroller+='><p>';
        if(Article[x][1].toLowerCase()!="none"){scroller+='<a class="rcScroller" href="'+Article[x][1]+'" target="'+Article[x][2]+'" >'+Article[x][0]+'<\/a>';
        }else{scroller+=Article[x][0];}          
        scroller+='</p><\/td>';
        
        if(orientation.toLowerCase()=="vertical"){scroller+='<\/tr>';}
              
        if(scrollerDivider.toLowerCase() != "none"){scroller+='<td nowrap><p>'+scrollerDivider+'<\/p><\/td>';}
      }
      y++
    }
    scroller+='<\/tr><\/table><\/div><\/div><\/td><\/tr><\/table>';  
  }
  document.writeln(scroller);
}
// Ensure the width of the scroller is divisible by 2. This allows smooth flowing of the scrolled content
function setWidth()
{ 
  tableObj=(isIE)?document.all("table"):document.getElementById("table"); 
  obj=(isIE)?document.all.div1:document.getElementById("div1");   
  objWidth=(orientation.toLowerCase()=="horizontal")?getOffset(tableObj,"width"):getOffset(tableObj,"height");
  HalfWidth=Math.floor(objWidth/2);
  newWidth = (HalfWidth*2)+2;
  obj.style.width=newWidth
  moveLayer(obj, newWidth);
  
}

// Move the layer by one pixel to the left
function moveLayer(obj, width)
{
  
  maxLeft = (0-(width/2)+2)/2
  if(orientation.toLowerCase()=="horizontal"){
    obj.style.left=(parseInt(obj.style.left) <= maxLeft)?0:parseInt(obj.style.left)-1
  }else{
    if(obj.style.top==""){obj.style.top=0;}
   // alert(obj.style.top)
    if (parseInt(obj.style.top)<(0-(width/2)+6)){
      obj.style.top = 0
    }else{
      obj.style.top = parseInt(obj.style.top)-1
    }
  }
  timer = setTimeout ("moveLayer(obj, "+width+");", 35); 
}

// Get width and height of layer
function getOffset(obj, dim) 
{
  if(dim=="width")
  {
    oWidth = obj.offsetWidth
    return oWidth
  }  
  else if(dim=="height")
  {
    oHeight = obj.offsetHeight
    return oHeight
  }    
}

function stopScroller()
{
  clearTimeout(timer)  
}

function runScroller(){
  if(!isNS4){setWidth()}
}
////// END OF SCRIPT  ///////////////////////////////////////////////////////////////////
//-->

