/*
Dev by Antonio Trejo  
Hotel el Greco
Calender In and Out days
JQuery
26 / Jun / 09
Gogogo!!! XD
*/
$(function(){
	
	
	/* TOP FORM HOTEL EL GRECO */
	var _tomorrowis1 = actual_date(1);
	if( $("#form_Reservation").length > 0 ){
		var isVisible = false;
		if($("#Child1_Select0").length > 0 ){
			if($("#Child1_Select0").attr("value") != "No children" ){
				$("#note").css("visibility", "visible");
				if($("#formDisp2").length > 0 )
					$("#note3").css("visibility", "visible");
				isVisible = true;
			}else if(isVisible && $("#Child1_Select0").attr("value") == "No children"){
				$("#note").css("visibility", "hidden");
				if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
				isVisible = false;
			}
		}
		
		if($("#Child1_Select1").length > 0 ){
			if($("#Child1_Select1").attr("value") != "No children" ){
				$("#note").css("visibility", "visible");
				if($("#formDisp2").length > 0 )
					$("#note3").css("visibility", "visible");
				isVisible = true;
			}else if(isVisible && $("#Child1_Select1").attr("value") == "No children"){
				$("#note").css("visibility", "hidden");
				if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
				isVisible = false;
			}
		}

		if($("#Child1_Select2").length > 0 ){
			if($("#Child1_Select2").attr("value") != "No children"){
				$("#note").css("visibility", "visible");
				if($("#formDisp2").length > 0 )
					$("#note3").css("visibility", "visible");
				isVisible = true;
			}else if(isVisible && $("#Child1_Select2").attr("value") == "No children"){
				$("#note").css("visibility", "hidden");
				if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
				isVisible = false;
			}
		}
		
		if($("#Child1_Select3").length > 0 ){
			if($("#Child1_Select3").attr("value") != "No children" ){
				$("#note").css("visibility", "visible");
				if($("#formDisp2").length > 0 )
					$("#note3").css("visibility", "visible");
				isVisible = true;
			}else if(isVisible && $("#Child1_Select3").attr("value") == "No children"){
				$("#note").css("visibility", "hidden");
				if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
				isVisible = false;
			}
		}
		
		
		if($("#Child1_Select0").length > 0 ){
			$("#Child1_Select0").change(function() {
				if($("#Child1_Select0").attr("value") != "No children" && !isVisible){
					$("#note").css("visibility", "visible");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "visible");
					isVisible = true;
				}else if(isVisible && $("#Child1_Select0").attr("value") == "No children"){
					$("#note").css("visibility", "hidden");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
					isVisible = false;
				}
			});
		}
		if($("#Child1_Select1").length > 0 ){
			$("#Child1_Select1").change(function() {
				if($("#Child1_Select1").attr("value") != "No children" && !isVisible){
					$("#note").css("visibility", "visible");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "visible");
					isVisible = true;
				}else if(isVisible && $("#Child1_Select1").attr("value") == "No children"){
					$("#note").css("visibility", "hidden");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
					isVisible = false;
				}
			});
		}
		if($("#Child1_Select2").length > 0 ){
			$("#Child1_Select2").change(function() {
				if($("#Child1_Select2").attr("value") != "No children" && !isVisible){
					$("#note").css("visibility", "visible");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "visible");
					isVisible = true;
				}else if(isVisible && $("#Child1_Select2").attr("value") == "No children"){
					$("#note").css("visibility", "hidden");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
					isVisible = false;
				}
			});
		}
		if($("#Child1_Select3").length > 0 ){
			$("#Child1_Select3").change(function() {
				if($("#Child1_Select3").attr("value") != "No children" && !isVisible){
					$("#note").css("visibility", "visible");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "visible");
					isVisible = true;
				}else if(isVisible && $("#Child1_Select3").attr("value") == "No children"){
					$("#note").css("visibility", "hidden");
					if($("#formDisp2").length > 0 )
						$("#note3").css("visibility", "hidden");
					isVisible = false;
				}
			});
		}
		
		
		// Datepicker
		$("#input_checkIn1").attr("value",  _tomorrowis1); 
		$("#input_checkIn1").datepicker({showOn: 'button', buttonImage: 'wp-content/themes/El_Greco/assets/calendar-icon-mini.jpg', buttonImageOnly: true, dateFormat: 'd / MM / yy' });
		$("#input_checkOut1").datepicker({showOn: 'button', buttonImage: 'wp-content/themes/El_Greco/assets/calendar-icon-mini.jpg', buttonImageOnly: true, dateFormat: 'd / MM / yy'});
		
		/*
		if($("#Child1_Select0").length > 0 && $("#Adult1_Select0").length > 0){
			$("#Child1_Select0").change(function() {
				manyforRoom($("#Child1_Select0").attr("value"), $("#Adult1_Select0").attr("value"), 1);
			});
			$("#Adult1_Select0").change(function() {
				manyforRoom($("#Child1_Select0").attr("value"), $("#Adult1_Select0").attr("value"), 1);
			});
		}
		if($("#Child1_Select1").length > 0 && $("#Adult1_Select1").length > 0){
			$("#Child1_Select1").change(function() {
				manyforRoom($("#Child1_Select1").attr("value"), $("#Adult1_Select1").attr("value"), 2);
			});
			$("#Adult1_Select1").change(function() {
				manyforRoom($("#Child1_Select1").attr("value"), $("#Adult1_Select1").attr("value"), 2);
			});
		}
		if($("#Child1_Select2").length > 0 && $("#Adult1_Select2").length > 0){
			$("#Child1_Select2").change(function() {
				manyforRoom($("#Child1_Select2").attr("value"), $("#Adult1_Select2").attr("value"), 3);
			});
			$("#Adult1_Select2").change(function() {
				manyforRoom($("#Child1_Select2").attr("value"), $("#Adult1_Select2").attr("value"), 3);
			});
		}
		if($("#Child1_Select3").length > 0 && $("#Adult1_Select3").length > 0){
			$("#Child1_Select3").change(function() {
				manyforRoom($("#Child1_Select3").attr("value"), $("#Adult1_Select3").attr("value"), 4);
			});
			$("#Adult1_Select3").change(function() {
				manyforRoom($("#Child1_Select3").attr("value"), $("#Adult1_Select3").attr("value"), 4);
			});
		}
	
		if($("#Child2_Select0").length > 0 && $("#Adult2_Select0").length > 0){
			$("#Child2_Select0").change(function() {
				manyforRoom($("#Child2_Select0").attr("value"), $("#Adult2_Select0").attr("value"), 1);
			});
			$("#Adult2_Select0").change(function() {
				manyforRoom($("#Child2_Select0").attr("value"), $("#Adult2_Select0").attr("value"), 1);
			});
		}
		if($("#Child2_Select1").length > 0 && $("#Adult2_Select1").length > 0){
			$("#Child2_Select1").change(function() {
				manyforRoom($("#Child2_Select1").attr("value"), $("#Adult2_Select1").attr("value"), 2);
			});
			$("#Adult2_Select1").change(function() {
				manyforRoom($("#Child2_Select1").attr("value"), $("#Adult2_Select1").attr("value"), 2);
			});
		}
		if($("#Child2_Select2").length > 0 && $("#Adult2_Select2").length > 0){
			$("#Child2_Select2").change(function() {
				manyforRoom($("#Child2_Select2").attr("value"), $("#Adult2_Select2").attr("value"), 3);
			});
			$("#Adult2_Select2").change(function() {
				manyforRoom($("#Child2_Select2").attr("value"), $("#Adult2_Select2").attr("value"), 3);
			});
		}
		if($("#Child2_Select3").length > 0 && $("#Adult2_Select3").length > 0){
			$("#Child2_Select3").change(function() {
				manyforRoom($("#Child2_Select3").attr("value"), $("#Adult2_Select3").attr("value"), 4);
			});
			$("#Adult2_Select3").change(function() {
				manyforRoom($("#Child2_Select3").attr("value"), $("#Adult2_Select3").attr("value"), 4);
			});
		}
		*/
		$("#input_checkIn1").change(function() {
			var userdateselected = $("#input_checkIn1").attr("value"); 
			var _tomorrowis = nextDate(userdateselected, '1');
			$("#input_checkOut1").attr("value",  _tomorrowis); 
			if($("#formDisp2").length > 0 ){
				$("#input_checkIn2").attr("value",  userdateselected); 
				$("#input_checkOut2").attr("value",  _tomorrowis); 
			
			}
		});
		
		$("#input_checkOut1").change(function() {   
			if($("#formDisp2").length > 0 ){
				var userdateselected = $("#input_checkOut1").attr("value"); 
				$("#input_checkOut2").attr("value",  userdateselected); 
			}
		});
		
		
		$("#rooms_select1").change(function() {
			var rooms = $("#rooms_select1").attr("value");
			var roomsNumber = getRoomsSelect(rooms);
			var insertAdults = create_selectHtml('Adult1', 's', '', '', roomsNumber, '4','', '1');
			var insertChilds= create_selectHtml('Child1', 'ren', '', '', roomsNumber, '3','No', '2');
			$("#adultsShow1").html(insertAdults);
			$("#childShow1").html(insertChilds);
			if($("#formDisp2").length > 0 ){
				var insertAdults2 = create_selectHtml('Adult2', 's', '', '', roomsNumber, '4','', '1');
				var insertChilds2= create_selectHtml('Child2', 'ren', '', '', roomsNumber, '3','No', '2');
				$("#adultsShow2").html(insertAdults2);
				$("#childShow2").html(insertChilds2); 
				$("#rooms_select2").attr("value",  $("#rooms_select1").attr("value")); 
			}
		});
		
		$("#timeArrival1").change(function() {
			if($("#formDisp2").length > 0 ){
				$("#timeArrival2").attr("value",  $("#timeArrival1").attr("value")); 
			}
		});
		
		$("#breakfast1").change(function() {
			if($("#formDisp2").length > 0 ){
				if(!document.formDisp2.breakfast2.checked)
					document.formDisp2.breakfast2.checked = true;
				else
					document.formDisp2.breakfast2.checked = false;
			}
		});
		
		var checkingIn = $("#input_checkIn1").attr("value");
		var checkingOut = $("#input_checkOut1").attr("value");
		checkYear(checkingIn , checkingOut, 'show');
		checkMonth(checkingIn , checkingOut, 'show');
		checkDay(checkingIn , checkingOut, 'show');
		
		$("#input_checkOut1").click(function () { 
			var checkingIn = $("#input_checkIn1").attr("value");
			var checkingOut = $("#input_checkOut1").attr("value");
			checkYear(checkingIn , checkingOut, 'show');
			checkMonth(checkingIn , checkingOut, 'show');
			checkDay(checkingIn , checkingOut, 'show');
		});
		
		$("#input_checkOut1").change(function () { 
			var checkingIn = $("#input_checkIn1").attr("value");
			var checkingOut = $("#input_checkOut1").attr("value");
			checkYear(checkingIn , checkingOut, 'show');
			checkMonth(checkingIn , checkingOut, 'show');
			checkDay(checkingIn , checkingOut, 'show');
		});
		
	}
		
	/* SECTION RESERVATION FORM HOTEL EL GRECO */
	if($("#formDisp2").length > 0 ){
		// Datepicker
		$("#input_checkIn2").attr("value",  _tomorrowis1); 
		$("#input_checkIn2").datepicker({showOn: 'button', buttonImage: 'wp-content/themes/El_Greco/assets/calendar-icon-mini.jpg', buttonImageOnly: true, dateFormat: 'd / MM / yy' });
		$("#input_checkOut2").datepicker({showOn: 'button', buttonImage: 'wp-content/themes/El_Greco/assets/calendar-icon-mini.jpg', buttonImageOnly: true, dateFormat: 'd / MM / yy'});
		
		$("#input_checkIn2").change(function() {
			var userdateselected = $("#input_checkIn2").attr("value"); 
			var _tomorrowis = nextDate(userdateselected, '1');
			$("#input_checkOut2").attr("value",  _tomorrowis); 
			$("#input_checkIn1").attr("value",  userdateselected); 
			$("#input_checkOut1").attr("value",  _tomorrowis); 
		});
		
		$("#input_checkOut2").change(function() {   
			var userdateselected = $("#input_checkOut2").attr("value"); 
			$("#input_checkOut1").attr("value",  userdateselected); 
		});
		
		$("#rooms_select2").change(function() {
			var rooms = $("#rooms_select2").attr("value");
			var roomsNumber = getRoomsSelect(rooms);
			var insertAdults = create_selectHtml('Adult2', 's', '', '', roomsNumber, '4','', '1');
			var insertChilds= create_selectHtml('Child2', 'ren', '', '', roomsNumber, '3','No', '2');
			$("#adultsShow2").html(insertAdults);
			$("#childShow2").html(insertChilds); 			
			var insertAdults2 = create_selectHtml('Adult1', 's', '', '', roomsNumber, '4','', '1');
			var insertChilds2= create_selectHtml('Child1', 'ren', '', '', roomsNumber, '3','No', '2');
			$("#adultsShow1").html(insertAdults2);
			$("#childShow1").html(insertChilds2); 
			
			$("#rooms_select1").attr("value",  $("#rooms_select2").attr("value")); 
		});
		
		$("#timeArrival2").change(function() {
			$("#timeArrival1").attr("value",  $("#timeArrival2").attr("value")); 
		});
		
		$("#breakfast2").change(function() {
			//alert('change');
			if(!document.formDisp1.breakfast1.checked)
				document.formDisp1.breakfast1.checked = true;
			else
				document.formDisp1.breakfast1.checked = false;
		});
		
	}
	
	//SAFETYPAY POSITION
	if ( $("#safetypay_form").length > 0 ){
		//alert('safetypay');
		$("#paymentReservation").css("margin-top","-20px");

	}
	//CALENDER POSITION
	$("img.ui-datepicker-trigger").click(function () { 
		var leftposition = $("#ui-datepicker-div").css("left");
		var positionDiv = leftposition.split(" ");
		leftposition = parseInt(positionDiv[0]) - 56;
		$("#ui-datepicker-div").css("left", leftposition + "px");
	});
	
	
	
});

