/**
* @param object sliderObj
* @param int val (the value)
* @param int newPos
* @param int knobNo
*/
function timeSliderChange(sliderObj, val, newPos, knobNumber) { 
	if (!ignoreNextSliderCallbackForDate) {
		var tmpDate = new Date();
		tmpDate.setDate(tmpDate.getDate() - (180 - (val / 3)));
	}
	if (knobNumber == 1) {
		updateDateRangeBackgroundLeft(val);
		if (!ignoreNextSliderCallbackForDate) datePickerRangeStart.setDateByObject(tmpDate);
	} else {
		updateDateRangeBackgroundRight(val);
		if (!ignoreNextSliderCallbackForDate) datePickerRangeEnd.setDateByObject(tmpDate);
	}
	if (ignoreNextSliderCallbackForDate) ignoreNextSliderCallbackForDate = false;
}
function onChangeRangeStart(datePicker) {
	var newDate = datePicker.getDateAsObject();
	var dayDiff = Math.abs(Math.round((dateToday - newDate)/86400000));
	//updateDateRangeBackgroundLeft(540 - (dayDiff*3));
	ignoreNextSliderCallbackForDate = true;
	timeRangeSlider.setValue(540 - (dayDiff*3), 1);
}
function onChangeRangeEnd(datePicker) {
	var newDate = datePicker.getDateAsObject();
	var dayDiff = Math.round((dateToday - newDate)/86400000);
	if (dayDiff < 0) dayDiff = 0;
	//updateDateRangeBackgroundLeft(540 - (dayDiff*3));
	ignoreNextSliderCallbackForDate = true;
	timeRangeSlider.setValue(540 - (dayDiff*3), 2);
}
function updateDateRangeBackgroundLeft(val) {
	if (typeof(elm_timeSelectorBgDiv) == 'undefined') {
		elm_timeSelectorBgDiv = document.getElementById('timeSelectorBgDiv');
	}
	timeSelectorLeft = val;
	elm_timeSelectorBgDiv.style.left  = timeSelectorLeft;
	elm_timeSelectorBgDiv.style.width = timeSelectorRight - timeSelectorLeft;
}
function updateDateRangeBackgroundRight(val) {
	if (typeof(elm_timeSelectorBgDiv) == 'undefined') {
		elm_timeSelectorBgDiv = document.getElementById('timeSelectorBgDiv');
	}
	timeSelectorRight = val;
	elm_timeSelectorBgDiv.style.width = val - timeSelectorLeft;
}


function RealNews() {
  /**
  */
  this.init = function() {
  }
	
  /**
	* Sends a fetch request to the server.
  */
  this.fetchData = function(entityType, entityCaptionIDs) {
		//jsrsContextProp.debug = true;
		document.getElementById('btnFetchNews').disabled = true;
		document.body.style.cursor = 'wait';
		
		var language = '';
		var sel = document.getElementById('selNewsLang');
		if (sel.selectedIndex) {
			language = sel.options[sel.selectedIndex].value;
		}
		
    var params = { 
			dateStart  : datePickerRangeStart.getDateAsIso(), 
			dateEnd    : datePickerRangeEnd.getDateAsIso(), 
			language   : language, 
			relevance  : minRelSlider.getValue(), 
			entityType : entityType, 
			entityCaptionIDs : entityCaptionIDs
		};
    var callId = jsrsCall("/RealnewsServer.class.php", "myRealNews._callback", "RealnewsServer.fetch", params); 
  }
	
  /**
  */
  this._callback = function(values, callId) {
		if (values.substr(0, 1) == '[') {
			var data = eval(values);
			//alert(data.length);
			var tblBody = document.getElementById('tblNewsBody');
			
			//tblBody.prune()
			while (tblBody.hasChildNodes()) {
				tblBody.removeChild(tblBody.firstChild);
			}
			
			for (var i=0; i<data.length; i++) {
				bgColor = (i%2) ? '#FFFFFF' : '#EDEDED';
				
				//alert(data[i]['caption']);
				var row = document.createElement("tr");
				row.setAttribute('bgColor', bgColor);
				var cell = document.createElement("td"); cell.innerHTML = i+1;                  row.appendChild(cell);
				var cell = document.createElement("td"); cell.innerHTML = data[i]['airDate'];   row.appendChild(cell);
				var cell = document.createElement("td"); cell.innerHTML = data[i]['language'];  row.appendChild(cell);
				var cell = document.createElement("td"); cell.innerHTML = data[i]['country'];   row.appendChild(cell);
				var cell = document.createElement("td"); cell.innerHTML = data[i]['topic'];     row.appendChild(cell);
				var cell = document.createElement("td"); //cell.innerHTML = data[i]['relevance']; row.appendChild(cell);
				cell.innerHTML  = '<div style="position:relative; width:50px; height:8px; border:1px solid black; background-color:#F9F9F9; line-height:0px;"><div style="width:' + (data[i]['relevance']/2) + 'px; height:8px; background-color:#5E5E5E; line-height:0px;"><img src="/_bsImages/spacer.gif" height="1"></div></div>';
				row.appendChild(cell);
				var cell = document.createElement("td"); cell.innerHTML = data[i]['caption'];   row.appendChild(cell);
				tblBody.appendChild(row);
				
				if (data[i]['headline'].length > 0) {
					var row = document.createElement("tr");
					row.setAttribute('bgColor', bgColor);
					var cell = document.createElement("td");
					cell.setAttribute('colSpan', "7");
					cell.innerHTML = '<a href="'+data[i]['url']+'" target="_blank">'+data[i]['headline']+'</a>';
					row.appendChild(cell);
					tblBody.appendChild(row);
				}
				
				var row = document.createElement("tr");
				row.setAttribute('bgColor', bgColor);
				var cell = document.createElement("td");
				cell.setAttribute('colSpan', "7");
				var urlDisplay = data[i]['url'].substr(7); //cut 'http://' part
				if (urlDisplay.length > 85) urlDisplay = urlDisplay.substr(0,82) + '...';
				cell.innerHTML = '<a href="'+data[i]['url']+'" target="_blank" style="font-weight:normal; color:gray;">'+urlDisplay+'</a>';
				row.appendChild(cell);
				tblBody.appendChild(row);
			}
		} else {
			//[error] message
			alert(values);
		}
		
		document.body.style.cursor = 'auto';
		document.getElementById('btnFetchNews').disabled = false;
  }
}




