
SM.SilverpopRequest = function SM_SilverpopRequest(fields) {
	this.frameID = "submitFrame";
	this.fields = fields;
}

SM.SilverpopRequest.prototype = {
	Send: SM_SilverpopRequest_Send,
	setValues: SM_SilverpopRequest_setValues,
	onFrameLoad: SM_SilverpopRequest_onFrameLoad,
	doSubmit: SM_SilverpopRequest_doSubmit
}

function SM_SilverpopRequest_Send() {
	var submitFrame = $get(this.frameID);
	if (submitFrame) {
		this.doSubmit(submitFrame);
	}
}		
	
function SM_SilverpopRequest_setValues(dstFrame) {
	var cnt = dstFrame.document.body;
	for (var i=0; i < this.fields.length; i++) {
		var cssClass = this.fields[i];
		var dstEls = DomElement.getElementsByClassName(cnt, "*", cssClass);
		var srcEls = DomElement.getElementsByClassName(document.body, "*", cssClass);
		if (dstEls.length > 0 && srcEls.length > 0) {
			var dstEl = dstEls[0];
			var srcEl = srcEls[0];
			var value = "";
			if (srcEl.tagName.toLowerCase() == "select") {
				var states = [];
				for (var index=0; index < srcEl.options.length; index++) {
					if (srcEl.options[index].selected) {
						states[states.length] = srcEl.options[index].value;
					}
				}
				value = states.join(",");
			}
			else {
				value = srcEl.value;
			}
			dstEl.value = value;
		}
	}
}

function SM_SilverpopRequest_onFrameLoad(frameEl) {
	if (formSubmitted) {
		location.href = U_SUR;
	}
	return true;
}
	
function SM_SilverpopRequest_doSubmit(frameEl) {
	var submitForm = frameEl.contentWindow.document.forms[0];
	this.setValues(frameEl.contentWindow);
	if (submitForm) {
		formSubmitted = true;
		submitForm.submit();
		var useragent = navigator.userAgent;

		if(!$notExistOrNull(useragent) && useragent.indexOf('Safari') > -1)
		{
			button = $get('SBTN');
			button.value = "Please wait..."
			button.disabled = true;

			setTimeout(function(){SM_SilverpopRequest_onFrameLoad(this);}, 10000);
		}		
	}
}
