var prodPicLoadFlag = false;

var numProdImages=24;
var prodImgNames=new Array();
prodImgNames[0]="Top_boy_fix";
prodImgNames[1]="Top_boy_dyn";
prodImgNames[2]="Back_girl_fix";
prodImgNames[3]="Back_girl_dyn";
prodImgNames[4]="Photo_fix";
prodImgNames[5]="Photo_dyn";
prodImgNames[6]="NextSample_fix";
prodImgNames[7]="NextSample_dyn";
prodImgNames[8]="MagnifySample_fix";
prodImgNames[9]="MagnifySample_dyn";
prodImgNames[10]="PrintSample_fix";
prodImgNames[11]="PrintSample_dyn";
prodImgNames[12]="ProductBulbOff";
prodImgNames[13]="ProductBulbOn";
prodImgNames[14]="PromotionsFreeDeliveryUKfix";
prodImgNames[15]="PromotionsFreeDeliveryUKdyn";
prodImgNames[16]="PromotionsFreeDeliveryROIfix";
prodImgNames[17]="PromotionsFreeDeliveryROIdyn";
prodImgNames[18]="PromotionsEmailNews";		// Not Used
prodImgNames[19]="PromotionsEmailNewsRoll";	// Not Used
prodImgNames[20]="PromotionsMagPhonicsfix";
prodImgNames[21]="PromotionsMagPhonicsdyn";
prodImgNames[22]="PromotionsQuizCardsfix";
prodImgNames[23]="PromotionsQuizCardsdyn";
prodImgNames[24]="CatNewFix";
prodImgNames[25]="CatNewDyn";

var prodPics=new Array();

loadprodImages();

function newPic(Img) {
  this.name = Img;
  this.img = newImage(Img);
}

function newImage(arg) {
   if (document.images) {
      rslt = new Image();
      rslt.src = arg;
      return rslt;
   }
}

function loadprodImages() {
  var img;
  var path = rootrel + 'images/';
  if (document.images) {
    for (i in prodImgNames) {
      imgName = prodImgNames[i];
      img = path + imgName + '.gif';
      prodPics[i]=new newPic(img);
    }
    prodPicLoadFlag = true;
  }
  else {
      str = "loadprodImages()";
      setTimeout(str, 100);
  }
}

function chooseProdPic(ImgNo, Ref) {
  if (document.images && prodPicLoadFlag) {
    var BaseImg = Math.floor(ImgNo/2) * 2;
    if (Ref) {
      eval("document.ProdPic_" + BaseImg + Ref + ".src = prodPics[ImgNo].name");
    } 
    else {
      eval("document.ProdPic_" + BaseImg + ".src = prodPics[ImgNo].name");
    }
  }
}

function prodSelect(code) {
//
// Product Category selector
//
  var str =''; 
  str += '  <tr>\n'
  		+	'	<td bgcolor="#00ccff" width="160">\n'
  		+	'		<img src="' + rootrel + 'images/blsq.gif" height="5" border="0"></br>\n'
  		+	'		<div class=h5tr>&nbsp;&nbsp;Find resource...</div>\n'
  		+	'		<img src="' + rootrel + 'images/blsq.gif" height="5" border="0"></div>\n'
  		+	'		<table cellSpacing=0 cellPadding=0 border=0 width=100%>\n'
  		+	'			<tr><td width=5><img src="' + rootrel + 'images/blsq.gif" width="5" border="0"></td>\n'
  		+	'			<td><ilayer id="layerMenu"><div id="divCatMenu">\n'
    	+	'			<img src="' + rootrel + 'images/blsq.gif" width="160" height="25" alt="" border="0">\n'
  		+	'			</div></ilayer>\n'
  		+	'			</td></tr>\n'
  		+	'		</table>\n'
  		+	'		<img src="' + rootrel + 'images/blsq.gif" height="5" border="0">\n'
  		+	'	</td></tr>\n'
      +  '  <tr><td>\n'
  		+	'		<img src="' + rootrel + 'images/blsq.gif" height="5" border="0"></br>\n'
  		+	'	</td></tr>\n';
  return str;
}

