document.addEvent('domready', function() { baseInit(); }); var baseInit = function() { // Common // Init the scroller to be able to scroll smoothly to the top window["scrollWin"] = new Fx.Scroll(document.body); } var showError = function(message) { var custom; var divs = $$('div'); divs.each( function(item, index) { if (item.id.contains('Custom')) { custom = item; } } ); custom.set('class', 'error'); custom.set('text', message); custom.set('styles', {'display': ''}); scrollWin.toTop(); } var showErrorHtml = function(message) { var custom; var divs = $$('div'); divs.each( function(item, index) { if (item.id.contains('Custom')) { custom = item; } } ); custom.set('class', 'error'); custom.set('html', message); custom.set('styles', {'display': ''}); scrollWin.toTop(); } var hideError = function() { var custom; var divs = $$('div'); divs.each( function(item, index) { if (item.id.contains('Custom')) { custom = item; } } ); custom.set('styles', {'display': 'none'}); } var showInfo = function(message) { hideSelects(); var custom; var divs = $$('div'); divs.each( function(item, index) { if (item.id.contains('Custom')) { custom = item; } } ); custom.set('class', 'success'); custom.set('text', message); custom.set('styles', {'display': ''}); scrollWin.toTop(); } var hideInfo = function() { hideError(); } var hideSelects = function() { // Hide all select boxes $$('select').each( function(item) { item.style.visibility='hidden'; } ); } var showSelects = function() { // Hide all select boxes $$('select').each( function(item) { item.style.visibility='visible'; } ); } var showProgress = function(message) { hideSelects(); // Show background $('popup-bg').set('styles', {'display': ''}); // Set message $('progress-details').set('text', message); // Show popup $('popup-progress').set('styles', {'display': ''}); scrollWin.toTop(); } var hideProgress = function() { showSelects(); // Hide popup band background $('popup-bg').set('styles', {'display': 'none'}); $('popup-progress').set('styles', {'display': 'none'}); } var showConfirm = function(title, message, buttons) { hideSelects(); // Show background $('popup-bg').set('styles', {'display': ''}); // Set message $('confirm-title').set('text', title); $('confirm-details').set('text', message); $('confirm-buttons').set('html', buttons); // Show popup $('popup-confirm').set('styles', {'display': ''}); scrollWin.toTop(); } var showConfirmHtml = function(title, message, buttons) { hideSelects(); // Show background $('popup-bg').set('styles', {'display': ''}); // Set message $('confirm-title').set('text', title); $('confirm-details').set('html', message); $('confirm-buttons').set('html', buttons); // Show popup $('popup-confirm').set('styles', {'display': ''}); scrollWin.toTop(); } var hideConfirm = function() { showSelects(); // Hide popup band background $('popup-bg').set('styles', {'display': 'none'}); $('popup-confirm').set('styles', {'display': 'none'}); $('confirm-details').set('html', ''); $('confirm-buttons').set('html', ''); } var showCardreader = function(id) { hideSelects(); // Show background $('popup-bg').set('styles', {'display': ''}); // Show popup $('popup-cardreader').set('styles', {'display': ''}); // Store the input id to be passed later to the parse function $('cardreader-id').value = id; $("cardreader-track").value = ""; $("cardreader-cardnumber").value = ""; $("cardreader-expire").value = ""; $("cardreader-cardnumber").set('html', ''); $("cardreader-expire").set('html', ''); $("cardreader-track").focus(); scrollWin.toTop(); } var hideCardreader = function() { showSelects(); // Hide popup and background $('popup-bg').set('styles', {'display': 'none'}); $('popup-cardreader').set('styles', {'display': 'none'}); } var init_parse_track = function() { setTimeout('parse_track()', 1); return false; } var parse_track = function() { if ($('cardreader-track').value != '') { var card_data = $('cardreader-track').value; if (card_data.indexOf("Þæ") > -1) { // Full track, split it var trackparts = card_data.split('Þæ'); card_data = trackparts[1]; } // Remove special characters card_data = card_data.replace('æ',''); card_data = card_data.replace('Þ',''); if (card_data.indexOf('E') > -1) { // Gat ekki lesið kortanúmer $("cardreader-track").value = ''; } else if (card_data.indexOf("-") > -1) { var data_split = card_data.split('-'); var cardnumber = data_split[0]; if (cardnumber.length == 16 || cardnumber.length == 19) { cardnumber = data_split[0]; } $("cardreader-cardnumber").set('html', cardnumber); $("cardreader-expire").set('html', data_split[1].substr(2, 2) + "/" + data_split[1].substr(0, 2)); $("cardreader-track").value = ""; $("cardreader-track").focus(); cardreader_submit($('cardreader-id').value, $('cardreader-cardnumber').get('text')); } else if (card_data.length == 19 || card_data.length == 16) { $("cardreader-cardnumber").set('html', card_data); $("cardreader-expire").set('html', ''); cardreader_submit($('cardreader-id').value, $('cardreader-cardnumber').get('text')); } } } var get_cardnumber_with_verification_digit = function(cardnumber) { var luhnArr = [[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]], sum = 0; cardnumber.replace(/\D+/g,"").replace(/[\d]/g, function(c, p1, offset){ sum += luhnArr[ (offset.length-p1)&1 ][ parseInt(c,10) ] }); return cardnumber + ((10 - sum%10)%10); }; var get_cardnumber_by_track = function(track) { if (track != '') { var card_data = track; if (card_data.indexOf("Þæ") > -1) { // Full track, split it var trackparts = card_data.split('Þæ'); card_data = trackparts[1]; } // Remove special characters card_data = card_data.replace('æ',''); card_data = card_data.replace('Þ',''); if (card_data.indexOf('E') > -1) { // Gat ekki lesið kortanúmer return ''; } else if (card_data.indexOf("-") > -1) { var data_split = card_data.split('-'); var cardnumber = data_split[0]; if (cardnumber.length == 16 || cardnumber.length == 19) { cardnumber = data_split[0]; } return cardnumber; } else if (card_data.length == 19 || card_data.length == 16) { return card_data; } } } var is_number = function(s) { var allowed = "1234567890"; for (i = 0; i < s.length; i++) { if(allowed.indexOf(s.charAt(i)) < 0) { return false; } } return true; } var only_numbers = function(s) { var allowed = "1234567890"; var stripped = ""; for (i = 0; i < s.length; i++) { if(allowed.indexOf(s.charAt(i)) < 0) { } else { stripped += s.charAt(i); } } return stripped; } var is_alphabet = function(s) { var allowed = "qweértyýuúiíoópaásdfghjklzxcvbnmþæöðQWEÉRTYÝUÚIÍOÓPAÁSDFGHJKLZXCVBNMÞÐÆÖ "; for (i = 0; i < s.length; i++) { if(allowed.indexOf(s.charAt(i)) < 0) { return false; } } } var only_alphabet = function(s) { var allowed = "qweértyýuúiíoópaásdfghjklzxcvbnmþæöðQWEÉRTYÝUÚIÍOÓPAÁSDFGHJKLZXCVBNMÞÐÆÖ "; var stripped = ""; for (i = 0; i < s.length; i++) { if(allowed.indexOf(s.charAt(i)) < 0) { } else { stripped += s.charAt(i); } } return stripped; } var showPaging = function(currentPage, totalPages) { // Create paging var pages = ''; if (currentPage > 9) { pages += '1'; if (currentPage > 10) { pages += ' ... '; } } for (i=1; i <= totalPages; i++) { if (i > (currentPage-9) && i < (currentPage+8) && i != totalPages) { if (i == currentPage) { pages += '' + i + ''; } else { pages += '' + i + ''; } } } if (currentPage <= (totalPages-9)) { pages += ' ... '; } if (currentPage == totalPages) { pages += '' + currentPage + ''; } else { pages += '' + totalPages + ''; } var paging = ''; // Prev if (currentPage == 1) { paging += '
'; } else { paging += ' '; } if (currentPage == 1) { paging += ''; } else { paging += ' '; } // Next if (currentPage >= totalPages) { paging += ''; } else { paging += ''; } if (currentPage >= totalPages) { paging += '
'; } else { paging += ' '; } paging += '
' + pages + '
'; $j('#paging').html(paging); } var json_encode = function(str) { str = htmlentities(str); return str.replace(/&/g, '-and-'); } function htmlentities (string, quote_style) { var hash_map = {}, symbol = '', tmp_str = '', entity = ''; tmp_str = string.toString(); if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) { return false; } hash_map["'"] = '''; for (symbol in hash_map) { entity = hash_map[symbol]; tmp_str = tmp_str.split(symbol).join(entity); } return tmp_str; } function get_html_translation_table (table, quote_style) { var entities = {}, hash_map = {}, decimal = 0, symbol = ''; var constMappingTable = {}, constMappingQuoteStyle = {}; var useTable = {}, useQuoteStyle = {}; // Translate arguments constMappingTable[0] = 'HTML_SPECIALCHARS'; constMappingTable[1] = 'HTML_ENTITIES'; constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; constMappingQuoteStyle[2] = 'ENT_COMPAT'; constMappingQuoteStyle[3] = 'ENT_QUOTES'; useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT'; if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { throw new Error("Table: "+useTable+' not supported'); // return false; } entities['38'] = '&'; if (useTable === 'HTML_ENTITIES') { entities['160'] = ' '; entities['161'] = '¡'; entities['162'] = '¢'; entities['163'] = '£'; entities['164'] = '¤'; entities['165'] = '¥'; entities['166'] = '¦'; entities['167'] = '§'; entities['168'] = '¨'; entities['169'] = '©'; entities['170'] = 'ª'; entities['171'] = '«'; entities['172'] = '¬'; entities['173'] = '­'; entities['174'] = '®'; entities['175'] = '¯'; entities['176'] = '°'; entities['177'] = '±'; entities['178'] = '²'; entities['179'] = '³'; entities['180'] = '´'; entities['181'] = 'µ'; entities['182'] = '¶'; entities['183'] = '·'; entities['184'] = '¸'; entities['185'] = '¹'; entities['186'] = 'º'; entities['187'] = '»'; entities['188'] = '¼'; entities['189'] = '½'; entities['190'] = '¾'; entities['191'] = '¿'; entities['192'] = 'À'; entities['193'] = 'Á'; entities['194'] = 'Â'; entities['195'] = 'Ã'; entities['196'] = 'Ä'; entities['197'] = 'Å'; entities['198'] = 'Æ'; entities['199'] = 'Ç'; entities['200'] = 'È'; entities['201'] = 'É'; entities['202'] = 'Ê'; entities['203'] = 'Ë'; entities['204'] = 'Ì'; entities['205'] = 'Í'; entities['206'] = 'Î'; entities['207'] = 'Ï'; entities['208'] = 'Ð'; entities['209'] = 'Ñ'; entities['210'] = 'Ò'; entities['211'] = 'Ó'; entities['212'] = 'Ô'; entities['213'] = 'Õ'; entities['214'] = 'Ö'; entities['215'] = '×'; entities['216'] = 'Ø'; entities['217'] = 'Ù'; entities['218'] = 'Ú'; entities['219'] = 'Û'; entities['220'] = 'Ü'; entities['221'] = 'Ý'; entities['222'] = 'Þ'; entities['223'] = 'ß'; entities['224'] = 'à'; entities['225'] = 'á'; entities['226'] = 'â'; entities['227'] = 'ã'; entities['228'] = 'ä'; entities['229'] = 'å'; entities['230'] = 'æ'; entities['231'] = 'ç'; entities['232'] = 'è'; entities['233'] = 'é'; entities['234'] = 'ê'; entities['235'] = 'ë'; entities['236'] = 'ì'; entities['237'] = 'í'; entities['238'] = 'î'; entities['239'] = 'ï'; entities['240'] = 'ð'; entities['241'] = 'ñ'; entities['242'] = 'ò'; entities['243'] = 'ó'; entities['244'] = 'ô'; entities['245'] = 'õ'; entities['246'] = 'ö'; entities['247'] = '÷'; entities['248'] = 'ø'; entities['249'] = 'ù'; entities['250'] = 'ú'; entities['251'] = 'û'; entities['252'] = 'ü'; entities['253'] = 'ý'; entities['254'] = 'þ'; entities['255'] = 'ÿ'; } if (useQuoteStyle !== 'ENT_NOQUOTES') { entities['34'] = '"'; } if (useQuoteStyle === 'ENT_QUOTES') { entities['39'] = '''; } entities['60'] = '<'; entities['62'] = '>'; // ascii decimals to real symbols for (decimal in entities) { symbol = String.fromCharCode(decimal); hash_map[symbol] = entities[decimal]; } return hash_map; } var add_thousand_seperator = function(str) { var regex = /(-?[0-9]+)([0-9]{3})/; str += ''; while (regex.test(str)) { str = str.replace(regex, '$1.$2'); } return str; }