
function PrintLabel(labelStr)
{	
	document.getElementById('sclprtn').PrintLabel(labelStr);
}

function ReadScale(elementid)
{	
	document.getElementById(elementid).value = document.getElementById('sclprtn').ReadScale();
}

function OdbcLookup(query)
{
	lookupvalue = document.getElementById('TemplateMainSection_MainPackageProcessing_ScanscreenLoadTextbox').value;
    
	// Build query
	query = query.replace("[lookupvalue]", lookupvalue);

	// Run query
	document.getElementById('TemplateMainSection_MainPackageProcessing_OdbcXml').value = document.getElementById('activeodbc').lookupPackage(escape(query));
}

function OdbcTalkBack(query, trackingnbr, trackingnbr3pc, referencenbr, rate, shiptoareacode, shiptocompany, shiptoname, shiptoaddr1, shiptoaddr2, shiptoaddr3 , shiptocity, shiptostate, shiptozip, shiptozip4 , shiptocountry, shiptocountryname, shiptophone, shiptoemail, weight, ret_dimweight, length, width, height, servicecode, residentialflag, dasflag, nonmachinableflag, oversize1flag, oversize2flag, oversize3flag, deliveryconfirmationflag, signatureconfirmationflag, sortcode1, sortcode2, sortcode3, packagecharge, postage, totalpostage, ret_dasfee, customcharge, customtotal, shipref1, shipref2, shipref3, shipref4, shipref5, shipref6, shipref7, shipref8 )
{
	// Build query
	query = query.replace("[trackingnbr]", trackingnbr).replace("[trackingnbr3pc]", trackingnbr3pc).replace("[referencenbr]", referencenbr).replace("[rate]", rate);
	query = query.replace("[toareacode]", shiptoareacode).replace("[tocompany]", shiptocompany).replace("[toname]", shiptoname).replace("[toaddr1]", shiptoaddr1);
	query = query.replace("[toaddr2]", shiptoaddr2).replace("[toaddr3]", shiptoaddr3).replace("[tocity]", shiptocity).replace("[tostate]", shiptostate);
	query = query.replace("[tozip]", shiptozip).replace("[tozip4]", shiptozip4).replace("[toctry]", shiptocountry).replace("[toctryn]", shiptocountryname);
	query = query.replace("[tophone]", shiptophone).replace("[toemail]", shiptoemail).replace("[wght]", weight).replace("[ret_dimweight]", ret_dimweight);
	query = query.replace("[l]", length).replace("[w]", width).replace("[h]", height).replace("[scode]", servicecode);
	query = query.replace("[resflag]", residentialflag).replace("[dasflag]", dasflag).replace("[nmflag]", nonmachinableflag).replace("[os1]", oversize1flag);
	query = query.replace("[os2]", oversize2flag).replace("[os3]", oversize3flag).replace("[dcflag]", deliveryconfirmationflag).replace("[sigflag]", signatureconfirmationflag);
	query = query.replace("[sc1]", sortcode1).replace("[sc2]", sortcode2).replace("[sc3]", sortcode3).replace("[packagecharge]", packagecharge);
	query = query.replace("[postage]", postage).replace("[tpostage]", totalpostage).replace("[dasfee]", ret_dasfee).replace("[cstharge]", customcharge).replace("[csttotal]", customtotal);
	query = query.replace("[r1]", shipref1).replace("[r2]", shipref2).replace("[r3]", shipref3).replace("[r4]", shipref4).replace("[r5]", shipref5).replace("[r6]", shipref6).replace("[r7]", shipref7).replace("[r8]", shipref8);
	// Run query
	document.getElementById('activeodbc').talkback(escape(query));
}


function TestScale()
{
	alert(document.getElementById('sclprtn').ReadScale());
}


function TestOdbcLookup()
{
    lookupvalue = document.getElementById('_ctl0_LookupValue').value;
    
    // Gets Query 
    query = document.getElementById('_ctl0_ODBCLookupQuery').innerHTML;
	// Build query
	query = query.replace("[lookupvalue]", lookupvalue);

	//alert(document.getElementById('activeodbc').lookupPackage(escape(query)));
	document.getElementById('LookupResult').value = document.getElementById('activeodbc').lookupPackage(escape(query));
}