function newwin(site) {
  newWin=window.open(site);
}

function promo1() {
//
// Promo 1 - WhatsNew
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="javascript:top.frmCart.showCat(' + "'new'" + ',' + "'" + rootrel + "'" + ')">\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsWhatsNew.gif" width="160" border=0></a><P></P></TD></TR>\n';
  return str;
}

function promo2() {
//
// Promo 2 - WhatsNewBlue
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="javascript:top.frmCart.showCat(' + "'new'" + ',' + "'" + rootrel + "'" + ')">\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsWhatsNewBlue.gif" width="160" border=0></a><P></P></TD></TR>\n';
  return str;
}

function promo3() {
//
// Promo 3 - Free Download
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><A href="' + rootrel + 'specoff01.htm">\n';
  str += '   <IMG src="' + rootrel + 'images/Promo-DownloadSpr2010.gif" border=0><br />\n';
  str += '   <span class="h4redc">20 NEW FREE<br />High-Frequency<br />\n';      
  str += '    Word Worksheets<br />\n';
  str += '    to download\n';
  str += '   </span>\n';
  str += '   </a><br />&nbsp;</TD></TR>\n';
  return str;
}

function promo4() {
//
// Promo 4 - Catalogue
//
  var str = '';
  var img    = rootrel + 'images/PromotionsCatalogue2010.gif';
  if(Irish()) {
    img    = rootrel + 'images/PromotionsCatalogue2010ROI.gif';
  }
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="' + rootrel + 'mailcat01.htm">\n';
  str += '   <IMG src="' + img + '" width="150" border=0><br>\n';
  str += '   <span class="h4or">If you would like us<br>to post you our\n';
  str += '   <br>latest catalogue,<br>click here!</span></a><P></P></TD></TR>\n';
  return str;
}

function promo5() {
//
// Promo 5 - Free Delivery
//
  var str = '';
  var imgFix = 14;
  var imgDyn = 15;
//  if(top.frmCart.modeIrish()) {
  if(Irish()) {
    imgFix = 16;
    imgDyn = 17;
  }
  var img    = prodPics[imgFix].name;
  str += '  <TR>\n';
  str += '   <TD align="center">\n';
  str += '   <A HREF="#"  ONMOUSEOVER="chooseProdPic(' + imgDyn + '); return true;"\n';
  str += '                ONMOUSEOUT ="chooseProdPic(' + imgFix + '); return true;">\n';
  str += '   <IMG NAME="ProdPic_' + imgFix + '" src="' + img + '" WIDTH="150" BORDER=0></A>\n';
  str += '   <span class=h4gr>';
  if(Irish()) {
    str += 'Free delivery on all orders over &euro;50 (excl.VAT)';
  } else {
    str += 'Free delivery on all orders over &#163;30 (excl.VAT)';
  }
  str += '   <br></span><P></P></TD></TR>\n';
  return str;
}

function promo6() {
//
// Promo 6 - Telling the time
//
  var str = '';
  str += '  <TR>\n';
  str += '    <TD align="center"><a href="javascript:top.frmCart.showProd(\'N011\',\'' + rootrel + '\')">\n';
  str += '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\n' +
         ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"\n' +
         ' WIDTH="150" HEIGHT="212" id="TTClock150" ALIGN="center">\n' +
         ' <PARAM NAME=movie VALUE="' + rootrel + 'flash/TTClock150.swf">\n' +
         ' <PARAM NAME=quality VALUE=high>\n' +
         ' <PARAM NAME=wmode value=transparent>\n' +
         ' <PARAM NAME=bgcolor VALUE=#FFFFFF>\n' +
         ' <EMBED src="' + rootrel + 'flash/TTClock150.swf" quality=high wmode="transparent" bgcolor=#FFFFFF WIDTH="150" HEIGHT="212"\n' +                   ' NAME="TTClock150" ALIGN="center"' +
         ' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>\n' +
         '</OBJECT>\n';
  str += '    <span class=h4blu>Get the time right with<br>Telling the Time<br></span></a><P></P></TD></TR>\n';
  return str;
}

