		var dom_var = '';
		var dom_price = '';
		var ServDomPrice = '';
		
		function sel_type(num_id){
		
			document.getElementById('sel_hosting_type').style.display='none';
			document.getElementById('shared_h').style.display='inline';
			document.getElementById('body_abc').className='order shop_plan';
			
			if(num_id==1){
			
				document.getElementById('s150').style.display='inline';
				document.getElementById('s500').style.display='inline';
				document.getElementById('dev_pack_shared').style.display='inline';
			
			}
			else if(num_id==2){
			
				document.getElementById('r150').style.display='inline';
				document.getElementById('r300').style.display='inline';
				document.getElementById('ub_smith_resell').style.display='inline';
			
			}
			else if(num_id==3){
			
				document.getElementById('v150').style.display='inline';
				document.getElementById('v500').style.display='inline';
			
			}
			else if(num_id==4){
			
				document.getElementById('d150').style.display='inline';
				document.getElementById('d500').style.display='inline';
			
			}
		
			/*document.getElementById('sel_hosting_type').style.display='none';
		
			if(num_id==1){
			
				document.getElementById('shared_h').style.display='inline';
			
			}
			else if(num_id==2){
			
				document.getElementById('resell_h').style.display='inline';
			
			}
			else if(num_id==3){
			
				document.getElementById('vp_h').style.display='inline';
			
			}
			else if(num_id==4){
			
				document.getElementById('ded_h').style.display='inline';
			
			}
			
			*/
		
		}
		
		function show_ns(num){
		
			if(num==1){
			
			document.getElementById('ns_info').style.display = 'inline';
			document.getElementById('dom_nai').style.display = 'none';
			
			}
			else{
			
			document.getElementById('ns_info').style.display = 'none';
			document.getElementById('dom_nai').style.display = 'inline';
			
			}
			
		}
		
		function getQueryVariable() {
		var query = window.location.href;
		var vars = query.split("#");
		if (vars[1]) {
		return vars[1];
		}
		}
		
		var DomCart = '';
		
		var ownDomOpt;
		var dom_val="";
		
			function makeRequest(url) {
				var http_request = false;
		
				if (window.XMLHttpRequest) { 
					http_request = new XMLHttpRequest();
					if (http_request.overrideMimeType) {
						http_request.overrideMimeType('text/xml');
						
					}
				} else if (window.ActiveXObject) { 
					try {
						http_request = new ActiveXObject("Msxml2.XMLHTTP");
					} catch (e) {
						try {
							http_request = new ActiveXObject("Microsoft.XMLHTTP");
						} catch (e) {}
					}
				}
		
				if (!http_request) {
					alert('Giving up :( Cannot create an XMLHTTP instance');
					return false;
				}
				
				var stringa = document.getElementById('dom_inp').value;
				var stringb = stringa.split('.');
				
				http_request.onreadystatechange = function() { alertContents(http_request); };
				http_request.open('GET', url + '?dom=' + stringb[0] + '&ext=' + stringb[1], true);
				http_request.send(null);
		
			}
		
			function alertContents(http_request) {
		
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {
					
					var xmldoc = http_request.responseText;
					
					var responseA = xmldoc.split(',');
					var root_node = responseA[0];
					var root_nodeB = responseA[2];
					var root_nodeE = responseA[1];
					
					DomCart = (responseA[0]+'.'+responseA[1]);
					
					if(root_nodeB==0){
					
						var alt_ext_text = '';
						
						document.getElementById('DomDiv').style.display='none';
					
						//document.getElementById('aj-load').innerHTML=(responseA[0]+'.'+responseA[1])+' is unavailable.<br/><input type=\"button\" onClick=\"ownDom();\" value=\"I own this domain\" /><br /><input type=\"button\" onClick=\"return sAgain();\" value=\"Search Again\" /><br />';
						
						document.getElementById('dom_an2').innerHTML = root_node + '.' + root_nodeE;
						document.getElementById('dom_an3').innerHTML = root_node + '.' + root_nodeE;
						document.getElementById('dom_an4').innerHTML = root_node + '.' + root_nodeE;
						
						dom_var = root_node + '.' + root_nodeE;
						
						document.getElementById('dom_una').style.display='inline';
						document.getElementById('loading').className="light";
						
						var xa=0;
						
						function printAltExt(element){
	
							alt_ext_text = alt_ext_text + '<br />' + '<a href="index.php?domain=' + root_node + '.' + element + '" style="color: #9c3;">' + root_node + '.' + element + '</a>';

						}
						
						if(responseA[3]!=="0"){
						
						var alt_ext = responseA[3].split(":");
						for (var abx = 0; alt_ext[abx]; abx++) {
							printAltExt(alt_ext[abx]);
						}
					
						
					
						document.getElementById('alt_ext_div').innerHTML=document.getElementById('aj-load').innerHTML + "Although... the following domains are available:" + alt_ext_text;
					
						}
						else{
						
						document.getElementById('alt_ext_div').innerHTML="The extensions .com, .net, and .org are all unavailable for this domain.";
						
						}
					
					}
					else if(root_nodeB=="1"){
					
					document.getElementById('DomDiv').style.display='none';
					
					document.getElementById('regdom').style.display='inline';
					document.getElementById('loading').className="light";
					
					CreateSel(root_nodeE);
					
					document.getElementById('dom_an').innerHTML = root_node + '.' + root_nodeE;
					document.getElementById('dom_an4').innerHTML = root_node + '.' + root_nodeE;
					
					ownDomOpt = 0;
					}
					
						
					} else {
						document.getElementById('aj-load').innerHTML='ERROR: WHOIS services unavailable at this time.';
					}
				}
		
			}
			
				// WARNING MESSAGE
			var warning="There are one or more errors or omitted fields in the form. Please correct to continue";
			
			// CHECK VALIDATION: REVIEW ERRORS BEFORE SUBMIT    
			// Edit and Move to Head of Document containing form
			
			function Validate(f) {
				var errorList = '';
				document.getElementById('errorBlock').innerHTML = '';
			
				if(!document.getElementById) { return true;}
				var errors=0;
				errors+=IsPlaintext(document.getElementById('username'),true,2);
				errors+=IsSecure(document.getElementById('password'),true);
				errors+=IsEqual(document.getElementById('passwordB'),document.getElementById('password'),true);
				errors+=IsEmail(document.getElementById('email'),true);
				errors+=IsPhonenumber(document.getElementById('phone'),false);
				errors+=IsRequired(document.getElementById('address'));
				//errors+=IsPlaintext(document.getElementById('city'),1);
				errors+=IsSelected(document.getElementById('state'));
				errors+=IsZip(document.getElementById('zip'),1);
				
				if(IsPlaintext(document.getElementById('username'),true,2)){errorList+="Username<br />";}
				if(IsSecure(document.getElementById('password'),true)){errorList+="Password<br />";}
				if(IsEqual(document.getElementById('passwordB'),document.getElementById('password'),true)){errorList+="Confirmation password<br />";}
				if(IsEmail(document.getElementById('email'),true)){errorList+="Email address<br />";}
				if(IsPhonenumber(document.getElementById('phone'),false)){errorList+="Phone number<br />";}
				if(IsRequired(document.getElementById('address'))){errorList+="Address<br />";}
				//if(IsPlaintext(document.getElementById('city'),1)){errorList+="City<br />";}
				if(IsSelected(document.getElementById('state'))){errorList+="State<br />";}
				if(IsZip(document.getElementById('zip'),1)){errorList+="Zip code<br />";}
				
				if(errors>0){
				alert (warning);
				document.getElementById('errorBlock').innerHTML = 'There is a problem with your:<br />';
				document.getElementById('errorBlock').innerHTML += errorList;
				
				}
				return ((errors)? false : true);
				}
			
			
			// VALIDATORS:
			
			// VALIDATORS: IS EMAIL
			function IsEmail(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if (!c.value 
					|| c.value.search(/^[\w-\.]+@[\w-\.]+\.\w+$/)>-1) {
					//unflag_error(c," Unrecognized Format");
					document.getElementById('create_email').className='check';
					return 0;
					} else {
						//flag_error(c," Unrecognized Format");
						document.getElementById('create_email').className='error';
						return 1;
						}
				}
			
			
			// VALIDATORS: IS PHONENUMBER        
			function IsPhonenumber(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if (!c.value 
					|| c.value.search(/\(?\d{3}\)?[ \.-]?\d{3}[ \.-]\d{4}/)>-1) {
					//unflag_error(c," Unrecognized Format");
					document.getElementById('phone_error').className='no_error';
					document.getElementById('phone').className='';
					return 0;
					} else {
						//flag_error(c," Unrecognized Format");
						document.getElementById('phone_error').className='error';
						document.getElementById('phone').className='inp_error';
						return 1;
						}
				}
			
			// VALIDATORS: IS ZIP
			function IsZip(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if (!c.value 
					|| c.value.search(/^\d\d\d\d\d(-\d\d\d\d)?$/)>-1) {
					//unflag_error(c," Unrecognized Format");
					document.getElementById('zip_error').className='no_error';
					document.getElementById('zip').className='';
					return 0;
					} else {
						//flag_error(c," Unrecognized Format");
						document.getElementById('zip_error').className='error';
						document.getElementById('zip').className='inp_error';
						return 1;
						}
				}
			
			// VALIDATORS: IS PLAINTEXT
			function IsPlaintext(c,r,numbah) {
				if(r && IsRequired(c)) {return 1;}
				if (c.value.search(/[^\w]/)>-1) {
					//flag_error(c," Letters and numbers only");
						if(numbah==1){
						document.getElementById('city_error').className='error';
						document.getElementById('city').className='inp_error';
						}
						else if(numbah==2){
						document.getElementById('create_username').className='error';
						}
					return 1;
					} else {
						//unflag_error(c," Letters and numbers only");
					if(numbah==1){
					document.getElementById('city_error').className='no_error';
					document.getElementById('city').className='';
					}
					else if(numbah==2){
					document.getElementById('create_username').className='check';
					}
						return 0;
						}
				}
			
			// VALIDATORS: IS INTEGER
			function IsInteger(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if (c.value.search(/[^\d]/)>-1) {
					//flag_error(c," Must be integer");
					return 1;
					} else {
						//unflag_error(c," Must be integer");
						return 0;
						}
				}
			
			// VALIDATORS: IS NOT HTML
			function IsNotHtml(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if (c.value.search(/<[^>]+>/)>-1) {
					//flag_error(c," Markup not permitted");
					return 1;
					} else {
						//unflag_error(c," Markup not permitted");
						return 0;
						}
				}
			
			// VALIDATORS: IS SECURE
			function IsSecure(c,r) {
				if(r && IsRequired(c)) {return 1;}
				if(c.value.search(/[A-Z]/)>-1 
					&& c.value.search(/[\d]/)>-1
					&& c.value.length>3) {
					//unflag_error(c," Must include at least 4 characters, including 1 number and 1 capital");
					return 0;
					} else {
						//flag_error(c," Must include at least 4 characters, including 1 number and 1 capital");
						return 1;
						}
				}
			
			// VALIDATORS: IS EQUAL
			function IsEqual(c,m,r) {
				if(r && IsRequired(c)) {return 1;}
				if(!c.value || c.value == m.value) {
					//unflag_error(c," Doesn't match "+ m.name);
					return 0;
					} else {
						//flag_error(c," Doesn't match "+ m.name);
						return 1;
						}
				}
			
			
			// VALIDATORS: IS SELECTED
			function IsSelected(c,r) {
				if(c.selectedIndex>0) {
					//unflag_error(c," Required");
					return 0;
					} else {
						//flag_error(c," Required");
						return 1;
						}
				}
			
			// VALIDATORS: IS REQUIRED
			function IsRequired(c) {
				if(c.value) { 
					//unflag_error(c," Required");
					return 0;
					} else { 
						//flag_error(c," Required");
						return 1;
						}
				}
			
			// FLAG/UNFLAG ERRORS
			
			// FLAG ERROR
			function flag_error(field,msg) {
				if(document.getElementById) {
					var td=document.getElementById(field.name+'_w')
					td.className="warning_active";
					if(td.firstChild.nodeValue.indexOf(msg)<0) {
						td.firstChild.nodeValue+=msg;
						}
					}
				}
			
			// UNFLAG ERROR
			function unflag_error(field,msg) {
				if(document.getElementById) {
					var td=document.getElementById(field.name+'_w')
					td.className="warning";
					if(td.firstChild.nodeValue) td.firstChild.nodeValue=td.firstChild.nodeValue.replace(msg,"");
					}
				}
	
	
		
			var cstate = "";
			var dext = "";
			var cnum = 0;
		
			function loadAj(){
			
			document.getElementById('body_abc').className = 'order shop_register';
			
			if(document.getElementById('dom_inp').value){
			
			dom_val = document.getElementById('dom_inp').value;
			
			dhtmlHistory.add("2", document.getElementById('dom_inp').value);
			//document.getElementById('aj-load').innerHTML='<img src="images/ajax-loader.gif" />&nbsp;Checking domain availability';
			document.getElementById('loading').className="light opened";
			makeRequest('test.php');
			
			cstate = document.getElementById('dom_inp').value;
			
			return false;
			
			}
			else{
			
			cnum = 1;
			
			document.getElementById('dom_error').style.display='inline';
			
			return false;
			
			}
			
			return false;
			
			}
			
			function sAgain(passV){
			
			if(passV==1){
			
			loadAj();
			
			}
			else{
			
			window.location = "#1";
			
			dom_val = document.getElementById('dom_inp').value;
			
			document.getElementById('dom_inp').value = dom_val;
			
			document.getElementById('dom_inp').select();
			
			document.getElementById('DomDiv').style.display='inline';
			
			document.getElementById('regdom').style.display='none';
			document.getElementById('client_info').style.display='none';
			
			document.getElementById('dom_inp').select();
			
			document.getElementById('dom_error').style.display = 'none';
			
			if((document.getElementById('dom_inp').value==cstate) || cnum==1){
			
				document.getElementById('dom_inp').select();
			
			}
			else{
			
				loadAj();
				
			}
			
			}
			
			cstate = document.getElementById('dom_inp').value;
			
			return false
			
			}
			
			function submitReg(url,sub_data) {
				var http_request = false;
		
				if (window.XMLHttpRequest) { // Mozilla, Safari, ...
					http_request = new XMLHttpRequest();
					if (http_request.overrideMimeType) {
						http_request.overrideMimeType('text/xml');
						// See note below about this line
					}
				} else if (window.ActiveXObject) { // IE
					try {
						http_request = new ActiveXObject("Msxml2.XMLHTTP");
					} catch (e) {
						try {
							http_request = new ActiveXObject("Microsoft.XMLHTTP");
						} catch (e) {}
					}
				}
		
				if (!http_request) {
					alert('Giving up :( Cannot create an XMLHTTP instance');
					return false;
				}
				http_request.onreadystatechange = function() { handsubResp(http_request); };
				http_request.open('GET', url + '?' + sub_data, true);
				http_request.send(null);
		
			}
		
			var p_count = 0;
			var client_id;
		
			function handsubResp(http_request) {
		
				if (http_request.readyState == 4) {
					if (http_request.status == 200) {
							
							client_id = http_request.responseText;
							if(client_id=="ok"){
							
								//alert("Good");
								document.getElementById('dispp').innerHTML='Thank you for your order.  You should be receiving a welcome email soon.';
							
							}
		
						
					} else {
						document.getElementById('aj-load').innerHTML='ERROR: System Error. Please contact support.';
					}
				}
		
			}
			
			var c_reg;
			
			var plan_num;
			
			function selreg(opt_num, reg_num){
 
				if(opt_num==1){
 
					plan_num = reg_num;
					
		
		ServDom = "Domain Name: " + DomCart;
		
			if(plan_num==1){
			
				ServDomPrice = '1 year w/ annual hosting <span>' + priceA + '</span>';
			
			}
			
			if(plan_num==2){
			
				ServDomPrice = '1 year <span>' + priceB + '</span>';
			
			}
			
			if(plan_num==3){
			
				ServDomPrice = '2 years <span>' + priceC + '</span>';
			
			}
			
			if(plan_num==4){
			
				ServDomPrice = '3 years <span>' + priceD + '</span>';
			
			}
			
			if(plan_num==5){
			
				ServDomPrice = '5 years <span>' + priceE + '</span>';
			
			}
			
			
			document.getElementById('cart_dom_area').innerHTML = '<ul><li>' + ServDom + '</li><li>' +  ServDomPrice + '</li></ul>';
			//document.getElementById('cart_dom_field').innerHTML = 'Domain: ' + ServDom;
			//document.getElementById('cart_dom_price').innerHTML = 
					
				}
				else{
					
					
					document.getElementById('regdom').style.display='none';
					document.getElementById('body_abc').className='order shop_type';
					document.getElementById('sel_hosting_type').style.display='inline';
				
				}
			
			}
			
			function send_cinfo(){
			
			document.getElementById('dispp').innerHTML='<img src="images/ajax-loader.gif" />&nbsp;Submitting Information';
			
			document.getElementById('client_info').style.display='none';
			
			submitReg('store_reg.php', 'regopt=9&fname='+document.getElementById('fname').value+'&lname='+document.getElementById('lname').value+'&address='+document.getElementById('address').value+'&city='+document.getElementById('city').value+'&state='+document.getElementById('fname').value+'&zip='+document.getElementById('zip').value+'&country='+document.getElementById('country').value+'&phone='+document.getElementById('phone').value+'&email='+document.getElementById('email').value+'&username='+document.getElementById('username').value+'&password='+document.getElementById('password').value+'&plan='+plan_num);
			
			}
			
			var ownDomOpt = 0;
			
			function ownDom(){
			
				if(document.getElementById('taken_goBack').checked==true){
				
				document.getElementById('body_abc').className = 'order shop_search';
				
				goBack(0);
				
				}
				else if(document.getElementById('taken_ownTransfer').checked==true){
				
					document.getElementById('dom_una').style.display='none';
					document.getElementById('ownTransHF').style.display='inline';
					dhtmlHistory.add("3");
					document.getElementById('cart_dom_area').innerHTML = '<ul><li>Domain: ' + dom_var + '</li><li>Transfer: <span>FREE</span></li></ul>';
				
				}
				else if(document.getElementById('taken_ownKeep').checked==true){
				
					dhtmlHistory.add("4");
				
					document.getElementById('dom_una').style.display='none';
					document.getElementById('body_abc').className='order shop_type';
					document.getElementById('sel_hosting_type').style.display='inline';
					document.getElementById('cart_dom_area').innerHTML = '<ul><li>Domain: ' + dom_var + '</li><li>Nameserver Update: <span>FREE</span></li></ul>';
				
				}
				else{
			
				dhtmlHistory.add("3");
				document.getElementById('aj-load').style.display='none';
				document.getElementById('ownDomDiv').style.display='inline';
				ownDomOpt = 1;
				
				}
			
			}
			
			function domCont(){
			
				dhtmlHistory.add("5");
				document.getElementById('shared_h').style.display='none';
				document.getElementById('login_create_acc').style.display='inline';
				document.getElementById('body_abc').className = 'order checkout_login';
				window.location = "#";
				
				
			
			}
			
			function continua(step){
			
				if(step==6){
			
					document.getElementById('login_create_acc').style.display='none';
					document.getElementById('enter_billing_info').style.display='inline';
					document.getElementById('body_abc').className = 'order checkout_billing';
					dhtmlHistory.add("6");
				
				}
				
				else if(step==7){
				
					document.getElementById('enter_billing_info').style.display='none';
					document.getElementById('review_order').style.display='inline';
					document.getElementById('body_abc').className = 'order checkout_order';
					dhtmlHistory.add("7");
				
				}
				
				else if(step==8){
				
					document.getElementById('review_order').style.display='none';
					document.getElementById('checkout_page').style.display='inline';
					document.getElementById('body_abc').className = 'order checkout_checkout';
					dhtmlHistory.add("8");
				
				}
				
			}
			
			function contToType(){
			
			document.getElementById('body_abc').className='order shop_type';
			document.getElementById('ownTransHF').style.display='none';
			document.getElementById('sel_hosting_type').style.display='inline';
			
			}
			
			function contFromHost(){
			
			dhtmlHistory.add("5");
			
			document.getElementById('hostPlanSelect').style.display='none';
			document.getElementById('client_info').style.display='inline';
			
			}
			
			function confirmCheckout(){
			
			dhtmlHistory.add("6");
			
				document.getElementById('sum_fn').innerHTML = document.getElementById('fname').value;
				document.getElementById('sum_ln').innerHTML = document.getElementById('lname').value;
				document.getElementById('sum_add').innerHTML = document.getElementById('address').value;
				document.getElementById('sum_city').innerHTML = document.getElementById('city').value;
				document.getElementById('sum_state').innerHTML = document.getElementById('state').value;
				document.getElementById('sum_zip').innerHTML = document.getElementById('zip').value;
				document.getElementById('sum_country').innerHTML = document.getElementById('country').value;
				document.getElementById('sum_phone').innerHTML = document.getElementById('phone').value;
				document.getElementById('sum_email').innerHTML = document.getElementById('email').value;
				document.getElementById('sum_user').innerHTML = document.getElementById('username').value;
				document.getElementById('sum_pass').innerHTML = document.getElementById('password').value;
				document.getElementById('sum_paytype').innerHTML = document.getElementById('ccname').value;
				
				if(document.getElementById('ccname').value == "MasterCard" || document.getElementById('ccname').value == "Visa"){
				
					document.getElementById('credit_paypal').innerHTML = "Number";
					document.getElementById('num_email').innerHTML = document.getElementById('ccnum').value;
				
				}
				else if(document.getElementById('ccname').value == "PayPal"){
				
					document.getElementById('credit_paypal').innerHTML = "Email";
					document.getElementById('num_email').innerHTML = document.getElementById('pp_email').value;
				
				}
				
				//document.getElementById('').innerHTML = document.getElementById('').value;
				
				document.getElementById('client_info').style.display='none';
				document.getElementById('order_summary').style.display='inline';
			
			}
			
			function goBack(opt_num_abc){
			
				if(opt_num_abc==0){
				
				window.location = "#1";
				
				document.getElementById('body_abc').className = 'order shop_search';
				
				document.getElementById('dom_una').style.display='none';
				
				}
			
				if(opt_num_abc==1){
				
					if(ownDomOpt==1){
					
						window.location = "#3";
					
						//document.getElementById('client_info').style.display='none';
						//document.getElementById('aj-load').style.display='none';
						//document.getElementById('ownDomDiv').style.display='inline';
					
					}
					else{
					
						window.location = "#2";
						document.getElementById('hostPlanSelect').style.display='none';
						document.getElementById('client_info').style.display='none';
						document.getElementById('regdom').style.display='inline';
						ownDomOpt = 0;
						document.getElementById('aj-load').style.display='inline';
					
					}
					
				}
				else if(opt_num_abc==2){
				
					window.location = "#2";
				
				}
				else if(opt_num_abc==3){
				
					window.location = "#4";
				
				}
				else if(opt_num_abc==5){
				
					window.location = "#5";
					
				}
				else if(opt_num_abc==9){
				
					document.getElementById('sel_hosting_type').style.display='none';
					document.getElementById('ownTransHF').style.display='none';
					//window.location = "#2";
					
					sAgain(1);
				
				}
				else if(opt_num_abc==10){
				
					document.getElementById('shared_h').style.display='none';
					window.location = "#4";
					//document.getElementById('');
	
				}
				else if(opt_num_abc==11){
				
					window.location = "#5";
				
				}
				else if(opt_num_abc==12){
				
					window.location = "#7";
				
				}
			
			}
			
			
			   function initialize() {
		 
			document.getElementById('256ssl').checked = false;
			document.getElementById('dedip').checked = false;
			document.getElementById('devpack').checked = false;
			document.getElementById('ubsmith').checked = false;
			
			if(getDomain != "null" && getDomain != ""){
			
				document.getElementById('dom_inp').value = getDomain;
				window.location = '#2';
			
			}
			else{
			
			dhtmlHistory.add("1");
			
			}
		 
            // initialize our DHTML history
            dhtmlHistory.initialize();
            // subscribe to DHTML history change
            // events
            dhtmlHistory.addListener(
                                   historyChange);
            
            // if this is the first time we have
            // loaded the page...
            if (dhtmlHistory.isFirstLoad()) {
               // start adding history
			//dhtmlHistory.add("2", true);
			//dhtmlHistory.add("3", true);
			//dhtmlHistory.add("4", true);
            }
			
         }
         
             // change events.
         function historyChange(newLocation, 
                                historyData) {
            var historyMsg = historyData;
            
				changePage(newLocation,historyData);
			
            if (newLocation == "complexObject") {
               historyMsg =JSON.stringify(historyData);
               
            }
            debugMsg(
                  "<b>A history change has "
                  + "occured:</b> "
                  + "newLocation="+newLocation
                  + ", historyData="+historyMsg);
         }
         
         function debugMsg(msg) {
            //alert(msg);
         }
		 
		 function changePage(new_loc,s_data){
		 
			if(new_loc==1){
			
			document.getElementById('body_abc').className = 'order shop_search';
			
			document.getElementById('ownDomDiv').style.display='none';
			
			document.getElementById('dom_inp').value = dom_val;
			
			document.getElementById('DomDiv').style.display='inline';
			
			document.getElementById('regdom').style.display='none';
			document.getElementById('dom_una').style.display='none';
			document.getElementById('client_info').style.display='none';
			
			document.getElementById('dom_inp').select();
			
			//document.getElementById('aj-load').innerHTML = '<input type="button" onClick="return loadAj();" value="Search" />';
			
			document.getElementById('dom_error').style.display='none';
			
			}
			else if(new_loc==2){
			
			//document.getElementById('ownDomDiv').style.display='none';
			//document.getElementById('DomDiv').style.display='inline';
			//document.getElementById('aj-load').style.display='inline';
			//document.getElementById('client_info').style.display='none';
			//document.getElementById('sel_hosting_type').style.display='none';
			
			document.getElementById('body_abc').className = 'order shop_register';
			
			goBack(9);
			
			}
			else if(new_loc==3){
			
			document.getElementById('body_abc').className='order shop_type';
			document.getElementById('sel_hosting_type').style.display='none';
			document.getElementById('hostPlanSelect').style.display='none';
			document.getElementById('aj-load').style.display='none';
			document.getElementById('ownDomDiv').style.display='inline';
			ownDomOpt = 1;
			document.getElementById('client_info').style.display='none';
			
			}
			else if(new_loc==4){
			
			document.getElementById('login_create_acc').style.display='none';
			document.getElementById('body_abc').className = 'order checkout_login';
			
			document.getElementById('body_abc').className='order shop_type';
			document.getElementById('ownDomDiv').style.display='none';
			document.getElementById('regdom').style.display='none';
			document.getElementById('dom_una').style.display='none';
			document.getElementById('client_info').style.display='none';
			document.getElementById('sel_hosting_type').style.display='inline';
			
			}
			else if(new_loc==5){
			
					document.getElementById('order_summary').style.display='none';
					document.getElementById('hostPlanSelect').style.display='none';
					document.getElementById('ownDomDiv').style.display='none';
					document.getElementById('DomDiv').style.display='none';
					document.getElementById('aj-load').style.display='none';
					document.getElementById('regdom').style.display='none';
					document.getElementById('sel_hosting_type').style.display='none';
					document.getElementById('enter_billing_info').style.display='none';
					document.getElementById('login_create_acc').style.display='inline';
					
					document.getElementById('body_abc').className = 'order checkout_login';
					
			
			}
			else if(new_loc==6){
				
				//document.getElementById('sum_fn').innerHTML = document.getElementById('fname').value;
				//document.getElementById('sum_ln').innerHTML = document.getElementById('lname').value;
				//document.getElementById('sum_add').innerHTML = document.getElementById('address').value;
				//document.getElementById('sum_city').innerHTML = document.getElementById('city').value;
				//document.getElementById('sum_state').innerHTML = document.getElementById('state').value;
				//document.getElementById('sum_zip').innerHTML = document.getElementById('zip').value;
				//document.getElementById('sum_country').innerHTML = document.getElementById('country').value;
				//document.getElementById('sum_phone').innerHTML = document.getElementById('phone').value;
				//document.getElementById('sum_email').innerHTML = document.getElementById('email').value;
				//document.getElementById('sum_user').innerHTML = document.getElementById('username').value;
				//document.getElementById('sum_pass').innerHTML = document.getElementById('password').value;
				//document.getElementById('').innerHTML = document.getElementById('').value;
				
				//document.getElementById('client_info').style.display='none';
				//document.getElementById('order_summary').style.display='inline';
			
				document.getElementById('shared_h').style.display='none';
				document.getElementById('login_create_acc').style.display='none';
				document.getElementById('enter_billing_info').style.display='inline';
				document.getElementById('body_abc').className = 'order checkout_billing';
			
			}
			else if(new_loc==7){
			
				document.getElementById('enter_billing_info').style.display='none';
				document.getElementById('review_order').style.display='inline';
				document.getElementById('body_abc').className = 'order checkout_order';
			
			}
			else if(new_loc==8){
			
				document.getElementById('review_order').style.display='none';
				document.getElementById('checkout_page').style.display='inline';
				document.getElementById('body_abc').className = 'order checkout_checkout';
				
			}
		 
		 }
	
		function toggleEmail(Ifchecked){
		
			if(Ifchecked){
				document.getElementById('billing_paypal_email').value = document.getElementById('billing_email').value;
				document.getElementById('billing_paypal_email').disabled = true;
			}
			else{
				document.getElementById('billing_paypal_email').value = "";
				document.getElementById('billing_paypal_email').disabled = false;
			}
		
		}
		
		function togglePayment(payval){
		
			if((payval=="Visa") || (payval=="MasterCard") || (payval=="Amex")){
			
			document.getElementById('paypal_info_1').style.display = 'none';
			document.getElementById('paypal_info_2').style.display = 'none';
			document.getElementById('paypal_info_3').style.display = 'none';
			document.getElementById('credit_card_info_1').style.display = 'inline';
			document.getElementById('credit_card_info_2').style.display = 'inline';
			document.getElementById('credit_card_info_3').style.display = 'inline';
			document.getElementById('credit_card_info_4').style.display = 'inline';
			document.getElementById('credit_card_info_5').style.display = 'inline';
			document.getElementById('credit_card_info_6').style.display = 'inline';
			
			}
			else if(payval=="PayPal"){
			
			document.getElementById('credit_card_info_1').style.display = 'none';
			document.getElementById('credit_card_info_2').style.display = 'none';
			document.getElementById('credit_card_info_3').style.display = 'none';
			document.getElementById('credit_card_info_4').style.display = 'none';
			document.getElementById('credit_card_info_5').style.display = 'none';
			document.getElementById('credit_card_info_6').style.display = 'none';
			document.getElementById('paypal_info_1').style.display = 'inline';
			document.getElementById('paypal_info_2').style.display = 'inline';
			document.getElementById('paypal_info_3').style.display = 'inline';
			
			}
		
		}
		
		function priceOn(priceId){
		
		priceIdv = priceId.split('-');
		
		document.getElementById(priceIdv[0]).className='priceHighlightOn';
		document.getElementById('tab_'+priceIdv[1]).className='priceHighlightOn';
		document.getElementById(priceId).className='priceHighlightOn';
		
		}
		
		function priceOff(priceId){
		
		priceIdv = priceId.split('-');
		
		document.getElementById(priceIdv[0]).className='';
		document.getElementById('tab_'+priceIdv[1]).className='';
		document.getElementById(priceId).className='';
		
		}
		
		function CreateSel(extA){
		
		var snumId;
		
		switch (extA){
		
		case "com":
		snumId=1
		break;
		
		case "net":
		snumId=2
		break;
		
		case "org":
		snumId=3
		break;
		
		case "info":
		snumId=4
		break;
		
		case "biz":
		snumId=5
		break;
		
		case "us":
		snumId=6
		break;
		
		case "eu":
		snumId=7
		break;
		
		case "ca":
		snumId=8
		break;
		
		case "cc":
		snumId=9
		break;
		
		case "de":
		snumId=10
		break;
		
		case "at":
		snumId=11
		break;
		
		case "dk":
		snumId=12
		break;
		
		case "tv":
		snumId=13
		break;
		
		case "it":
		snumId=14
		break;
		
		case "be":
		snumId=15
		break;
		
		case "ch":
		snumId=16
		break;
		
		case "dj":
		snumId=17
		break;
		
		case "ws":
		snumId=18
		break;
		
		case "jp":
		snumId=19
		break;
		
		case "co.uk":
		snumId=20
		break;
		
		case "org.uk":
		snumId=21
		break;
		
		case "es":
		snumId=22
		break;
		
		case "cn":
		snumId=23
		break;
		
		case "as":
		snumId=24
		break;	

		}
		
		priceA = document.getElementById('tab_a-'+snumId).innerHTML;
		priceB = document.getElementById('tab_b-'+snumId).innerHTML;
		priceC = document.getElementById('tab_c-'+snumId).innerHTML;
		priceD = document.getElementById('tab_d-'+snumId).innerHTML;
		priceE = document.getElementById('tab_e-'+snumId).innerHTML;
		
		//document.getElementById('reg_options').innerHTML = '';
		
		// get the reference for the body
        //var body = document.getElementById('reg_options');

        
	
		if(priceA == "FREE"){

                document.getElementById('price_a').innerHTML = 'FREE';
	
		}
		else{
				
				document.getElementById('price_a').innerHTML = priceA;
		}
		
	
	
document.getElementById('price_b').innerHTML = priceB;
document.getElementById('price_c').innerHTML = priceC;
document.getElementById('price_d').innerHTML = priceD;
document.getElementById('price_e').innerHTML = priceE;
		
		//document.getElementById('reg_options').innerHTML+='<br /><input type="button" onclick="return sAgain();" value="Back" />&nbsp;<input type="button" onclick="selreg(2,0);" value="Select" />';
		
		}
		
		/* --------------------------------- */
