var base_url   = location.protocol + '//' + location.host + '/';
var url_suffix = '';
var entire_url = base_url + url_suffix;

var os = []; os['linux'] = new Array(); os['windows'] = new Array();
os['linux']['name']    = new Array(
	'Debian 5.0',
	'Debian 5.0 64bit',
	'SUSE 11.1',
	'SUSE 11.1 64bit',
	'Ubuntu 8.04',
	'Ubuntu 8.04 64bit',
	'CentOS 5',
	'CentOS 5 64bit'
);
os['linux']['value']   = new Array(
	'debian_5_0',
	'debian_5_0_64bit',
	'suse_11_1',
	'suse_11_1_64bit',
	'ubuntu_8_04',
	'ubuntu_8_04_64bit',
	'centos_5',
	'centos_5_64bit'
);
os['windows']['name']  = new Array('Windows Server 2003 Standard R2 32bit');
os['windows']['value'] = new Array('windows_server_2003_standard_r2_32bit');

$(window).load(function(event)
{
	initEvents();
});

function initEvents()
{
	$("input[name='customer_mailing_option']").change(function() { customerMailingOptionChange(this); });
	$("input[name='service_option']").change(function() { serviceOptionChange(this); });
	$('#service_hosting_additional_1').change(function() { serviceHostingAdditionalChange(this); });
	$('#service_hosting_additional_2').change(function() { serviceHostingAdditionalChange(this); });
	$('#service_hosting_additional_3').change(function() { serviceHostingAdditionalChange(this); });
	$('#service_hosting_additional_4').change(function() { serviceHostingAdditionalChange(this); });
	$('#service_hosting_additional_5').change(function() { serviceHostingAdditionalChange(this); });
	$('#service_hosting_additional_6').change(function() { serviceHostingAdditionalChange(this); });
	$("input[name='service_vps_os_option']").change(function() { serviceVPSOsOptionChange(this); });
	$('#service_vps_linux_pp_additional_2').change(function() { servicePPAdditionalChange(this); });
	$("input[name='service_vps_linux_pp_option']").change(function() { serviceVPSLinuxPPOptionChange(this); });
	$('#service_vps_test_server').change(function() { serviceVPSTestServerChange(this); });
	$('#service_vps_sms_alert').change(function() { serviceVPSSMSAlertChange(this); });
	$('#service_radio_unique_port_number').change(function() { serviceRadioUniquePortNumberChange(this); });
	$("input[name='service_server_rent_opteron_pack_option']").change(function() { serviceServerRentPackOptionChange(this); });
	$("input[name='service_server_rent_intel_xeon_pack_option']").change(function() { serviceServerRentPackOptionChange(this); });
	$('#service_server_rent_pp_additional_2').change(function() { servicePPAdditionalChange(this); });
	$("input[name='service_domain_hosting_option']").change(function() { serviceDomainHostingOptionChange(this); });
	$("input[name='service_domain_parking_option']").change(function() { serviceDomainParkingOptionChange(this); });
	$("input[name='service_domain_redirect_type_option']").change(function() { serviceDomainRedirectOptionChange(this); });
}

function customerMailingOptionChange(obj)
{
	if (obj.value == 1)
	{
		$('#customer_mailing_fields').removeClass('display_n');
	}
	else
	{
		$('#customer_mailing_fields').addClass('display_n');
	}
	
	$('#customer_more_fields').removeClass('display_n');
}