function promo7() {
//
// Promo 7 - EmailNewsletter
//
  var str = '';
//  var imgFix = 18;
//  var imgDyn = 19;
//  var img    = prodPics[imgFix].name;
  str += '  <TR>\n';
  str += '   <TD align="center"><A HREF="' + rootrel + 'email01.htm"';
//  str += '     ONMOUSEOVER="chooseProdPic(' + imgDyn + '); return true;"';
//  str += '     ONMOUSEOUT ="chooseProdPic(' + imgFix + '); return true;"';
  str += '>\n';
//  str += '   <IMG NAME="ProdPic_' + imgFix + '" src="' + img + '" WIDTH="150" BORDER=0>\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsENews.gif" width="150" border=0><br>\n';
  str += '   <span class="h4blu2">Get the latest on<br>products and offers.<br>Easylearn eNews<br>\n';
//  if (Irish()) {
//   str += 'could win &euro;150 worth<br>\n';
//   }
//  else {
//   str += 'could win £100 worth<br>\n';
//  }
//  str += 'of Easylearn<br>resources.</span><br>\n';
  str += '   </a><P></P></TD></TR>\n';
  return str;
}

function promo8() {
//
// Promo 8 - Quiz Cards
//
  var str = '';
  var imgFix = 22;
  var imgDyn = 23;
  var img    = prodPics[imgFix].name;
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'Ph609\',\'' + rootrel + '\')"\n';
  str += '     ONMOUSEOVER="chooseProdPic(' + imgDyn + '); return true;"\n';
  str += '     ONMOUSEOUT ="chooseProdPic(' + imgFix + '); return true;">\n';
  str += '   <IMG NAME="ProdPic_' + imgFix + '" src="' + img + '" WIDTH="150" BORDER=0>\n';
  str += '   <span class="h4or">Two clued-up card<br>games for consonant<br>clusters and long<br>vowel phonemes.\n';
  str += '   </span><br>\n';
  str += '   </A><P></P></TD></TR>\n';
  return str;
}

function promo9() {
//
// Promo 9 - Clear
//
  var str = '';
  str += '  <TR>\n';
  str += '    <TD align="center">\n';
  str += '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\n' +
         ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"\n' +
         ' WIDTH="150" HEIGHT="212" id="Clear6" ALIGN="center">\n' +
         ' <PARAM NAME=movie VALUE="' + rootrel + 'flash/Clear6.swf">\n' +
         ' <PARAM NAME=quality VALUE=high>\n' +
         ' <PARAM NAME=wmode value=transparent>\n' +
         ' <PARAM NAME=bgcolor VALUE=#CCFFFF>\n' +
         ' <EMBED src="' + rootrel + 'flash/Clear6.swf" quality=high wmode="transparent" bgcolor=#FFFFFF WIDTH="150" HEIGHT="212"\n' +                   ' NAME="TTClock150" ALIGN="center"' +
         ' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>\n' +
         '</OBJECT>\n';
  str += '<P></P></TD></TR>\n';
  return str;
}

