function createURL() {
  var form = document.getElementById('ctm');
  var myurl = [];
  var referrer = '';
  var error = [];

  if (!form) {
    return;
  }

  var package = encodeURIComponent(form.package.value);
  var source = encodeURIComponent(form.utm_source.value);
  var medium = encodeURIComponent(form.utm_medium.value);
  var campaign = encodeURIComponent(form.utm_campaign.value);
  var content = encodeURIComponent(form.utm_content.value);
  var term = encodeURIComponent(form.utm_term.value);

  // Error check required values.
  if (!package) {
    error.push('Required Package Name Missing!');
  }
  if (!source) {
    error.push('Required Source Missing!');
  }
  if (!medium) {
   error.push('Required Medium Missing!');
  }
  if (!campaign) {
   error.push('Required Campaign Missing!');
  }

  if (error.length > 0) {
    alert(error.join('\n'))
    return;
  }

  var marketParams = [
    'http://market.android.com/details?id=', package, '&referrer='
  ];

  var referrerParams = [
    'utm_source=', source,
    '&utm_medium=', medium,
    term ? '&utm_term=' + term : '',
    content ? '&utm_content=' + content : '',
    '&utm_campaign=', campaign
  ];

  var marketUrl = marketParams.join('') +
      encodeURIComponent(referrerParams.join(''));
  form.result.value = marketUrl;
}

function clearURL() {
  var form = document.getElementById('ctm');
  if (!form) {
    return;
  }
  form.package.value = '';
  form.utm_source.value = '';
  form.utm_medium.value = '';
  form.utm_campaign.value = '';
  form.utm_content.value = '';
  form.utm_term.value = '';
  form.result.value = '';
  document.getElementById('qrcode').innerHTML = '';
}

