$(document).ready(function(){
	//autosearch if filters are full
	var opts = $(this).selectedValues();
 	var topicId = opts.toString().split(',');
	if((parseInt(topicId[0])>0) || (parseInt(topicId[2])>0)) {
		getIssues('issue', opts, fetchData);
   
  	var so = $($(this).selectedOptions()[0]);
  	$("#selectedtag").html(so.html());
	}

});

function log(text){
  	if(typeof(console) != 'undefined') {
		console.log(text);
	}
}
  
// Get Issue Tag List
function getTags(id, callback) {
	$.getJSON(
		'/index.php?eID=sig_frontend&what=getNGOTopics',
		function(data) {
			for (i=0; i<data.length; i++) $('#'+id).addOption(data[i].uid, data[i].value);

			$('#'+id).selectOptions("0",true);
				
			$('#'+id).attr('disabled', !true); //null
			
			if (typeof(callback)!='undefined') callback();
		}
	);
}

// Get Issue List
function getIssues(id, tag, callback) {
	$.getJSON(
		'/index.php?eID=sig_frontend&what=getIssues&tag='+tag,
		function(data) {
			$('#'+id).removeOption(/[^0]/);
			
			for (i=0; i<data.items.length; i++) $('#'+id).addOption(data.items[i].uid, data.items[i].value);
			
			$('#'+id).selectOptions("0", true);
			
			$('#'+id).attr('disabled', true ); //null
			
			if (typeof(callback)!='undefined') {
				callback();
			}
		}
	);
}

// Get Locations - Regions
function getLocations(id, callback) {
	$.getJSON(
		'/index.php?eID=sig_frontend&what=getLocationList',
		function(data) {
			for (i=0; i<data.length; i++) {
				$('#'+id).addOption(data[i].uid, html_entity_decode(data[i].value));
			}
			
			$('#'+id).selectOptions("0");
			
			$('#'+id).attr('disabled', !true); //null
			
			if (typeof(callback)!='undefined') {
	
			callback();
			}
	
			$('th.region').html("Activity Level &nbsp;&nbsp; Trend");

			updateTrendLabel();
		}
	);
}

// Get Country List
function getCountries(id, region, callback) {
	
	$.getJSON(
		'/index.php?eID=sig_frontend&what=getCountyList&id='+region,
		function(data) {
			$('#'+id).removeOption(/[^0]/);

			for (i=0; i<data.length; i++) {
				$('#'+id).addOption(data[i].uid, html_entity_decode(data[i].value));
			}
			
			$('#'+id).selectOptions("0");
			
			$('#'+id).attr('disabled', !true); // null

			if (typeof(callback)!='undefined') {
				callback();
			}
		}
	);
}

// Create an Element - Table row
function createElement(i, sector, data, last_activity, code) {	

	var tr = $('<tr id="'+i+'" class="row"></tr>');
	
	/*
	index.php?id=34&page=0&si_Topic=-1&si_Issues=-1&si_Location=-1&si_Country=-1&si_Rows=20&is_search=
	*/
	var topic = $('#topic').selectedValues();
	var issue = code;
	var region = $('#location').selectedValues();
	var country = $('#country').selectedValues();
	
	var lin = $('<a class="testme"></a>').html(sector);
	lin.attr("rel","ic"+code);
	lin.attr("href", "/index.php?id=archive&si_Topic=" + topic + "&si_Issues=" + issue + "&si_Location=" + region + "&si_Country=" + country + "&bButton=iIndex");
	
	var td1 = $('<td class="col1"></td>').append(lin);
	
	if($(data).attr("class").substr(-1)=="1") { // reset to klicaj mudel ;)
		data = '<span class="tempX"><img src="fileadmin/sigwatch/images/transparent.gif"/></span>';
		data += '<span class="trend"><img src="fileadmin/sigwatch/images/klicaj.gif"/></span>';
	}
	
	var td2 = $('<td class="col2" align="center"></td>').html(data);
	var td3 = $('<td class="col3"></td>').html('<span class="trend"><b>' + last_activity + '</b></span>');
	
	tr.append(td1);
	tr.append(td2);
	tr.append(td3);
	
	return tr;
}

