var childertInput=0;
var popupThis; 

$(document).ready( function() {
	$('.ajaxloader').ajaxStart(function(){
		$('.ajaxloader').show();		
	})
	.ajaxComplete(function(){
		$('.ajaxloader').hide();
	});
	
});

function is_numeric (mixed_var) {
    // discuss at: http://phpjs.org/functions/is_numeric    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
}

function addChildren() {
	if (childertInput<3) {
	var actualContent = $('#childrenInputs').html();
	childertInput++;
	$('#childrenInputs').html(actualContent+'<p><label>dzieci, podaj wiek</label><input name="dziecko['+childertInput+']" type="text" /></p>');
	} else {
		alert(inf.maxChildrenCount);
	}
}

function validate_registration_form() {
	
	var people = $('.persons .datepicker').size();
	var i = 0;
	
	$('.persons .datepicker').each( function(){
		
		var age = $(this).attr('value');
		
		if ($(this).hasClass('Mr')) {
			
			if (oldEnough(age,18)) {
				$(this).css('background-color','white')
				i++
			} else {
				$(this).css('background-color','yellow')	
			}
				
		}
		
		if ($(this).hasClass('Chld')) {
			
			if (oldMax(age,18) && oldEnough(age,2)) {
				$(this).css('background-color','white')
				i++
			} else {
				$(this).css('background-color','yellow')
			}
			
		}
		
		if ($(this).hasClass('Inf')) {
			
			if (oldMax(age,2)) {
				$(this).css('background-color','white')
				i++
			} else {
				$(this).css('background-color','yellow')
			}
			
		}
		
	})
	
//	alert('people: '+people)
//	alert('i: '+i)
	
	if (people!==i)
		alert(inf.datesFailed)
	
	if (people==i) {
		return true;
	} else {
		return false;
	}
	
	
	
	
}

function oldEnough(ssn, intMinimumAge){
	
	if (ssn=='') { return false;}
	
	var arrr = new Array;
	arrr = explode('-',ssn);
	
	var oneDay = 24*60*60*1000*365; // hours*minutes*seconds*milliseconds
	var secondDate = new Date(arrr[0],arrr[1],arrr[2]);
	var firstDate = new Date();
	
	var diffYears = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
	
	if (diffYears<0)
		return false
	
	return (diffYears >= intMinimumAge)
}

function oldMax(ssn, intMaximumAge){
	
	if (ssn=='') { return false;}
	
	var arrr = new Array;
	arrr = explode('-',ssn);
	
	var oneDay = 24*60*60*1000*365; // hours*minutes*seconds*milliseconds
	var secondDate = new Date(arrr[0],arrr[1],arrr[2]);
	var firstDate = new Date();
	
	var diffYears = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
	
	if (diffYears<0)
		return false	
	
	return (diffYears <= intMaximumAge)
}


function cloneDatas(p_id,what) {
	if ($('#'+what+(parseInt(p_id)-1)).attr('value')=='')
		alert(inf.emptyField)
	else
		$('#'+what+p_id).attr('value',$('#'+what+(parseInt(p_id)-1)).attr('value'))
		
	verifyForm();
}

function cloneDataAdress(p_id) {
	
	var increment = 0;
	
	var newCode = $('#Code'+(parseInt(p_id)-1)).attr('value');
	increment = (newCode=="") ? increment : increment+1; 	
	
	var newCity = $('#City'+(parseInt(p_id)-1)).attr('value');
	increment = (newCity=="") ? increment : increment+1;
	
	var newStreet = $('#Street'+(parseInt(p_id)-1)).attr('value');
	increment = (newStreet=="") ? increment : increment+1;
	
	$('#Code'+p_id).attr('value',newCode);
	$('#City'+p_id).attr('value',newCity);
	$('#Street'+p_id).attr('value',newStreet);
	
	if (increment<3) {
		if ((3-increment)<2)
			alert(inf.withoutfields1+(3-increment)+inf.withoutfields2);
		else
			alert(inf.withoutfields1+(3-increment)+inf.withoutfields3);
	}
		
	
}