function TestOdbcTalkBack(query)
{
	query = document.getElementById('_ctl0_ODBCTalkbackQuery').value
	
		trackingnbr = document.getElementById('_ctl0_TrackingNumber').value;
		trackingnbr3pc = document.getElementById('_ctl0_TrackingNumber3pc').value;
		referencenbr = document.getElementById('_ctl0_ReferenceNumber').value;
		rate = document.getElementById('_ctl0_Rate').value;
		
		shiptoareacode = document.getElementById('_ctl0_shiptoareacode').value;
	shiptocompany = document.getElementById('_ctl0_shiptocompany').value;
	shiptoname = document.getElementById('_ctl0_shiptoname').value;
	  
	shiptoaddr1 = document.getElementById('_ctl0_shiptoaddr1').value;
	shiptoaddr2 = document.getElementById('_ctl0_shiptoaddr2').value;
	shiptoaddr3  = document.getElementById('_ctl0_shiptoaddr3').value;
	shiptocity = document.getElementById('_ctl0_shiptocity').value;
	shiptostate = document.getElementById('_ctl0_shiptostate').value;
	shiptozip = document.getElementById('_ctl0_shiptozip').value;
	shiptozip4  = document.getElementById('_ctl0_shiptozip4').value;

	shiptocountry = document.getElementById('_ctl0_shiptocountry').value;
	shiptocountryname = document.getElementById('_ctl0_shiptocountryname').value;
	shiptophone = document.getElementById('_ctl0_shiptophone').value;

	shiptoemail = document.getElementById('_ctl0_shiptoemail').value;
	weight = document.getElementById('_ctl0_weight').value;
	ret_dimweight = document.getElementById('_ctl0_ret_dimweight').value;

	length2 = document.getElementById('_ctl0_length').value;

	width = document.getElementById('_ctl0_width').value;

	height = document.getElementById('_ctl0_height').value;
	servicecode = document.getElementById('_ctl0_servicecode').value;
	residentialflag = document.getElementById('_ctl0_residentialflag').value;
	dasflag = document.getElementById('_ctl0_dasflag').value;
	nonmachinableflag = document.getElementById('_ctl0_nonmachinableflag').value;
	oversize1flag = document.getElementById('_ctl0_oversize1flag').value;
	oversize2flag = document.getElementById('_ctl0_oversize2flag').value;
	oversize3flag = document.getElementById('_ctl0_oversize3flag').value;
	deliveryconfirmationflag = document.getElementById('_ctl0_deliveryconfirmationflag').value;
	signatureconfirmationflag = document.getElementById('_ctl0_signatureconfirmationflag').value;
	sortcode1 = document.getElementById('_ctl0_sortcode1').value;
	sortcode2 = document.getElementById('_ctl0_sortcode2').value;
	sortcode3 = document.getElementById('_ctl0_sortcode3').value;
	packagecharge = document.getElementById('_ctl0_packagecharge').value;
	postage = document.getElementById('_ctl0_postage').value;
	totalpostage = document.getElementById('_ctl0_totalpostage').value;
	ret_dasfee = document.getElementById('_ctl0_ret_dasfee').value;
	customcharge = document.getElementById('_ctl0_customcharge').value;
	customtotal = document.getElementById('_ctl0_customtotal').value;
	shipref1 = document.getElementById('_ctl0_shipref1').value;
	shipref2 = document.getElementById('_ctl0_shipref2').value;
	shipref3 = document.getElementById('_ctl0_shipref3').value;
	shipref4 = document.getElementById('_ctl0_shipref4').value;
	shipref5 = document.getElementById('_ctl0_shipref5').value;
	shipref6 = document.getElementById('_ctl0_shipref6').value;
	shipref7 = document.getElementById('_ctl0_shipref7').value;
	shipref8 = document.getElementById('_ctl0_shipref8').value;


	// Build query
	query = query.replace("[trackingnbr]", trackingnbr).replace("[trackingnbr3pc]", trackingnbr3pc).replace("[referencenbr]", referencenbr).replace("[rate]", rate);
	query = query.replace("[toareacode]", shiptoareacode).replace("[tocompany]", shiptocompany).replace("[toname]", shiptoname).replace("[toaddr1]", shiptoaddr1);
	query = query.replace("[toaddr2]", shiptoaddr2).replace("[toaddr3]", shiptoaddr3).replace("[tocity]", shiptocity).replace("[tostate]", shiptostate);
	query = query.replace("[tozip]", shiptozip).replace("[tozip4]", shiptozip4).replace("[toctry]", shiptocountry).replace("[toctryn]", shiptocountryname);
	query = query.replace("[tophone]", shiptophone).replace("[toemail]", shiptoemail).replace("[wght]", weight).replace("[ret_dimweight]", ret_dimweight);
	query = query.replace("[l]", length2).replace("[w]", width).replace("[h]", height).replace("[scode]", servicecode);
	query = query.replace("[resflag]", residentialflag).replace("[dasflag]", dasflag).replace("[nmflag]", nonmachinableflag).replace("[os1]", oversize1flag);
	query = query.replace("[os2]", oversize2flag).replace("[os3]", oversize3flag).replace("[dcflag]", deliveryconfirmationflag).replace("[sigflag]", signatureconfirmationflag);
	query = query.replace("[sc1]", sortcode1).replace("[sc2]", sortcode2).replace("[sc3]", sortcode3).replace("[packagecharge]", packagecharge);
	query = query.replace("[postage]", postage).replace("[tpostage]", totalpostage).replace("[dasfee]", ret_dasfee).replace("[cstharge]", customcharge).replace("[csttotal]", customtotal);
	query = query.replace("[r1]", shipref1).replace("[r2]", shipref2).replace("[r3]", shipref3).replace("[r4]", shipref4).replace("[r5]", shipref5).replace("[r6]", shipref6).replace("[r7]", shipref7).replace("[r8]", shipref8);
	
	document.getElementById('activeodbc').talkback(escape(query));
	document.getElementById('_ctl0_ODBCTalkbackQueryGenerated').value = query;
	alert(query);
}



