var waitText = "Stiamo elaborando la Sua richiesta.";
function checkSubmit(){
	var filterCity = document.getElementById('filter[city_id][0]');
	var searchForm = document.getElementById('searchForm');
	if  (filterCity.value === 0){
		alert ('Seleziona una località.');
		return false;
	} else{
		searchForm.submit();
	}
}

function checkSubmitRoute(){
	var filterRoute = document.getElementById('filter[route_id][0]');
	var searchForm = document.getElementById('searchForm');
	if  (filterRoute.value == 0) {
		alert ('Seleziona una tratta');
		return false;
	} else {
		document.getElementById("hstep").value = 1;
		searchForm.submit();
		createWait.open(waitText);
	}
}

function checkFormRoute(errore){
	var tratta1 = document.getElementById("myTable1");
	var tratta1_return = false;
	var tratta2 = document.getElementById("myTable2");
	var tratta2_return = true;
	if(tratta2){
		tratta2_return = false;
	}
	if (tratta1){
		var radioGo = tratta1.getElementsByTagName("input");
		for (var g = 0; g < radioGo.length; g++){
			if (radioGo[g].checked){
				tratta1_return = true;
			}
		}
	}
	if (tratta2){
		var radioBack = tratta2.getElementsByTagName("input");
		for (var b = 0; b < radioBack.length; b++){
			if (radioBack[b].checked){
				tratta2_return = true;
			}
		}
	}
	if(tratta1_return && tratta2_return){
		createWait.open(waitText);
	} else {
		alert(errore);
		return false;
	}
}

function checkFormSelect(errore2){
	var tratta1 = document.getElementById("formBookingFerry1");
	var tratta1_return = true;
	var tratta2 = document.getElementById("formBookingFerry2");
	var tratta2_return = true;
	
	var depVeiB = document.getElementById("departure[vei_brand]");
	var depVeiH = document.getElementById("departure[height_vei]");
	var depVeiW = document.getElementById("departure[width_vei]");
	var depVeiL = document.getElementById("departure[length_vei]");
	
	var retVeiB = document.getElementById("return[vei_brand]");
	var retVeiH = document.getElementById("return[height_vei]");
	var retVeiW = document.getElementById("return[width_vei]");
	var retVeiL = document.getElementById("return[length_vei]");
	
	if (tratta1){
		if(document.getElementById("departure[pax]").value == "0") tratta1_return = false;
		if(document.getElementById("departure_tov_auto")){
			if(document.getElementById("departure[vei_check]").checked && (!document.getElementById("departure_tov_auto").checked && !document.getElementById("departure_tov_other").checked)){
				tratta1_return = false;
			} else if(document.getElementById("departure[vei_check]").checked && document.getElementById("departure_tov_auto").checked){
				if(document.getElementById("departure_tov_auto").checked && (depVeiB.value == "0" || document.getElementById("departure[vei]").value == "-1" || document.getElementById("departure[vei_model]").value == "s")) {
					tratta1_return = false;
				} else if(document.getElementById("departure_tov_auto").checked && (depVeiB.value != "0" && document.getElementById("departure[vei]").value != "-1" && document.getElementById("departure[vei_model]").value != "s")){
					if(depVeiH.value == "" || depVeiL.value == "" || depVeiW.value == "" || depVeiH.value.length <3 || depVeiL.value.length <3 || depVeiW.value.length <3){
						tratta1_return = false;
					}
				}
			} else if(document.getElementById("departure[vei_check]").checked && document.getElementById("departure_tov_other").checked){
				if(document.getElementById("departure[vei]").value == "-1"){
					tratta1_return = false;
				} else if(document.getElementById("departure[vei]").value != "-1" && (depVeiH.value == "" || depVeiL.value == "" || depVeiW.value == "" || depVeiH.value.length <3 || depVeiL.value.length <3 || depVeiW.value.length <3)){
					tratta1_return = false;
				}
			}
		} else {
			if(document.getElementById("departure[vei_check]").checked && !document.getElementById("departure_tov_other").checked) {
				tratta1_return = false;
			}else if(document.getElementById("departure[vei_check]").checked && document.getElementById("departure_tov_other").checked){
				if(document.getElementById("departure[vei]").value == "-1" || (document.getElementById("departure[vei]").value != "-1" && (depVeiH.value == "" || depVeiL.value == "" || depVeiW.value == "" || depVeiH.value.length <3 || depVeiL.value.length <3 || depVeiW.value.length <3))){
					tratta1_return = false;
				}
			}
		}
		if(document.getElementById("departure_tov_other").checked && (document.getElementById("departure[vei]").value == "0" || document.getElementById("departure[vei]").value == "-1")) tratta1_return = false;
		if(document.getElementById("departure_tov_other").checked && document.getElementById("departure[vei]").value == "9" && depVeiH.value > 489 ) tratta1_return = false;
		if(document.getElementById("departure_tov_other").checked && document.getElementById("departure[vei]").value == "9" && depVeiL.value < 400 ) tratta1_return = false;
	}
	
	
	if (tratta2){
		if(document.getElementById("return[pax]").value == "0") tratta2_return = false;
		if(document.getElementById("return_tov_auto")){
			if(document.getElementById("return[vei_check]").checked && (!document.getElementById("return_tov_auto").checked && !document.getElementById("return_tov_other").checked)){
				tratta2_return = false;
			} else if(document.getElementById("return[vei_check]").checked && document.getElementById("return_tov_auto").checked){
				if(document.getElementById("return_tov_auto").checked && (retVeiB.value == "0" || document.getElementById("return[vei]").value == "-1" || document.getElementById("return[vei_model]").value == "s")) {
					tratta2_return = false;
				} else if(document.getElementById("return_tov_auto").checked && (retVeiB.value != "0" && document.getElementById("return[vei]").value != "-1" && document.getElementById("return[vei_model]").value != "s")){
					if(retVeiH.value == "" || retVeiL.value == "" || retVeiW.value == "" || retVeiH.value.length <3 || retVeiL.value.length <3 || retVeiW.value.length <3){
						tratta2_return = false;
					}
				}
			} else if(document.getElementById("return[vei_check]").checked && document.getElementById("return_tov_other").checked){
				if(document.getElementById("return[vei]").value == "-1"){
					tratta2_return = false;
				} else if(document.getElementById("return[vei]").value != "-1" && (retVeiH.value == "" || retVeiL.value == "" || retVeiW.value == "" || retVeiH.value.length <3 || retVeiL.value.length <3 || retVeiW.value.length <3)){
					tratta2_return = false;
				}
			}
		} else {
			if(document.getElementById("return[vei_check]").checked && !document.getElementById("return_tov_other").checked) {
				tratta2_return = false;
			}else if(document.getElementById("return[vei_check]").checked && document.getElementById("return_tov_other").checked){
				if(document.getElementById("return[vei]").value == "-1" || (document.getElementById("return[vei]").value != "-1" && (retVeiH.value == "" || retVeiL.value == "" || retVeiW.value == "" || retVeiH.value.length <3 || retVeiL.value.length <3 || retVeiW.value.length <3))){
					tratta2_return = false;
				}
			}
		}
		if(document.getElementById("return_tov_other").checked && (document.getElementById("return[vei]").value == "0" || document.getElementById("return[vei]").value == "-1")) tratta2_return = false;
		if(document.getElementById("return_tov_other").checked && document.getElementById("return[vei]").value == "9" && document.getElementById("return[height_vei]").value > 489 ) tratta2_return = false;
		if(document.getElementById("return_tov_other").checked && document.getElementById("return[vei]").value == "9" && document.getElementById("return[length_vei]").value < 400 ) tratta2_return = false;
	}

	if(tratta1_return && tratta2_return){
		createWait.open(waitText);
	} else {
		alert(errore2);
		return false;
	}
}

