var request_handler = 'request_handler.php';
var required = 0;
var need_anonymous = false;

/*
document.observe("dom:loaded", function() {
	if($F('package') == 2 || $F('package') == 23)
	{
		radios = $$('[name=billing_cycle]');
		if(radios.length)
		{
			radios.invoke('observe', 'click', updateSSLCost);
			updateSSLCost();
		}
	}
});
*/
function updateSSLCost()
{
	if($('billing_cycle24').checked || $('billing_cycle12').checked)
	{
		$('ssl_50').next().update('Basic SSL Certificate FREE');
	}
	else
	{
		$('ssl_50').next().update('Basic SSL Certificate $99.00/year');
	}
	
}


function OpenFile(url, size)
{
	if(!size)
	{
		width = 500;
		height = 500;
	}
	else
	{
		width = size;
		height = size;
	}
	window.open(url,'OpenFile','scrollbars=yes,status=no, high,width='+width+',height='+height);
}

function showStates(pState, disabled)
{
	for (i = 1; i < 73; i++)
	{
		pState.options[i].disabled = disabled;
	}
}

function showCountryReference( country , type)
{
    var curCntry = $F(country);
    el = 'stateID'+type;
    var pState = $(el);

    if(  curCntry != '' )
    {
 	   /* Check if country is Canada or US */
        if( curCntry != 'US' && curCntry != 'CA' )
        {
			pState.options[74].selected = true;
            check_filled(pState);
        }
    }
    
    var col = /:/;
    phone_code_select = document.getElementById('country_phone_code');
    //var pc_options = phone_code_select.options;
    var i=0;
    for(i=0;i<phone_code_select.options.length;i++)
    {
    	if(col.test(phone_code_select.options[i].value))
    	{
	    	var code_num = phone_code_select.options[i].value.split(":");
	    	if(curCntry == code_num[0])
	    	{
	    		phone_code_select.options[i].selected = true;
	    		$('phone').value = '+' + code_num[1] + ' ';
	    		$('phone').focus();
	    		return false;
	    	}
    	}
    }
}

function fillPhoneCodeByCountry(code_dropdown)
{
	var code_num = $F(code_dropdown).split(":");
	$('phone').value = '+' + code_num[1] + ' ';
	$('phone').focus();
}

function showDesc(tab, package_id)
{
	var plan = tab.id;
	var pkg = $('package');
	pkg.value = package_id;
	changeTabs('plan_tab', tab);

	var params = 'function_call=get_desc&package='+plan;
	var myAjax = new Ajax.Updater( 'plan_description', request_handler, { method: 'post', parameters: params});
}

function drawDedicatedAddons(session_id,is_windows_dedicated,default_cpu_text)
{
	var server_count = $F('additional_ded_servers');
	var pkg = $F('package');
	var params = 'function_call=draw_dedicated_addons&package='+pkg+'&server_amt='+server_count+'&js_flag=true&session_id_num='+session_id+'&is_windows_dedicated='+is_windows_dedicated+'&default_cpu_text='+default_cpu_text;
	var myAjax = new Ajax.Updater( 'addons_container', request_handler, { method: 'post', parameters: params });
}

function drawVPSAddons(op_system)
{
	var win_features = $$('.win_vps_feature');
	
	switch(op_system){
		case '71':
			 $('nix_vps_addons').style.display = 'none';
			 $('win_vps_addons').style.display = '';
			 $('miva').checked = false;
			 $('miva').disabled = true;
			 win_features.each(function(name,index) {
			 	$(name).style.display = '';
			 });
			 $('control_panel').options[1].disabled = true;
			 $('control_panel').selectedIndex = 0;
			 break;
		case '57':
			 default:
			 $('nix_vps_addons').style.display = '';
			 $('win_vps_addons').style.display = 'none';
			 $('miva').disabled = false;
			win_features.each(function(name,index) {
			 	$(name).style.display = 'none';
			 });
			 $('ms_sql').options[0].selected = true;
			 $('control_panel').options[1].disabled = false;
			 break;
	}

}

