
Coveo.$(function () {
	// Fix for quickview when we have folding document
	// HACK FOR JIRA SEARCHAPI-488 (coveo internal jira)
	// Remove this whole block when it's no longer needed
	// 
  Coveo.$('#search').on('afterComponentsInitialization', function (e, data) {  
	
	Coveo.$('.CoveoSearchInterface').on('preprocessResults preprocessMoreResults', function(e, args) {
		var query;
		if (args.query) {
			 query = args.query.q;
		   }
		args.results.results.forEach(function(r) {
			r.raw.urihash = r.raw.sysurihash;
			r.raw.source = r.raw.syssource;
			r.raw.collection = r.raw.syscollection;
			r.raw.date = r.raw.sysdate;
			r.raw.mailbox = r.raw.sysmailbox;
			r.raw.filetype = r.raw.sysfiletype;
			if (r.raw.sfkbid){
				r.clickUri = 'https://' + CoveoSettings.SiteDomain + '/ExtrArticleDetail?an=' + r.raw.sfarticlenumber;
				if (query) {
				r.clickUri = r.clickUri +'&q='+ encodeURIComponent(query) ;
				}
			}
			if (r.raw.objecttype=='Case'){
			r.clickUri = 'https://' + CoveoSettings.SiteDomain + '/ExtrCaseDetail?id=' + r.raw.sfid;
				if (r.raw.sfcasestatus=='Draft') {
					r.clickUri = 'https://' + CoveoSettings.SiteDomain + '/ExtrCaseCreation32?p=0&id=' + r.raw.sfid;
				}
			}
			if (r.raw.sfgetsattopictopiccgetsattopictopicurlc) {
				r.clickUri = r.raw.sfgetsattopictopiccgetsattopictopicurlc;
			}
			r.childResults.forEach(function (z) {
				z.raw.urihash = z.raw.sysurihash;
				z.raw.source = z.raw.syssource;
				z.raw.collection = z.raw.syscollection;
				z.raw.date = z.raw.sysdate;
				z.raw.mailbox = z.raw.sysmailbox;
				if (z.raw.objecttypename=='Reply') {
					z.title = 'Reply in ' + r.title;
					z.clickUri = r.raw.sfgetsattopictopiccgetsattopictopicurlc + '#reply_' + z.raw.sfgetsattopicreplycgetsattopicreplyidc;
				   }
			});
		});
	});
	Coveo.$('.magic-box-input > input').attr('placeholder', 'Search');
	  if (CoveoSettings.ProfileName == "ONExtreme Profile") {
		  Coveo.$('#portal').hide();
	  }
   });

var extremeValueCaption = {  
	'Web - Support Documentation' :  'SW and HW Docs',
	'Web - Support Release Notes' : 'Release Notes',
	'Web - esupportkb': 'esupportkb',
	'Sitemap - extremenetworks.com': 'extremenetworks.com',
	'YouTubeVideo': 'YouTube Video',
	'company': 'Company',
	'resources': 'Resources',
	'case-studies': 'Case Studies',
	'guest-speaker': 'Guest Speaker',
	'product': 'Product',
	'events': 'Events',
	'webinars': 'Webinars',
	'tradeshows': 'Tradeshows',
	'solutions': 'Solutions',
	'industries': 'Industries',
	'related-resources': 'Related Resources',
	'products': 'Products',
	'partners': 'Partners',
	'support': 'Support',
	'category': 'Category',
	'government-contract-information': 'Government Contract Information',
	'technology': 'Technology',
	'education': 'Education',
	'regions': 'Regions',
	'k-12': 'K-12',
	'partner-locator': 'Partner Locator',
	'corporate': 'Corporate',
	'blog': 'Blog',
	'regionals': 'Regionals',
	'CaseComment' : 'Case Comment',
	'DownloadC' : 'Download'
};

/*Coveo.$('#search').on('preprocessResults', function(e, args) {
	args.results.results.forEach(function(r) {
		r.raw.urihash = r.raw.sysurihash;
		r.raw.source = r.raw.syssource;
		   r.raw.collection = r.raw.syscollection;
		r.raw.date = r.raw.sysdate;
		
		if (r.raw.objecttype=='Case'){
			r.clickUri = 'https://' + CoveoSettings.SiteDomain + '/ExtrCaseDetail?id=' + r.raw.sfid;
			if (r.raw.sfcasestatus=='Draft') {
				r.clickUri = 'https://' + CoveoSettings.SiteDomain + '/ExtrCaseCreation32?p=0&id=' + r.raw.sfid;
			}
		}
	});
});*/

Coveo.$('#search').on('preprocessMoreResults', function(e, args) {
	args.results.results.forEach(function(r) { 
		if (r.raw.objecttypename=='Reply') {
			var parentId = '#' + r.raw.sfgetsattopictopicid;
			   var parent = Coveo.$(parentId).closest('.CoveoResult').data('CoveoResult');
			   r.clickUri = parent.clickUri + '#reply_' + r.raw.sfgetsattopicreplycgetsattopicreplyidc;
			   r.title = 'Reply in ' + parent.title;
		}
	   });
});

Coveo.$('#search').on('buildingQuery', function(e, args) {		
	args.queryBuilder.enablePartialMatch=true;
	args.queryBuilder.partialMatchKeywords="3";
	args.queryBuilder.partialMatchThreshold="50%";
});

Coveo.$('#search').on('querySuccess', function(e, args) {
	//retry the query with no syntax block of syntax is invalid
	if ((args.results.exception && args.results.exception.code=='InvalidSyntax' && args.queryBuilder.expression.build().indexOf('<@-') == -1) || (Coveo.$('.magic-box-error').text()!="" && args.queryBuilder.expression.build().indexOf('<@-') == -1)) {
		Coveo.$("#search").coveo('state', 'q', '<@- '+args.queryBuilder.expression.build()+' -@>');
		Coveo.$('#search').coveo('executeQuery');
	} else {
		//change the page title in format search: keywords
		var keywords = Coveo.$("#search").coveo('state', 'q');
		document.title = "Search: " + keywords + " | Extreme Portal";
		
		//getting the parameter values from the current URL
		var url =  window.location.href;
		var params = url.substring(url.search('#')+1,url.length);
		
		
		//This is template html which is pulled from custom label
		var RSSSpanHTML = rssWidget;					
		
		RSSSpanHTML =RSSSpanHTML.replace('Params',params);
		
		RSSSpanHTML =RSSSpanHTML.replace('#','?');
		
		document.getElementById('RSSicon').innerHTML = RSSSpanHTML;

		var selectedRecordTypes = Coveo.$("#search").coveo('state', 'f:@sfrecordtypename');

		var RSSIconSpan = document.getElementById('RSSicon');
		
		if(selectedRecordTypes.length==1 && selectedRecordTypes[0]=='Vulnerability_Notice')
		{
			RSSIconSpan.style.display = "";
		}
		else
		{
			
			RSSIconSpan.style.display = "none";
		}
		
	}		
});

// Overwriting the getQuickviewHeader function to set a different icons for the quick views based on the source field.
/*function getQuickviewHeader(result, options, bindings) {
	var date = "";
	if (options.showDate) {
		date = Coveo['DateUtils'].dateTimeToString(new Date(result.raw.date));
	}
	var fileType = Coveo['FileTypes'].get(result);
	var header = Coveo.$("<div class='coveo-quickview-right-header'>\n        <span class='coveo-quickview-time'>" + date + "</span>\n        <span class='coveo-quickview-close-button'>\n          <span class='coveo-icon coveo-sprites-common-clear'></span>\n        </span>\n      </div>\n      <div class='coveo-quickview-left-header'>\n        <span class='coveo-quickview-icon coveo-small " + result.raw.extremesource.replace(' ','').toLowerCase() + "'></span>\n        <span class='coveo-quickview-pop-up-reminder'> " + (options.title || '') + "</span>\n      </div>");
	new Coveo[Coveo['Salesforce'] ? 'SalesforceResultLink' : 'ResultLink'](header.find('.coveo-quickview-pop-up-reminder').get(0), undefined, bindings, result);
	return header;
}
Coveo.JQueryUtils.getQuickviewHeader = getQuickviewHeader;*/

//Change value caption for the facets
Coveo.$('#search').coveo('options', {
	Facet : {
		   valueCaption : extremeValueCaption
	},            
	externalComponents: [Coveo.$('#coveoSearchBox')]
});

});