function promo10() {
//
// Promo 10 - Make-a-word
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'EH0019\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/PromotionsMake-a-word.gif" width="150" border=0><br>\n';
 str += '   <span class="h4purp">4 magnetic<br>activities designed for<br>anyone to use with a<br>child.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo11() {
//
// Promo 11 - Easylearn at Home
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="http://www.easylearn.co.uk/athome01.htm">\n';
 str += '   <IMG src="' + rootrel + 'images/PromotionsMake-a-word2.gif" width="150" border=0><br>\n';
 str += '   <span class="h4lgr">Help your pupils’ parents<br>to support your literacy<br>work.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo12() {
//
// Promo 12 - Books on Disk
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showCat(\'pdisk\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/PromotionsCD.gif" width="150" border=0><br>\n';
 str += '   <span class="h4blu">View, select and<br>print photocopiable<br>worksheets from<br>your computer.<br>Selected<br>\n';
 str += '	photocopiable books<br>now available on<br>disk.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo13() {
//// Promo 13 - Reading Roundabout//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'R519\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/Promotions-R519.gif" width="150" border=0><br>\n';
 str += '   <span class="h3plumb">Encourage pupils to<br>engage with and<br>understand text.</span><br />\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo14() {
//// Promo 14 - Same Difference// var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'SL201\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/Promotions-SL201.gif" width="150" border=0><br>\n';
 str += '   <span class="h4lgr">Develop expressive<br>language and listening<br>and thinking skills.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo15() {
//// Promo 15 - Trios// var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'T0002\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/NewsTrioAut09.gif" width="150" border=0><br>\n';
 str += '   <span class="h3plumb">Introductory offer<br>';
  if(Irish()) {
    str += 'ONLY &euro;6 (plus VAT)<br>';
  } else {
    str += 'ONLY &#163;5 (plus VAT)<br>';
  }
 str +='alphabetical order<br>interactive screens<br>computer games<br>worksheets</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo16() {
//
// Promo 16 - Sequencing Skills
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'T0004\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/PromoT0004.gif" width="150" border=0><br />\n';
 str += '   <span class="h4blu">\n';
// str += 'Introductory offer<br />\n';
//  if(Irish()) {
//    str += 'ONLY &euro;6 (plus VAT)<br>';
//  } else {
//    str += 'ONLY &#163;5 (plus VAT)<br>';
//  }
 str += '			Sequencing Skills<br />interactive screens<br />computer games<br />worksheets<br /></span>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo17() {
//
// Promo 17 - Phonic Pair Work
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'Ph709\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/PromotionsPhonicPairs1.gif" width="150" border=0><br>\n';
 str += '   <span class="h3plumb">\"In the best work...<br>children are strongly<br>encouraged to help each<br>\n';
 str += '			other, for example, by<br>working in pairs and<br>talking about the task in<br>hand.\"<br></span>\n';
 str += '   <span class="h5plumb">Rose Report, March 2006</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo18() {
//
// Promo 18 - Promo Mag Phonics
//
  var str = '';
  var imgFix = 20;
  var imgDyn = 21;
  var img    = prodPics[imgFix].name;
  str += '  <TR>\n';
  str += '   <TD align="center"><A href="javascript:top.frmCart.showProd(\'Ph309\',\'' + rootrel + '\')"\n';
  str += '     ONMOUSEOVER="chooseProdPic(' + imgDyn + '); return true;"\n';
  str += '     ONMOUSEOUT ="chooseProdPic(' + imgFix + '); return true;">\n';
  str += '   <IMG NAME="ProdPic_' + imgFix + '" src="' + img + '" WIDTH="150" BORDER=0>\n';
  str += '   <span class="h4blu2">Magnetic Phonics:<br>materials to motivate<br>reading and spelling.\n';
  str += '   </span><br>\n';
  str += '   </A><P></P></TD></TR>\n';
  return str;
}

function promo19() {
//
// Promo 19 - Offer
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><A href="' + rootrel + 'specoff01.htm">\n';
  if (Irish()) {
   str += '   <IMG src="' + rootrel + 'images/PromotionsOfferAutumn2008-150.gif" border=0><br />\n';
   str += '   <span class="h4or">Choose a free </br>photocopiable book<br />';      
   str += '    when you spend<br />\n';
   str += '    over &euro;150!';
   }
  else {
   str += '   <IMG src="' + rootrel + 'images/PromotionsOfferAutumn2008-150.gif" border=0><br />\n';
   str += '   <span class="h4or">Choose a free </br>photocopiable book<br />';      
   str += '   when you spend<br />\n';
   str += '   over £99!'
    }
  str += '   </span>\n';
  str += '   </a><br />&nbsp;</TD></TR>\n';
  return str;
}

function promo20() {
//
// Promo 20 - XmasSanta
//
 var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'E201\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/PromotionsSanta.gif" width="150" border=0><br>\n';
 str += '   <span class="h3xgr">Click here for festive fun!</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo21() {
//// Promo 21 - IT - Phonic Phrases// var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'T0007\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/promo_T0007.gif" width="150" border=0><br>\n';
 str += '   <span class="h4blu2">Blending and<br>segmenting of<br>phonic words on the<br>computer.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo22() {
//// Promo 22 - IT - Sentences...// var str = '';
 str += '  <TR>\n';
 str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'T0008\',\'' + rootrel + '\')">\n';
 str += '   <IMG src="' + rootrel + 'images/promo_T0008.gif" width="150" border=0><br>\n';
 str += '   <span class="h4redc">Encourage reading<br>for meanings on the<br>computer.</span><br>\n';
 str += '   </a><P></P></TD></TR>\n';
 return str;
}

function promo100() {
//
// Promo 100 - sqcards
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center">\n';
  str += '   <IMG src="' + rootrel + 'images/Promotionssqcards-160.gif" width="160" border=0><br>\n';
  str += '   <span class="h4blu">Start Sequencing<br>comes with 5 sets\n';
  str += '   <br>of 5 coloured<br>sequencing cards.</span><P></P></TD></TR>\n';
  return str;
}

function promo101() {
//
// Promo 101 - Ph041-stapler
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center">\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsPh041-Stapler.gif" width="160" border=0><br>\n';
  str += '   <span class="h4blu">Time to Rime<br>includes sheets for\n';
  str += '   <br>making useful<br>word-building booklets.</span><P></P></TD></TR>\n';
  return str;
}

function promo102() {
//
// Promo 102 - Exhibitions
//
  var str = '';
  str += '  <TR>\n';
  str += '    <TD align="center">\n';
  str += '    <IMG src="' + rootrel + 'images/PromotionsExhibitions.gif" width="160" border=0>\n';
  str += '    <span class="h4or">Discounts are often<br>available for orders<br>\n';
  str += '    taken on our stand!</span><P></P></TD></TR>\n';
  return str;
}

function promo103() {
//
// Promo 103 - N011-Time-Game
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'N013\',\'' + rootrel + '\')">\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsN011-Time-Game.gif" width="160" border=0><br>\n';
  str += '   <span class="h4p">Telling the Time<br>comes with a full-colour\n';
  str += '   <br>A5 bingo game for<br>telling the time<br>to 5 minutes.</span></A><P></P></TD></TR>\n';
  return str;
}

function promo104() {
//
// Promo 104 - N001-Number Stickers
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center"><a href="javascript:top.frmCart.showProd(\'N004\',\'' + rootrel + '\')">\n';
  str += '   <IMG src="' + rootrel + 'images/PromotionsN001-NumberStickers.gif" width="160" border=0><br>\n';
  str += '   <span class="h4blu">How many? comes<br>with 10 sheets\n';
  str += '   <br>of Number Stickers.</span></A><P></P></TD></TR>\n';
  return str;
}

function promo105() {
//
// Promo 105 - Save
//
  var str = '';
  str += '  <TR>\n';
  str += '    <TD align="center">\n';
  if (Irish()) {
   str += '    <IMG src="' + rootrel + 'images/PromotionsSaveEEE.gif" width="160" border=0>\n';
  } else {
   str += '    <IMG src="' + rootrel + 'images/PromotionsSaveLLL.gif" width="160" border=0>\n';
  }
  str += '    <span class=h4gr>When you buy<br>products together<br>in a pack like this!<br></span><P></P></TD></TR>\n';
  return str;
}

function promo106() {
//
// Promo 106 - Words, Words, Words
//
  var str = '';
  str += '  <TR>\n';
  str += '   <TD align="center">\n';
  str += '   <IMG src="' + rootrel + 'images/promo_W831.gif" width="160" border=0><br>\n';
  str += '   <span class="h4redc">Includes<br>Interactive Whiteboard\n';
  str += '   <br>Teaching Software.</span><P></P></TD></TR>\n';
  return str;
}


function promos(code, pr_arr) {
  var pr2_arr = new Array();
//  Disallowed promotions - ones we're not currently running, just add/remove elements in the list
  var dis_arr = new Array(3,17,18,19,20);  
  var dlen = dis_arr.length;
  var disallow = 0;
  var numPromos = 22;  //  Total number of promos
  var str = '';
  var len = pr_arr.length;
  var ran = 0;
  var pos = 0;

// Check for -1 		- Prodsel + random 2 anywhere in promos array
//           -1 & (set or set2) - Prodsel + random 3
//          <-1 		- Prodsel + random 4 ...
// At the same time setting flags in the pr2 array for promos requested.
  if (len == 0) {
    ran = 1;
    pos = 0;
    pr2_arr[pos]=0;
    pos++;
    len = 1;
  } else {
    pos=0;
    for (i in pr_arr) {
      disallow = 0;
      prom = pr_arr[i]; 
      if (prom < 0) {
//      Determine number of random promos to return 0-1(i.e. 2) or 0-3(i.e. 4)
        ran = (prom == -1) ? (prod.type == "set" || prod.type == "set2") ? 2 : 1 : 3;
//      Now shuffle any existing elements up
        for (j=pos; j>0; j--) {
          pr2_arr[j] = pr2_arr[j-1];
        }
        pr2_arr[0]=0;
      } else {
        if ( dlen > 0 ) {  //  Check for disallowed promos
          for (j in dis_arr) {
            if (prom==dis_arr[j]) disallow=1;
          }
        }
        if (!disallow) pr2_arr[pos] = prom;
      }
      if (!disallow) pos++; 
    }
  }
  pos--;

//
// Generate upto 3 or 4 random promo flags in pr2 array.
//
  var ranPromo
  if (ran) {
   loop = ran + 3 - len;
   for (i=1; i<loop; i++) { 
    ranPromo = Math.floor(Math.random() * (numPromos)) + 1;
    count=0;
    change = 1;
    while (change && count < 10) {
// alert ('count: ' + count + '\nranPromo: ' + ranPromo);
     change = 0;
// Check we haven't already got this flagged
// Or for positions 1 and 2 (i.e.pos 0,1) we're not using promos 6 or 9 which obscure the menus
     for (j in pr2_arr) {
       pom = pr2_arr[j]
       if (pom==ranPromo || (pom==1 && ranPromo==2) || (pom==2 && ranPromo==1) || ((pos==0 || pos==1) && (ranPromo==6 || ranPromo==9))) {
         ranPromo = Math.floor(Math.random() * (numPromos)) + 1;
         change = 1;
       }
// Now Check for disallowed promos
       if (!change && dlen > 0) {
         for (k in dis_arr) {
           if (ranPromo==dis_arr[k]) {
             ranPromo = Math.floor(Math.random() * (numPromos)) + 1;
             change = 1;
           }
         }
       }
     } 
     count++;
    }
    if (!change) {
     pos++;
     pr2_arr[pos] = ranPromo;
    }
   }
  }

// alert ('pr2_arr: ' + pr2_arr);   

  str += '<TABLE cellSpacing=0 cellPadding=0 width="160" border=0>\n';
  str += ' <TBODY>\n';

  for (prom_id in pr2_arr) {
   str += '  <TR>\n';
   str += '   <TD align="center">\n';
   str += '   <IMG src="' + rootrel + 'images/blsq.gif" width="160" height="10"border=0></TD></TR>\n';

   promno = pr2_arr[prom_id];
//
// The product selector 
//
   if (promno == 0) {
     str += prodSelect(code);
   }
//
// From here to specials are randomly selectable. 
//
// Promo 1 - WhatsNew
//
   if (promno == 1) {
     str += promo1();
   }
//
// Promo 2 - WhatsNewBlue
//
   if (promno == 2) {
     str += promo2();
   }
//
// Promo 3 - Free Down
//
   if (promno == 3) {
     str += promo3();
   }
//
// Promo 4 - Catalogue
//
   if (promno == 4) {
     str += promo4();
   }
//
// Promo 5 - Free Delivery
//
   if (promno == 5) {
     str += promo5();
   }
//
// Promo 6 - Telling the Time
//
   if (promno == 6) {
     str += promo6();
   }
//
// Promo 7 - EmailNewsletter
//
   if (promno == 7) {
     str += promo7();
   }
//
// Promo 8 - Quiz Cards
//
   if (promno == 8) {
     str += promo8();
   }
//
// Promo 9 - Clear
//
   if (promno == 9) {
     str += promo9();
   }
//
// Promo 10 - Make a word
//
   if (promno == 10) {
     str += promo10();
   }
//
// Promo 11 - Make a word2
//
   if (promno == 11) {
     str += promo11();
   }
//
// Promo 12 - Books on Disk
//
   if (promno == 12) {
     str += promo12();
   }
//// Promo 13 - Reading Roundabout//
   if (promno == 13) {
     str += promo13();
   }
//// Promo 14 - Same Difference//   if (promno == 14) {
     str += promo14();
   }
//// Promo 15 - Trios//   if (promno == 15) {
     str += promo15();
   }
//
// Promo 16 - Sequencing Skills
//
   if (promno == 16) {
     str += promo16();
   }
//
// Promo 17 - Phonic Pair Work
//
   if (promno == 17) {
     str += promo17();
   }
//
// Promo 18 - Magnetic Phonics
//
   if (promno == 18) {
     str += promo18();
   }
//
// Promo 19 - Offer
//
   if (promno == 19) {
     str += promo19();
   }
//
// Promo 20 - Santa
//
   if (promno == 20) {
     str += promo20();
   }
//
// Promo 21 - Phonic Phrases
//
   if (promno == 21) {
     str += promo21();
   }
//
// Promo 22 - Sentences...
//
   if (promno == 22) {
     str += promo22();
   }
//
// Specials from here only appear on request.
//
// Promo 100 - sqcards
//
   if (promno == 100) {
     str += promo100();
   }
//
// Promo 101 - Ph041-stapler
//
   if (promno == 101) {
     str += promo101();
   }
//
// Promo 102 - Exhibitions
//
   if (promno == 102) {
     str += promo102();
   }
//
// Promo 103 - N011-Time-Game
//
   if (promno == 103) {
     str += promo103();
   }
//
// Promo 104 - N001-Number Stickers
//
   if (promno == 104) {
     str += promo104();
   }
//
// Promo 105 - Save
//
   if (promno == 105) {
     str += promo105();
   }
//
// Promo 106 - Words...
//
   if (promno == 106) {
     str += promo106();
   }
  }
//
  str += ' </TBODY></TABLE></TD>\n';
  return str;
}