function showDomains(tab)
{
	var type = tab.id;
	var da = $('domain_action');
	var pkg = $F('package');
	da.value = type;
	changeTabs('domain_tab', tab);

	var params = 'function_call=draw_domain_input&package='+pkg+'&type='+type;
	var myAjax = new Ajax.Updater( 'domain_description', request_handler, { method: 'post', parameters: params, onComplete: draw_breakdown});
}

function showExtraDomains()
{
	var rows = document.getElementsByClassName('hidden_row');
	change_to = rows[0].style.display;
	for(i=0; i<rows.length; i++)
	{
		if(change_to == 'block')
		{
			rows[i].style.display = '';
		}
		else
		{
			rows[i].style.display = 'block';
		}
	}
}

function showBilling()
{
	var params = 'function_call=draw_billing&package='+$F('package');
	var myAjax = new Ajax.Updater( 'cycle_description', request_handler, { method: 'post', parameters: params});
}

function reDrawBreakdown(payment_method)
{
	var params = 'function_call=draw_breakdown_table&payment_method='+payment_method;
	var myAjax = new Ajax.Updater(
		'order_breakdown', 
		request_handler, 
		{
			method: 'post', 
			parameters: params
		}
	);
}

function showAddons()
{
	var pkg = $F('package');
	var params = 'function_call=draw_addons&package='+pkg;
	var myAjax = new Ajax.Updater( 'addon_box', request_handler, { method: 'post', parameters: params});
}

function changeTabs(tab_name, selected_tab)
{
	var tabs = document.getElementsByClassName(tab_name);
	for(i=0; i<tabs.length; i++)
	{
		if(selected_tab == tabs[i])
		{
			tabs[i].style.textAlign = 'center';
			tabs[i].style.textDecoration = 'underline';
			tabs[i].style.color = 'white';
			tabs[i].style.opacity = '1.0';
		}
		else
		{
			tabs[i].style.textAlign = 'left';
			tabs[i].style.textDecoration = 'none';
			tabs[i].style.color= '#bbb';
			tabs[i].style.opacity = '.50';
		}
	}
}

function saveDomain()
{
	var domain_action = $F('domain_action');
	var msg = $('domain_msg');
	var valid_domain = /^[a-z0-9\-]+$/i;
	if($F('domain0') == '')
	{
		msg.innerHTML = '<span class="error">You must fill out a domain name</span>';
		new Effect.Shake(msg);
		return false;
	}
	else if(domain_action == 'transfer' && !valid_domain.test($F('domain0')))
	{
		msg.innerHTML = '<span class="error">Your domain name does not appear to be valid. Valid characters are Numbers, Letters and hyphens. If you want to register a sub-domain of an account, ie. "one.example.com", please just use the main domain name, "example" instead.</span>';
		new Effect.Shake(msg);
		return false;
	}
	else if(domain_action == 'canonical' && !valid_domain.test($F('domain0')))
	{
		msg.innerHTML = '<span class="error">Your sub-domain name does not appear to be valid. Valid characters are Numbers, Letters and hyphens. </span>';
		new Effect.Shake(msg);
		return false;
	}
	else
	{
		var valid = 1;
		if(domain_action == 'new')
		{
			for(var i = 0; i<5; i++)
			{
				var d = 'domain'+i;
				var t = 'tld'+i;
				if($(d).value != '')
				{
					if($(d).className == '')
					{
						searchDomain($(d),i);
						valid = 0;
					}
					else
					{
						var domain_name = $F(d)+'.'+$F(t);
						if($(d).className != 'valid')
						{
							$(d).value = '';
							$(d).className = '';
						}
					}
				}
			}
		}
		if(valid == 1)
		{
			toggleBoxBreakdown($('name_box'));
			msg.innerHTML = '';
			return true;
		}
	}
	return false;
}