function ScanZipHandler(type, event)
{
	
	switch(event.keyCode)
	{	
		case 9:
		case 13:
			switch(type)
			{
				case "Referencenbr": // Referencenbr field
					if (document.getElementById('TemplateMainSection_MainZipPackageProcessing_offsetValue32').checked)
					{
						// Parse zip from reference and ship
						var referencenbr = document.getElementById('TemplateMainSection_MainZipPackageProcessing_ScanscreenDatafld_ReferenceNbr_Referencenbr').value;
						var offset = document.getElementById('TemplateMainSection_MainZipPackageProcessing_Offset').value ;
						document.getElementById('TemplateMainSection_MainZipPackageProcessing_ScanscreenDatafld_ShipTo_shiptoZip').value = referencenbr.substr(offset, 5);
						ReadScaleAndShip();
					} else {
						document.getElementById('TemplateMainSection_MainZipPackageProcessing_ScanscreenDatafld_ShipTo_shiptoZip').focus();
					}
				break;			
				default: // Zip field
				{
					ReadScaleAndShip();
				}
				break;
			}
			
			if (event && event.preventDefault) { event.preventDefault(); }
			window.event.returnValue = false;
			return false;
		break;
	}
}

function ReadScaleAndShip()
{
	ReadScale('TemplateMainSection_MainZipPackageProcessing_ScanscreenDatafld_Weight_weight');
	var weight = document.getElementById('TemplateMainSection_MainZipPackageProcessing_ScanscreenDatafld_Weight_weight');

	if (weight.value != '' && weight.value != '0.0' && weight.value != '0') { document.getElementById('TemplateMainSection_MainZipPackageProcessing_ScanscreenShipButton').click(); }
	else { alert('Unable to read the scale. Please enter the weight.'); }
}

function ReadScaleAndShipMain()
{
	if(document.getElementById('TemplateMainSection_MainPackageProcessing_ScanscreenShipButton') != null)
	{
		ReadScale('TemplateMainSection_MainPackageProcessing_ScanscreenDatafld_Weight_weight');
		var weight = document.getElementById('TemplateMainSection_MainPackageProcessing_ScanscreenDatafld_Weight_weight');

		if (weight.value != '' && weight.value != '0.0' && weight.value != '0') { document.getElementById('TemplateMainSection_MainPackageProcessing_ScanscreenShipButton').click(); }
		else { alert('Unable to read the scale. Please enter the weight.'); }
	}
}