//FUNCTIONS

//CHECK YEAR
 function checkYear(stringCheckIn, stringCheckOut, setError){
	var yearIn =  stringCheckIn.split("/");
	var yearOut =  stringCheckOut.split("/");
	if(parseInt(yearIn[2]) > parseInt(yearOut[2]) && setError == 'show') {
		$.jGrowl('<br /> -Error en fecha, aņo de salida menor al de entrada', { header: 'Error en el formulario' });
	}else if(parseInt(yearIn[2]) > parseInt(yearOut[2])){
		var error = '<br /> -Error en fecha, aņo de salida menor al de entrada';
		return error;
	}
 }
 
 function checkMonth(stringCheckIn, stringCheckOut, setError){
	var monthIn =  stringCheckIn.split("/");
	var monthOut =  stringCheckOut.split("/");
	
	var months = new Array();
	months[' Enero '] = 0; 	months[' Febrero '] = 1;	months[' Marzo '] = 2;	months[' Abril '] = 3;	months[' Mayo '] = 4;	months[' Junio '] = 5;	months[' Julio '] = 6;	months[' Agosto '] = 7;	months[' Septiembre '] = 8;	months[' Octubre '] = 9;	months[' Noviembre '] = 10;	months[' Diciembre '] = 11;
	
	if(months[monthIn[1]] > months[monthOut[1]] && setError == 'show') {
		$.jGrowl('<br/>- El mes de entrada es posterior al mes de salida', { header: 'Error en el formulario' });
	}else if(months[monthIn[1]] > months[monthOut[1]]){
		var error = '<br />- El mes de entrada es posterior al mes de salida';
		return error;
	}
 }