function backtop() {
var str ='';

var TopFix = 0;
var TopDyn = 1;
var BackFix = 2;
var BackDyn = 3;
var TopImg    = prodPics[TopFix].name;
var BackImg   = prodPics[BackFix].name;

str += '<br>\n';
str += '<!--Back/Top Table-->\n';
str += '<center>\n';
str += '<TABLE cellSpacing=0 cellPadding=0 border=0>\n';
str += '  <TBODY>\n';
str += '  <TR>\n';
str += '    <TD align="right" valign="center">\n';
str += '      <a href="javascript:history.back()"><div class=h5n>Back&nbsp;</a></TD>\n';
str += '    <TD valign="top">\n';
str += '      <a href="javascript:history.back()"\n';
str += '       ONMOUSEOVER="chooseProdPic(' + BackDyn + '); return true;"\n';
str += '       ONMOUSEOUT ="chooseProdPic(' + BackFix + '); return true;">\n';
str += '      <IMG NAME="ProdPic_' + BackFix + '" src="' + BackImg + '" border=0></a>&nbsp;</TD>\n';
str += '    <TD valign="top">\n';
str += '      <a href="#top"\n';
str += '       ONMOUSEOVER="chooseProdPic(' + TopDyn + '); return true;"\n';
str += '       ONMOUSEOUT ="chooseProdPic(' + TopFix + '); return true;">\n';
str += '      <IMG NAME="ProdPic_' + TopFix + '" src="' + TopImg + '" border=0></a></TD>\n';
str += '    <TD align="left" valign="center">\n';
str += '      <a href="#top"><div class=h5n>&nbsp;Top</div></a></TD>\n';
str += '    </TR></TBODY></TABLE>\n';
str += ' </center><p></p>\n';

document.write(str);
}

