var $callback =
{
	contact: function(form,data)
	{
		var type = data.success?'success':'error';
		$msg.show(data.msg,type);
		if(data.success)
		{
			form.reset();	
		}
		
	}
	
	,reseller: function(form,data)
	{
		var type = data.success?'success':'error';
		$msg.show(data.msg,type);
		if(data.success)
		{
			form.reset();	
		}
		
	}
	
	,samples_request: function(form,data)
	{
		var type = data.success?'success':'error';
		$msg.show(data.msg,type);
		if(data.success)
		{
			form.reset();	
		}
		
	}
	
	
};


var $order =
{
	init:function()
	{
		$("select[name='project[custom][product_type]']").val("").bind("change",$order.change_product);	
		$("select[name='project[pop][product_type]']").val("").bind("change",$order.change_product);
		$("#btn-submit").bind("click",$order.order_submit);
		$(".order .close").live("click",$order.delete_order);
		
		$order.add_on_init();
		return $order;
	}
	,order_submit: function()
	{
		if($("#resume .order").length == 0)
		{
			$msg.show(lang('Please complete the form'),'error');
			return;
		}
		
		$r.request('order_contact');
		return;
	}
	,change_product: function()
	{
		var side = /pop/.test(this.name) ? 'pop' : 'custom' ;	
		$(".options-field.is-"+side+"").hide();
		if(this.value == '') return;
		$msg.remove();
		$.ajax({url:'/application/request/get_options_for_product'
			   ,data:'id='+this.value
			   ,success: function(data)
			   {
					data = json_decode(data);
					
					for(var i in data.text_field)
					{
						$(".is-"+side+".ident-"+data.text_field[i].code+"").show();
						$("input[name='project["+side+"]["+data.text_field[i].code+"]']").val("");
					}
					
					
					for(var i in data.select)
					{
						var field = $("select[name='project["+side+"]["+i+"]']");
						field.val("").empty();
						if(data.select[i].length == 0) continue;
						field.append('<option value="">'+lang('form - select choose')+'</option>');
						for(var v in data.select[i])
						{
							field.append('<option value="'+data.select[i][v].id+'">'+data.select[i][v].name+'</option>');
						}
						
						$(".is-"+side+".ident-"+i+"").show();
					}
					
					if(!empty(data.lots))
					{
						$("input[name='project["+side+"][nb_lots]']").val("");
						var field = $("select[name='project["+side+"][qt]']").empty().val("");
						for(var i in data.lots)
						{
							field.append('<option value="'+data.lots[i].qt+'">'+data.lots[i].qt+'</option>');
						}
						$(".is-"+side+".ident-nb_lots").show();
					}
			   }});
	}
	,add: function(type)
	{
		$msg.remove();
		var fields = ['project['+type+'][name]','project['+type+'][product_type]'];
		var error = 0;
		$("label").removeClass("error");
		
		for(var i in fields)
		{
			if(empty($("*[name='"+fields[i]+"']").val()))
			{
				$("label[for='"+fields[i]+"']").addClass("error");
				error++;
			}
		}
		
		if(error > 0){ $msg.show(lang('validation - Enter all required field'),'error');return;}
		
		$.ajax({url:'/application/request/save_order'
			   ,data:$(document.order).serialize()+'&'+$(document.order_contact).serialize()+'&project_type='+type
			   ,success: function(data)
			   {
					data = json_decode(data);
					$("#no-item").hide();
					$order.obj_html(data[data.project_type],data.key);
					$order.alt_row();
				  	document.order.reset();
					$(".options-field").hide();
			   }});
		
	}
	,add_on_init: function()
	{
		var type = document.order.order_type.value;
		$msg.remove();
		$.ajax({url:'/application/request/get_orders'
		   ,data:'order_type='+type
		   ,success: function(data)
		   {
				data = json_decode(data);
				if(data.length == 0) return;
				$("#no-item").hide();
				for(var i in data)
					$order.obj_html(data[i][data[i].project_type],data[i].key);	
				$order.alt_row();
		   }});
	}
	,obj_html: function(data,key)
	{
		var extras = app.configs.type_to_string;
		
		var h  = '<div class="order"><a href="" class="close" rel="'+key+'"></a>';
			h += '<strong class="cyan">'+data.name+'</strong>';
			h += '<strong>'+(!empty(data.nb_lots)?data.nb_lots+(!empty(data.qt)?' X '+data.qt:''):(!empty(data.qt)?data.qt:''))+
				' '+data.product_type_str['name_'+Lang]+'</strong>';
				
			h += '<table cellpadding=0 cellspacing=0>';
				for(var i in extras)
				{
					if(empty(data[extras[i]])) continue;
					debug(data[extras[i]]);
					var str = (typeof data[extras[i]] == 'object') ? data[extras[i]]['name_'+Lang] : data[extras[i]];
					h += '<tr><td>'+lang('JS - '+extras[i])+' </td><td>'+str+'</td></tr>';
				}
			h += '</table>';
		$("#resume").append(h);
				  
	}
	,delete_order: function()
	{
		var $this = $(this);
		var type = document.order.order_type.value;
		$msg.remove();
		$.ajax({url:'/application/request/delete_order'
		   ,data:'order_type='+type+'&k='+$this.attr('rel')
		   ,success: function(data)
		   {
			   $this.parent().fadeTo(500,0.01
				,function()
				{
					$(this).remove();
					$order.alt_row();
					if($("#resume .order").length == 0)
					{
						$("#no-item").show();
					}
				})
		   }});
		
		return false;
	}
	,callback_request: function(form,data)
	{
		var type = data.success?'success':'error';
		$msg.show(data.msg,type);
		if(data.success)
		{
			form.reset();
			form.action = "javascript:$order.order_submit();";
			$("#resume .order").remove();
			$("#no-item").show();
		}
	}
	,alt_row: function()
	{
		$("#resume .order").removeClass("odd").filter(function(i){return i%2!=0;}).addClass("odd");	
	}
	
};