function saveNames()
{
	msg = $('name_msg');
	if($F('name') == '' || $F('email') == '')
	{
		msg.innerHTML = '<span class="error">Both Name and Email must be filled out</span>';
		new Effect.Shake(msg);
	}
	else if(!checkEmail($F('email')))
	{
		msg.innerHTML = '<span class="error">Incorrect Email format</span>';
		new Effect.Shake(msg);
	}
	else if($('coupon') && $F('coupon') != '')
	{
		var params = 'function_call=get_coupon_status&'+Form.serialize('signup_form');
		var myAjax = new Ajax.Request(
			request_handler,
			{
				method: 'post',
				parameters: params,
				evalScripts: true
			}
		);
	}
	else
	{
		msg.innerHTML = '';
	}

	if(msg.innerHTML == '')
	{
		var params = 'function_call=order_session_init&'+Form.serialize('signup_form');
		var myAjax = new Ajax.Request(
			request_handler,
			{
				method: 'post',
				parameters: params,
				evalScripts: true
			}
		);
	//	toggleBoxBreakdown($('cycle_box'));
		$('submit1').style.display = '';
	}
}

function saveAccountInfo()
{
	msg = $('account_msg');
	required = 0;
	check_filled($('first_name'));
	check_filled($('last_name'));
	check_filled($('email'));
	check_filled($('address'));
	check_filled($('city'));
	check_filled($('stateIDc'));
	check_filled($('zip'));
	check_filled($('phone'));
	check_filled($('password'));
	check_filled($('confirm_password'));
	check_filled($('phone'));
	if(required > 0)
	{
		msg.innerHTML = '<span class="error">All required fields must be filled out</span>';
		new Effect.Shake(msg);
	}
	else if(!checkEmail($F('email')))
	{
		msg.innerHTML = '<span class="error">Incorrect Email format</span>';
		new Effect.Shake(msg);
	}
	else	if($F('password') != $F('confirm_password'))
	{
		msg.innerHTML = '<span class="error">Passwords must match</span>';
		new Effect.Shake(msg);
	}
	else if($F('password').length < 6)
	{
		msg.innerHTML = '<span class="error">Passwords must be between 6 and 14 characters</span>';
		new Effect.Shake(msg);
	}
	else if(!checkPassword($F('password')))
	{
		msg.innerHTML = '<span class="error">Passwords must not contain the following ("test","123","asdf","pass","xyz") or any special characters. Only letters and numbers are allowed</span>';
		new Effect.Shake(msg);
	}
	else
	{
		showPayment($('payment_type'));
		toggleBox($('payment_box'));
	}
}

function reload(hide, show)
{
	hideMe(hide);
	showMe(show);
}

function saveCycle()
{
	toggleBoxBreakdown($('addon_box'));
}

function draw_breakdown()
{
	var params = 'function_call=draw_breakdown&'+Form.serialize('signup_form');
	var myAjax = new Ajax.Updater( 'order_breakdown', request_handler, { method: 'post', parameters: params});
	new Effect.Appear('order_breakdown');
}



function showMe(item)
{
	var box = $(item);
	//new Effect.Appear(box,{duration: 1});
	showMeNow(box);
}

function searchDomain(input,num)
{
	//console.log(input);
	input.value = trim(input.value);
	var domain_name = input.value;
	var tld = $F('tld'+num);
	var change_me = 'domain_check'+num;
	var input = input.id;
	var params = 'function_call=get_domain_status&domain_name='+domain_name+'&tld='+tld+'&change_me='+change_me+'&input='+input;
	$(change_me).className = 'simple_box';
	$(change_me).innerHTML = '<span>Confirming Domain Availability<img align="absmiddle" src="images/domain_animation.gif"></span>';
	/*var myAjax = new Ajax.Updater( change_me, request_handler, { method: 'post', parameters: params});*/
	var myAjax = new Ajax.Request(
			request_handler,
			{
				method: 'post',
				parameters: params,
				evalScripts: true

			}
		);
}

function trim(str)
{
    return str.replace(/^\s*|\s*$/g,'');
}


function hideMe(item)
{
	var box = $(item);
	new Effect.BlindUp(box,{duration: 0.5});
}

function hideMeNow(item)
{
	$(item).style.display = 'none';
}

function showMeRow(item)
{
	$(item).style.display = 'table-row';
}
function showMeNow(item)
{
	$(item).style.display = 'block';
}

function check_filled(input_box)
{
	//Replace www for domains
  	var reg = /^domain/;
	if(reg.exec(input_box.id ))
	{
		tmp_val = $F(input_box);
		$(input_box).value = tmp_val.replace(/www\./,'');
	}

	//Check if it's filled
	if($F(input_box) == '' || $F(input_box) == 'need_reset')
	{
		input_box.className = 'invalid';
		required = required + 1;
	}
	else if(input_box.className == 'invalid')
	{
		input_box.className = '';
		required = required - 1;
	}
}

