var SignUpForm = new Object();

SignUpForm.tryRedirect = function(url, paramName) {
    var statusQs = '';
    var conf = SignUpForm._qs('ConfirmationSent');

	if(conf.length == 0 && typeof(paramName) != 'undefined') {
		conf = SignUpForm._qs(paramName);
	}
	
    if (conf.length > 0) {
        statusQs += (url.indexOf('?') >= 0 ? '&' : '?');
        statusQs += 'success=' + conf.toLowerCase();
        
        location.href = url + statusQs;
    }
}

SignUpForm.initialize = function() {
    SignUpForm.fill();
    SignUpForm.setErrors();
}

SignUpForm.fill = function() {
    SignUpForm.field('txName', SignUpForm._qs('Name'));
	SignUpForm.field('txSubject', SignUpForm._qs('Subject'));
	SignUpForm.field('ddMessageType', SignUpForm._qs('MessageType'));
	SignUpForm.field('txText', SignUpForm._qs('Text'));
    SignUpForm.field('txEmail', SignUpForm._qs('Email'));
    SignUpForm.field('txTarget', SignUpForm._qs('Target'));
	SignUpForm.field('txReturnUrl', SignUpForm._qs('ReturnUrl'));
	SignUpForm.field('txCardHolder', SignUpForm._qs('CUSTOM_CardHolder'));
	SignUpForm.field('txVAT', SignUpForm._qs('CUSTOM_VAT'));
	SignUpForm.field('txCompany', SignUpForm._qs('CUSTOM_Company'));
	SignUpForm.field('ddCountry', SignUpForm._qs('CUSTOM_Country'));
	SignUpForm.field('rbRegular', SignUpForm._qs('CUSTOM_OptionName'));
	SignUpForm.field('rbBusiness', SignUpForm._qs('CUSTOM_OptionName'));
}

SignUpForm.setErrors = function() {
    var reasons = SignUpForm._qs('ErrorReasons').split(',');

    if (reasons.length > 0) {
        for (var i = 0; i < reasons.length; i++) {
            SignUpForm.error(reasons[i], true);
        }
    }
}

SignUpForm.field = function(id, value) {
    var ret = null;
    var f = SignUpForm._e(id);

    if (f) {
        if (SignUpForm._tag(f) == 'select') {
            if (typeof (value) != 'undefined') {
                for (var i = 0; i < f.options.length; i++) {
                    if (f.options[i].value == value) {
                        f.selectedIndex = i;
                        break;
                    }
                }
            } else {
                if (f.options.length > 0 && f.selectedIndex >= 0) {
                    ret = f.options[f.selectedIndex].value;
                }
            }
        } else if (SignUpForm._attr(f, 'type') == 'radio') {
            if (value) {
                f.checked = (value.toLowerCase() == f.value);
            }
        } else {
            if (typeof (value) != 'undefined')
                f.value = value;

            ret = f.value;
        }
    }

    return ret;
}

SignUpForm.getRadioSelection = function(name) {
    var ret = '';
    var inputs = document.getElementsByTagName('input');

    if (inputs && inputs.length > 0) {
        for (var i = 0; i < inputs.length; i++) {
            if (SignUpForm._attr(inputs[i], 'type') == 'radio' &&
                SignUpForm._attr(inputs[i], 'name') == name) {

                if (inputs[i].checked) {
                    ret = inputs[i].value;
                    break;
                }
            }
        }
    }
	
	return ret;
}

SignUpForm.error = function(reason, isVisible) {
    var er = SignUpForm._e('error' + reason);

    if (er) {
        er.style.display = (isVisible ? '' : 'none');
    }
}

SignUpForm._e = function(id) {
    return document.getElementById(id);
}

SignUpForm._htmlDecode = function(str) {
	var ret = str;
	var id = 'decodeField';
	var f = SignUpForm._e(id);

	if (!f) {
		f = document.createElement('span');

		f.id = id;
		f.style.display = 'none';

		document.body.appendChild(f);
	}

	f.innerHTML = str;

	if (f.innerText)
		ret = f.innerText;
	else if (f.textContent)
		ret = f.textContent;

	return ret;
}

SignUpForm._qs = function(name) {
	var ret = '';
	var query = '', vars = null, pair = null;

	if (window.location.search != null && window.location.search.length > 1) {
		query = window.location.search.substring(1);
		vars = query.split("&");

		for (var i = 0; i < vars.length; i++) {
			pair = vars[i].split('=');
			if (pair[0] == name) {
				if (pair.length > 1) {
					ret = pair[1];
				}

				break;
			}
		}
	}

	if (ret.length > 0) {
		ret = ret.replace(/\+/g, ' ');
		ret = ret.replace(/%2b/g, '+');
		ret = ret.replace(/%0d%0a/g, '__br__');

		ret = SignUpForm._htmlDecode(decodeURIComponent(ret));
		ret = ret.replace(/__br__/gi, '\r\n');
	}

	return ret;
}

SignUpForm._tag = function(obj) {
	var ret = '';
	
	if(obj) {
		if(obj.tagName) {
			ret = obj.tagName;
		} else if (obj.nodeName) {
			ret = obj.nodeName;
		}
	}
	
	if(typeof(ret) != 'undefined') {
		ret = ret.toLowerCase();
	}
	
	return ret;
}

SignUpForm._attr = function(obj, attributeName) {
    var ret = '';
    
    if(obj && attributeName) {
        if(obj.getAttribute) {
            ret = obj.getAttribute(attributeName);
        } else if (obj.readAttribute) {
            ret = obj.readAttribute(attributeName);
        }
        
        if(!ret) {
            ret = '';
        }
    }
    
    return ret;
}