function serviceOptionChange(obj)
{
	switch(obj.value)
	{
		case 'tarhely':
			$('#service_hosting').removeClass('display_n');
			$('#service_vps').addClass('display_n');
			$('#service_radio').addClass('display_n');
			$('#service_server_rent').addClass('display_n');
			$('#service_domain').addClass('display_n');
			break;
			
		case 'vps':
			$('#service_vps').removeClass('display_n');
			$('#service_hosting').addClass('display_n');
			$('#service_radio').addClass('display_n');
			$('#service_server_rent').addClass('display_n');
			$('#service_domain').addClass('display_n');
			break;
			
		case 'radio':
			$('#service_radio').removeClass('display_n');
			$('#service_hosting').addClass('display_n');
			$('#service_vps').addClass('display_n');
			$('#service_server_rent').addClass('display_n');
			$('#service_domain').addClass('display_n');
			break;
			
		case 'berszerver':
			$('#service_server_rent').removeClass('display_n');
			$('#service_hosting').addClass('display_n');
			$('#service_vps').addClass('display_n');
			$('#service_radio').addClass('display_n');
			$('#service_domain').addClass('display_n');
			break;
			
		case 'domain':
			$('#service_domain').removeClass('display_n');
			$('#service_hosting').addClass('display_n');
			$('#service_vps').addClass('display_n');
			$('#service_radio').addClass('display_n');
			$('#service_server_rent').addClass('display_n');
			break;
			
		default:
			$('#service_hosting').addClass('display_n');
			$('#service_vps').addClass('display_n');
			$('#service_radio').addClass('display_n');
			$('#service_server_rent').addClass('display_n');
			$('#service_domain').addClass('display_n');
			$('#customer_fields').addClass('display_n');
	}
	
	$('#customer_fields').removeClass('display_n');
}

function serviceHostingAdditionalChange(obj)
{
	if (obj.checked)
	{
		$('#' + obj.id).next('label').removeClass('display_n');
		$('#' + obj.id + '_no').removeClass('input_50_display_n');
		$('#' + obj.id + '_no').addClass('input_50');
	}
	else
	{
		$('#' + obj.id).next('label').addClass('display_n');
		$('#' + obj.id + '_no').addClass('input_50_display_n');
		$('#' + obj.id + '_no').removeClass('input_50');
	}
}

function serviceVPSOsOptionChange(obj)
{
	if (obj.value == 'linux')
	{
		$('#service_vps_linux_0').removeClass('display_n');
		$('#service_vps_windows_0').addClass('display_n');
		$('#service_vps_os_detailed').children().remove().end();
		
		$('#service_vps_os_detailed').append('<option value="valasszon">Válasszon</option>').end();
		for (var i = 0; i < os['linux']['value'].length; i++)
		{
			$('#service_vps_os_detailed').append('<option value="' + os['linux']['value'][i] + '">' + os['linux']['name'][i] + '</option>').end();
		}
		
		$('#service_vps_linux_1').removeClass('display_n');
		$('#service_vps_windows_1').addClass('display_n');
	}
	else
	{
		$('#service_vps_windows_0').removeClass('display_n');
		$('#service_vps_linux_0').addClass('display_n');
		$('#service_vps_os_detailed').children().remove().end();
		
		$('#service_vps_os_detailed').append('<option value="valasszon">Válasszon</option>').end();
		for (var i = 0; i < os['windows']['value'].length; i++)
		{
			$('#service_vps_os_detailed').append('<option value="' + os['windows']['value'][i] + '">' + os['windows']['name'][i] + '</option>').end();
		}
		
		$('#service_vps_windows_1').removeClass('display_n');
		$('#service_vps_linux_1').addClass('display_n');
	}
	
	$('#service_vps_more_fields').removeClass('display_n');
}

function servicePPAdditionalChange(obj)
{
	if (obj.checked)
	{
		$('#' + obj.id + '_domain').removeClass('display_n');
	}
	else
	{
		$('#' + obj.id + '_domain').addClass('display_n');
	}
}

function serviceVPSLinuxPPOptionChange(obj)
{
	if (obj.value > 0)
	{
		$('#service_vps_linux_sw_installation_need').addClass('display_n');
	}
	else
	{
		$('#service_vps_linux_sw_installation_need').removeClass('display_n');
	}
}

