$(function()
{
	/*
	*	Hosting domain settings:
	*	gestisco tutte le operazioni di interazione
	*	e di AJAX relative al controllo del dominio
	*/
	var field = $('#domainField');
	var price = $("p.price");
	var top = price.position();
	var domain = $('.domain');
	var detail_h = $(".detail").height();
	var where = $(".central article");
	
	/*
	*	Includo la form per sottoscrizione clausole
	*/
	function getFormClausole(input){
		$.ajax ({
					url: 'http://'+window.location.hostname+'/include/p.detail/form_domain.php',
					type: 'GET',
					data: input+'&clausole=true',
					success: function(data){
						where.children().fadeOut();
						$("#dominio").remove();
						where.append(data);
						
						var form = where.find('form');
						var h = form.height();
						
						$(".detail").animate({ 'height': h }, 800);
						form.fadeIn();
						
						$("#procedi").submit(function(){
							var error;
							var clausole = $("#procedi input[type='checkbox']:checked");
							
							$.each(clausole, function(){
								if(this.value !== '') error = true;
							});
							
							/*
							*	Se clausole tutte accettate invio la mail
							*/
							if(error == true && clausole.length == 4)
							{
								$.ajax({
								   		url: 'http://'+window.location.hostname+'/include/p.detail/form_domain.php',
										type: 'GET',
										data: input+'&clausole=true&sendOrdine=true',
										success: function(data){
											where.children().fadeOut();
											where.append(data);
											
										}
								});
							} 
							else {
								$(".error").remove();
								$(".detail article .button").prev().append("<label class='error'>Accettare tutte le clausole!</label>");
							}
							return false;
						});
					}
		});		
	}
	
	/*
	*	Includo la form per registrare il dominio
	*/
	function getFormDomain(_name, _ext, _op){
		$.get("http://"+window.location.hostname+"/include/p.detail/form_domain.php", function(data){
			
			var pos = where.position();
			where.children().fadeOut();
			where.append(data);	
			var d = $("#dominio");	 //form

			d.fadeIn();
			var h_d = d.height();
			where.parent().animate({ 'height' : h_d }, 800); 
			
			// Invio i valori dei campi al php
			d.submit(function(){
				var input = $("#dominio input[type='text'], #dominio input[type='checkbox']:checked, #dominio input[type='email']");
				var str = '';
				
				$.each(input, function(){
						str += this.name+'='+this.value+'&';
				});
				
				var id = $.getUrlVar('id');
				var domain_url = 'www.'+_name+'.'+_ext;	
					
				str+= 'id='+id+'&domain_url='+domain_url+'&operation='+_op;

				$.ajax ({
					url: 'http://'+window.location.hostname+'/include/p.detail/form_domain.php',
					type: 'GET',
					data: str+'&post=true',
					success: function(data){
						$(".error").remove();
						if(data == '')
						{
							d.hide();
							getFormClausole(str);			
						} 
						else {
							where.find('button').prev().append('<label class="error">'+data+'</label>');
						}
					}
				});
				
				return false;
			});
		});
		
	}
	
	/*
	*	Visualizzo il dettaglio del prodotto e il suo prezzo al
	*	click del tasto di "Back"
	*/
	$('a[name="back"]').click(function(){
			price.fadeIn();
			price.next().fadeIn();
			domain.fadeOut();
			if($(".description").is(":visible") == false)
			{
				$("#dominio").fadeOut().remove();
				$("#procedi").fadeOut().remove();
				$(".result").fadeOut().remove();
				$(".detail").animate({ 'height': detail_h}, 800);
				$("article").children(':not(".hidden")').fadeIn();
			}
	});
	
	/*
	*	
	*/
	$('button[name="ordina"]').click(function(){	
		var hosting = $("h2.big:contains('Hosting'), h2.big:contains('Dominio')");
		if(hosting.html() != null)
		{
			price.fadeOut();
			price.next().fadeOut();
			
			domain.css({ 
					   	'position' : 'absolute',
						'top': top.top
						})
			
			field.css('border-color', '#999999');
			$(this).parent().parent().append(domain);
		
			domain.fadeIn();
		
			return false; 
		}
	});
	
	/*
	*	Recupero il file dove è contenuta la form
	*	al click del tasto i submit di verifica disponibilità
	*	del dominio
	*/
	$('#domainForm').submit(function(){
		$('.error').remove();
		field.css('border-color', '#999999');

		if(field.val() == '')
		{
			field.css('border', '1px solid red');
			return false;
		}
		else {
			var op = $("#domainForm input[type='radio']:checked").val();
			var name = $("input[name='domain-name']").val();
			var ext = $("select[name='domain-ext']").val();
			
			$.ajax ({
				url: 'http://'+window.location.hostname+'/include/p.detail/domain.php',
				type: 'GET',
				data: {
							'richiedi-dominio': 'true',
							'domain-operation': op,
							'domain-name': name,
							'ext': ext
				},
				success: function(data){
					$('#domainForm').prepend(data);
					if(data == '') getFormDomain(name, ext, op);

				}
			});
			return false;
		}
		
	});
});

/*
*	Estendo il framework JQuery creando un equivalente $_GET
*/
$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});
