{% if page.url contains "/client/" or page.url contains "/work/" or page.url contains "/portfolio/" %}
<div class="footer hidden-print">
<div class="call-out-contact">
<div class="container">
<div class="row">
<div class="col-sm-12">
<p><a href="/contact/?internal_referral">Have a project you'd like to discuss with me?</a></p>
</div>
</div>
</div>
</div>
</div>
{% endif %}
<script src="/assets/js/nprogress.min.js"></script>
<script>
NProgress.start();
</script>
<script src="/assets/js/main.min.js"></script>
<script>
NProgress.set(0.2);
</script>
<script src="/assets/js/bundle.min.js" async></script>
<script>
NProgress.set(0.4);
</script>
<script>
var slideout = new Slideout({
'panel': document.getElementById('panel'),
'menu': document.getElementById('menu'),
'padding': 256,
'tolerance': 70
});
document.querySelector('.toggle-button').addEventListener('click', function() {
slideout.toggle();
});
</script>
<script>
$(window).load(function () {
exLink.init({
protocols: ['http', 'https'],
filetypes: ['pdf', 'xls', 'docx', 'doc', 'ppt', 'pptx'],
noFollow: true,
linkWarning: false,
gaTrackLabel: 'External Links'
});
});
</script>
{% if page.url contains "/client/" %}
<script async src="/assets/js/mapbox-gl.min.js"></script>
<script>
$(window).load(function () {
mapboxgl.accessToken = "pk.eyJ1IjoiZGtrbWEiLCJhIjoiU05aOVdrRSJ9._Ahj-qQ5cCyLUCM2dp4tAw";
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/dark-v9',
center: [{{ page.map }}],
zoom: 6
});
});
</script>
{% elsif page.url contains "/work/" %}
<script type="text/javascript">
$(window).load(function () {
;( function( $ ) {
$( '.swipebox' ).swipebox();
} )( jQuery );
});
</script>
{% elsif page.url contains "/gist/" %}
<script type="text/javascript">
$(window).load(function () {
;( function( $ ) {
$( '.swipebox' ).swipebox();
} )( jQuery );
});
</script>
{% elsif page.url contains "/contact/" %}
<script>
$(window).load(function () {
(function()
{
var NowMoment = moment.utc().add({{ page.offset }}, 'hours').format('LT');
var eDisplayMoment = document.getElementById('time');
eDisplayMoment.innerHTML = NowMoment;
})();
});
</script>
<script>
$(window).load(function () {
$.simpleWeather({
location: '{{ page.location }}',
unit: 'c',
success: function(weather) {
html = ' and '+weather.temp+'°'+weather.units.temp+' outside.';
$("#weather").html(html);
},
error: function(error) {}
});
});
</script>
<script async src="/assets/js/mapbox-gl.min.js"></script>
<script>
$(window).load(function () {
mapboxgl.accessToken = "pk.eyJ1IjoiZGtrbWEiLCJhIjoiU05aOVdrRSJ9._Ahj-qQ5cCyLUCM2dp4tAw";
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/dark-v9',
center: [{{ page.map }}],
zoom: 1
});
});
</script>
{% endif %}
<script>
NProgress.set(0.6);
</script>
<script type="text/javascript">
var url = window.location.href;
var msg = document.getElementById('welcome_referral');
if( url.search( 'client_referral' ) > 0 ) {
msg.style.display = "block";
}
{% if page.url contains "/contact/" %}
var msg = document.getElementById('internal_referral');
if( url.search( 'internal_referral' ) > 0 ) {
msg.style.display = "block";
}
var msg = document.getElementById('introduction');
if( url.search( 'internal_referral' ) > 0 ) {
msg.style.display = "none";
}
{% endif %}
</script>
{% if page.url == "/about/" %}
<script src='/assets/js/mapbox.min.js'></script>
<link href='https://api.mapbox.com/mapbox.js/v3.1.0/mapbox.css' rel='stylesheet' />
<style>
.navbar.navbar-default, .quick-contact, .innovative-product-award.loaded {
z-index: 1000;
}
#map {
height:360px;
width:100%;
}
</style>
<!-- in {{ place.year }} -->
<script>
L.mapbox.accessToken = 'pk.eyJ1IjoiZGtrbWEiLCJhIjoiY2oyN2h2M2VnMDA1bTJxbzY4dGhhc2V4NCJ9.Hb-yaLByaOY9LR7SF7JxmA';
var map = L.mapbox.map('map')
.setView([27.2741606,3.2739257], 2);
var myLayer = L.mapbox.featureLayer().addTo(map);
var styleLayer = L.mapbox.styleLayer('mapbox://styles/dkkma/cj27hvld100112smweocii6o3').addTo(map);
var geojson = {
type: 'FeatureCollection',
features: [{% for place in site.data.places %}{
type: 'Feature',
properties: {
title: 'Life in {{ place.city }}, {{ place.country }}',
'marker-color': '#451668',
'marker-size': 'small',
'marker-symbol': 'building',
'description': '{{ place.introduction }}'
},
geometry: {
type: 'Point',
coordinates: [{{ place.longitude }}, {{ place.latitude }}]
}
},
{% endfor %}
{% for client in site.clients %}{% if client.city != "Tehran" %}{
type: 'Feature',
properties: {
title: 'Client in {{ client.city }}, {{ client.country }}',
'marker-color': '#451668',
'marker-size': 'small',
'marker-symbol': 'suitcase',
'description': '{{ client.introduction }}'
},
geometry: {
type: 'Point',
coordinates: [{{ client.map }}]
}
}{% endif %}{% if forloop.last %}{% else %},{% endif %}
{% endfor %}
]
};
map.scrollWheelZoom.disable();
myLayer.setGeoJSON(geojson);
</script>
{% endif %}
<script>
NProgress.set(0.8);
</script>
{% if page.url contains "/mutual-investment-fund/" %}
<script src='/assets/js/chart.bundle.min.js'></script>
<script>
var ctx = document.getElementById("myChart");
var myLineChart = Chart.Line(ctx, {
data: {
labels: [{% for entry in site.data.mutual-investment-fund %}"{{ entry.date }}"{% if forloop.last %}{% else %},{% endif %}{% endfor %}],
datasets: [
{
label: 'Net asset value (NAV) in Euro',
fill: true,
lineTension: 0,
backgroundColor: "#451668",
borderColor: "#451668",
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
pointBorderColor: "#451668",
pointBackgroundColor: "#fff",
pointBorderWidth: 2,
pointHoverRadius: 5,
pointHoverBackgroundColor: "#fff",
pointHoverBorderColor: "#451668",
pointHoverBorderWidth: 3,
pointRadius: 5,
pointHitRadius: 10,
data: [{% for entry in site.data.mutual-investment-fund %}{{ entry.rate }}{% if forloop.last %}{% else %},{% endif %}{% endfor %}],
spanGaps: false,
}
]
}
});
</script>
{% endif %}
{% if page.url contains "/gist/" or page.url contains "/dev/" or page.url contains "/cryptocurrencies/" or page.url contains "/dgx-escrow/" or page.url contains "/persian/dictionary/" %}
<script>
NProgress.set(0.9);
</script>
<script src="https://franz-comments.herokuapp.com/static/embed.js" async onload="
Coral.Talk.render(document.getElementById('coral_talk_stream'), {
talk: 'https://franz-comments.herokuapp.com/'
});
"></script>
{% endif %}
{% if page.url contains "/pay" %}
<script src="/assets/js/pay.min.js"></script>
<script src="https://checkout.stripe.com/checkout.js"></script>
<script>
var getQueryString = function ( field, url ) {
var href = url ? url : window.location.href;
var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' );
var string = reg.exec(href);
return string ? string[1] : null;
};
// /pay/?n=Mike&e=mike@me.com&a=10000&i=FA-123
var app = new Vue({
delimiters:['<%', '%>'],
el: '#app',
data: {
name: getQueryString('n'),
amount: getQueryString('a') / 10,
invoice: getQueryString('i'),
xrpeur: null,
amountXRP: null,
etheur: null,
amountETH: null,
collapsedXRP: false,
collapsedETH: false
},
created() {
var self = this;
axios.get('https://cache.f-a.nz/cryptowat/markets/kraken/xrpeur/price')
.then(function (res) {
console.log(res.data.result.price)
res = res.data.result.price
self.amountXRP = (getQueryString('a') / 10) / res
console.log(self.amountXRP)
self.xrpeur = res
});
axios.get('https://cache.f-a.nz/cryptowat/markets/kraken/etheur/price')
.then(function (res) {
console.log(res.data.result.price)
res = res.data.result.price
self.amountETH = (getQueryString('a') / 10) / res
console.log(self.amountETH)
self.etheur = res
if (self.etheur > 0) {
document.getElementById('loading').classList.add('hidden');
}
});
},
filters: {
formatCrypto: function (value) {
if (!value) return ''
value = accounting.formatMoney(value, '', 4)
return value
},
formatFiat: function (value) {
if (!value) return ''
value = accounting.formatMoney(value, '', 2)
return value
}
}
})
</script>
<script>
var handler = StripeCheckout.configure({
key: 'pk_test_6pRNASCoBOKtIshFeQd4XMUh',
// pk_live_aS8I0BNMivxfYiI5UZtzd8vt
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
handler.open({
name: 'F-A.NZ',
email: getQueryString('e'),
description: 'Invoice ' + getQueryString('i'),
zipCode: true,
currency: 'EUR',
amount: getQueryString('a')
});
e.preventDefault();
});
window.addEventListener('popstate', function() {
handler.close();
});
</script>
{% endif %}
{% if page.url == "/persian/dictionary/" %}
<script src="/assets/js/persian.min.js"></script>
<script>
var request = new XMLHttpRequest();
request.open("GET", "/assets/data/persian.json", false);
request.send(null)
var json = JSON.parse(request.responseText);
var app = new Vue({
delimiters:['<%', '%>'],
el: '#dictionary',
data: {
search: '',
dictionary: json
},
computed: {
filteredItems() {
return this.dictionary.filter(item => {
return String(item.english.toLowerCase()).indexOf(this.search.toLowerCase()) !== -1
})
}
}
})
</script>
{% endif %}
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://stats.dkkma.com/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '8']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="https://stats.dkkma.com/piwik.php?idsite=8&rec=1" style="border:0;" alt="" /></p></noscript>
<script>
$(window).on("load", function() {
NProgress.done();
});
</script>