//om bij te houden of text veranderd werd
var ArrCurrentText = new Array();
var ComesFrom = new Array();
var ArrNotes = new Array();
var ArryEditingNote = new Array();

var today = new Date();
var month = today.getMonth() + 1;
var day = today.getDate();
var year = today.getFullYear();
var s = "/";
var dateVandaag = day + s + month + s + year;
var IdForNewNotes = 0;
var user;


function SaveToIFrame(nr){
	var sEditorName = "ipeForm_" + nr + "ipeToSaveText";
	//var newContent = eWebEditPro.instances[sEditorName].editor.getBodyHTML();		// ewebeditpro  
	
	// FCKeditor
	/*alert(document.getElementById('ckeditor_'+nr).value);
	oEditor = FCKeditorAPI.GetInstance(sEditorName) ;
	var newContent = oEditor.GetHTML();  */
	// /FCKeditor
	//console.log(CKEDITOR.instances[sEditorName].getData());
	//var newContent = document.getElementById(sEditorName).value;
	var newContent = CKEDITOR.instances[sEditorName].getData();
	var formnaam = "IpeForm_" + nr;	
	myform = document.forms[formnaam];
	var ipeToSaveTextNaam = "ipeForm_" + nr + "ipeToSaveText";	
	ViewId = "View_" + nr;
	document.getElementById(ViewId).innerHTML = newContent;
	myform[ipeToSaveTextNaam].value = newContent;
	var iframenaam = "iframe_" + nr;
	myform.target= iframenaam;
	myform.submit();
}


function ClickOnSave(nr){
	SaveToIFrame(nr);	
	ViewId = "View_" + nr;
	document.getElementById(ViewId).style.display = "block";		
	EditId = "Edit_" + nr;
	document.getElementById(EditId).style.display = "none";		
	SetComesFrom(nr, "View");	
}

function CheckForSave(nr){('ok');
	var sEditorName = "ipeForm_" + nr + "ipeToSaveText";
	/*if(eWebEditPro.instances[sEditorName].isChanged()){
		eWebEditPro.instances[sEditorName].save();*/ // ewebeditor
	// FCKeditor
	oEditor = FCKeditorAPI.GetInstance(sEditorName) ;
	if(oEditor.IsDirty()){
	// /FCKeditor
		var formnaam = "IpeForm_" + nr;	
		myform = document.forms[formnaam];
		var DoSave = confirm("Wilt u de tekst bewaren? ");
		if(DoSave){	
			SaveToIFrame(nr);
		} else {
			var formnaam = "IpeForm_" + nr;	
			myform = document.forms[formnaam];
			ViewId = "View_" + nr;
			var oldContent = document.getElementById(ViewId).innerHTML;
			var ipeToSaveTextNaam = "ipeForm_" + nr + "ipeToSaveText";	
			myform[ipeToSaveTextNaam].value = oldContent;
			//eWebEditPro.instances[sEditorName].load();
		}
	}
	
	/*
	RefreshEWebEditPro(nr);
	var formnaam = "IpeForm_" + nr;	
	myform = document.forms[formnaam];
	
	
	var ipeToSaveTextNaam = "ipeForm_" + nr + "ipeToSaveText";		
	if(ArrCurrentText[nr] != myform[ipeToSaveTextNaam].value){
		var DoSave = confirm("Wilt u de tekst bewaren? ");
		if(DoSave){	
			document.getElementById(ViewId).innerHTML = myform[ipeToSaveTextNaam].value;
		}
	}			
	SetOriginalText(nr);
	*/
}


function SetComesFrom(nr, from){
	ComesFrom[nr] = from;	
}