function alternateDomain(domain_name, change_me,input)
{
	var params = 'function_call=get_alternate_domains&original='+domain_name+'&change_me='+change_me+'&input='+input;
	$(change_me).innerHTML = '<span>Searching for alternate domains<img align="absmiddle" src="images/domain_animation.gif" ></span>';
	var myAjax = new Ajax.Request(
			request_handler,
			{
				method: 'post',
				parameters: params,
				evalScripts: true

			}
		);
}

function updateDomain(domain_input, domain_val, tld_input, tld, change_me)
{
	$(domain_input).value = domain_val;
	$(domain_input).className = 'valid';
	$(tld_input).value = tld;
	$(change_me).innerHTML = '';
	//new Effect.Appear($('domain_next'));
	//showMeNow($('domain_next'));
}


function showPayment( select_box )
{
  var tables = document.getElementsByClassName('input');
  var payment_type = select_box.options[select_box.selectedIndex].value;
  var shown = '';
  var reg = /ID$/;
  for(i=0; i<tables.length; i++)
  {
        id = tables[i].id;
        if(reg.exec(id))
        {
                if(tables[i].style.display != 'none')
                {
                        tables[i].style.display = 'none';
                }
        }
  }

  if (payment_type == 7) {
  	shown = $('stratocashID');
  }
  else if (payment_type == 6) {
  	shown = $('echeckID');
  }
  else if (payment_type == 5) {
	shown = $('moneyorderID');
  }
  else if (payment_type == 8) {
 	shown = $('paypalID');
  }
  else if (payment_type == 10)
  {
  	shown = $('alipayID');
  }
  else if(payment_type == 'current') {
  	shown = $('currentID');
  }
  else if(payment_type == 'trial')
  {
  	shown = $('trialID');
  }
  else
  {
	shown = $('cardID');
  }
  //Stupid Hack so that nothing gets cut off
  //new Effect.Appear(shown);
  showMeNow(shown);
  //shown.parentNode.style.overflow = 'auto';
  if($('payment_box').style.height == '0px' )
  {
  	//myAccordion.showThisHideOpen($('payment_box'));
  }
}


function toggleBoxBreakdown(box)
{
	myAccordion.showThisHideOpen(box,true);
}

function toggleBox(box)
{
	myAccordion.showThisHideOpen(box,false);
}

function checkPassword( pass )
{
        if (/asdf|qwert|pass|123|abc|xyz|test/.test( pass ))
        {
                return false;
        }
        if (/^([A-z0-9]+)$/.test( pass ))
        {
                return true;
        }
        return true;
}

function checkEmail( emailToCheck ) {
//        if (/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,8})$/.test( emailToCheck )) {
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test( emailToCheck )) {
                return (true)
        } else { return false; }
}

function check_terms()
{
  payment_type = $F('payment_type');
  if( payment_type == 8 )
  {
        checkbox = $('contract_agree_pp');
  }
  if( payment_type == 7 )
  {
        checkbox = $('contract_agree_alt');
  }
  if( payment_type == 6 )
  {
        checkbox = $('contract_agree_echeck');
  }
  if( payment_type == 5 )
  {
        checkbox = $('contract_agree_check');
  }
  if( payment_type == 'C')
  {
        checkbox = $('contract_agree_cc');
  }
  if(!checkbox.checked)
  {
  	$('payment_msg').innerHTML = '<span class="error">You must accept the Terms of Service</span>';
  	new Effect.Shake(checkbox);
  	new Effect.Shake($('payment_msg'));
  	return false;
  }
  return true;
}



