DWREngine.originalErrorHandler = DWREngine._errorHandler;
DWREngine.setErrorHandler(newErrorHandler);
function newErrorHandler(message, exception) {
if (typeof message == "object" && message.name == "Error" && message.description) {
DWREngine.originalErrorHandler(message,exception);
}
else {
// Ignore NS_ERROR_NOT_AVAILABLE
if (message.toString().indexOf("No valid authentication") > -1) {
document.addparts.submit();
} else if (message.toString().indexOf("0x80040111") == -1) {
DWREngine.originalErrorHandler(message,exception);
}
}
}
function makeTracking(partNumber, domain, manufacturerId, context, mfgCode, datasheetUrl, options) {
if(datasheetUrl == null || datasheetUrl.length==0) {
fetchDatasheetUrl(partNumber, domain, manufacturerId, context, options);
} else {
trackingUrl = '/trackingservlet/track/?zone=' + options.trackCode + '&action=datasheet&value1=' + encodeURIComponent(partNumber) + '&value2=' + mfgCode + '&value3=' + encodeURIComponent(datasheetUrl) + '&url=' + encodeURIComponent(datasheetUrl);
window.open(trackingUrl);
}
}
function fetchDatasheetUrl(partNumber, domain, manufacturerId, context, options) {
var datasheetUrl;
datasheet.findDatasheet(partNumber, domain, manufacturerId, {callback:function(results){datasheetUrl=results;},async:false});
if(datasheetUrl == null) {
var dsWin = window.open('/trackingservlet/track/?zone=' + options.trackCode + '&action=datasheet&value1=' + encodeURIComponent(partNumber) + '&value2=' + options.mfrCode + '&value3=' + encodeURIComponent(datasheetUrl) + '&url=' + encodeURIComponent(context + '/noDatasheet.do?partNumber=' + encodeURIComponent(partNumber) + '&manufacturer=' + options.mfr + '&mfrCode=' + options.mfrCode + '&searchQuery=' + encodeURIComponent(options.searchQuery) + '&pageSourceURL=' + encodeURIComponent(options.location)), 'SupplyFrame_Datsheet','width=550,height=400,scrollbars=no,resizable=no,status=yes');
dsWin.focus();
} else {
window.open('/trackingservlet/track/?zone=' + options.trackCode + '&action=datasheet&value1=' + encodeURIComponent(partNumber) + '&value2=' + options.mfrCode + '&value3=' + encodeURIComponent(datasheetUrl) + '&url=' + encodeURIComponent(datasheetUrl));
}
}
function datasheetTrack(trackingUrl, datasheetUrl, partNumber, displayPartNumber, domain, mfr, mfrId, searchQuery){
if (datasheetUrl == null){
datasheet.findDatasheet(partNumber, domain, mfrId, {callback:function(results){datasheetUrl=results;},async:false});
//no datasheet find with yahoo api
if(datasheetUrl == null) {
var urlTemplate = new Template(trackingUrl);
var tokens = new Hash();
tokens.set('action','datasheetNo');
tokens.set('datasheet',encodeURIComponent('/partsearchservlet/noDatasheet.do?partNumber=' + encodeURIComponent(partNumber) + 
'&displayPartNumber=' + encodeURIComponent(displayPartNumber) +
'&manufacturer=' + encodeURIComponent(mfr) + '&searchQuery=' + encodeURIComponent(searchQuery) + 
'&pageSourceURL=' + encodeURIComponent(window.location.href)));
var completeUrl = urlTemplate.evaluate(tokens);
var dsWin = window.open(completeUrl, 'SupplyFrame_Datsheet','width=550,height=400,scrollbars=no,resizable=no,status=yes');
dsWin.focus();
} else {	//datasheet found
var urlTemplate = new Template(trackingUrl);
var tokens = new Hash();
tokens.set('action','datasheetApi');
tokens.set('datasheet',encodeURIComponent(datasheetUrl));
var completeUrl = urlTemplate.evaluate(tokens);
window.open(completeUrl);
}
} else {
var urlTemplate = new Template(trackingUrl);
var tokens = new Hash();
tokens.set('action','datasheet');
tokens.set('datasheet',encodeURIComponent(datasheetUrl));
var completeUrl = urlTemplate.evaluate(tokens);
window.open(completeUrl);
return;
}
}