function riempi(myId, mytarget) {
	myday = (document.getElementById('day'+myId).value)*1;
	mymonth = (document.getElementById('month'+myId).value)*1;
	myyear = (document.getElementById('year'+myId).value)*1;
	if (myyear!="" && mymonth!=""){
		if ((myyear % 4 == 0) && mymonth==2){
			if (myday > 29){
				myday = 29;
				document.getElementById('day'+myId).value = 29;
			}
		} else if ((myyear % 4 != 0) && mymonth==2){
			if (myday > 28){
				myday = 28;
				document.getElementById('day'+myId).value = 28;
			}
		} else {
			if(mymonth == "4" || mymonth == "6" || mymonth == "9" || mymonth == "11"){
				if (myday==31){
					myday = 30;
					document.getElementById('day'+myId).value = 30;
				}
			}
		}
	}
	if (document.getElementById(mytarget)){
		if (myday<10) myday = "0"+ myday;
		if (mymonth<10) mymonth = "0"+ mymonth;
		document.getElementById(mytarget).value = myday+"/"+mymonth+"/"+myyear;
		if ((activeCopyStatus) && (myId == 'Birtdaydeparture_1')) {
			document.getElementById("petitioner[birthday]").value = myday+"/"+mymonth+"/"+myyear;
		}
		document.getElementById('day'+myId).blur();
		document.getElementById('month'+myId).blur();
		document.getElementById('year'+myId).blur();
	} else {
		alert("Errore, il campo non esiste");
	}
}
function checkTratta(){
	var searchForm = document.getElementById('searchForm');
	searchForm.submit();
}

var myTravelId1 = "";
var myTravelId2 = "";	

function checkTrip(tripId, myTable){
	var table = document.getElementById(myTable);
	var myContainer = table.getElementsByTagName("tr");
	for (var i_tr = 0; i_tr < myContainer.length; i_tr++){
		var myInput = "";
		myInput = myContainer[i_tr].getElementsByTagName("input");
		for (var i_in = 0; i_in < myInput.length; i_in++){
			if (myInput[i_in].id == tripId) {
				myInput[i_in].checked = true;
				if (myTable == "myTable1"){
					myTravelId1 = tripId;
				} else if (myTable == "myTable2"){
					myTravelId2 = tripId;
				}
			} else {
				myInput[i_in].checked = false;
			}
		}
	}
}

var arrayOfRolloverClasses = new Array();
var arrayOfClickClasses = new Array();
var activeRow = false;
var activeRowClickArray = new Array();

