function showOverlay(cont_elm_id)	{
	if (cont_elm_id)	{
		$('#'+cont_elm_id).block({ 
			overlayCSS: { 
				backgroundColor: '#419107',
				opacity: .2 
			},
			iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', 
			forceIframe: true,
			quirksmodeOffsetHack: 4 
		}); 	
	}
	else	{
		if (_blockui_include_maximum_card)	{
			$.blockUI({ 
				overlayCSS: { 
					backgroundColor: '#419107',
					opacity: .2 
				},
				iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', 
				forceIframe: true,
				quirksmodeOffsetHack: 4,
				message: "<h1 style='padding:0;color:#3366CC;font-family:arial,Verdana;font-size:18px;font-weight:bold;'>"
					+"<div style='padding-bottom:5px;'><img src='"+ROOT+"img/v2/loading.gif'/></div><div>İşleminiz gerçekleştiriliyor, lütfen bekleyin...</div>"
					+"</h1>"
					+"<div style='margin-top: 15px;background-color: #e11d6f;'>"
			        +"<img src='"+ROOT+"img/v2/flight/maximum_loading.gif'/>"
			        +"</div>",
			    css: {
					padding: "15px 0 0"
				}
			});
		}
		else	{
			$.blockUI({ 
				overlayCSS: { 
					backgroundColor: '#419107',
					opacity: .2 
				},
				iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', 
				forceIframe: true,
				quirksmodeOffsetHack: 4,
				message: "<h1 style='padding:0;color:#3366CC;font-family:arial,Verdana;font-size:18px;font-weight:bold;'>"
					+"<div style='padding-bottom:5px;'><img src='"+ROOT+"img/v2/loading.gif'/></div><div>İşleminiz gerçekleştiriliyor, lütfen bekleyin...</div>"
					+"</h1>",
				css: {
					padding: "15px 0"
				}
			});
		}
	}
}

function hideOverlay(cont_elm_id)	{
	if (cont_elm_id)
		$('#'+cont_elm_id).unblock();
	else
		$.unblockUI();
}

function validate(_form)	{
	var all_inputs = _form.find('input,select,textarea').filter(":input")
	.not(":submit, :reset, :image, [disabled]");

	//reset errors
	all_inputs.removeClass('error');
	$("div.error-cont").hide();
	var error = false;
	
	all_inputs.each(function(){
		//required check
		if ($(this).hasClass('required'))	{
			//select
			if (this.nodeName.toLowerCase()=='select')	{
				var val = $(this).val();
				if (!val || val.length == 0)	{
					$(this).addClass('error');
					error = true;
				}
			}
			//text
			else if (this.nodeName.toLowerCase()=='input' || this.nodeName.toLowerCase()=='textarea')	{
				if ($.trim(this.value).length == 0)	{
					$(this).addClass('error');
					error = true;
				}
			}
		}
		
		if ($(this).hasClass('masked_phone'))	{
			if (!/^0[0-9]{3} [0-9]{3} [0-9]{4}$/.test(this.value))	{
				$(this).addClass('error');
				error = true;
			}
		}

		if ($(this).hasClass('masked_mobile'))	{
			if (!/^05[0-9]{2} [0-9]{3} [0-9]{4}$/.test(this.value))	{
				$(this).addClass('error');
				error = true;
			}
		}

		if ($(this).hasClass('publicid'))	{
			if (!/^[0-9]{11}$/.test(this.value))	{
				$(this).addClass('error');
				error = true;
			}
		}

		if ($(this).hasClass('email'))	{
			if (!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(this.value))	{
				$(this).addClass('error');
				error = true;
			}
		}
		
	});

	if (error)	{
		$("div.error-cont").html("Lütfen kırmızı renkli alanları eksiksiz doldurun.").fadeIn();
		window.parent.$('html, body').animate({
			scrollTop: $("div.error-cont:first").offset().top
		}, 1000);
	}
	
	return !error;
}

