112 lines
2.8 KiB
JavaScript
112 lines
2.8 KiB
JavaScript
var HTTP_GET_VARS;
|
|
var PRINTER_NAME = "Xerox";
|
|
//var PRINTER_FALLBACK_NAME = "Deskjet";
|
|
var PRINTER_FALLBACK_NAME = "Adobe";
|
|
|
|
$(document).ready(function(){
|
|
|
|
importGetVars();
|
|
|
|
// assign vars
|
|
var data = eval("(" + GET('json') + ")");
|
|
|
|
$('#invoiceDate').html(data.invoiceDate);
|
|
$('#invoiceNumber').html(data.invoiceNumber);
|
|
$('#eventTitle').html(data.eventTitle);
|
|
$('#eventDate').html(data.eventDate);
|
|
$('#customerAddress').html(data.customerAddress);
|
|
$('#totalPrice').html(data.totalPrice);
|
|
|
|
var html = '';
|
|
for (var i = 0; i < data.tickets.length; ++i) {
|
|
html += '<tr>';
|
|
if (data.tickets[i].reduced == "true") {
|
|
html += '<td>Eintrittskarte (ermäßigt)</td>';
|
|
}
|
|
else {
|
|
html += '<td>Eintrittskarte</td>';
|
|
}
|
|
html += '<td class="right-column">' + data.tickets[i].price + '</td>';
|
|
html += '</tr>';
|
|
}
|
|
if (data.shipping) {
|
|
html += '<tr>';
|
|
html += '<td>Zustellung</td>';
|
|
html += '<td class="right-column">' + data.shipping + '</td>';
|
|
html += '</tr>';
|
|
}
|
|
$('#tickets').replaceWith(html);
|
|
|
|
// print
|
|
jsPrintSetup.setPrinter(selectPrinter());
|
|
|
|
jsPrintSetup.setOption('orientation', jsPrintSetup.kPortraitOrientation);
|
|
jsPrintSetup.setOption('marginTop', 0);
|
|
jsPrintSetup.setOption('marginBottom', 0);
|
|
jsPrintSetup.setOption('marginLeft', 0);
|
|
jsPrintSetup.setOption('marginRight', 0);
|
|
|
|
jsPrintSetup.setOption('headerStrLeft', '');
|
|
jsPrintSetup.setOption('headerStrCenter', '');
|
|
jsPrintSetup.setOption('headerStrRight', '');
|
|
jsPrintSetup.setOption('footerStrLeft', '');
|
|
jsPrintSetup.setOption('footerStrCenter', '');
|
|
jsPrintSetup.setOption('footerStrRight', '');
|
|
|
|
jsPrintSetup.setOption('printBGColors', 1);
|
|
|
|
jsPrintSetup.clearSilentPrint();
|
|
jsPrintSetup.setOption('printSilent', 1);
|
|
|
|
jsPrintSetup.printWindow(window);
|
|
|
|
window.close();
|
|
|
|
});
|
|
|
|
|
|
function importGetVars() {
|
|
HTTP_GET_VARS = new Array();
|
|
strGET = document.location.search.substr(1, document.location.search.length);
|
|
if(strGET!='') {
|
|
gArr = strGET.split('&');
|
|
for (var i = 0; i < gArr.length; ++i) {
|
|
v = '';
|
|
vArr = gArr[i].split('=');
|
|
if(vArr.length > 1){
|
|
v = vArr[1];
|
|
}
|
|
HTTP_GET_VARS[unescape(vArr[0])] = decodeURIComponent(v);
|
|
}
|
|
}
|
|
}
|
|
|
|
function GET(v) {
|
|
if(!HTTP_GET_VARS[v]){
|
|
return 'undefined';
|
|
}
|
|
return HTTP_GET_VARS[v];
|
|
}
|
|
|
|
function selectPrinter() {
|
|
var printers = jsPrintSetup.getPrintersList().split(',');
|
|
//console.log(printers);
|
|
|
|
for (var i = 0; i < printers.length; ++i) {
|
|
if (printers[i].toLowerCase().indexOf(PRINTER_NAME.toLowerCase()) != -1) {
|
|
return printers[i];
|
|
}
|
|
}
|
|
|
|
for (var i = 0; i < printers.length; ++i) {
|
|
if (printers[i].toLowerCase().indexOf(PRINTER_FALLBACK_NAME.toLowerCase()) != -1) {
|
|
return printers[i];
|
|
}
|
|
}
|
|
|
|
if (printers.length > 0) {
|
|
return printers[0];
|
|
}
|
|
|
|
return '';
|
|
} |