var reg = new RegExp("^(http|https)://([^/]+).*$","g");
var tab_reg = reg.exec(window.document.location.href);
var DOMAINE_NAME = tab_reg[2];

var LANGUAGE = $('meta[http-equiv=content-language]').attr('content');

function NewsList(parameters)
{
	var doc;
	var arr_docNews = new Array();
	var currentPosition = 1;
	//var currentIndex = 0;
	
	 $.ajax({
        url: parameters.url,
        //data: '&orderby=' + parameters.orderby + '&filterby=' + parameters.filterby,
        async: false,
        dataType: 'xml',
        success: function(xml){
        	docs = $.xml2json(xml, true);
			var docNews = jsonPath(docs, "$.doc[?(@.type=='actu')]");
			$.each(docNews, function(key, doc){
				if (doc.lg == LANGUAGE) {
					arr_docNews.push(doc.id);
				}
			});
        }
	 });
	 
	 function getTranslation(request, language)
	 {
	 	var reg1 = new RegExp(' ', 'g');
	 	request = request.replace(reg1, '_');
	 	request = request.toLowerCase();
	 	
	 	var result = '';
	 	$.ajax({
	        url: 'http://'+DOMAINE_NAME+'/translations/translations.php?request='+request+'&language='+language,
	        async: false,
	        success: function(text){
	        	result = text;
	        }
		 });
		 return(result);
	 }
	 
	 function getIndex(position)
	 {
	 	if (position > arr_docNews.length) {
	 		return(0);
	 	}
	 	else {
	 		if (position < 1) {
	 			return(arr_docNews.length - 1);
	 		}
	 		else {
	 			return(position - 1);
	 		}
	 	}
	 }
	
	this.getNewsNumber = function() {
		return(arr_docNews.length);
	}
	
	this.getNews = function(position) {
		index = position ? getIndex(position) : getIndex(currentPosition);
		var docNews = jsonPath(docs, "$.doc[?(@.id=='"+arr_docNews[index]+"')]");
		var newsObj = {};
		$.each(docNews, function(key, doc){
			if (doc.lg == LANGUAGE) {
				if (doc.rate[0].prefix == 'de') {
					var rateMax = doc.rate[0].max;
				}
				else { var rateMax = ''; }
				newsObj = {
					title: doc.titre[0].text ,
					description: doc.descriptif[0].text, 
					category: getTranslation(doc.cat, LANGUAGE), 
					rate: {
						prefix: doc.rate[0].prefix, 
						min: doc.rate[0].min, 
						max: rateMax, 
						unit: doc.rate[0].unit
					}, 
					imageName: doc.image[0].text, 
					pdfUrl: doc.lien[0].text, 
					position: (index + 1)
				};
			}
		});
		
		if (LANGUAGE == 'en') {
			newsObj.rate.prefix = 'from';
			switch (newsObj.rate.unit) {
				case'nuit':
					newsObj.rate.unit = 'night';
					break;
				case'personne':
					newsObj.rate.unit = 'pers.';
					break;
				case'semaine':
					newsObj.rate.unit = 'week';
					break;
				case'week end':
					newsObj.rate.unit = 'weekend';
					break;
				case'jour':
					newsObj.rate.unit = 'day';
					break;
				case'heure':
					newsObj.rate.unit = 'hour';
					break;
			}
		}
		return(newsObj);
	}
	
	this.gotoNext = function() {
		currentPosition = getIndex(currentPosition + 1) + 1;
	}
	
	this.gotoPrev = function() {
		currentPosition = getIndex(currentPosition - 1) + 1;
	}
}
