
var oNoteMessage,oBarcodeShadow,oBarcodeMessage,oInfoTable,oRawText,oRawTextBox,iFlashCount = 0;

function initDiyID() {
   oNoteMessage = document.getElementById("noteMessage");
   oBarcodeShadow = document.getElementById("BarcodeShadow");
   oBarcodeMessage = document.getElementById("BarcodeMessage");
   oRawText = document.getElementById("infoRawText");
   oRawTextBox = document.getElementById("infoRawTextBox");
   oInfoTable = document.getElementById("infoTable");
   
   //document.getElementById('diyBackGround').parentElement.style.background = "white url(img/bodybg.jpg) no-repeat scroll bottom right";
   document.getElementById('diyBackGround').parentNode.style.background = "white url(img/bodybg.jpg) no-repeat scroll bottom right";
   
}

function LeadingZeros(n){
   var lZ = '0'+n;
   return(lZ.substr(lZ.length-2));
}

var downloadFileExtension = 'png';

function downloadBarcode(fileType) {
   var bc = {};
   var d = new Date();
   if(fileType=='svg') {
      var filename = LeadingZeros(d.getYear())+LeadingZeros(d.getMonth())+LeadingZeros(d.getDate())+LeadingZeros(d.getHours())+LeadingZeros(d.getMinutes())+LeadingZeros(d.getSeconds());
      QuickMarkJsonDownload(filename,fileType,QuickMarkJson.mSize,QuickMarkJson.compress);
   }
   else {
      bc['ModuleSize']=QuickMarkJson.mSize;
      bc['Pattern']=QuickMarkJson.compress;
      downloadFileExtension = fileType;
      $.post("BarCodeReceive.aspx", bc , downloadBarcodeReady ,'json');
   }
}

function downloadBarcodeReady(data) {
   var d = new Date();
   var filename = LeadingZeros(d.getYear())+LeadingZeros(d.getMonth())+LeadingZeros(d.getDate())+LeadingZeros(d.getHours())+LeadingZeros(d.getMinutes())+LeadingZeros(d.getSeconds());
   location.href = 'BarCodeImage.aspx?id='+data.BarCodeID+'&fn='+filename+'.'+downloadFileExtension;
}

function showNoteMessage(s) {
   if(s==''){
      oNoteMessage.innerHTML = '&nbsp;';
   }
   else {
      oNoteMessage.innerHTML =  s;
      flashNoteMessage();
   }
}

function flashNoteMessage(){
   oNoteMessage.style.color = (oNoteMessage.style.color == 'white')?'':'white';
   if(iFlashCount>8) {
      iFlashCount=0;
   }
   else {
      iFlashCount++;
      window.setTimeout("flashNoteMessage()", 200);
   }
}

function showBarcode() {
   
   var dmEncs = { 'A':'ASCII','C':'C40','T':'Text','X':'X12','E':'EDIFACT','B':'Base256' };

   if(QuickMarkJson.stat=='fail') {

      if(QuickMarkJson.notes.indexOf('Out Of GB2312')>-1) {
         oBarcodeMessage.innerHTML = '<span class="diyHintText">Only simplified Chinese characters supported for this specification.</span>';
         
      }
      else if(QuickMarkJson.code=='qrcode' && QuickMarkJson.ver>13) {
            oBarcodeMessage.innerHTML = '<span class="diyHintText">Your data exceeds the maximum supported size,<br/>please reduce data size.</span>';
            return;
      }
      else {
            oBarcodeMessage.innerHTML = 'Error!';
      }
      
      return;
   }


   oBarcodeMessage.innerHTML = '';
   oBarcodeShadow.style.display = 'inline';

   var strBarcodeInfo = '';

   switch(QuickMarkJson.code) {
      case 'quickmark':
         strBarcodeInfo = (GenID==0?'':'Enterprise Version ') +
         'QuickMark: Level ' + QuickMarkJson.ver +
         ' ('+QuickMarkJson.mW+'×'+QuickMarkJson.mH+' modules), Ecc '+ QuickMarkJson.ecc;
         break;
      case 'qrcode':
         strBarcodeInfo = 'QRCode: Version ' + QuickMarkJson.ver +
         ' ('+QuickMarkJson.mW+'×'+QuickMarkJson.mH+' modules), Ecc '+ QuickMarkJson.ecc + ', ' + QuickMarkJson.mode + (( QuickMarkJson.mode == '8bit' || QuickMarkJson.mode == 'Mixing' )?' ('+QuickMarkJson.chr+')':'');
         break;
      case 'datamartix':
         strBarcodeInfo = 'DataMartix: ' + dmEncs[QuickMarkJson.dmEnc] + ' ('+QuickMarkJson.mW+'×'+QuickMarkJson.mH+' modules)';
         break;
   }
         
   document.getElementById('bcDescription').innerHTML = strBarcodeInfo;
   document.getElementById('bcPrintingSize').innerHTML = ((QuickMarkJson.mW+8) * 0.8).toFixed(1) + ' × ' + ((QuickMarkJson.mH+8) * 0.8).toFixed(1);
   

   var i, m, oT;

   oT = document.getElementById('infoPrintingTable').getElementsByTagName('tr')[1].getElementsByTagName('td');
   for(i=1;i<6;i++) {
      m = i * 2 / 10
      oT[i].innerHTML = (QuickMarkJson.mW * m).toFixed(1) + ' × ' + (QuickMarkJson.mH * m).toFixed(1);
   }
   oT = document.getElementById('infoPrintingTable').getElementsByTagName('tr')[2].getElementsByTagName('td');
   for(i=1;i<6;i++) {
      m = i * 2 / 10
      oT[i].innerHTML = ((QuickMarkJson.mW+8) * m).toFixed(1) + ' × ' + ((QuickMarkJson.mH+8) * m).toFixed(1);
   }
   
   oInfoTable.style.display = '';
   oRawTextBox.value = QuickMarkJson.content;
}


function showRawText(o) {
   if(oRawText.style.display=='inline'){
      o.innerHTML = o.innerHTML.replace(/.$/,'▼');
      oRawText.style.display = 'none';
   }
   else {
      o.innerHTML = o.innerHTML.replace(/.$/,'▲');
      oRawText.style.display = 'inline';
   }
}

function showPrnSize(o) {
   var oT = document.getElementById('infoPrinting');
   if(oT.style.display=='inline'){
      o.innerHTML = o.innerHTML.replace(/.$/,'▼');
      oT.style.display = 'none';
   }
   else {
      o.innerHTML = o.innerHTML.replace(/.$/,'▲');
      oT.style.display = 'inline';
   }
}

function BizUserLog(strData) {
   var oGenQty = document.getElementById("GenQty");
   var GenQty = Math.floor(oGenQty.innerHTML);
   if(GenQty>0) {
      oGenQty.innerHTML = GenQty-1;
      var oFm = navigator.userAgent.indexOf('MSIE')>=0? document.frames.BizFrame.document:document.getElementById("BizFrame").contentDocument;
      oFm.location = '../Buslogin/SetGenLog.asp?id='+BusID+'&c='+ActiveFunction+'&con='+escape(strData);
   }
   else {
      alert("Please order more quantities for enterprise QuickMark.");
      document.location = '../Buslogin/LogoutB.asp';
   }
}