function changeForm(control_panel,offset) // all display changes only
{
  var server_offset = offset;
  switch(control_panel){
  	case '26':
  		//var show = document.getElementById('plesk_scripts'+server_offset); //if choose cpanel, hide plesk scriptss
		//show.style.display = 'none';
    	//	var show = document.getElementById('cpanel_scripts'+server_offset);
		//show.style.display = '';
		$('plesk_scripts'+server_offset).style.display = 'none';
		$('cpanel_scripts'+server_offset).style.display = '';
		$('plesk_lang'+server_offset).checked = false;
		$('plesk_pwr'+server_offset).checked = false;
		//console.log($('plesk_lang'));
		break;
	case '51':
    case '27':
    case '40':
    case '37':
    	//var show = document.getElementById('cpanel_scripts'+server_offset);	// if choose any plesk control panel, hide cpanel
		//show.style.display = 'none';
    	//var show = document.getElementById('plesk_scripts'+server_offset);
		//show.style.display = '';
		$('cpanel_scripts'+server_offset).style.display = 'none';
		$('plesk_scripts'+server_offset).style.display = '';
		$('fantastico'+server_offset).checked = false;
		break;
    default:
    	//var show = document.getElementById('cpanel_scripts'+server_offset);   // if all else, display nothing
		//show.style.display = 'none';
    	//var show = document.getElementById('plesk_scripts'+server_offset);
		//show.style.display = 'none';
		$('plesk_scripts'+server_offset).style.display = 'none';
		$('cpanel_scripts'+server_offset).style.display = 'none';
  }
}

function changeFormOS(op_system,offset) // all display changes only
{
   var server_offset = offset;
   switch(op_system){
  	// windows web-edition - no database and no managed hosting
   	case '55':
	case '81':
		$('ms_sql'+server_offset).disabled = true;
		$('ms_sql'+server_offset).checked = false;
		$('miva'+server_offset).checked = false;
		$('miva'+server_offset).disabled = true;
		$('managed_hosting'+server_offset).options[2].disabled = true;
		$('control_panel'+server_offset).options[0].disabled = true;
		$('control_panel'+server_offset).options[2].disabled = true;
		$('control_panel'+server_offset).options[3].disabled = false;
		$('control_panel'+server_offset).options[4].disabled = false;
		$('control_panel'+server_offset).selectedIndex = 3;
		break;
  	// windows - can have database but no managed hosting
  	case '54':
  	case '53':
  	case '80':
  	case '82':
		$('ms_sql'+server_offset).disabled = false;
		$('miva'+server_offset).checked = false;
		$('miva'+server_offset).disabled = true;
		$('managed_hosting'+server_offset).options[2].disabled = true;
		$('control_panel'+server_offset).options[0].disabled = true;
		$('control_panel'+server_offset).options[2].disabled = true;
		$('control_panel'+server_offset).options[3].disabled = false;
		$('control_panel'+server_offset).options[4].disabled = false;
		$('control_panel'+server_offset).selectedIndex = 3;
		break;
	// linux - managed hosting but no database
	case '57':
	case '56':
		$('ms_sql'+server_offset).disabled = true;
		$('ms_sql'+server_offset).checked = false;
		$('miva'+server_offset).disabled = false;
		$('managed_hosting'+server_offset).options[2].disabled = false;
		$('control_panel'+server_offset).options[0].disabled = false;
		$('control_panel'+server_offset).options[2].disabled = false;
		$('control_panel'+server_offset).options[3].disabled = false;
		$('control_panel'+server_offset).options[4].disabled = false;
		$('control_panel'+server_offset).selectedIndex = 0;
		break;
    default: // all else
    	$('miva'+server_offset).disabled = false;
		$('control_panel'+server_offset).options[0].disabled = false;
		$('control_panel'+server_offset).options[2].disabled = false;
		$('control_panel'+server_offset).options[3].disabled = false;
		$('control_panel'+server_offset).options[4].disabled = false;
		$('control_panel'+server_offset).selectedIndex = 0;
		$('ms_sql'+server_offset).disabled = true;
  }
}

function changeForm_vps(control_panel)
{
	if(control_panel == 49 || control_panel == 26)
	{
		$('plesk_scripts').hide();
		$('plesk_lang').checked = false;
		$('plesk_pwr').checked = false;
	}
	else
	{
		$('plesk_scripts').show();
	}
}

function anonymousDefault(value)
{
	need_anonymous = value;
}


