function $(e) { return typeof e == 'string' ? document.getElementById(e) : e; }

String.prototype.trim = function () {
  return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function show(id) {
  var l = $(id);
  if (l) l.style.display = 'block';
}

function hide(id) {
  var l = $(id);
  if (l) l.style.display = 'none';
}

function is_empty(v) {
  return !v || v=='';
}

function get_param(v) {
  var params = window.location.search.substring(1).split("&");
  for (var i=0;i<params.length;i++) {
    var pair = params[i].split("=");
    if (pair[0]==v) return decodeURIComponent(pair[1]);
  }
  return null;
} 

function set_text(e,t) {
  if (!e || !t) return;
  if (e.innerText) e.innerText = t;
  else if (e.textContent) e.textContent = t;
  else {
    while (e.firstChild) e.removeChild(e.firstChild);       
    e.appendChild(document.createTextNode(t));
  }
}

function ajax_init() {
  if (window.XMLHttpRequest) { return new XMLHttpRequest(); }
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (oc) {}
  return null;
}

function ajax_call(uri) {
  var x = ajax_init();
  if (!x) ajax_error();
  x.open("GET", uri, true);
  x.onreadystatechange = function() { ajax_response(x); }
  x.send('');
}

function ajax_response(r) {
  if (r.readyState!=4) 
  { return;  }
  if (r.responseText.trim()=='OK') {
    show('pop'); $('name').value = ''; $('email').value = ''; $('phone').value = '';
    var img = document.createElement('p'); img.innerHTML = "<img src='http://track.did-it.com/n?tid=20e8cc52ebae1'>"; $('pop').appendChild(img);
    scrollTo(0,0);
  } else ajax_error();
  delete r;
}

function ajax_error() {
  alert("We're sorry, there was an error processing your submission.  Please try again later.");
}

function send_email(action) {
  var err = ''; var n = $('name'); var e = $('email'); var p = $('phone');
  var email = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
  var phone  = /^\(?[1-9]\d{2}\)?(\s|\-)?\d{3}(\s|\-)?\d{4}$/;
  if (is_empty(n.value)) err = 'Please enter your name.';
  if (!phone.test(p.value)) err = (is_empty(err) ? '' : (err + '\n')) + 'Please enter a valid phone number.';
  if (!email.test(e.value)) err = (is_empty(err) ? '' : (err + '\n')) + 'Please enter a valid email address.';
  action += window.type ? '?type=' + window.type + '&' : '?';
  if (is_empty(err)) 
  {
	  ajax_call(action + 'name=' + encodeURIComponent(n.value) + '&phone=' + encodeURIComponent(p.value) + '&email=' + encodeURIComponent(e.value));
  }
  else alert(err);
}

function send_search() {
  var err = ''; var n = $('biz'); var s = $('state');
  if (is_empty(n.value)) err = 'Please enter a business name.';
  if (is_empty(s.value)) err = (is_empty(err) ? '' : (err + '\n')) + 'Please select a state.';
  if (is_empty(err)) window.location = 'https://smallbusiness.dnb.com/webapp/wcs/stores/servlet/IballValidationCmd?referrer=gwslookup&storeId=10001&catalogId=70001&productId=0&searchType=BSF&manPartNumber=0&fromView=&busName=' + encodeURIComponent(n.value) + "&state=" + s.value + "&country=US#goTop";
  else alert(err);
}

function set_type(t) {
  window.type = t;
  $('dnbphone').innerHTML = t=='qualifyLoan' ? '877-753-1444' : (t=='manageCredit' ? '877-753-1444' : (t=='interestRate' ? '877-753-1444' : (t=='tradeCredit' ? '877-753-1444' : '877-753-1444')));
  $('dnbphone2').innerHTML = $('dnbphone').innerHTML;
  $('qualifyLoan').className = ''; $('manageCredit').className = ''; $('interestRate').className = ''; $('tradeCredit').className = ''; 
  $(type).className = 'selected';
  hide('qualifyLoan_contents'); hide('manageCredit_contents'); hide('interestRate_contents'); hide('tradeCredit_contents'); 
  show(type+'_contents');
}

function init() {
  set_text($('headline'),get_param('token'));
  fill_states();  
}

function fill_states() {
  var s = $('state').options; var i=0;
  s[i++] = new Option('Select a State','');
  s[i++] = new Option('-----','');
  s[i++] = new Option('Nationwide','US');
  s[i++] = new Option('-----','');
  s[i++] = new Option('Alabama','AL');
  s[i++] = new Option('Alaska','AK');
  s[i++] = new Option('Arizona','AZ');
  s[i++] = new Option('Arkansas','AR');
  s[i++] = new Option('California','CA');
  s[i++] = new Option('Colorado','CO');
  s[i++] = new Option('Connecticut','CT');
  s[i++] = new Option('Delaware','DE');
  s[i++] = new Option('District of Columbia','DC');
  s[i++] = new Option('Florida','FL');
  s[i++] = new Option('Georgia','GA');
  s[i++] = new Option('Hawaii','HI');
  s[i++] = new Option('Idaho','ID');
  s[i++] = new Option('Illinois','IL');
  s[i++] = new Option('Indiana','IN');
  s[i++] = new Option('Iowa','IA');
  s[i++] = new Option('Kansas','KS');
  s[i++] = new Option('Kentucky','KY');
  s[i++] = new Option('Louisiana','LA');
  s[i++] = new Option('Maine','ME');
  s[i++] = new Option('Maryland','MD');
  s[i++] = new Option('Massachusetts','MA');
  s[i++] = new Option('Michigan','MI');
  s[i++] = new Option('Minnesota','MN');
  s[i++] = new Option('Mississippi','MS');
  s[i++] = new Option('Missouri','MO');
  s[i++] = new Option('Montana','MT');
  s[i++] = new Option('Nebraska','NE');
  s[i++] = new Option('Nevada','NV');
  s[i++] = new Option('New Hampshire','NH');
  s[i++] = new Option('New Jersey','NJ');
  s[i++] = new Option('New Mexico','NM');
  s[i++] = new Option('New York','NY');
  s[i++] = new Option('North Carolina','NC');
  s[i++] = new Option('North Dakota','ND');
  s[i++] = new Option('Ohio','OH');
  s[i++] = new Option('Oklahoma','OK');
  s[i++] = new Option('Oregon','OR');
  s[i++] = new Option('Pennsylvania','PA');
  s[i++] = new Option('Puerto Rico','PR');
  s[i++] = new Option('Rhode Island','RI');
  s[i++] = new Option('South Carolina','SC');
  s[i++] = new Option('South Dakota','SD');
  s[i++] = new Option('Tennessee','TN');
  s[i++] = new Option('Texas','TX');
  s[i++] = new Option('Utah','UT');
  s[i++] = new Option('Vermont','VT');
  s[i++] = new Option('Virginia','VA');
  s[i++] = new Option('Virgin Islands','VI');
  s[i++] = new Option('Washington','WA');
  s[i++] = new Option('West Virginia','WV');
  s[i++] = new Option('Wisconsin','WI');
  s[i++] = new Option('Wyoming','WY');
}
