var steps={
	step:1,
	goto_next:function(){
		this.step++;
		this.show(this.step);
	},
	goto_previous:function(){
		this.step--;
		this.show(this.step);
	},
	show:function(p_iPage){
		switch(p_iPage){
			case 1:
				$('domain_checker').style.display='block';
				$('domain_checker_output').style.display='block';
				$('add_products').style.display='none';
				$('client_information').style.display='none';
				$('tab_step1').src='images/bestel/tab_stap1.jpg';
				$('tab_step2').src='images/bestel/tab_stap2_hover.jpg';
				$('tab_step3').src='images/bestel/tab_stap3_hover.jpg';
				$('tabs_image').src='images/bestel/ronding_stap1.jpg';
				if($('button_next')){$('button_next').style.display='inline';}
				if($('button_previous')){$('button_previous').style.display='none';}
				$('order_confirmation').innerHTML = '';
				this.step=p_iPage;
				break;
			case 2:
				if(!checksb.check_domain_in_sb() && !confirm('U heeft nog geen domeinnaam aan uw bestelling toegevoegd, wilt u toch doorgaan')){
					steps.show(1);
					break;
				}
				$('domain_checker').style.display='none';
				$('domain_checker_output').style.display='none';
				$('add_products').style.display='block';
				$('client_information').style.display='none';
				$('tab_step1').src='images/bestel/tab_stap1_hover.jpg';
				$('tab_step2').src='images/bestel/tab_stap2.jpg';
				$('tab_step3').src='images/bestel/tab_stap3_hover.jpg';
				$('tabs_image').src='images/bestel/ronding_stap2.jpg';
				if($('button_next')){$('button_next').style.display='inline';}
				if($('button_previous')){$('button_previous').style.display='inline';}
				$('order_confirmation').innerHTML = '';
				this.step=p_iPage;
				break;
			case 3:
				if(!checksb.check_host_in_sb() && !confirm('U heeft nog geen hosting pakket aan uw bestelling toegevoegd, wilt u toch doorgaan')){
					steps.show(2);
					break;
				}
				$('domain_checker').style.display='none';
				$('domain_checker_output').style.display='none';
				$('add_products').style.display='none';
				$('client_information').style.display='block';
				$('tab_step1').src='images/bestel/tab_stap1_hover.jpg';
				$('tab_step2').src='images/bestel/tab_stap2_hover.jpg';
				$('tab_step3').src='images/bestel/tab_stap3.jpg';
				$('tabs_image').src='images/bestel/ronding_stap3.jpg';
				if($('button_next')){$('button_next').style.display='none';}
				if($('button_previous')){$('button_previous').style.display='inline';}
				$('order_confirmation').innerHTML = '';
				this.step=p_iPage;
				break;
		}
	}
}

var checksb={
	check_domain_in_sb:function(){
		returnval = false;

		if($('order').innerHTML.indexOf("order.remove('dn_") != -1){
			returnval = true;
		}

// 		elms = $('order').getElementsByTagName('button');
// 		for (var i = 0; i < elms.length; i++) { 
// 			status = elms[i].getAttribute("onclick"); 
// 			if(status.indexOf("order.remove('dn_") != -1){
// 				returnval = true;
// 				break;
// 			}
// 		}
		return returnval;
	},
	check_host_in_sb:function(){
		returnval = false;

		if($('order').innerHTML.indexOf("order.remove('host_") != -1){
			returnval = true;
		}
// 		elms = $('order').getElementsByTagName('button');
// 		returnval = false;
// 		for (var i = 0; i < elms.length; i++) { 
// 			status = elms[i].getAttribute("onclick"); 
// 			if(status.indexOf("order.remove('host_") != -1){
// 				returnval = true;
// 				break;
// 			}
// 		}
		return returnval;
	}
}

var formvalidator=function(p_sID, p_sType){
	switch(p_sType){
		case 'name':
			$(p_sID).style.border = ($(p_sID).value.isValidStandardText(1))?('1px solid #138101'):('1px solid #c40000');
			break;
		case 'phone':
			$(p_sID).style.border = ($(p_sID).value.isValidPhoneNo())?('1px solid #138101'):('1px solid #c40000');
			break;
		case 'email':
			$(p_sID).style.border = ($(p_sID).value.isValidEmail())?('1px solid #138101'):('1px solid #c40000');
			break;
		case 'pcode':
			$(p_sID).style.border = ($(p_sID).value.match('^([A-Z]){4}([0-9]){4}$'))?('1px solid #138101'):('1px solid #c40000');
			break;
	}
}

