var noteid = null;
var addrid = null;
var routeid = null;
var route_id = null;
var addressid = null;

function showAddNotesPanel(aid,adrid,rid,route_id1) {
	addrid = aid;
	addressid=adrid;
	routeid = rid;
	route_id = route_id1;
	parentDiv = document.getElementById('notes' + addrid +'_form');
	if(parentDiv !== null) {
		child = document.getElementById('addNoteInputPanel');
		parentDiv.appendChild(child);
		showElement('addNoteInputPanel');
		parentDiv.className = "notes_form visible";
		document.getElementById('addnote').focus();
	}
}

function cancelNotes() {
	hideElement('addNoteInputPanel');
}

function addNoteToList(nid,note) {
	//alert("Link : " +link);
	parentdiv = document.getElementById('noteList' + addrid);

/*	divelm = document.createElement('div');
	divelm.setAttribute('id',"noteElement" +link );	
//	divelm.setAttribute('style',"margin-left: 15px;");	
	divelm.style.marginLeft = '15px';
	
	aelm = document.createElement('a');
	aelm.setAttribute('href',"javascript:DeleteNote('" + link + "','" + link + "')");
	aelm.name = link;
	aelm.innerHTML = '[X]';
	divelm.appendChild(aelm);
	
	spanelm = document.createElement('span');
	note = note.replace(/&apos;/, "'");
	spanelm.innerHTML =	"&nbsp;&nbsp;" + note ;
	
	divelm.appendChild(spanelm);
	parentdiv.appendChild(divelm);
	
*/
	lielm = document.createElement('li');
	lielm.className = 'dark';

	aelm = document.createElement('a');
	aelm.setAttribute('href',"javascript:deleteNote('" + nid + "','" + addrid + "','" + routeid + "')");
	aelm.setAttribute('title',"Delete this note");

	imgelm = document.createElement('img');
	imgelm.setAttribute('src',"images/delete_small.png");
	imgelm.className = 'valign_icon';

	aelm.appendChild(imgelm);

	spanelm = document.createElement('span');
//	note = note.replace(/&apos;/, "'");
	note =  replaceToString(note);
	spanelm.innerHTML =	"&nbsp;&nbsp;" + note ;
	spanelm.className = 'date_time';

	lielm.appendChild(aelm);
	lielm.appendChild(spanelm);
	
	parentdiv.appendChild(lielm);

	document.getElementById("addnote").value = '';
	hideElement('addNoteInputPanel');
}

function updateNoteCounter(flag) {
	obj = document.getElementById('addrNoteCounter' + addrid);
	robj = document.getElementById('routeNoteCounter' + routeid);
	  if(obj !== null) 
	  { 
	    if (!flag) {
	      obj.innerHTML = parseInt(obj.innerHTML, 10) -1;
	    }
	    else {
	      obj.innerHTML = parseInt(obj.innerHTML, 10) +1;
	    }
	  }
	  if(robj !== null) 
	  { 
	    if(!flag) {
	      robj.innerHTML = parseInt(robj.innerHTML, 10) -1;
	    }
	    else {
	      robj.innerHTML = parseInt(robj.innerHTML, 10) +1;
	    }
	  }
}

function ProcessAddNotes(response) {
	//alert("Response : " +response);
	if(response != 'ERROR') {
		updateNoteCounter(true);
		tempArr = response.split('###');
		if(tempArr.length == 2) {
			addNoteToList(tempArr[0],document.getElementById("addnote").value + " - created on " + tempArr[1]);
		}
	}
	else {
		alert("Error occured while saving notes");	
	}
}

function addNotes() {
	obj = document.getElementById("addnote");
	if(obj !== null && obj.value.length > 0) {
		var postContent = '';
		postContent +="addr_id" + "=" + addressid + "&";
		postContent +="route_id" + "=" + route_id + "&";
		postContent += "note" + "=" + escape(obj.value);
		jQuery.get(ajaxcall + "addnote.php", postContent, ProcessAddNotes);
	}
	else {
		alert("Please input notes ...");
	}
}

function showhidenote(id) {	
	if(document.getElementById('noteList' + id).style.visibility === 'hidden' || document.getElementById('noteList' + id).style.visible === ''){
		showElement('noteList' + id);
	}
	else {
		hideElement('noteList' + id);
	}
}

function DeleteNoteElement() {
	parentObj = document.getElementById('noteList' + addrid);
	if(navigator.appName == "Microsoft Internet Explorer") {
		for(var i=(parentObj.childNodes.length-1);i>=0;i--) {
			child = parentObj.childNodes[i];
			if(child.innerHTML.indexOf("javascript:deleteNote('" + noteid + "','" + addrid + "','" + routeid + "')") > -1) {
				parentObj.removeChild(child);
				updateNoteCounter(false);
			}
		}
	}
	else if(navigator.appName == "Netscape") {
		for(var i=1;i<=parentObj.childNodes.length;i+=2) {
			child = parentObj.childNodes[i];
			if(child.innerHTML.indexOf("javascript:deleteNote('" + noteid + "','" + addrid + "','" + routeid + "')") > -1) {
				parentObj.removeChild(child);
				updateNoteCounter(false);
			}
		}
	}
}

function ProcessDeleteNote(response) {
	if(parseInt(response, 10) > 0) {
		DeleteNoteElement();
		//alert('Note Deleted');
	}
	else {
		alert('Error occured while deleting note');
	}
}

function deleteNote(nid,aid,rid) {
	noteid = nid;
	addrid = aid;
	routeid= rid;
	//alert("Parent :" + parent);
	if (confirm("Are you sure you want to delete this note?")) { 
		var postContent = '';
		postContent += "id" + "=" + noteid;
		jQuery.get(ajaxcall + "deletenote.php", postContent, ProcessDeleteNote);
	}
}

function cancelRouteNotes(route_note_id) {
	parentDiv = document.getElementById('note_' + route_note_id +'_form');
	if(parentDiv !== null) {
		parentDiv.className = "notes_form hidden";
	}
}

//The following scripts are for Routes
var route_note_id = null;
var original_value = '';

function showModifyNotesPanel(route_id, value) {
  if (route_note_id !== null)
	{
		cancelRouteNotes(route_note_id);
	}
	route_note_id = route_id;
	parentDiv = document.getElementById('note_' + route_note_id +'_form');
	if(parentDiv !== null) {
		child = document.getElementById('modifyNoteInputPanel');
		parentDiv.className = "notes_form visible";
		textField = document.getElementById('addroutenote' + route_note_id);
		original_value = textField.value;
		textField.focus();
	}
}

function ProcessModifyRouteNote(response) {
	if(response != 'ERROR') {
		span = document.getElementById('route_note_' + route_note_id);
		span.innerHTML = response;
		parentDiv = document.getElementById('note_' + route_note_id +'_form');
		if(parentDiv !== null) {
			parentDiv.className = "notes_form hidden";
		}
	}
	else 
	{
		alert("Error occured while saving notes");	
	}
}

function updateRouteNote(route_note_id) {
	obj = document.getElementById("addroutenote" + route_note_id);
	if(obj !== null && obj.value != original_value) {
		var postContent = '';
		postContent +="route_id" + "=" + route_note_id + "&";
		postContent += "note" + "=" + escape(obj.value);
		jQuery.get(ajaxcall + "modifyroutenote.php", postContent, ProcessModifyRouteNote);
	}
	else {
		alert("Note has not been changed.");
	}
}