function checkDay(stringCheckIn, stringCheckOut, setError){
	var dayIn =  stringCheckIn.split("/");
	var dayOut =  stringCheckOut.split("/");
	if(parseInt(dayIn[0]) > parseInt(dayOut[0]) && setError == 'show') {
		$.jGrowl('<br />- Error, dia de salida menor al de entrada', { header: 'Error en el formulario' });
	}else if(parseInt(dayIn[0]) > parseInt(dayOut[0])){
		var error = '<br />- Error, dia de salida menor al de entrada';
		return error;
	}
 }

function nextDate(actualdate, numberofdates){
	var m_names = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre","Diciembre");
	var months = new Array();
	months[' Enero '] = 0; 	months[' Febrero '] = 1;	months[' Marzo '] = 2;	months[' Abril '] = 3;	months[' Mayo '] = 4;	months[' Junio '] = 5;	months[' Julio '] = 6;	months[' Agosto '] = 7;	months[' Septiembre '] = 8;	months[' Octubre '] = 9;	months[' Noviembre '] = 10;	months[' Diciembre '] = 11;
	var next = actualdate.split("/");
	var t = new Date(parseInt(next[2]), parseInt(months[next[1]]) , parseInt(next[0]) + parseInt(numberofdates));
	var nextday = t.getDate() + ' / ' +  m_names[t.getMonth()] + ' / ' + t.getFullYear();
	return nextday;
}