function fetchData() {
	
	$('table.trends').hide();
	
	if ($('#topic').selectedValues()==0 && $('#location').selectedValues()==0 && $('#country').selectedValues()==0) {
		$('#loading').html('<b>Please select a Topic or a Region!</b>').show();
		return false;
	}
	
	$('#loading').html('Loading, please wait...').show();

	$.getJSON(
		'/index.php?eID=sig_frontend&what=getIssueIndex',
		{ topic: $('#topic').selectedValues(), region: $('#location').selectedValues(), country: $('#country').selectedValues() },
		function(data) {
			if (data.length == 0) {
				$('#loading').html('<b>No data to display</b>').show();
			}
			else if (data.error == 'no filters') {
				$('#loading').html('<b>Please select a Tag or a Region.</b>').show();
			}
			else {
				buildTable(data);
				$('table.trends').show();
				$('#loading').hide();
			}
		}
	);
}

// Find specific issue in data array
function findIssue(data, code) {
	for (var i=0; i<data.length; i++) {
		if (data[i].issue_code == code) {
			return data[i];
		}
	}
	
	return false;
}

// Render HTML to display the Temperature icon
function displayTemperature(temp,base) {
	if (temp == 0) {
		return '<span class="temp temp1"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}
	
	if (temp > 0 && temp <= 0.5) {
		return '<span class="temp temp2"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}
	
	if (temp > 0.5 && temp <= 1) {
		return '<span class="temp temp3"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}
	
	if (temp > 1 && temp <= 1.5) {
		return '<span class="temp temp4"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}
	
	if (temp > 1.5 && temp <= 2.0) {
		return '<span class="temp temp5"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}	

	if (temp > 2.0 && temp <= 2.5) {
		return '<span class="temp temp6"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}

	if (temp > 2.5 && temp <= 3.0) {
		return '<span class="temp temp7"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}

	if (temp > 3.0 && temp <= 3.5) {
		return '<span class="temp temp8"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}

	if (temp > 3.5 && temp <= 4.0) {
		return '<span class="temp temp9"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}	

	if (temp > 4.0) {
		return '<span class="temp temp10"><img src="fileadmin/sigwatch/images/transparent.gif" /></span>';
	}
}

// Render HTML to display the Trend icon
function displayTrend(temp,trend,base) {
	if (base == 0 && temp > 0) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/klicaj.gif" /></span>';
	}
	
	if (base == 0) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/flat.gif" /></span>';
	}
	
	if (trend <= 0.25) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/falling_fast.gif" /></span>';
	}
	
	if (trend > 0.25 && trend <= 0.4 ) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/falling.gif" /></span>';
	}
	
	if (trend > 0.4 && trend <= 0.65) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/flat.gif" /></span>';
	}
	
	if (trend > 0.65 && trend <= 1) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/rising.gif" /></span>';
	}
	
	if (trend > 1) {
		return '<span class="trend"><img src="fileadmin/sigwatch/images/rising_fast.gif" /></span>';
	}
}

// Render HTML to display a table for the given data array
function buildTable(data) {
	var i=0;
	$('tr.row').remove();

	$('#issue > option').each(function(){
		if ($(this).val()>0) {
			var issue = findIssue(data, $(this).val());
			
			if (issue) {
				var date = issue.last_activity.split('-');
				var row = createElement(i,
					$(this).html(),
					displayTemperature(issue.activity_level,issue.base) +'<span class="cbx">xxxxxxx</span>'+ displayTrend(issue.activity_level,issue.trend,issue.base),
					date[1] + "/" + date[0],
					issue.issue_code
					);
				$('.trends').append(row);
				i++;
			}
		}
	});
}

// Initialize
$(document).ready(function() {						   
	$('#topic').change(function (){
		var opts = $(this).selectedValues();
		getIssues('issue', opts, fetchData);
		
		var so = $($(this).selectedOptions()[0]);
		$("#selectedtag").html(so.html());
	});
	
	$('#issue').change(function (){
		var opts = $(this).selectedValues();
	});
	
	$('#location').change(function (){
		if ($('#location').selectedValues() == 0) {
			$('#country').removeOption(/[^0]/);
			$('#country').selectOptions("0");
			$('#country').attr('disabled', true);
			fetchData();
		}
		else {
			getCountries('country',$('#location').selectedValues(), fetchData);
		}
		/*updateTrendLabel();*/

		var opts = $('#topic').selectedValues();
    getIssues('issue', opts, fetchData);  
    
    var so = $($('#topic').selectedOptions()[0]);
    $("#selectedtag").html(so.html());  

	});

	$('#country').change(function () {
		//fetchData();
		//updateTrendLabel();
		var opts = $('#topic').selectedValues();
    getIssues('issue', opts, fetchData);
    
    var so = $($('#topic').selectedOptions()[0]);
    $("#selectedtag").html(so.html());

	});
	
	/* Save user search */
	$('#savesearch').click(function(e){
		e.preventDefault();
		
		
		var user_id = $('#user_id').val();
		var name = prompt("Name?", "");
		
		if (name!=null && name.length>0) {
			var type = 'issues_index';
			var tag = $('select#topic').val();
			var region = $('select#location').val();
			var country = $('select#country').val();
			var pid = $('input#id').val();
			
			url = '/index.php?eID=sigwatch_ws&f=addSearchFilter&c=userFilters&out=json';
			url += '&p_pid=' + pid;
			url += '&p_user_id=' + user_id;
			url += '&p_name=' + escape(name);
			url += '&p_type=' + type;
			url += '&p_tag=' + tag;
			url += '&p_region=' + region;
			url += '&p_country=' + country;
			
			$.getJSON(url, function(data){
			
				if (data.status ==  'name_exists') {
					//alert("A saved search named \""+data.name+"\" allready exists!");
					if (confirm("A saved search named \""+data.name+"\" already exists.\nDo you want to replace it?")) {
						url = '/index.php?eID=sigwatch_ws&f=updateSearchFilter&c=userFilters&out=json';
						url += '&p_pid=' + pid;
						url += '&p_user_id=' + user_id;
						url += '&p_type=' + type;
						url += '&p_name=' + escape(name);
						url += '&p_tag=' + tag;
						url += '&p_region=' + region;
						url += '&p_country=' + country;
						url += '&p_id=' + data.id;
			
						$.getJSON(url, function(data){
							alert("Your search was successfully saved!");
							document.location = data.url;
						});
					}
				}
				else if (data.status == 'search_exists')
					alert("This search was already saved as  \""+data.name+"\" !");
				else {
					alert("Your search was successfully saved!");
					document.location = data.url;
				}
			
			});
			
		}
		else if (name!=null) {
			alert('Please give your saved search a name!');
		}

	});
	
	$('select[name="saved_searches"]').change(function(){
		if (this.value>0) {
			pid = $('input[name="id"]').val();
			url = '/index.php?eID=sigwatch_ws&f=fetchSearchFilter&c=userFilters&out=json&p_pid='+pid+'&p_id=' + this.value;
			$.getJSON(url, function(data){
				document.location = data.url;
			});
		}
	});
	
});

function updateTrendLabel(){
	var regija = $("#location").selectedValues()[0];
	var regija_op = $("#location").selectedOptions().html();
	var drzava = $("#country").selectedValues()[0];
	var drzava_op = $("#country").selectedOptions().html();
	
	$('#trend_lab').html("World");
	

	if(regija!="0") $('#trend_lab').html(regija_op);
	if(drzava!="0") $('#trend_lab').html(drzava_op);	
	
	if(drzava!="0" && regija!="0") $('#trend_lab').html(regija_op + " - "+drzava_op);
};

/* ============================== KONEC ===================================== */

var bake_pdf = false;
var name_pdf = "";

function getPDF(){};
$(function(){	 
	$("#getPDF").click(function(e){				
			e.preventDefault();
			
			if(bake_pdf==true){ alert("PDF generation in progress. Please wait!"); return false; };
			
			bake_pdf = true;
			
			var datap = { "html" : $('.tx-sigfrontend-pi3').html(),
						  "imepage": "index",
						  "tag":$("#topic").selectedOptions().html() };
						  
			$(this).html("Making PDF. Please wait...");
			$("#pdfproc").show();

			if(!$(this).hasClass("pdfindex")) datap.imepage = 'tracker';
			
			$.post("/agpdf/index.php",  datap,
			  function(data){	
					bake_pdf=false;
					name_pdf = data.name;
				
					var currentTime = new Date();
					var month = currentTime.getMonth() + 1;
					var day = currentTime.getDate();
					var year = currentTime.getFullYear();
					
					var tagb = $("#topic").selectedOptions().html().toLowerCase() 	// change everything to lowercase
						.replace(/^\s+|\s+$/g, "")									// trim leading and trailing spaces		
						.replace(/[_|\s]+/g, "-") 									// change all spaces and underscores to a hyphen
						.replace(/[^a-z0-9-]+/g, "") 								// remove all non-alphanumeric characters except the hyphen
						.replace(/[-]+/g, "-") 										// replace multiple instances of the hyphen with a single instance
						.replace(/^-+|-+$/g, "") 									// trim leading and trailing hyphens
						.replace(/-/g,"_");
					
					var cname = "SIGWatch_Issues_Index-"+tagb+"-"+day+"_"+month+"_"+year+".pdf";
					
					window.location = "/agpdf/read.php?f="+name_pdf+"&n="+cname;
					$('#getPDF').html("Download PDF");
					$("#pdfproc").hide();					
			}, "json");
	});	   
});