function highlightTableRow(){
	var tableObj = this.parentNode;
	if(tableObj.tagName!='table')tableObj = tableObj.parentNode;
	if(this!=activeRow && this.className != "routeSel"){
		this.setAttribute('origCl', this.className);
		this.origCl = this.className;
	}
	this.className = arrayOfRolloverClasses[tableObj.id];
	activeRow = this;
}


function resetRowStyle(){
	var tableObj = this.parentNode;
	if(tableObj.tagName!='table')tableObj = tableObj.parentNode;
	if(activeRowClickArray[tableObj.id] && this==activeRowClickArray[tableObj.id]){
		this.className = arrayOfClickClasses[tableObj.id];
		return;
	}
	var origCl = this.getAttribute('origCl');
	if(!origCl)origCl = this.origCl;
	this.className = origCl;
	coloredTr();
}

function coloredTr(){
	var myContainer = document.getElementsByTagName("tr");
	for (var i_tr = 0; i_tr < myContainer.length; i_tr++){
		var myInput = myContainer[i_tr].getElementsByTagName("input");
		for (var i_in = 0; i_in < myInput.length; i_in++){
			if (myInput[i_in].checked == true) {
				myContainer[i_tr].className = "routeSel";
			} else {
				if(myContainer[i_tr].className == "routeSel"){
					myContainer[i_tr].className = myContainer[i_tr].origCl;
				}
			}
		}
	}
}
var activeCopyStatus = true;
var activeCopy = {
	init: function(answer) {
		activeCopyStatus = true;
		var inputs = document.getElementsByTagName("input");
		for (var k_input = 0; k_input < inputs.length; k_input++){
			if (inputs[k_input].name == "departuredata[pax][1][name]" || inputs[k_input].name == "departuredata[pax][1][surname]" || inputs[k_input].name == "departuredata[pax][1][birthday]"){
				inputs[k_input].onchange = function(){
					activeCopy.copyValue(this);
					}
			}
		}
		var selects = document.getElementsByTagName("select");
		for (var k_select = 0; k_select < selects.length; k_select++){
			if (selects[k_select].name == "dayBirtdaydeparture_1" || selects[k_select].name == "monthBirtdaydeparture_1" || selects[k_select].name == "yearBirtdaydeparture_1"){
				selects[k_select].onchange = function(){
					activeCopy.copyValue(this);
				}
			}
		}
	},
	copyValue: function(myInput) {
		if (activeCopyStatus){
			var myInputName = "";
			myInputName = myInput.name;
			var myElement = "";
			myElement = myInputName.replace("departuredata[pax][1]","petitioner");
			var myElementSel = "";
			myElementSel = myInputName.replace("Birtdaydeparture_1","Petitioner");
			myday = (document.getElementById('dayBirtdaydeparture_1').value)*1;
			mymonth = (document.getElementById('monthBirtdaydeparture_1').value)*1;
			myyear = (document.getElementById('yearBirtdaydeparture_1').value)*1;
			if (myday<10) myday = "0"+ myday;
			if (mymonth<10) mymonth = "0"+ mymonth;
			document.getElementById("petitioner[birthday]").value = myday+"/"+mymonth+"/"+myyear;
			document.getElementById("departuredata[pax][1][birthday]").value = myday+"/"+mymonth+"/"+myyear;
			if(myInput.getAttribute("type")=="text" && document.getElementById(myElement)){
				document.getElementById(myElement).value = myInput.value;
			} else if(document.getElementById(myElementSel)){
				document.getElementById(myElementSel).value = myInput.value;
			} else {
				alert(myInputName +" non esiste.");
			}
		}
	}
}

function addTableRolloverEffect(tableId, whichClass, whichClassOnClick){
	var tableObj = document.getElementById(tableId);
	if (tableObj){
		arrayOfRolloverClasses[tableId] = whichClass;
		arrayOfClickClasses[tableId] = whichClassOnClick;
		
		var tBody = tableObj.getElementsByTagName('tbody');
		if(tBody){
			var rows = tBody[0].getElementsByTagName('tr');
		} else {
			var rows = tableObj.getElementsByTagName('tr');
		}
		for(var no = 0; no < rows.length; no++){
			rows[no].onmouseover = highlightTableRow;
			rows[no].onmouseout = resetRowStyle;
		}
	}
}

function filterPayment(myValue){
	/*var myBlock = document.getElementById("cardPayment");
	var myInput = myBlock.getElementsByTagName("input");
	for(var ki = 0; ki < myInput.length; ki++) {
		if (myValue != "CC"){
			myInput[ki].removeAttribute("checked");
			myInput[ki].setAttribute("disabled", "disabled");
		} else {
			myInput[ki].removeAttribute("disabled");
		}
	}*/
}