function sendSykonForm(register,elementID,formID) {

	if (register!=='makeorder') {
	$('#wynik').html('<div class="ajaxloader step2" ></div>');
	}
	
		$('#ajaxloaderMakeOrderLoading').ajaxStart(function(){
			$('#ajaxloaderMakeOrderLoading').show()
		})
		.ajaxComplete(function(){
			$('#ajaxloaderMakeOrderLoading').hide()
		});
		
	$('#'+elementID).attr('value',register);
	$('#infoheader').remove();
	$('#wynik0').remove();
	$('#wynik_kontener').remove();
	
	if (register=='makeorder') {
		if (validate_registration_form()) {
			$('#' + formID).ajaxSubmit(resultDiv);	
		}
	} else {
		$('#' + formID).ajaxSubmit(resultDiv);
	}
	
	if (register=='register')
		$('#ajaxSending').remove()
}

function sendSykonFormZero(register,elementID,formID) {
	$('#'+elementID).attr('value',register);
	$('#infoheader').remove();
	$('#'+formID).ajaxSubmit(resultDivInit);
	if (register=='register')
		$('#ajaxSending').remove()
}

function goBackFromRegForm() {
	if (confirm(inf.thatStepWillLoseData)) {
		window.location.reload();
	}
}

function updatePrice(elementID,elementType,params) {
	
	$('#resumeBox').html('<div class="ajaxloader step3"></div>')
	
	var stringg ='/sykon/sykon-dispatcher.php?requestPointer=updateprice';
	stringg+='&doroslych='+params['doroslych'];
	stringg+='&hotel='+params['hotel'];
	stringg+='&kraj='+params['kraj'];
	
	if (params['dziecko0'])
		stringg+='&dziecko0='+params['dziecko0'];

	if (params['dziecko1'])
		stringg+='&dziecko1='+params['dziecko1'];
	
	if (params['dziecko2'])
		stringg+='&dziecko2='+params['dziecko2'];
	
	if (params['dziecko3'])
		stringg+='&dziecko3='+params['dziecko3'];
	
	stringg+='&wyjazdpowrot='+params['wyjazdpowrot'];
	
	if(elementType=='globalOption') {
		
		var optionNumber = elementID.substring(12,elementID.length);
		
		if($('#'+elementID).is(':checked')) {
			$('#resumeBox').load(stringg+'&globaloptionID='+optionNumber+'&adding=true&type=globalOption');
		} else {
			$('#resumeBox').load(stringg+'&globaloptionID='+optionNumber+'&adding=false&type=globalOption');
		}
		
	} else if (elementType=='personOption') {
		
		var arrr = new Array;
		arrr = explode('_',elementID);
		var optionNumber = arrr[0].substring(12,arrr[0].length);
		
		if($('#'+elementID).is(':checked')) {
			$('#resumeBox').load(stringg+'&personoptionID='+optionNumber+'&adding=true&type=personOption&personID='+arrr[1]);
		} else {
			$('#resumeBox').load(stringg+'&personoptionID='+optionNumber+'&adding=false&type=personOption&personID='+arrr[1]);
		}		

	} else if (elementType=='busstops') {
		
		$('#resumeBox').load(stringg+'&personoptionID=true&type=busstops&busstop='+elementID);
		
	} else if (elementType=='calendar') {
		var dateTocalc=elementID[1];
		var personIDtoCalc=elementID[0].substring(5,elementID[0].length);
		
//		alert(dateTocalc)
//		alert(strtotime(dateTocalc))
		
		
		$('#resumeBox').load(stringg+'&calendarRecalculate=true&newdatetocalulate='+strtotime(dateTocalc)+'&personIdToRecalulate='+personIDtoCalc);
	}
	
}



