function msgPanel(alertType, msg) {

    return `<p class="text-${alertType}"><b>${msg}</b></p>`;

}

function validateForm(TravelInfo) {
    //   const siteIdPattern = /^IN-\d{6}$/;
    //https://stackoverflow.com/questions/3518504/regular-expression-for-matching-latitude-longitude-coordinates/18690202#18690202
    const latLongPattern = /^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/;
    let feedbackMsg = "";
    //   if (!siteIdPattern.test(TravelInfo.siteId)) {
    //     feedbackMsg += "<li>site id is not valid.</li>";
    //   }
    if (!latLongPattern.test(TravelInfo.toLat + "," + TravelInfo.toLng)) {
		alert();
        feedbackMsg += "Site latitude or longitude is not valid.";
    }
    if (!latLongPattern.test(TravelInfo.startingLat + "," + TravelInfo.startingLng)) {
		alert()
        feedbackMsg += "User latitude or longitude is not valid.";
    }

    return feedbackMsg;
}

const addNewFTADetails = ADD_SITE_BASE_URL+"Add_New_Site_Visit_Manual_Entry";

const addFTAForm = document.getElementById("addSiteForm");
const panel = document.getElementById("msgPanel");
addFTAForm.addEventListener("submit", function (event) {
    event.preventDefault();
    var spinnerClassIcon = document.getElementById("addSiteSpinner");
    spinnerClassIcon.classList.remove("d-none");
    checkWheatherLogoutOrNot();
		let TravelInfo= Object.create(null);// object
        	TravelInfo["empId"]=addFTAForm.empId.value;
        	TravelInfo["empName"]=addFTAForm.empName.value;
        	TravelInfo["siteId"]=addFTAForm.siteId.value;
        	TravelInfo["visitedDate"]=addFTAForm.siteVisitDate.value;
        	TravelInfo["toLat"]=addFTAForm.siteLat.value;
        	TravelInfo["toLng"]=addFTAForm.sitelong.value;
        	TravelInfo["siteVisitOrder"]=addFTAForm.siteVisitOrder.value;
        	TravelInfo["distance"]=addFTAForm.distance.value;
        	TravelInfo["startingLat"]=addFTAForm.userLat.value;
        	TravelInfo["startingLng"]=addFTAForm.userLong.value;
        	TravelInfo["startingLocationAddress"]=addFTAForm.userLntAddress.value;
        	TravelInfo["FTA"]=addFTAForm.FTA.value;
        	TravelInfo["uniqueId"]=addFTAForm.uniqueId.value;
//    };
	var stringJson=JSON.stringify(TravelInfo);
	
   // console.log(stringJson);
    const feedbackMsg = validateForm(TravelInfo);
    console.log(feedbackMsg);
    console.log(TravelInfo);
    if (feedbackMsg === "") {
        postFromData(addNewFTADetails, stringJson).then(data => {
            if (data.error) {
                panel.innerHTML = msgPanel("danger", data.message);
            } else {
                //addFTAForm.reset();
                panel.innerHTML = msgPanel("success", data.message);
            }
            spinnerClassIcon.classList.add("d-none");
        });
    } else {
        panel.innerHTML = msgPanel("danger", feedbackMsg);
    }
});

// ----------------------------------------------------auto fill functionalities-----------------------------------

//site lat longs

var getLatLngBtn = DOM("getLatLong");
getLatLngBtn.addEventListener("click", function () {
    let siteId = DOM("siteId").value;
    setFTA(siteId);
    let content = {
        siteId: siteId
    }
    postData("../php/getThisSiteLatLng.php", content).then(data => {
       // console.log(data);
        if (data.error) {
            panel.innerHTML = msgPanel("danger", data.message);
             DOM("siteLat").value=0;
            DOM("sitelong").value=0;
        } else {

            DOM("siteLat").value=data.latitude;
            DOM("sitelong").value=data.longitude;
        }
    });

});



//on change -->FTA
var siteVisitOrderTag=DOM("siteVisitOrder");
siteVisitOrderTag.addEventListener("change", function(){
   if(siteVisitOrderTag.value!=1){
       DOM("FTA").value="100.00";
   }else{
        DOM("FTA").value="0.00";
   }
    
});
    function setFTA(siteId){
   var returnTrip = siteId.includes("Return_journey_F_");
        if(returnTrip){ //if it is return trip 
              DOM("FTA").value="0.00";
        }
    }


// unique id
var getUniqueid = DOM("getUniqueid");
getUniqueid.addEventListener("click", function(){
     let empId = DOM("empId").value;
     let siteId = DOM("siteId").value;
     let siteVisitDate = DOM("siteVisitDate").value;
    
    
    let uniqueId=`${empId}_${siteId}_${siteVisitDate}`;
    DOM("uniqueId").value=uniqueId;
});


// get Km

var getKM = DOM("getKM");
getKM.addEventListener("click", function(){
    console.log(`https://www.google.co.in/maps/dir/'${DOM("userLat").value},${DOM("userLong").value}'/${DOM("siteLat").value},${DOM("sitelong").value}`);
      window.open(`https://www.google.co.in/maps/dir/'${DOM("userLat").value},${DOM("userLong").value}'/${DOM("siteLat").value},${DOM("sitelong").value}`,'_blank');
    //https://www.google.co.in/maps/dir/'17.61126586,78.65065'/15.009,76.6254
    
    
    
    
});
function DOM(id){
    return document.getElementById(id);
}

// ----------------------------------------------------auto fill functionalities-----------------------------------;;