﻿$(document).ready(function() {
  $('#linkjelentkezes').click(function(e) {
    e.preventDefault();
    $('#form-modal-content').modal();
  });
  $('.mutuallyexclusiveErtesules').click(function() {
    checkedState = $(this).attr('checked');
    $('.mutuallyexclusiveErtesules:checked').each(function() { $(this).attr('checked', false); }); $(this).attr('checked', checkedState);
  });
  $('.mutuallyexclusiveJelentkezes').click(function() {
    checkedState = $(this).attr('checked');
    $('.mutuallyexclusiveJelentkezes:checked').each(function() { $(this).attr('checked', false); }); $(this).attr('checked', checkedState);
  });
  InitializeScrolledContent();
  InitializeMap();
  InitializeGallery();
});

function SendForm() {
  if (!Validate()) return;
  var code = document.getElementById("code").value;
  var chkJelentkezes1 = document.getElementById("chkJelentkezesPartnerklub");
  var chkJelentkezes2 = document.getElementById("chkJelentkezesHazibuliklub");
  var registrationType = chkJelentkezes1.checked ? chkJelentkezes1.value : chkJelentkezes2.value;
  var name = document.getElementById("txtName").value;
  var address = document.getElementById("txtAddress").value;
  var birthPlace = document.getElementById("txtBirthPlace").value;
  var birthDate = document.getElementById("txtBirthDate").value;
  var identityNum = document.getElementById("txtIdentityNum").value;
  var email = document.getElementById("txtEmail").value;
  var chkErtesules1 = document.getElementById("chkErtesules1");
  var chkErtesules2 = document.getElementById("chkErtesules2");
  var chkErtesules3 = document.getElementById("chkErtesules3");
  var chkErtesules4 = document.getElementById("chkErtesules4"); 
  var information = chkErtesules1.checked ? 
                    chkErtesules1.value : 
                    (chkErtesules2.checked ? 
                          chkErtesules2.value : 
                          (chkErtesules3.checked ? 
                                chkErtesules3 : 
                                (chkErtesules4.checked ? chkErtesules4.value : ''))); 
                                
	var proxy = new ServiceProxy("/service/Partnerklub.asmx/");
	proxy.invoke("Registration", { "data": { 
	                    "Code": code,
	                    "RegistrationType": registrationType, 
	                    "Name": name, 
	                    "Address": address, 
	                    "BirthPlace": birthPlace, 
	                    "BirthDate": birthDate, 
	                    "IdentityNumber": identityNum, 
	                    "Email": email, 
	                    "Information": information }}, OnSendFormSuccess);                                
}

function OnSendFormSuccess(response) {
  if (response == "OK") {
    alert('Köszönjük, hogy regisztráltál szolgáltatásunkra. Munkatársunk hamarosan felveszi veled a kapcsolatot.');
  }
  else if (response == "ERR") {
    alert('A regisztráció végrehajtása során program hiba lépett fel, kérlek később próbálkozz újra.');
  }
  else{
    alert(response);
  }
  $.modal.close();
}

