// Main JavaScript Include File
// Copyright (C) 2005 by Barchart.com, Inc. All Rights Reserved.
// This file may only be used by an authorized firm, on an authorized website.
// Any unauthorized use is expressly prohibited.


function bcfn_CheckDomain() {
  var d = bcfn_GetDomain();
  if ((d == 'barchart') || (d == 'kcbt') || (d == 'kcbot'))
    return true;
  else
    return false;
}

function bcfn_GetDomain() {
  var s = document.domain;
  s = s.toLowerCase();
  if (s.substring(0, 7) == 'http://') {
    s = s.substring(7);
  }

  var ary1 = s.split('/');
  var ary2 = ary1[0].split('.');

  var d = '';

  if ((ary2[ary2.length - 1] == 'com') ||
      (ary2[ary2.length - 1] == 'org') ||
      (ary2[ary2.length - 1] == 'net') ||
      (ary2[ary2.length - 1] == 'edu') ||
      (ary2[ary2.length - 1] == 'gov')) {
    if (ary2.length > 1)
      d = ary2[ary2.length - 2];
  }
  else {
    if (ary2.length > 2)
      d = ary2[ary2.length - 3];
  }

  return d;
}

function bcfn_ParseQuery(s) {
  var ary = new Array();
  var pairs = s.split('&');

  for (var i = 0; i < pairs.length; i++) {
    var tmp = pairs[i].split('=');
    ary[tmp[0]] = tmp[1];
  }

  return ary;
}

function bcfn_PrintLinks(sym, src, title) {
  if (!title)
    title = 'Quick Links';

  var w = '';
  if (src == 'qtei')
    w = 'Intraday Futures Quotes';
  else if (src == 'qted')
    w = 'End-of-Day Futures Quotes';
  else if (src == 'opi')
    w = 'Intraday Options';
  else if (src == 'opd')
    w = 'Daily Options';

  document.write('<TABLE border=0 cellPadding=2 cellSpacing=0>');
  document.write('<TR><TD class=bcF2><FONT class=bcF2c>' + title + ':</FONT> &nbsp;<B>' + w + '</B><BR>');
  if (src != 'qtei')
    document.write(' | <A HREF="?page=quote&sym=' + sym + '&mode=i">Intraday Futures Quotes</A>');

  if (src != 'qted')
    document.write(' | <A HREF="?page=quote&sym=' + sym + '&mode=d">End-of-Day Futures Quotes</A>');

  if (src != 'opi')
    document.write(' | <A HREF="?page=optqte&sym=' + sym + '&mode=i">Intraday Options</A>');

  if (src != 'opd')
    document.write(' | <A HREF="?page=optqte&sym=' + sym + '&mode=d">End-of-Day Options</A>');

  document.write('</TABLE>');
}

// Link in specific Style Sheet
document.write('<LINK HREF="http://sites.barchart.com/pl/kcbt/style.css" REL="stylesheet" TYPE="text/css">');

var bc_QueryString = (new String(document.location.search)).substring(1);
var bc_QueryForm = bcfn_ParseQuery(bc_QueryString);


if (bcfn_CheckDomain()) {
  document.write('<SCR' + 'IPT LANGUAGE="JavaScript" SRC="');

  if (bc_QueryForm['page'] == 'agreement') {
    document.write('http://content.barchart.com/shared/agreement.php');
  }
  else if (bc_QueryForm['page'] == 'chart') {
    document.write('http://customer1.barchart.com/cgi-bin/mri/kcbtchart.htx?data=A&' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'ccharts') {
    document.write('http://sites.barchart.com/pl/kcbt/ccharts.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'mspread') {
    document.write('http://customer1.barchart.com/cgi-bin/mri/mspread.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'mspreads') {
    document.write('http://sites.barchart.com/pl/kcbt/mspreads.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'optqte') {
   document.write('http://sites.barchart.com/pl/kcbt/optqte.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'quote') {
    document.write('http://sites.barchart.com/pl/kcbt/quote.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'spreads') {
    document.write('http://sites.barchart.com/pl/kcbt/spreads.htx?' + bc_QueryString);
  }
  else if (bc_QueryForm['page'] == 'spreads2') {
    document.write('http://sites.barchart.com/pl/kcbt/spreads2.htx?' + bc_QueryString);
  }
//  else if (bc_QueryForm['page'] == 'ccharts') {
//    document.write('http://sites.barchart.com/pl/mgex/ccharts.htx?' + query_string);
//  }
//  else if (page == 'ddfplus') {
//    document.write('http://sites.barchart.com/pl/mgex/ddfplus.htx?' + query_string);
//  }

  else {
    document.write('http://sites.barchart.com/pl/kcbt/error.js');
  }
  document.write('"></SCR' + 'IPT>\n');

  // Prints Disclaimer
  document.write('<SCR' + 'IPT LANGUAGE="JavaScript" SRC="http://content.barchart.com/shared/disclaimer.php"></SCR' + 'IPT>\n');
}
else {
  document.write('!!! Unauthorized Access !!!');
}
