$(function(){ UI.elements = { menu: $('nav > .menu'), main: $('main'), header: $('header'), connection: { status: $('#connection'), user_and_host: $('#user_and_host'), msg: $('#message') } }; UI.buildMenu(); UI.stored.getOpts(); //get stored login data try { if ('mistLogin' in sessionStorage) { var stored = JSON.parse(sessionStorage['mistLogin']); mist.user.name = stored.name; mist.user.password = stored.password; mist.user.host = stored.host; } } catch (e) {} //check if username and host have been stored in the url if (location.hash) { var hash = decodeURIComponent(location.hash).substring(1).split('@'); var user = hash[0].split('&'); mist.user.name = user[0]; if (user[1]) { mist.user.host = user[1]; } } //check if we are logged in mist.send(function(d){ //we're logged in $(window).trigger('hashchange'); },{},{timeout: 5, hide: true}); var lastpos = 0; $('body > div.filler').on('scroll',function(){ var pos = $(this).scrollLeft(); if (pos != lastpos) { UI.elements.header.css('margin-right',-1*pos+'px'); } lastpos = pos; }); }); $(window).on('hashchange', function(e) { var loc = decodeURIComponent(location.hash).substring(1).split('@'); if (!loc[1]) { loc[1] = ''; } var tab = loc[1].split('&'); if (tab[0] == '') { tab[0] = 'Overview'; } UI.showTab(tab[0],tab[1]); }); var otherhost = { host: false, https: false }; var UI = { debug: false, elements: {}, stored: { getOpts: function(){ var stored = localStorage['stored']; if (stored) { stored = JSON.parse(stored); } $.extend(true,this.vars,stored); return this.vars; }, saveOpt: function(name,val){ this.vars[name] = val; localStorage['stored'] = JSON.stringify(this.vars); return this.vars; }, vars: { helpme: true } }, interval: { clear: function(){ if (typeof this.opts == 'undefined') { return; } clearInterval(this.opts.id); delete this.opts; }, set: function(callback,delay){ if (this.opts) { log('[interval]','Set called on interval, but an interval is already active.'); } this.opts = { delay: delay, callback: callback }; this.opts.id = setInterval(callback,delay); } }, returnTab: ['Overview'], countrylist: {'AF':'Afghanistan','AX':'Åland Islands','AL':'Albania','DZ':'Algeria','AS':'American Samoa','AD':'Andorra', 'AO':'Angola','AI':'Anguilla','AQ':'Antarctica','AG':'Antigua and Barbuda','AR':'Argentina','AM':'Armenia','AW':'Aruba', 'AU':'Australia','AT':'Austria','AZ':'Azerbaijan','BS':'Bahamas','BH':'Bahrain','BD':'Bangladesh','BB':'Barbados', 'BY':'Belarus','BE':'Belgium','BZ':'Belize','BJ':'Benin','BM':'Bermuda','BT':'Bhutan','BO':'Bolivia, Plurinational State of', 'BQ':'Bonaire, Sint Eustatius and Saba','BA':'Bosnia and Herzegovina','BW':'Botswana','BV':'Bouvet Island','BR':'Brazil', 'IO':'British Indian Ocean Territory','BN':'Brunei Darussalam','BG':'Bulgaria','BF':'Burkina Faso','BI':'Burundi','KH':'Cambodia', 'CM':'Cameroon','CA':'Canada','CV':'Cape Verde','KY':'Cayman Islands','CF':'Central African Republic','TD':'Chad','CL':'Chile', 'CN':'China','CX':'Christmas Island','CC':'Cocos (Keeling) Islands','CO':'Colombia','KM':'Comoros','CG':'Congo', 'CD':'Congo, the Democratic Republic of the','CK':'Cook Islands','CR':'Costa Rica','CI':'Côte d\'Ivoire','HR':'Croatia', 'CU':'Cuba','CW':'Curaçao','CY':'Cyprus','CZ':'Czech Republic','DK':'Denmark','DJ':'Djibouti','DM':'Dominica', 'DO':'Dominican Republic','EC':'Ecuador','EG':'Egypt','SV':'El Salvador','GQ':'Equatorial Guinea','ER':'Eritrea','EE':'Estonia', 'ET':'Ethiopia','FK':'Falkland Islands (Malvinas)','FO':'Faroe Islands','FJ':'Fiji','FI':'Finland','FR':'France','GF':'French Guiana', 'PF':'French Polynesia','TF':'French Southern Territories','GA':'Gabon','GM':'Gambia','GE':'Georgia','DE':'Germany','GH':'Ghana', 'GI':'Gibraltar','GR':'Greece','GL':'Greenland','GD':'Grenada','GP':'Guadeloupe','GU':'Guam','GT':'Guatemala','GG':'Guernsey', 'GN':'Guinea','GW':'Guinea-Bissau','GY':'Guyana','HT':'Haiti','HM':'Heard Island and McDonald Islands', 'VA':'Holy See (Vatican City State)','HN':'Honduras','HK':'Hong Kong','HU':'Hungary','IS':'Iceland','IN':'India','ID':'Indonesia', 'IR':'Iran, Islamic Republic of','IQ':'Iraq','IE':'Ireland','IM':'Isle of Man','IL':'Israel','IT':'Italy','JM':'Jamaica', 'JP':'Japan','JE':'Jersey','JO':'Jordan','KZ':'Kazakhstan','KE':'Kenya','KI':'Kiribati', 'KP':'Korea, Democratic People\'s Republic of','KR':'Korea, Republic of','KW':'Kuwait','KG':'Kyrgyzstan', 'LA':'Lao People\'s Democratic Republic','LV':'Latvia','LB':'Lebanon','LS':'Lesotho','LR':'Liberia','LY':'Libya', 'LI':'Liechtenstein','LT':'Lithuania','LU':'Luxembourg','MO':'Macao','MK':'Macedonia, the former Yugoslav Republic of', 'MG':'Madagascar','MW':'Malawi','MY':'Malaysia','MV':'Maldives','ML':'Mali','MT':'Malta','MH':'Marshall Islands', 'MQ':'Martinique','MR':'Mauritania','MU':'Mauritius','YT':'Mayotte','MX':'Mexico','FM':'Micronesia, Federated States of', 'MD':'Moldova, Republic of','MC':'Monaco','MN':'Mongolia','ME':'Montenegro','MS':'Montserrat','MA':'Morocco','MZ':'Mozambique', 'MM':'Myanmar','NA':'Namibia','NR':'Nauru','NP':'Nepal','NL':'Netherlands','NC':'New Caledonia','NZ':'New Zealand','NI':'Nicaragua', 'NE':'Niger','NG':'Nigeria','NU':'Niue','NF':'Norfolk Island','MP':'Northern Mariana Islands','NO':'Norway','OM':'Oman', 'PK':'Pakistan','PW':'Palau','PS':'Palestine, State of','PA':'Panama','PG':'Papua New Guinea','PY':'Paraguay','PE':'Peru', 'PH':'Philippines','PN':'Pitcairn','PL':'Poland','PT':'Portugal','PR':'Puerto Rico','QA':'Qatar','RE':'Réunion', 'RO':'Romania','RU':'Russian Federation','RW':'Rwanda','BL':'Saint Barthélemy','SH':'Saint Helena, Ascension and Tristan da Cunha', 'KN':'Saint Kitts and Nevis','LC':'Saint Lucia','MF':'Saint Martin (French part)','PM':'Saint Pierre and Miquelon', 'VC':'Saint Vincent and the Grenadines','WS':'Samoa','SM':'San Marino','ST':'Sao Tome and Principe','SA':'Saudi Arabia', 'SN':'Senegal','RS':'Serbia','SC':'Seychelles','SL':'Sierra Leone','SG':'Singapore','SX':'Sint Maarten (Dutch part)','SK':'Slovakia', 'SI':'Slovenia','SB':'Solomon Islands','SO':'Somalia','ZA':'South Africa','GS':'South Georgia and the South Sandwich Islands', 'SS':'South Sudan','ES':'Spain','LK':'Sri Lanka','SD':'Sudan','SR':'Suriname','SJ':'Svalbard and Jan Mayen','SZ':'Swaziland', 'SE':'Sweden','CH':'Switzerland','SY':'Syrian Arab Republic','TW':'Taiwan, Province of China','TJ':'Tajikistan', 'TZ':'Tanzania, United Republic of','TH':'Thailand','TL':'Timor-Leste','TG':'Togo','TK':'Tokelau','TO':'Tonga', 'TT':'Trinidad and Tobago','TN':'Tunisia','TR':'Turkey','TM':'Turkmenistan','TC':'Turks and Caicos Islands','TV':'Tuvalu', 'UG':'Uganda','UA':'Ukraine','AE':'United Arab Emirates','GB':'United Kingdom','US':'United States', 'UM':'United States Minor Outlying Islands','UY':'Uruguay','UZ':'Uzbekistan','VU':'Vanuatu','VE':'Venezuela, Bolivarian Republic of', 'VN':'Viet Nam','VG':'Virgin Islands, British','VI':'Virgin Islands, U.S.','WF':'Wallis and Futuna','EH':'Western Sahara','YE':'Yemen', 'ZM':'Zambia','ZW':'Zimbabwe' }, tooltip: { show: function (pos,contents){ $tooltip = this.element; if (!$.contains(document.body,$tooltip[0])) { $('body').append($tooltip); } $tooltip.html(contents); clearTimeout(this.hiding); delete this.hiding; var mh = $(document).height() - $tooltip.outerHeight(); var mw = $(document).width() - $tooltip.outerWidth(); $tooltip.css('left',Math.min(pos.pageX+10,mw-10)); $tooltip.css('top',Math.min(pos.pageY+25,mh-10)); $tooltip.show().addClass('show'); }, hide: function() { $tooltip = this.element; $tooltip.removeClass('show'); this.hiding = setTimeout(function(){ $tooltip.hide(); },500); }, element: $('