function serviceVPSTestServerChange(obj)
{
	if (obj.checked)
	{
		$('#' + obj.id).next('label').removeClass('display_n');
		$('#' + obj.id + '_ip').removeClass('input_100_display_n');
		$('#' + obj.id + '_ip').addClass('input_100');
	}
	else
	{
		$('#' + obj.id).next('label').addClass('display_n');
		$('#' + obj.id + '_ip').addClass('input_100_display_n');
		$('#' + obj.id + '_ip').removeClass('input_100');
	}
}

function serviceVPSSMSAlertChange(obj)
{
	if (obj.checked)
	{
		$('#service_vps_sms_alert_fields').removeClass('display_n');
	}
	else
	{
		$('#service_vps_sms_alert_fields').addClass('display_n');
	}
}

function serviceRadioUniquePortNumberChange(obj)
{
	if (obj.checked)
	{
		$('#' + obj.id).next('label').removeClass('display_n');
		$('#' + obj.id + '_port').removeClass('input_50_display_n');
		$('#' + obj.id + '_port').addClass('input_50');
	}
	else
	{
		$('#' + obj.id).next('label').addClass('display_n');
		$('#' + obj.id + '_port').addClass('input_50_display_n');
		$('#' + obj.id + '_port').removeClass('input_50');
	}
}

function serviceServerRentPackOptionChange(obj)
{
	if (obj.name == 'service_server_rent_opteron_pack_option')
	{
		$("input[name='service_server_rent_intel_xeon_pack_option']").removeAttr('checked');
	}
	else
	{
		$("input[name='service_server_rent_opteron_pack_option']").removeAttr('checked')
	}
}

function serviceDomainHostingOptionChange(obj)
{
	if (obj.value == 1)
	{
		$('#service_domain_parking_option_div').addClass('display_n');
		
		$('#service_hosting').removeClass('display_n');
		$('#service_vps').addClass('display_n');
		$('#service_radio').addClass('display_n');
		$('#service_server_rent').addClass('display_n');
		$('#service_domain').addClass('display_n');
		
		$("input[name='service_option']").val(['tarhely']);
		$("input[name='service_hosting_domain_name']").val($("input[name='service_domain_domain_name']").val());
		$("textarea[name='service_hosting_domain_name_more']").val($("textarea[name='service_domain_domain_name_more']").val());
		$("input[name='service_hosting_type_option']").val([$("input[name='service_domain_type_option']:checked").val()]);
	}
	else
	{
		$('#service_domain_parking_option_div').removeClass('display_n');
		$("input[name='service_domain_parking_option']").trigger('change');
	}
}

function serviceDomainParkingOptionChange(obj)
{
	if (obj.value == 1)
	{
		$('#service_domain_redirect_type_option_div').addClass('display_n');
		$('#service_domain_redirect_dns_div').addClass('display_n');
		$('#service_domain_redirect_ip_div').addClass('display_n');
		$('#service_domain_redirect_webaddress_div').addClass('display_n');
	}
	else
	{
		if (obj.checked)
		{
			$('#service_domain_redirect_type_option_div').removeClass('display_n');
			$("input[name='service_domain_redirect_type_option']").trigger('change');
		}
	}
}

function serviceDomainRedirectOptionChange(obj)
{
	if (obj.value == 0)
	{
		if (obj.checked)
		{
			$('#service_domain_redirect_dns_div').removeClass('display_n');
			$('#service_domain_redirect_ip_div').addClass('display_n');
			$('#service_domain_redirect_webaddress_div').addClass('display_n');
		}
	}
	else if (obj.value == 1)
	{
		if (obj.checked)
		{
			$('#service_domain_redirect_ip_div').removeClass('display_n');
			$('#service_domain_redirect_dns_div').addClass('display_n');
			$('#service_domain_redirect_webaddress_div').addClass('display_n');
		}
	}
	else if (obj.value == 2)
	{
		if (obj.checked)
		{
			$('#service_domain_redirect_webaddress_div').removeClass('display_n');
			$('#service_domain_redirect_ip_div').addClass('display_n');
			$('#service_domain_redirect_dns_div').addClass('display_n');
		}
	}
}