function checkFormFerry(stringError){
	var sendMyForm = true;
	var myLabel = document.getElementsByTagName("label");

	if(activeCopyBooking && document.getElementById('formBookingFerry2')){
		copyDataFerry('formBookingFerry1','formBookingFerry2');
	}
	for (var i_lab = 0; i_lab < myLabel.length; i_lab++){
		if (myLabel[i_lab].getAttribute("htmlFor") || myLabel[i_lab].getAttribute("for")){
		
			var myLabelFor = "";
			if(myLabel[i_lab].getAttribute("htmlFor")){
				myLabelFor = myLabel[i_lab].getAttribute("htmlFor");
			}else{
				myLabelFor = myLabel[i_lab].getAttribute("for");
			}

			if (document.getElementById(myLabelFor)){
				if (myLabelFor == "petitioner[cf]") {
					if (!ControllaCF(document.getElementById(myLabelFor).value)){
						sendMyForm = false;
						if (document.getElementById(myLabelFor).value.length > 3){
							stringError = stringError + "\n Codice fiscale inesatto";
						} else {
							
						}
						document.getElementById(myLabelFor).style.backgroundColor = "#fee";
						myLabel[i_lab].style.color = "#900";
						myLabel[i_lab].style.fontWeight = "bold";
					} else {
						document.getElementById(myLabelFor).style.backgroundColor = "#fff";
						myLabel[i_lab].style.color = "#236DA4";
						myLabel[i_lab].style.fontWeight = "normal";
						document.getElementById(myLabelFor).value = document.getElementById(myLabelFor).value.replace(/\ /g,"");
					}
				} else if (myLabelFor == "petitioner[email]") {
					if (!ControllaMail(document.getElementById(myLabelFor).value)){
						sendMyForm = false;
						document.getElementById(myLabelFor).style.backgroundColor = "#fee";
						myLabel[i_lab].style.color = "#900";
						myLabel[i_lab].style.fontWeight = "bold";
					} else {
						document.getElementById(myLabelFor).style.backgroundColor = "#fff";
						myLabel[i_lab].style.color = "#236DA4";
						myLabel[i_lab].style.fontWeight = "normal";
					}
				} else if (myLabelFor == "petitioner[phone]" || myLabelFor == "petitioner[mobile]") {
					if (document.getElementById("petitioner[phone]").value == "" && document.getElementById("petitioner[mobile]").value == ""){
						sendMyForm = false;
						document.getElementById(myLabelFor).style.backgroundColor = "#fee";
						myLabel[i_lab].style.color = "#900";
						myLabel[i_lab].style.fontWeight = "bold";
					} else {
						if(document.getElementById("petitioner[phone]").value != ""){
							if (!ControllaNum(document.getElementById("petitioner[phone]").value)){
								sendMyForm = false;
								document.getElementById(myLabelFor).style.backgroundColor = "#fee";
								myLabel[i_lab].style.color = "#900";
								myLabel[i_lab].style.fontWeight = "bold";
								stringError = stringError + "\n Inserire un numero telefono valido";
							} else {
								document.getElementById(myLabelFor).style.backgroundColor = "#fff";
								myLabel[i_lab].style.color = "#236DA4";
								myLabel[i_lab].style.fontWeight = "normal";
							}
						} else if(document.getElementById("petitioner[mobile]").value != ""){
							if (!ControllaNum(document.getElementById("petitioner[mobile]").value)){
								sendMyForm = false;
								document.getElementById(myLabelFor).style.backgroundColor = "#fee";
								myLabel[i_lab].style.color = "#900";
								myLabel[i_lab].style.fontWeight = "bold";
								stringError = stringError + "\n Inserire un numero cellulare valido";
							} else {
								document.getElementById(myLabelFor).style.backgroundColor = "#fff";
								myLabel[i_lab].style.color = "#236DA4";
								myLabel[i_lab].style.fontWeight = "normal";
							}
						}
					}
				} else if (myLabelFor == "paymentType") {
					var CCTypeChecked = false;
					if (document.getElementById(myLabelFor).checked){
						var myCCBlock = document.getElementById("cardPayment");
						var myCCInput = myCCBlock.getElementsByTagName("input");
						for(var cc_i = 0; cc_i<myCCInput.length; cc_i++){
							if (myCCInput[cc_i].name == "CCType" && myCCInput[cc_i].checked) CCTypeChecked = true;
						}
					}
					if (!CCTypeChecked){
						sendMyForm = false;
						myLabel[i_lab].style.color = "#900";
						myLabel[i_lab].style.fontWeight = "bold";
						stringError = stringError + "\n Selezionare il tipo di pagamento";
					} else {
						myLabel[i_lab].style.color = "#236DA4";
						myLabel[i_lab].style.fontWeight = "normal";
					}
				} else if (document.getElementById(myLabelFor).value=="" || document.getElementById(myLabelFor).value==" " || document.getElementById(myLabelFor).value.indexOf("NaN")!=-1){
					sendMyForm = false;
					document.getElementById(myLabelFor).style.backgroundColor = "#fee";
					myLabel[i_lab].style.color = "#900";
					myLabel[i_lab].style.fontWeight = "bold";
				} else {
					document.getElementById(myLabelFor).style.backgroundColor = "#fff";
					myLabel[i_lab].style.color = "#236DA4";
					myLabel[i_lab].style.fontWeight = "normal";
				}
			} else {
				sendMyForm = false;
				alert("Errore, l'elemento"+ myLabelFor +"non esiste.");
			}
		}
	}
	if (document.getElementById("petitioner[phone]").value == "" && document.getElementById("petitioner[mobile]").value == ""){
		stringError = stringError + "\n Inserire un numero di telefono o cellulare";
	}
	if (sendMyForm) {
		return true;
		if (document.getElementById("sendFormFerry")){
			document.getElementById("sendFormFerry").style.display = "none";
		}
		if (document.getElementById("searchForm")){
			document.getElementById("searchForm").setAttribute("action","javascript:;");
			document.getElementById("searchForm").setAttribute("onsubmit","return false;");
		}
		createWait.open(waitText);
	} else {
		alert(stringError);
		return false;
	}
	return false;
}