function canAnonymous()
{
    var anon_chk = ($('anonymous'))  ?  $('anonymous')  :  $('box17');
    if (!anon_chk)
    {
    	return;
    }

    var us = false;
    $$('#domains_list select').each(function(tld)
	{
		var num = tld.id.substring(3);

		if (tld.parentNode.style.display != 'none'				 // Skip hidden rows
		  && tld.value == 'us' )//&& $('domain' + num).value != '')   // Check all not empty rows
        {
        	us = true;
        }
	});

    if (us) // disabling checkbox
    {
		anon_chk.checked = false;
	    anon_chk.disabled = true;
	}
	else // enabling checkbox and setting default value
	{
		anon_chk.disabled = false;
	    anon_chk.checked = need_anonymous;
	}
}


function checkTLDUS(selected_tld)
{
    if( selected_tld.options[selected_tld.selectedIndex].value == "us" )
	{
//        $("anonymousbox").style.display = "none";
    }
	else
	{
//        $("anonymousbox").style.display = "block";
    }
}

function dual_note()
{
	$('dual_note').innerHTML='Setup and Billing for ASP or JSP is enabled. Client accounts are activated done by request after signup process. ';
}

function apache_check(version)
{
	if(version == 'apache2')
	{
		$('box13').checked = false;
		$('box12').checked = false;
		$('box78').checked = false;
		$('box13').disabled = true;
		$('box12').disabled = true;
		$('box78').disabled = true;
	}
	else
	{
		$('box13').disabled = false;
		$('box12').disabled = false;
		$('box78').disabled = false;
	}
}

function addon_compatibility(addon, element)
{
	if(addon == 78)
	{
		if(element.checked == true)
		{
			$('box13').checked = false;
			$('box12').checked = false;
			//$('apache1').checked = true;
			$('box13').disabled = true;
			$('box12').disabled = true;
			//$('apache2').disabled = true;
		}
		else
		{
			$('box12').disabled = false;
			$('box13').disabled = false;
			//$('apache2').disabled = false;
		}
	}
	else if(addon == 12 || addon == 13)
	{
		if(element.checked == true)
		{
			$('box78').checked = false;
			//$('apache1').checked = true;
			$('box78').disabled = true;
			//$('apache2').disabled = true;
		}

		if($('box13').checked == false && $('box12').checked == false)
		{
			$('box78').disabled = false;
			//$('apache2').disabled = false;
		}
	}
}

function disableAllLinux(server_amt)
{
    var offset = 0;
    for(offset = 0; offset < server_amt; offset++)
    {
        disableLinux(offset);
    }
}


function disableLinux(offset)
{
    $("op_system"+offset).options[0].disabled = true;
    $("op_system"+offset).options[1].disabled = true;
    $("op_system"+offset).options[2].selected = true;
}


function getTLD()
{
	$$('#available_tlds input').each(function(e)
	{
		var domain_name = trim($F('domain_name'));
		var tld = '.' + e.value;

		if (e.value == domain_name.substring(domain_name.length - tld.length))
		{
			e.checked = true;
			$('domain_name').value = domain_name.substring(0, domain_name.length - tld.length);
		}
	});
}

function checkDomainTLDs()
{
	getTLD();

	var domain_name = trim($F('domain_name'));
	var valid_domain = /^[a-z0-9\-]+$/i;

	if (domain_name == '')
	{
		$('domain_msg').innerHTML = '<span class="error">You must fill out a domain name</span>';
		new Effect.Shake($('domain_msg'));
		return false;
	}

	if (!valid_domain.test(domain_name))
	{
		$('domain_msg').innerHTML = '<span class="error">Your domain name does not appear to be valid. Valid characters are Numbers, Letters and hyphens.</span>';
		new Effect.Shake($('domain_msg'));
		return false;
	}

	var tld_selected = false;
	var params = 'function_call=search_domains&domain_name='+domain_name;

	$$('#available_tlds input').each(function(e)
	{
		if (e.checked)
		{
			tld_selected = true;
			params += '&tld[]=' + e.value;
		}
	});

	if (!tld_selected)
	{
		$('domain_msg').innerHTML = '<span class="error">Select one or more TLDs</span>';
		new Effect.Shake($('domain_msg'));
		return false;
	}

	$('domain_msg').innerHTML = '';
	$('domain_name').disabled = true;
	$('check_domain_button').disabled = true;

	$('available_tlds').hide();
	$('checking_tlds').show();

	new Ajax.Updater('result_tlds', request_handler,  {
		method: 'post',
		parameters: params,
		evalScripts: true,
		onComplete: function (e)
		{
			$('checking_tlds').hide();
			$('result_tlds').show();
			$('new_search').show();
			draw_breakdown();
		}
	});
}