/*     SOPHIAKNOWS: JAVASCRIPT       */
/* --------------------------------- */
/*      CREDIT CARD VALIDATOR        */
/* --------------------------------- */
/*  Created:  2001-05-13             */
/*  Issued:   2001-06-15             */
/*  Modified: 2005-01-17             */
/*  Component CCVALIDATE JS          */
/*  Author:   Tony Pisarra           */
/*            Sophiaknows.com        */
/* --------------------------------- */
/* --------------------------------- */

/* CC VALIDATE (start main) */

/* CC VALIDATE (start cc types) */

function ccTypes(name,prefixes,len) {
	this.name=name;
	this.prefixes=prefixes;
	this.len=len;
	}
var cards=new Array();
cards[0]=new ccTypes("Visa","4",16);
cards[1]=new ccTypes("MasterCard","51,52,53,54,55",16);
cards[2]=new ccTypes("AmEx","34,37",15);
cards[3]=new ccTypes("Discover","6011",16);

/* CC VALIDATE (end cc types) */

/* CC VALIDATE (start errors) */

var errormsg=new Array();
errormsg["nonum"]="Please Enter a Card Number";
errormsg["prefix"]="Invalid prefix for selected card type";
errormsg["len"]="Too few or too many digits for select card type";
errormsg["checksum"]="Invalid credit card number";

