function textCounter(field,cntfield,maxlimit) 
{
  if (field.value.length > maxlimit) // if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
  // otherwise, update 'characters left' counter
  else
    cntfield.value = maxlimit - field.value.length;
}

function checkURL(field)
{
  var f = document.form1;
  var g = f[field].value;
  if (g == '')
    return true;

  var msg = 'Are you sure you are happy with the URL  \'' + g + '\'?';
  return confirm(msg);
}

function writeURL(namefield, urlfield)
{
  var f = document.form1;
  var g = f[namefield].value;

  if (g == '')
    return;

  var str = new String(g);

  // IE doesn't recognise the trim() string method so...
  str = str.replace(/^\s*/, "").replace(/\s*$/, "");

  str = str.toLowerCase();
  str = str.replace(/[^a-z0-9 -]/g, '');
  str = str.replace(/\s/g, '-');

  f[urlfield].value = str;
}

function checkDel(proposal, id)
{
  var f = document.delform;
  if (confirm(proposal))
  {
    f.del_id.value = id;
    f.submit();
  }
}

function confirmSubmit()
{
  var question = 'Are you sure you wish to continue?';
  return confirm(question);
}

function confirmSend(proposal)
{
  var f = document.form5;
  if (confirm(proposal))
    f.submit();
  else
    f.bulk_conf.value = '';
}

function toggleLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old MSIE versions work
    elem = document.all[whichLayer];
  else if( document.layers ) // this is the way NN4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

function contact() {
document.write ('<a href="mailto:infidel@the-infidel.co.uk">get in touch</a>');
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function oldShowroomImage(url)
{
   var img = document.getElementById('main_image');
   img.src = url;
}

function setShowroomImage(pic, num, count)
{
  var th;
  var str;
  var dv = document.getElementById('main_image');
  dv.style.backgroundImage = 'url(' + pic + ')';

  for (var i=1; i<=count; i++)
  {
    str = 'thumb' + i;
    th = document.getElementById(str);
    if (i == num)
      th.className = 'thtrans';
    else
      th.className = 'thnorm';
  }
}