function welshCheck() {
//
//  Now also checks command line for irish focus.
//
var params=window.location.toString().split("?");
var args=params[params.length-1].split("&");
for (i in args) {
  var thisarg = args[i].split("=");
  if (thisarg[0] == 'irish' && thisarg[1] == 'y') {
    top.frmCart.English    =0;
    top.frmCart.Irish      =1;
    top.frmCart.Welsh      =0;
    top.frmCart.DumpMode(); 
  }
}
// Check for Welsh product and sets mode
 if (prod.categs.indexOf('v') != -1) {
  saveEnglish=top.frmCart.English;
  saveIrish  =top.frmCart.Irish;
  saveWelsh  =top.frmCart.Welsh;
  top.frmCart.English    =0;
  top.frmCart.Irish      =0;
  top.frmCart.Welsh      =1;
  top.frmCart.DumpMode();
 }
}

function welshCheck2() {
// Check for Welsh product and reset mode
 if (prod.categs.indexOf('v') != -1) {
  top.frmCart.English=saveEnglish;
  top.frmCart.Irish  =saveIrish;
  top.frmCart.Welsh  =saveWelsh;
  top.frmCart.DumpMode();
 }
}

function initDummyProd() {
 this.categs='a';
}

function cssJsMenu(elemId) {
  eval('if(' + elemId + 'Placer.style.display != "inline") ' + elemId + 'Placer.style.display = "inline";');
  if (document.getElementById(elemId)) {
    var navroot = document.getElementById(elemId);
    var lis=navroot.getElementsByTagName("LI");
    for (i=0; i<lis.length; i++) {
      var lis2=lis[i].getElementsByTagName("UL");
      for (j=0; j<lis2.length; j++) {
        lis[i].onmouseover = function() {
//	  this.getElementsByTagName("UL")[j].filters[0].Apply();
          this.getElementsByTagName("UL")[j].style.visibility = 'visible';
//	  this.getElementsByTagName("UL")[j].filters[0].Play();
        }
        lis[i].onmouseout = function() {
          this.getElementsByTagName("UL")[j].style.visibility = 'hidden';
        }
      }
    }
  }
}

function makeCssJsMenus() { 

// As our window.onresize is set after coolmenus for this window make sure Coolmenus are also resized!
  oCCatMenu.resized();

  cssJsMenu('literMenu');
  cssJsMenu('mathsMenu');
  cssJsMenu('earlyMenu');
  cssJsMenu('bNumbMenu');
  cssJsMenu('sVocaMenu');
  cssJsMenu('time1Menu');
  cssJsMenu('referMenu');
  cssJsMenu('moneyMenu');
  cssJsMenu('writeMenu');
  cssJsMenu('compcMenu');
  cssJsMenu('phoniMenu');
  cssJsMenu('certlMenu');
  cssJsMenu('chrisMenu');
  cssJsMenu('lspalMenu');
  cssJsMenu('tskilMenu');
  

//  Needed to keep menus working after window resize.
setTimeout('window.onresize=new Function("makeCssJsMenus()")',500);

}