function CloseAll(nr){	
	// code toevoegen om ervoor te zorgen dat edit mode van notes gesloten wordt / eventueel idem voor snapshots
	ToNotesOverview(nr);
	//ToSnapShotsOverview(nr);
	
	ViewId = "View_" + nr;
	EditId = "Edit_" + nr;
	NotesId = "Notes_" + nr;
	SnapshotsId = "Snapshots_" + nr;
	
	document.getElementById(ViewId).style.display = "none";
	document.getElementById(EditId).style.display = "none";
	document.getElementById(NotesId).style.display = "none";
	document.getElementById(SnapshotsId).style.display = "none";
	
	//achtergrond van alle tabjes op geel zetten
	TabViewId = "tabView_" + nr;
	TabEditId = "tabEdit_" + nr;
	TabNotesId = "tabNotes_" + nr;
	TabSnapshotsId = "tabSnapshots_" + nr;
	
	document.getElementById(TabViewId).className = "tab_off tab";
	document.getElementById(TabEditId).className = "tab_off tab";
	document.getElementById(TabNotesId).className = "tab_off tab";
	document.getElementById(TabSnapshotsId).className = "tab_off tab";
}

function ToView(nr){
	if (ComesFrom[nr] != "View"){
		CheckForSave(nr);
		CheckNoteForSave(nr)
		CloseAll(nr);
		ViewId = "View_" + nr;
		document.getElementById(ViewId).style.display = "block";
		SetComesFrom(nr, "View");
		
		TabViewId = "tabView_" + nr;
		document.getElementById(TabViewId).className = "tab_on tab";
	}	
}

function ToEdit(nr){
	if (ComesFrom[nr] != "Edit"){
		CheckNoteForSave(nr)
		CloseAll(nr);
		EditId = "Edit_" + nr;
		document.getElementById(EditId).style.display = "block";
		
		//SetOriginalText(nr);	
		
		SetComesFrom(nr, "Edit");
			
		TabEditId = "tabEdit_" + nr;
		document.getElementById(TabEditId).className = "tab_on tab";	
	}	
}

function ToNotes(nr){
	if (ComesFrom[nr] != "Notes"){
		CheckForSave(nr);
		CloseAll(nr);
		
		NotesId = "Notes_" + nr;
		document.getElementById(NotesId).style.display = "block";
		SetComesFrom(nr, "Notes");
		
		TabNotesId = "tabNotes_" + nr;
		document.getElementById(TabNotesId).className = "tab_on tab";
	}	
}

function ToSnapshots(nr){
	if (ComesFrom[nr] != "Snapshots"){
		CheckNoteForSave(nr)
		CheckForSave(nr);
		CloseAll(nr);
		
		SnapshotsId = "Snapshots_" + nr;
		document.getElementById(SnapshotsId).style.display = "block";
		SetComesFrom(nr, "Snapshots");
		
		TabSnapshotsId = "tabSnapshots_" + nr;
		document.getElementById(TabSnapshotsId).className = "tab_on tab";
	}	
}

