﻿jQuery().ready(function() {
  // Validate contact form
  jQuery("#contact").validate({
    rules: {
	  "editval[oxuser__oxusername]": { required: true },
	  "editval[oxuser__oxfname]": { required: true },
	  "editval[oxuser__oxlname]": { required: true },
	  c_subject: { required: true },
	  c_message: { required: true },
	  contact_captcha: { required: true }
    },
    messages:{
      "editval[oxuser__oxusername]": { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" },
      "editval[oxuser__oxfname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Vornamen ein!" },
      "editval[oxuser__oxlname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Nachnamen ein!" },
      c_subject: { required: "Oops, hier stimmt was nicht. Bitte sage uns hier, worum es geht!" },
      c_message: { required: "Oops, hier stimmt was nicht. Bitte sage uns hier genau, was wir für dich tun können!"  },
      contact_captcha: { required: "Oops, der Prüfcode passt nicht ganz, bitte gebe hier noch einmal einen Prüfcode ein!" }
    }
  });

  // Validate article_recommend form
  jQuery("#article_recommend").validate({
    rules: {
	  "editval[send_email]": { required: true },
	  "editval[rec_email]": { required: true }
    },
    messages:{
      "editval[send_email]": { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" },
      "editval[rec_email]": { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" }
    }
  });

  // Validate get_catalogue form
  jQuery("#get_catalogue").validate({
    rules: {
	  "catorder[moscatalogorders__mosfname]": { required: true },
	  "catorder[moscatalogorders__moslname]": { required: true },
	  "catorder[moscatalogorders__mosstreet]": { required: true },
	  "catorder[moscatalogorders__mosstreetnr]": { required: true },
	  "catorder[moscatalogorders__moszip]": { required: true },
	  "catorder[moscatalogorders__moscity]": { required: true },
	  "catorder[moscatalogorders__moscountryid]": { required: true },
	  "captcha[input]": { required: true }
    },
    messages:{
      "catorder[moscatalogorders__mosfname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Vornamen ein!" },
      "catorder[moscatalogorders__moslname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Nachnamen ein!" },
      "catorder[moscatalogorders__mosstreet]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Straße ein, wo du wohnst!" },
      "catorder[moscatalogorders__mosstreetnr]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Hausnummer ein, wo du wohnst" },
      "catorder[moscatalogorders__moszip]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Postleitzahl ein!" },
      "catorder[moscatalogorders__moscity]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Ort ein, wo du wohnst!" },
      "catorder[moscatalogorders__moscountryid]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier das Land ein, wo du wohnst!" },
      "captcha[input]": { required: "Oops, der Prüfcode passt nicht ganz, bitte gebe hier noch einmal einen Prüfcode ein!" }
    }
  });

  // Validate old_adress form
  jQuery("#old_adress").validate({
    rules: {
	  lgn_usr: { required: true },
	  lgn_pwd: { required: true }
    },
    messages:{
      lgn_usr: { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe die noch einmal ein!" },
      lgn_pwd: { required: "Ooops, dieses Passwort kann irgendwie nicht stimmen - bitte gebe es noch einmal ein!" }
    }
  });

  // Validate new_adress form
  jQuery("#new_adress").validate({
    rules: {
	  lgn_usr: { required: true },
	  "invadr[oxuser__oxusername]": { required: true },
	  "invadr[oxuser__oxfname]": { required: true },
	  "invadr[oxuser__oxlname]": { required: true },
	  "invadr[oxuser__oxstreet]": { required: true },
	  "invadr[oxuser__oxstreetnr]": { required: true },
	  "invadr[oxuser__oxzip]": { required: true },
	  "invadr[oxuser__oxcity]": { required: true },
	  "invadr[oxuser__oxcountryid]": { required: true },
	  "invadr[oxuser__oxfon]": { required: true },
      lgn_pwd: { required: true },
	  lgn_pwd2: { required: true },

	  "deladr[oxaddress__oxfname]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxlname]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxstreet]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxstreetnr]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxzip]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxcity]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } },
	  "deladr[oxaddress__oxcountryid]": { required: function(element) { return $("input[name='other_input']:checked").val() == 'ja'; } }
    },
    messages:{
      lgn_usr: { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" },
      "invadr[oxuser__oxusername]": { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" },
      "invadr[oxuser__oxfname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Vornamen ein!" },
      "invadr[oxuser__oxlname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Nachnamen ein!" },
      "invadr[oxuser__oxstreet]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Straße ein, wo du wohnst!" },
      "invadr[oxuser__oxstreetnr]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Hausnummer ein, wo du wohnst" },
      "invadr[oxuser__oxzip]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Postleitzahl ein!" },
      "invadr[oxuser__oxcity]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Ort ein, wo du wohnst!" },
      "invadr[oxuser__oxcountryid]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier das Land ein, wo du wohnst!" },
      "invadr[oxuser__oxfon]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Telefonnummer ein" },
      lgn_pwd: { required: "Oops, das Passwort kann nicht stimmen, bitte gebe es noch einmal ein!" },
      lgn_pwd2: { required: "Oops, das Passwort kann nicht stimmen, bitte gebe es noch einmal ein!" },


      "deladr[oxaddress__oxfname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Vornamen ein!" },
      "deladr[oxaddress__oxlname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Nachnamen ein!" },
      "deladr[oxaddress__oxstreet]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Straße ein, wo du wohnst!" },
      "deladr[oxaddress__oxstreetnr]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Hausnummer ein, wo du wohnst" },
      "deladr[oxaddress__oxzip]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Postleitzahl ein!" },
      "deladr[oxaddress__oxcity]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Ort ein, wo du wohnst!" },
      "deladr[oxaddress__oxcountryid]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier das Land ein, wo du wohnst!" }
    }
  });

  // Validate payment form
  jQuery("#payment").validate({
    rules: {
	  paymentid: { required: true },

      "dynvalue[spMOSCVC]": { required: function(element) {
		  		var selectedUserPayment = $("select[name='dynvalue[spMOSUserPaymentId]']").val();
		  		return $("input[name='paymentid']:checked").val() == 'mossaferpay'
		  			&& selectedUserPayment != 0 && selectedUserPayment != -1;
		  }
	  },

      "dynvalue[lsbankname]": { required: function(element) { return $("input[name='paymentid']:checked").val() == 'oxiddebitnote'; } },
      "dynvalue[lsblz]": { required: function(element) { return $("input[name='paymentid']:checked").val() == 'oxiddebitnote'; } },
      "dynvalue[lsktonr]": { required: function(element) { return $("input[name='paymentid']:checked").val() == 'oxiddebitnote'; } },
      "dynvalue[lsktoinhaber]": { required: function(element) { return $("input[name='paymentid']:checked").val() == 'oxiddebitnote'; } }
    },
    messages:{
      paymentid: { required: "Individuelle Fehlermeldung" },

      "dynvalue[spMOSCVC]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Kreditkarten Prüfcode auf der Rückseite deiner Kreditkarte ein!" },

      "dynvalue[lsbankname]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Namen deiner Bank ein!" },
      "dynvalue[lsblz]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine BLZ ein!" },
      "dynvalue[lsktonr]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Kontonummer ein!" },
      "dynvalue[lsktoinhaber]": { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Namen als Inhaber des Bankkontos ein!" }
    }
  });

  jQuery("#mossaferpay").validate({
	 rules: {
	  	spMOSCardHolderName: { required: true },
	  	sfpCardNumber: { required: true },
	  	spMOSCVC: { required: true }
  	 },
  	 messages: {
  		spMOSCardHolderName: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Namen als Inhaber der Kreditkarte ein!" },
  	 	sfpCardNumber: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Kreditkartennummer ein!" },
  	 	spMOSCVC: { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Kreditkarten Prüfcode auf der Rückseite deiner Kreditkarte ein!" }
  	 }
  });
  
  // Validate personal_settings form
  jQuery("#personal_settings").validate({
    rules: {
	  password_old: { required: true },
	  password_new: { required: true },
	  password_new_confirm: { required: true }
    },
    messages:{
      password_old: { required: "Oops, hier stimmt was nicht. Bitte gebe hier dein altes Passwort ein!" },
      password_new: { required: "Oops, hier stimmt was nicht. Bitte gebe hier dein neues Passwort ein!" },
      password_new_confirm: { required: "Oops, hier stimmt was nicht. Bitte gebe hier dein neues Passwort ein!" }
    }
  });

  // Validate address_settings form
  jQuery("#address_settings").validate({
    rules: {
      mail_input: { required: true },
      first_name_input: { required: true },
      last_name_input: { required: true },
      street_input: { required: true },
      nr_input: { required: true },
      postal_input: { required: true },
      city_input: { required: true },
      country_input: { required: true },
      phone_input: { required: true }
    },
    messages:{
      mail_input: { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" },
      first_name_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Vornamen ein!" },
      last_name_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deinen Nachnamen ein!" },
      street_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Straße ein, wo du wohnst!" },
      nr_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Hausnummer ein, wo du wohnst" },
      postal_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Postleitzahl ein!" },
      city_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Ort ein, wo du wohnst!" },
      country_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier das Land ein, wo du wohnst!" },
      phone_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier deine Telefonnummer ein" }
    }
  });
  
  // Validate address_other_settings form
  jQuery("#address_other_settings").validate({
    rules: {
      first_name_other_input: { required: true },
      last_name_other_input: { required: true },
      street_other_input: { required: true },
      nr_other_input: { required: true },
      postal_other_input: { required: true },
      city_other_input: { required: true },
      country_other_input: { required: true }
    },
    messages:{
      first_name_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Vornamen ein!" },
      last_name_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Nachnamen ein!" },
      street_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Straße ein!" },
      nr_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Hausnummer ein!" },
      postal_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier die Postleitzahl ein!" },
      city_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier den Ort ein!" },
      country_other_input: { required: "Oops, hier stimmt was nicht. Bitte gebe hier das Land ein!" }
    }
  });

  // Validate send_own_list form
  jQuery("#send_own_list").validate({
    rules: {
	  "editval[rec_email]": { required: true }
    },
    messages:{
      "editval[rec_email]": { required: "Ooops, diese E-Mail-Adresse kann irgendwie nicht stimmen - bitte gebe sie noch einmal ein!" }
    }
  });
  
  // Validate confirm form
  jQuery("#confirm").validate({
    rules: {
	  ord_instructions: { required: true },
	  ord_agb: { required: true }
    },
    messages:{
      ord_instructions: { required: "Bitte bestätige die Widerufsbelehrung.<br />" },
      ord_agb: { required: "Bitte bestätige die ABG.<br />" }
    }
  });
});