function ControllaCF(cf){
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return false;
	cf = cf.toUpperCase();
	if( cf.length != 16 ) return false;
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return false;
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ){
		return false
	}
	return true;
}

function ControllaNum(myNumber){
	var validi = "0123456789";
	var myNumberNew = myNumber;
	myNumberNew = myNumberNew.replace(/\ /g, "");
	myNumberNew = myNumberNew.replace(/\./g, "");
	myNumberNew = myNumberNew.replace(/\-/g, "");
	if(myNumberNew == ''){
		return false;
	}
	for(var i = 0; i < myNumberNew.length; i++ ){
		if( validi.indexOf( myNumberNew.charAt(i) ) == -1 ){
			alert(myNumberNew + " non è corretto.");
			return false;
		}
	}
	return true;
}

function ControllaMail(myMail){
	if (myMail.length > 9){
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!filter.test(myMail)) {
			alert(myMail + " non è corretto.");
			return false;
		}
		return true;
	} else {
		return false;
	}
}


function setTripe(){
	var tripe = document.getElementById('setTripe');
	if(tripe){
		var myTripeCheck = tripe.getElementsByTagName("input");
		for(var i=0; i < myTripeCheck.length; i++){
			if(myTripeCheck[i].checked){
				if(myTripeCheck[i].value == "1"){
					document.getElementById('filter[route_id][1]').removeAttribute("disabled");
					document.getElementById('bform[checkoutR]').removeAttribute("disabled");
					document.getElementById('filter[route_id][1]').style.backgroundColor = "#fff";
					document.getElementById('filter[route_id][1]').style.color="#014e8b";
					document.getElementById('label_round').style.color="#fff";
					document.getElementById('label_back').style.color="#fff";
					document.getElementById('bform[checkoutR]').value = document.getElementById('bform[checkinR]').value;
					document.getElementById('bform[checkoutR]').style.backgroundColor = "#fff";
					document.getElementById('bform[checkoutR]').style.color="#014e8b";
					
					setReturnRoute();
					
				} else {
					document.getElementById('label_round').style.color="#8cc4e6";
					document.getElementById('filter[route_id][1]').selectedIndex[0];
					document.getElementById('filter[route_id][1]').setAttribute("disabled","disable");
					document.getElementById('filter[route_id][1]').style.backgroundColor = "#d4d0c8";
					document.getElementById('filter[route_id][1]').style.color="#888071";
					document.getElementById('label_back').style.color="#8cc4e6";
					document.getElementById('bform[checkoutR]').value = "";
					document.getElementById('bform[checkoutR]').style.backgroundColor = "#d4d0c8";
					document.getElementById('bform[checkoutR]').style.color="#888071";
					document.getElementById('bform[checkoutR]').setAttribute("disabled","disable");
				}
			}
		}
	} else {
		alert("Blocco non trovato");
	}
}

function setReturnDate(){
	var tripe = document.getElementById('setTripe');
	if (tripe) {
		var myTripeCheck = tripe.getElementsByTagName("input");
		for (var i = 0; i < myTripeCheck.length; i++) {
			if (myTripeCheck[i].checked) {
				document.getElementById('bform[checkoutR]').value = document.getElementById('bform[checkinR]').value;
			}
		}
	}
}

function openPaneljQ(action){
	if(action=='open'){
		$("#formBookingFerry2").css({"height": "auto", "min-height": "30px", "padding-bottom": "15px"});
		$("#openReturn").hide();
		$("#closeReturn").show();
		copyDataFerry('formBookingFerry1','formBookingFerry2');
		activeCopyBooking = false;
	} else if(action=='close'){
		$("#formBookingFerry2").css({"height": "0", "min-height": "0", "overflow": "hidden", "padding-bottom": "0"});
		$("#openReturn").show();
		$("#closeReturn").hide();
		activeCopyBooking = true;
	} else if(action=='init'){
		$("#formBookingFerry2").css({"height": "0", "min-height": "0", "overflow": "hidden", "padding-bottom": "0"});
		activeCopyBooking = true;
		$("#closeReturn").hide();
	}
}

var activeCopyBooking = true;

