// Switch tabs.
function show_tab(oAnchor) {
	var s_content_id = oAnchor.href.substring(oAnchor.href.indexOf('#')+1);
	if(!s_content_id) {
		return false;
	}
	var o_content = $(s_content_id);
	if (!o_content) {
		return false;
	}
	// Hide content blocks.
	var o_products = $('products');
	if (!o_products) {
		return false;
	}
	
	var a_anchors = $('products').getElements('a');
	var c_anchors = a_anchors.length;
	for (var i_anchor = 0; i_anchor < c_anchors; i_anchor++) {
		var o_anchor = a_anchors[i_anchor];
		var s_product_id = o_anchor.href.substring(o_anchor.href.indexOf('#')+1);
		var o_product_content = $(s_product_id);
		if (o_product_content) {
			o_anchor.removeClass('selected');
			o_product_content.setStyle('display','none')
		}
	}
	o_content.setStyle('display','block');
	oAnchor.addClass('selected');
	return true;
}

// Check if a domain is available
function init_domain_check() {
	var o_bt = $('check_domain');
	if (!o_bt) {
		return false;
	}
	 
	// Checks the domain on availability.
	var o_msg = $('check_domain_msg');
	var o_globber = $('globber');
	var o_found_domains = $('found_domains');
	var o_domain_list = $('domain_list');
	var o_domain = $('domain_name');
	
	// Ask the server if a domain is available
	var f_check_domain = function(oEvent) {
		o_found_domains.setStyle('display','none');
		var s_domain_name = o_domain.get('value');
		if (s_domain_name == "") {
			alert("Hela wel een domain invullen");
			return false;
		}
		var o_ext = $('domain_ext');
		
		o_msg.setStyle('display','block');
		o_globber.setStyle('display','block');
		o_bt.disabled = true;
		o_request.send('name=' +s_domain_name +'&ext=' +o_ext.get('value'));
		return true;
	};
	
	// Gets called when we got a response from the server.
	var f_checked = function(sResult) {
		var o_result = JSON.decode(sResult);
		if (!o_result) {
			return false;
		}
		o_globber.setStyle('display','none');
		o_msg.setStyle('display','none');
		o_domain_list.set('html',o_result.s_domain_list);
		o_found_domains.setStyle('display','block');
		o_bt.disabled = false;
		return true;
	};
	
	var f_keydown = function(oEvent) {
		if (oEvent.key == "enter") {
			oEvent.stop();
			f_check_domain(oEvent);
		}
		return true;
	};
	o_domain.addEvent('keydown',f_keydown);
	
	o_bt.addEvent('click', f_check_domain);
	o_bt.setStyle('display','inline');
	var o_request = new Request({
		 method:'post'
		,url: '/control/hosting/site/check_domain/'
		,onSuccess: f_checked
	}); 
	return true;
}

// Validates 'required' fields.
function validate_form(oEvent) {
	oEvent.stop();
	var a_required = document.body.getElements('.required');
	if (!a_required) {
		submit_form();
		return;
	}
	
	var b_error = false;
	a_required.each(function(oEl, iDX) {
		try {
			if (b_error) { return false; }
			var s_msg = oEl.get('text').replace(/\*/,'').trim();
			
			var o_input = oEl.getElement('input');
			if (o_input.get('value').trim() == "") {
				alert(s_msg +" is verplicht. Vul deze a.u.b. in.");
				b_error = true;
				o_input.focus();
			}
		}
		catch (oEx) {};
	});
	if (!b_error) {
		submit_form();
	}
	return false;
	
}

function submit_form() {
	document.forms[0].submit(); 	return true;
}

// when JS is enabled we can remove those ugly buttons. 
function hide_submit() {
	try {
		$(document.body).getElements('input[type=submit]').each(function(oEl,iDX) {
			oEl.setStyle('display','none');
		});
		
		// add event handlers for the text input fields.
		var f_submit = function(oEvent) {
			if (oEvent.key == "enter") {
				this.form.submit();	
				oEvent.stop();
			}
		}
		$(document.body).getElements('input[type=text]').each(function(oEl,iDX) {
			oEl.addEvent('keydown', f_submit);
		});
		$(document.body).getElements('input[type=password]').each(function(oEl,iDX) {
			oEl.addEvent('keydown', f_submit);
		});
		
		
	}
	catch (oEx) {console.log(oEx);}
	return true;
}

// Default selected product.
function on_domready() {
	var o_hosting = $('a_hosting_budget');
	if (o_hosting) {
		o_hosting.onclick();
	}
	init_domain_check();
	hide_submit();
	
	// Set validation handler
	var o_submit_button = $('submit_button');
	if (o_submit_button) {
		o_submit_button.addEvent('click', validate_form);
	}
}

window.addEvent('domready', on_domready);

