document.domain = 'fantasticfiction.co.uk';

counter();

if (dwPageType == 'A') {
  checker();
}

function counter(page) {
 var pg, ref, i, uid, ip;

 if (document.images)
 {
  if (typeof dwPageID == 'undefined') {dwPageID = ''}

  uid = getcookie('ffuid');
  if (uid == '') {
    dt = new Date();
    uid = Math.round(dt.getTime()/1000) + '_' + Math.round(Math.random()*2147483647);
    setcookie('ffuid', uid );
    uid = getcookie('ffuid');
  }
  if (page && page!="") {
   pg = escape(page);
   ref = dwPageID;
   dwPageID = escape(page);
  } else {
   pg = escape(document.location);
   ref = escape(document.referrer);
  }

  var nav_lng = "";
  if (navigator.language) nav_lng = navigator.language; 
  if (navigator.browserLanguage) nav_lng = navigator.userLanguage; 
  if (navigator.systemLanguage) nav_lng = navigator.systemLanguage; 
  if (navigator.browserLanguage) nav_lng = navigator.browserLanguage; 
  if (navigator.userLanguage) nav_lng = navigator.userLanguage; 
  if (window.navigator.language) nav_lng = window.navigator.language; 

  i = new Image(1,1); 
  i.src = "http://log.fantasticfiction.co.uk/cgi-bin/tracker.cgi?pg=" + pg + "&ref=" + ref + "&uid=" + uid + "&pageid=" + dwPageID + "&bl=" + nav_lng;
  i.onload = function() {return;}
 }
}

function ct(shop) {
  if (document.images){ 
    shop = shop.toLowerCase();
    shop = shop.replace(/\s/g, '');
    if (typeof dwPageID == 'undefined') {dwPageID = ''}
    (new Image()).src = "http://log.fantasticfiction.co.uk/cgi-bin/click.cgi?shop=" + shop + "&from=" + dwPageID;
  } 
  return true;
}

function checker() {
 if (typeof country == 'undefined') {country = ''}
 j = new Image(1,1); 
 j.src = "http://plu.fantasticfiction.co.uk/cgi-bin/checker.cgi?r=" + dwR + "&fn=" + escape(dwFN) + "&sn=" + escape(dwSN) + "&country=" + country;
 j.onload = function() {return;}
}

function goList(let) {
self.location = "http://www.fantasticfiction.co.uk/" + let.toLowerCase() + "/index" + document.menuForm.genreSelect.options[document.menuForm.genreSelect.selectedIndex].value + ".html";
}

function checkisbn(isbn) {
  var isbnw = isbn.replace(/-/g, '');
  isbnw = isbnw.replace(/ /g, '');

  isbnw = isbnw.toUpperCase();

  if (isbnw.length == 13) {
    return checkisbn13(isbn);
  }

  if (isbnw.length != 10) {
    window.alert('The ISBN number you entered is not valid');
    return false;
  }

  var validChars = '0123456789';
  var validCharsX = '0123456789X';

  for (i = 0; i < 9; i++) {
    strChar = isbnw.charAt(i);
    if (validChars.indexOf(strChar) == -1) {
      window.alert('The ISBN number you entered is not valid');
      return false;
    }
  }
  if (validCharsX.indexOf(isbnw.charAt(9)) == -1) {
    window.alert('The ISBN number you entered is not valid');
    return false;
  }

  var isbn1 = isbnw.charAt(0);
  var isbn2 = isbnw.charAt(1);
  var isbn3 = isbnw.charAt(2);
  var isbn4 = isbnw.charAt(3);
  var isbn5 = isbnw.charAt(4);
  var isbn6 = isbnw.charAt(5);
  var isbn7 = isbnw.charAt(6);
  var isbn8 = isbnw.charAt(7);
  var isbn9 = isbnw.charAt(8);

  var val = eval(isbn1) * 10;
  val = val + eval(isbn2) * 9;
  val = val + eval(isbn3) * 8;
  val = val + eval(isbn4) * 7;
  val = val + eval(isbn5) * 6;
  val = val + eval(isbn6) * 5;
  val = val + eval(isbn7) * 4;
  val = val + eval(isbn8) * 3;
  val = val + eval(isbn9) * 2;

  decimalval = Math.floor(val % 11);
  digitval = 11 - decimalval; 

  if (digitval == 10) {
    digitval = 'X';
  } else if (digitval == 11) {
    digitval = '0';
  } else {
    digitval = digitval.toString();
  }

  var digit = isbnw.charAt(9);

  if (digit == digitval) {
    return true;
  } else {
    alert('The ISBN number you entered is not valid');
  }
  return false;
}

function checkisbn13(isbn) {
  var isbnw = isbn.replace(/-/g, '');
  isbnw = isbnw.replace(/ /g, '');

  if (isbnw.length != 13) {
    window.alert('The ISBN-13 number you entered is not valid :1');
    return false;
  }

  var validChars = '0123456789';

  for (i = 0; i < 9; i++) {
    strChar = isbnw.charAt(i);
    if (validChars.indexOf(strChar) == -1) {
      window.alert('The ISBN-13 number you entered is not valid :2');
      return false;
    }
  }

  var isbn1 = isbnw.charAt(0);
  var isbn2 = isbnw.charAt(1);
  var isbn3 = isbnw.charAt(2);
  var isbn4 = isbnw.charAt(3);
  var isbn5 = isbnw.charAt(4);
  var isbn6 = isbnw.charAt(5);
  var isbn7 = isbnw.charAt(6);
  var isbn8 = isbnw.charAt(7);
  var isbn9 = isbnw.charAt(8);
  var isbn10 = isbnw.charAt(9);
  var isbn11 = isbnw.charAt(10);
  var isbn12 = isbnw.charAt(11);

  var odd = eval(isbn1) + eval(isbn3) + eval(isbn5) + eval(isbn7) + eval(isbn9) + eval(isbn11);
  var even = eval(isbn2) + eval(isbn4) + eval(isbn6) + eval(isbn8) + eval(isbn10) + eval(isbn12);

  var digitval = odd + (even * 3);

  decimalval = Math.floor(digitval % 10);
  digitval = 10 - decimalval; 
  digitval = digitval.toString();

  if (digitval == 10) {
    digitval = '0';
  }

  var digit = isbnw.charAt(12);

  if (digit == digitval) {
    return true;
  } else {
    alert('The ISBN-13 number you entered is not valid - check digit should be '+digitval);
  }
  return false;
}