var openPanel = {
	init: function(myBlock){
		if(document.getElementById(myBlock)){
			document.getElementById(myBlock).setAttribute("cliH", document.getElementById(myBlock).offsetHeight);
			document.getElementById(myBlock).style.height = "0";
			document.getElementById(myBlock).style.overflow = "hidden";
			document.getElementById(myBlock).style.display = "none";
		} else {
			alert(myBlock +" inesistente.");
		}
		if (document.getElementById("closeReturn")){
			document.getElementById("closeReturn").style.display = "none";
		}
	},
	openstep: function(fnc) {
		if (document.getElementById("formBookingFerry2")){
			if (fnc=="open"){
				copyDataFerry('formBookingFerry1','formBookingFerry2');
				activeCopyBooking = false;
				openPanel.scrollOpen(0, document.getElementById("formBookingFerry2").getAttribute("cliH"));
			} else if (fnc=="close"){
				activeCopyBooking = true;
				openPanel.scrollClose(0, document.getElementById("formBookingFerry2").offsetHeight);
			}
		}
	},
	scrollOpen: function(height, height2) {
		var myBlockFerry = document.getElementById("formBookingFerry2");
		myNewHeight = height + (Math.round((height2-height)/6)*1) + 1;
		myHeightMax = height2;
		if ((document.getElementById("formBookingFerry2").getAttribute("cliH") - height) > 2){
			myBlockFerry.style.display = "block";
			myBlockFerry.style.height = myNewHeight +"px !important";
			myBlockFerry.style.minHeight = myNewHeight +"px";
			setTimeout("openPanel.scrollOpen(myNewHeight, myHeightMax)", 10);
		} else {
			myBlockFerry.style.display = "block";
			myBlockFerry.style.height= height2 +"px !important";
			myBlockFerry.style.minHeight = height2 +"px";
			if (document.getElementById("closeReturn")){
				document.getElementById("closeReturn").style.display = "block";
			}
			if (document.getElementById("openReturn")){
				document.getElementById("openReturn").style.display = "none";
			}
		}
	},
	scrollClose: function(height, height2) {
		var myBlockFerry2 = document.getElementById("formBookingFerry2");
		myNewHeight2 = height2 - (Math.round((height2-height)/6)*1) - 1;
		myHeightMax2 = height2;
		if (height2 > 2){
			myBlockFerry2.style.display = "block";
			myBlockFerry2.style.height = myNewHeight2 +"px !important";
			myBlockFerry2.style.minHeight = myNewHeight2 +"px";
			setTimeout("openPanel.scrollClose(0, myNewHeight2)", 10);
		} else {
			myBlockFerry2.style.display = "none";
			myBlockFerry2.style.height= "0px !important";
			myBlockFerry2.style.minHeight = "0px";
			if (document.getElementById("closeReturn")){
				document.getElementById("closeReturn").style.display = "none";
			}
			if (document.getElementById("openReturn")){
				document.getElementById("openReturn").style.display = "block";
			}
		}
	}
}

function copyDataFerry(box1, box2){
	if(box1 == "formBookingFerry1" && box2 == "formBookingFerry2"){
		var myBlock1 = document.getElementById(box1);
		var myBlock2 = document.getElementById(box2);
		var myInput1 = myBlock1.getElementsByTagName("input");
		var myInput2 = myBlock2.getElementsByTagName("input");
		var mySelect1 = myBlock1.getElementsByTagName("select");
		var mySelect2 = myBlock2.getElementsByTagName("select");
		var replace1 = "departure";
		var replace2 = "return";
		for(var ki = 0; ki < myInput1.length; ki++) {
			if (myInput1[ki].name != 'departurecode') {
				if (myInput1[ki].name.replace(replace1, replace2) == myInput2[ki].name) {
					myInput2[ki].value = myInput1[ki].value;
				}
			}
		}
		for(var ks = 0; ks < mySelect1.length; ks++) {
			if(mySelect1[ks].name.replace(replace1,replace2) == mySelect2[ks].name){
				mySelect2[ks].value = mySelect1[ks].value;
			}
		}
	}
}

function checkTravel(){
	var select1 = document.getElementById("filter[route_id][0]");
	var select2 = document.getElementById("filter[route_id][1]");
	if(select2.disabled == true){
	} else {
		if (select1.value == select2.value){

			select2.value = select2.options[0].value;
		}
	}
}

function openCarSearch(lg,field,ferry_name){
	$(open("/search/get_car_size.php?lg="+ lg +"&field="+ field +"&ferry_name="+ ferry_name, "ferry_car_data", "width=300,height=250,resizable=0"));
}


function fillCarSizeSelect(lg,field,ferry_name,datatype,mvalue,selvalue){
	
	var loadoptions = '<option value="0">Loading...</option>';
	$("#"+field).html(loadoptions);	
	
	$.getJSON("/search/get_car_size_json.php",{lg: lg, datatype: datatype ,mvalue: mvalue, ajax: 'true'}, function(j){
	  var options = '';
	  for (var i = 0; i < j.length; i++) {
		options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
		}
		$("#"+field).html(options);
	  if(selvalue!=0){
		$("#"+field).val(selvalue);
	  }
	})
}

function fillCarSize(lg,field,ferry_name,datatype,mvalue){
	
	$.getJSON("/search/get_car_size_json.php",{lg: lg, datatype: datatype ,mvalue: mvalue,ferry_name: ferry_name, ajax: 'true'}, function(j){
		$("#"+field+"\\[height_vei\\]").val(j.heightv);
		$("#"+field+"\\[length_vei\\]").val(j.lengthv);
		$("#"+field+"\\[width_vei\\]").val(j.widthv);
		$("#"+field+"\\[vei\\]").val(j.type);
		}
	)
}