function create_selectHtml(valueOptions, pluralvalueOption, nameOption, pluralnameOption, number_select, option_number, first_value, value){
	var nameSelect = nameOption;
	var valueOption = valueOptions;
	var selectInput = "";
	/*var styleNote3 = $("#note3").css("margin-top");
	styleNote3 = 23 * parseInt(number_select);
	$("#note3").css("margin-top", styleNote3 + "px");*/
	for(var i = 0; i < parseInt(number_select); i++){
		valueOption = valueOptions; 
		nameSelect = nameOption; 
		var roon_number = 1 + i;
		if(value == "1")
		selectInput += "<label for=\"" + valueOptions + "_Select"+ i +"\" class=\"room_option\">Cuarto " + roon_number + ":</label><select name=\"" + valueOptions + "_Select"+ i +"\" id=\"" + valueOptions + "_Select"+ i +"\"  onclick=\"changeSelectsForm(this);\" >";
		else
		selectInput += "<select name=\"" + valueOptions + "_Select"+ i +"\" id=\"" + valueOptions + "_Select"+ i +"\" onclick=\"changeSelectsForm(this);\">";
		for(var j = 0; j < parseInt(option_number); j++){
			if(j == 1){ valueOption = valueOption + pluralvalueOption; nameSelect = nameOption + pluralnameOption; }
			if(value == "2" && j == 0) 
			selectInput += "<option value=\"No children\">No</option>";
			var z = 1 + j;
			selectInput += "<option value=\"" + z + "\">"+ z +' '+ nameSelect + "</option>";
		}
		selectInput += "</select>";
	}
	return selectInput;
}
function getRoomsSelect(rooms_selected){
	var string_room = rooms_selected.split(" ");
	return string_room[0];
}

