$(document).ready(function(){
	
	$('#popup_reset_password').jqm({modal: true, trigger: 'a.trg_popup_reset_password'});
	
	$(function(){
		$(".toolTip").tipTip();
	});
	
	$('#docpg_docDescr').expander({
	  slicePoint: 250, 
	  widow: 2,
	  expandText: 'Lees meer',
	  expandPrefix: '... ',
	  expandEffect: 'show', 
	  userCollapseText: ' - Verklein de documentbeschrijving'
	});
	
	$('input.rating').rating({
		callback: function(value, link){
			var doc_id_to_rate = $('input:hidden[name=doc_id]').val();
			$.post( '/docs/submit-rating/', { rating: value, doc_id: doc_id_to_rate } );
			$('input.rating').rating('disable'); 
		},
		focus: function(value, link){
			var tip = $('#hover-test');
			tip[0].data = tip[0].data || tip.html();
			tip.html(link.title || 'value: '+value);
		},
		blur: function(value, link){
			var tip = $('#hover-test');
			$('#hover-test').html(tip[0].data || '');
		}
	});
	
	//$('#dialog').jqm();
	
	$('#calc_price').jqm({modal: true, trigger: 'a.open_price_calc'});
	
	$("#doc_price").keyup(function () {
		
		var doc_price = $(this).val();
		
		doc_price = doc_price.replace( ",", "." );
		
		$.post("/account/calc_fee/", { doc_price: doc_price },
		function(data){
			
			var saleDetails = eval('(' + data + ')');
			
			$("#user_payout").html(saleDetails.payout_total);
			$("#desc_selling_price").html(doc_price);
			$("#desc_selling_price_tax").html(saleDetails.selling_price_tax);
			$("#desc_selling_price_wo_tax").html(saleDetails.selling_price_gross);
			$("#desc_transaction_fee").html(saleDetails.transaction_fee);
			$("#desc_udoc_fee").html(saleDetails.udoc_fee);
			$("#desc_payout_subtotal").html(saleDetails.payout_subtotal);
			$("#desc_payout_tax").html(saleDetails.payout_tax);
			$("#desc_payout_total").html(saleDetails.payout_total);
		});
		
		return false;
		
    });
	
	
	$('#name_expl').jqm({modal: true, trigger: 'a.showNameExpl'});
	
	$("#screamer_account_delete").fadeIn(1500);
	
	$("#screamer_invalid_credentials").fadeIn(1500);
	
	$("#signup_user").validate({
		rules: {
			company_name: {
				required: "#user_type:checked"
			},
			vat: {
				required: "#user_type:checked"
			},
			tax: {
				required: "#user_type:checked"
			},
			bank_account: {
				required: "#user_type:checked"
			},
			first_name: "required",
			last_name: "required",
			phone_number: {
				required: true,
				minlength: 10,
				maxlength: 10
			},
			title: "required",
			username: {
		      required: true,
			  minlength: 3,
		      remote: {
		        url: "/user/confirm_username/",
		        type: "post",
		        data: {
		          username: function() {
		            return $("#username_val").val();
		          }
				}
		      }
		    },
			email: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 5
			},
			confirm_password: {
				required: true,
				minlength: 5,
				equalTo: "#password"
			},
			policy_compliance: "required"
		},
		messages: {
			company_name: {
				required: "Vul uw bedrijfsnaam in",
			},
			vat: "Vul uw KvK nummer in",
			tax: "Vul uw BTW-nummer in",
			bank_account: "Vul uw bankrekeningnummer in",
			first_name: "Vul uw voornaam in",
			last_name: "Vul uw achternaam in",
			phone_number: {
				required: "Vul uw telefoonnummer in",
				minlength: "Uw telefoonummer moet minimaal 10 cijfers bevatten",
				maxlength: "Uw telefoonnummer kan maximaal 10 cijfers bevatten"
			},
			username: {
				 required: "Vul een gebruikersnaam in",
				 remote: "Deze gebruikersnaam is al bezet",
			},
			email: {
				required: "Vul een e-mailadres in",
				email: "Dit is geen geldig e-mailadres"
			},
			password: {
				required: "Vul een wachtwoord in",
				minlength: "Uw wachtwoord moet minimaal 5 tekens lang zijn",
			},
			confirm_password: {
				required: "Vul uw wachtwoord nogmaals in",
				minlength: "Uw wachtwoord moet minimaal 5 tekens lang zijn",
				equalTo: "De wachtwoorden komen niet overeen"
			},
			policy_compliance: "U moet akkoord gaan met de gebruikersvoorwaarden"
		}
	});
	
	$("#update_profile").validate({
		rules: {
			email: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 5
			},
			confirm_password: {
				required: true,
				minlength: 5,
				equalTo: "#password"
			}
		},
		messages: {
			email: {
				required: "Vul een e-mailadres in",
				email: "Dit is geen geldig e-mailadres"
			},
			password: {
				required: "Vul een wachtwoord in",
				minlength: "Uw wachtwoord moet minimaal 5 tekens lang zijn",
			},
			confirm_password: {
				required: "Vul uw wachtwoord nogmaals in",
				minlength: "Uw wachtwoord moet minimaal 5 tekens lang zijn",
				equalTo: "De wachtwoorden komen niet overeen"
			}
		}
	});
	
	$("#update_adress_request").validate({
		rules: {
			company_name: {
				required: "#user_type:checked"
			},
			vat: {
				required: "#user_type:checked"
			},
			tax: {
				required: "#user_type:checked"
			},
			bank_account: {
				required: "#user_type:checked"
			},
			first_name: "required",
			last_name: "required",
			phone_number: {
				required: true,
				minlength: 10,
				maxlength: 10
			},
			title: "required",
			adress_row_1: "required",
			number: "required",
			zipcode: "required",
			city: "required"
		},
		messages: {
			company_name: {
				required: "Vul uw bedrijfsnaam in",
			},
			vat: "Vul uw KvK nummer in",
			tax: "Vul uw BTW-nummer in",
			bank_account: "Vul uw bankrekeningnummer in",
			first_name: "Vul uw voornaam in",
			last_name: "Vul uw achternaam in",
			phone_number: {
				required: "Vul uw telefoonnummer in",
				minlength: "Uw telefoonummer moet minimaal 10 cijfers bevatten",
				maxlength: "Uw telefoonnummer kan maximaal 10 cijfers bevatten"
			},
			adress_row_1: "Vul uw adres in",
			number: "Vul uw huisnummer in",
			zipcode: "Vul uw postcode in",
			city: "Vul uw woonplaats in"
		}
	});
	
	$("#add_user_adress").validate({
		rules: {
			adress_row_1: "required",
			number: "required",
			zipcode: "required",
			city: "required"
		},
		messages: {
			adress_row_1: "Vul uw adres in",
			number: "Vul uw huisnummer in",
			zipcode: "Vul uw postcode in",
			city: "Vul uw woonplaats in"
		}
	});
	
	/*$("#comment_input_form").validate({
		rules: {
			comment_content: "required"
		},
		messages: {
			comment_content: "Vul een reactie in"
		},
		submitHandler: 
			function() {
				
				$("#comment_input_form").ajaxSubmit({
					type: "post",
					target: "#doc_reaction",
					beforeSubmit: function() { 
						 $("#comment_form_switch").hide();
						 $("#comment_form_holder").append("Uw reactie is opgeslagen.");    
					}
				});
			}
	});*/
	
	$("#doc_details").validate({
		rules: {
			doc_name: "required",
			doc_tags: "required",
			/*doc_price: {
				required: "#show_doc_price:checked",
				number: true,
				min: 1.50
			},*/
			preview_page_count: {
				required: "#show_doc_price:checked",
				number: true,
				min: 1,
				max: 8
			},
			agree_paid_upload: {
				required: "#show_doc_price:checked"
			},
			doc_price: {
				required: "#show_doc_price:checked"				
			},
			agree_free_upload: {
				required: "#show_doc_price:unchecked"
			}
		},
		messages: {
			doc_name: "Vul een titel voor het document in",
			doc_tags: "Voeg relevante tags aan uw document toe",
			preview_page_count: {
				required: "Vul het aantal weer te geven paginas in",
				number: "Dit is geen cijfer",
				min: "Het aantal paginas moet minimaal 1 zijn",
				max: "Het aantal paginas mag maximaal 8 zijn"
			},
			agree_paid_upload: {
				required: "U akkoord gaan met de voorwaarden voor het betaald uploaden"
			},
			doc_price: {
				required: "Vul de vraagprijs voor het document in"
			},
			agree_free_upload: {
				required: "U akkoord gaan met de voorwaarden voor het gratis uploaden"
			}
		}
	});
	
	$("#first_cat").change(function () {
		first_categorie_value = $("#first_cat").val();
		$.post("/upload/categories/", { categorie_id: first_categorie_value, level: "second" },
		function(data){
			//alert("waarde:"+first_categorie_value);
			$("#second_cat").html(data);
			$("#third_cat_holder").hide();
		});
	});
	
	$("#second_cat").change(function () {
		second_categorie_value = $("#second_cat").val();
		$.post("/upload/categories/", { categorie_id: second_categorie_value, level: "third" },
		function(data){
			//alert("waarde:"+data);
			if( data != "no_rows") {
				$("#third_cat_holder").show();
				$("#third_cat").html(data);
			} else {
				$("#third_cat_holder").hide();
				$("#third_cat").html("<option value=\"0\">Geen categorie geselecteerd</option>");
			}
		});
	});
	
	function roundNumber(num, dec) {
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
	}
	
	$("#profile_url").keyup(function () {
		
		//alert("Test");
		
		var profile_url_raw = $("#profile_url").val();
		profile_url = profile_url_raw.split(' ').join('');
		profile_url = profile_url.toLowerCase()
				
		$("#display_url").text(profile_url);
		
		return false;	
		
    });
	
	$("#show_doc_price").click(function () {
	    if ($(this).attr("checked")) {
			//do the stuff that you would do when 'checked'
			$("tbody#document_price").show();
			$("tbody#check_paid_upload").show();
			$("tbody#check_free_upload").hide();
			
			return;
		} else {
			$("tbody#document_price").hide();
			$("tbody#check_paid_upload").hide();
			$("tbody#check_free_upload").show();
			$("#doc_price").val("0");
			$("#user_price").text("0.00");
			$('input#show_doc_price').attr('checked', '');
			return;
		}
	});
	
	$("#user_type").click(function () {
	    if ($(this).attr("checked")) {
			//do the stuff that you would do when 'checked'
			$("tbody#company-details").show();
			$('#user_type').attr('selected', 'selected');
			return;
		} else {
			$("tbody#company-details").hide();
		}
	});
	
	$("#email_this").toggle(
      function () {
        $("div#email_holder").slideDown();
      },
      function () {
        $("div#email_holder").slideUp();
      }
    );
	
	$("#email_close").click(
      function () {
        $("div#email_holder").slideUp();
      }
    );
	
	
	
	
	
	
	$("#expl_preview_page_count").toggle(
      function () {
        $("#row_page_count").slideDown();
      },
      function () {
        $("#row_page_count").slideUp();
      }
    );
	
	$("#show_upload_expl").toggle(
      function () {
        $("#upload_expl").slideDown();
      },
      function () {
        $("#upload_expl").slideUp();
      }
    );
	
	$("#show_price_calc").toggle(
      function () {
        $("#price_calc").show();
      },
      function () {
        $("#price_calc").hide();
      }
    );
	
	$().ready(function() {
  $('#dialog').jqm();
});
	
	
	
	
$("#send_email").click(function() {  
	var sender_name = $("#sender_name").val();
	var receiver_name = $("#receiver_name").val();
	var receiver_email = $("#receiver_email").val();
	var email_message = $("#email_message").val();
	var dataString = 'sender_name='+ sender_name + '&receiver_name=' + receiver_name + '&receiver_email=' + receiver_email + '&email_message=' + email_message;
  //alert (dataString);return false;
  $.ajax({
    type: "POST",
    url: "/account/email-friend/",
    data: dataString,
    success: function() {
     
	  $('#email_holder').html("<center>Het bericht is verzonden naar "+receiver_name);
    
	}
  });
  return false;
 });
 
 
 
 $("#favor_doc").click(function () {
	doc_id = $('input:hidden[name=doc_id]').val();
	$.post("/docs/favor/", { doc_id: doc_id },
	function(data){
		$("#favor_bar").html("Toegevoegd aan uw favorieten");
	});
	return false;
});
	
	
	
	
});