$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});

		
	/*function ajax_form(form, destination){	
	
		$.post(destination, $(form).serialize(),
			function(data){
  			  
  			  if(!data.error){
  			  
  			  	if(typeof data.handler != "undefined"){
  			  		
  			  		if(typeof data.handler_args != "undefined"){
  			  		
  			  			if(data.handler_args.length > 0){
  			  				eval(data.handler + '("' + data.handler_args + '")');
  			  			} else {
  			  				eval(data.handler + '("")');
  			  			}
  			  			
  			  		} else {
  			  			eval(data.handler + '("")');
  			  		}
				
				}
  			  	
  			  } else {
  			  	
  			  	if( typeof data.error_msg == "undefined" ){
  			  		$.prompt('Ett fel uppstod!');
  			  	} else {
  			  		$.prompt(data.error_msg);
  			  	}
  			  
  			  }
  			  
  			}, "json");
  	}*/
  	
  	$(document).ready(function(){
  		$('#login_form').submit(function(e){
  			e.preventDefault();
  			$.post('/ajax/login', $(this).serialize(), function(data){
  				if(data.error){
  					$.prompt(data.error_msg);
  				} else {
  					
  					if(typeof data.handler_args != "undefined"){
  						if(data.handler_args.length > 0){
  							alert(data.handler_args);
  						}
  					}
  					
  					document.location.reload();
  				}
  			}, "json");
  		});
  	});
  	
  	/*function successfully_login(msg){
  		
  		if(msg.length > 0) {
  			alert(msg);
  		}
  		
  		document.location.reload();
  	}*/
	
	$(document).ready(function () {
		$(function() { 
			$("ul.tabs").tabs("div.panes > div"); 
		});
	});
	
	function postnummer(postnr, ort_target){
		if (postnr.length == 5){
			
			$.post("/ajax/postnummer", { postnummer: postnr },
			  function(data){
			    
			    ort_target.val(data.postort);
			   
			  }, "json");
			  	
		}
	}
	
	function contact(form){
		
		var form = $(form).serialize();
		
		$.post('/ajax/contact', form,
			function(data){
  			  
  			  if(!data.error){
  			  
				alert("Tack för ditt meddelande!");
				self.location.reload();
  			  	
  			  } else {
  			  	
  			  	if( typeof data.error_msg == "undefined" ){
  			  		$.prompt('Ett fel uppstod!');
  			  	} else {
  			  		$.prompt(data.error_msg);
  			  	}
  			  
  			  }
  			  
  			}, "json");	
		
	}
	
	function faq(elementID, answer){
		var element = $('.' + elementID);
		element.html(answer);
		element.slideToggle();
	}
	
	function sign_up(){
		var form = $('#sign_up_form');

		$.post('/ajax/sign_up', $(form).serialize(),
			function(data){
  			  
  			  if(!data.error){
  			  
				alert("Du är nu registrerad, kolla din inkorg efter aktiveringsmail.");
				location.href = '/';
  			  	
  			  } else {
  			  	
  			  	if( typeof data.error_msg == "undefined" ){
  			  		$.prompt('Ett fel uppstod!');
  			  	} else {
  			  		$.prompt(data.error_msg);
  			  	}
  			  
  			  }
  			  
  			}, "json");			
  				
		
	}
	
	function sign_up_agreement(that){
	 	if ($(that).is(':checked') != false) {
	 	
	 		$('#join_bttn').removeAttr("disabled");

	 	} else {
	 	
	 		$('#join_bttn').attr("disabled","disabled");
	 		
	 	}
	}
	
	function update_password(form){
		$.post('/ajax/update_password', $(form).serialize(),
			function(data){
				if(!data.error){
					$.prompt('Lösenordet uppdaterades!');
				} else {
					$.prompt(data.error_msg);
				}
			}, "json")
	}
	
	function search_offers(uri){
		var loc = uri +  $.URLEncode($('#offers_search').val()) + "#sort";
		location.href = loc;
	}
	
	function cart_add(id){
		if((typeof id) === "number"){
			$.post('/ajax/cart_add', { sid: id }, function(data){
			
			    if(!data.error){
			    	
			    	alert('Varan har lagts i din kundvagn');
			    	self.location.reload();
			    
			    } else {
			    	
			    	if(data.error_msg){
			    		alert(data.error_msg)
			    	} else {
			    		alert('Ett okänt fel uppstod');
			    	}
			    	
			    }
			    
			}, "json");
			
		}
			
	}
	
	function remove_cart(id){
		if((typeof id) === "number"){
		
			$.post('/ajax/remove_cart', { sid: id }, function(data){
			
			    if(!data.error){
			    	
			    	self.location.reload();
			    
			    } else {
			    	
			    	if(data.error_msg){
			    		alert(data.error_msg)
			    	} else {
			    		alert('Ett okänt fel uppstod');
			    	}
			    	
			    }
			    
			}, "json");
			
		}
	}
	
	function create_order(){
	
		
		$.getJSON('/ajax/my_address', function(data){
		
		if(confirm('Vill du lägga din order nu? Du kan inte ångra detta val.\n\n' + data.address)){
			
			$.post("/ajax/create_order", { no: 'data' }, function(data){
				
					if(!data.error){
						
						alert('Tack för din beställning!');
						location.href = '/profile';
					
					} else {
						
						if(data.error_msg){
							alert(data.error_msg)
						} else {
							alert('Ett okänt fel uppstod');
						}
						
					}
				
			}, "json");
			
		}		
		
		});
		
	}
	
	$(document).ready(function(){
		$('.order_table tbody tr').click(function(){
		
			var order_obj	= $(this).find('td')[0];
			var order_id	= $(order_obj).html();
			
			var details_obj = $('#order_details');
			$(details_obj).html('Laddar..').show();
			
			$.post("/ajax/order_info", { id: order_id }, function(data){
				$(details_obj).slideUp(300, function(){
					$(this).html(data).slideDown(400);
				});
			});
			
		});
	});
	
	function close_remove(elm){
		$(elm).fadeTo(400, 0, function () {
			$(elm).slideUp(400);
		});
	}