$.datepicker.regional['tr'] = {
	closeText: 'kapat',
	prevText: '&#x3c;geri',
	nextText: 'ileri&#x3e',
	currentText: 'bugün',
	monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
	'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
	monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
	'Tem','Ağu','Eyl','Eki','Kas','Ara'],
	dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
	dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
	dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
	dateFormat: 'dd.mm.yy', firstDay: 1,
	isRTL: false};

$.datepicker.setDefaults($.datepicker.regional['tr']);

function validate_passengers()	{
	var AdultCount = parseInt($('select[name=AdultCount]').val());
	var ChildCount = parseInt($('select[name=ChildCount]').val());
	var InfantCount = parseInt($('select[name=InfantCount]').val());
	var SeniorCount = parseInt($('select[name=SeniorCount]').val());
	var StudentCount = parseInt($('select[name=StudentCount]').val());
	
	if (SeniorCount==0 && AdultCount==0)	{
		if (StudentCount==0)	{
			alert('Yolculuklarınızda en az 1 adet yetişkin, öğrenci ya da 65 yaş üstü yolcu bulunmalıdır.');
			return false;
		}
		
		if ( (StudentCount>0 || ChildCount>0) && InfantCount>0)	{
			alert('Çocuk ve öğrenci yolcular yanına bebek yolcu alamaz.');
			return false;
		}
	}

	if (InfantCount>AdultCount+SeniorCount)	{
		alert('Bebek yolcu sayısı, yetişkin ve yaşlı yolcu sayılarının toplamından fazla olamaz.');
		return false;
	}

	if ( (SeniorCount+AdultCount+StudentCount+ChildCount) > 4)	{
		alert('Bir seferde bebek hariç en fazla 4 yolcu için işlem yapılabilir.');
		return false;
	}

	return true;
}

function customRange(input) {
	if (input.id == "ReturnDate")
	{
		return {
			minDate: $("input[name=FlightDate]").datepicker("getDate"),
			maxDate: null
		};
	}
	else
	{
		return {
			minDate: 0,
			maxDate: null
		};
	}
}

