﻿
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

String.prototype.toTitleCase = function() {
	var s = this.toLowerCase();
	var l1 = s.match(/\b[a-zA-Z]/gi);
	var l2 = s.split(/\b[a-zA-Z]/gi);
	if(l1) {
		if(l1.length) {
			var l2ioff = s.indexOf(l1[0]) >= s.indexOf(l2[0]) ? 1 : 0;
			for(var i=0; i<l1.length; i++) {
				var l2i = l2[i+l2ioff] ? l2[i+l2ioff] : '';
				l2[i+l2ioff] = l1[i].toUpperCase() + l2i;
			}
		}
	}
	s = l2.join('');
	return s;
}

function autoPopulateForm() {
	var s = unescape(document.location + '');
	if(s.indexOf('?')>-1) {
		s = s.substr(s.indexOf('?')+1);
		s = s.split('&');
		for(var i=0; i<s.length; i++) {
			if(s[i].indexOf('=')>-1) {
				var f = s[i].substr(0, s[i].indexOf('='));
				autoPopulateForm_FormPopulate(f, s[i].substr(s[i].indexOf('=')+1).trim());
			}
		}
	}
}

function autoPopulateForm_FormPopulate(name, value) {
	if(name == 'ud') {
		autoPopulateForm_decodeAndPopulate(value);
	} else {
		for(var c=0; c<=1; c++) {
			if(c==0) list = document.getElementsByTagName('input');
			if(c==1) list = document.getElementsByTagName('textarea');
			for(var i=0; i<list.length; i++) {
				if(list[i].name.toLowerCase() == name.toLowerCase()) list[i].value = value;
			}
		}
		list = document.getElementsByTagName('select');
		for(var i=0; i<list.length; i++) {
			if(list[i].name.toLowerCase() == name.toLowerCase()) {
				for(var j=0; j<list[i].options.length; j++) {
					if(list[i].options[j].value == value) list[i].selectedIndex = j;
				}
			}
		}
	}
}

function autoPopulateForm_decodeAndPopulate(value) {
	var out = '';
	var items = value.split('|');
	for(var i=0; i<items[0].length; i+=2) {
		var v = (items[0].substr(i,2)*1 + 26);
		out += unescape('%' + v.toString(16));
	}
	out = out.split('|');
	if(out.length>1) {
		document.getElementById('Name').value = out[0].toTitleCase();
		document.getElementById('Email').value = out[1];
		document.getElementById('M_client_name').value = out[0];
		document.getElementById('M_client_email').value = out[1];
	}
	if(items.length > 2) {
		document.getElementById('M_client_number').value = items[1];
		var productLabelExtra = '';
		if(items[2] != '') {
			var av = (items[2].substr(1,1) == 'T');
			var dd = document.getElementById('desc');
			if(!av) dd.removeChild(dd.options[av?0:1]);
			else {
				var value = dd.options[0].value;
				var text = dd.options[0].text;
				dd.removeChild(dd.options[0])
				dd.selectedIndex = 0;
				var op = document.createElement('option');
				op.value = value;
				op.innerHTML = "Upgrade to " + text;
				dd.appendChild(op);
				
				productLabelExtra = '';
				
			}
			document.getElementById('M_product_code').value = items[2];
			document.getElementById('extradetail').style.display = 'none';
			document.getElementById('extra_username').style.display = 'none';
			document.getElementById('descLabel').innerHTML = 'Product you are renewing' + productLabelExtra;
		}
	}
}

function gen_addEvent(object, eventName, fn) {
	if (document.addEventListener) object.addEventListener(eventName, fn, false);
	else object.attachEvent('on' + eventName, fn);
}

gen_addEvent(window, 'load', autoPopulateForm);
