var count = 0;
var totalPrice = 0;
var domains = new Array();

function sortSelect(obj, type, flip) {
	var o = new Array();
	
	if(type == "country") {
		if(flip == true) {
			var temp = new Array();
				
			for(var i = 0; i < obj.options.length; i++) {
				temp =	obj.options[i].text.split(':');
				
				var extension = temp[0].replace(/^\s*|\s*$/g,"");
				var country = temp[1].replace(/^\s*|\s*$/g,"");
				var price = temp[2].replace(/^\s*|\s*$/g,"");
				
				obj.options[i].text = country + " : " + extension + " : " + price;
				
				o[o.length] = new Option(obj.options[i].text, obj.options[i].value);
			}
		}
		else {

			for(var i = 0; i < obj.options.length; i++) {
				o[o.length] = new Option(obj.options[i].text, obj.options[i].value);
			}
		}
		
		if(o.length == 0) { return; }
		
		o = o.sort( 
			function(a, b) { 
				if((a.text + "") < (b.text + "")) { return -1; }
				if((a.text + "") > (b.text + "")) { return 1; }
				return 0;
			} 
		);
	}
	else {
		if(flip == true) {
			var temp = new Array();
				
			for(var i = 0; i < obj.options.length; i++) {
				temp =	obj.options[i].text.split(':');
				
				var country = temp[0].replace(/^\s*|\s*$/g,"");
				var extension = temp[1].replace(/^\s*|\s*$/g,"");
				var price = temp[2].replace(/^\s*|\s*$/g,"");
				
				obj.options[i].text = extension + " : " + country + " : " + price;
				
				o[o.length] = new Option(obj.options[i].text, obj.options[i].value);
			}
		}
		else {
			for(var i = 0; i < obj.options.length; i++) {
				o[o.length] = new Option(obj.options[i].text, obj.options[i].value);
			}
		}
		
		if(o.length == 0) { return; }
		
		o = o.sort( 
			function(a, b) { 
				if((a.text + "") < (b.text + "")) { return -1; }
				if((a.text + "") > (b.text + "")) { return 1; }
				return 0;
			} 
		);
	}
	
	for(var i = 0; i < o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value);
	}
}

function sortByType(type) {
	var source = document.form_intdomains.source_box;
	sortSelect(source, type, true);
}

function add_extension() {
	var source = document.form_intdomains.source_box;
	var dest = document.form_intdomains.dest_box;
	var temp = new Array();
	var domain = document.form_intdomains.form_domain.value;
	var extension;
	var country;
	var price;

	domain = domain.replace(/^\s*|\s*$/g,"");

	if(domain.length < 3) {
		alert("You must enter a domain name consisting of 3 or more characters.");
		return;
	}
	
	if(!domain.match(/^[A-Za-z0-9]+[A-Za-z0-9\-]+[A-Za-z0-9]+$/)) {
		alert("The domain name you entered is invalid.");
		return;
	}

	option_text = source.options[source.selectedIndex].text;
	temp = option_text.split(':');
	
	if(document.form_intdomains.form_sort.value == "country") {
		country = temp[0].replace(/^\s*|\s*$/g,"");
		extension = temp[1].replace(/^\s*|\s*$/g,"");
	}
	else {
		extension = temp[0].replace(/^\s*|\s*$/g,"");
		country = temp[1].replace(/^\s*|\s*$/g,"");
	}

	price = temp[2].replace(/^\s*|\s*$/g,"");

	for(i = 0; i < domains.length; i++) {
		if((domain + extension) == domains[i]) { return; }
	}
	
	var s = domain + extension;
	domains[domains.length] = s;

	dest.options[dest.options.length] = new Option(document.form_intdomains.form_domain.value + extension + " : " + country + " : " + price, document.form_intdomains.form_domain.value + extension);
	
	price = parseFloat(price.substring(1, price.length));
	
	if(isNaN(price)) { price = 0; }
	
	totalPrice += price;
	i = document.getElementById('price');
	i.innerHTML = '<strong>Total Price: <span style="color: #FF0000;">$' + totalPrice + '</span></strong>';
	
	count++;
	i = document.getElementById('count');
	i.innerHTML = '<strong>Total Selected: <span style="color: #FF0000;">' + count + '</span></strong>';
}

function remove_extension() {
	var dest = document.form_intdomains.dest_box;
	var temp = new Array();
	
	if(dest.selectedIndex == -1) { return; }
	
	temp = dest.options[dest.selectedIndex].text.split(":");
	var extension = temp[0].replace(/^\s*|\s*$/g,"");
	var country = temp[1].replace(/^\s*|\s*$/g,"");
	var price = temp[2].replace(/^\s*|\s*$/g,"");
	
	for(i = 0; i < domains.length; i++) {
		if(extension == domains[i]) { domains[i] = null; }
	}
	
	dest.options[dest.selectedIndex] = null;
	
	price = parseFloat(price.substring(1, price.length));
	
	if(isNaN(price)) { price = 0; }
	
	totalPrice -= price;
	i = document.getElementById('price');
	i.innerHTML = '<strong>Total Price: <span style="color: #FF0000;">$' + totalPrice + '</span></strong>';
	
	count--;
	i = document.getElementById('count');
	i.innerHTML = '<strong>Total Selected: <span style="color: #FF0000;">' + count + '</span></strong>';
}

function formSubmit() {
	var s = "";
	var first = true;
	
	name = document.form_intdomains.form_name.value.replace(/^\s*|\s*$/g,"");
	
	if(name.length < 2) {
		alert("Please enter your name before submitting form.");
		return;
	}
	
	email = document.form_intdomains.form_email.value.replace(/^\s*|\s*$/g,"");
	
	if(!email.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
		alert("Please enter a valid email address before submitting form.");
		return;
	}
	
	phone = document.form_intdomains.form_phone.value.replace(/^\s*|\s*$/g,"");
	
	if(phone.length < 10) {
		alert("Please enter a valid phone number before submitting form.");
		return;
	}
	
	for(i = 0; i < domains.length; i++) {
		if(domains[i] != null) {
			if(first == true) {
				s = s + domains[i];
				first = false;
			}
			else {
				s = s + ":" + domains[i];
			}
		}
	}
	
	document.form_intdomains.form_values.value = s;
	document.form_intdomains.submit();
}