function CheckNoteForSave(nr){
	
	var formnaam = "formNoteToSave_" + nr;
	NoteToSaveId = "NoteToSave_" + nr;		
	myform = document.forms[formnaam];
	var newContent = myform[NoteToSaveId].value;
	if(ArrNotes[nr][ArryEditingNote[nr]]){
		var oldContent = ArrNotes[nr][ArryEditingNote[nr]].replace(/#10/gi, '\n');
	} else {
		var oldContent = "";
	}
	
	
	/*
	var formnaam = "formNoteToSave_" + nr;
	NoteToSaveId = "NoteToSave_" + nr;		
	myform = document.forms[formnaam];
	NoteToSaveData = myform[NoteToSaveId].value;
		
	*/
	
	
	if(newContent != oldContent){
		var DoSave = confirm("Wilt u het commentaar bewaren? ");
		if(DoSave){
			SaveNote(nr);	
			SetArrNotes(nr, ArryEditingNote[nr], newContent);
		}
	}
}

function EditNote(nr, noteId){			
	/*
	kijken wat precies moet gebeuren:
		-	ofwel mag gebruiker note aanpassen
			dan moet tekst van note gekopieerd worden naar textarea + mogelijkheid om te saven + waarschuwing bij verlaten zonder saven
		-	ofwel gewoon tonen van note
	*/	
	
	var formnaam = "formNotes_" + nr;	
	myform = document.forms[formnaam];
	
	//indien nieuwe note:
	
	var newNote = false;
	var newNoteId = noteId;
	if (noteId.indexOf("n") != -1){
		newNote = true;
		var isEditable = 1;
	} else {	
		var editableNaam = "EditableNote_" + noteId;
		var isEditable = myform[editableNaam].value;
	}
	
	var noteIdNaam = "" + noteId + "";
	ArryEditingNote[nr] = noteId;
	var NotesData = ArrNotes[nr][noteIdNaam];
	var NotesData2 = NotesData.replace(/#10/gi, '\n');
	var JsEnter = "test";
			
	if(isEditable == "1" ) {
		if(newNote){	
			newNote = true;
			rExp = /n/gi;
			newNoteId = noteId.replace(rExp, "");
			var isEditable = 1;
			var formnaam = "formNoteToSave_" + nr;	
			myform = document.forms[formnaam];
			myform.NoteOper.value = "editnew";
			myform.NoteId.value = newNoteId;	
			var NoteToSaveId = "NoteToSave_" + nr;
			document.getElementById(NoteToSaveId).value = NotesData2;	
			
			NoteEditId = "NoteEdit_" + nr;
			document.getElementById(NoteEditId).style.display = "block";
			
			NoteEditOnderId = "NoteEditOnder_" + nr;
			document.getElementById(NoteEditOnderId).style.display = "block";	
		}else {
			var NoteToSaveId = "NoteToSave_" + nr;
			document.getElementById(NoteToSaveId).value = NotesData2;	
			
			var formnaam = "formNoteToSave_" + nr;	
			myform = document.forms[formnaam];
			myform.NoteOper.value = "edit";
			myform.NoteId.value = noteId;
			
			NoteEditId = "NoteEdit_" + nr;
			document.getElementById(NoteEditId).style.display = "block";
			
			NoteEditOnderId = "NoteEditOnder_" + nr;
			document.getElementById(NoteEditOnderId).style.display = "block";		
		}
	} else {
		NoteViewPreId = "NoteViewPre_" + nr;
		document.getElementById(NoteViewPreId).innerHTML = NotesData2;
		
		NoteViewId = "NoteView_" + nr;
		document.getElementById(NoteViewId).style.display = "block";	
		NoteViewOnderId = "NoteViewOnder_" + nr;
		document.getElementById(NoteViewOnderId).style.display = "block";	
	}	
	
	NotesOverviewId = "NotesOverview_" + nr;
	document.getElementById(NotesOverviewId).style.display = "none";
	
	NotesOverviewOnderId = "NotesOverviewOnder_" + nr;
	document.getElementById(NotesOverviewOnderId).style.display = "none";	
}

function ToNotesOverview(nr){
	NotesOverviewId = "NotesOverview_" + nr;
	document.getElementById(NotesOverviewId).style.display = "block";	
	NotesOverviewOnderId = "NotesOverviewOnder_" + nr;
	document.getElementById(NotesOverviewOnderId).style.display = "block";
	
	NoteViewId = "NoteView_" + nr;
	document.getElementById(NoteViewId).style.display = "none";	
	NoteViewOnderId = "NoteViewOnder_" + nr;
	document.getElementById(NoteViewOnderId).style.display = "none";	
	
	NoteEditId = "NoteEdit_" + nr;
	document.getElementById(NoteEditId).style.display = "none";	
	NoteEditOnderId = "NoteEditOnder_" + nr;
	document.getElementById(NoteEditOnderId).style.display = "none";	
}

function ToSnapShotsOverview(nr){
	SnapShotsOverviewId = "SnapShotsOverview_" + nr;
	document.getElementById(SnapShotsOverviewId).style.display = "block";	
	SnapShotsOverviewOnderId = "SnapShotsOverviewOnder_" + nr;
	document.getElementById(SnapShotsOverviewOnderId).style.display = "block";
	
	SnapShotViewId = "SnapShotView_" + nr;
	document.getElementById(SnapShotViewId).style.display = "none";	
	SnapShotViewOnderId = "SnapShotViewOnder_" + nr;
	document.getElementById(SnapShotViewOnderId).style.display = "none";	
	
	SnapShotEditId = "SnapShotEdit_" + nr;
	document.getElementById(SnapShotEditId).style.display = "none";	
	SnapShotEditOnderId = "SnapShotEditOnder_" + nr;
	document.getElementById(SnapShotEditOnderId).style.display = "none";	
}

function SaveNote(nr){
	var formnaam = "formNoteToSave_" + nr;	
	myform = document.forms[formnaam];
	var NoteToSaveId = "NoteToSave_" + nr;	
	myform.NoteToSave.value = document.getElementById(NoteToSaveId).value;	
	var iframenaam = "iframe_" + nr;
	myform.target= iframenaam;
	myform.submit();	

	var noteIdNaam = "" + myform.NoteId.value + "";
	var NotePreview = myform.NoteToSave.value.substr(0, 60);
	if(myform.NoteToSave.value.length > 60){
		NotePreview = NotePreview + " ...";
	}
	
	//als een nieuwe note toegevoegd wordt: link bijplaatsen in overzicht
	if (myform.NoteOper.value == "new"){
		noteIdNaam = "n" + noteIdNaam;
		
		var myform2Id = "formNotesId_" + nr;
		var myform2ById = document.getElementById(myform2Id);
		
		//opzoeken van eerste child om daarvoor te kunnen toevoegen
		var firstChild = myform2ById.childNodes[0];
		var NewLink = document.createElement('div');
		NewLink.setAttribute("className", "Note");
		NewLink.innerHTML = "<a href='../prototype/inc/ '>" + dateVandaag + "</a>";

		NewLink.innerHTML = "&nbsp;<a href='javascript: EditNote(" + nr + ", \"" + noteIdNaam + "\");'>" + dateVandaag + " - " + user + " - <i><span id='noteLink_" + noteIdNaam + "'></span></i></a>";		
		
		if(myform2ById.innerHTML.indexOf("Geen commentaren") == -1) {
			myform2ById.insertBefore(NewLink, firstChild);
		} else {
			// eerst alle tekst verwijderen
			myform2ById.innerHTML = "";
			myform2ById.appendChild(NewLink);
		}		
	}	
	if(myform.NoteOper.value == "editnew"){
		noteIdNaam = "n" + noteIdNaam;
	}
	document.getElementById("noteLink_" + noteIdNaam).innerHTML = NotePreview;
	ArrNotes[nr][noteIdNaam] = myform.NoteToSave.value;	
	ToNotesOverview(nr);
}

function NewNote(nr){
		var NoteToSaveId = "NoteToSave_" + nr;
		document.getElementById(NoteToSaveId).value = "";		
		
		var formnaam = "formNoteToSave_" + nr;	
		myform = document.forms[formnaam];
		myform.NoteOper.value = "new";
		myform.NoteId.value = IdForNewNotes;
		IdForNewNotes++;
		
		NoteEditId = "NoteEdit_" + nr;
		document.getElementById(NoteEditId).style.display = "block";
		
		NoteEditOnderId = "NoteEditOnder_" + nr;
		document.getElementById(NoteEditOnderId).style.display = "block";
		
		NotesOverviewId = "NotesOverview_" + nr;
		document.getElementById(NotesOverviewId).style.display = "none";
		
		NotesOverviewOnderId = "NotesOverviewOnder_" + nr;
		document.getElementById(NotesOverviewOnderId).style.display = "none";	
}

function Make2Dimensional(nr){
	ArrNotes[nr]=new Array();
}

function SetArrNotes(nr, NoteId, Note){
	// NoteId moet hier een string zijn! om verschil te kunnen maken tussen notes die reeds in DB zaten en nieuw toevoegde
	// Die nieuw toegevoegde hebben een id die met een letter n begin bv "n1"
	
	ArrNotes[nr][NoteId] = Note;	
}

function CancelNote(nr){
	CheckNoteForSave(nr);
	ToNotesOverview(nr);
}

function SetUser(usr){
	user = usr;
}

function RefreshEWebEditPro(nr){
	/*
	var sEditorName = "ipeForm_" + nr + "ipeToSaveText";
	alert('1');
	if(eWebEditPro.instances[sEditorName]){
		eWebEditPro.instances[sEditorName].save();
	}
	alert('2');
	alert(sEditorName + " " + eWebEditPro.instances[sEditorName]);
//	eWebEditPro.load();
*/

	var sEditorName = "ipeForm_" + nr + "ipeToSaveText";
	alert(eWebEditPro.instances[sEditorName].status + " " + eWebEditPro.instances[sEditorName].isChanged());
}