function new_search(error)
{
	$('domain_name').value = '';
	$('domain_name').disabled = false;
	$('check_domain_button').disabled = false;

	$$('#available_tlds input').each(function(e)
	{
		e.checked = false;
	});

	$('result_tlds').hide();
	$('result_tlds').innerHTML = '';
	$('new_search').hide();
	$('checking_tlds').hide();
	$('available_tlds').show();

	draw_breakdown();

	if (error)
	{
		$('domain_msg').innerHTML = '<span class="error">' + error + '</span>';
		new Effect.Shake($('domain_msg'));
	}

}


function addExtraDomain()
{
	var new_el = $('domain_input_prototype').cloneNode(true);
	new_el.setAttribute('style', 'display: none');

	var input = new_el.getElementsByTagName('input')[0];
	input.setAttribute('id', 'domain' + domain_num);
	input.setAttribute('name', 'domain[' + domain_num + ']');
	input.value = '';

	var select = new_el.getElementsByTagName('select')[0];
	select.setAttribute('id', 'tld' + domain_num);
	select.setAttribute('name', 'tld[' + domain_num + ']');
	select.value = '';

	var button = new_el.getElementsByTagName('input')[1];
	eval("button.onclick = function() { searchDomain($('domain" + domain_num + "'), " + domain_num + "); };");

//	button.setAttribute('onclick', "searchDomain($('domain" + domain_num + "'), " + domain_num + ")");

	var status = new_el.getElementsByTagName('div')[0];
    status.setAttribute('id', 'domain_check' + domain_num);
    status.innerHTML = '&nbsp;';

	var div = $('domains_list').appendChild(new_el);
	Effect.Appear(div);

	domain_num++;
}

function removeDomain(el)
{
	if (!confirm("Are you sure?"))
	{
		return;
	}
	var parent_div = el.parentNode;
	var master_div = parent_div.parentNode;
	var real_master_div = master_div.parentNode;
	real_master_div.removeChild(master_div);
	//master_div.removeChild(parent_div);
}

function checkHDStorage(sas_element,offset)
{
	var sas_value = $F(sas_element);

	if(sas_value != 0)
	{
		$('add_hd_storage_'+offset).selectedIndex = 0;
		$('add_hd_storage_'+offset).disabled = true;
	}
	else
	{
		$('add_hd_storage_'+offset).disabled = false;
	}
}

function checkSASDrive(hd_element,offset)
{
	var hd_value = $F(hd_element);
	
	if(hd_value != 0)
	{
		$('sas_drive_storage_'+offset).selectedIndex = 0;
		$('sas_drive_storage_'+offset).disabled = true;
	}
	else
	{
		$('sas_drive_storage_'+offset).disabled = false;
	}
}

function updateBillingOptions()
{
	if($('30daytrial').checked)
	{
		$$('.billing_cycle_option').each(function(e)
		{
			if($(e).value==1)
			{
				$(e).checked = true;
			}
			else
			{
				$(e).checked = false;
				$(e).disabled = true;
			}
		});
	}
	else
	{
		$$('.billing_cycle_option').each(function(e)
		{
			$(e).disabled = false;
		});
	}
}

function reload_addons()
{
	var params = 'function_call=reload_addons&'+Form.serialize('signup_form');
	var myAjax = new Ajax.Updater('addons_container', request_handler, { method: 'post', parameters: params});
	new Effect.Appear('addons_container');
}

function showCustomDetails(elem)
{
	$('custom_dedicated_info').innerHTML = "<img src='images/ajax-loader.gif'>";
	var server_id = elem.value;
	var params = 'function_call=draw_custom_server_details&custom_server_id='+server_id;
	var myAjax = new Ajax.Updater('custom_dedicated_info',
			request_handler,
			{
				method: 'post',
				parameters: params,
				evalScripts: true
			}
		);
	
}