function charging_form_handler(is_iframe)	{
	
	$('#ChargingForm form').ajaxForm({
		dataType: 'json',
		beforeSubmit: function(){

			if (is_iframe)	{
				window.parent.$('.error-cont').hide().html('');
			}
			else	{
				$('.error-cont').hide().html('');
			}

			var CardName = $.trim($('input[name=CardName]').val());
			if (CardName.length<5)	{
				alert('Lütfen kartın üzerinde yazan ismi girin');
				$('input[name=CardName]').focus();
				Busy = false;
				return false;
			}
			if ($('input[name=CardNumber]').val().length!=16)	{
				alert('Lütfen 16 haneli kredi kartı numaranızı girin');
				$('input[name=CardNumber]').focus();
				Busy = false;
				return false;
			}
			if ($('input[name=CVV]').val().length!=3)	{
				alert('Lütfen kartınızın arkasında yazan 3 haneli CVV numarasını girin');
				$('input[name=CVV]').focus();
				Busy = false;
				return false;
			}
			
			if ($('select[name=CardDistributer]').val()==0)	{
				alert('Lütfen kartınızın türünü seçin');
				$('select[name=CardDistributer]').focus();
				Busy = false;
				return false;
			}
			
			/*if ($('select[name=CardType]').val()==0)	{
				alert('Lütfen kartınızın türünü seçin');
				$('select[name=CardType]').focus();
				Busy = false;
				return false;
			}*/

			Busy = true;
			showOverlay();
		},
		success: function(data){
			if (data.status=='ok')	{
				//redirect for 3D
				if (data.gate)	{
					window.location.href = data.gate;
				}
			}
			else if (data.status=='NormalCharging')	{
				//open modal
				hideOverlay();
				Busy = false;
				$('#NormalChargingWidget input[name=mobile]').val(data.mobile);
				$("#NormalChargingWidget").dialog('open');
			}
			else if (data.status=='ContinueWith3D')	{
				//resubmit with 3D
				$('#ChargingForm form input[name=charging_method]').val(1);
				$('#ChargingForm form').submit();
			}
			else	{
				if (is_iframe)	{
					window.parent.$('.error-cont').html('Bir hata meydana geldi, lütfen bir süre bekleyip tekrar deneyin. Sorun devam ediyorsa destek almak için 0212-496-1697 numaralı telefonu arayabilirsiniz.').show();
					window.parent.$('html, body').animate({
						scrollTop: $(".bossayfa").offset().top
					}, 1000);
				}
				else	{
					$('.error-cont').html('Bir hata meydana geldi, lütfen bir süre bekleyip tekrar deneyin. Sorun devam ediyorsa destek almak için 0212-496-1697 numaralı telefonu arayabilirsiniz.').show();
					$('html, body').animate({
						scrollTop: $(".bossayfa").offset().top
					}, 1000);
				}
				hideOverlay();
				Busy = false;
			}
		},
		error: function(){
			alert('Bir hata meydana geldi. Lütfen tekrar deneyin...');
			hideOverlay();
			Busy = false;
		}
	});
	
	$('input[name=CardNumber]').keyup(function(){
		if (this.value.substring(0, 1)==5)	{
			$('select[name=CardType]').val('Master');
		}
		else if (this.value.substring(0, 1)==4)	{
			$('select[name=CardType]').val('Visa');
		}
		else	{
			$('select[name=CardType]').val('0');
		}
	});
	
	$('input[name=CardNumber]').blur(function(){
		if ($('input[name=CardNumber]').val().substring(0, 1)==5)	{
			$('select[name=CardType]').val('Master');
		}
		else {
			$('select[name=CardType]').val('Visa');
		}
	});	
	
	
	$("#NormalChargingWidget").dialog({
		autoOpen: false,
		modal: true,
		position: 'center',
		width: 550,
		height: 'auto',
		resizable: false,
		open: function(){}
	});

	$('#NormalChargingWidget').parent().css('border-color', '#55b4e8');

	$('#SmsCodeSubmit').click(function(e){
		e.preventDefault();

		if (!/^[0-9A-Za-z]{3,10}$/.test($('#NormalChargingWidget input[name=code]').val()))	{
			alert('Lüften geçerli bir doğrulama kodu girin.');
			$('#NormalChargingWidget input[name=code]').focus();
			return false;
		}

		$.ajax({
			type: "POST",
			url: ROOT+"ucak-bileti/validate-sms-code/?ajax=1",
			data: {
				'mobile': $('#NormalChargingWidget input[name=mobile]').val(),
				'code': $('#NormalChargingWidget input[name=code]').val()
			},
			dataType: "json",
			beforeSend: function(){
				//$('#FavoriteForm').hide();
				//$('#FavFormLoading').show();
			},
			error: function(){
				alert('İşleminizi şu an gerçekleştiremiyoruz, lütfen daha sonra tekrar deneyin.');
				//$("#fav_search_dialog").dialog("close");
			},
			success: function(data){
				if (data.status=='ChargingFailed')	{
					$('#NormalChargingWidget').dialog('close');
					$('.error-cont').html('Ödeme sırasında bir hata meydana geldi, lütfen kart bilgilerinizi kontrol edip tekrar deneyin.').show();
					$('html, body').animate({
						scrollTop: $(".bossayfa").offset().top
					}, 1000);
				}
				else if (data.status=='ValidationCodeError')	{
					alert('Geçersiz bir sms doğrulama kodu girdiniz. Lütfen girdiğiniz kodu kontrol edip tekrar deneyin.');
				}
				else if (data.status=='ok')	{
					window.location.href = ROOT+'ucak-bileti/odeme-onay/';
				}
				else	{
					alert('İşleminizi şu an gerçekleştiremiyoruz, lütfen daha sonra tekrar deneyin.');
				}
			}
		});
	});
}

