Newer
Older
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
if( tags[0] == undefined ){
$('.orderlist-div').toggleClass('d-none',false);
var tag='';
var subtag='';
} else {
$('.orderlist-div').toggleClass('d-none',true);
$('.li-tags').toggleClass('active', false );
$('.li-subtags').toggleClass('active', false ).toggleClass('d-none',true);
$('.li-tag-'+v).toggleClass('active',true);
$('.li-subtag-of-'+v).toggleClass('d-none', false);
}
);
$(tag_class).toggleClass('d-none',false);
var tag=tags[0];
var subtag=tags[1];
}
var p=['tag','subtag','lat','long'];
var lat=undefined;
var long=undefined;
var param=[];
p.forEach(
function(v){
if( eval(v) != undefined ){
var pp=eval(v);
} else {
var pp=getQueryVariable(v);
}
if( pp != undefined ){
if( pp != '' ){
param.push(v + '='+pp);
}
}
}
);
ChangeUrl( '', (( param != '' ) ? '?' : '' )+param.join('&') );
var url_string = window.location.href;
var url = new URL(url_string);
var lat = url.searchParams.get('lat');
var long = url.searchParams.get('long');
var tag = url.searchParams.get('tag');
var subtag = url.searchParams.get('subtag');
if( lat >= -90 && lat <= 90 && long >=-180 && long <= 180 ){
}
$.each( $('.distance'), function(i,v){
var geo=$( $(v).context.previousElementSibling ).text();
var llat=geo.split(/,/g)[0];
var llong=geo.split(/,/g)[1];
var lcountry=geo.split(/,/g)[2];
$(v).html('<span class="feather-icon icon-map-pin"></span> ' + lcountry + ' ' + (( calc_distance ) ? '( ' + Math.round( getDistanceFromLatLonInKm (lat, long, llat, llong ) )+'km ) ' : '' ) );
function formInput(obj){
if( $(obj).hasClass('form-decimals') ){
$(obj).toggleClass('is-invalid', ! $.isNumeric( $(obj).val() ) );
}
}
function createYml(){
var yml='';
$.each( $('.order-form'),
function(i,v){
if( v.id == 'price-reference' ){
yml+=v.id + ':\n\t- [ ' + $(v).val().replace(/(?:\r\n|\r|\n)/g, '<br>') + ' ]\n';
} else {
yml+=v.id + ': ' + $(v).val().replace(/(?:\r\n|\r|\n)/g, '<br>') + '\n';
}
}
);
$('#order-yml').val(yml);
}
function importYml(){
var yml=$('#order-yml').val();
var error='';
$('#order-yml').toggleClass('is-invalid',false);
yml.split('\n').forEach(
function(v,i){
if( v == '' ) return;
if( v.split(/-/g)[0].trim() == '' || v.split(/-/g)[0].trim() == '\t' ){
$('#'+lastf).val( v.split(/-/g)[1].replace(/\[|\]| /g,'').trim() );
return;
}
var p=v.split(':')[0].trim();
var v=v.split(':').slice(1).join(':').trim();
if( $('#'+p).length == 1 ){
if( $('#'+p)[0].localName == 'select' ){
if( p == 'price-reference' ){
lastf=p; return;
} else if( $('#'+p).val(v).val() != v ){
error+='#'+p+' value ['+v+'] not exists in the list!';
}
}
} else {
error+='#'+p+' not found in form!';
}
if( error != ''){
alert( 'error: \n'+error );
error='';
$('#order-yml').toggleClass('is-invalid',true);
} else {
$('#'+p).val(v.replace(/\<br\>/ig,'\n'));
}
}
);
}
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
}
function ChangeUrl(page, query ) {
if (typeof (history.replaceState) != "undefined") {
var obj = { Page: page, Url: query };
history.replaceState(obj, obj.Page, obj.Url);
} else {
alert("Browser does not support HTML5.");
}
}