function getPrev(){
	
	var myprev = $(".prev");
	if (myprev.length > 0){
		myprev.each( function(i) {
			var thPrev = this;
			setTimeout($.getJSON("/search/get_ferry_price_json.php",{departurecode: this.title, ajax: 'true'}, function(j){
				if(j.price){
					$(thPrev).html("€ "+CurrencyFormatted(j.price));
				}else{
					$(thPrev).html("not available");
				}
			}),1);
		})
	}
}

function TotalFormat(amount) {
	var i = parseFloat(amount);
	if (isNaN(i)) {
		i = 0.00;
	}
	var minus = '';
	if (i < 0) {
		minus = '-';
	}
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if (s.indexOf('.') < 0) {
		s += '.00';
	}
	if (s.indexOf('.') == (s.length - 2)) {
		s += '0';
	}
	s = minus + s;
	s = s.replace(',','0');
	return s;
}

function CurrencyFormatted(amount) {
	var i = parseFloat(amount);
	if (isNaN(i)) {
		i = 0.00;
	}
	var minus = '';
	if (i < 0) {
		minus = '-';
	}
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if (s.indexOf('.') < 0) {
		s += '.00';
	}
	if (s.indexOf('.') == (s.length - 2)) {
		s += '0';
	}
	s = minus + s;
	s = s.replace('.',',');
	return s;
}

function in_array(thaArray, element){
 var res=false;
  for(var e=0;e<thaArray.length;e++){
	 if(thaArray == element[e]){
	   res=true;
	   break;
	 }
   }
 return res;
}

var createWait = {
	open: function(myHtm){
		var myAl = document.getElementById("myAlert");
		var myAlc = document.getElementById("myAlertCont");
		if(myAl &&  myAlc){
			myAl.style.display = "block";
			myAlc.style.display = "block";
			document.getElementById("myWaitText").innerHTML = myHtm;
		}
	},
	init: function(){
		//alert("attivo");
		var neWait = document.createElement("div");
		neWait.setAttribute("id","myAlert");
		var myDiv = neWait;
		var myPosition = "fixed";
		var ievs = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
		if (ievs){
			var iev = new Number(RegExp.$1);
			if (iev <= 6){
				myPosition = "absolute";
			}
		}
		
		myDiv.style.position = myPosition;
		myDiv.style.zIndex = "10000000";
		myDiv.style.width = "100%";
		myDiv.style.height = "100%";
		myDiv.style.top = "0";
		myDiv.style.left = "0";
		myDiv.style.opacity = "0.65";
		myDiv.style.filter = "alpha(opacity=65)";
		myDiv.style.display = "none";
		
		document.body.appendChild(neWait);
		
		var cont = document.createElement("div");
		cont.setAttribute("id","myAlertCont");
		cont.innerHTML = '<p><span id="myWaitText"></span><br /><br /><br /><img src="/search/images/icon_ferry/wait.gif" border="0" alt="" /></p>';
		
		document.body.appendChild(cont);
		
		var myDivCont = cont;
		myDivCont.style.position = myPosition;
		myDivCont.style.float = "left";
		myDivCont.style.textAlign = "center";
		myDivCont.style.top = Math.round(document.body.offsetHeight/2 -(myDivCont.offsetHeight/2))+"px";
		myDivCont.style.left = Math.round(document.body.offsetWidth/2 -(myDivCont.offsetWidth/2))+"px";
		myDivCont.style.zIndex = "10000001";
		myDivCont.style.display = "none";
	}
}

