function initialiseDc(defaultDc) {
  if (!getDcFromCookie()) {
    var hash=document.location.hash;
    var dcIndex = hash.indexOf('dc=');
    var dc;
    if (dcIndex < 0) {
      dc = defaultDc;
    } else {
      var endDcIndex = hash.indexOf('&', dcIndex);
      if (endDcIndex < 0) {
        dc = hash.substring(dcIndex + 3);
      } else {
        dc = hash.substring(dcIndex + 3, endDcIndex);
      }
    }
    var expiry = new Date();
    expiry.setTime(expiry.getTime() + (24*60*60*1000));
    document.cookie = 'dc=' + dc + ';expires=' + expiry.toGMTString() + ';path=' + getDcPath() + ';';
  }
};

  function getDcFromCookie() {
    var allcookies = document.cookie;
    var dcParamIndex = allcookies.indexOf('dc=');
    if (dcParamIndex != -1) {
      var dcValueIndex = dcParamIndex + 3;
      var dcValueEnd = allcookies.indexOf(';', dcValueIndex);
      if (dcValueEnd == -1) dcValueEnd = allcookies.length;
      return allcookies.substring(dcValueIndex, dcValueEnd);
    }
    return null;
  };

  function getDcPath() {
    var path = document.location.pathname;
    var mobileIndex = path.indexOf('mobile');
    if (mobileIndex > 0) {
      path = path.substring(0, mobileIndex + 'mobile'.length);
    } else {
      path = path.substring(0, path.lastIndexOf('/'));
    }
    return path;
  };
	
	function Handler() { this.delegate = new DefaultSTPResponseHandler(); }
	Handler.prototype.onError = function(a,b,c) {
		this.delegate.onError(a,b,c);
		urchinTracker(document.location.pathname + "/stp?error&id=" + b);
	}
	Handler.prototype.onLanding = function(a,b) {
		this.delegate.onLanding(a,b);
	}
	Handler.prototype.onSubmit = function() {
		this.delegate.onSubmit();
	}
	Handler.prototype.onSuccess = function() {
		this.delegate.onSuccess();
		urchinTracker(document.location.pathname + "/stp?success");
	}
	var stp;
	window.onload = function() {
		initializeHash();
		stp = new SendToPhoneClient("/sendtophone",
		new Handler());
	};
	function post() {
		return stp.post();
	};
	

