function parseResult(response,id,where,append) {
	var td = document.getElementById(where);
	if(append == true) {
		var ul = document.createElement('ul');
		ul.id = where + "_posts";
		ul.style.display = 'block';
		td = td.appendChild(ul);
	}
	td.innerHTML = response;
}

function setLoading(where) {
	var el = document.getElementById(where);
	if(el) el.innerHTML = '<br/><br/><br/><center><img src="css/loading.gif" alt="loading"/></center>';
}

// ajax request
function queryHandler(id,opts,where,append) {
	dataSource = 'frontend/query.php?id=' + id + opts;
	
   var XMLHttpRequestObject = false;

   if(window.XMLHttpRequest && !(window.ActiveXObject)) {
      XMLHttpRequestObject = new XMLHttpRequest();
      XMLHttpRequestObject.overrideMimeType('text/xml');
   } else if(window.ActiveXObject) {
      XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
   }

   if(XMLHttpRequestObject) {
      XMLHttpRequestObject.open('GET',dataSource,true);
      XMLHttpRequestObject.onreadystatechange = function() {
         if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
            parseResult(XMLHttpRequestObject.responseText,id,where,append); // gets back json response
         }
      };
      XMLHttpRequestObject.send(null);
   }
}




//modified by andrea
function phraseToSources(id,phrase,phrasetype,where,start_date,end_date) {
	if(phrase != "")	showHide(where);
	if((document.getElementById(where).style.display == 'block' && !document.getElementById(where).hasChildNodes()) || phrase == "") {
		var opts;
		opts = '&id='+id+'&type=channel&what=issue&phrasetype=' + phrasetype +'&phrase=' + phrase + '&output=bla' + '&start_date=' +start_date+'&end_date='+end_date;
		queryHandler(id,opts,where,false);
	}
}

//modified by andrea
function getPostsForSource(id,phrase,phrasetype,rand,start_date,end_date) {
	var el = document.getElementById('source_' + id + rand + '_posts');
	if(el) {
		showHide('source_' + id + rand + '_posts');
	} else {
		var opts;
		opts = '&type=source&what=issue&phrasetype=' + phrasetype +'&phrase=' + phrase + '&output=bla' + '&start_date=' +start_date+'&end_date='+end_date;
		queryHandler(id,opts,'source_' + id + rand,true);
	}
}

function parseForm(id) {
	var td = document.getElementById("content_" + id);
	td.innerHTML = '<br/><center><img src="css/loading.gif" alt="loading/></center>';
	var form = document.getElementById('form_' + id);
	var str = getFormValues(form);
	queryHandler(id,str,'content_' + id,false);
}

function getFormValues(fobj) {
	var str = "&";
	for(var i = 0;i < fobj.elements.length-1;i++) {
		if(fobj.elements[i].nodeType == '1') {
			if(fobj.elements[i].selectedIndex)
				str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
			else str += fobj.elements[i].name + "=" + fobj.elements[i].value + "&";
		}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}



//modified by andrea
function showHide(id) {
	var el = document.getElementById(id);
	if(el) {
		if(el.style.display =='none' || el.style.display == '') {
		   el.style.display = 'block';
		}
		else {
		      el.style.display = 'none';
		}
	}
}

function show(id) {
	var el = document.getElementById(id);
	if(el) if(el.style.display =='none' || el.style.display == '') el.style.display = 'block';
}

function hide(id) {
	var el = document.getElementById(id);
	if(el) if(el.style.display =='block' || el.style.display == '') el.style.display = 'none';

}

function setEl(id,content) {
	var el = document.getElementById(id);
	if(el) el.innerHTML = content;
}
