if( !Fse.SPL ) Fse.SPL = {}; YAHOO.namespace("Fse.SPL"); Fse.SPL._baseQueryString = ""; Fse.SPL._tunnelParameterName = "q"; Fse.SPL._filterCatalogLevelSelect = function( oLevelSelect, aParentIDs ) { var _levelSelectId = oLevelSelect.getAttribute( "id" ); /* if( ! Fse.SPL._catalogLevelOptions[_levelSelectId] ) { Fse.SPL._catalogLevelOptions[_levelSelectId] = oLevelSelect.cloneNode( true ); } */ if( _levelSelectId == "fp_id"){ return; } var oTemplateSelect = Fse.SPL._catalogLevelOptions[_levelSelectId]; oLevelSelect.selectedIndex = 0; // remove existing options var aOptions = YAHOO.util.Dom.getChildren( oLevelSelect ); for( var x = 0; x < aOptions.length; x++ ) { oLevelSelect.removeChild( aOptions[x] ); } // add the new set var aTemplateOptions = oTemplateSelect.options; for( var x = 0; x < aTemplateOptions.length; x++ ){ var oTemplateOption = aTemplateOptions[x].cloneNode( true ); if( oTemplateOption.value == "?" || ( ! aParentIDs || aParentIDs.length == 0 )) { oLevelSelect.appendChild( oTemplateOption ); } else { var parentId = oTemplateOption.getAttribute( "fse:parentId" ); if( parentId ) { var bFound = false; for( var i = 0; i < aParentIDs.length && !bFound; i++ ) { if( parentId == aParentIDs[i] ) { oLevelSelect.appendChild( oTemplateOption ); bFound = true; } } } } } }; Fse.SPL._catalogLevelOptions = {} ; Fse.SPL._initCatalogLevelSelect = function( oSelect ) { var _levelSelectId = oSelect.getAttribute( "id" ); if( ! Fse.SPL._catalogLevelOptions[_levelSelectId] ) { Fse.SPL._catalogLevelOptions[_levelSelectId] = oSelect.cloneNode( true ); Fse.SPL._catalogLevelOptions[_levelSelectId].selectedIndex = 0; for (var i = 0; i < Fse.SPL._catalogLevelOptions[_levelSelectId].length; i++) { if( _levelSelectId == "fp_id" ){ }else{ Fse.SPL._catalogLevelOptions[_levelSelectId][i].defaultSelected = false; } } } }; Fse.SPL._selectCatalogLevelSelectValue = function( oSelect, sValue ) { oSelect.selectedIndex = 0; for( var x = 0; x < oSelect.options.length && oSelect.selectedIndex == 0; x++ ){ if( oSelect.options[x].value == sValue ) { oSelect.selectedIndex = x; } } }; Fse.SPL.initCatalogLevelSelects = function() { var oLevel4 = document.getElementById( "fp_id4" ); var sLevel4Value = "?"; var oLevel3 = document.getElementById( "fp_id3" ); var sLevel3Value = "?"; var oLevel2 = document.getElementById( "fp_id" ); var sLevel2Value = "?"; oLevel2 = false; if( oLevel4 ) { Fse.SPL._initCatalogLevelSelect( oLevel4 ); sLevel4Value = oLevel4.value; } if( oLevel3 ) { Fse.SPL._initCatalogLevelSelect( oLevel3 ); sLevel3Value = oLevel3.value; if( oLevel4 ) { aLevel4Values = Fse.SPL._getCatalogLevelOptionValues( oLevel4 ); Fse.SPL._filterCatalogLevelSelect( oLevel3, aLevel4Values ); Fse.SPL._selectCatalogLevelSelectValue( oLevel3, sLevel3Value ); } } if( oLevel2 ) { Fse.SPL._initCatalogLevelSelect( oLevel2 ); sLevel2Value = oLevel2.value; if( oLevel3 ) { aLevel3Values = Fse.SPL._getCatalogLevelOptionValues( oLevel3 ); Fse.SPL._filterCatalogLevelSelect( oLevel2, aLevel3Values ); Fse.SPL._selectCatalogLevelSelectValue( oLevel2, sLevel2Value ); } } }; Fse.SPL._getCatalogLevelOptionValues = function( oLevelSelect ) { var aValues = []; if( oLevelSelect.value == "?" ) { var aOptions = YAHOO.util.Dom.getChildren( oLevelSelect ); for( var x = 0; x < aOptions.length; x++ ) { var sValue = aOptions[x].value; if( sValue && sValue != "?" ) { aValues[aValues.length + 1] = sValue; } } } else { aValues[0] = oLevelSelect.value; } return aValues; }; Fse.SPL._buildCatalogLevelStorageArray = function( oLevelSelect ) { var aStorage = []; if( oLevelSelect ) { var aOptions = YAHOO.util.Dom.getChildren( oLevelSelect ); for( var x = 0; x < aOptions.length; x++ ) { aStorage[aStorage.length] = aOptions[x].cloneNode( true ); } } return aStorage; }; Fse.SPL.opportunitySearchManufacturerChanged = function() { var oMfrSelect = document.getElementById( "mfr" ); if( oMfrSelect ) { Fse.SPL.resetPreviewTimeout(); var fnLevel3Loaded = function() { var oL3Select = document.getElementById( "fp_id3" ); if( oL3Select ) { Fse.EventManager.addEventHandler( oL3Select, "change", Fse.SPL.setPreviewTimeout ); Fse.SPL.opportunitySearchCatalogLevel3Changed(); } } var fnBudgetCategoryLoaded = function() { var oBgtCatSelect = document.getElementById( "os_bgtcat" ); if( oBgtCatSelect ) { oBgtCatSelect.value = "?"; Fse.EventManager.addEventHandler( oBgtCatSelect, "change", Fse.SPL.setPreviewTimeout ); } } var sHandlerURL = Fse.SPL.getHandler(); var testExists = document.getElementById( "l3ProductSelectSocket" ); if( testExists ) Fse.Ajax.updateContent( sHandlerURL + "?ajax=getSearchCenterProductSelect&level=3&mfrId=" + oMfrSelect.value, "l3ProductSelectSocket", null, fnLevel3Loaded ) var testExists = document.getElementById( "MfrBudgetCategorySelectSocket" ); if( testExists ) Fse.Ajax.updateContent( sHandlerURL + "?ajax=getSearchCenterBudgetCategorySelect&mfrId=" + oMfrSelect.value, "MfrBudgetCategorySelectSocket", null, fnBudgetCategoryLoaded ) /* , null, fnLevel3Loaded */ } }; Fse.SPL.opportunitySearchCatalogLevel3Changed = function() { var oMfrSelect = document.getElementById( "mfr" ); var oLevel3Select = document.getElementById( "fp_id3" ); if( oLevel3Select && oMfrSelect ) { Fse.SPL.resetPreviewTimeout(); var fnLevel2Loaded = function() { var oSubjectSelect = document.getElementById( "fp_id" ); if( oSubjectSelect ) { Fse.EventManager.addEventHandler( oSubjectSelect, "change", Fse.SPL.setPreviewTimeout ); Fse.SPL.opportunitySearchSubjectChanged( oSubjectSelect ); Fse.SPL.setPreviewTimeout(); } } var sHandlerURL = Fse.SPL.getHandler(); var testExists = document.getElementById( "l2ProductSelectSocket" ); if( testExists ){ Fse.Ajax.updateContent( sHandlerURL + "?ajax=getSearchCenterProductSelect&level=2&parentId=" + oLevel3Select.value + "&mfrId=" + oMfrSelect.value, "l2ProductSelectSocket", null, fnLevel2Loaded ) } } }; Fse.SPL.opportunitySearchPartnerTypeChanged = function( ) { var oPartnerSelect = document.getElementById( "os_pt" ); if( oPartnerSelect ) { var sHandlerURL = Fse.SPL.getHandler(); var testExists = document.getElementById( "classificationDropDownSocket" ); if( testExists ){ Fse.Ajax.updateContent( sHandlerURL + "?ajax=classificationDropDown&partnerTypeSelect=" + oPartnerSelect.value, "classificationDropDownSocket" ) } } } Fse.SPL.opportunitySearchCatalogLevelChanged = function( levelNumber ) { var oLevelSelect = document.getElementById( "fp_id" + levelNumber ); if( oLevelSelect ) { var aValues = Fse.SPL._getCatalogLevelOptionValues( oLevelSelect ); var subLevelNumber = levelNumber - 1; var oSubLevelSelect = null; //changing the call to an ajax update for l2 to support multiple selections and to bring functionality between mfr and bro closer in line if( subLevelNumber != 2 ) { oSubLevelSelect = document.getElementById( "fp_id" + subLevelNumber ); // filter the sub level Fse.SPL._filterCatalogLevelSelect( oSubLevelSelect, aValues ); // let the change ripple downward Fse.SPL.opportunitySearchCatalogLevelChanged( subLevelNumber ); } else { oLevel4Select = document.getElementById( "fp_id4" ); oLevel3Select = document.getElementById( "fp_id3" ); if( oLevel3Select ) { _sendParent3Level2Value = oLevel3Select.value; }else{ _sendParent3Level2Value = "?"; } if( oLevel4Select ) { _sendParent4Level2Value = oLevel4Select.value; }else{ _sendParent4Level2Value = "?"; } if( oLevel3Select || oLevel4Select ) { Fse.SPL.resetPreviewTimeout(); var fnLevel2Loaded = function() { var oSubjectSelect = document.getElementById( "fp_id" ); if( oSubjectSelect ) { Fse.EventManager.addEventHandler( oSubjectSelect, "change", Fse.SPL.setPreviewTimeout ); Fse.SPL.opportunitySearchSubjectChanged( oSubjectSelect ); Fse.SPL.setPreviewTimeout(); } } var sHandlerURL = Fse.SPL.getHandler(); var testExists = document.getElementById( "l2ProductSelectSocket" ); if( testExists ){ Fse.Ajax.updateContent( sHandlerURL + "?ajax=subjectDetailsDropDownLevel2&level=2&parent3Id=" + _sendParent3Level2Value + "&parent4Id=" + _sendParent4Level2Value, "l2ProductSelectSocket", null, fnLevel2Loaded ) } } } } else { // clear the level 2 selection if any var oSubjectSelect = document.getElementById( "fp_id" ); if( oSubjectSelect ) { oSubjectSelect.selectedIndex = 0; Fse.SPL.opportunitySearchSubjectChanged( oSubjectSelect ); } } }; Fse.SPL.onOpportunitySubjectChange = function( oSubjectSelect ) { var sHandlerURL = oSubjectSelect.form.getAttribute( "fse:handlerURL" ); var iProductId = 0; if( oSubjectSelect.value != "" ) { iProductId = oSubjectSelect.value; } var iOpportunityId; if( oSubjectSelect.form.opportunityId ) { iOpportunityId = oSubjectSelect.form.opportunityId.value; } Fse.SPL._loadSKUs( sHandlerURL, iProductId, iOpportunityId ); if( iProductId == 0 ){ alert( "You are required to select a Product for every initiaitve." ); } }; Fse.SPL.opportunitySearchSubjectChanged = function( oSubjectSelect ) { var _multiValues = ""; var options = oSubjectSelect && oSubjectSelect.options; var _isFirstOption = true; for (var i=0, iLen=options.length; i 0 ) { oOptions.csProdId = sSubjectId; } else if ( oSubjectId.getAttribute( "fse:mfrId" ) != null ) { oOptions.csMfrId = oSubjectId.getAttribute( "fse:mfrId" ); } else { oOptions = null; } Fse.Ajax.updateSocket( "competitorSelectSocket", null, oOptions ); } }; Fse.SPL.updateUnitOfMeasure = function( sManufacturer, oForm ) { var oSelect = oForm.elements.SubjectID; var sRequiredQtyField = oSelect.getAttribute( "fse:requiredQtyField" ); var sRequiredQtyFieldChanged = sRequiredQtyField && oForm.elements.currentRequiredQtyField && sRequiredQtyField != oForm.elements.currentRequiredQtyField.value; if( sRequiredQtyFieldChanged ) { var oCaseAmtField = oSelect.form.elements.CaseAmt; var oWeightAmtField = oSelect.form.elements.WeightAmt; var oIncomeAmtField = oSelect.form.elements.IncomeAmt; if( oCaseAmtField && oWeightAmtField && oIncomeAmtField ) { oForm.elements.currentRequiredQtyField.value = sRequiredQtyField; switch( sRequiredQtyField ) { case "caseAmt": oCaseAmtField.setAttribute( "fse:required", "true" ); if( oCaseAmtField.form.elements.aca ) { oCaseAmtField.form.elements.aca.checked = false; oCaseAmtField.form.elements.aca.disabled = true; } oCaseAmtField.value = ""; oCaseAmtField.disabled = false; oWeightAmtField.removeAttribute( "fse:required" ); oWeightAmtField.form.elements.awa.checked = true; oWeightAmtField.form.elements.awa.disabled = false; oWeightAmtField.value = ""; oWeightAmtField.disabled = true; oIncomeAmtField.removeAttribute( "fse:required" ); oIncomeAmtField.form.elements.aia.checked = true; oIncomeAmtField.form.elements.aia.disabled = false; oIncomeAmtField.value = ""; oIncomeAmtField.disabled = true; break; case "weightAmt": oCaseAmtField.removeAttribute( "fse:required" ); oCaseAmtField.form.elements.aca.checked = true; oCaseAmtField.form.elements.aca.disabled = false; oCaseAmtField.value = ""; oCaseAmtField.disabled = true; oWeightAmtField.setAttribute( "fse:required", "true" ); if( oWeightAmtField.form.elements.awa ) { oWeightAmtField.form.elements.awa.checked = false; oWeightAmtField.form.elements.awa.disabled = true; } oWeightAmtField.value = ""; oWeightAmtField.disabled = false; oIncomeAmtField.removeAttribute( "fse:required" ); oIncomeAmtField.form.elements.aia.checked = true; oIncomeAmtField.form.elements.aia.disabled = false; oIncomeAmtField.value = ""; oIncomeAmtField.disabled = true; break; case "incomeAmt": oCaseAmtField.removeAttribute( "fse:required" ); oCaseAmtField.form.elements.aca.checked = true; oCaseAmtField.form.elements.aca.disabled = false; oCaseAmtField.value = ""; oCaseAmtField.disabled = true; oWeightAmtField.removeAttribute( "fse:required" ); oWeightAmtField.form.elements.awa.checked = true; oWeightAmtField.form.elements.awa.disabled = false; oWeightAmtField.value = ""; oWeightAmtField.disabled = true; oIncomeAmtField.setAttribute( "fse:required", "true" ); if( oIncomeAmtField.form.elements.aia ) { oIncomeAmtField.form.elements.aia.checked = false; oIncomeAmtField.form.elements.aia.disabled = true; } oIncomeAmtField.value = ""; oIncomeAmtField.disabled = false; break; default: oCaseAmtField.removeAttribute( "fse:required" ); if( oCaseAmtField.form.elements.aca ) { oCaseAmtField.form.elements.aca.checked = true; oCaseAmtField.form.elements.aca.disabled = false; } oCaseAmtField.value = ""; oCaseAmtField.disabled = true; oWeightAmtField.removeAttribute( "fse:required" ); if( oWeightAmtField.form.elements.awa ) { oWeightAmtField.form.elements.awa.checked = true; oWeightAmtField.form.elements.awa.disabled = false; } oWeightAmtField.value = ""; oWeightAmtField.disabled = true; oIncomeAmtField.removeAttribute( "fse:required" ); if( oIncomeAmtField.form.elements.aia ) { oIncomeAmtField.form.elements.aia.checked = true; oIncomeAmtField.form.elements.aia.disabled = false; } oIncomeAmtField.value = ""; oIncomeAmtField.disabled = true; } oIncomeLabel = document.getElementById( "IncomeAmt_label" ); if( oIncomeLabel ) { if( oIncomeAmtField.getAttribute( "fse:required")) { oIncomeLabel.innerHTML = oIncomeLabel.getAttribute( "fse:content" ) + "*:"; } else { oIncomeLabel.innerHTML = oIncomeLabel.getAttribute( "fse:content" ) + ":"; } } oWeightLabel = document.getElementById( "WeightAmt_label" ); if( oWeightLabel ) { if( oWeightAmtField.getAttribute( "fse:required")) { oWeightLabel.innerHTML = oWeightLabel.getAttribute( "fse:content" ) + "*:"; } else { oWeightLabel.innerHTML = oWeightLabel.getAttribute( "fse:content" ) + ":"; } } oCaseLabel = document.getElementById( "CaseAmt_label" ); if( oCaseLabel ) { if( oCaseAmtField.getAttribute( "fse:required")) { oCaseLabel.innerHTML = oCaseLabel.getAttribute( "fse:content" ) + "*:"; } else { oCaseLabel.innerHTML = oCaseLabel.getAttribute( "fse:content" ) + ":"; } } } } var element = document.getElementById( "quantity_uom" ); if( element ) { var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sURL = sDefaultHandlerURL + "?ajax=getUnitOfMeasure&mfr=" + sManufacturer; var fnUom2 = function() { var oUom2 = document.getElementById( "quantity_uom_2" ); if( oUom2 ) { oUom2.innerHTML = document.getElementById( "quantity_uom" ).innerHTML; } }; Fse.Ajax.updateContent( sURL, "quantity_uom", null, fnUom2 ); } }; Fse.SPL.onPartnerPicked = function( oRequest ) { var _partnerId = Fse.Ajax.getResponseHeader( oRequest, "x-fse-fnd-partnerid" ); var _partnerType = Fse.Ajax.getResponseHeader( oRequest, "x-fse-fnd-partnertype" ); var _partnerName = Fse.Ajax.getResponseHeader( oRequest, "x-fse-fnd-partnername" ); Fse.SPL.setPickedPartner( _partnerType, _partnerId, _partnerName ); }; Fse.SPL.setPickedPartner = function( sPartnerType, nPartnerId, sPartnerName ) { var oLink = document.getElementById( "pickPartnerLink" ); var oPartnerIdField = document.getElementById( "partnerId" ); if( oLink && oPartnerIdField ) { oPartnerIdField.value = nPartnerId; oPartnerIdField.form.elements.__partnerName.value = sPartnerName; oLink.innerHTML = "Change"; var oProductSelectSocket = document.getElementById( "productSelectSocket" ); if( oProductSelectSocket && oProductSelectSocket.getAttribute( "fse:queryString" )) { var sURL = Fse.Util.updateURL( "http://bogus/index.cfm?" + oProductSelectSocket.getAttribute( "fse:queryString" ), { partnerId : nPartnerId, partnerType : sPartnerType } ); var aParts = sURL.split( "?" ) var sQueryString = aParts[1]; oProductSelectSocket.setAttribute( "fse:queryString", sQueryString ); } Fse.SPL.onPartnerChange( oPartnerIdField ); Fse.Ajax.updateSocket( "salesPersonUserIdSocket", null, { partnerId : nPartnerId, partnerType : sPartnerType, territoryId : 0 } ); var fnTest = function( e ) { return true; } var aSelects = YAHOO.util.Dom.getElementsBy( fnTest, "select", oProductSelectSocket ); if( aSelects.length == 1 ) { Fse.SPL.updateProductSelect( aSelects[0], { useDistributor : false } ); } } }; Fse.SPL.onPartnerChange = function( oSelect ) { var sPartnerSelectValue = oSelect.value; var oLink = document.getElementById( "splHandlerLink" ); if( isFinite( sPartnerSelectValue )) { var oRefDistributorSocket = document.getElementById( "refDistributorSocket" ); if( oRefDistributorSocket ) { var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sQueryString = oRefDistributorSocket.getAttribute( "fse:queryString" ); var sURL = sDefaultHandlerURL + "?" + sQueryString; sURL = sURL.replace( /\?(?=\?)/, "" ); sURL = Fse.SPL.updateURL( sURL, { operatorId : sPartnerSelectValue } ); Fse.Ajax.updateContent( sURL, "refDistributorSocket" ); } var oSocket = document.getElementById( "partnerContactSelectSocket" ); if( oSocket ) { var sQueryString = oSocket.getAttribute( "fse:queryString" ); sQueryString = Fse.SPL.updateURL( sQueryString, { partnerId : sPartnerSelectValue, partnerType: oSelect.form.elements.partnerType.value } ); Fse.Ajax.updateContent( sQueryString, "partnerContactSelectSocket" ); } var oSocket = document.getElementById( "editOpportunityPartnerFields" ); if( oSocket ) { var sQueryString = oSocket.getAttribute( "fse:queryString" ); sQueryString = Fse.SPL.updateURL( sQueryString, { partnerId : sPartnerSelectValue, partnerType: oSelect.form.elements.partnerType.value } ); Fse.Ajax.updateContent( sQueryString, "editOpportunityPartnerFields" ); } Fse.Ajax.updateSocket( "salesPersonSelectSocket", null, { partnerId : sPartnerSelectValue, partnerType: oSelect.form.elements.partnerType.value, territoryId : 0 } ); var oSocket = document.getElementById( "editOpportunityPartnerFields" ); if( oSocket ) { var sQueryString = oSocket.getAttribute( "fse:queryString" ); sQueryString = Fse.SPL.updateURL( sQueryString, { partnerId : sPartnerSelectValue, partnerType: oSelect.form.elements.partnerType.value } ); Fse.Ajax.updateContent( sQueryString, "editOpportunityPartnerFields" ); } } else { // user has selected a territory to drill into var oPartnerSelectSocket = document.getElementById( "partnerSelectSocket" ); if( oPartnerSelectSocket ) { /* force back to nothing selected */ var oRefDistributorSocket = document.getElementById( "refDistributorSocket" ); if( oRefDistributorSocket ) { var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sQueryString = oRefDistributorSocket.getAttribute( "fse:queryString" ); var sURL = sDefaultHandlerURL + "?" + sQueryString; sURL = sURL.replace( /\?(?=\?)/, "" ); sURL = Fse.SPL.updateURL( sURL, { operatorId : 0 } ); Fse.Ajax.updateContent( sURL, "refDistributorSocket" ); } /* force back to nothing selected */ var oSocket = document.getElementById( "partnerContactSelectSocket" ); if( oSocket ) { var sQueryString = oSocket.getAttribute( "fse:queryString" ); sQueryString = Fse.SPL.updateURL( sQueryString, { partnerId : 0, partnerType: oSelect.form.elements.partnerType.value } ); Fse.Ajax.updateContent( sQueryString, "partnerContactSelectSocket" ); } var oSocket = document.getElementById( "editOpportunityPartnerFields" ); if( oSocket ) { var sQueryString = oSocket.getAttribute( "fse:queryString" ); sQueryString = Fse.SPL.updateURL( sQueryString, { partnerId : 0, partnerType: oSelect.form.elements.partnerType.value } ); Fse.Ajax.updateContent( sQueryString, "editOpportunityPartnerFields" ); } /* retrieve revised partner select */ var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sQueryString = oPartnerSelectSocket.getAttribute( "fse:queryString" ); var sURL = sDefaultHandlerURL + "?" + sQueryString; sURL = sURL.replace( /\?(?=\?)/, "" ); sURL = Fse.SPL.updateURL( sURL, { selectCode : sPartnerSelectValue } ); oSelect.options[oSelect.selectedIndex].innerHTML = "Loading, please wait..."; oSelect.disabled = true; // oPartnerSelectSocket.innerHTML = "Loading, please wait..."; Fse.Ajax.updateContent( sURL, "partnerSelectSocket" ); } } }; Fse.SPL.updateURL = function( sURL, oNewParameters ) { for( var sParam in oNewParameters ) { var sValue = oNewParameters[sParam]; var sQueryStringParam = sParam + "=" + encodeURIComponent( sValue ); var reParamSearch = new RegExp( sParam + "=", "i" ); if( sURL.search( reParamSearch ) >= 0 ) { var rParam = new RegExp ( sParam + "=[^&]*", "i" ); sURL = sURL.replace( rParam, sQueryStringParam ); } else { if( sURL.length > 0 ) { sURL = sURL + "&" + sQueryStringParam; } else { sURL = sQueryStringParam; } } } return sURL; /* var aParts = sNewQueryString.split( "&" ); for( var iPartIdx = 0; iPartIdx < aParts.length; iPartIdx++ ) { var sQueryStringParam = aParts[iPartIdx]; var aParsed = sQueryStringParam.split( "=" ); var sParam = aParsed[0]; var sValue = aParsed[1]; var reParamSearch = new RegExp( sParam + "=", "i" ); if( sQueryString.search( reParamSearch ) >= 0 ) { var rParam = new RegExp ( sParam + "=[^&]*", "i" ); sQueryString = sQueryString.replace( rParam, sQueryStringParam ); } else { if( sQueryString.length > 0 ) { sQueryString = sQueryString + "&" + sQueryStringParam; } else { sQueryString = sQueryStringParam; } } } if( sParametersToSuppress ) { var aParameters = sParametersToSuppress.split( "," ); var oParametersToSuppress = {} for( var pIdx = 0; pIdx < aParameters.length; pIdx++ ) { oParametersToSuppress[aParameters[pIdx].toLowerCase()] = true; } var sNewQueryString = ""; var aQueryStringParameters = sQueryString.split( "&" ); for( var qIdx = 0; qIdx < aQueryStringParameters.length; qIdx++ ) { var aParts = aQueryStringParameters[qIdx].split( "=" ); if( ! oParametersToSuppress[aParts[0].toLowerCase()]) { if( sNewQueryString != "" ) { sNewQueryString = sNewQueryString + "&"; } sNewQueryString = sNewQueryString + aQueryStringParameters[qIdx]; } } sQueryString = sNewQueryString; } var sLocation = sURL; if( sQueryString.length > 0 ) { sLocation = sLocation + "?" + sQueryString; } return sLocation; */ }; Fse.SPL.onContactChange = function( oSelect ) { var oOption = oSelect.options[oSelect.selectedIndex]; var oNewTitle = document.getElementById( "newTitle" ); var oNewFirstName = document.getElementById( "newFirstName" ); var oNewLastName = document.getElementById( "newLastName" ); var oNewPhone = document.getElementById( "newPhone" ); var oNewPhoneExt = document.getElementById( "newPhoneExt" ); var oNewEmail = document.getElementById( "newEmail" ); var oNewSalutation = document.getElementById( "newSalutation" ); var sValue = oOption.value; if( sValue == "" || sValue == -1 ) { // nothing picked disabled the contact fields oNewTitle.value = ""; oNewTitle.disabled = true; oNewFirstName.value = ""; oNewFirstName.disabled = true; oNewLastName.value = ""; oNewLastName.disabled = true; oNewEmail.value = ""; oNewEmail.disabled = true; oNewPhone.value = ""; oNewPhone.disabled = true; oNewPhoneExt.value = ""; oNewPhoneExt.disabled = true; oNewSalutation.value = ""; oNewSalutation.selectedIndex = 0; oNewSalutation.disabled = true; } else if ( sValue == "0" ) { // new contact picked, enabled the contact fields and clear them oNewTitle.value = ""; oNewTitle.disabled = false; oNewFirstName.value = ""; oNewFirstName.disabled = false; oNewLastName.value = ""; oNewLastName.disabled = false; oNewEmail.value = ""; oNewEmail.disabled = false; oNewPhone.value = ""; oNewPhone.disabled = false; oNewPhoneExt.value = ""; oNewPhoneExt.disabled = false; oNewSalutation.value = ""; oNewSalutation.selectedIndex = 0; oNewSalutation.disabled = false; } else { // must be an acutal contact, disable the fields and populate oNewTitle.disabled = false; oNewTitle.value = oOption.getAttribute( "cTitle" ); oNewFirstName.disabled = false; oNewFirstName.value = oOption.getAttribute( "cFirstName" ); oNewLastName.disabled = false;oNewLastName.value = oOption.getAttribute( "cLastName" ); oNewEmail.disabled = false; oNewEmail.value = oOption.getAttribute( "cEmail" ); oNewPhone.disabled = false; oNewPhone.value = oOption.getAttribute( "cPhone" ); oNewPhoneExt.disabled = false; oNewPhoneExt.value = oOption.getAttribute( "cPhoneExt" ); oNewSalutation.disabled = false; oNewSalutation.value = oOption.getAttribute( "cSalutation" ); } }; Fse.SPL.preValidateCreateOpportunity = function( oForm ) { var aPreValidatedFields = new Array(); if( oForm.contactId.value == "" || oForm.contactId.value > 0 || oForm.newFirstName.value != "" || oForm.newLastName.value != "" ) { aPreValidatedFields[ "newFirstName" ] = true; aPreValidatedFields[ "newLastName" ] = true; } return aPreValidatedFields; }; Fse.SPL.postValidateOpportunityEdit2 = function( oForm ) { Fse.Ajax.showWait( 1, "Saving, please wait..." ); return true; }; Fse.SPL.postValidateOpportunityEdit = function( oForm ) { if( Fse.SPL._doSKURequiredCheck( oForm, true ) ) { if( Fse.SPL._doSaleConfirmationCheck( oForm ) ) { Fse.Ajax.showWait( 1, "Saving, please wait..." ); return true; } else { return false; } } else { return false; } }; Fse.SPL._doSKURequiredCheck = function( oForm, bAlert ) { var bPassFail = false; var oRequireSKU = oForm.elements.requireSKU; if( oRequireSKU ) { if( oRequireSKU.value == "Y" ) { // flag is Yes so we must have a SKU // look at all fields on the form and check those with the proper name until one is found that is checked // note in FireFox (maybe IE too) for some reason oForm.elements.SubjectDetailID doesn't return a field // nor does oForm.SubjectDetailID for( var x = 0; x < oForm.elements.length; x++ ) { var oField = oForm.elements[x]; if( oField.name == "SubjectDetailID" ) { bPassFail = oField.checked; if( bPassFail ) break; } } } else { // flag isn't Yes so a SKU isn't required bPassFail = true; } } else { // flag doesn't exist so a SKU isn't required bPassFail = true; } if( ! bPassFail && bAlert ) { alert( "Opportunities at this Stage require a SKU" ) } return bPassFail; }; Fse.SPL._doSaleConfirmationCheck = function( oForm ) { if( oForm.elements.confConfirmation && ! oForm.elements.confConfirmation.disabled ) { if( ! oForm.elements.confConfirmation.checked ) { alert( "You must confirm the Estimated Order Date and Quantity when the Opportunity status is 'Sale'") return false; } else { return true; } } else { return true; } }; Fse.SPL.preValidateOpportunityEdit2 = function( oForm ) { var aPreValidatedFields = new Array(); return aPreValidatedFields; }; Fse.SPL.preValidateOpportunityEdit = function( oForm ) { var aPreValidatedFields = new Array(); if( oForm.ContactID && ( oForm.ContactID.value == "" || oForm.ContactID.value > 0 )) { aPreValidatedFields[ "NewContactFirstName" ] = true; aPreValidatedFields[ "NewContactLastName" ] = true; aPreValidatedFields[ "NewContactEmail" ] = true; aPreValidatedFields[ "NewContactTitle" ] = true; aPreValidatedFields[ "NewContactHonorific" ] = true; } if(oForm.durationUnit.value == "YR") { aPreValidatedFields[ "durationAmt" ] = true; } if( oForm.NewCustomCode && ! oForm.NewCustomCode.checked ) { var oPRFRequiredFields = document.getElementById( "PRF-REQUIRED-FIELDS" ); if( oPRFRequiredFields ) { var sFieldList = oPRFRequiredFields.value; var aFieldsToSkip = sFieldList.split( "," ); for( var x = 0; x < aFieldsToSkip.length; x++ ) { aPreValidatedFields[ aFieldsToSkip[x] ] = true; } } } return aPreValidatedFields; }; Fse.SPL.onOpportunityTimeframeChange = function( oDurationUnitSelect ) { var sTimeFrameCode = oDurationUnitSelect.value; var oOption = oDurationUnitSelect.options[oDurationUnitSelect.selectedIndex ]; var sLabel = oOption.getAttribute( "quantityLabel" ); var oLabel = document.getElementById( "durationAmt_label" ); if( oLabel ) { oLabel.innerHTML = sLabel; } var oElement = document.getElementById( "duration_unit_fields" ); if( oElement ) { // var sDisplay = "inline"; var oField = document.getElementById( "durationAmt" ); if( sTimeFrameCode == "YR" ) { // sDisplay = "none"; oField.holdValue = oField.value; oField.value = 1; oField.disabled = true; YAHOO.util.Dom.addClass( oElement, "fse-hidden" ); } else { oField.disabled = false; if( oField.holdValue ) { oField.value = oField.holdValue; } YAHOO.util.Dom.removeClass( oElement, "fse-hidden" ); } // oElement.style.display = sDisplay; } Fse.SPL.calculateOpportunity(); }; Fse.SPL.calculateOpportunity = function() { // var adjRate; var oIncomeUnitLabel = document.getElementById( "incomeUnitLabel" ); var oCaseUnitLabel = document.getElementById( "caseUnitLabel" ); var oWeightUnitLabel = document.getElementById( "weightUnitLabel" ); var oConfQuantitySrcField = null; var oDurationUnit = document.getElementById( "durationUnit" ); if( oDurationUnit.value == "WK" ) { if ( oCaseUnitLabel ) { oCaseUnitLabel.innerHTML = "total TY"; } if ( oIncomeUnitLabel ) { oIncomeUnitLabel.innerHTML = "total TY"; } if ( oWeightUnitLabel ) { oWeightUnitLabel.innerHTML = "total TY"; } /* YAHOO.util.Dom.addClass( "prorateMessage", "fse-hidden" ); YAHOO.util.Dom.addClass( "prorateMessageWeight", "fse-hidden" ); YAHOO.util.Dom.addClass( "prorateMessageIncome", "fse-hidden" ); */ // adjRate = 1; } else { var sRecurringLabel = "annual"; if( oDurationUnit.form.elements.editDurationUnit && oDurationUnit.form.elements.editDurationUnit.value == "WK" ) { sRecurringLabel = "weekly"; } if ( oCaseUnitLabel ) { oCaseUnitLabel.innerHTML = sRecurringLabel; } if ( oIncomeUnitLabel ) { oIncomeUnitLabel.innerHTML = sRecurringLabel; } if ( oWeightUnitLabel ) { oWeightUnitLabel.innerHTML = sRecurringLabel; } // document.getElementById( "quantityUnitLabel" ).innerHTML = "annual"; // document.getElementById( "incomeUnitLabel" ).innerHTML = "annual"; /* YAHOO.util.Dom.removeClass( "prorateMessage", "fse-hidden" ); YAHOO.util.Dom.removeClass( "prorateMessageWeight", "fse-hidden" ); YAHOO.util.Dom.removeClass( "prorateMessageIncome", "fse-hidden" ); */ /* try { var sAvailableDateText = document.getElementById( "availableDate" ).value; if( sAvailableDateText == "" ) { adjRate = 0; } else { var availableDate = new Date( Date.parse( sAvailableDateText )); // var availableDate = YAHOO.widget.DateMath.getFirstDayOfWeek( availableDate ); var weekNumber = YAHOO.widget.DateMath.getWeekNumber( availableDate ); var weeks; if( YAHOO.widget.DateMath.isYearOverlapWeek( availableDate )) { if( availableDate.getMonth() == 0 ) { weeks = 52; } else { weeks = 1; } } else { weeks = 53 - weekNumber; } adjRate = weeks / 52; } } catch ( xxx ) { alert( xxx.message ); adjRate = 0; } */ } /* var oQuantityAmt = document.getElementById( "QuantityAmt" ); if( oQuantityAmt ) { var nQuantityAmt = Math.round( Fse.FormManager.cleanseNumericValue( oQuantityAmt.value ) * adjRate ); document.getElementById( "adjQuantityAmt" ).innerHTML = "" + nQuantityAmt; } var oIncomeAmt = document.getElementById( "IncomeAmt" ); if( oIncomeAmt ) { var nIncomeAmt = Math.round( Fse.FormManager.cleanseNumericValue( oIncomeAmt.value ) * adjRate ); document.getElementById( "adjIncomeAmt" ).innerHTML = "" + nIncomeAmt; } */ var sParams = "ajax=prorate"; var oDurationUnit = document.getElementById( "durationUnit" ); if( oDurationUnit.value == "WK" ) { sParams = sParams + "&type=LTO"; } else { sParams = sParams + "&type=ANNUAL"; if( oDurationUnit.form.elements.annualVolumeFactor ) { sParams = sParams + "&annualVolumeFactor=" + oDurationUnit.form.elements.annualVolumeFactor.value; } } var oAvailableDate = document.getElementById( "availableDate" ) if( oAvailableDate.form.elements.confConfirmation ) { oAvailableDate.form.elements.confConfirmation.checked = false; oAvailableDate.form.elements.confAvailableDate.value = oAvailableDate.value; } var sAvailableDateText = oAvailableDate.value; sParams = sParams + "&availableDate=" + encodeURIComponent( sAvailableDateText ); var oCaseAmt = document.getElementById( "CaseAmt" ); var nCaseAmt = 0; if( oCaseAmt ) { nCaseAmt = Math.round( Fse.FormManager.cleanseNumericValue( oCaseAmt.value )); if( oCaseAmt.getAttribute( "fse:required" )) { oConfQuantitySrcField = oCaseAmt; } } sParams = sParams + "&caseAmt=" + encodeURIComponent( nCaseAmt ); var oIncomeAmt = document.getElementById( "IncomeAmt" ); var nIncomeAmt = 0; if( oIncomeAmt ) { nIncomeAmt = Math.round( Fse.FormManager.cleanseNumericValue( oIncomeAmt.value )); if( oIncomeAmt.getAttribute( "fse:required" )) { oConfQuantitySrcField = oIncomeAmt; } } sParams = sParams + "&dollarAmt=" + encodeURIComponent( nIncomeAmt ); var oWeightAmt = document.getElementById( "WeightAmt" ); var nWeightAmt = 0; if( oWeightAmt ) { nWeightAmt = Math.round( Fse.FormManager.cleanseNumericValue( oWeightAmt.value )); if( oWeightAmt.getAttribute( "fse:required" )) { oConfQuantitySrcField = oWeightAmt; } } sParams = sParams + "&weightAmt=" + encodeURIComponent( nWeightAmt ); if( oConfQuantitySrcField && oConfQuantitySrcField.form.elements.confConfirmation ) { oConfQuantitySrcField.form.elements.confConfirmation.checked = false; oConfQuantitySrcField.form.elements.confQuantityAmt.value = oConfQuantitySrcField.value; } var oMfrId = oAvailableDate.form.elements["mfrId"]; if( oMfrId ) { sParams = sParams + "&mfrId=" + encodeURIComponent( oMfrId.value ); } var sURL = Fse.SPL.getHandler() + "?" + sParams; Fse.Ajax.getURL( sURL, Fse.SPL.onProrateResponse ); /* var oFinMarginAmt = document.getElementById( "FinMarginAmt" ); if( oFinMarginAmt && oQuantityAmt ) { var nFinMarginAmt = oFinMarginAmt.value; var nQuantityAmt = oQuantityAmt.value; var nCalculatedMargin = 0.0; if( nFinMarginAmt > 0 && nQuantityAmt > 0 ) { nCalculatedMargin = nQuantityAmt * nFinMarginAmt; } document.getElementById( "calculated-margin" ).innerHTML = "" + nCalculatedMargin; } */ }; Fse.SPL.onProrateResponse = function( oRequest ) { var sResponseText = oRequest.xhRequest.responseText; if( sResponseText.trim() == "" ) { return; } var oResult; eval( "oResult = " + sResponseText + ";" ); var oAvailableDate = document.getElementById( "availableDate" ); if( oAvailableDate ) { oAvailableDate.value = oResult.availableDateUsedFieldValue; } var oCaseAmt = document.getElementById( "CaseAmt" ); if( oCaseAmt ) { document.getElementById( "adjCaseAmt" ).innerHTML = "" + oResult.proratedCaseAmtTxt; document.getElementById( "adjCaseAmt_NY" ).innerHTML = "" + oResult.nyCaseAmtTxt; document.getElementById( "adjCaseFY" ).innerHTML = "" + oResult.fiscalYear; document.getElementById( "adjCaseFY_NY" ).innerHTML = "" + ( oResult.fiscalYear + 1 ); } var oIncomeAmt = document.getElementById( "IncomeAmt" ); if( oIncomeAmt ) { document.getElementById( "adjIncomeAmt" ).innerHTML = "" + oResult.proratedDollarAmtTxt; document.getElementById( "adjIncomeAmt_NY" ).innerHTML = "" + oResult.nyDollarAmtTxt; document.getElementById( "adjIncomeFY" ).innerHTML = "" + oResult.fiscalYear; document.getElementById( "adjIncomeFY_NY" ).innerHTML = "" + ( oResult.fiscalYear + 1 ); } var oWeightAmt = document.getElementById( "WeightAmt" ); if( oWeightAmt ) { document.getElementById( "adjWeightAmt" ).innerHTML = "" + oResult.proratedWeightAmtTxt; document.getElementById( "adjWeightAmt_NY" ).innerHTML = "" + oResult.nyWeightAmtTxt; document.getElementById( "adjWeightFY" ).innerHTML = "" + oResult.fiscalYear; document.getElementById( "adjWeightFY_NY" ).innerHTML = "" + ( oResult.fiscalYear + 1 ); } var oForm = YAHOO.util.Dom.getAncestorByTagName( oCaseAmt, "form" ); if( oForm ) { var aElements = YAHOO.util.Dom.getElementsByClassName( "PlanEndDate", "span", oForm ); for( var x = 0; x < aElements.length; x++ ) { aElements[x].innerHTML = oResult.fiscalYearEndDateTxt; } } else { alert( "Can't find the form!!!" ); } }; Fse.SPL.showCreateOpportunityDialog = function( oOptions ) { var fnCallback; if( oOptions.onSuccess ) { fnCallback = oOptions.onSuccess; } else { var sSocketName = oOptions.socketId; if( ! sSocketName ) { sSocketName = "splSocket"; oSplSocket = document.getElementById( sSocketName + oOptions.partnerType ); if( ! oSplSocket ) { oSplSocket = document.getElementById( sSocketName ); } else { sSocketName = sSocketName + oOptions.partnerType; } } else { oSplSocket = document.getElementById( sSocketName ); } var sHandlerURL = oSplSocket.getAttribute( "fse:handlerURL" ); if( ! sHandlerURL ) { var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); sHandlerURL = sDefaultHandlerURL; } var sRefreshURL = oSplSocket.getAttribute( "fse:queryString" ); if( sRefreshURL ) { if( sRefreshURL.match( /^\?.*/ )) { var sRefreshURL = sHandlerURL + sRefreshURL; } fnCallback = function() { Fse.Ajax.updateContent( sRefreshURL, oSplSocket.getAttribute( "id" )); }; } } Fse.SPL.showEditOpportunityDialog( 0, 0, fnCallback, oOptions ); }; Fse.SPL.showCreateOpportunityDialog_obsolete = function( oOptions ) { var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); // alert( sDefaultHandlerURL ); var oSplSocket; var sSocketName = oOptions.socketId; if( ! sSocketName ) { sSocketName = "splSocket"; oSplSocket = document.getElementById( sSocketName + oOptions.partnerType ); if( ! oSplSocket ) { oSplSocket = document.getElementById( sSocketName ); } else { sSocketName = sSocketName + oOptions.partnerType; } } else { oSplSocket = document.getElementById( sSocketName ); } if( oSplSocket ) { var sHandlerURL = oSplSocket.getAttribute( "fse:handlerURL" ); if( ! sHandlerURL ) { sHandlerURL = sDefaultHandlerURL; } var _qStr; if ( oOptions.srcId ) { _qStr = sHandlerURL + "?ajax=createOpportunityDialogBody&srcId=" + oOptions.srcId + "&srcTk=" + oOptions.srcTk; } else { _qStr = sHandlerURL + "?ajax=createOpportunityDialogBody&partnerId=" + oOptions.partnerId + "&partnerType=" + oOptions.partnerType; if( oOptions.campaignId ) { _qStr = _qStr + "&campaignId=" + oOptions.campaignId; } if( oOptions.mfrId ) { _qStr = _qStr + "&mfrId=" + oOptions.mfrId; } if( oOptions.territoryId || oOptions.territoryId == 0 ) { _qStr = _qStr + "&tid=" + oOptions.territoryId; } if( oOptions.territoryTk ) { _qStr = _qStr + "&ttk=" + oOptions.territoryTk; } if( oOptions.mktCategoryId || oOptions.mktCategoryId == 0 ) { _qStr = _qStr + "&mktCategoryId=" + oOptions.mktCategoryId; } if( oOptions.mktSubCategoryId || oOptions.mktSubCategoryId == 0 ) { _qStr = _qStr + "&mktSubCategoryId=" + oOptions.mktSubCategoryId; } if( oOptions.bgtCatId || oOptions.bgtCatId == 0 ) { _qStr = _qStr + "&bgtCatId=" + oOptions.bgtCatId; } } if( oOptions.objectiveId ) { _qStr = _qStr + "&objectiveId=" + oOptions.objectiveId; } if( oOptions.salesPersonUserId ) { _qStr = _qStr + "&salesPersonUserId=" + oOptions.salesPersonUserId; } var _onSuccess = function() { // does nothing }; var sRefreshURL = oSplSocket.getAttribute( "fse:queryString" ); if( sRefreshURL ) { if( sRefreshURL.match( /^\?.*/ )) { var sRefreshURL = sHandlerURL + sRefreshURL; } _onSuccess = function() { Fse.Ajax.updateContent( sRefreshURL, oSplSocket.getAttribute( "id" )); }; } if( oOptions.onSuccess ) { _onSuccess = oOptions.onSuccess; } var _dialogId = "CreateOpportunityDialog" + oOptions.partnerType + "$"; if( oOptions.partnerType == "OPR" ) { sTitle = "Create Operator Opportunity"; } else if ( oOptions.partnerType == "CDR" ) { sTitle = "Create Distributor Opportunity"; } else { sTitle = "Create Opportunity"; } var _options = { src : _qStr, onSuccess : _onSuccess, title : sTitle, width : "525px" }; _options.beforeRenderEvent = function() { var oDialog = YAHOO.Fse.Dialogs[_dialogId]; oDialog.tabView = new YAHOO.widget.TabView('addOpportunityDialog-tab-set'); }; Fse.DialogManager.show( _dialogId, _options ); } else { alert( "Can't find SPL Socket" ); } }; Fse.SPL.newOpportunity = function( iPartnerId, sPartnerType, iCampaignId, iSalesPersonId, iMfrId, bReload, fnReload ) { var oOptions = { partnerId : iPartnerId, partnerType : sPartnerType, campaignId : iCampaignId, salesPersonUserId : iSalesPersonId, mfrId : iMfrId }; if( bReload ) { if( fnReload ) { oOptions.onSuccess = fnReload; } else { oOptions.onSuccess = function() { window.location.reload( false ); }; } } Fse.SPL.showCreateOpportunityDialog( oOptions ); }; Fse.SPL.newObjectiveOpportunity = function(iObjectiveId, sPartnerType, iSalesPersonId ) { var oOptions = { partnerId : 0, partnerType : sPartnerType, objectiveId : iObjectiveId, salesPersonUserId : iSalesPersonId, onSuccess : function() { window.location.reload( false ) } }; Fse.SPL.showCreateOpportunityDialog( oOptions ); }; Fse.SPL.newOpportunityX_obsolete = function( iPartnerId, sPartnerType, iCampaignId, iUserId, iMfrId ) { var oSplSocket; oSplSocket = document.getElementById( "splSocket" + sPartnerType ); if( ! oSplSocket ) { oSplSocket = document.getElementById( "splSocket" ); } if( oSplSocket ) { var sHandlerURL = oSplSocket.getAttribute( "fse:handlerURL" ); var _qStr = sHandlerURL + "?ajax=createOpportunityDialogBody&partnerId=" + iPartnerId + "&partnerType=" + sPartnerType; if( iCampaignId ) { _qStr = _qStr + "&campaignId=" + iCampaignId; } if( iUserId ) { _qStr = _qStr + "&userId=" + iUserId; } if( iMfrId ) { _qStr = _qStr + "&mfrId=" + iMfrId; } var _dialogId = "CreateOpportunityDialog" + sPartnerType; var _options = { src : _qStr }; Fse.DialogManager.show( _dialogId, _options ); } else { alert( "Can't find SPL Socket" ); } }; Fse.SPL.editOpportunity = function ( sURL ) { Fse.Ajax.updateContent( sURL, "splSocket" ); }; Fse.SPL.deleteOpportunity = function( iOpportunityId ) { var oForm = document.getElementById( "frm_deleteOpportunity3" ); if( oForm ) { if( confirm( "Delete this Opportunity?")) { oForm.opportunityId.value = iOpportunityId; Fse.Ajax.sendForm( oForm ); Fse.SPL.aoeReload(); } return; } oForm = document.getElementById( "frm_deleteOpportunity" ); if( ! oForm ) { oForm = document.getElementById( "frm_deleteOpportunity2" ); } if( oForm && confirm( "Delete this Opportunity?" )) { oForm.opportunityId.value = iOpportunityId; Fse.Ajax.sendForm( oForm ); Fse.SPL.showOpportunityList(); } }; Fse.SPL.saveOpportunity = function() { var oForm = document.editOpportunity; if( Fse.FormManager.submit( oForm, false )) { var oRequest = Fse.Ajax.sendForm( oForm ); if( oRequest.status == 200 ) { var sView = oRequest.getResponseHeader( "view" ); if( sView == "url" ) { var sLocation = oRequest.getResponseHeader( "location" ); Fse.Ajax.updateContent( sLocation, "splSocket" ); window.scrollTo( 0, 0 ); } else { Fse.SPL.showOpportunityList(); } } else { alert( "An error has occured. Please try again later." ); } } }; Fse.SPL.editSalesCall = function(oppId, oppIdtk) { var sURL = Fse.Util.updateURL( Fse.SPL.getHandler() + "?ajax=getOpportunityMostRecentInteraction", { opportunityId:oppId }); var fnOnReturn = function( oSpryRequest ) { var xhRequest = oSpryRequest.xhRequest; var mriId = xhRequest.getResponseHeader( "x-fse-mriId" ); var skuHighlightId = xhRequest.getResponseHeader( "x-fse-skuHighlightId" ); if( mriId == null || mriId == "0" ) { alert("sales call not found"); } else { Fse.CLOS.openInteractionDialog( mriId, null, null, null, null, null, skuHighlightId ); } }; Fse.Ajax.getURL( sURL, fnOnReturn ); } Fse.SPL.getHandlerURL = function() { var oSplSocket = document.getElementById( "splSocket" ); var sHandlerURL; if( oSplSocket ) { sHandlerURL = oSplSocket.getAttribute( "fse:handlerURL" ); } return sHandlerURL; }; Fse.SPL.showApprovalPending = function( iOpportunityId, iOpportunityTk, iFromStage, iToStage ) { var sHandlerURL = Fse.SPL.getHandlerURL(); if( sHandlerURL ) { var sQueryString = sHandlerURL + "?ajax=approvalPendingPanel&opportunityId=" + iOpportunityId + "&opportunityTk=" + iOpportunityTk + "&fromStage=" + iFromStage + "&toStage=" + iToStage; var oOptions = {}; oOptions.src = sQueryString; oOptions.title = "Approval Pending"; Fse.DialogManager.show( "splPopupNotification", oOptions ); } }; Fse.SPL.showOpportunityList = function() { if( ! Fse.SPL.aoeReload() ) { var oSplSocket = document.getElementById( "splSocket" ); if( oSplSocket ) { var sQueryString = oSplSocket.getAttribute( "fse:listURL" ); if( sQueryString ) { window.scrollTo( 0, 0 ); Fse.Ajax.updateContent( sQueryString, "splSocket" ); } else { sQueryString = oSplSocket.getAttribute( "fse:listLink" ); if( ! sQueryString ) { sQueryString = oSplSocket.getAttribute( "fse:handlerURL" ); } if( sQueryString ) { window.location.href = sQueryString; } } } } }; Fse.SPL.cancelOpportunity = function() { Fse.SPL.showOpportunityList(); }; Fse.SPL.notifyOptionChanged = function( bChecked ) { var oNotificationMessageRow = document.getElementById( "notificationMessageRow" ); var oNotifyMessage = document.getElementById( "notifyMessage" ); if( bChecked ) { YAHOO.util.Dom.removeClass( oNotificationMessageRow, "fse-hidden" ); // oNotifyMessage.setAttribute( "fse:required", true ); oNotifyMessage.disabled = false; // oNotifyMessage.value = "Enter your message here"; oNotifyMessage.focus(); // oNotifyMessage.select(); } else { YAHOO.util.Dom.addClass( oNotificationMessageRow, "fse-hidden" ); oNotifyMessage.disabled = true; // oNotifyMessage.removeAttribute( "fse:required" ); // oNotifyMessage.value = ""; } return true; }; Fse.SPL.onCodeTypeChange = function( oCustomCodeSelect ) { var oPRF = document.getElementById( "spl-prf-panel" ); if( oPRF ) { var sDisplay; if( oCustomCodeSelect.value == "Y" ) { sDisplay = "block"; } else { sDisplay = "none"; } oPRF.style.display = sDisplay; } return true; }; Fse.SPL.onCustomCodeChange = function( bChecked ) { var oPRF = document.getElementById( "spl-prf-panel" ); if( oPRF ) { var sDisplay; if( bChecked ) { sDisplay = "block"; } else { sDisplay = "none"; } oPRF.style.display = sDisplay; } return true; }; Fse.SPL.toggleOpportunities = function( oControlRow ) { var sCollectionClass = oControlRow.getAttribute( "fse:collectionClass" ); var aRows = YAHOO.util.Dom.getElementsByClassName( sCollectionClass, "tr", oControlRow.parentNode ); var bClose = YAHOO.util.Dom.hasClass( oControlRow, "open" ) for( var x = 0; x < aRows.length; x++ ) { if( bClose ) { YAHOO.util.Dom.addClass( aRows[x], "fse-hidden" ); /* there is the potential for the sub row to have sub rows so check if it is a level 2 control row and if so close it's sub rows as well */ if( aRows[x].classList.contains("control-row2") ) { var sCollectionClassL2 = aRows[x].getAttribute( "fse:collectionClass" ); var aRowsL2 = YAHOO.util.Dom.getElementsByClassName( sCollectionClassL2, "tr", oControlRow.parentNode ); for( var y = 0; y < aRowsL2.length; y++ ) { YAHOO.util.Dom.addClass( aRowsL2[y], "fse-hidden" ); } } if( aRows[x].classList.contains("control-row3") ) { var sCollectionClassL3 = aRows[x].getAttribute( "fse:collectionClass" ); var aRowsL3 = YAHOO.util.Dom.getElementsByClassName( sCollectionClassL3, "tr", oControlRow.parentNode ); for( var y = 0; y < aRowsL3.length; y++ ) { YAHOO.util.Dom.addClass( aRowsL3[y], "fse-hidden" ); } } } else { YAHOO.util.Dom.removeClass( aRows[x], "fse-hidden" ); } } if( bClose ) { YAHOO.util.Dom.replaceClass( oControlRow, "open", "closed" ); } else { YAHOO.util.Dom.replaceClass( oControlRow, "closed", "open" ); } }; Fse.SPL.toggleInitiatives = function ( sInitsElementId ) { var oElement = document.getElementById( sInitsElementId ); // var oControl = document.getElementById( sInitsElementId + "_icon" ); if( oElement.className.match( "closed" )) { Spry.Utils.removeClassName( oElement, "closed" ); // oControl.innerHTML = "+"; } else { Spry.Utils.addClassName( oElement, "closed" ); // oControl.innerHTML = "-"; } }; Fse.SPL.salesPersonChanged = function ( oSelect ) { var sName = oSelect.getAttribute( "name" ); var sHelpId = sName + "_help"; if( oSelect.value == 0 ) { YAHOO.util.Dom.removeClass( sHelpId, "fse-hidden" ); } else { YAHOO.util.Dom.addClass( sHelpId, "fse-hidden" ); } }; Fse.SPL._popupCalendarInitialized = false; Fse.SPL.resetVoidMatrixSearchCenter = function() { if( document.frm_slctCriteria.territoryId ) { document.frm_slctCriteria.territoryId.value = ""; } document.frm_slctCriteria.mktCategoryId.value = ""; document.frm_slctCriteria.campaignId.value = ""; document.frm_slctCriteria.beginDate.value = ""; document.frm_slctCriteria.endDate.value = ""; document.frm_slctCriteria.submit(); }; Fse.SPL._initPopupCalendar = function() { YAHOO.Fse.SPL.popupCalendarOverlay = new YAHOO.widget.Overlay( "popupCalendarContainer", { fixedcenter:true, visible:false } ); YAHOO.Fse.SPL.popupCalendarOverlay.render(); YAHOO.Fse.SPL.popupCalendar = new YAHOO.widget.Calendar( "popupCalendarContainer", { title:"Choose a date:", close:true, mindate:"1/1/2005", maxdate:"12/31/2020" } ); var fnHandleSelect = function( type, args, obj ) { var dates = args[0]; var date = dates[0]; var year = date[0], month = date[1], day = date[2]; if( month < 10 ) { month = "0" + month; } if( day < 10 ) { day = "0" + day; } var txtDate1 = document.getElementById( obj.dateFieldId ); txtDate1.value = month + "/" + day + "/" + year; YAHOO.Fse.SPL.popupCalendar.hide(); }; var fnShowOverlay = function() { YAHOO.Fse.SPL.popupCalendarOverlay.show(); }; var fnHideOverlay = function() { YAHOO.Fse.SPL.popupCalendarOverlay.hide(); }; YAHOO.Fse.SPL.popupCalendar.selectEvent.subscribe( fnHandleSelect, YAHOO.Fse.SPL.popupCalendar, true ); YAHOO.Fse.SPL.popupCalendar.beforeShowEvent.subscribe( fnShowOverlay ); YAHOO.Fse.SPL.popupCalendar.hideEvent.subscribe( fnHideOverlay ); YAHOO.Fse.SPL.popupCalendar.render(); }; Fse.SPL.showPopupCalendar = function( sId ) { if( ! Fse.SPL._popupCalendarInitialized ) { Fse.SPL._initPopupCalendar(); } var dateField = document.getElementById( sId ) if( dateField && dateField.value != "" ) { var sDateText = dateField.value; try { Date.parse( sDateText ); } catch( x ) { sDateText = ""; } YAHOO.Fse.SPL.popupCalendar.select( sDateText ); var selectedDates = YAHOO.Fse.SPL.popupCalendar.getSelectedDates(); if (selectedDates.length > 0) { var firstDate = selectedDates[0]; YAHOO.Fse.SPL.popupCalendar.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear()); YAHOO.Fse.SPL.popupCalendar.render(); YAHOO.Fse.SPL.popupCalendar.dateFieldId = sId; YAHOO.Fse.SPL.popupCalendar.show(); } else { alert("Cannot select a date before 1/1/2005 or after 12/31/2020"); YAHOO.Fse.SPL.popupCalendar.select( new Date() ); var selectedDates = YAHOO.Fse.SPL.popupCalendar.getSelectedDates(); var firstDate = selectedDates[0]; YAHOO.Fse.SPL.popupCalendar.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear()); YAHOO.Fse.SPL.popupCalendar.render(); YAHOO.Fse.SPL.popupCalendar.dateFieldId = sId; YAHOO.Fse.SPL.popupCalendar.show(); } } else { YAHOO.Fse.SPL.popupCalendar.dateFieldId = sId; YAHOO.Fse.SPL.popupCalendar.show(); } }; function toggleVoidDetails( nRowIndex ) { var bShow = document.getElementById( "link_" + nRowIndex ).firstChild.nodeValue == "Details"; if( bShow ) { showDetails( nRowIndex ); } else { hideDetails( nRowIndex ); } }; function getRowElement( nRowIndex ) { var sVoidRowId = "details_" + nRowIndex; return document.getElementById( sVoidRowId ); }; function showDetails( nRowIndex ) { var oRow = getRowElement( nRowIndex ); if( oRow ) { var sDetailsURL = oRow.getAttribute( "detailsURL" ); if( sDetailsURL ) { Fse.Ajax.getURL( sDetailsURL, function( oRequest ) { Spry.Utils.setInnerHTML( "cell_" + nRowIndex, oRequest.xhRequest.responseText ); Spry.Utils.removeClassName( oRow, "hidden" ); document.getElementById( "link_" + nRowIndex ).firstChild.nodeValue = "HIDE Details"; } ); } } else { alert( "Can't find row with index " + nRowIndex ); } }; function hideDetails( nRowIndex ) { var oRow = getRowElement( nRowIndex ); if( oRow ) { Spry.Utils.addClassName( oRow, "hidden" ); document.getElementById( "link_" + nRowIndex ).firstChild.nodeValue = "Details"; } else { alert( "Can't find row with index " + nRowIndex ); } }; Fse.SPL.loadPartnerOpportunityList = function( oSelect ) { Fse.Ajax.updateContent( oSelect.value, "opportunityListSocket" ); }; Fse.SPL._skuInput = null; Fse.SPL.searchForDetails = function( sDetailType ) { var sHandler = Fse.SPL.getHandler(); var sURL = sHandler + "?ajax=skuSearch&includeSocket"; if( document.forms.frm_editOpportunity && document.forms.frm_editOpportunity.elements.partnerId ) { sURL = sURL + "&partnerType=" + encodeURIComponent( document.forms.frm_editOpportunity.elements.partnerType.value ); sURL = sURL + "&partnerId=" + encodeURIComponent( document.forms.frm_editOpportunity.elements.partnerId.value ); } var oDialogOptions = { title : "Search for SKU", width : "425px", onSuccess : Fse.SPL.selectResultsSKU, src : sURL }; Fse.DialogManager.show( "splSearchResultsDialog$", oDialogOptions ); /*
*/ }; Fse.SPL.searchForDetails_obsolete = function( sDetailType ) { var oElement = document.getElementById( "splSearchResultsDialog" ); var sHandler = oElement.getAttribute( "fse:handlerURL" ); var sBodyURL = sHandler + "&DetailType=" + encodeURIComponent( sDetailType ); var sTitle = "Search for SKU"; if( sDetailType == "PRODUCT" ) { sTitle = "Search for PRODUCT"; } var oOptions = { src: sBodyURL, title: sTitle }; Fse.SPL._skuInput = null; Fse.DialogManager.show( "splSearchResultsDialog", oOptions ); }; Fse.SPL._detailSearchTimeout = null; Fse.SPL.setDetailSearchTimeout = function() { var sSkuInput = document.getElementById( "skuPattern" ).value; if( sSkuInput != Fse.SPL._skuInput ) { Fse.SPL._skuInput = sSkuInput; if( Fse.SPL._detailSearchTimeout ) { clearTimeout( Fse.SPL._detailSearchTimeout ); Fse.SPL._detailSearchTimeout = null; } Fse.SPL._detailSearchTimeout = setTimeout( Fse.SPL.performDetailSearch, 500 ); } }; Fse.SPL.focusSearchPatternInput = function() { var oInput = document.getElementById( "skuPattern" ); if( oInput ) { try { // ie6 causes an execption here oInput.focus(); } catch ( x ) {} } }; Fse.SPL.performDetailSearch = function () { Fse.Ajax.updateSocket( "splSearchResultsDialogSocket", Fse.SPL.focusSearchPatternInput, { skuPattern : document.frm_skuResults.skuPattern.value, detailType : document.frm_skuResults.detailType.value }); /* // var sQueryString = document.getElementById( "splSearchResultsDialog").getAttribute( "fse:handlerURL" ); var sQueryString = Fse.SPL.getHandler() + "?ajax=skuSearch"; sQueryString = sQueryString + "&skuPattern=" + encodeURIComponent( document.frm_skuResults.skuPattern.value ); sQueryString = sQueryString + "&detailType=" + encodeURIComponent( document.frm_skuResults.detailType.value ); Fse.Ajax.updateContent( sQueryString, "splSearchResultsDialogSocket", null, Fse.SPL.focusSearchPatternInput ); */ }; Fse.SPL.selectResultsSKU = function( oRequest ) { var sSelectedValue = Fse.Ajax.getResponseHeader( oRequest, "skuSelect" ); // oRequest.getResponseHeader ["skuSelect" ]; var sHandlerURL = Fse.SPL.getHandler(); // oRequest.getResponseHeader ["handlerURL" ]; var aParts = sSelectedValue.split( "|" ); var iProductId = parseInt(aParts[0]); var iSkuId = parseInt(aParts[1]); var iOpportunityId; var oSubjectSelect = document.getElementById( "SubjectID" ); if( oSubjectSelect.form.opportunityId ) { iOpportunityId = oSubjectSelect.form.opportunityId.value; } var sMfrSelect = Fse.Ajax.getResponseHeader( oRequest, "x-mfr-select" ); // oRequest.getResponseHeader[ "x-mfr-select" ]; // oSubjectSelect.value = iProductId; if( sMfrSelect ) { var sPrdSelect = Fse.Ajax.getResponseHeader( oRequest, "x-prd-select" ); // oRequest.getResponseHeader[ "x-prd-select" ]; var oSelect = document.getElementById( "SubjectID" ); if( oSelect ) { oSelect.options[0].value = sMfrSelect + "," + sPrdSelect; oSelect.selectedIndex = 0; // oSelect.value = oSelect.options[0].value; var fnPostUpdate = function() { Fse.SPL._loadSKUs( sHandlerURL, iProductId, iOpportunityId, iSkuId ) }; Fse.SPL.onProductChange( oSelect, { postUpdate : fnPostUpdate } ); } } else { var sCatSelect = Fse.Ajax.getResponseHeader( oRequest, "x-cat-select" ); // oRequest.getResponseHeader[ "x-cat-select" ]; var sPrdSelect = Fse.Ajax.getResponseHeader( oRequest, "x-prd-select" ); // oRequest.getResponseHeader[ "x-prd-select" ]; var oSelect = document.getElementById( "SubjectID" ); if( oSelect ) { oSelect.options[0].value = sCatSelect + "," + sPrdSelect; oSelect.selectedIndex = 0; // oSelect.value = oSelect.options[0].value; var fnPostUpdate = function() { Fse.SPL._loadSKUs( sHandlerURL, iProductId, iOpportunityId, iSkuId ) }; Fse.SPL.onProductChange( oSelect, { postUpdate : fnPostUpdate } ); } } return; }; Fse.SPL.init = function() { }; Fse.SPL._emailDialogInitialized = false; Fse.SPL.showEmailDialog = function( iOpportunityId ) { var sHandlerURL = Fse.SPL.getHandler(); let messageDefaultsURL = Fse.Util.updateURL( Fse.SPL.getHandler(), { mode : "direct", ajax : "emailOpportunityDefaults", opportunityId : iOpportunityId } ); let es = new EmailSender( { title : "Email Opportunity", messageDefaultsURL : messageDefaultsURL, allowSendCopy : true, allowImportant : true, allowReadReceipt : true, allowAttachments : true }) es.show(); return; // var sHandlerURL = document.getElementById( "splSocket" ).getAttribute( "fse:handlerURL" ); var sHandlerURL = Fse.SPL.getHandler(); var sQueryString = sHandlerURL + "?ajax=splEmailDialogBody&opportunityId=" + iOpportunityId; Fse.DialogManager.show( "splEmailDialog$", { title: "Send Email", src: sQueryString, width: "600px" } ); }; YAHOO.util.Event.onDOMReady(Fse.SPL.init); /* search center stuff */ Fse.SPL.showSearchCenter_v1 = function() { Fse.DialogManager.show( "splSearchCenterDialog" ); }; Fse.SPL.showSearchCenter = function(bReset) { var sSource = Fse.Util.updateURL( Fse.SPL.getHandler(), { ajax : "slideSearch" } ); if( bReset ) { sSource = Fse.Util.updateURL( sSource, { fromDefault : true } ); } Fse.Portal.showSearchCenter( sSource, Fse.SPL.initSearchDialog, null, bReset ); }; Fse.SPL.resetSearchCenter = function( bSavedSearch, nSavedSearch ) { if( document.forms.frm_resetSPLSearch ) { if( bSavedSearch ) { document.forms.frm_resetSPLSearch.useSaved.value = "true"; document.forms.frm_resetSPLSearch.searchNumber.value = nSavedSearch; } document.forms.frm_resetSPLSearch.submit(); } }; Fse.SPL.unsetDefaultSearch = function( nSavedSearch, tSavedSearchName ){ if( document.forms.frm_unsetDefaultSearch ) { if( confirm( "Click okay to reset your search " + tSavedSearchName + ", click cancel to keep it ")) { document.forms.frm_unsetDefaultSearch.searchNumber.value = nSavedSearch; document.forms.frm_unsetDefaultSearch.submit(); } } }; Fse.SPL.setDefaultSearch = function( ){ if( document.forms.frm_setDefaultSearch ) { //document.forms.frm_setDefaultSearch.searchNumber.value = nSavedSearchName; Fse.Ajax.sendForm( document.forms.frm_setDefaultSearch ); alert( "Pipeline Search Set!" ); } }; Fse.SPL._previewTimeout = null; Fse.SPL.setMatchCount = function( sValue, sStatusCode ) { var sId = "matchCount"; if( sStatusCode ) { sId = sId + "_" + sStatusCode; } var oMatchCountElement = document.getElementById( sId ); if( oMatchCountElement ) { YAHOO.util.Dom.removeClass( oMatchCountElement, "alert-txt" ); oMatchCountElement.innerHTML = sValue; } }; Fse.SPL.resetPreviewTimeout = function() { if( Fse.SPL._previewTimeout ) { clearTimeout( Fse.SPL._previewTimeout ); Fse.SPL._previewTimeout = null; } } Fse.SPL.setPreviewTimeout = function( _timeoutParam ) { $("#viewSelectionForm").attr( "fse:srchcansearch", "no" ); var _timeout = 2000; if( _timeoutParam != null && _timeoutParam > 0 ) { _timeout = _timeoutParam; } Fse.SPL.resetPreviewTimeout(); Fse.SPL.setMatchCount( "..." , "I" ); Fse.SPL.setMatchCount( "..." , "A" ); Fse.SPL.setMatchCount( "..." , "C" ); Fse.SPL.setMatchCount( "..." , "R" ); Fse.SPL.setMatchCount( "..." ); /* var oMatchCountElement = document.getElementById( "matchCount" ); if( oMatchCountElement ) { YAHOO.util.Dom.removeClass( oMatchCountElement, "alert-txt" ); oMatchCountElement.innerHTML = "..."; } */ Fse.SPL._previewTimeout = setTimeout( Fse.SPL.previewMatchCount, _timeout ); }; Fse.SPL.clearTabs = function ( aTabs ) { var count = 0 for( i = 0; i < aTabs.length; i++ ) { Fse.SPL.clearTabSearchCriteria( aTabs[i] ); } }; Fse.SPL.clearTabSearchCriteria = function ( sTabId ) { // blanket reset all selects to first element var oSelects = YAHOO.util.Dom.getElementsBy( function( e ) { return ! e.disabled; }, "select", sTabId ); var oEODSelect = null; var oCDSelect = null; for( var i = 0; i < oSelects.length; i++ ) { var sDefault = oSelects[i].getAttribute( "fse:default" ); if( sDefault ) { oSelects[i].value = sDefault; } else { oSelects[i].selectedIndex = 0; } if( oSelects[i].name == "os_eod" && oSelects[i].id == "os_eod" ) { oEODSelect = oSelects[i] } if( oSelects[i].name == "os_cd" ) { oCDSelect = oSelects[i] } } if( oEODSelect ) { Fse.RPT.reportDateRangeOptionChanged( oEODSelect, 'os_eod_from', 'os_eod_to', 'os_eod_cal' ); } if( oCDSelect ) { Fse.RPT.reportDateRangeOptionChanged( oCDSelect, 'os_cd_from', 'os_cd_to', 'os_cd_cal' ); } // blanket reset all inputs to empty var oFields = YAHOO.util.Dom.getElementsBy( function( e ) { return ! e.disabled && e.getAttribute( "type" ) == 'text'; }, "input", sTabId ); for( var i = 0; i < oFields.length; i++ ) { oFields[i].value = ""; } Fse.SPL.resetPreviewTimeout(); // tab specific reset behaviour if( sTabId == "territoryTab" ) { Fse.SPL.territoryFilterChanged(); if( document.getElementById("os_assignedOnly_Y") ){ document.getElementById("os_assignedOnly_Y").checked = false; } } if( sTabId == "productTab" ) { var fnLevel2Loaded = function() { } var sHandlerURL = Fse.SPL.getHandler(); var testExists = document.getElementById( "l2ProductSelectSocket" ); if( testExists ){ Fse.Ajax.updateContent( sHandlerURL + "?ajax=getSearchCenterProductSelect&level=2&resetProduct=true", "l2ProductSelectSocket", null, fnLevel2Loaded ) } if( document.getElementById( "mfr" )) { Fse.SPL.opportunitySearchManufacturerChanged(); } else { Fse.SPL.opportunitySearchCatalogLevelChanged( 4 ); } } // force a recount Fse.SPL.setPreviewTimeout( 1500 ); }; Fse.SPL.displayTabSearchCriteria = function ( sId ) { var oSection = document.getElementById( sId ); if( ! oSection ) { return; } if( YAHOO.util.Dom.hasClass( oSection, "less" )) { YAHOO.util.Dom.removeClass( oSection, "less" ); sButtonText = "less"; } else { YAHOO.util.Dom.addClass( oSection, "less" ); sButtonText = "more"; } var aButton = YAHOO.util.Dom.getElementsByClassName( "more-less", "a", oSection ); if( aButton.length ) { oButton = aButton[0] oButton.innerHTML = sButtonText; } }; Fse.SPL.initSearchDialog = function() { if( document.getElementById( "criteria-tab-set" )) { var tabView = new YAHOO.widget.TabView('criteria-tab-set'); } var handleClickBeforeLoad = document.getElementsByName("frm_viewSelectionForm"); if(handleClickBeforeLoad.length == 1){ var getCollectionFromForm = document.frm_viewSelectionForm; }else{ var getCollectionFromForm = document.frm_viewSelectionForm[0]; } var aSelects = YAHOO.util.Dom.getElementsBy( function( e ) { return true; }, "select", getCollectionFromForm ); for( var i = 0; i < aSelects.length; i++ ) { Fse.EventManager.addEventHandler( aSelects[i], "change", Fse.SPL.setPreviewTimeout ); } var aCheckboxes = YAHOO.util.Dom.getElementsBy( function( e ) { return e.getAttribute( "type" ) == "checkbox"; }, "input", getCollectionFromForm ); for( var i = 0; i < aCheckboxes.length; i++ ) { Fse.EventManager.addEventHandler( aCheckboxes[i], "click", Fse.SPL.setPreviewTimeout ); } var aTextFields = YAHOO.util.Dom.getElementsBy( function( e ) { return e.getAttribute( "type" ) == "text"; }, "input", getCollectionFromForm ); for( var i = 0; i < aTextFields.length; i++ ) { Fse.EventManager.addEventHandler( aTextFields[i], "keyup", Fse.SPL.setPreviewTimeout ); } if( document.frm_viewSelectionForm.os_fp ) { // Fse.EventManager.addEventHandler( document.frm_viewSelectionForm.os_fp, "change", Fse.SPL.opportunitySearchSubjectChanged ); } Fse.SPL.initCatalogLevelSelects(); if( $("#slideSearchPreviewSocket").attr( "fse:previewReady" ) == undefined || $("#slideSearchPreviewSocket").attr( "fse:previewReady" ) == "false" ) { Fse.SPL.setPreviewTimeout(); } }; Fse.SPL.setSearchMode = function( oForm, sMode ) { oForm.psm.value = sMode; }; Fse.SPL.searchApplied = function ( xhRequest, oForm ) { //var sDefaultStage = xhRequest.getResponseHeader[ "spl_defaultStage" ]; //var oToday = new Date(); //var oExpires = new Date( oToday.getTime() + ( 60 * 60 * 60 * 24 * 30 )); //document.cookie = "spl_defaultStage=" + encodeURIComponent(sDefaultStage) + "; expires=" + oExpires.toGMTString(); Fse.SPL.showOpportunityList(); // window.location.href = "?view=list"; }; Fse.SPL.previewMatchCount = function() { var oMatchCountElement = document.getElementById( "matchCount" ); if( ! oMatchCountElement ) { return; } document.frm_viewSelectionForm.elements.psm.value = "preview"; var xhRequest = Fse.Ajax.sendForm( document.frm_viewSelectionForm ); document.frm_viewSelectionForm.elements.psm.value = "apply"; var oSubmit; /* var defaultButton = YAHOO.Fse.Dialogs["splSearchCenterDialog"].defaultHtmlButton; var aButtons = YAHOO.Fse.Dialogs["splSearchCenterDialog"].getButtons(); for( var i = 0; i < aButtons.length; i++ ) { if( aButtons[i].get( "element" ) == defaultButton ) { oSubmit = aButtons[i]; break; } } */ var disableSubmit = false; if( xhRequest.status == 200 ) { if( oMatchCountElement ) { var iMatchCount = xhRequest.getResponseHeader( "recordCount" ); if( iMatchCount > 0 ) { oMatchCountElement.innerHTML = iMatchCount; YAHOO.util.Dom.removeClass( oMatchCountElement, "alert-txt" ); } else { oMatchCountElement.innerHTML = "zero"; YAHOO.util.Dom.addClass( oMatchCountElement, "alert-txt" ); disableSubmit = true; } } } else { if( oMatchCountElement ) { oMatchCountElement.innerHTML = xhRequest.status + " " + xhRequest.statusText; } disableSubmit = true; } if( oSubmit ) { oSubmit.set( "disabled", disableSubmit ); } if ( ! disableSubmit ) { $("#viewSelectionForm").attr( "fse:srchcansearch", "yes" ); } var iStatusMatchCount = xhRequest.getResponseHeader( "recordCount_I" ); Fse.SPL.setMatchCount( iStatusMatchCount, "I" ); iStatusMatchCount = xhRequest.getResponseHeader( "recordCount_A" ); Fse.SPL.setMatchCount( iStatusMatchCount, "A" ); var iStatusMatchCount = xhRequest.getResponseHeader( "recordCount_C" ); Fse.SPL.setMatchCount( iStatusMatchCount, "C" ); var iStatusMatchCount = xhRequest.getResponseHeader( "recordCount_R" ); Fse.SPL.setMatchCount( iStatusMatchCount, "R" ); }; Fse.SPL.territoryFilterChanged = function() { var sTid = document.getElementById( "tid" ).value; var sSts = "false"; var oSubTerritorySearch = document.getElementById( "sts" ); if( oSubTerritorySearch && oSubTerritorySearch.checked ) { sSts = "true"; } if( oSubTerritorySearch ) { var reNumeric = /\d+/; if ( reNumeric.test( sTid )) { //oSubTerritorySearch.disabled = false; } else { //oSubTerritorySearch.disabled = true; //sSts = "false"; } } // te new select boxes don't listen for change events required to drive match count preview // after the new select has been loaded, re-add the listener var fnPostLoad = function( oElement ) { var aSelects = YAHOO.util.Dom.getElementsBy( function( e ) { return true; }, "select", oElement ); for( var i = 0; i < aSelects.length; i++ ) { Fse.EventManager.addEventHandler( aSelects[i], "change", Fse.SPL.setPreviewTimeout ); } }; //update sales reps based on the territory chosen, removed by client request /* var element = document.getElementById( "bsr" ); if( element ) { var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sURL = sDefaultHandlerURL + "?ajax=updateSalesRepDropdown&terId=" + sTid; Fse.Ajax.updateContent( sURL, "brokerSalesRepDropDownSocket", null, fnPostLoad); } */ }; Fse.SPL.opportunityStatusUpdated = function( oRequest ) { var stageDisplayRaw = Fse.Ajax.getResponseHeader( oRequest, "stageDisplay" ); var opportunityDescriptionRaw = Fse.Ajax.getResponseHeader( oRequest,"opportunityDescription"); var stageId = Fse.Ajax.getResponseHeader( oRequest,"stageId"); var approvalRequested = Fse.Ajax.getResponseHeader( oRequest,"approvalRequested"); var oStageDisplay = document.getElementById( "stageDisplay" ); if( stageDisplayRaw && oStageDisplay ){ oStageDisplay.value = decodeURIComponent( stageDisplayRaw ); } var oStageId = document.getElementById( "stageId" ) if( stageId && oStageId ) { oStageId.value = stageId; } var oOpportunityDescription = document.getElementById( "opportunityDescription" ); if( opportunityDescriptionRaw && oOpportunityDescription){ oOpportunityDescription.value = decodeURIComponent( opportunityDescriptionRaw ); } if( approvalRequested ) { var opportunityId = Fse.Ajax.getResponseHeader( oRequest,"opportunityId"); var opportunityTk = Fse.Ajax.getResponseHeader( oRequest,"opportunityTk"); var fromStage = Fse.Ajax.getResponseHeader( oRequest,"fromStage"); var toStage = Fse.Ajax.getResponseHeader( oRequest,"toStage"); Fse.SPL.showApprovalPending( opportunityId, opportunityTk, fromStage, toStage ); } if( ! oOpportunityDescription ) { Fse.SPL.showOpportunityList(); } } Fse.SPL.onOpportunityStatusChangeDialogStageChange = function( oSelect ) { var sRequireApprovalMessage = "Approval Required"; var sInvalidSelectionMessage = "Invalid Selection"; YAHOO.util.Dom.addClass( "confirmationRequiredMsg", "fse-hidden" ); YAHOO.util.Dom.addClass( "reasonRequiredMsg", "fse-hidden" ); var oRequiredMessage = document.getElementById( "approvalRequiredMsg" ); var oOption = oSelect.options[oSelect.selectedIndex]; if( oOption.getAttribute( "fse:statuscode" ) == "A" ) { Fse.SPL.setupFollowUpCallOptions( oSelect.form, true ); } else { Fse.SPL.setupFollowUpCallOptions( oSelect.form, false ); } var bShowApprovalRequiredMessage = true; var sShowApprovalRequiredMessage = oSelect.getAttribute( "fse:showApprovalRequiredMsg" ); if( sShowApprovalRequiredMessage == "false" ) { bShowApprovalRequiredMessage = false; } var currentReqApprovalFrom = oSelect.getAttribute( "fse:reqApprovalFrom" ); if( currentReqApprovalFrom == "Y" ) { oRequiredMessage.innerHTML = sRequireApprovalMessage; if( bShowApprovalRequiredMessage ) { YAHOO.util.Dom.removeClass( oRequiredMessage, "fse-hidden" ); } } else { var oOption = oSelect.options[oSelect.selectedIndex]; var targetReqApprovalTo = oOption.getAttribute( "fse:reqApprovalTo" ); if( targetReqApprovalTo ) { if( targetReqApprovalTo == "Y" ) { oRequiredMessage.innerHTML = sRequireApprovalMessage; if( bShowApprovalRequiredMessage ) { YAHOO.util.Dom.removeClass( oRequiredMessage, "fse-hidden" ); } } else { oRequiredMessage.innerHTML = sRequireApprovalMessage; YAHOO.util.Dom.addClass( oRequiredMessage, "fse-hidden" ); } } else { oRequiredMessage.innerHTML = sInvalidSelectionMessage; YAHOO.util.Dom.removeClass( oRequiredMessage, "fse-hidden" ); } var sStatusCode = oOption.getAttribute( "fse:statuscode" ); if( sStatusCode == "R" && oSelect.disabled == false ) { oSelect.form.newNoSaleReasonID.disabled = false; YAHOO.util.Dom.removeClass( "nosale-row", "fse-hidden" ); YAHOO.util.Dom.removeClass( "reasonRequiredMsg", "fse-hidden" ); } else { oSelect.form.newNoSaleReasonID.disabled = true; YAHOO.util.Dom.addClass( "nosale-row", "fse-hidden" ); } if( sStatusCode == "C" && oSelect.disabled == false ) { YAHOO.util.Dom.removeClass( "sale-row-reason", "fse-hidden" ); YAHOO.util.Dom.removeClass( "sale-row-1", "fse-hidden" ); YAHOO.util.Dom.removeClass( "sale-row-2", "fse-hidden" ); YAHOO.util.Dom.removeClass( "sale-row-3", "fse-hidden" ); if( oSelect.form.elements.newSaleReasonID ) { oSelect.form.elements.newSaleReasonID.disabled = false; } if( oSelect.form.confConfirmation ) { oSelect.form.confAvailableDate.disabled = false; oSelect.form.confQuantityAmt.disabled = false; oSelect.form.confConfirmation.disabled = false; oSelect.form.confConfirmation.checked = false; oSelect.form.confAvailableDate.value = oSelect.form.availableDate.value; var sConfQuantityField = ""; if( oSelect.form.elements.confQuantityField ) { sConfQuantityField = oSelect.form.elements.confQuantityField.value; } if( sConfQuantityField != "" ) { oSelect.form.confQuantityAmt.value = oSelect.form.elements[sConfQuantityField].value; } else { oSelect.form.elements.confQuantityAmt.value = "" } /* if( oSelect.form.CaseAmt.getAttribute( "fse:required" )) { oSelect.form.confQuantityAmt.value = oSelect.form.CaseAmt.value; } else if ( oSelect.form.WeightAmt.getAttribute( "fse:required" )) { oSelect.form.confQuantityAmt.value = oSelect.form.WeightAmt.value; } else if ( oSelect.form.IncomeAmt.getAttribute( "fse:required" )) { oSelect.form.confQuantityAmt.value = oSelect.form.IncomeAmt.value; } else { oSelect.form.confQuantityAmt.value = ""; } */ YAHOO.util.Dom.removeClass( "confirmationRequiredMsg", "fse-hidden" ); } } else { if( oSelect.form.confConfirmation ) { oSelect.form.confAvailableDate.disabled = true; oSelect.form.confQuantityAmt.disabled = true; oSelect.form.confConfirmation.disabled = true; } if( oSelect.form.elements.newSaleReasonID ) { oSelect.form.elements.newSaleReasonID.disabled = true; } YAHOO.util.Dom.addClass( "sale-row-reason", "fse-hidden" ); YAHOO.util.Dom.addClass( "sale-row-1", "fse-hidden" ); YAHOO.util.Dom.addClass( "sale-row-2", "fse-hidden" ); YAHOO.util.Dom.addClass( "sale-row-3", "fse-hidden" ); } } // update the require SKU field if it present var oRequireSKU = document.getElementById( "_requireSKU" ); if( oRequireSKU ) { var oOption = oSelect.options[oSelect.selectedIndex]; var sRequireSKU = oOption.getAttribute( "fse:requireSKU" ); if( sRequireSKU == null ) { sRequireSKU = "N"; } oRequireSKU.value = sRequireSKU; if( sRequireSKU == "Y" ) { YAHOO.util.Dom.removeClass( "skuRequiredMsg", "fse-hidden" ); } else { YAHOO.util.Dom.addClass( "skuRequiredMsg", "fse-hidden" ); } } Fse.SPL.updateOpportunityTaskDisplay( oSelect.form, -1 ); }; Fse.SPL.setupFollowUpCallOptions = function( oForm, bVisible ) { var oFollowUpFormFields = document.getElementById( "followUpCallFields" ); if( ! oFollowUpFormFields ) { return; } var oCheckbox = document.getElementById( "cbxFollowUpCall" ); if( ! oCheckbox ) { return; } if( bVisible ) { YAHOO.util.Dom.removeClass( oFollowUpFormFields, "fse-hidden" ); oCheckbox.disabled = false; oForm.elements.followUpCallDate.disabled = !oCheckbox.checked; oForm.elements.followUpCallComment.disabled = !oCheckbox.checked; } else { YAHOO.util.Dom.addClass( oFollowUpFormFields, "fse-hidden" ); oCheckbox.disabled = true; oForm.elements.followUpCallDate.disabled = true; oForm.elements.followUpCallComment.disabled = true; } }; Fse.SPL.toggleParallelInteraction = function( oEnableRadio ) { if( oEnableRadio.checked ) { oEnableRadio.form.elements.newInteractionDate.disabled = false; if( oEnableRadio.form.elements.newInteractionMiles ) { oEnableRadio.form.elements.newInteractionMiles.disabled = false; } } else { oEnableRadio.form.elements.newInteractionDate.disabled = true; if( oEnableRadio.form.elements.newInteractionMiles ) { oEnableRadio.form.elements.newInteractionMiles.disabled = true; } } }; Fse.SPL.toggleChangeOpportunityStatus = function( oSelect, bToggle ) { oSelect.form.NewStageId.disabled=!oSelect.checked; oSelect.form.newOpportunityDescription.disabled=oSelect.form.NewStageId.disabled; if( bToggle ) { if( oSelect.form.NewStageId.disabled ) { YAHOO.util.Dom.removeClass( "currentStatusFields", "fse-hidden" ); YAHOO.util.Dom.addClass( "newStatusFields", "fse-hidden" ); } else { YAHOO.util.Dom.addClass( "currentStatusFields", "fse-hidden" ); YAHOO.util.Dom.removeClass( "newStatusFields", "fse-hidden" ); } } if( oSelect.form.elements["newInteraction"] ) { var oYes = document.getElementById( "newInteractionYes" ); var oNo = document.getElementById( "newInteractionNo" ); var oInteractionDate = oYes.form.elements.newInteractionDate; oYes.disabled = oSelect.form.NewStageId.disabled; oNo.disabled = oSelect.form.NewStageId.disabled; if( oYes.disabled ) { //oYes.checked = true; } if( oInteractionDate ) { oInteractionDate.disabled = oYes.disabled || oYes.checked == false; } } if( oSelect.form.NewStageId.disabled ) { oSelect.form.newNoSaleReasonID.disabled = true; } else { var oOption = oSelect.form.NewStageId.options[oSelect.form.NewStageId.selectedIndex]; var sStatusCode = oOption.getAttribute( "fse:statuscode" ); if( sStatusCode == "R" ) { oSelect.form.newNoSaleReasonID.disabled = false; } } Fse.SPL.onOpportunityStatusChangeDialogStageChange( document.getElementById( "NewStageId" )); }; Fse.SPL.getHandler = function() { var oLink = document.getElementById( "splHandlerLink" ); return oLink.getAttribute( "href" ); }; Fse.SPL.showOpportunityStatusChangeDialog = function( iOpportunityId, iOpportunityTk ) { Fse.SPL.showEditOpportunityDialog( iOpportunityId, iOpportunityTk, null, { dialogTab : "statusTab", changeStatus : "Y" } ); /* var sHandlerURL = Fse.SPL.getHandler(); var oOptions = {}; oOptions.src = sHandlerURL + "?ajax=opportunityStatusChangeDialogBody&opportunityId=" + iOpportunityId + "&opportunityTk=" + iOpportunityTk; Fse.DialogManager.show( "opportunityStatusChangeDialog", oOptions ); */ }; Fse.SPL.onOpportunityActionChanged = function( oSelect ) { var iId = oSelect.getAttribute( "opportunityId" ); if( iId ) { // Fse.SPL.doOpportunityAction( iId ); } }; Fse.SPL.doOpportunityAction = function( iId ) { var oActionSelect = document.getElementById( "o_" + iId ); var oOption = oActionSelect.options[oActionSelect.selectedIndex]; var sActionType = oOption.getAttribute( "type" ); if( sActionType == "URL" ) { var sActionURL = oOption.getAttribute( "href" ); var sActionTarget = oOption.getAttribute( "target" ); if( sActionTarget ) { window.open( sActionURL, sActionTarget ); } else { window.location.href = sActionURL; } } else if ( sActionType == "JS" ) { var sActionScript = oOption.getAttribute( "script" ); if( sActionScript ) { eval( sActionScript ); } } }; Fse.SPL.operatorDistributorChanged = function( oSelect ) { var sCdrSelectValue = oSelect.value; var oLink = document.getElementById( "splHandlerLink" ); if( ! isFinite( sCdrSelectValue )) { // user has selected a manufacturer to drill into var oCdrSelectSocket = document.getElementById( "refDistributorSocket" ); if( oCdrSelectSocket ) { var sOperatorId = oSelect.form.elements.partnerId.value; /* retrieve revised distributor select */ var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sQueryString = oCdrSelectSocket.getAttribute( "fse:queryString" ); var sURL = sDefaultHandlerURL + "?" + sQueryString; sURL = sURL.replace( /\?(?=\?)/, "" ); sURL = Fse.SPL.updateURL( sURL, { selectCode : sCdrSelectValue, operatorId : sOperatorId } ); oSelect.options[oSelect.selectedIndex].innerHTML = "Loading, please wait..."; oSelect.disabled = true; Fse.Ajax.updateContent( sURL, "refDistributorSocket" ); } } else { Fse.Ajax.updateSocket( "refDistributorContactSocket", null, { distributorId : sCdrSelectValue } ); } var fnTrueTest = function( e ) { return true; } var aSelects = YAHOO.util.Dom.getElementsBy( fnTrueTest, "select", "productSelectSocket" ); if( aSelects.length == 1 ) { Fse.SPL.updateProductSelect( aSelects[0], { useDistributor : true } ); } return; var oSocket = document.getElementById( oSelect.getAttribute( "name" ) + "_message" ); if( oSocket ) { var bShow = false; if( oSelect.value != 0 ) { var oOption = oSelect.options[oSelect.selectedIndex]; var sMsg = oOption.getAttribute( "msg" ); if( sMsg && sMsg != "" ) { oSocket.innerHTML = sMsg; bShow = true; } } if( bShow ) { YAHOO.util.Dom.removeClass( oSocket, "fse-hidden" ); } else { YAHOO.util.Dom.addClass( oSocket, "fse-hidden" ); } } }; Fse.SPL.exportOpportunityListXLSX = function( ) { var sHandlerURL = Fse.SPL.getHandler(); var sURL = sHandlerURL + "?mode=direct&do=downloadOpportunityListXLSX"; /* mode=direct&do=downloadOpportunityListXLSX ajax=downloadOpportunityListXLSX Fse.Ajax.getURL( sURL ); */ window.location.href = sURL; } Fse.SPL.exportOpportunities = function( sStatusCodes ) { var oLink = document.getElementById( "splHandlerLink" ); var sHandlerURL = oLink.getAttribute( "href" ); var sQueryString = sHandlerURL + "?ajax=opportunityExportDialogBody"; if( sStatusCodes ) { sQueryString = sQueryString + "&statusCode=" + encodeURIComponent( sStatusCodes ); } var fnOnSuccess = function( oRequest ) { window.location = Fse.Ajax.getResponseHeader( oRequest,"x-fse-download-url"); }; var oOptions = { src : sQueryString, title : "Export Opportunities", width : "500px", onSuccess : fnOnSuccess, postMethod : "form" }; Fse.DialogManager.show( "opportunityExportDialog$", oOptions ); }; Fse.SPL._importInterval = 0; Fse.SPL.importOpportunities = function( oOptions ) { var oLink = document.getElementById( "splHandlerLink" ); var sHandlerURL = oLink.getAttribute( "href" ); var sQueryString = sHandlerURL + "?ajax=opportunityImportDialogBody"; if( oOptions ) { if( oOptions.mfrId ) { sQueryString = sQueryString + "&mfrId=" + oOptions.mfrId + "&mfrTk=" + oOptions.mfrTk; } } var fnOnUpload = function( oRequest ) { var fnClose = function() { /* if( Fse.SPL._importInterval ) { window.clearInterval( Fse.SPL._importInterval ); Fse.SPL._importInterval = 0; } */ YAHOO.Fse.Dialogs["opportunityImportDialog$"].cancel(); }; var fnDoneCheck = function() { var oMessage = document.getElementById( "splProcessingStatus.message" ); if( oMessage && oMessage.innerHTML == "$Close" ) { fnClose(); } }; var fnOnload = function() { var oContainer = document.getElementById( "splProcessingStatus" ); var sBid = oContainer.getAttribute( "fse:bid" ); var sBtk = oContainer.getAttribute( "fse:btk" ); var sUpdateURL = sQueryString + "&status=true&bid=" + sBid + "&btk=" + sBtk; /* var fnRefresh = function() { Fse.Ajax.updateContent( sUpdateURL, "splProcessingStatus", null, fnDoneCheck ); }; Fse.SPL._importInterval = window.setInterval( fnRefresh, 60000 ); */ }; var oOptions = { src : sQueryString + "&status=true", title : "Opportunity Import", width : "550px", onLoad : fnOnload, buttons : [ { text:"Close", handler:fnClose, isDefault:true } ] }; Fse.DialogManager.show( "opportunityImportDialog$", oOptions ); }; var oOptions = { src : sQueryString, title : "Opportunity Import", width : "500px", onUpload : fnOnUpload }; Fse.DialogManager.show( "opportunityImportDialog$", oOptions ); }; Fse.SPL.initTotalPipelineTable = function() { var oDataTable = document.getElementById( "totalPipelineTbl" ); var a = YAHOO.util.Dom.getElementsBy( function() { return true; }, "tbody", oDataTable ); var oTBody = a[0]; var oDataRow = YAHOO.util.Dom.getFirstChild( oTBody ); // skip the control row because it doesn't have all of the columns if( YAHOO.util.Dom.hasClass( oDataRow, "control-row" )) { oDataRow = YAHOO.util.Dom.getNextSibling( oDataRow ); } var aDataCols = YAHOO.util.Dom.getChildren( oDataRow ); var oHeaderTable = document.getElementById( "totalPipelineTbl_header" ); var a = YAHOO.util.Dom.getElementsBy( function() { return true; }, "thead", oHeaderTable ); var oTHead = a[0]; var oHeaderRow = YAHOO.util.Dom.getFirstChild( oTHead ); var aHeaderCols = YAHOO.util.Dom.getChildren( oHeaderRow ); YAHOO.util.Dom.setStyle( oHeaderTable, "width", "auto" ); var nRowHeight = oDataRow.clientHeight; if( ! nRowHeight ) { nRowHeight = 20; } var nHeight = nRowHeight * 20; // 20 rows ish YAHOO.util.Dom.setStyle( "pipelineViewport", "height", ( nHeight ) + "px" ); for( var x = 0; x < aHeaderCols.length; x++ ) { YAHOO.util.Dom.setStyle( aHeaderCols[x], "width", aDataCols[x].clientWidth + "px" ); } YAHOO.util.Dom.setStyle( oHeaderTable, "width", oDataTable.clientWidth + "px" ); }; Fse.SPL.toggleTotalPipelineDetail = function( oToggle ) { var oRow = YAHOO.util.Dom.getAncestorByTagName( oToggle, "tr" ); if( oRow && oRow.parentNode ) { var oTBody = oRow.parentNode; var sKey = oRow.getAttribute( "id" ); var oChildren = YAHOO.util.Dom.getElementsByClassName( "P" + sKey, "tr", oTBody ); if( YAHOO.util.Dom.hasClass( oToggle, "closed" )) { YAHOO.util.Dom.removeClass( oToggle, "closed" ); YAHOO.util.Dom.removeClass( oChildren, "fse-hidden" ); } else { YAHOO.util.Dom.addClass( oToggle, "closed" ); YAHOO.util.Dom.addClass( oChildren, "fse-hidden" ); } } }; Fse.SPL.edit = function( nId, nTk, fnCallback ) { Fse.SPL.showEditOpportunityDialog( nId, nTk, fnCallback ); }; Fse.SPL.quickAdd = function( nPartnerId, sPartnerType, fnOnSuccess ) { var oOptions = { quick : true, partnerId : nPartnerId, partnerType : sPartnerType }; /* if( fnOnSuccess ) { oOptions.onSuccess = fnOnSuccess; }*/ Fse.SPL.showEditOpportunityDialog( 0, 0, fnOnSuccess, oOptions ); }; Fse.SPL.showEditOpportunityDialog = function( nId, nTk, fnCallback, oOptions ) { var _fnCallback; if( fnCallback ) { _fnCallback = fnCallback; } else { var sCurrentURL = window.location.href; _fnCallback = function() { window.location.replace( sCurrentURL ); }; } var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sDialogBody = "editOpportunityDialogBody"; if( oOptions && oOptions.quick ) { sDialogBody = "quickAddOpportunityDialogBody"; } var _qStr = sDefaultHandlerURL + "?ajax=" + sDialogBody + "&oid=" + encodeURIComponent( nId ) + "&otk=" + encodeURIComponent( nTk ); if( oOptions ) { if ( oOptions.srcId ) { _qStr = _qStr + "&srcId=" + oOptions.srcId + "&srcTk=" + oOptions.srcTk; } else { /* _qStr = _qStr + "&partnerId=" + oOptions.partnerId + "&partnerType=" + oOptions.partnerType; */ if( oOptions.partnerType ) { _qStr = _qStr + "&partnerType=" + encodeURIComponent( oOptions.partnerType ); } if( oOptions.partnerId != null ) { _qStr = _qStr + "&partnerId=" + oOptions.partnerId; } if( oOptions.campaignId ) { _qStr = _qStr + "&campaignId=" + oOptions.campaignId; } if( oOptions.mfrId ) { _qStr = _qStr + "&mfrId=" + oOptions.mfrId; } if( oOptions.territoryId || oOptions.territoryId == 0 ) { _qStr = _qStr + "&tid=" + oOptions.territoryId; } if( oOptions.territoryTk ) { _qStr = _qStr + "&ttk=" + oOptions.territoryTk; } if( oOptions.mktCategoryId || oOptions.mktCategoryId == 0 ) { _qStr = _qStr + "&mktCategoryId=" + oOptions.mktCategoryId; } if( oOptions.mktSubCategoryId || oOptions.mktSubCategoryId == 0 ) { _qStr = _qStr + "&mktSubCategoryId=" + oOptions.mktSubCategoryId; } if( oOptions.bgtCatId || oOptions.bgtCatId == 0 ) { _qStr = _qStr + "&bgtCatId=" + oOptions.bgtCatId; } if( oOptions.prodId || oOptions.prodId == 0 ) { _qStr = _qStr + "&prodId=" + oOptions.prodId; } if( oOptions.skuId || oOptions.skuId == 0 ) { _qStr = _qStr + "&skuId=" + oOptions.skuId; } if( oOptions.productStatusId || oOptions.productStatusId == 0 ) { _qStr = _qStr + "&productStatusId=" + oOptions.productStatusId; } if( oOptions.useInteractionId ) { _qStr = _qStr + "&useInteractionId=" + oOptions.useInteractionId; } if( oOptions.linkAttrType && oOptions.linkAttrId ) { _qStr = _qStr + "&linkAttrType=" + oOptions.linkAttrType + "&linkAttrId=" + oOptions.linkAttrId; } } if( oOptions.objectiveId ) { _qStr = _qStr + "&objectiveId=" + oOptions.objectiveId; } if( oOptions.salesPersonUserId ) { _qStr = _qStr + "&salesPersonUserId=" + oOptions.salesPersonUserId; } if( oOptions.dialogTab ) { _qStr = _qStr + "&dialogTab=" + encodeURIComponent( oOptions.dialogTab ); } if( oOptions.changeStatus ) { _qStr = _qStr + "&changeStatus=" + encodeURIComponent( oOptions.changeStatus ); } if( oOptions.editOpportunityDialogVersion ) { _qStr = _qStr + "&editOpportunityDialogVersion=" + encodeURIComponent( oOptions.editOpportunityDialogVersion ); } } var sDialogId = "editOpportunityDialog$"; var oDialogOptions = {}; oDialogOptions.title = "Edit Opportunity"; if( oOptions ) { if( oOptions.title ) { oDialogOptions.title = oOptions.title; } else if( oOptions.partnerType ) { if( oOptions.partnerType == "OPR" ) { oDialogOptions.title = "Add Operator Opportunity"; } else { oDialogOptions.title = "Add Distributor Opportunity"; } } else { oDialogOptions.title = "Add Opportunity"; } } oDialogOptions.width = "600px"; oDialogOptions.src = _qStr; oDialogOptions.onSuccess = _fnCallback; oDialogOptions.beforeRenderEvent = function() { var oDialog = YAHOO.Fse.Dialogs["editOpportunityDialog$"]; oDialog.tabView = new YAHOO.widget.TabView('editOpportunityDialog-tab-set'); }; Fse.DialogManager.show( sDialogId, oDialogOptions ); }; Fse.SPL.onContactChanged = function( oSelect ) { var oOption = oSelect.options[oSelect.selectedIndex]; var oForm = oSelect.form; var oNewTitle = oForm.newTitle; var oNewFirstName = oForm.newFirstName; var oNewLastName = oForm.newLastName; var oNewPhone = oForm.newPhone; var oNewPhoneExt = oForm.newPhoneExt; var oNewEmail = oForm.newEmail; var oNewSalutation = oForm.newSalutation; var sValue = oOption.value; if( sValue == "" || sValue == -1 ) { // nothing picked disabled the contact fields oNewTitle.value = ""; oNewTitle.disabled = true; oNewFirstName.value = ""; oNewFirstName.disabled = true; oNewLastName.value = ""; oNewLastName.disabled = true; oNewEmail.value = ""; oNewEmail.disabled = true; oNewPhone.value = ""; oNewPhone.disabled = true; oNewPhoneExt.value = ""; oNewPhoneExt.disabled = true; oNewSalutation.value = ""; oNewSalutation.selectedIndex = 0; oNewSalutation.disabled = true; } else if ( sValue == "0" ) { // new contact picked, enabled the contact fields and clear them oNewTitle.value = ""; oNewTitle.disabled = false; oNewFirstName.value = ""; oNewFirstName.disabled = false; oNewLastName.value = ""; oNewLastName.disabled = false; oNewEmail.value = ""; oNewEmail.disabled = false; oNewPhone.value = ""; oNewPhone.disabled = false; oNewPhoneExt.value = ""; oNewPhoneExt.disabled = false; oNewSalutation.value = ""; oNewSalutation.selectedIndex = 0; oNewSalutation.disabled = false; } else { // must be an acutal contact, disable the fields and populate oNewTitle.value = oOption.getAttribute( "cTitle" ); oNewTitle.disabled = false; oNewFirstName.value = oOption.getAttribute( "cFirstName" ); oNewFirstName.disabled = false; oNewLastName.value = oOption.getAttribute( "cLastName" );; oNewLastName.disabled = false; oNewEmail.value = oOption.getAttribute( "cEmail" ); oNewEmail.disabled = false; oNewPhone.value = oOption.getAttribute( "cPhone" ); oNewPhone.disabled = false; oNewPhoneExt.value = oOption.getAttribute( "cPhoneExt" ); oNewPhoneExt.disabled = false; oNewSalutation.value = oOption.getAttribute( "cSalutation" ); oNewSalutation.disabled = false; } }; Fse.SPL.showHide = function ( sId ) { if( YAHOO.util.Dom.hasClass( sId, "fse-hidden" )) { YAHOO.util.Dom.removeClass( sId, "fse-hidden" ); var aSelects = YAHOO.util.Dom.getElementsBy( function(e){ return true; }, "select", sId ); if( aSelects.length ) { aSelects[0].focus(); } } else { YAHOO.util.Dom.addClass( sId, "fse-hidden" ); } }; Fse.SPL.filterProductSelect = function( oSelect ) { if( ! YAHOO.util.Dom.hasClass( "productSelectFilter", "fse-hidden" )) { YAHOO.util.Dom.addClass( "productSelectFilter", "fse-hidden" ); var oProductSelectSocket = document.getElementById( "productSelectSocket" ); if( oProductSelectSocket ) { var sQueryString = oProductSelectSocket.getAttribute( "fse:queryString" ); var sHandlerURL = Fse.SPL.getHandler(); var sURL = sHandlerURL + "?" + sQueryString + "&bgtCatId=" + encodeURIComponent( oSelect.value ); Fse.Ajax.updateContent( sURL, "productSelectSocket" ); } } }; Fse.SPL.getHandler = function() { var oLink = document.getElementById( "splHandlerLink" ); return oLink.getAttribute( "href" ); }; Fse.SPL.reportCenterManufacturerChanged = function( oSelect ) { // product var oProductSocket = document.getElementById( "spl_prd_opt_socket" ); if( oProductSocket ) { var oProductSelect = YAHOO.util.Dom.getFirstChild( oProductSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "mfrId=" + sFieldValue; if( oProductSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oProductSelect.size; } if( oProductSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=spl_prd_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oProductSocket ); } // campaigns var oCampaignSocket = document.getElementById( "spl_campaign_opt_socket" ); if( oCampaignSocket ) { var oCampaignSelect = YAHOO.util.Dom.getFirstChild( oCampaignSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "mfrId=" + sFieldValue; if( oCampaignSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oCampaignSelect.size; } if( oCampaignSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=spl_campaign_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oCampaignSocket ); } }; Fse.SPL.oppRptRepTypeChanged = function (oRef) { var oTerSelect = document.getElementById("spl_ter_opt"); if( oTerSelect ) { Fse.SPL.reportCenterTerritoryChanged( oTerSelect ); } } Fse.SPL.reportCenterTerritoryChanged = function( oSelect ) { var oSubTerritoryOption = document.getElementById( "spl_sts_opt" ); if( oSubTerritoryOption ) { bSubTerritories = oSubTerritoryOption.checked; } else { bSubTerritories = false; } // salesperson var oBsrSocket = document.getElementById( "spl_bsr_opt_socket" ); if( oBsrSocket ) { var oBsrSelect = YAHOO.util.Dom.getFirstChild( oBsrSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "territoryId=" + sFieldValue; if( bSubTerritories ) { sFieldURL = sFieldURL + "&sts=true"; } if( oBsrSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oBsrSelect.size; } if( oBsrSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } // Sales Rep Type var oRepType = document.querySelector('input[name=rpt_repType_opt]:checked'); if( oRepType ) { //alert("Rep: " + oRepType.value); sFieldURL = sFieldURL + "&repType=" + oRepType.value; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=spl_bsr_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oBsrSocket ); } // Sales Rep SCRUM 24194 var oBsrSocket = document.getElementById( "spl_bsrSalesRep_opt_socket" ); if( oBsrSocket ) { var oBsrSelect = YAHOO.util.Dom.getFirstChild( oBsrSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "territoryId=" + sFieldValue; if( bSubTerritories ) { sFieldURL = sFieldURL + "&sts=true"; } if( oBsrSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oBsrSelect.size; } if( oBsrSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=rpt_bsrSalesRep_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oBsrSocket ); } // salesperson WorkTeam var oBsrSocket = document.getElementById( "spl_bsrWorkTeam_opt_socket" ); if( oBsrSocket ) { var oBsrSelect = YAHOO.util.Dom.getFirstChild( oBsrSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "territoryId=" + sFieldValue; if( bSubTerritories ) { sFieldURL = sFieldURL + "&sts=true"; } if( oBsrSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oBsrSelect.size; } if( oBsrSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=rpt_bsrWorkTeam_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oBsrSocket ); } // distributor var oCdrSocket = document.getElementById( "spl_cdr_opt_socket" ); if( oCdrSocket ) { var oCdrSelect = YAHOO.util.Dom.getFirstChild( oCdrSocket ); var sAppHandler = document.frm_reportCenter.rc_handler.value; var sFieldValue = ""; for( var x = 0; x < oSelect.options.length; x++ ) { if( oSelect.options[x].selected ) { if( sFieldValue != "" ) { sFieldValue = sFieldValue + ","; } sFieldValue = sFieldValue + oSelect.options[x].value; } } var sFieldURL = "territoryId=" + sFieldValue; if( bSubTerritories ) { sFieldURL = sFieldURL + "&sts=true"; } if( oCdrSelect.size > 1 ) { sFieldURL = sFieldURL + "&size=" + oCdrSelect.size; } if( oCdrSelect.type == "select-multiple" ) { sFieldURL = sFieldURL + "&multiple=true"; } if( oSelect.getAttribute( "fse:includeParentDist" ) && oSelect.getAttribute( "fse:includeParentDist" ) == "true" ) { sFieldURL = sFieldURL + "&includeParentDist=true" ; } var sURL = sAppHandler + "&rc_action=build&rc_part=criteriaField&rc_field=spl_cdr_opt&rc_fieldQuery=" + encodeURIComponent( sFieldURL ); Fse.Ajax.updateContent( sURL, oCdrSocket ); } }; Fse.SPL.reportCenterEodOptionChanged = function( oSelect ) { var oOption = oSelect.options[oSelect.selectedIndex]; var sFrom = oOption.getAttribute( "fse:from" ); var sTo = oOption.getAttribute( "fse:to" ); var oFrom = oSelect.form.spl_eod_from_opt; var oTo = oSelect.form.spl_eod_to_opt; oFrom.value = sFrom; oTo.value = sTo; if( oSelect.value == "CUSTOM" ) { oFrom.disabled = false; oTo.disabled = false; } else { oFrom.disabled = true; oTo.disabled = true; } }; Fse.SPL.reportCenterCdOptionChanged = function( oSelect ) { var oOption = oSelect.options[oSelect.selectedIndex]; var sFrom = oOption.getAttribute( "fse:from" ); var sTo = oOption.getAttribute( "fse:to" ); var oFrom = oSelect.form.spl_cd_from_opt; var oTo = oSelect.form.spl_cd_to_opt; oFrom.value = sFrom; oTo.value = sTo; if( oSelect.value == "CUSTOM" ) { oFrom.disabled = false; oTo.disabled = false; } else { oFrom.disabled = true; oTo.disabled = true; } }; Fse.SPL._ideaStageOption = null; Fse.SPL.opportunityTypeCodeChanged = function( oSelect ) { var oNewStageId = oSelect.form.elements.NewStageId; var fnCheckIdeaOption = function( e ) { return e.getAttribute( "fse:statuscode" ) == "I"; }; var aOptions = YAHOO.util.Dom.getElementsBy( fnCheckIdeaOption, "option", oNewStageId ); var oCurrentIdeaOption = null; if( aOptions.length ) { oCurrentIdeaOption = aOptions[0] } if( oSelect.value == "PRO" ) { // make sure there isn't an idea stage available if( oCurrentIdeaOption ) { Fse.SPL._ideaStageOption = oCurrentIdeaOption; oCurrentIdeaOption.parentNode.removeChild( oCurrentIdeaOption ); } } else { // make sure there is an idea stage available if( !oCurrentIdeaOption && Fse.SPL._ideaStageOption ) { var oFirstOption = YAHOO.util.Dom.getFirstChild( oNewStageId ); oNewStageId.insertBefore( Fse.SPL._ideaStageOption, oFirstOption.nextSibling ); // next sibling to skip instructional option } } oBaseQuantityAmt = oSelect.form.elements["BaseQuantityAmt"]; if( oBaseQuantityAmt ) { if( oSelect.value == "INC" ) { // turn on BaseQuantityAmt YAHOO.util.Dom.removeClass( "baseBusinessSocket", "fse-hidden" ); oBaseQuantityAmt.disabled = false; } else { // turn off BaseQuantityAmt YAHOO.util.Dom.addClass( "baseBusinessSocket", "fse-hidden" ); oBaseQuantityAmt.disabled = true; } } }; Fse.SPL.opportunityConfirmationChanged = function( oForm ) { var _savedAuditDateDisabledState = oForm.elements.auditDate.disabled; for( var x = 0; x < oForm.elements.auditConfirmed.length; x++ ) { if( oForm.elements.auditConfirmed[x].value == "N" ) { oForm.elements.auditFailureReasonId.disabled = ! oForm.elements.auditConfirmed[x].checked; var oSendAuditFailureNotification = oForm.elements.sendAuditFailureNotification; if( oSendAuditFailureNotification ) { if( oForm.elements.auditConfirmed[x].checked ) { oSendAuditFailureNotification.checked = true; oSendAuditFailureNotification.disabled = false; } else { oSendAuditFailureNotification.checked = false; oSendAuditFailureNotification.disabled = true; } } } if( oForm.elements.auditConfirmed[x].value == "?" ) { oForm.elements.auditDate.disabled = oForm.elements.auditConfirmed[x].checked; } } if( oForm.elements.auditDate.disabled != _savedAuditDateDisabledState ) { if( oForm.elements.auditDate.disabled ) { // update hold and clear value oForm.elements.auditDate.setAttribute( "fse:holdValue", oForm.elements.auditDate.value ); oForm.elements.auditDate.value = ""; oForm.elements.auditContactId.removeAttribute( "fse:required" ); } else { // restore from audit date oForm.elements.auditDate.value = oForm.elements.auditDate.getAttribute( "fse:holdValue" ); oForm.elements.auditContactId.setAttribute( "fse:required", "true" ); } } }; Fse.SPL.reminderChecked = function ( oCheckbox ) { oCheckbox.form.reminderDate.disabled = !oCheckbox.checked; oCheckbox.form.reminderText.disabled = !oCheckbox.checked; if( oCheckbox.checked ) { YAHOO.util.Dom.removeClass( "reminderCal", "fse-hidden" ); } else { YAHOO.util.Dom.addClass( "reminderCal", "fse-hidden" ); } }; Fse.SPL.downloadReminder = function( sFieldId ) { var oField = document.getElementById( sFieldId ); if( ! oField || !oField.form) { return; } var oForm = oField.form; // need the following fields var oReminderDate = oForm.elements.reminderDate; var oReminderText = oForm.elements.reminderText; var oOpportunityName = oForm.elements.OpportunityName; if( oReminderDate.value == "" ) { alert( "Requires Reminder Date" ); return; } if( oReminderText.value == "" ) { alert( "Requires Reminder Note"); return; } if( oOpportunityName.value == "" ) { alert( "Requires Opportunity Name" ); return; } var sHandlerURL = Fse.SPL.getHandler(); var sDownloadURL = sHandlerURL + "?mode=direct&do=reminderDownload&opportunityName=" + encodeURIComponent( oOpportunityName.value ) + "&reminderDate=" + encodeURIComponent( oReminderDate.value ) + "&reminderText=" + encodeURIComponent( oReminderText.value ); window.location.href = sDownloadURL; }; Fse.SPL.showOnlyMyOpportunities = function(nUserId) { var sHandlerURL = Fse.SPL.getHandler() + "?_bsr=" + nUserId; window.location.href = sHandlerURL; }; Fse.SPL.aoeStatusChangeClicked = function( oCheckbox ) { var oTd = YAHOO.util.Dom.getAncestorByTagName( oCheckbox, "td" ); var fnEnable = function( oField ) { oField.disabled = false; }; var fnDisable = function( oField ) { oField.disabled = true; }; var fnAction; if( oCheckbox.checked ) { fnAction = fnEnable; } else { fnAction = fnDisable; } var fnValidInput = function( e ) { if( e == oCheckbox ) { /* don't include the checkbox in the result */ return false; } else { if( e.name.match( /^interactionDate_.*$/ ) || e.name.match( /^interactionMiles_.*$/ ) ) { /* not interactionDate_* or interactionMiles_* */ return false; } else { return true; } } }; var aInputs = YAHOO.util.Dom.getElementsBy( fnValidInput, "input", oTd ); YAHOO.util.Dom.batch( aInputs, fnAction ); var aSelects = YAHOO.util.Dom.getElementsBy( function(e) { return true; }, "select", oTd ); YAHOO.util.Dom.batch( aSelects, fnAction ); var aTextAreas = YAHOO.util.Dom.getElementsBy( function(e) { return true; }, "textarea", oTd ); YAHOO.util.Dom.batch( aTextAreas, fnAction ); var sInteractionFieldName = oCheckbox.name.replace( /^.*_/, "interaction_" ); if( oCheckbox.form.elements[sInteractionFieldName] ) { oInteractionField = oCheckbox.form.elements[sInteractionFieldName]; Fse.SPL.aoeInteractionClicked( oInteractionField ); } var aFieldName = oCheckbox.name.split( "_" ); var nOpportunityId = aFieldName[aFieldName.length - 1]; var sNotesField = "statusNotes_" + nOpportunityId; var sNotesDisplayId = "statusNotesDisplay_" + nOpportunityId; var oNotesDisplay = document.getElementById( sNotesDisplayId ); if( oCheckbox.form.elements[sNotesField].disabled ) { YAHOO.util.Dom.addClass( sNotesField, "fse-hidden" ); oNotesDisplay.style.display = "inline-block"; } else { oNotesDisplay.style.display = "none"; YAHOO.util.Dom.removeClass( sNotesField, "fse-hidden" ); } Fse.SPL.updateOpportunityTaskDisplay( oCheckbox.form, nOpportunityId ); }; Fse.SPL.aoeAutoCalculateClicked = function( oCheckbox ) { var oField = YAHOO.util.Dom.getPreviousSibling( oCheckbox ); if( oField ) { oField.disabled = oCheckbox.checked; } var oCalc = YAHOO.util.Dom.getNextSibling( oCheckbox ); if( oCalc && YAHOO.util.Dom.hasClass( oCalc, "calculator" )) { if( oCheckbox.checked ) { YAHOO.util.Dom.addClass( oCalc, "fse-invisible" ); } else { YAHOO.util.Dom.removeClass( oCalc, "fse-invisible" ); } } }; Fse.SPL.editOpportunityAutoCaseClicked = function( oCheckbox ) { oCheckbox.form.CaseAmt.disabled = oCheckbox.checked; if( oCheckbox.form.CaseAmt.disabled ) { YAHOO.util.Dom.addClass( "caseCalculatorIcon", "fse-invisible" ); } else { YAHOO.util.Dom.removeClass( "caseCalculatorIcon", "fse-invisible" ); } }; Fse.SPL.aoeUpdateOpportunities = function( fnPostLoad ) { if( Fse.FormManager.submit( document.forms.frm_aoeUpdateOpportunities, false )) { Fse.Ajax.sendForm( document.forms.frm_aoeUpdateOpportunities ); if( ! fnPostLoad ) { Fse.SPL.aoeReload(); } else { fnPostLoad(); } } }; Fse.SPL.aoeCloseOpportunityEditor = function( fnPostClose ) { if( ! fnPostClose ) { Fse.SPL.aoeReload(); } else { fnPostClose(); } }; Fse.SPL.aoeReload = function() { var bResult = false; var oSocket = document.getElementById( "aoe-socket" ); if( oSocket ) { bResult = true; Fse.Ajax.updateSocket( oSocket ); /* var sURL = oSocket.getAttribute( "fse:refresh" ); if( sURL ) { Fse.Ajax.updateContent( sURL, oSocket.getAttribute( "id" ) ); bResult = true; } */ } return bResult; }; /* Fse.SPL.aoeSkuPicked = function( oRequest ) { alert( "Picked" ) }; */ Fse.SPL.aoePostValidate = function( oForm ) { var bValid = true; var _badFieldIdx = 0; var fnIsSkuRequiredStage = function( e ) { return "Y" == e.options[e.selectedIndex].getAttribute( "fse:requireSKU" ); }; var aSkuRequiredSelects = YAHOO.util.Dom.getElementsBy( fnIsSkuRequiredStage, "select", oForm ); for( var x = 0; bValid && x < aSkuRequiredSelects.length; x++ ) { var sHasDetailsFieldName = aSkuRequiredSelects[x].name.replace( /^.*_/, "hasDetails_" ); var oField = oForm.elements[sHasDetailsFieldName]; if( oField ) { if( oField.value == "" || oField.value <= 0 ) { bValid = false; _badFieldIdx = x; aSkuRequiredSelects[x].focus(); } } else { bValid = false; _badFieldIdx = x; aSkuRequiredSelects[x].focus(); } } if( ! bValid ) { var oLabel = document.getElementById( aSkuRequiredSelects[_badFieldIdx].name + "_label" ); if( oLabel ) { oLabel.style.color = "red"; } alert( "A SKU is required to at this stage" ); } return bValid; }; Fse.SPL.aoePickSku = function( nOpportunityId, nSubjectId, nOperatorId ) { var sCloseAction = document.getElementById( "editable-opportunities" ).getAttribute( "fse:fndCloseAction" ); var fnUpdateDetails = function( oRequest ) { document.getElementById( "opportunity-subject-details-" + nOpportunityId ).innerHTML = oRequest.responseText; }; var oFndOptions = { closeAction : sCloseAction, onSuccess : fnUpdateDetails, scope : "prd:" + nSubjectId, pickLevel : 1, additionalFields : { opportunityId : nOpportunityId }, autoFind : true }; if( nOperatorId ) { oFndOptions.operatorId = nOperatorId; } Fse.FND.showProductLookup( oFndOptions ); }; Fse.SPL.aoeInteractionClicked = function( oCheckbox ) { var sInteractionDateFieldName = oCheckbox.name.replace( /^.*_/, "interactionDate_" ); var oInteractionDate = oCheckbox.form.elements[sInteractionDateFieldName]; if( oInteractionDate ) { oInteractionDate.disabled = oCheckbox.disabled || ! oCheckbox.checked; } var sInteractionMilesFieldName = oCheckbox.name.replace( /^.*_/, "interactionMiles_" ); var oInteractionMiles = oCheckbox.form.elements[sInteractionMilesFieldName] if( oInteractionMiles ) { oInteractionMiles.disabled = oCheckbox.disabled || ! oCheckbox.checked; } }; Fse.SPL._embeddedOpportunityUpdateHandler = null; Fse.SPL.openAccountOpportunityEditor = function( sSocketId, nPartnerId, sPartnerType, fnPostUpdate ) { var sHandler = Fse.SPL.getHandler(); var oOptions = { partnerId : nPartnerId, partnerType : sPartnerType, embedded : true }; if( fnPostUpdate ) { Fse.SPL._embeddedOpportunityUpdateHandler = fnPostUpdate; oOptions.postUpdateJavascript='Fse.SPL.embeddedAccountOpportunityEditorUpdated'; } var sURL = Fse.Util.updateURL( sHandler + "?ajax=accountOpportunityEditor", oOptions ); Fse.Ajax.updateContent( sURL, sSocketId ); }; Fse.SPL.embeddedAccountOpportunityEditorUpdated = function() { if( Fse.SPL._embeddedOpportunityUpdateHandler ) { Fse.SPL._embeddedOpportunityUpdateHandler(); Fse.SPL._embeddedOpportunityUpdateHandler = null; } }; Fse.SPL.pipelineGaugeViewChanged = function( oSelect ) { var sParams = Fse.Ajax.extractParamsFromForm( oSelect.form ); var sURL = oSelect.form.getAttribute( "action" ) + "?" + sParams var oContainer = YAHOO.util.Dom.getAncestorByClassName( oSelect, "spl-gauge-container" ); if( oContainer ) { Fse.Ajax.updateContent( sURL, oContainer.getAttribute( "id" ) ); } }; Fse.SPL.showObjectiveLinkage = function( nOpportunityId ) { var sHandlerURL = Fse.SPL.getHandler(); var sQueryString = sHandlerURL + "?ajax=objectiveLinkage&opportunityId=" + nOpportunityId; var oOptions = { src : sQueryString, width : "550px", title : "Objectives" }; Fse.DialogManager.show( "splObjectiveLinkage$", oOptions ); }; Fse.SPL.checkVolumeCalculatorValues = function( oForm ) { var bMulti = false; if( oForm.elements.aoe ) { bMulti = true; } var nOperatorId = 0; if( oForm.elements.partnerType.value == "OPR" && oForm.elements.partnerId && oForm.elements.partnerId.value > 0 ) { nOperatorId = oForm.elements.partnerId.value; } if( nOperatorId == 0 ) { // not an operator so, nothing to check return true; } var aOpportunityIds = []; if( oForm.elements.opportunityId.length ) { for( var x = 0; x < oForm.elements.opportunityId.length; x++ ) { aOpportunityIds[aOpportunityIds.length] = oForm.elements.opportunityId[x].value; } } else { aOpportunityIds[0] = oForm.elements.opportunityId.value; } var bValid = true; for( var x = 0; x < aOpportunityIds.length; x++ ) { var nOpportunityId = aOpportunityIds[x]; var nSkuId = 0; var sSubjectDetailIDFieldName = "SubjectDetailID"; var sPortionsPerDayFieldName = "portionsPerDay"; var sPortionAmtOzFieldName = "portionAmtOz"; var sUnitsToServeFieldName = "unitsToServe"; var sCaseAmtFieldName = "CaseAmt"; if( bMulti ) { sSubjectDetailIDFieldName = sSubjectDetailIDFieldName + "_" + nOpportunityId; sPortionsPerDayFieldName = sPortionsPerDayFieldName + "_" + nOpportunityId; sPortionAmtOzFieldName = sPortionAmtOzFieldName + "_" + nOpportunityId; sUnitsToServeFieldName = sUnitsToServeFieldName + "_" + nOpportunityId; sCaseAmtFieldName = "caseAmt_" + nOpportunityId; } if( oForm.elements[sSubjectDetailIDFieldName] ) { var oSubjectDetailIDField = oForm.elements[sSubjectDetailIDFieldName]; if( oSubjectDetailIDField.length ) { for( var x = 0; x < oSubjectDetailIDField.length; x++ ) { var oSubjectDetailID = oSubjectDetailIDField[x]; if( bMulti || oSubjectDetailID.checked ) { nSkuId = oSubjectDetailID.value; break; } } } else if ( bMulti || oSubjectDetailIDField.checked ) { nSkuId = oSubjectDetailIDField.value; } } if( ! nSkuId ) { // a SKU is required to use the volume calculator, no need to validate this opportunity any further continue; } var oPortionsPerDay = oForm.elements[sPortionsPerDayFieldName]; var oPortionAmtOz = oForm.elements[sPortionAmtOzFieldName]; var oUnitsToServe = oForm.elements[sUnitsToServeFieldName]; var oCaseAmt = oForm.elements[sCaseAmtFieldName]; if( ! ( oPortionsPerDay && oPortionAmtOz && oUnitsToServe && oCaseAmt )) { // fields required aren't on the form return; } var sHandlerURL = Fse.SPL.getHandler(); var sQueryString = sHandlerURL + "?ajax=rerunVolumeCalculations" + "&skuId=" + nSkuId + "&portionAmtOz=" + encodeURIComponent( oPortionAmtOz.value ) + "&portionsPerDay=" + encodeURIComponent( oPortionsPerDay.value ) + "&unitsToServe=" + encodeURIComponent( oUnitsToServe.value ) + "&operatorId=" + encodeURIComponent( nOperatorId ) + "&annualCases=" + encodeURIComponent( oCaseAmt.value ); var fnResponseHandler = function( oRequest ) { var oResult = JSON.parse( oRequest.xhRequest.responseText ); if( oResult.annualCases != oCaseAmt.value ) { bValid = false; } }; Fse.Ajax.getURL( sQueryString, fnResponseHandler, null, true ); // no options, syncrhonous if( ! bValid ) { break; } } if( ! bValid ) { alert( "Volume Calculator inputs do not match Annual Case Amt, You must correct them before saving." ); oCaseAmt.focus(); } return bValid; }; Fse.SPL.showVolumeCalculator = function(nOpportunityId) { var bMulti = false; var oForm = document.forms.frm_editOpportunity; if( ! oForm || ( nOpportunityId && document.forms.frm_aoeUpdateOpportunities )) { bMulti = true; oForm = document.forms.frm_aoeUpdateOpportunities; // must have an opportunity id if( ! nOpportunityId ) { return; } } // no form, quit if( ! oForm ) { return; } var nOperatorId = 0; if( oForm.elements.partnerType.value == "OPR" && oForm.elements.partnerId && oForm.elements.partnerId.value > 0 ) { nOperatorId = oForm.elements.partnerId.value; } if( nOperatorId == 0 ) { return; } var nSkuId = 0; var sSubjectDetailIDFieldName = "SubjectDetailID"; var sPortionsPerDayFieldName = "portionsPerDay"; var sPortionAmtOzFieldName = "portionAmtOz"; var sUnitsToServeFieldName = "unitsToServe"; var sAnnualVolumeFactorFieldName = "annualVolumeFactor"; var sCaseAmtFieldName = "CaseAmt"; if( bMulti ) { sSubjectDetailIDFieldName = sSubjectDetailIDFieldName + "_" + nOpportunityId; sPortionsPerDayFieldName = sPortionsPerDayFieldName + "_" + nOpportunityId; sPortionAmtOzFieldName = sPortionAmtOzFieldName + "_" + nOpportunityId; sUnitsToServeFieldName = sUnitsToServeFieldName + "_" + nOpportunityId; sCaseAmtFieldName = "caseAmt_" + nOpportunityId; } if( oForm.elements[sSubjectDetailIDFieldName] ) { var oSubjectDetailIDField = oForm.elements[sSubjectDetailIDFieldName]; if( oSubjectDetailIDField.length ) { for( var x = 0; x < oSubjectDetailIDField.length; x++ ) { var oSubjectDetailID = oSubjectDetailIDField[x]; if( bMulti || oSubjectDetailID.checked ) { nSkuId = oSubjectDetailID.value; break; } } } else if ( bMulti || oSubjectDetailIDField.checked ) { nSkuId = oSubjectDetailIDField.value; } } if( ! nSkuId ) { alert( "A SKU selection is required in order to use the Volume Calculator" ); return; } var oPortionsPerDay = oForm.elements[sPortionsPerDayFieldName]; var oPortionAmtOz = oForm.elements[sPortionAmtOzFieldName]; var oUnitsToServe = oForm.elements[sUnitsToServeFieldName]; var oCaseAmt = oForm.elements[sCaseAmtFieldName]; var oAnnualVolumeFactor = oForm.elements[sAnnualVolumeFactorFieldName]; if( ! ( oPortionsPerDay && oPortionAmtOz && oUnitsToServe && oCaseAmt )) { // fields required aren't on the form return; } var sHandlerURL = Fse.SPL.getHandler(); var nAnnualCases = oCaseAmt.value; var nAnnualVolumeFactor = 1; if( oAnnualVolumeFactor ) { nAnnualVolumeFactor = oAnnualVolumeFactor.value } nAnnualCases = nAnnualCases * nAnnualVolumeFactor; var sQueryString = sHandlerURL + "?ajax=volumeCalculatorDialog" + "&skuId=" + nSkuId + "&portionAmtOz=" + encodeURIComponent( oPortionAmtOz.value ) + "&portionsPerDay=" + encodeURIComponent( oPortionsPerDay.value ) + "&unitsToServe=" + encodeURIComponent( oUnitsToServe.value ) + "&operatorId=" + encodeURIComponent( nOperatorId ) + "&annualCases=" + encodeURIComponent( nAnnualCases ); var fnApply = function( oRequest ) { var oResult = null; try { eval( "oResult = " + oRequest.responseText ); oPortionsPerDay.value = oResult.portionsPerDay; oPortionAmtOz.value = oResult.portionAmtOz; oUnitsToServe.value = oResult.unitsToServe; oCaseAmt.value = Math.round( oResult.annualCases / nAnnualVolumeFactor ); if( bMulti ) { } else { Fse.SPL.calculateOpportunity(); } } catch( x ) { alert( oRequest.responseText ); } } var oOptions = { src : sQueryString, width : "400px", title : "Annual Volume Calculator", onSuccess : fnApply }; Fse.DialogManager.show( "splVolumeCalculator$", oOptions ); }; Fse.SPL.updateVolumeCalculator = function( oField, nSeasonLength ) { var oForm = oField.form; var oPortionsPerDay = oForm.elements.portionsPerDay; var oPortionAmtOz = oForm.elements.portionAmtOz; var oUnitsToServe = oForm.elements.unitsToServe; var oNetCaseWeightOz = oForm.elements.netCaseWeightOz; var oCurrentCases = oForm.elements.currentCases; if( ! ( oPortionsPerDay && oPortionAmtOz && oUnitsToServe && oNetCaseWeightOz )) { // fields required aren't on the form return; } if( ! nSeasonLength ) { nSeasonLength = 365; } var nPortionsPerDay = Fse.FormManager.cleanseNumericValue( oPortionsPerDay.value ); var nPortionAmtOz = Fse.FormManager.cleanseNumericValue( oPortionAmtOz.value ); var nUnitsToServe = Fse.FormManager.cleanseNumericValue( oUnitsToServe.value ); var nPortionsPerCase = 0; var nCasesPerDay = 0; var nNetCaseWeightOz = Fse.FormManager.cleanseNumericValue( oNetCaseWeightOz.value ); if( nPortionAmtOz > 0 ) { nPortionsPerCase = Math.round( nNetCaseWeightOz/nPortionAmtOz * 10 ) / 10; } if( nPortionsPerCase > 0 ) { nCasesPerDay = Math.round( nUnitsToServe * nPortionsPerDay / nPortionsPerCase * 100.0 ) / 100; } var nAnnualCases = Math.round( nCasesPerDay * nSeasonLength ); var nCurrentCases = oCurrentCases.value; var nDiff = nAnnualCases - nCurrentCases; document.getElementById( "casesPerDaySocket" ).innerHTML = nCasesPerDay; document.getElementById( "annualCasesSocket" ).innerHTML = nAnnualCases; document.getElementById( "portionsPerCaseSocket" ).innerHTML = nPortionsPerCase; var oDiffSocket = document.getElementById( "diffSocket" ); if( nDiff > 0 ) { oDiffSocket.style.color = "green"; oDiffSocket.innerHTML = "+" + nDiff; } else if ( nDiff < 0 ) { oDiffSocket.style.color = "red"; oDiffSocket.innerHTML = nDiff; } else { oDiffSocket.style.color = "inherit"; oDiffSocket.innerHTML = ""; } oForm.elements.annualCases.value = nAnnualCases; }; Fse.SPL.addOpportunitiesEx = function( oOptionsIn ) { var oOptions = {}; if( oOptionsIn ) { oOptions = oOptionsIn; } if( ! oOptions.partnerType ) { oOptions.partnerType = 'OPR'; } if( ! oOptions.partnerId ) { oOptions.partnerId = 0; } // method = full or quick if( ! oOptions.method ) { oOptions.method = "full"; } var sWidth = "750px"; /* if( oOptions.method == "quick" ) { sWidth = "600px"; } */ var urlParams = { partnerId : oOptions.partnerId, partnerType : oOptions.partnerType, method : oOptions.method }; if( oOptions.productStatusId ) { urlParams.productStatusId = oOptions.productStatusId; } var sDialogId = "addOpportunitiesDialog$" var sDialogSrc = Fse.Util.updateURL( Fse.SPL.getHandler() + "?ajax=addOpportunitiesDialog", urlParams ); var oDialogOptions = { src : sDialogSrc, dialogId : sDialogId, title : "Add Opportunities", width : sWidth, beforeRenderEvent : function() { var oDialog = YAHOO.Fse.Dialogs[sDialogId]; oDialog.tabView = new YAHOO.widget.TabView( "addOpportunitiesDialog-tab-set" ); } }; if( oOptions.onSuccess ) { oDialogOptions.onSuccess = oOptions.onSuccess; } if( oOptions.partnerId == 0 ) { oDialogOptions.renderEvent = function() { Fse.FND.showPartnerLookup( { partnerType: oOptions.partnerType, selectMode:'single', onSuccess : Fse.SPL.onPartnerPicked, operatorNotFoundAddOperator : function(){Fse.OPR.showAddOperatorDialogEx(Fse.SPL.addOpportunitiesEx_onOperatorAdded)} }) }; } Fse.DialogManager.show( sDialogId, oDialogOptions ); }; Fse.SPL.addOpportunitiesEx_onStageChanged = function( oSelect ) { Fse.SPL.updateOpportunityTaskDisplay( oSelect.form, 0 ); }; Fse.SPL.addOpportunitiesEx_onOperatorAdded = function( oRequest ) { var nOperatorId = Fse.Ajax.getResponseHeader( oRequest, "X-FSE-OperatorId" ); var sOperatorName = Fse.Ajax.getResponseHeader( oRequest, "X-FSE-OperatorName" ); /* Fix for issue in SCRUM:21472 var _convLowerCase = JSON.parse(JSON.stringify(oRequest.getResponseHeader).toLowerCase()); var nOperatorId = Number( _convLowerCase['x-fse-operatorid'] ); var sOperatorName = _convLowerCase['x-fse-operatorname']; */ Fse.SPL.setPickedPartner( 'OPR', nOperatorId, sOperatorName ); /* obsolete var oSelect = document.forms.frm_addOpportunities.elements.partnerId; var oPartnerSelectSocket = document.getElementById( "partnerSelectSocket" ); var oLink = document.getElementById( "splHandlerLink" ); var sPartnerSelectValue = nOperatorId; // retrieve revised partner select var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sQueryString = oPartnerSelectSocket.getAttribute( "fse:queryString" ); var sURL = sDefaultHandlerURL + "?" + sQueryString; sURL = sURL.replace( /\?(?=\?)/, "" ); sURL = Fse.SPL.updateURL( sURL, { partnerId : sPartnerSelectValue, selectCode : "" } ); oSelect.options[oSelect.selectedIndex].innerHTML = "Loading, please wait..."; oSelect.disabled = true; var fnOnReturn = function() { Fse.SPL.onPartnerChange( oSelect ) }; Fse.Ajax.updateContent( sURL, "partnerSelectSocket", null, fnOnReturn ); */ }; Fse.SPL.addOpportunitiesEx_toggleProductDetail = function( nCatalogId ) { var oAnchor = document.getElementById( "aosr_" + nCatalogId + "_toggle" ); if( ! oAnchor ) { return; } var sStage = oAnchor.innerHTML; if( sStage == "+" ) { oAnchor.innerHTML = "-"; YAHOO.util.Dom.removeClass( "aosr_" + nCatalogId + "_more", "fse-hidden" ); YAHOO.util.Dom.addClass( "aosr_" + nCatalogId + "_more", "open" ); YAHOO.util.Dom.addClass( "aosr_" + nCatalogId, "open" ); } else { oAnchor.innerHTML = "+"; YAHOO.util.Dom.addClass( "aosr_" + nCatalogId + "_more", "fse-hidden" ); YAHOO.util.Dom.removeClass( "aosr_" + nCatalogId + "_more", "open" ); YAHOO.util.Dom.removeClass( "aosr_" + nCatalogId, "open" ); } }; Fse.SPL.addOpportunitiesEx_editProductDetails = function( sLevelName, nCatalogId ) { var oOptions = { title : "Product Details", width : "450px", src : Fse.SPL.getHandler() + "?ajax=aosEditProductDetailsDialog&mode=direct&levelName=" + encodeURIComponent( sLevelName ) + "&catalogId=" + encodeURIComponent( nCatalogId ) }; oOptions.onSuccess = function() { Fse.SPL._transferFields( document.forms.frm_aosEditProductDetails, document.forms.frm_addOpportunities ); }; oOptions.beforeRenderEvent = function() { Fse.SPL._transferFields( document.forms.frm_addOpportunities, document.forms.frm_aosEditProductDetails ); }; Fse.DialogManager.show( "aosEditProductDetailsDialog$", oOptions ); }; Fse.SPL._transferFields = function( oSrcForm, oDestForm ) { for( var x = 0; x < oSrcForm.elements.length; x++ ) { var oSrc = oSrcForm.elements[x]; var sFieldName = oSrc.name; if( oDestForm.elements[sFieldName]) { var oDest = oDestForm.elements[sFieldName]; if( oSrc.type.toUpperCase() == "CHECKBOX" || oSrc.type.toUpperCase() == "RADIO" ) { oDest.checked = oSrc.checked; } else { oDest.value = oSrc.value; } }; } } Fse.SPL.addOpportunities = function( nPartnerId, sPartnerType, fnOnSuccess ) { var oOptions = {}; oOptions.partnerId = nPartnerId; oOptions.partnerType = sPartnerType; oOptions.onSuccess = fnOnSuccess; Fse.SPL.addOpportunitiesEx( oOptions ); }; Fse.SPL.addOpportunitySkuSearch = function( oForm, nPickLevel ) { // in tabbed mode, make sure that we are on the products tab /* if( YAHOO.Fse.Dialogs["addOpportunitiesDialog$"].tabView ) { var _tabView = YAHOO.Fse.Dialogs["addOpportunitiesDialog$"].tabView; var oSearchField = oForm.elements.skuSearch; var oTabBodyElement = YAHOO.util.Dom.getAncestorByClassName( oSearchField, "tab-body" ); if( oTabBodyElement) { var nTabIdx = 0; var oTab = _tabView.getTab( nTabIdx ); while( oTab ) { var contentEl = oTab.get( "contentEl" ); if( contentEl == oTabBodyElement ) { break; } nTabIdx++; oTab = _tabView.getTab( nTabIdx ); } if( oTab ) { _tabView.selectTab( nTabIdx ); } } } */ if( ! nPickLevel || nPickLevel < 1 || nPickLevel > 2 ) { nPickLevel = 1; } var sKeyword = ""; if( oForm.elements.skuSearch ) { sKeyword = oForm.elements.skuSearch.value.replace( /^\s*|\s*$/g, ''); } var sSelectMode = "multiple"; if( oForm.elements._method && oForm.elements._method.value == "quick" ) { sSelectMode = "single"; } var sCloseAction = oForm.elements._pfCloseAction.value; var sPartnerType = oForm.elements.partnerType.value; var oFindOptions = { pickLevel:nPickLevel, closeAction:sCloseAction, selectMode:sSelectMode, additionalFields : { partnerType:sPartnerType }, onSuccess:Fse.SPL.addOpportunitiesSKUPicked }; if( sPartnerType == "OPR" ) { oFindOptions.operatorId = oForm.elements.partnerId.value; } if( oForm.elements.fndScope ) { oFindOptions.scope = oForm.elements.fndScope.value; } if( oForm.elements._method ) { oFindOptions.additionalFields.method = oForm.elements._method.value; } if( sKeyword != "" ) { oFindOptions.keyword = sKeyword; } if( sKeyword != "" ) { var sURL = Fse.Util.updateURL( Fse.SPL.getHandler() + "?ajax=addOpportunitiesPickSku", { partnerType:sPartnerType, keyword:sKeyword }); var fnOnReturn = function( oSpryRequest ) { var xhRequest = oSpryRequest.xhRequest; var sSkuId = xhRequest.getResponseHeader( "x-fse-skuid" ); if( sSkuId == null || sSkuId == "0" ) { Fse.FND.showProductLookup( oFindOptions ); } else { Fse.SPL.addOpportunitiesSKUPicked( xhRequest ); } }; Fse.Ajax.getURL( sURL, fnOnReturn ); } else { Fse.FND.showProductLookup( oFindOptions ); } }; Fse.SPL.addOpportunitiesSKUPicked = function( oRequest ) { var oForm = document.forms.frm_addOpportunities; var oTable = document.getElementById( "aos-body" ); if( oTable ) { Fse.UI.addTableRowFromContent( oTable, oRequest.responseText, true ); } var oSkuSearch = document.getElementById( "ao_skuSearch" ); if( oSkuSearch ) { oSkuSearch.value = ""; } /* var bQuickMode = oForm.elements._method && oForm.elements._method.value == "quick"; if( bQuickMode ) { */ YAHOO.util.Dom.addClass( "aos-ctrl", "fse-hidden" ); YAHOO.util.Dom.removeClass( "aos-ctrl-2", "fse-hidden"); YAHOO.util.Dom.removeClass( "aos-header", "fse-hidden"); YAHOO.util.Dom.removeClass( "ao_skuListCtrl_rows", "fse-hidden" ); /* } */ }; Fse.SPL.addOpportunitiesRemoveSku = function( sSkuId ) { var oForm = document.forms.frm_addOpportunities; var oRow = document.getElementById( "aosr_" + sSkuId ); if( oRow ) { oParent = oRow.parentNode; oParent.removeChild( oRow ); /* var oMoreRow = document.getElementById( "aosr_" + sSkuId + "_more" ); if( oMoreRow ) { oParent.removeChild( oMoreRow ); } */ if( oParent.rows.length == 0 ) { // no more product rows, reset the UI YAHOO.util.Dom.removeClass( "aos-ctrl", "fse-hidden" ); YAHOO.util.Dom.addClass( "ao_skuListCtrl_rows", "fse-hidden" ); YAHOO.util.Dom.addClass( "aos-ctrl-2", "fse-hidden" ); YAHOO.util.Dom.addClass( "aos-header", "fse-hidden" ); } } }; Fse.SPL._checkNoSaleRequirements = function( oForm ) { var oNoSaleReasonField = oForm.elements.newNoSaleReasonID; if( ! oNoSaleReasonField || oNoSaleReasonField.disabled ) { return true; } var oNoSaleReasonOption = oNoSaleReasonField.options[oNoSaleReasonField.selectedIndex]; var sRequireCompetitor = oNoSaleReasonOption.getAttribute( "fse:requireCompetitor" ); if( ! sRequireCompetitor || sRequireCompetitor != "Y" ) { return true; } var oCompetitorIdField = oForm.elements.competitorId; var oCompetitiveCommentField = oForm.elements.competitiveComment; if( oCompetitorIdField == null && oCompetitiveCommentField == null ) { return true; } var bValid = false; if( oCompetitorIdField && oCompetitorIdField.options.length > 1 ) { if( oCompetitorIdField.value != "?" ) { bValid = true; } else { Fse.FormManager._setFocus( oCompetitorIdField ); bValid = false; } } else if( oCompetitiveCommentField && oCompetitiveCommentField.value == "" ) { Fse.FormManager._setFocus( oCompetitiveCommentField ); bValid = false; } else { bValid = true; } if( ! bValid ) { alert( "A No Sale Reason of \"" + oNoSaleReasonOption.innerHTML + "\" requires a Competitor Selection" ); } return bValid; }; Fse.SPL.validateEditOpportunityForm = function( oForm ) { // make sure we have a partner selected if( oForm.elements.partnerId.value == 0 ) { if( oForm.elements.partnerType.value == "OPR" ) { alert( "You must select an Operator Account" ); } else { alert( "You must select a Distributor Account" ); } return false; } if(!(oForm.elements.SubjectID && !oForm.elements.SubjectID.disabled) ){ alert( "You must select a Product" ); return false; } var bValid = Fse.SPL._checkNoSaleRequirements( oForm ); return bValid; }; Fse.SPL.validateEditOpportunityForm2 = function( oForm ) { var bValid = true; return bValid; }; Fse.SPL.validateAddOpportunitiesForm = function( oForm ) { // make sure we have a partner selected if( oForm.elements.partnerId.value == 0 ) { if( oForm.elements.partnerType.value == "OPR" ) { alert( "You must select an Operator Account" ); } else { alert( "You must select a Distributor Account" ); } return false; } var bValid = true; var bHasSkus = false; var oTable = document.getElementById( "aos-body" ); if( oTable && oTable.tBodies.length && oTable.tBodies[0].rows.length ) { bHasSkus = true; } if( ! bHasSkus ) { alert( "Please add SKUs" ); bValid = false; } // add logic to ensure that L2's can't be set to a stage that requires SKUs base don lookup manager stage toggle //determine if current stage requires skus if( document.getElementById("ao_NewStageId")[document.getElementById("ao_NewStageId").selectedIndex].getAttribute("fse:requiresku") == "Y" ){ var isL2Item = oForm.elements["levelType"]; if (isL2Item == null){ isL2Item = 1; } if(isL2Item.length > 1){ for( var x = 0; x < isL2Item.length; x++ ) { if(isL2Item[x].value == 2){ bValid = false; alert("Must convert to SKU before making Sale"); } } }else{ if(isL2Item.value == 2){ bValid = false; alert("Must convert to SKU before making Sale"); } } } return bValid; }; Fse.SPL.addOpportunitiesSkuSearchKeyUp = function() { var e = YAHOO.util.Event.getEvent(); if( e.keyCode == 13 ) { Fse.SPL.addOpportunitySkuSearch( document.forms.frm_addOpportunities ); } } Fse.SPL.pickProducts = function( sItemField, sMfrField ) { var oItemField = document.getElementById( sItemField ); var oMfrField = document.getElementById( sMfrField ); var sHandler = Fse.SPL.getHandler(); var oOptions = { selectMode : "multiple", closeAction : sHandler + "?do=lookupSkuId", onSuccess : Fse.SPL.skuItemPicked, additionalFields : { SkuFieldName : sItemField } }; if (oMfrField.value > 0) { oOptions.scope = 'mfr:' + oMfrField.value; } Fse.FND.showProductLookup( oOptions ); }; Fse.SPL.skuItemPicked = function( oRequest ) { var sSku = Fse.Ajax.getResponseHeader( oRequest, "x-fse-spl-sku" ); var sSkuField = Fse.Ajax.getResponseHeader( oRequest, "x-fse-spl-sku-field" ); var oField = document.getElementById(trim(sSkuField)); var skuList = oField.value; var skuItem = sSku; if( oField ) { if( skuList.length == 0 ) { oField.value = skuItem ; } else {oField.value = oField.value + "," + sSku ; } ; } }; Fse.SPL.enableNewOpportunityTask = function( oForm, nOpportunityId, bEnabled ) { var bDisabled = ! bEnabled; var sNewTaskRowClass = "newTaskRow_" + nOpportunityId; var oNewTaskRow = null var aNewTaskRows = YAHOO.util.Dom.getElementsByClassName( sNewTaskRowClass, "tr", oForm ) if( aNewTaskRows.length ) { oNewTaskRow = aNewTaskRows[0]; } if( ! oNewTaskRow ) { return; } if( bEnabled ) { YAHOO.util.Dom.removeClass( oNewTaskRow, "fse-hidden" ); } else { YAHOO.util.Dom.addClass( oNewTaskRow, "fse-hidden" ); } var fnFieldTest = function( e ) { return e.form && ( e.tagName.toUpperCase() == "SELECT" || e.tagName.toUpperCase() == "INPUT" ); } var aFields = YAHOO.util.Dom.getElementsBy( fnFieldTest, null, oNewTaskRow ); for( var x = 0; x < aFields.length; x++ ) { aFields[x].disabled = bDisabled; } }; Fse.SPL.opportunityHasOpenTasks = function( oForm, nOpportunityId ) { var oOpportunityTasks = oForm.elements["opportunityTasks_" + nOpportunityId]; if( ! oOpportunityTasks ) { return false; } var sTaskIdList = oOpportunityTasks.value; var aTaskIds = sTaskIdList.split( "," ); if( sTaskIdList == "" ) { aTaskIds = []; }; var bOpenTasks = false; for( var x = 0; x < aTaskIds.length; x++ ) { var nTaskId = aTaskIds[x]; var sFieldSuffix = "_" + nOpportunityId + "_" + nTaskId // check for delete var oDeleteField = oForm.elements["taskDelete" + sFieldSuffix ]; if( oDeleteField.checked ) { // it's delete, no need to look at this task further continue; } // check for complete var oStatusField = oForm.elements["taskDisposition" + sFieldSuffix ]; if( oStatusField.value != "X" && oStatusField.value != "Z" ) { // it's open, stop looking bOpenTasks = true; break; } } return bOpenTasks; }; Fse.SPL.updateOpportunityTaskDisplay = function( oForm, nOpportunityId ) { if( nOpportunityId == -1 ) { // find the opportunityId if( oForm.elements.opportunityId ) { nOpportunityId = oForm.elements.opportunityId.value; } else { // can't do anything without an opportunityId return; } } // add logic to ensure that L2's can't be set to a stage that requires SKUs base don lookup manager stage toggle //determine if current stage requires skus if( document.getElementById("ao_NewStageId")[document.getElementById("ao_NewStageId").selectedIndex].getAttribute("fse:requiresku") == "Y" ){ var isL2Item = oForm.elements["levelType"]; if (isL2Item == null){ isL2Item = 1; } if(isL2Item.length > 1){ for( var x = 0; x < isL2Item.length; x++ ) { if(isL2Item[x].value == 2){ document.getElementById("ao_NewStageId").selectedIndex = 3; alert("Must convert to SKU before making Sale"); } } }else{ if(isL2Item.value == 2){ document.getElementById("ao_NewStageId").selectedIndex = 3; alert("Must convert to SKU before making Sale"); } } } // find opportunity status var sOppStatus = "?"; var oStatusChangeField = oForm.elements["statusChange_" + nOpportunityId ]; if( oStatusChangeField ) { if( oStatusChangeField.checked ) { var oStageField = oForm.elements["stageId_" + nOpportunityId ]; if( oStageField.options ) { sOppStatus = oStageField.options[oStageField.selectedIndex].getAttribute( "fse:opportunityStatus" ); } } else { sOppStatus = oStatusChangeField.getAttribute( "fse:opportunityStatus" ); } } else { var oChangeStatus = oForm.elements["changeStatusDisplay"] || oForm.elements["changeStatus"]; if( oChangeStatus ) { if( oChangeStatus.checked ) { var oStageField = oForm.elements["NewStageId"]; if( oStageField.options ) { sOppStatus = oStageField.options[oStageField.selectedIndex].getAttribute( "fse:statusCode" ); } } else { sOppStatus = oChangeStatus.getAttribute( "fse:opportunityStatus" ); } } else { // if not changeStatus then it is for a new opportunity var oStageField = oForm.elements["NewStageId"]; if( oStageField.options ) { sOppStatus = oStageField.options[oStageField.selectedIndex].getAttribute( "fse:statusCode" ); } } } if( sOppStatus == "A" ) { var bOpenTasks = Fse.SPL.opportunityHasOpenTasks( oForm, nOpportunityId ); Fse.SPL.enableNewOpportunityTask( oForm, nOpportunityId, ! bOpenTasks ); } else { Fse.SPL.enableNewOpportunityTask( oForm, nOpportunityId, false ); } }; Fse.SPL.addOpportunitiesEx_showVolumeCalculator = function( sCaseAmtFieldName ) { var bMulti = false; var oForm = document.forms.frm_addOpportunities; // no form, quit if( ! oForm ) { return; } var nOperatorId = 0; if( oForm.elements.partnerType.value == "OPR" && oForm.elements.partnerId && oForm.elements.partnerId.value > 0 ) { nOperatorId = oForm.elements.partnerId.value; } var oCaseAmt = oForm.elements[sCaseAmtFieldName]; if( ! oCaseAmt ) { return; } var sFieldSuffix = oCaseAmt.getAttribute( "fse:fieldSuffix" ); var nSkuId = oCaseAmt.getAttribute( "fse:skuId" ); var sPortionsPerDayFieldName = "portionsPerDay_" + sFieldSuffix; var sPortionAmtOzFieldName = "portionAmtOz_" + sFieldSuffix; var sUnitsToServeFieldName = "unitsToServe_" + sFieldSuffix; if( ! nSkuId ) { alert( "A SKU selection is required in order to use the Volume Calculator" ); return; } var oPortionsPerDay = oForm.elements[sPortionsPerDayFieldName]; var oPortionAmtOz = oForm.elements[sPortionAmtOzFieldName]; var oUnitsToServe = oForm.elements[sUnitsToServeFieldName]; if( ! ( oPortionsPerDay && oPortionAmtOz && oUnitsToServe && oCaseAmt )) { // fields required aren't on the form return; } var sHandlerURL = Fse.SPL.getHandler(); var sQueryString = sHandlerURL + "?ajax=volumeCalculatorDialog" + "&skuId=" + nSkuId + "&portionAmtOz=" + encodeURIComponent( oPortionAmtOz.value ) + "&portionsPerDay=" + encodeURIComponent( oPortionsPerDay.value ) + "&unitsToServe=" + encodeURIComponent( oUnitsToServe.value ) + "&operatorId=" + encodeURIComponent( nOperatorId ) + "&annualCases=" + encodeURIComponent( oCaseAmt.value ); var fnApply = function( oRequest ) { var oResult = null; try { eval( "oResult = " + oRequest.responseText ); oPortionsPerDay.value = oResult.portionsPerDay; oPortionAmtOz.value = oResult.portionAmtOz; oUnitsToServe.value = oResult.unitsToServe; oCaseAmt.value = oResult.annualCases; } catch( x ) { alert( oRequest.responseText ); } } var oOptions = { src : sQueryString, width : "400px", title : "Annual Volume Calculator", onSuccess : fnApply }; Fse.DialogManager.show( "splVolumeCalculator$", oOptions ); }; Fse.SPL.addOpportunitiesEx_unitOfMeasureChanged = function( oSelect ) { var sName = oSelect.name; var aParts = sName.split( "_" ); var sIconId = "caseCalculatorIcon_" + aParts[1]; if( oSelect.value == "cases" ) { YAHOO.util.Dom.removeClass( sIconId, "fse-invisible" ); } else { YAHOO.util.Dom.addClass( sIconId, "fse-invisible" ); } }; Fse.SPL.requestOpportunityUpdate = function( nOpportunityId ) { var oOptions = { title : "Request Opportunity Update", width : "450px", src : Fse.SPL.getHandler() + "?ajax=requestOpportunityUpdateDialog&opportunityId=" + encodeURIComponent( nOpportunityId ) }; Fse.DialogManager.show( "splRequestOpportunityUpdateDialog$", oOptions ); }; Fse.SPL.priceTypeChanged = function( oSelect ) { var sPriceType = oSelect.value; var _fnTest = function( e ) { return true; } var aPriceTypeDetailElements = YAHOO.util.Dom.getElementsBy( _fnTest, "input", "priceTypeDetails" ); var aPriceTypeDetailSelects = YAHOO.util.Dom.getElementsBy( _fnTest, "select", "priceTypeDetails" ); for( var x = 0; x < aPriceTypeDetailSelects.length; x++ ){ aPriceTypeDetailElements[aPriceTypeDetailElements.length] = aPriceTypeDetailSelects[x]; } var bDiabled = false; if( sPriceType == "STANDARD" ) { YAHOO.util.Dom.addClass( "priceTypeDetails", "fse-hidden" ); YAHOO.util.Dom.removeClass( "standardPricingDetails", "fse-hidden" ) bDisabled = true; } else { YAHOO.util.Dom.removeClass( "priceTypeDetails", "fse-hidden" ) YAHOO.util.Dom.addClass( "standardPricingDetails", "fse-hidden" ); bDisabled = false; } for( var x = 0; x < aPriceTypeDetailElements.length; x++ ) { aPriceTypeDetailElements[x].disabled = bDisabled; } }; Fse.SPL.multipleSelectStateChanged = function( oSelect ) { Fse.EventManager.addEventHandler( oSelect, "change", Fse.SPL.setPreviewTimeout ); Fse.SPL.setPreviewTimeout(); }; Fse.SPL.showNameSearchSaveDialog = function( fnCallback, oOptions ) { var _fnCallback = function(){ if ( document.forms.frm_nameSaveSearch ){ var _theName = document.forms.frm_nameSaveSearch.searchNameSet.value; }else{ var _theName = "saved search"; } if ( document.forms.frm_nameSaveSearch ){ if(document.forms.frm_nameSaveSearch.searchSetDefault.checked){ var _makeDef = "Y"; }else{ var _makeDef = "N"; } }else{ var _makeDef = "N"; } if( document.forms.frm_setDefaultSearch ) { document.forms.frm_setDefaultSearch.searchName.value = _theName; document.forms.frm_setDefaultSearch.makeDefault.value = _makeDef; Fse.Ajax.sendForm( document.forms.frm_setDefaultSearch ); alert( "Pipeline Search " + _theName + " Set!" ); window.location.reload(false); } }; var oLink = document.getElementById( "splHandlerLink" ); var sDefaultHandlerURL = oLink.getAttribute( "href" ); var sDialogBody = "nameSearchSaveBody"; var _qStr = sDefaultHandlerURL + "?ajax=" + sDialogBody; var sDialogId = "nameSearchSaveDialog$"; var oDialogOptions = {}; oDialogOptions.title = "Save Search As"; oDialogOptions.width = "400px"; oDialogOptions.src = _qStr; oDialogOptions.onSuccess = _fnCallback; oDialogOptions.beforeRenderEvent = function() { var oDialog = YAHOO.Fse.Dialogs["nameSearchSaveDialog$"]; }; Fse.DialogManager.show( sDialogId, oDialogOptions ); };