$App = this
$TweenMax=null
$Options={}
$loadingpcnt=null
$Container=null
$Settings=null
$Wallet=null
//$Data = {}
$Chain=null
$User=null
$UIElements={}
$Viewer360 =null
$ChainSettings =null
$TheGallery =null
$ArtistProfile =null
$SVGS={}
$NFTS={}
$AR = null
$Lang = _lang
$Events=null
$Collectibles=null
$Gallery= null
$mobileCheck = function() {
let check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
};
$Logo = new Logo()
$Lines = null
var _Loading = new Loading()
$Data={}
//setInterval(resized,1000)
window.onload=function(){
console.log("DocumentLoaded")
var URL = window.location.search.substring(1)
var page = getURLobject(URL)
if(page.hasOwnProperty('lang')){
$Lang = page.lang
}
$App.NewPage(window.document.title,window.location.search)
resized()
_Loading.LoadingStarting()
$Counters('landing')
$Counters('landing-'+$Lang)
if($mobileCheck()){
$Counters('user-mobile')
}else{
$Counters('user-desktop')
}
}
function LoadingScriptsComplete(){
console.log('LoadingScriptsComplete')
try{
Initiallize()
}catch(err){
console.log('InitiallizeFailed')
console.log(err)
}
$( document ).tooltip({
track:true ,
show: {
delay: 100
}
});
$Counters('loaded')
gsap.delayedCall(0.8,Navigate)
//animateTheme('#19447a')
}
$obj = {color:'#0c0c0c'}
function animateTheme(clr,dur=3,del=0){
gsap.killTweensOf($obj)
gsap.to($obj,dur,{color:clr, delay:del, onUpdate:function (){
$('meta[name=theme-color]').remove()
$('head').append('')
}})
}
window.onpopstate = GoBack
var BackFunctions=[]
function addBack(_func ,_vars=null ,_focus=null, _fvars=null){
BackFunctions.push({func:_func,vars:_vars,focus:_focus,fvars:_fvars})
}
function GoBack(){
if(BackFunctions.length==0){
NewPage($LangText('titles','name',0),"?p=menu")
return
}
BackFunctions[BackFunctions.length-1].func(BackFunctions[BackFunctions.length-1].vars)
//BackFunctions.pop() ayto ginetai apo to fire toy function
if(BackFunctions.length<1){return}
//exei fygei to teleytaio, opote focus sto proigoumeno poy tora einai sto telos
if(BackFunctions[BackFunctions.length-1].focus!=null){
BackFunctions[BackFunctions.length-1].focus(BackFunctions[BackFunctions.length-1].fvars)
}
}
function Navigate(){
$Events.filterTags()
$Collectibles.filterTags()
var URL = window.location.search.substring(1)
var page =''
var pos = 'menu'
if(URL==""){
}else{
page = getURLobject(URL)
if(page.hasOwnProperty('source')){
$Counters(page.source)
}
if(page.hasOwnProperty('p')){
pos = page.p
}
if(page.hasOwnProperty('exhibition')){
if(page.hasOwnProperty('type') && page.type=='virtual'){
var _page=page
$Viewer360.Show($Data.exhibitions[page.exhibition] ,function(){$Events.Viewer.Show(_page.exhibition,$Menu.Render)} )
}
if(page.hasOwnProperty('type') && page.type=='gallery'){
if(page.hasOwnProperty('artifact')){
$Logo.Hide()
var _page=page
$Artifacts.Viewer.Show($Data.exhibitions[page.exhibition],page.artifact,function(){$Events.Viewer.Show(_page.exhibition,$Menu.Render)} )
}else{
var _page=page
$Artifacts.Show($Data.exhibitions[page.exhibition],function(){$Events.Viewer.Show(_page.exhibition,$Menu.Render)} )
}
}
if(page.hasOwnProperty('type') && page.type=='event'){
$Logo.Hide()
$Events.Viewer.Show(page.exhibition,$Menu.Render)
}
if(page.hasOwnProperty('type') && page.type=='photogallery'){
$Logo.Hide()
var _page=page
$Gallery.Show($Data.exhibitions[page.exhibition],function(){$Events.Viewer.Show(_page.exhibition,$Menu.Render)})
}
return
}
if(page.hasOwnProperty('collectible')){
$Logo.Hide()
var tokenid =0
if(page.hasOwnProperty('tokenid') ){tokenid=page.tokenid}
$Collectibles.Viewer.Show(page.collectible,tokenid,$Menu.Render)
return
}
}
if(pos == 'exhibition-menu' || pos=="more"|| pos=="ar"){
pos = 'menu'
}
if(pos == 'menu' ){
$Menu.Render(pos,null,null,true)
}else{
if(!$Container.screens.hasOwnProperty(pos)){
if(pos=='exhibitions'){
$Events.Show()
}else if(pos=='collectibles'){
$Collectibles.Show()
}else if(pos=='thegallery'){
$Logo.Hide()
gsap.delayedCall(0.6,$TheGallery.Show )
}else{
$Menu.Render(pos,null,null,true)
}
}else{
gsap.delayedCall(0.35,$Container.Show,[pos])
$Logo.Hide()
}
}
}
function bugFix(scrollbar) {
const draggerRail = $(scrollbar).find(".mCSB_draggerRail");
const draggerContainer = $(scrollbar).find(".mCSB_draggerContainer");
if (draggerRail.length > 0 && draggerRail.parent().hasClass("mCSB_dragger")) {
draggerContainer.append(draggerRail);
}
}
function NewPage(title,url){
//console.log(url)
var URL = url.substring(1)
var page = getURLobject(URL)
page['lang'] = $Lang
var arr=Object.keys(page)
url="?"
for(var i=0; iError!')
//resized()
}
function getURLobject(url){
var obj={}
var arr = url.split("&")
if(url==''){return({})}
for(var i=0; iratio){
wdth = $( '#backgroundimg' ).width()*ratioH
}
var lft = ($( window ).width()-wdth)/2
$( '#backgroundimg' ).css({width:wdth,bottom:0, position:'absolute',left: lft })
}
paramInput= ( e) => {
}
paramIn= ( e) => {
if($( e.target).attr('defvalue')!=undefined){
var defvalue = $( e.target).attr('defvalue')
var value= $( e.target).val()
if(value==defvalue){
$( e.target).val('')
}
}
}
paramOut= ( e) => {
if($( e.target).attr('defvalue')!=undefined){
var defvalue = $( e.target).attr('defvalue')
var value= $( e.target).val()
if (!value || !value.trim()) {
$( e.target).val(defvalue)
}
}
}
paramChange= ( e) => {
if($( e.target).val() ==""){return}
var value= Number($( e.target).val() )
var max = Number($( e.target).attr('smax') )
var min = Number($( e.target).attr('smin') )
if(isNaN(value )){
$( e.target).val($( e.target).attr('prev'))
return
}
if(valuemax){value=max }
value=Number(value.toFixed($(e.target).attr('dec')))
$( e.target).val(value)
$( e.target).attr('prev',value)
}
validateEmail = (email) => {
return String(email)
.toLowerCase()
.match(
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
);
};
function animateValue(item,from,pre="",val,aft=""){
from=Number(from)
val=Number(val)
if(item.html()==pre+val+aft){ return}
var tweenobj={prev:from}
TweenMax.to(tweenobj,0.5,{'prev':val,onUpdate:function (){item.html(pre+tweenobj.prev.toFixed(0)+aft)}})
}
function timeElapsed( datetime,mult=1000 ) {
var now = new Date().getTime()
var elapsed = now - (datetime*mult)
var diff = {};
diff.days = Math.floor(elapsed / 86400000);
diff.hours = Math.floor(elapsed / 3600000 % 24);
diff.minutes = Math.floor(elapsed / 60000 % 60);
diff.secs = Math.floor(elapsed / 1000 % 60);
var message='Just now'
if(diff.minutes==0){
message=diff.secs+' secs ago'
if(diff.secs==0){message="JustNow"}
}
if(diff.minutes>0){message=diff.minutes+' mins ago'}
if(diff.hours>0){message=diff.hours+' hour ago'}
if(diff.hours>1){message=diff.hours+' hours ago'}
if(diff.days>0){message=diff.days+' day ago'}
if(diff.days>1){message=diff.days+' days ago'}
if(diff.days>6){message='Long time ago'}
return(message);
}
function timeToGo( datetime,mult=1000 ) {
var now = new Date().getTime()
var togo = (datetime*mult)-now
if(togo<0){
return(timeElapsed(datetime))
}
var diff = {};
diff.days = Math.floor(togo / 86400000);
diff.hours = Math.floor(togo / 3600000 % 24);
diff.minutes = Math.floor(togo / 60000 % 60);
diff.secs = Math.floor(togo / 1000 % 60);
var message='Just now'
if(diff.minutes==0){
message='in '+diff.secs+' secs'
if(diff.secs==0){message="JustNow"}
}
if(diff.secs<10){diff.secs="0"+String(diff.secs)}
if(diff.minutes>0){message='in '+diff.minutes+':'+diff.secs}
if(diff.minutes>5){message='in '+diff.minutes+' mins'}
if(diff.hours>0){message='in '+diff.hours+' hour'}
if(diff.hours>1){message='in '+diff.hours+' hours'}
if(diff.days>0){message='in '+diff.days+' day'}
if(diff.days>1){message='in '+diff.days+' days'}
return(message);
}
function formattedDate( datetime,mul ) {
var date = new Date(datetime * mul);
var day = date.getDate();
var month = date.getMonth()+1;
var year = date.getFullYear();
var hours = "0" +date.getHours();
var minutes = "0" + date.getMinutes();
var formattedTime = day+"/"+month+"/"+year +" "+hours.substr(-2) + ':' + minutes.substr(-2)
return(formattedTime)
}
setInterval(CalculateTimeClasses,5000)
function CalculateTimeClassesItem(id){
var time = Number($("#"+id).attr( "time" ))
$("#"+id).html(timeElapsed(time,1000))
$("#"+id).attr( "title" , formattedDate(time,1000))
}
function CalculateTimeClasses(){
var arr = $('.timeclass')
for(var i=0; i'))
function Copy(txt){
$('#clipboard').show()
$('#clipboard').val(txt)
var copyText = document.getElementById("clipboard");
copyText.select();
copyText.setSelectionRange(0, 99999); /* For mobile devices */
document.execCommand("copy");
$('#clipboard').hide()
$Notifications.NewNotification('Address copied')
}
function $objPath (obj,path,defreturn=null ) {
var arr = path.split(".")
try{
for(var i=0; i{
var str=''
//str+='
'
var addr = address
if(sort){
addr= address.substring(0,7)+"..."+address.substring(address.length-4,address.length)
}
//str+=''+addr+''
str+=''+addr+''
return(str)
}
(function($, window, undefined) {
var hasOnProgress = ("onprogress" in $.ajaxSettings.xhr());
if (!hasOnProgress) {
return;
}
var oldXHR = $.ajaxSettings.xhr;
$.ajaxSettings.xhr = function() {
var xhr = oldXHR.apply(this, arguments);
if(xhr instanceof window.XMLHttpRequest) {
xhr.addEventListener('progress', this.progress, false);
}
if(xhr.upload) {
xhr.upload.addEventListener('progress', this.progress, false);
}
return xhr;
};
})(jQuery, window);
Image.prototype.load = function(url,progress=null){
return new Promise((resolve, reject)=>{
var thisImg = this;
var xmlHTTP = new XMLHttpRequest();
xmlHTTP.open('GET', url,true);
xmlHTTP.responseType = 'arraybuffer';
xmlHTTP.onload = function(e) {
var blob = new Blob([this.response]);
thisImg.src = window.URL.createObjectURL(blob);
resolve()
};
xmlHTTP.onprogress = progress
xmlHTTP.onloadstart = function() {
thisImg.completedPercentage = 0;
};
xmlHTTP.send();
})
};
$LoadContenet= async (file,progress=null,type='text') => {
return new Promise((resolve, reject)=>{
$.ajax({
url :file,
dataType: type,
success : resolve,
error : function (){resolve('error')},
progress: progress
});
})
}
$Counters= (_tag) => {
$.ajax({
url :'php/counters.php',
data: {tag:_tag}
});
}
$ViewPort = () =>{
$('meta[name=viewport]').remove();
$('head').append('');
$('meta[name=viewport]').remove();
$('head').append('' );
window.scrollTo(0, 0);
}
jQuery.fn.scrollTo = function(elem, speed) {
$(this).animate({
scrollTop: $(this).scrollTop() - $(this).offset().top + $(elem).offset().top -100
}, speed == undefined ? 1000 : speed);
return this;
};