  /* Created by Sam Rutley at PushON - www.pushon.co.uk */
  function isURL( url ) {
   return url.match(/^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/);
  }
  function isNull( str ) {
   with ( str ) {  if ( value==null || value=="" ) { return true; } else { return false; } }
   return false;
  }
  function createURL() {
   // check required fields
   if( !isURL( document.getElementById( "website-url" ).value ) || isNull( document.getElementById( "website-url" ) ) || isNull( document.getElementById( "campaign-source" ) ) || isNull( document.getElementById( "campaign-medium" ) ) || isNull( document.getElementById( "campaign-name" ) ) ) {
    // display error message
	if( !isURL( document.getElementById( "website-url" ).value ) ) {
	 msg = "Website URL must be valid.";
	} else {
	 msg = "All fields marked with a * must be filled in!";
	}
    document.getElementById( "gen-url" ).value = "";
	document.getElementById( "gen-url" ).style.display = "none";
	document.getElementById( "error-msg" ).innerHTML = "Error: " + msg;
	document.getElementById( "error-msg" ).style.display = "block";
   } else {
    // create and display URL
    var url;
    url = document.getElementById( "website-url" ).value + "?utm_source=" + document.getElementById( "campaign-source" ).value + "&utm_medium=" + document.getElementById( "campaign-medium" ).value + "&utm_term=" + document.getElementById( "campaign-term" ).value + "&utm_content=" + document.getElementById( "campaign-content" ).value + "&utm_campaign=" + document.getElementById( "campaign-name" ).value;
	document.getElementById( "error-msg" ).style.display = "none";
    document.getElementById( "gen-url" ).value = url;
	document.getElementById( "gen-url" ).style.display = "block";
   }
  }