var ISPrinting; // Printing Flag
var FileNames;// File Names
var c=0;// Total Label Counter
var labelindex = 0; // Initial Label Index
var t;// Timer


function GetLabel()
{

    if(FileNames[labelindex] == "-1"){
		alert("Invalid range.");
    }
    else{
    // Get Base64 from the File
    var base64 = ABOL.IABOL.V10.UI.Modules.MainBatchPrinting.GetBase64(FileNames[labelindex]).value;
	var print = document.getElementById("TemplateMainSection_MainBatchPrinting_LabelPrinting");
	
    if(base64 != null)
        PrintLabel(base64) ; 
    // Increment Label Index
      labelindex = labelindex + 1;
        
     // Update Page Status
      print.innerHTML = "Printing " + (labelindex ) + " of "  +  c;

    // Check to see if its Done
    if(labelindex == c ){
        labelindex = 0;
        c = 0;
        ExitPrint();
    } 
    else{// Call Label Print again after One second  
     ISPrinting = true;
     t=setTimeout("GetLabel()",100)// Timeout Between Label Printing
    }
    }
}

///Gets File Names from the Databas
function GetNames()
{    
    window.event.returnValue = false;
    
    var BatchNbr = document.getElementById("TemplateMainSection_MainBatchPrinting_BatchNbr");
    
    
    var rdolist_0 = document.getElementById("TemplateMainSection_MainBatchPrinting_SortBy_0");
    var rdolist_1 = document.getElementById("TemplateMainSection_MainBatchPrinting_SortBy_1");
    var SortBy;
    
    if(rdolist_0.checked)
        SortBy = rdolist_0.value;
    else if(rdolist_1.checked)
        SortBy = rdolist_1.value;
    
    var start = document.getElementById("TemplateMainSection_MainBatchPrinting_StartRange");
    var stop = document.getElementById("TemplateMainSection_MainBatchPrinting_StopRange");
    
    if(stop.value == null){
        stop.value = 0;
    }

     if(start.value == null){
        start.value = 0;
    }
    //alert(start.value);
   // alert(stop.value);

        
    // Get File Names
    FileNames = ABOL.IABOL.V10.UI.Modules.MainBatchPrinting.GetFileNames(BatchNbr.innerHTML,  SortBy, start.value, stop.value).value;
    
    if(FileNames != null)
        c = FileNames.length;  // Sets Number of Labels

    // Sets Label Index to One   
    labelindex = 0;  

    if(c > 0){
    //Prints Label
    GetLabel();
    }
    else{
        alert('Error Occured Unable to get labels for Printing.');
    }
}

function ExitPrint(){
     clearTimeout(t);
     ISPrinting = false;
}


//Stops
function StopPrint(){

    if(ISPrinting != true){
            if(window.event != null)
                window.event.returnValue = false;
            if(c > 0){
                document.getElementById("TemplateMainSection_MainBatchPrinting_StopPrintButton").value = "Stop Print";   
                GetLabel();
            }   
    }  
    else{
           document.getElementById("TemplateMainSection_MainBatchPrinting_StopPrintButton").value = "Resume Print";
            clearTimeout(t);
            ISPrinting = false;
            if(window.event != null)
                window.event.returnValue = false;

        }
}

function CostCenterList()
{
	if(document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenData_Accounts').selectedIndex > 0)
	{
		document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenDatafld_Accounts').setAttribute("disabled", "disabled");
		document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenDatafld_Accounts').value = "";
	}
	else
	{
		document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenDatafld_Accounts').removeAttribute("disabled", "disabled");
		document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenDatafld_Accounts').value = "";
	}
}


function CostCenterBox()
{
	if(document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenDatafld_Accounts').value.length > 0)
	{
		document.getElementById('TemplateMainSection_MainPackageProcessingC1_ScanscreenData_Accounts').selectedIndex = 0;
	}
}