/* CC VALIDATE (end errors) */

/* CC VALIDATE (start number validate) */

function checknumber() {

if(document.getElementById('ccname').value!=="PayPal"){

	var ccPrefix,ccLength,ccChecksum,ccType;
	var errors="";
	var ccNum=document.getElementById('ccnum').value
	var ccName=document.getElementById('ccname').value
	
	// CHECK FOR NUMBER
	if(!ccNum && ccName!=="PayPal") {alert(errormsg["nonum"]);
		return false;
		}

	// STRIP NON-NUMBER CHARS
	ccNum=ccNum.replace(/[^\d]/g,"");

	// GET TYPE
	for(i=0;i<cards.length;i++) {	
		if(ccName.toLowerCase()==cards[i].name.toLowerCase()) {
			ccType=cards[i];
			}
		}

	// VALIDATE LENGTH
	ccLength=(ccType.len==ccNum.length);	
	
	// VALIDATE PREFIX
	prefixes=ccType.prefixes.split(",");
	for(p=0;p<prefixes.length;p++) {
	    var exp = new RegExp ("^" + prefixes[p]);
    	if (exp.test(ccNum)) ccPrefix = true;
		}

	// VALIDATE NO: CHECKSUM		
	j = ccNum.length / 2;
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;
	for (i=0; i<k; i++) {
		a=ccNum.charAt(i*2+m)*2;
		c+=((a>9)?Math.floor(a/10+a%10):a);
		}
	for (i=0; i<k+m; i++) {
		c+=ccNum.charAt(i*2+1-m)*1;
		}
	ccChecksum=(c%10 == 0); 

	// TOTAL ERRORS
	errors+=(!ccPrefix)? errormsg["prefix"]+"\n":"";
	errors+=(!ccLength)? errormsg["len"]+"\n":"";
	errors+=(!ccChecksum)? errormsg["checksum"]+"\n":"";	
	if(ccPrefix && ccLength && ccChecksum) {
		return true;
		} else {
			alert(errors);
			return false;
			}
	}
	else{
	
	if(document.getElementById('pp_email').value==""){
	
		alert("If you are going to use PayPal for your payment method, you must enter an email address.");
		return false;
	
	}
	else{
	
		return true;
	
	}
	
	}
	}
	
	function editCart(){
	
		var ServDesc = "";
		var ServName = "";
		var ServDom = "";
		var ServPrice = "";
		
		var addon_cont = "";
		
		if(ServDomPrice=='' || ServDomPrice == null){
		
		var ServDomPrice = "";
		
		}
		
		var ServUpg = "";
		var cMonthPrice = 0.00;
		var cYearPrice = 0.00;
	
		var billType;
	
		if(hostingType=="s"){
	
		// shared 150
		
		if(document.getElementById('s150_monthly').checked || document.getElementById('s150_annual').checked){
		
		if(document.getElementById('s150_monthly').checked){
		
			cMonthPrice += 9.95;
			ServPrice = "9.95/month";
			
			billType = 1;
			
		}
		
		if(document.getElementById('s150_annual').checked){
		
			cYearPrice += (7.95*12);
			ServPrice = "95.40/year";
			
			billType = 2;
			
		}
			
ServName = "Shared S150";
		
		}
		
		if(document.getElementById('s500_monthly').checked || document.getElementById('s500_annual').checked){
		
		if(document.getElementById('s500_monthly').checked){
		
			cMonthPrice += 19.95;
			ServPrice = "1 month @ $19.95"; 

			
			billType = 1;
			
		}
		
		if(document.getElementById('s500_annual').checked){
		
			cYearPrice += (14.95*12);
			ServPrice = "12 months @ $14.95"; 
			
			billType = 2;
			
		}
		
		ServName = "Shared S500";
		
		}
		
		}
		else if(hostingType=="r"){
		
		// reseller 150
		if(document.getElementById('r150plan').checked){
		
			if(billType==1){
		
				cMonthPrice += 29.95;
				ServPrice = "1 month @ $29.95"; 
			
			}
			else{
			
				cYearPrice += (19.95*12);
				ServPrice = "12 months @ $19.95";
				
			}
			
			ServDesc = "15 GB of Disk Space<br />150 GB Bandwidth<br />30-Day Guarantee<br />2 Dedicated IP's<br />24/7 Tech Support<br />Free Migration Services<br />No Setup Fee";
			ServName = "Reseller 150";
		
		}
		
		// reseller 300
		if(document.getElementById('r150_annual').checked){
		
			if(billType==1){
		
				cMonthPrice += 49.95; 
				ServPrice = "1 month @ $49.95";
			
			}
			else{
			
				cYearPrice += (39.95*12);
				ServPrice = "12 months @ $39.95";
				
			}
			
			ServDesc = "30 GB of Disk Space<br />300 GB Bandwidth<br />30-Day Guarantee<br />2 Dedicated IP's<br />24/7 Tech Support<br />Free Migration Services<br />No Setup Fee";
			ServName = "Reseller 300";
		
		}
		
		// resller 500
		if(document.getElementById('r500plan').checked){
		
			if(billType==1){
		
				cMonthPrice += 89.95;
				ServPrice = "1 month @ $89.95";
			
			}
			else{
			
				cYearPrice += (79.95*12);
				ServPrice = "12 months @ $79.95";
				
			}
			
			ServDesc = "50 GB of Disk Space<br />500 GB Bandwidth<br />30-Day Guarantee<br />2 Dedicated IP's<br />24/7 Tech Support<br />Free Migration Services<br />No Setup Fee";
			ServName = "Reseller 500";
		
		}
		

		
		}
		
		addon_cont = "<ul>";
		
		
		if(document.getElementById('ssl_cert').checked){
			cYearPrice+=99.95;
			addon_cont += '<li>256-bit SSL Certificate <span>$99.95/year</span></li>';
		}
		if(document.getElementById('dedicated_ip').checked){
		
			if(billType==1){
			
				cMonthPrice += 2.00; 
			
			}
			else{
			
				cYearPrice += (2.00*12);
			
			}
			
			addon_cont += '<li>Dedicated IP Address <span>$2.00/month</span></li>';
		
		}
		if(document.getElementById('developer_pack').checked){
		
			if(billType==1){
			
				cMonthPrice += 3.95; 
			
			}
			else{
			
				cYearPrice += (3.95*12);
			
			}
			
			ServUpg += "Developer Pack<br />";
			
			addon_cont += '<li>Developer Pack <span>$3.95/month</span></li>';
		
		}
		if(document.getElementById('ub_smith_lic').checked){
		
			if(billType==1){
			
				cMonthPrice += 24.95;
			
			}
			else{
			
				cYearPrice += (24.95*12);
			
			}
			
			addon_cont += '<li>Ubersmith Lite License <span>$24.95/month</span></li>';
		
		}
		
		addon_cont += "</ul>";
		
		cMonthPrice = cMonthPrice.toFixed(2);
		cYearPrice = cYearPrice.toFixed(2);
		
		document.getElementById('month_fee').innerHTML = cMonthPrice;
		document.getElementById('ann_fee').innerHTML = cYearPrice;
		document.getElementById('DivServDesc').innerHTML = ServDesc;
		document.getElementById('DivServName').innerHTML = ServName;
		document.getElementById('DivServPrice').innerHTML = ServPrice;
		document.getElementById('DivServUpg').innerHTML = ServUpg;
		
		if(addon_cont=="<ul></ul>"){
		
		addon_cont="<ul><li>Add-Ons: None</ul>";
		
		}
		
		document.getElementById('addons_container').innerHTML = addon_cont;
	
	
		if(ServName!=""){
		
		document.getElementById('cart_hp_disp').innerHTML = '<ul><li>' + ServName + ' <span>' + ServPrice + '</span></li></ul>';
		
		}
		else{
		
		document.getElementById('cart_hp_disp').innerHTML = '<ul><li>Hosting Plan: None selected</li></ul>';
		
		}
		
		document.getElementById('ann_price_field').innerHTML = '$' + cYearPrice;
		document.getElementById('month_price_field').innerHTML = '$' + cMonthPrice;
		
		//document.getElementById('cart_cont').innerHTML = cart_con_var;
	
	}

/***********************************************
* Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
document.write('<img id="dhtmlpointer" src="arrow2.gif">') //write out pointer image

var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var nondefaultpos=false
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth){
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=curX-tipobj.offsetWidth+"px"
nondefaultpos=true
}
else if (curX<leftedge)
tipobj.style.left="5px"
else{
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
pointerobj.style.left=curX+offsetfromcursorX+"px"
}

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight){
tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
nondefaultpos=true
}
else{
tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
pointerobj.style.top=curY+offsetfromcursorY+"px"
}
tipobj.style.visibility="visible"
if (!nondefaultpos)
pointerobj.style.visibility="visible"
else
pointerobj.style.visibility="hidden"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
pointerobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}
}

document.onmousemove=positiontip
