function SlideArticle(opts) {
	var defaultOpts = {
			groupId : themeDisplay.getScopeGroupId(),
			locale : themeDisplay.getLanguageId(),
			replaceGroupIdTokens : true,
			startIdx : -1,
			pause : 15000,
			auto : true,
			continuous : true,
			fadeOnSwitch : true,
			alwaysFade : false,
			vertical : false
	}
	this.options = jQuery.extend({}, defaultOpts, opts);
};

SlideArticle.prototype.findLocaleContent = function(content, locale) {
	var start = "<static-content language-id=\""+locale+"\"><![CDATA[";
	var stop = "]]>";
	var idx = content.indexOf(start);
	if(idx == -1) {
		return null;
	}
	var found = content.substring(idx + start.length);
	idx = found.indexOf(stop);
	if(idx == -1) {
		return null;
	}
	found = found.substring(0, idx);
	if(this.options.replaceGroupIdTokens) {
		found = found.replace(/@group_id@/g, this.options.groupId);
	}
	return found;
};

SlideArticle.prototype.findDefaultLocaleForContent = function(content) {
	result = content.match(/default-locale="(.*?)"/);
	if(result != null && result.length > 1) {
		return result[1];
	}
	return null;
};

SlideArticle.prototype.loadArticleContent = function() {
	var instance = this;
	Liferay.Service.Journal.JournalArticle.getArticle(
	    {
	        groupId: instance.options.groupId,
	        articleId: instance.options.articleId
	    },
	    function(message) {
	        var exception = message.exception;
	        if (!exception) {
	        	var content = message.content;
	        	var localeContent = instance.findLocaleContent(content, instance.options.locale);
	        	if(localeContent == null) {
	        		var defaultLocale = instance.findDefaultLocaleForContent(content);
	        		if(defaultLocale != null) {
		        		localeContent = instance.findLocaleContent(content, defaultLocale);
	        		}
	        	}
	        	if(localeContent == null) {
	        		localeContent = instance.findLocaleContent(content, "en_US");
	        	}
	        	if(localeContent != null) {
		        	jQuery("#jfs_slider")
		        		.hide()
		        		.html(localeContent)
		        		.fadeIn()
		        		.easySlider({
			        		controlsBefore:	'<p id="controls">',
			        		controlsAfter:	'</p>',	
			        		auto: instance.options.auto, 
			        		continuous: instance.options.continuous,
			        		pause: instance.options.pause,
			        		prevId: 'prevBtn',
			        		nextId: 'nextBtn',
			        		startIdx : instance.options.startIdx,
			        		fadeOnSwitch : instance.options.fadeOnSwitch,
			        		alwaysFade : instance.options.alwaysFade,
			        		vertical : instance.options.vertical
			        	});			
	        	}
	        }
	        else {
	        	// error
	        }
	    }
	);
};