function calculateChildren(selectedValue,maxPersonsCount,minPersonsCount,type,hotelID) {
		var personLeft = maxPersonsCount-selectedValue;
		var selectChildren = '';
//		$('#childrenSelect').html('&nbsp;');
//		$('#childrenInputs').html('&nbsp;');
		
		$('#getMinimalCount').load('/calculateChild.php?c='+selectedValue+'&h='+hotelID);
		
		$('#getMinimalCount').ajaxComplete(function(){
			var minimalnailoscdzieci=parseInt($('#getMinimalCount').html());
		});
		
		minimalPersonsToAdd=minPersonsCount-selectedValue; 	
		
		if (type=='dorosli') {

			personLeft=dorosliTable[selectedValue]

		} else {
			
			personLeft=dzieciTable[selectedValue]
		}
		
		if ((personLeft)>0) {
		
		$('#childrenSelect select').removeAttr('disabled');
		
			
			if (personLeft>4)
				personLeft=4;
			
			$('#childrenInputs select').attr('disabled','disabled');
			
			
			$('#childrenInputs select').each( function(){

				$(this).find('option:first').attr('selected', 'selected').parent('select');

			})
			
			selectChildren+='<label>Dzieci: </label><select onchange="dumpChildrenInputs(this.options[this.selectedIndex].value);sendSykonFormZero(\'recount\',\'requestPointer\',\'ajaxSending\');">';
			selectChildren+='<option>bez dzieci</option>';
			for (i=1;i<(personLeft+1);i++) {
				selectChildren+='<option>'+i+'</option>';
			}
			selectChildren+='</select>';
			$('#childrenSelect').html(selectChildren);
		} else {
			$('#childrenSelect select').attr('disabled','disabled');
			$('#childrenInputs select').attr('disabled','disabled');
		}
}

function calculateChildren2(selectedValue,paxyArr) {
		var personLeft = maxPersonsCount-selectedValue;
		var selectChildren = '';
//		$('#childrenSelect').html('&nbsp;');
//		$('#childrenInputs').html('&nbsp;');
		
	
		
		$('#childrenSelect select').removeAttr('disabled');
		
			
		$('#childrenSelect select').removeAttr('disabled');
		
			
			if (personLeft>4)
				personLeft=4;
			
			$('#childrenInputs select').attr('disabled','disabled');
			
			
			$('#childrenInputs select').each( function(){

				$(this).find('option:first').attr('selected', 'selected').parent('select');

			})
			
			selectChildren+='<label>Dzieci: </label><select onchange="dumpChildrenInputs(this.options[this.selectedIndex].value);sendSykonFormZero(\'recount\',\'requestPointer\',\'ajaxSending\');">';
		
			
      for (i=0;i<(paxyArr.length);i++) {
				if (paxyArr[i][0]==selectedValue) {
        selectChildren+='<option>'+paxyArr[i][1]+'</option>';
				if (!show_children && show_children!=0) var show_children = paxyArr[i][1];
				
				}
			}
			selectChildren+='</select>';
		
			$('#childrenSelect').html(selectChildren);
			
			dumpChildrenInputs(show_children);
		
		

}

function dumpSeveralChildSelect(fieldName) {
	var dump = '';
	dump+='<select name="dziecko['+fieldName+']" onchange="sendSykonFormZero(\'recount\',\'requestPointer\',\'ajaxSending\');">';
	for (i=1;i<18;i++) {
		dump+='<option>'+i+'</option>';
	}	
	dump+='</select>';
	return dump; 
}

function dumpChildrenInputs(howMany) {
	if (howMany>=minimalPersonsToAdd) {
		if (is_numeric(howMany)) {
			
			$('#childrenInputs select').attr('disabled','disabled');
			
			for (j=0;j<howMany;j++) {
				$('#childrenAgeDD_'+j).removeAttr('disabled');
				$('#childrenAgeDD_'+j).val('2')
			}
		}	
	} else {
		
		
		
		$('#childrenInputs select').attr('disabled','disabled');
		//alert(inf.requiredMembersCount);
//		$('#childrenSelect').html('&nbsp;');
//		$('#childrenInputs').html('&nbsp;');
	}
}