function copyDataFerryAdvanced(departure_ferry_name,return_ferry_name){
	//copia dei dati
	var srcElementText = $("#formBookingFerry1 :input");
	//alert(srcElementText.length);
	if (srcElementText.length > 0){
			//var srcFormElements = this.find("*").andSelf().filter(":input");
			srcElementText.each(function(i)
			{
				//alert(this.name);
				//alert(this.name.replace('departure','return'));
				$("[name='"+this.name.replace('departure','return')+"']").val(this.value);
				//$returnfield.name;
				//alert(this.value);
				//$returnfield.val(this.value);
				   /* $ektron(this).val( srcFormElements.eq(i).val() );
					if ("checkbox" == this.type || "radio" == this.type)
					{
							this.checked = srcFormElements.get(i).checked;
					}*/
			});
	} 
	
	if ($("#departure\\[vei_check\\]").is(':checked')) {
		$("#return\\[vei_check\\]").attr('checked', true);
		$("#return_vei_tov").show();
	}else{
		$("#return\\[vei_check\\]").attr('checked', false);
		$("#return_vei_tov").hide();
	}



	if ($("input[@name='departure_tov']:checked").val() == 'auto') {
		//alert('#depature\\[vei_brand\\] '+$('#departure\\[vei_brand\\]').val())
		fillCarSizeSelect('it','return\\[vei_brand\\]',return_ferry_name,'brand','',$('#departure\\[vei_brand\\]').val());
		if($('#depature\\[vei_brand\\]').val()!=0){
			fillCarSizeSelect('it','return\\[vei_model\\]',return_ferry_name,'model',$('#departure\\[vei_brand\\]').val(),$('#departure\\[vei_model\\]').val());
			if (departure_ferry_name != return_ferry_name) {
				fillCarSize('it', 'return', return_ferry_name, 'getsize', $('#departure\\[vei_model\\]').val());
			}
		}
		
		$("#return_sel_brand").show();
		$("#return_vei").show();
		$("#return_tra").show();

		if ($("#departure\\[tra\\]").val() != -1){
			if (departure_ferry_name != return_ferry_name && departure_ferry_name == 'Moby') {
				if ($("#departure\\[tra\\]").val() == 7){
					$("#return\\[tra\\]").val("RIMA");
				} else if($("#departure\\[tra\\]").val() == 9){
					$("#return\\[tra\\]").val("ROUL");
				}
				$("#return\\[height_tra\\]").val($("#departure\\[height_tra\\]").val());
				$("#return\\[length_tra\\]").val($("#departure\\[length_tra\\]").val());
			} else if (departure_ferry_name != return_ferry_name && departure_ferry_name == 'Toremar') {
				if ($("#departure\\[tra\\]").val() == "RIMA"){
					$("#return\\[tra\\]").val(7);
					$("#return\\[height_tra\\]").val($("#departure\\[height_tra\\]").val());
					$("#return\\[length_tra\\]").val($("#departure\\[length_tra\\]").val());
				} else if($("#departure\\[tra\\]").val() == "ROUL"){
					$("#return\\[tra\\]").val(9);
					$("#return\\[height_tra\\]").val($("#departure\\[height_tra\\]").val());
					$("#return\\[length_tra\\]").val($("#departure\\[length_tra\\]").val());
				} else {
					alert('Non è possibile copiare i dati del rimorchio, selezionarli manualmente');
				}
			} else if (departure_ferry_name == return_ferry_name) {
				$("#retrun\\[tra\\]").val($("#departure\\[tra\\]").val());
				$("#return\\[height_tra\\]").val($("#departure\\[height_tra\\]").val());
				$("#return\\[length_tra\\]").val($("#departure\\[length_tra\\]").val());
			}
		}	

		$("input[@id='return_tov_auto']").attr('checked', 'checked');
	}else if ($("input[@name='departure_tov']:checked").val() == 'other') {
		$("input[@id='return_tov_other']").attr('checked', 'checked');
		$("#return_sel_brand").hide();
		$("#return_vei").show();
		$("#return_tra").show();
	}



/*		   var dstFormElements = ret.find("*").andSelf().filter(":input");
if (dstFormElements.length > 0)
{
		var srcFormElements = this.find("*").andSelf().filter(":input");
		dstFormElements.each(function(i)
		{
				$ektron(this).val( srcFormElements.eq(i).val() );
				if ("checkbox" == this.type || "radio" == this.type)
				{
						this.checked = srcFormElements.get(i).checked;
				}
		});
}*/

}

function setReturnRoute(){

	oroutes = new Array(); //routes originali
			oroutes[0] = 'Select a route';
		oroutes[1] = 'Piombino - Portoferraio';
		oroutes[2] = 'Portoferraio - Piombino';
		oroutes[7] = 'Piombino - Rio Marina';
		oroutes[8] = 'Rio Marina - Piombino';

	mroutes = new Array(); //routes collegate, la prima in genere è quella inversa
			mroutes[1] =  new Array();
				mroutes[1][0] =  0;
				mroutes[1][1] = '2';
		mroutes[1][2] = '8';
		mroutes[2] =  new Array();
				mroutes[2][0] =  0;
				mroutes[2][1] = '1';
		mroutes[7] =  new Array();
				mroutes[7][0] =  0;
				mroutes[7][1] = '8';
		mroutes[7][2] = '2';
		mroutes[8] =  new Array();
				mroutes[8][0] =  0;
				mroutes[8][1] = '7';
	var departureSelect = document.getElementById('filter[route_id][0]');
	var returnSelect = document.getElementById('filter[route_id][1]');
	if (departureSelect && returnSelect && departureSelect.value != 0) {
		//rimuovo tutti i campi
		//rimuovo tutti i valori dalla select di ritorno

		var i;
		for (i = returnSelect.length - 1; i >= 0; i--) {
				returnSelect.remove(i);
		}
	
		//Aggiungo i campi mancanti dall'array originale
			for (key in mroutes[departureSelect.value]){
				var elOptNew = document.createElement('option');
				elOptNew.text = oroutes[mroutes[departureSelect.value][key]];
				elOptNew.value = mroutes[departureSelect.value][key];

				try {
					returnSelect.add(elOptNew, null); // standards compliant; doesn't work in IE
				} 
				catch (ex) {
					returnSelect.add(elOptNew); // IE only
				}
			}
			
		//seleziona la rotta inversa
		if(departureSelect && departureSelect.value){
			if (mroutes[departureSelect.value][1]) {
				returnSelect.value = mroutes[departureSelect.value][1];
			}
		}
	}

}
