{"version":3,"sources":["Content/GuidedSelling/js/CableFinder/scripts_init.js"],"names":["CcsCableFinder","construtor","base","this","$","jQuery","animationSpeed","max_list_number","show_pagination","debug","isDevelopmentMode","isLogEnabled","length","prototype","General","ccsCableFinder","_","viewModel","comboboxTextChangedHandler","items","each","siblings","html","find","text","receiveModel","container","modelConstructor","modelUpdate","controlClassName","model","control","hasClass","result","data","undefined","waitingControls","getWaitingControl","elements","baseClassName","$elements","returnValues","index","value","$value","children","hide","css","itr","show","clearInterval","setInterval","animatedElement","currentPosition","parseInt","newPosition","width","append","push","selector","stopAnimationForWaitingBlock","parameters","i","isInlineStyleSheetAttched","live","parent","addClass","removeClass","updateTabsItemsView","selectTab","getTabHeaderScrollingData","updateTabHeaderScrolling","handleTabHeaderScrollingUpdate","updateScrollButtonsState","animateScrolling","constructor","tabsModel","categoryCode","categoryItems","sortedItms","filter","item","is","categoryItem","code","attr","first","priority","sort","a","b","aPriority","bPriority","element","$element","tabsControl","parents","tabsData","map","secondItemCode","firstItemCode","firstItemPriority","secondItemPriority","columns","leftItems","rightItems","last","updateTabsHeaderView","updateTabDescriptionView","trigger","headerControl","isNew","scrolledRibbon","controlWidth","ribbonWidth","pageNumber","pagesBeginings","pageChangeAction","tempLength","scrollButtonWidth","outerWidth","tempControlWidth","tabWidth","queue","next","controlData","inArray","fn","call","animate","left","complete","controlHeader","controlHeaderTabs","update","refreshTabHeaderScrolling","selectTabHeandler","param","tab","val","change","bind","stringFormat","SelectTab","AnimateScrolling","Update","Get","timeout","groupBy","array","predicate","grouped","groupIndex","groupKey","key","args","arguments","replace","match","number","handleItemStateChange","console","name","ext","removeAttr","clearTimeout","itemTimeout","setTimeout","callSubmit","Date","toISOString","innerCallBack","setCallBack","holder","Function","logResultsByCable","trim","logEvent","logFunction","eventParams","ccs_cc_log","getEventParams","ActionContext","right","join","logResultsByDevice","logDevicePair","Qty","logProductAddToCart","dispatchEvent","delay","window","location","href","title","ShowWaitingBlock","ShowWaitingBlockForTabs","ShowWaitingBlockForStep2","waitingAreas","HideWaitingBlock","hasOwnProperty","prop","ImageSourceErrorHandler","AttachInlineSlysheet","head","document","getElementsByTagName","style","createElement","type","styleSheet","cssText","appendChild","createTextNode","GetParameters","paramItems","get","Init","GroupBy","StringFormat","TabsModel","ReceiveModel","Log","prefix","log","SetDebugMode","SetDevelopmentMode","extend"],"mappings":"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","file":"scripts_init.min.js","sourcesContent":["var CcsCableFinder = (function () {\r\n\tvar construtor = function () {\r\n\t\tvar base;\r\n\r\n\t\tthis.$ = jQuery;\r\n\t\tthis.animationSpeed = 250; // speed of the transitions\r\n\t\tthis.max_list_number = 10; // the maximum number of clickable numbers to display in pagination\r\n\t\tthis.show_pagination = true; // whether or not pagination is visible\r\n\t\tthis.debug = false;\r\n\t\tthis.isDevelopmentMode = false;\r\n\t\tthis.isLogEnabled = false;\r\n\t\tthis.base = function () {\r\n\t\t\treturn base || (base = ((base = this.$('#ccs-cablefinders-wrapper')).length > 0 ? base : null));\r\n\t\t};\r\n\t};\r\n\tconstrutor.prototype = {\r\n\t\tGeneral: {}\r\n\t};\r\n\treturn construtor;\r\n}());\r\n\r\nvar ccsCableFinder = new CcsCableFinder();\r\n\r\n(function (_) {\r\n\r\n\tvar viewModel = (function () {\r\n\r\n\t\t//#region General\r\n\t\tvar $ = _.$,\r\n\t\t\ttitle = 'Base Control',\r\n\t\t\tcomboboxTextChangedHandler = function (items) {\r\n\t\t\t\t$(items || []).each(function () {\r\n\t\t\t\t\t$(this).siblings('span').html($(this).find(':selected').text());\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tinit = function () {\r\n\t\t\t\tcomboboxTextChangedHandler($('.ccs-cablefinders-resultsort'));\r\n\t\t\t},\r\n\t\t\treceiveModel = function (container, modelConstructor, modelUpdate, controlClassName) {\r\n\t\t\t\tcontainer = $(container);\r\n\t\t\t\tmodelUpdate = typeof modelUpdate === 'function' ? modelUpdate : function (model) { return model; };\r\n\t\t\t\tvar control = container.hasClass(controlClassName) ? container : container.find('.' + controlClassName);\r\n\t\t\t\tvar result = control.length > 0\r\n\t\t\t\t\t? (container.data(controlClassName) || container.data(controlClassName, new modelConstructor(control)).data(controlClassName))\r\n\t\t\t\t\t: undefined;\r\n\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tresult = modelUpdate(result, control) || result;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\tlog = function (prefix, value) {\r\n\t\t\t\tif (_.debug && console && console.log) {\r\n\t\t\t\t\tconsole.log(stringFormat(' --- {0} : ', prefix));\r\n\t\t\t\t\tconsole.log(value);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetDebug = function () {\r\n\t\t\t\t_.debug = true;\r\n\t\t\t\t_.isLogEnabled = (console && console.log && console.debug) ? true : false;\r\n\r\n\t\t\t\tif (_.isLogEnabled) {\r\n\t\t\t\t\t//monitorEvents($('#ccs-cablefinders-wrapper input[data-item-name-key], #ccs-cablefinders-wrapper input[data-item-submit=true]'), 'change');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetDevelopmentMode = function () {\r\n\t\t\t\t_.isDevelopmentMode = true;\r\n\t\t\t};\r\n\t\t//#endregion\r\n\r\n\t\t//#region Waiting Controls\r\n\t\tvar waitingControls = {},\r\n\t\t\tgetWaitingControl = function (elements, baseClassName) {\r\n\t\t\t\tvar $elements = $(elements),\r\n\t\t\t\t\treturnValues = [];\r\n\r\n\t\t\t\t$elements.each(function (index, value) {\r\n\t\t\t\t\tvar $value = $(value),\r\n\t\t\t\t\t\tresult = $value.children('.ccs-cablefinders-loading-base').length > 0 ? $value.data('busyElement') : null;\r\n\r\n\t\t\t\t\tif (!result) {\r\n\t\t\t\t\t\tvar control = $('\t<div class=\"ccs-cablefinders-loading-base ' + baseClassName + '\">' +\r\n\t\t\t\t\t\t\t'<div class=\"ccs-cablefinders-loading\" style=\"overflow: hidden;\">' +\r\n\t\t\t\t\t\t\t'<div style=\"width: 50px;height: 100%;background: rgb(129, 159, 218);position: relative; left: 0px;\">' +\r\n\t\t\t\t\t\t\t'<div style=\"width: 100%;position: absolute;top: 3px;bottom: 3px;background: #708dc6;\"></div>' +\r\n\t\t\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t\t\t'</div>');\r\n\t\t\t\t\t\tcontrol.hide();\r\n\t\t\t\t\t\tif ($value.css('position') === 'static') {\r\n\t\t\t\t\t\t\t$value.css('position', 'relative');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tresult = {\r\n\t\t\t\t\t\t\tcontrol: control,\r\n\t\t\t\t\t\t\titr: null,\r\n\t\t\t\t\t\t\tshow: function () {\r\n\t\t\t\t\t\t\t\tif (this.itr !== null) {\r\n\t\t\t\t\t\t\t\t\tclearInterval(this.itr);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tthis.itr = setInterval(function () {\r\n\t\t\t\t\t\t\t\t\tvar base = $(result.control).find('.ccs-cablefinders-loading'),\r\n\t\t\t\t\t\t\t\t\t\tanimatedElement = base.children('div'),\r\n\t\t\t\t\t\t\t\t\t\tcurrentPosition = parseInt(animatedElement.css('left')),\r\n\t\t\t\t\t\t\t\t\t\tnewPosition = (currentPosition > base.width() ? (-animatedElement.width()) : currentPosition) + 1;\r\n\t\t\t\t\t\t\t\t\tanimatedElement.css('left', newPosition + 'px');\r\n\t\t\t\t\t\t\t\t}, 15);\r\n\t\t\t\t\t\t\t\tthis.control.show();\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\thide: function () {\r\n\t\t\t\t\t\t\t\tclearInterval(this.itr);\r\n\t\t\t\t\t\t\t\tthis.control.hide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\t$value.append(result.control);\r\n\t\t\t\t\t\t$value.data('busyElement', result);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturnValues.push(result);\r\n\t\t\t\t\twaitingControls[elements.selector] = (waitingControls[elements.selector] || []);\r\n\t\t\t\t\twaitingControls[elements.selector].push(result);\r\n\t\t\t\t});\r\n\t\t\t\treturn $(returnValues);\r\n\t\t\t},\r\n\t\t\tshowWaitingBlock = function (elements, baseClassName) {\r\n\t\t\t\tgetWaitingControl((elements || '#ccs-cablefinders-mid'), (baseClassName || 'ccs-cablefinders-loading-mid-area')).each(function (index, element) {\r\n\t\t\t\t\telement.show();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tshowWaitingBlockForTabs = function () {\r\n\t\t\t\tgetWaitingControl($('.ccs-cablefinders-tabs-content'), 'ccs-cablefinders-loading-mid-area ccs-cablefinders-loading-tabs-area').each(function (index, element) {\r\n\t\t\t\t\telement.show();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tshowWaitingBlockForStep2 = function () {\r\n\t\t\t\tvar waitingAreas = getWaitingControl($('#ccs-cablefinders-step-2-content').parents('.ccs-cablefinders-two-columns-control:first'), 'ccs-cablefinders-loading-list-second-column');\r\n\t\t\t\twaitingAreas = waitingAreas.length > 0 ? waitingAreas : getWaitingControl($('#ccs-cablefinders-mid'), 'ccs-cablefinders-loading-mid-area');\r\n\t\t\t\twaitingAreas.each(function (index, element) {\r\n\t\t\t\t\telement.show();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tstopAnimationForWaitingBlock = function (parameters) {\r\n\t\t\t\tfor (var i = 0; i < parameters.length; i++) {\r\n\t\t\t\t\tparameters[i].hide();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thideWaitingBlock = function (elements) {\r\n\t\t\t\tif (elements) {\r\n\t\t\t\t\telements = $(elements);\r\n\t\t\t\t\tif (waitingControls.hasOwnProperty(elements.selector)) {\r\n\t\t\t\t\t\tstopAnimationForWaitingBlock(waitingControls[elements.selector]);\r\n\t\t\t\t\t\tdelete waitingControls[elements.selector];\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfor (var prop in waitingControls) {\r\n\t\t\t\t\t\tstopAnimationForWaitingBlock(waitingControls[prop]);\r\n\t\t\t\t\t\tdelete waitingControls[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t//#endregion\r\n\r\n\t\t//#region Image Controls\r\n\t\tvar imageSourceErrorHandler =\r\n\t\t\tfunction (/*error, defaultImageUrl*/) {\r\n\t\t\t\t//error.target.src = defaultImageUrl;\r\n\t\t\t\t//var e = error;\r\n\t\t\t};\r\n\t\t//#endregion\r\n\r\n\t\t//#region Inline StyleSheet initializer\r\n\t\tvar isInlineStyleSheetAttched = false,\r\n\t\t\tattachInlineSlysheet = function (css) {\r\n\t\t\t\tif (!isInlineStyleSheetAttched) {\r\n\t\t\t\t\tisInlineStyleSheetAttched = true;\r\n\t\t\t\t\tvar head = document.getElementsByTagName('head')[0],\r\n\t\t\t\t\t\tstyle = document.createElement('style');\r\n\r\n\t\t\t\t\tstyle.type = 'text/css';\r\n\t\t\t\t\tif (style.styleSheet) {\r\n\t\t\t\t\t\tstyle.styleSheet.cssText = css;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tstyle.appendChild(document.createTextNode(css));\r\n\t\t\t\t\t}\r\n\t\t\t\t\thead.appendChild(style);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t//#endregion\r\n\r\n\t\t//#region Select Controls\r\n\t\t$('div#ccs-cablefinders-wrapper select').live('mouseenter', function () {\r\n\t\t\t$(this).parent().children().addClass('ccs-cablefinders-hover');\r\n\t\t});\r\n\r\n\t\t$('div#ccs-cablefinders-wrapper select').live('mouseleave', function () {\r\n\t\t\t$(this).parent().children().removeClass('ccs-cablefinders-hover');\r\n\t\t});\r\n\r\n\t\t$('div#ccs-cablefinders-wrapper select').live('change textChanged', function () {\r\n\t\t\tcomboboxTextChangedHandler(this);\r\n\t\t});\r\n\t\t//#endregion\r\n\r\n\t\t//#region Control Functons Init\r\n\t\tvar tabsModel = (function () {\r\n\r\n\t\t\tvar updateTabsItemsView = function (categoryCode, items, categoryItems) {\r\n\t\t\t\tif (typeof items === 'undefined')\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\titems.hide();\r\n\t\t\t\tvar sortedItms = items.filter(function () {\r\n\t\t\t\t\tvar item = $(this).is('[data-item-code]') ? $(this) : $(this).find('[data-item-code]'),\r\n\t\t\t\t\t\tcategoryItem = categoryItems.filter(function () {\r\n\t\t\t\t\t\t\treturn this.code === item.attr('data-item-code') && categoryCode === item.attr('data-item-category');\r\n\t\t\t\t\t\t}).first();\r\n\r\n\t\t\t\t\tif (categoryItem.length > 0) {\r\n\t\t\t\t\t\titem.data('priority', categoryItem[0].priority);\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}).sort(function (a, b) {\r\n\t\t\t\t\tvar aPriority = $(a).data('priority'),\r\n\t\t\t\t\t\tbPriority = $(b).data('priority');\r\n\t\t\t\t\treturn aPriority > bPriority\r\n\t\t\t\t\t\t? -1\r\n\t\t\t\t\t\t: aPriority < bPriority ? 1 : 0;\r\n\t\t\t\t});\r\n\t\t\t\titems.parent().html(sortedItms);\r\n\t\t\t\tsortedItms.show();\r\n\t\t\t},\r\n\t\t\t\tupdateTabsHeaderView = function (tabsControl, element) {\r\n\t\t\t\t\ttabsControl.find('.ccs-cablefinders-tabs-header-tab').removeClass('ccs-cablefinders-tabs-header-tab-active');\r\n\t\t\t\t\telement.addClass('ccs-cablefinders-tabs-header-tab-active');\r\n\t\t\t\t},\r\n\t\t\t\tupdateTabDescriptionView = function (tabsControl, element) {\r\n\t\t\t\t\ttabsControl.find('.ccs-cablefinders-tabs-tab-description').removeClass('ccs-cablefinders-tabs-tab-description-active');\r\n\t\t\t\t\ttabsControl.find('.ccs-cablefinders-tabs-tab-description[data-category-code=\"' + element.attr('data-category-code') + '\"]')\r\n\t\t\t\t\t\t.addClass('ccs-cablefinders-tabs-tab-description-active');\r\n\t\t\t\t},\r\n\t\t\t\tselectTab = function (element) {\r\n\t\t\t\t\tif (typeof element === 'undefined')\r\n\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\tvar $element = $(element),\r\n\t\t\t\t\t\ttabsControl = $element.parents('.ccs-cablefinders-tabs:first'),\r\n\t\t\t\t\t\ttabsData = $(tabsControl.data('tabs')),\r\n\t\t\t\t\t\tcategoryCode = $element.attr('data-category-code'),\r\n\t\t\t\t\t\tcategoryItems = tabsData.filter(function () {\r\n\t\t\t\t\t\t\treturn this.categoryCode === categoryCode;\r\n\t\t\t\t\t\t}).map(function () {\r\n\t\t\t\t\t\t\treturn this.secondItemCode\r\n\t\t\t\t\t\t\t\t? [{ code: this.firstItemCode, priority: this.firstItemPriority },\r\n\t\t\t\t\t\t\t\t{ code: this.secondItemCode, priority: this.secondItemPriority }]\r\n\t\t\t\t\t\t\t\t: { code: this.firstItemCode, priority: this.firstItemPriority };\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tcolumns = tabsControl.find('.ccs-cablefinders-two-columns-control-column'),\r\n\t\t\t\t\t\tleftItems = tabsControl.data('leftItems') || (tabsControl.data('leftItems', columns.length > 0\r\n\t\t\t\t\t\t\t? columns.first().find('.ccs-cablefinders-tab-content-item')\r\n\t\t\t\t\t\t\t: tabsControl.find('.ccs-cablefinders-tab-content-item'))).data('leftItems'),\r\n\t\t\t\t\t\trightItems = tabsControl.data('rightItems') || (tabsControl.data('rightItems', columns.length > 0\r\n\t\t\t\t\t\t\t? columns.last().find('.ccs-cablefinders-tab-content-item')\r\n\t\t\t\t\t\t\t: $([]))).data('rightItems');\r\n\r\n\t\t\t\t\tupdateTabsHeaderView(tabsControl, $element);\r\n\t\t\t\t\tupdateTabDescriptionView(tabsControl, $element);\r\n\t\t\t\t\tupdateTabsItemsView(categoryCode, leftItems, categoryItems);\r\n\t\t\t\t\tupdateTabsItemsView(categoryCode, rightItems, categoryItems);\r\n\t\t\t\t\ttabsControl.trigger('changed');\r\n\t\t\t\t},\r\n\t\t\t\tgetTabHeaderScrollingData = function (headerControl, isNew) {\r\n\t\t\t\t\theaderControl = $(headerControl);\r\n\t\t\t\t\tvar data = (isNew ? null : headerControl.data('tabScrolling'))\r\n\t\t\t\t\t\t|| {\r\n\t\t\t\t\t\t\theaderControl: headerControl,\r\n\t\t\t\t\t\t\tscrolledRibbon: headerControl.find('.ccs-cablefinders-tabs-header-container'),\r\n\t\t\t\t\t\t\tcontrolWidth: parseInt(headerControl.width()),\r\n\t\t\t\t\t\t\tribbonWidth: parseInt(headerControl.find('.ccs-cablefinders-tabs-header-container-width-data').width()),\r\n\t\t\t\t\t\t\tpageNumber: 0,\r\n\t\t\t\t\t\t\tpagesBeginings: ['0px']\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\theaderControl.data('tabScrolling', data);\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t},\r\n\t\t\t\tupdateTabHeaderScrolling = function (headerControl, pageChangeAction) {\r\n\t\t\t\t\tvar data = getTabHeaderScrollingData(headerControl);\r\n\t\t\t\t\tdata.pagesBeginings = ['0px'];\r\n\t\t\t\t\thandleTabHeaderScrollingUpdate(data, pageChangeAction);\r\n\t\t\t\t},\r\n\t\t\t\trefreshTabHeaderScrolling = function (headerControl) {\r\n\t\t\t\t\tvar data = getTabHeaderScrollingData(headerControl, true);\r\n\t\t\t\t\thandleTabHeaderScrollingUpdate(data);\r\n\t\t\t\t},\r\n\t\t\t\thandleTabHeaderScrollingUpdate = function (data, pageChangeAction) {\r\n\t\t\t\t\tvar tempLength = 0,\r\n\t\t\t\t\t\tscrollButtonWidth = data.headerControl.find('.ccs-cablefinders-tabs-header-container-left-scrolling').outerWidth(),\r\n\t\t\t\t\t\ttempControlWidth = data.controlWidth - scrollButtonWidth;\r\n\r\n\t\t\t\t\tdata.headerControl.find('.ccs-cablefinders-tabs-header-tab').each(function () {\r\n\t\t\t\t\t\tvar tabWidth = parseInt($(this).outerWidth());\r\n\t\t\t\t\t\tif ((tempLength + tabWidth) > tempControlWidth) {\r\n\t\t\t\t\t\t\tdata.pagesBeginings.push('-' + (tempLength - scrollButtonWidth) + 'px');\r\n\t\t\t\t\t\t\ttempLength = tabWidth;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\ttempLength = tempLength + tabWidth;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (typeof pageChangeAction === 'function') {\r\n\t\t\t\t\t\tpageChangeAction(data);\r\n\t\t\t\t\t\tdata.headerControl.queue(function (next) {\r\n\t\t\t\t\t\t\tupdateScrollButtonsState(data);\r\n\t\t\t\t\t\t\tnext();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tupdateScrollButtonsState(data);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tupdateScrollButtonsState = function (controlData) {\r\n\t\t\t\t\tcontrolData.pageNumber = $.inArray((controlData.scrolledRibbon.css('left')), controlData.pagesBeginings); // controlData.pagesBeginings.indexOf(controlData.scrolledRibbon.css('left'));\r\n\t\t\t\t\t(controlData.pageNumber < (controlData.pagesBeginings.length - 1)\r\n\t\t\t\t\t\t? $.fn.show\r\n\t\t\t\t\t\t: $.fn.hide).call(controlData.headerControl.find('.ccs-cablefinders-tabs-header-container-right-scrolling'));\r\n\t\t\t\t\t(controlData.pageNumber > 0\r\n\t\t\t\t\t\t? $.fn.show\r\n\t\t\t\t\t\t: $.fn.hide).call(controlData.headerControl.find('.ccs-cablefinders-tabs-header-container-left-scrolling'));\r\n\t\t\t\t},\r\n\t\t\t\tanimateScrolling = function (controlData, value) {\r\n\t\t\t\t\tcontrolData.headerControl.queue(function (next) {\r\n\t\t\t\t\t\tcontrolData.scrolledRibbon.animate({ 'left': value }, { complete: function () { next(); } });\r\n\t\t\t\t\t});\r\n\t\t\t\t};\r\n\r\n\t\t\t// constructor\r\n\t\t\tvar constructor = function (control, controlClassName) {\r\n\t\t\t\tvar controlHeader = control.find('.ccs-cablefinders-tabs-header'),\r\n\t\t\t\t\tcontrolHeaderTabs = controlHeader.find('.ccs-cablefinders-tabs-header-tab'),\r\n\t\t\t\t\tupdate = function () {\r\n\t\t\t\t\t\trefreshTabHeaderScrolling(controlHeader);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tselectTabHeandler = function (param) {\r\n\t\t\t\t\t\tvar tab = param === 'default'\r\n\t\t\t\t\t\t\t? (controlHeaderTabs.filter('[is-default-category]')[0] || controlHeaderTabs[0])\r\n\t\t\t\t\t\t\t: controlHeaderTabs[param];\r\n\t\t\t\t\t\tselectTab(tab);\r\n\t\t\t\t\t\tcontrolHeader.find('.ccs-cablefinders-tabs-header-combobox-tabs select').val($(tab).attr('data-category-code')).change();\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\tcontrolHeaderTabs.bind('click.' + controlClassName, function () { selectTab(this); });\r\n\t\t\t\tcontrolHeader.find('.ccs-cablefinders-tabs-header-combobox-tabs select').bind('change.' + controlClassName, function () {\r\n\t\t\t\t\tselectTab(controlHeader.find(stringFormat('.ccs-cablefinders-tabs-header-tab[data-category-code=\"{0}\"]', $(this).val())));\r\n\t\t\t\t});\r\n\r\n\t\t\t\tcontrol.find('.ccs-cablefinders-tabs-header-container-left-scrolling').bind('click.' + controlClassName, function () {\r\n\t\t\t\t\tupdateTabHeaderScrolling(controlHeader, function (controlData) {\r\n\t\t\t\t\t\tif (controlData.pageNumber > 0) {\r\n\t\t\t\t\t\t\tanimateScrolling(controlData, controlData.pagesBeginings[controlData.pageNumber - 1]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tcontrol.find('.ccs-cablefinders-tabs-header-container-right-scrolling').live('click.' + controlClassName, function () {\r\n\t\t\t\t\tupdateTabHeaderScrolling(controlHeader, function (controlData) {\r\n\t\t\t\t\t\tif (controlData.pageNumber < (controlData.pagesBeginings.length - 1)) {\r\n\t\t\t\t\t\t\tanimateScrolling(controlData, controlData.pagesBeginings[controlData.pageNumber + 1]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tupdate();\r\n\t\t\t\tselectTabHeandler('default');\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tSelectTab: selectTabHeandler,\r\n\t\t\t\t\tAnimateScrolling: animateScrolling,\r\n\t\t\t\t\tUpdate: update\r\n\t\t\t\t};\r\n\t\t\t};\r\n\r\n\t\t\t// static fuctions\r\n\t\t\tconstructor.Get = function (item) {\r\n\t\t\t\treturn receiveModel(item, constructor, function (model) { model.Update(); }, 'ccs-cablefinders-tabs');\r\n\t\t\t};\r\n\r\n\t\t\treturn constructor;\r\n\t\t})();\r\n\r\n\t\t//#endregion\r\n\r\n\t\t//#region Params\r\n\t\tvar timeout = 0,\r\n\t\t\tcallBack,\r\n\t\t\tgetParameters = function () {\r\n\t\t\t\tvar result = {},\r\n\t\t\t\t\tparamItems = $('#ccs-cablefinders-wrapper [data-item-name]').map(function () {\r\n\t\t\t\t\t\tvar item = $(this),\r\n\t\t\t\t\t\t\tcode = (item.attr('data-item-code') || item.val()) + (item.attr('data-item-code-ext') ? stringFormat('({0})', item.attr('data-item-code-ext')) : '');\r\n\t\t\t\t\t\treturn { name: item.attr('data-item-name'), code: code };\r\n\t\t\t\t\t});\r\n\t\t\t\t//paramItems.add({ name: 'callBack', code: callBack });\r\n\t\t\t\tparamItems = groupBy(paramItems, function (item) {\r\n\t\t\t\t\treturn item.name;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tparamItems.each(function () {\r\n\t\t\t\t\tresult[this.key] = $(this.value).map(function () { return this.code; }).get().join('__');\r\n\t\t\t\t});\r\n\t\t\t\treturn ($.param(result) || '').replace(/=/g, '_-_').replace(/&/g, '_*_');\r\n\t\t\t},\r\n\t\t\tsetCallBack = function (innerCallBack) {\r\n\t\t\t\tcallBack = innerCallBack;\r\n\t\t\t},\r\n\t\t\tgroupBy = function (array, predicate) {\r\n\t\t\t\tvar grouped = [],\r\n\t\t\t\t\tgroupIndex = {},\r\n\t\t\t\t\tindex = 0;\r\n\r\n\t\t\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\t\t\tvar groupKey = predicate(array[i]);\r\n\t\t\t\t\tif (typeof (groupIndex[groupKey]) === 'undefined') {\r\n\t\t\t\t\t\tgroupIndex[groupKey] = index;\r\n\t\t\t\t\t\tgrouped[index] = { key: groupKey, value: [] };\r\n\t\t\t\t\t\tindex = index + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgrouped[groupIndex[groupKey]].value.push(array[i]);\r\n\t\t\t\t}\r\n\t\t\t\treturn $(grouped);\r\n\t\t\t},\r\n\t\t\tstringFormat = function () {\r\n\t\t\t\tvar args = arguments;\r\n\t\t\t\treturn args[0].replace(/{(\\d+)}/g, function (match, number) {\r\n\t\t\t\t\tnumber = parseInt(number);\r\n\t\t\t\t\treturn typeof args[number + 1] != 'undefined'\r\n\t\t\t\t\t\t? args[number + 1]\r\n\t\t\t\t\t\t: match;\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\thandleItemStateChange = function (item) {\r\n\t\t\t\titem = $(item);\r\n\r\n\t\t\t\tif (_.isLogEnabled) {\r\n\t\t\t\t\tconsole.debug('params change: ', { name: (item.attr('data-item-name') || item.attr('data-item-name-key')), value: item.attr('value'), code: item.attr('data-item-code'), ext: item.attr('data-item-code-ext') });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (item.is('[data-item-name-key]')) {\r\n\t\t\t\t\tif (item.is(':checkbox')) {\r\n\t\t\t\t\t\tif (item.is(':checked')) {\r\n\t\t\t\t\t\t\titem.attr('data-item-name', item.attr('data-item-name-key'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\titem.removeAttr('data-item-name');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('#ccs-cablefinders-wrapper [data-item-name=' + item.attr('data-item-name-key') + ']').removeAttr('data-item-name');\r\n\t\t\t\t\t\titem.attr('data-item-name', item.attr('data-item-name-key'));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (item.is('[data-item-submit=true]')) {\r\n\t\t\t\t\tclearTimeout(timeout);\r\n\t\t\t\t\tvar itemTimeout = parseInt(item.attr('data-item-submit-timeout'));\r\n\t\t\t\t\tif (itemTimeout) {\r\n\t\t\t\t\t\ttimeout = setTimeout(function () {\r\n\t\t\t\t\t\t\tcallSubmit(item);\r\n\t\t\t\t\t\t}, itemTimeout);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcallSubmit(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcallSubmit = function (item) {\r\n\t\t\t\titem.trigger('submited');\r\n\t\t\t\tif (_.isLogEnabled) { console.debug('query sent: ', new Date().toISOString()); }\r\n\t\t\t\tsetCallBack(function () {\r\n\t\t\t\t\tif (_.isLogEnabled) { console.debug('responce received: ', new Date().toISOString()); }\r\n\t\t\t\t});\r\n\t\t\t\tvar holder = item.parents('[data-relocation-code-holder]');\r\n\t\t\t\t(new Function(holder.attr('data-relocation-code-holder'))).call(holder[0]);\r\n\t\t\t};\r\n\r\n\t\t$('#ccs-cablefinders-wrapper :not(input)[data-item-name-key], #ccs-cablefinders-wrapper :not(input)[data-item-submit=true]').live('click selected', function () {\r\n\t\t\thandleItemStateChange(this);\r\n\t\t});\r\n\r\n\t\t$('#ccs-cablefinders-wrapper input[data-item-name-key], #ccs-cablefinders-wrapper input[data-item-submit=true]').live('change', function () {\r\n\t\t\thandleItemStateChange(this);\r\n\t\t});\r\n\t\t//#endregion\r\n\r\n\t\t//#region Logs\r\n\t\tvar logResultsByDevice = function () {\r\n\t\t\tvar left = [];\r\n\t\t\t$('#ccs-cablefinders-wrapper .ccs-cablefinders-two-columns-control-column:nth-child(1) .ccs-cablefinders-tile-selected').each(function () {\r\n\t\t\t\tleft.push($(this).children('span').text().trim());\r\n\t\t\t});\r\n\r\n\t\t\tvar right = [];\r\n\t\t\t$('#ccs-cablefinders-wrapper .ccs-cablefinders-two-columns-control-column:nth-child(2) .ccs-cablefinders-tile-selected').each(function () {\r\n\t\t\t\tright.push($(this).children('span').text().trim());\r\n\t\t\t});\r\n\r\n\t\t\treturn ' | ' + left.join(' + ') + ' => ' + right.join(' + ');\r\n\t\t};\r\n\r\n\t\tvar logResultsByCable = function () {\r\n\t\t\tvar left = $('#ccs-cablefinders-wrapper .ccs-cablefinders-two-columns-control-column:nth-child(1) .ccs-cablefinders-cable-connector-selected a')\r\n\t\t\t\t.text()\r\n\t\t\t\t.trim();\r\n\r\n\t\t\tvar right = $('#ccs-cablefinders-wrapper .ccs-cablefinders-two-columns-control-column:nth-child(2) .ccs-cablefinders-cable-connector-selected a')\r\n\t\t\t\t.text()\r\n\t\t\t\t.trim();\r\n\r\n\t\t\treturn ' | ' + left + ' => ' + right;\r\n\t\t};\r\n\r\n\t\tvar logDeviceCategoryTab = function () {\r\n\t\t\tvar tabName = $('#ccs-cablefinders-wrapper .ccs-cablefinders-tabs-header-tab-active span').text().trim();\r\n\t\t\treturn ' | ' + tabName;\r\n\t\t};\r\n\r\n\t\tvar logDevicePair = function (item) {\r\n\t\t\tvar left = $('#ccs-cablefinders-wrapper .ccs-cablefinders-second-device-view .ccs-cablefinders-first-device-info .ccs-cablefinders-tile span').text().trim();\r\n\t\t\tvar right = item.find('span').text().trim();\r\n\t\t\treturn ' | ' + left + ' => ' + right;\r\n\t\t};\r\n\r\n\t\tvar logProductAddToCart = function (eventParams, item) {\r\n\t\t\teventParams.ActionContext = item.attr(\"href\");\r\n\t\t\teventParams.Qty = 1;\r\n\t\t\treturn eventParams;\r\n\t\t};\r\n\r\n\t\tfunction logEvent(logFunction, item) {\r\n\t\t\tvar eventParams = ccs_cc_log.getEventParams(logFunction);\r\n\t\t\tswitch (eventParams.ActionContext) {\r\n\t\t\t\tcase \"Results | ByCable\":\r\n\t\t\t\t\teventParams.ActionContext = logResultsByCable();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Results | ByTaa\":\r\n\t\t\t\t\teventParams.ActionContext = logResultsByCable();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Results | ByDevice\":\r\n\t\t\t\t\teventParams.ActionContext = logResultsByDevice();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Devices\":\r\n\t\t\t\t\teventParams.ActionContext = logDevicePair(item);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"Navigate Tab\":\r\n\t\t\t\t\teventParams.ActionContext = logDeviceCategoryTab();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ProductAddToCart\":\r\n\t\t\t\t\teventParams = logProductAddToCart(eventParams, item);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\t\t\tccs_cc_log.dispatchEvent(logFunction, eventParams);\r\n\t\t}\r\n\r\n\t\t$('#ccs-cablefinders-wrapper [data-event-log]').live('click', function () {\r\n\t\t\tvar item = $(this),\r\n\t\t\t\tdelay = item.data('event-log-action-delay'),\r\n\t\t\t\tlogFunction = item.data('event-log');\r\n\r\n\t\t\tlogEvent(logFunction, item);\r\n\r\n\t\t\tif (delay) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\twindow.location.href = item.attr('href');\r\n\t\t\t\t}, delay);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\t\t//#endregion\r\n\r\n\t\treturn {\r\n\t\t\tGeneral: {\r\n\t\t\t\ttitle: title,\r\n\t\t\t\tShowWaitingBlock: showWaitingBlock,\r\n\t\t\t\tShowWaitingBlockForTabs: showWaitingBlockForTabs,\r\n\t\t\t\tShowWaitingBlockForStep2: showWaitingBlockForStep2,\r\n\t\t\t\tHideWaitingBlock: hideWaitingBlock,\r\n\t\t\t\tImageSourceErrorHandler: imageSourceErrorHandler,\r\n\t\t\t\tAttachInlineSlysheet: attachInlineSlysheet,\r\n\t\t\t\tGetParameters: getParameters,\r\n\t\t\t\tInit: init\r\n\t\t\t},\r\n\t\t\tGroupBy: groupBy,\r\n\t\t\tStringFormat: stringFormat,\r\n\t\t\tTabsModel: tabsModel,\r\n\t\t\tReceiveModel: receiveModel,\r\n\t\t\tLog: log,\r\n\t\t\tSetDebugMode: setDebug,\r\n\t\t\tSetDevelopmentMode: setDevelopmentMode\r\n\t\t};\r\n\t}());\r\n\r\n\t_.$.extend(true, CcsCableFinder.prototype, viewModel);\r\n\r\n}(ccsCableFinder));\r\n\r\n"],"sourceRoot":"../../../.."}