function verifyForm() {
	var fieldsCount = $('.regnamefield').size();
	var regnamefields = 0;
	var regsurnamefields = 0;
	var permissions = 0;
	var borndatefields = 0;
	
	var postcodefields = 0;
	var cityfields = 0;
	var streetfields = 0;
	
	var phones = 0;
	var emails = 0;
	
	var correnctMail=false;
	
	
	$('.regnamefield').each( function(){
		if ($(this).attr('value'))
			regnamefields++;	
	})


	
	
	
	
	$('.regformpostcodesinput').each( function(){
		if ($(this).attr('value'))
			postcodefields++;	
	})	
	
	$('.regformcitysinput').each( function(){
		if ($(this).attr('value'))
			cityfields++;	
	})	
	
	$('.regformstreetsinput').each( function(){
		if ($(this).attr('value'))
			streetfields++;	
	})	
	
	
	
	$('.regformphonesinput').each( function(){
		
		if ($(this).attr('id')=='Phone0') {
			if (!$(this).attr('value'))
				$(this).css('background-color','#FFFFBA');
			else
				$(this).css('background-color','white');
		}
		
		if ($(this).attr('value'))
			phones++;	
	})		
	
	
	$('.regformmailsinput').each( function(){
		if ($(this).attr('value')) {
			emails++;
			if (validate_email($(this).attr('value')) == true) {
				correnctMail=true;
			} 
				
		}
		
		if ($(this).attr('id')=='Email0') {
			if (!$(this).attr('value'))
				$(this).css('background-color','#FFFFBA');
			else
				$(this).css('background-color','white');
		}
		
	})
	
	$('.regsurnamefield').each( function(){
		if ($(this).attr('value'))
			regsurnamefields++;	
	})
	
	$('.permissionchboxes').each( function(){
		if (($(this).is(':checked')))
			permissions++
	});
	
	$('.datepickerRegForm').each( function(){
		if ($(this).attr('value'))
			borndatefields++;
	});
	

	if (regsurnamefields!==fieldsCount)
		markUnchecked('regsurnamefield', true)
	else
		markUnchecked('regsurnamefield', false)	
	
	if (regnamefields!==fieldsCount)
		markUnchecked('regnamefield', true)
	else
		markUnchecked('regnamefield', false)		

		
		
	if (postcodefields!==fieldsCount)
		markUnchecked('regformpostcodesinput', true)
	else
		markUnchecked('regformpostcodesinput', false)
		
	if (cityfields!==fieldsCount)
		markUnchecked('regformcitysinput', true)
	else
		markUnchecked('regformcitysinput', false)
		
	if (streetfields!==fieldsCount)
		markUnchecked('regformstreetsinput', true)
	else
		markUnchecked('regformstreetsinput', false)
		
		
		
	
	if (borndatefields!==fieldsCount)
		markUnchecked('datepickerRegForm', true)
	else
		markUnchecked('datepickerRegForm', false)
		
//	if (!correnctMail)
//		markUnchecked('regformmailsinput', true)
//	else
//		markUnchecked('regformmailsinput', false)		
	
//	if (!phones>0)
//		markUnchecked('regformphonesinput', true)
//	else
//		markUnchecked('regformphonesinput', false)
		

	
	if ((permissions<parseInt($('.permissionchboxes').size())))
		markUnchecked('permissionswrapper label', true)
	else
		markUnchecked('permissionswrapper label', false)
	
		
	if (correnctMail && 
		emails>0 && 
		phones>0 &&
		
		postcodefields==fieldsCount && 
		cityfields==fieldsCount && 
		streetfields==fieldsCount && 
		
		borndatefields==fieldsCount && 
		regnamefields==fieldsCount && 
		regsurnamefields==fieldsCount && 
		!(permissions<parseInt($('.permissionchboxes').size()))
		)
		{ $('#makeorderbutton').removeAttr('disabled');
		$('#komunikat_1').css('display','none');
		}
	else {
		$('#makeorderbutton').attr('disabled','disabled');
		$('#komunikat_1').css('display','block');
		}
}

function validate_email(str)
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	   var address = str;
	   if(reg.test(address) == false) {
	      return false;
	   } else {
		return true;   
	   }

}


function markUnchecked(elementsToMark,checkIt) {
	
	if (checkIt)
		$('.'+elementsToMark).css('background-color','#FFFFBA');
	else
		$('.'+elementsToMark).css('background-color','white');		
	
}
 
function openPopup(url,bookingID) {
	popupThis=window.open('/loading.html', "popup_id", "location=yes,menubar=1,scrollbars,resizable,width=600,height=800");
	 $('#resultBookingDownload').load('/sykon/sykon-booking.php?url='+url+'&bookingID='+bookingID);
}


