function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
	var element = arguments[i];
	if (typeof element == 'string')
	  element = document.getElementById(element);
	if (arguments.length == 1)
	  return element;
	elements.push(element);
  }
  return elements;
}
		 
function getIEVersion() {
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer') {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

var browserIEVersion = getIEVersion();
var browserIE  = ( browserIEVersion != -1 );
var browserWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1)?true:false;
var browserFF = (navigator.userAgent.toLowerCase().indexOf("firefox") != -1)?true:false;
var browserOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1)?true:false;
var sound_enabled = false;

function initJsElements() {
  if ( !browserIE || browserIEVersion >= 7.0 ) {
    if(document.getElementById('ds_quotes')) {
//      var elem = $("ds_quotes");
      var elem = document.getElementById('ds_quotes');
      elem.innerHTML = "<iframe id='quot' src='http://www.deltastock.com/resources/pr_quotes_frame.asp?clr=E8E8E8&lang=en&inst=1*1*1*1*1*1*1*1*1*1*0*0*0*0*0*0*0*0*0*0*0*0*0&bord=1' width=250 height=262 frameborder=0 marginwidth=0 marginheight=0 scrolling=no></iframe>";
	}
  }
}

function disableSubmit( button_id ) {
  $(button_id).disabled = true;
  setTimeout( function() {$(button_id).disabled = false;}, 2000 );
  return true;
}

function clearText( elem, inp_text ) {
  if ( elem.value == inp_text )
	elem.value='';
}

function handleSubsResponse(r_code) {
  var elem1 = $("f_name");
  var elem2 = $("l_name");
  var elem3 = $("s_email");
  elem1.style.backgroundColor = elem2.style.backgroundColor = elem3.style.backgroundColor = "#ffffff";
  switch(r_code) {
    case 0:
	  break;
    case 1:
	  elem1.style.backgroundColor = "#ffbbbb";
	  elem1.focus();
	  break;
    case 2:
	  elem2.style.backgroundColor = "#ffbbbb";
	  elem2.focus();
	  break;
    case 3:
	  elem1.style.backgroundColor = "#ffbbbb";
	  elem2.style.backgroundColor = "#ffbbbb";
	  elem1.focus();
	  break;
    case 4:
    case 5:
    case 6:
    case 7:
	  elem3.style.backgroundColor = "#ffbbbb";
	  elem3.focus();
	  break;
  }
}

function handleContResponse(r_code) {
  var elem1 = $('cont_name');
  var elem2 = $('cont_email');
  elem1.style.backgroundColor = elem2.style.backgroundColor = "#ffffff";
  if( r_code == 0 ) {
//	document.forms[0].reset();
  }
  if( r_code == 1 ) {
	elem1.style.backgroundColor = "#ffbbbb";
	elem1.focus();
  }
  if( r_code == 2 ) {
	elem2.style.backgroundColor = "#ffbbbb";
	elem2.focus();
  }	
}

function clearPurchErr(elem) {
  elem.style.backgroundColor = 'transparent';
  $('resp_field').innerHTML = '';
}

function handlePurchErr(r_code, r_mesg) {
  var field_names = ['dummy','name','email','phone','addr','city','state','country','zip','acct','client','refer_id','age','terms' ];
  var ix, elem;
  for ( ix = 1; ix < field_names.length; ix++ ) {
	if ( ix == 12 ) field_names[ix] = "label_age";
	if ( ix == 13 ) field_names[ix] = "label_terms";
	elem = $( field_names[ix] );
    if ( ix == r_code ) {
	  elem.style.backgroundColor = "#ffbbbb";
	  elem.focus();
	} else
	  elem.style.backgroundColor = "#ffffff";
  }
  if ( typeof(r_mesg) == 'string' )
    $('resp_field').innerHTML = r_mesg;
}

function validatePurchaseForm() {
  disableSubmit( 'purch_submit' );
  var e_code = 0, err_msg = '';
  var form = $('pch_form');
  if (form.name.value == '') { e_code = 1; err_msg = "Name is required"; }
  else if (form.email.value == '') { e_code = 2; err_msg = "Email address is required"; }
  else if (form.phone.value == '') { e_code = 3; err_msg = "Phone number is required"; }
  else if (form.addr.value == '') { e_code = 4; err_msg = "Street Address is required"; }
  else if (form.city.value == '') { e_code = 5; err_msg = "City is required"; }
//else if (form.state.value == '') { e_code = 6; err_msg = "State is required"; }
  else if (form.country.value == '') { e_code = 7; err_msg = "Country is required"; }
  else if (form.zip.value == '') { e_code = 8; err_msg = "Zip/Postal Code is required"; }
//else if (form.acct.value == '') { e_code = 9; err_msg = "Name on Trading Account is required"; }
  else if (form.version.value == 'upgrade' && form.client.value == '') { e_code = 10; err_msg = "Client ID is required for Upgrade"; }
//else if (form.refer_id.value == '') { e_code = 11; err_msg = "Name on Trading Account is required"; }
  else if (form.age.checked == false) { e_code = 12; err_msg = "You must be at least 18 years of age to purchase Forex Grid Master software"; }
  else if (form.terms.checked == false) { e_code = 13; err_msg = "Before proceeding, you must indicate your acceptance of the Purchase Agreement"; }

  if ( e_code != 0 ) {
    handlePurchErr( e_code, err_msg );
    return false;
  }
  return true;
}

function handleUnsubscribeErr(r_code, r_mesg) {
  if( r_code > 0 ) {
	$('unsubs_email').style.backgroundColor = "#ffbbbb";
	$('unsubs_email').focus();
  }
  if ( typeof(r_mesg) == 'string' )
    $('resp_field').innerHTML = r_mesg;
}

function clearUnsubscribeErr(elem) {
  elem.style.backgroundColor = 'transparent';
  $('resp_field').innerHTML = '';
}