function Validate() {
  var chkJelentkezes1 = document.getElementById("chkJelentkezesPartnerklub");
  var chkJelentkezes2 = document.getElementById("chkJelentkezesHazibuliklub");
  if (!chkJelentkezes1.checked && !chkJelentkezes2.checked) {
    alert("Kérem add meg, hogy a partnerklubba vagy a házibuli klubba jelentkezel."); 
    return false;
  }
//  var txtName = document.getElementById("txtName");
//  if ((txtName.value == null) || (txtName.value.replace(' ', '').length == 0))
//  {
//    alert("A név megadása kötelező.");
//    txtName.focus();
//    return false;
//  }
//  var txtAddress = document.getElementById("txtAddress");
//  if ((txtAddress.value == null) || (txtAddress.value.replace(' ', '').length == 0)) {
//    alert("A cím megadása kötelező.");
//    txtAddress.focus();
//    return false;    
//  }
//  var txtBirthPlace = document.getElementById("txtBirthPlace");
//  if ((txtBirthPlace.value == null) || (txtBirthPlace.value.replace(' ', '').length == 0)) {
//    alert("A születési hely megadása kötelező.");
//    txtBirthPlace.focus();
//    return false;    
//  }
  var txtBirthDate = document.getElementById("txtBirthDate");
//  if ((txtBirthDate.value == null) || (txtBirthDate.value.replace(' ', '').length == 0)) {
//    alert("A születési idő megadása kötelező.");
//    txtBirthDate.focus();
//    return false;
//  }
  if ((txtBirthDate.value != null) && (txtBirthDate.value.replace(' ', '').length > 0)) {
    var filter = /(19|20)[0-9][0-9][- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
    if (!filter.test(txtBirthDate.value)) {
      alert("A megadott születéis dátum formátuma hibás (az elfogadott formátum: ÉÉÉÉ.HH.NN).");
      txtBirthDate.focus();
      return false;
    }       
  }
 
//  var txtIdentityNum = document.getElementById("txtIdentityNum");
//  if ((txtIdentityNum.value == null) || (txtIdentityNum.value.replace(' ', '').length == 0)) {
//    alert("A személyi ig. szám megadása kötelező.");
//    txtIdentityNum.focus();
//    return false;    
//  }
  var txtEmail = document.getElementById("txtEmail");
  if ((txtEmail.value == null) || (txtEmail.value.replace(' ', '').length == 0)) {
    alert("Az email megadása kötelező.");
    txtEmail.focus();
    return false;    
  }
  if ((txtEmail.value != null) && (txtEmail.value.replace(' ', '').length > 0)) {
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(txtEmail.value)) {
      alert("A megadott email cím formátuma hibás.");
      txtEmail.focus();
      return false;
    }      
  }
  var chkErtesules1 = document.getElementById("chkErtesules1");
  var chkErtesules2 = document.getElementById("chkErtesules2");
  var chkErtesules3 = document.getElementById("chkErtesules3");
  var chkErtesules4 = document.getElementById("chkErtesules4");
  if (!chkErtesules1.checked && !chkErtesules2.checked && !chkErtesules3.checked && !chkErtesules4.checked) {
    alert("Kérem add meg, hogy honnan értesültél a klubról.");
    return false;    
  }    
  return true;
}

function ServiceProxy(serviceUrl) {
	var _I = this;
	this.serviceUrl = serviceUrl;

	// *** Call a wrapped object
	this.invoke = function(method, data, callback, error, bare) {
		// *** Convert input data into JSON - REQUIRES Json2.js      
		var json = JSON.stringify(data);
		// *** The service endpoint URL
		var url = _I.serviceUrl + method;

		$.ajax({
			url: url,
			data: json,
			type: "POST",
			processData: false,
			contentType: "application/json",
			timeout: 10000, dataType: "text",
			// not "json" we'll parse
			success: function(res) {
				if (!callback) return;
				// *** Use json library so we can fix up MS AJAX dates                       
				var result = JSON.parse(res);
				// *** Bare message IS result                     
				if (bare) { callback(result); return; }
				// *** Wrapped message contains top level object node
				// *** strip it off
				for (var property in result) {
					callback(result[property]);
					break;
				}
			},
			error: function(xhr) {
				if (!error) return; if (xhr.responseText) {
					var err = JSON.parse(xhr.responseText); if (err) error(err);
					else error({ Message: "Szerver hiba." })
				} return;
			}
		});
	}
}

function InitializeScrolledContent() {
  if (!$("#pane1").length) return;
//  $('#pane1').jScrollPane({showArrows:true});
  $('#pane1').jScrollPane({showArrows:true});
}

//Térkép inicializálása az elérhetőség oldalon.
function InitializeMap() {
  if (!$("#map_canvas").length) return;
  var map = new GMap2(document.getElementById("map_canvas")); 
  map.setCenter(new GLatLng(47.725497,18.733449), 14); 
  map.setUIToDefault();
  var marker = new GMarker(new GLatLng(47.725497,18.733449))
  map.addOverlay(marker);
  marker.openInfoWindowHtml('<p class="content"><b>A partnerklub elérhetősége</b><br />Cím: 2510 Dorog, Otthon tér 6.<br />Email: <a class="infobox" href="mailto:partnerklub@invitel.hu">partnerklub@invitel.hu</a><p>');
}

function InitializeGallery() {
  if (!$("#gallery").length) return;
  $('#gallery a').lightBox();
}