function actual_date(nextDay){
	var m_names = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre","Diciembre");
	var d = new Date();
	var curr_date = d.getDate();
	var curr_month = d.getMonth();
	var curr_year = d.getFullYear();
	curr_date = curr_date + nextDay;
	
	t = new Date(curr_year, curr_month,curr_date);
	var t_curr_date = t.getDate();
	var t_curr_month = t.getMonth();
	var t_curr_year = t.getFullYear();
	var tomorrowis = t_curr_date + ' / ' +  m_names[t_curr_month] + ' / ' + t_curr_year;
	return tomorrowis;
}

function changeSelectsForm(elementSelected){
	var _elementSelected = $(elementSelected).attr("id");
	var _select = _elementSelected.split("_");
	var size_string = _select[0].length;
	var numberId = parseInt(_select[0].charAt(size_string-1));
	if(numberId == 2){	numberId = 1;	} else if (numberId == 1){  numberId = 2; }
	var stringChange = _select[0].substring(0, size_string - 1);
	var elementtoChange = stringChange + numberId + "_" +_select[1];
	var valueselectSelected = $(elementSelected).attr("value");
	if(stringChange == 'Adult' || stringChange == 'Child'){
		$("#"+elementtoChange).attr("value",  valueselectSelected);
	}
}

function validateActualDayandInDay(stringCheckIn){
	var m_names = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre","Diciembre");
	var months = new Array();
	months[' Enero '] = 0; 	months[' Febrero '] = 1;	months[' Marzo '] = 2;	months[' Abril '] = 3;	months[' Mayo '] = 4;	months[' Junio '] = 5;	months[' Julio '] = 6;	months[' Agosto '] = 7;	months[' Septiembre '] = 8;	months[' Octubre '] = 9;	months[' Noviembre '] = 10;	months[' Diciembre '] = 11;
	var d = new Date();
	var curr_date = d.getDate();
	var curr_month = d.getMonth();
	var curr_year = d.getFullYear();
	
	var dateIn =  stringCheckIn.split("/");
	if(parseInt(months[dateIn[1]]) == parseInt(curr_month) && parseInt(months[dateIn[0]]) < parseInt(curr_date))
		return '<br/>- Tu reservacion contiene fechas anteriores a la fecha actual';
}