var formsubmit=function(){
	var params = Form.serialize('orderform')+'&view=order_form';
	new Ajax.Request(settings.ajax_index_location,{
		method: "post",
		parameters: params,
		onCreate:function(){
			$('client_information_error').innerHTML = '';
			$('client_information').style.display = 'none';
			$('order_confirmation').innerHTML = '<h2>Bezig met het afhandelen van uw bestelling, dit kan even duren</h2>';
		},
		onComplete:function(r){
			var response = r.responseText.evalJSON();
			if(response.error == 1){
				$('order_confirmation').innerHTML = '';
				$('client_information_error').innerHTML = response.errormsg;
				$('client_information').style.display = 'block';
			}else{
				$('client_information_error').innerHTML = '';
				$('client_information').style.display = 'none';
				$('domain_checker_output').innerHTML = '';
				domainchecker.domains_checked = new Array();
				$('order_confirmation').innerHTML = '<h2>Bedankt voor uw bestelling</h2><p>Wij hebben uw bestelling in goede orde ontvangen. Een van onze medewerkers zal uw bestelling controleren en verwerken in ons systeem.</p><p>U ontvangt binnen 1 werkdag een e-mail van Simple Hosting met uw logingegevens voor de het regelpaneel. Mocht u niet binnen 1 werkdag een welkoms e-mail hebben ontvangen, neemt u dan contact op met de administratie van Simple Hosting via e-mail administratie@simple-hosting.nl of via telefoon nummer 010 297 45 45.</p><img src="http://ds1.nl/t?si=516&ti='+response.errormsg+'&bd=30.00&ai=ACTIE_ID&om=Hosting-Verkoop&oa=Simple-Hosting" height="1" width="1" border="0" alt="Simple Hosting" /><img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1069883549/?value=1&label=SIGNUP&script=0" />';
				order.show();
			}
		}
	});
}

var domainchecker={
	domains_checked: new Array(),
	get_checked_domains:function(){
		var params = 'get_checked_domains=1&view=domain_checker';
		new Ajax.Request(settings.ajax_index_location,{
			method: "post",
			parameters: params,
			onComplete:function(r){
				var response = r.responseText.evalJSON();
				var checked_domains = response.checked_domains;
				checked_domains.each(function(s){
					domainchecker.domains_checked.push(s);
				});
			}
		});
	},
	namecheck:function(p_sName, event){
		if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)){
			this.start();
			return false;
		}else{
			if($('checker_name').value == 'uw-domeinnaam.nl'){$('checker_name').value = '';}
			$('checker_name').style.border = ($('checker_name').value.isValidDomain())?('1px solid #138101'):('1px solid #c40000');
		}
	},
	start:function(p_sChecker_name){
		if(typeof(p_sChecker_name) == 'undefined'){
			var params = Form.serialize('form_domain_checker')+'&view=domain_checker';
		}else{
			var params = 'checker_name='+p_sChecker_name+'&view=domain_checker';
		}
		if(debug==true){
				alert(params);
		}
		new Ajax.Request(settings.ajax_index_location,{
			method: "post",
			parameters: params,
			onError:function(){
				if(debug==true){
						alert("Error");
					}
			},
			onCreate:function(){
				$('error_msg').innerHTML ='';
			},
			onComplete:function(r){
					if(debug==true){
						alert("klaar met laden");
					}
				var response = r.responseText.evalJSON();
				if(response.error == 1){
					$('error_msg').innerHTML = response.errormsg;
					$('error_msg').style.display='block';
				}else{
					$('error_msg').innerHTML = '';
					$('error_msg').style.display='none';
					var tld = response.tld;
					if(domainchecker.domains_checked.indexOf(response.cleandomain) == -1){
						domainsearched = document.createElement("div");
						domainsearched.id = "searched_"+response.cleandomain;
						domainsearched.innerHTML = '<h2 class="domain_header">'+response.cleandomain+'</h2>';

						$('domain_checker_output').insertBefore(domainsearched, $('domain_checker_output').firstChild);
						tld.each(function(s){domainchecker.check(domainsearched.id,s,response.cleandomain);});
						domainchecker.domains_checked.push(response.cleandomain);
					}else{
						window.location.hash = '#'+"searched_"+response.cleandomain
						domainchecker.load_searched();
					}
					domainchecker.save_searched();
				}
			}
		});
	},
	check:function(p_sDiv, p_sTLD, p_sCleanDomain){
		var params = 'checker_name='+p_sCleanDomain+"&tld="+p_sTLD+'&view=domain_checker';
		new Ajax.Updater(p_sDiv, settings.ajax_index_location, {
			method: "post",
			parameters: params,
			insertion: Insertion.Bottom,
			onComplete:function(r){
				if(debug==true){
						alert(r.responseText);
				}
			}
		});
	},
	save_searched:function(){
		var params = 'view=domain_checker&save_div='+escape($('domain_checker_output').innerHTML);
			if(debug==true){
						alert(params);
					}
		new Ajax.Request(settings.ajax_index_location,{
			method: "post",
			parameters: params
		});
	},
	load_searched:function(){
		var params = 'view=domain_checker&get_div=1';
		new Ajax.Updater('domain_checker_output', settings.ajax_index_location, {
			method: "post",
			parameters:params,
			onComplete:function(r){
					if(debug==true){
						alert(r.responseText);
					}
				}
		});
		domainchecker.get_checked_domains();
	}
}

var order={
	sb:new shopping_basket,
	show:function(){
		this.sb.show();
	},
	add:function(p_sPartNo){
		this.sb.add(p_sPartNo,{
			onComplete:function(){
				if($('searched_'+p_sPartNo.replace(/\./g, "_")) != undefined){
					$('searched_'+p_sPartNo.replace(/\./g, "_")).style.display='none';
				}
				//After add jump to anchor
				window.location.hash = '#tab_container';
			}
		});
	},
	remove:function(p_sPartNo){
		this.sb.remove(p_sPartNo,{
			onComplete:function(){
				if($('searched_'+p_sPartNo.replace(/\./g, "_")) != undefined){
					$('searched_'+p_sPartNo.replace(/\./g, "_")).style.display='block';
				}
			}
		});
	}
}

order.sb.content_div_id = 'order';