(function($){$.conxit=function(options){var defaults={to_id:'to',to_hidden_field_id:null,to_option_mask:'',to_option_function:null,to_option_list_reset_function:null,to_connector_image_container_id:'to_connector_image',to_sub_attributes_container_id:'to_sub_attributes',post_to_option_render_function:null,from_id:'from',from_hidden_field_id:null,from_option_mask:'',from_option_function:null,from_option_list_reset_function:null,from_connector_image_container_id:'from_connector_image',from_sub_attributes_container_id:'from_sub_attributes',sub_attribute_option_container_mask:'@sub_attribute_text@: ',sub_attribute_option_mask:'',sub_attribute_chooser_selector:'.sub-attribute',connector_image_base:'/media/img/src/',post_from_option_render_function:null,categories_id:'categories',category_option_mask:'',category_option_function:null,web:'',base_url:'http://www.startech.com',base_image_url:'http://sgcdn.startech.com/005329',client_id:'',link_client_id:'',use_startech_id:false,include_regional:true,lang:'EN',results_retriever_id:'results_retriever',results_item_mask:'
@alt_tag@
@item_id@@url_text@@headline@
',results_item_function:null,results_container_id:'results',filters_container_id:'filters',filters_type_mask:'

@label@

@options@
',filters_type_function:null,filters_option_mask:'-- @value@
',filter_option_class:'filter-opt',filters_option_function:null,applied_filters_container_id:'applied_filters',applied_filters_mask:'--@label@: @selected_value@X
',applied_filters_remove_class:'rem-filter-opt',applied_filters_function:null,paging_container_selector:'.pager',paging_items_per_page:10,paging_current_page_mask:'@page_text@',paging_number_mask:'@page_text@',paging_number_class:'page_numb',paging_next_text:'>',paging_prev_text:'<',paging_view_all_text:'View all',paging_function:null,pre_get_results_function:null,pre_display_results_function:null,post_display_results_function:null,clear_results_function:null,viewing_text_container_selector:'#viewing_text_wrp',viewing_text_mask:'

Viewing @start@ to @end@ of @max@ Results

',viewing_text_function:null,sort_options_container_selector:'#sort_options',sort_options_mask:'@sort_type@',sort_options_separator_html:'|',sort_options_current_selected_mask:'@sort_img@ @sort_type@',sort_options_function:null,sort_options_class:'sort-opt',sort_relevance_text:'Relevance',sort_alpha_text:'Alphabetically',sort_newest_text:'Newest',sort_price_text:'Price',sort_ascending_img_html:'',sort_descending_img_html:'',glossary_container_id:'glossary',glossary_categories_id:'glossary_categories',glossary_categories_mask:'',glossary_categories_function:null,glossary_show_glossary_event_selector:'.show-glossary',glossary_categories_event_selector:'#glossary_categories',glossary_categories_event_type:'change',glossary_connectors_container_id:'glossary_connectors',glossary_connectors_mask:'

@value@

@connector_description@

',glossary_connectors_function:null,glossary_connectors_wrap_class:'connector',glossary_connectors_link_class:'connector-link',glossary_select_function:null};var settings=$.extend(defaults,options);for(var key in settings) {if(settings[key]!==null&&settings[key]!==undefined&&typeof settings[key]=='string') {var r=new RegExp('@base_url@','gi');settings[key]=settings[key].replace(r,settings.base_url);r=new RegExp('@base_image_url@','gi');settings[key]=settings[key].replace(r,settings.base_image_url);r=new RegExp('@connector_image_base@','gi');settings[key]=settings[key].replace(r,settings.connector_image_base);}} var has_errors=false;if(settings.client_id===undefined||settings.client_id===null)settings.client_id='';settings.categories=$('#'+settings.categories_id);settings.to=$('#'+settings.to_id);settings.to_value=$('#'+settings.to_id);settings.from=$('#'+settings.from_id);settings.from_value=$('#'+settings.from_id);if(settings.from_sub_attributes_container_id!==null){settings.from_sub_attributes=$('#'+settings.from_sub_attributes_container_id);} else{settings.from_sub_attributes=null;} if(settings.to_sub_attributes_container_id!==null){settings.to_sub_attributes=$('#'+settings.to_sub_attributes_container_id);} else{settings.to_sub_attributes=null;} if(settings.from_connector_image_container_id!==null){settings.from_connector_image_container=$('#'+settings.from_connector_image_container_id);} else{settings.from_connector_image_container=null;} if(settings.to_connector_image_container_id!==null){settings.to_connector_image_container=$('#'+settings.to_connector_image_container_id);} else{settings.to_connector_image_container=null;} settings.results_retriever=$('#'+settings.results_retriever_id);settings.results_container=$('#'+settings.results_container_id);settings.filters_container=$('#'+settings.filters_container_id);settings.applied_filters_container=$('#'+settings.applied_filters_container_id);settings.paging_container=$(settings.paging_container_selector);settings.viewing_text_container=$(settings.viewing_text_container_selector);settings.sort_options_container=$(settings.sort_options_container_selector);settings.glossary_container=$('#'+settings.glossary_container_id);settings.glossary_categories=$('#'+settings.glossary_categories_id);settings.glossary_connectors_container=$('#'+settings.glossary_connectors_container_id);settings.glossary_show_glossary_event_obj=$(settings.glossary_show_glossary_event_selector);settings.current_page=1;settings.sort_id=0;settings.sort_dir='';settings.filters=[];settings.sub_attributes_list=[];settings.sub_attributes_auto_selected=[];settings.removed_connector_categories={};if(settings.from_hidden_field_id!==null) {settings.from_value=$('#'+settings.from_hidden_field_id);if(!settings.from_value.length){$.error('From hidden field "'+settings.from_hidden_field_id+'" was specified but not found');has_errors=true;}} if(settings.to_hidden_field_id!==null) {settings.to_value=$('#'+settings.to_hidden_field_id);if(!settings.to_value.length){$.error('To hidden field "'+settings.to_hidden_field_id+'" was specified but not found');has_errors=true;}} if(settings.glossary_container===undefined||settings.glossary_categories===undefined||settings.glossary_connectors_container===undefined) {settings.use_glossary=false;} else {settings.use_glossary=true;settings.glossary_container.css('display','none');} if(is_empty(settings.web)&&is_empty(settings.client_id)){$.error('Web code or Client ID must be provided');has_errors=true;} if(is_empty(settings.lang)){$.error('Language code must be provided');has_errors=true;} if(!settings.to.length){$.error('To List ID "'+settings.to_id+'" not found');has_errors=true;} if(!settings.from.length){$.error('From List ID "'+settings.from_id+'" not found');has_errors=true;} if(!settings.results_retriever.length){$.error('Results retriever "'+settings.results_retriever_id+'" not found');has_errors=true;} if(!settings.results_container.length){$.error('Results container "'+settings.results_container_id+'" not found');has_errors=true;} if(!settings.filters_container.length){$.error('Filters container "'+settings.filters_container_id+'" not found');has_errors=true;} if(!settings.applied_filters_container.length){$.error('Applied Filters container "'+settings.applied_filters_container_id+'" not found');has_errors=true;} if(!settings.paging_container.length){$.error('Paging container "'+settings.paging_container_selector+'" not found');has_errors=true;} if(!settings.viewing_text_container.length){$.error('Viewing Text container "'+settings.viewing_text_container_selector+'" not found');has_errors=true;} if(!settings.sort_options_container.length){$.error('Sort Options container "'+settings.sort_options_container_selector+'" not found');has_errors=true;} var methods={reset_from_list:function() {var sets=$.data(document.body,'conxit');sets.from.html(sets.from_list_init);sets.from_value.val('');sets.from_sub_attributes_list=[];if(sets.from_option_list_reset_function!==null)sets.from_option_list_reset_function.apply();},reset_to_list:function() {var sets=$.data(document.body,'conxit');sets.to.html(sets.to_list_init);sets.to_value.val('').trigger('change');if(sets.to_option_list_reset_function!==null)sets.to_option_list_reset_function.apply();},get_from_list:function() {var sets=$.data(document.body,'conxit');methods.clear_results.apply();if(sets.from_value.val()=='') {sets.to.html('');} $.ajax({url:sets.base_url+'/ConXit/API/GetFromList?web='+sets.web+'&lang='+sets.lang+'&cat_id='+sets.categories.val()+'&cid='+sets.client_id,cache:false,dataType:'jsonp',success:function(data) {if(sets.from_value.val()!='') {methods.reset_to_list.apply();} methods.reset_from_list.apply();sets.from_imgs=[];if(sets.from_option_function!==null) {sets.from.append(sets.from_option_function.apply(this,[data]));for(var i=0;idata.results.length)end_point=data.results.length;starting_point=sets.paging_items_per_page*(sets.current_page-1);number_of_pages=Math.floor(data.results.length/sets.paging_items_per_page);if(data.results.length%sets.paging_items_per_page>0) {number_of_pages++;}} data.number_of_pages=number_of_pages;if(sets.viewing_text_function!==null) {sets.viewing_text_container.append(sets.viewing_text_function.apply(this,[starting_point+1,end_point,data.results.length]));} else {sets.viewing_text_container.append(replace_mask(sets.viewing_text_mask,{start:starting_point+1,end:end_point,max:data.results.length}));} if(sets.results_item_function!==null) {sets.results_container.append(sets.results_item_function.apply(this,[starting_point,end_point,data.results]));} else {for(var i=starting_point;i=5) {page_start=parseInt(sets.current_page)-3;} var page_end=number_of_pages;if(number_of_pages>parseInt(sets.current_page)+3) {page_end=parseInt(sets.current_page)+3;} for(var page=page_start;page<=page_end;page++) {if(page==sets.current_page) {paging_html+=replace_mask(sets.paging_current_page_mask,{page:page,page_text:page});} else {paging_html+=replace_mask(sets.paging_number_mask,{page:page,page_text:page});}} if(!is_empty(sets.paging_next_text)&&sets.current_page1) {paging_html+=replace_mask(sets.paging_number_mask,{page:'all',page_text:sets.paging_view_all_text});} sets.paging_container.append(paging_html);} $('.'+sets.paging_number_class).click(function() {var sets=$.data(document.body,'conxit');sets.current_page=$(this).attr('rel');$.data(document.body,'conxit',sets);methods.reset_containers.apply();methods.display_results.apply();return false;});for(var i=0;i1) {var filter_html;if(sets.filters_type_function!==null) {filter_html=sets.filters_type_function.apply(this,[data.filters[i]]);} else {filter_html=replace_mask(sets.filters_type_mask,data.filters[i],['options']);} var filter_option_html='';for(var j=0;j0) {settings.sub_attributes_list=[];for(var i=0;i');if(settings.from_sub_attributes!==null) {methods.display_sub_attributes();}} else {settings.from_connector_image_container.html('');}} methods.clear_results.apply();});settings.to_value.change(function() {if(settings.to_value.val()!='') {if(settings.to_connector_image_container!==null) {settings.to_connector_image_container.html('');} if(settings.to_sub_attributes!==null) {methods.display_sub_attributes();} methods.clear_filters.apply();methods.get_results.apply();} else {settings.to_sub_attributes.html('');if(settings.to_connector_image_container!==null) {settings.to_connector_image_container.html('');}}});settings.results_retriever.click(function(){methods.clear_filters.apply();methods.get_results.apply();});if(settings.categories.length)settings.categories.change(function(){var sets=$.data(document.body,'conxit');sets.from_value.val('');methods.get_from_list.apply();});settings.glossary_show_glossary_event_obj.click(function(){var mode=$(this).attr('rel');if(is_empty(mode)){mode='from';}methods.get_glossary_connectors.apply(this,[mode]);});}};})(jQuery);function auto_select_sub_attrs() {var settings=$.data(document.body,'conxit');$(settings.sub_attribute_chooser_selector).each(function() {var sub_attr_id=$(this).attr('sub_attribute_id');var connector_type=$(this).attr('connector_type');if($(this).find('option[value!=""]:not([disabled]),input[value!=""]:not([disabled])').length==1) {$(this).val($(this).find('option[value!=""]:not([disabled]),input[value!=""]:not([disabled])').val());settings.sub_attributes_auto_selected[connector_type+'_'+sub_attr_id]=true;} else if(settings.sub_attributes_auto_selected[connector_type+'_'+sub_attr_id]) {$(this).val('');}});} function disable_invalid_sub_attrs(sub_attr_id) {var settings=$.data(document.body,'conxit');var fid=settings.from_value.val();var tid=settings.to_value.val();if(settings.sub_attributes_list[sub_attr_id].raw_options[fid]===undefined) {return;} var f_to_t=settings.sub_attributes_list[sub_attr_id].raw_options[fid].to_opts[tid];if(f_to_t===undefined) {return;} var from_sub_attr_val=$('#from_sub_attribute_'+sub_attr_id).val();var to_sub_attr_val=$('#to_sub_attribute_'+sub_attr_id).val();if(from_sub_attr_val===undefined) {from_sub_attr_val='';} if(to_sub_attr_val===undefined) {to_sub_attr_val='';} settings.from_sub_attributes.find('option[value],input[value]').removeAttr('disabled').each(function() {var this_val=$(this).val();if(this_val!='') {var found=false;for(var idx in f_to_t) {var map_opt=f_to_t[idx];if(map_opt.from==this_val&&(to_sub_attr_val==''||map_opt.to==to_sub_attr_val)) {found=true;}} if(!found) {$(this).attr('disabled','disabled');}}});settings.to_sub_attributes.find('option[value],input[value]').removeAttr('disabled').each(function() {var this_val=$(this).val();if(this_val!='') {var found=false;for(var idx in f_to_t) {var map_opt=f_to_t[idx];if(map_opt.to==this_val&&(from_sub_attr_val==''||map_opt.from==from_sub_attr_val)) {found=true;}} if(!found) {$(this).attr('disabled','disabled');}}});} function render_to_list(data) {var sets=$.data(document.body,'conxit');sets.to_imgs=[];sets.to.html(sets.to_list_init);if(sets.to_option_function!==null) {sets.to.append(sets.to_option_function.apply(this,[data]));for(var i=0;i0) {options.sort();sa.options='';var found_non_empty_value=false;for(var opt in options) {if(options[opt]!='') {sa.options+=replace_mask(settings.sub_attribute_option_mask,{sub_attribute_value:options[opt]});found_non_empty_value=true;}} if(found_non_empty_value) {sub_attrs_html+=replace_mask(settings.sub_attribute_option_container_mask,sa);}} container.html(sub_attrs_html);} function replace_mask(mask,obj,ignore_list) {for(var prop in obj) {if(ignore_list===undefined||ignore_list===null||$.inArray(prop,ignore_list)==-1) {var r=new RegExp('@'+prop+'@','gi');mask=mask.replace(r,obj[prop]);}} return mask;} function getParameterByName(name,url){if(!url)url=window.location.href;name=name.replace(/[\[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results)return null;if(!results[2])return '';return decodeURIComponent(results[2].replace(/\+/g," "));}