// fix the back button
var ajaxBackPatchActions = new Array ();
var ajaxBackPatchCurrentView = 0;
var ajaxBackPatchFrameLoaded = false;
var ajaxBackPatchFrameURL = './plugins/backPatch4AJAX/historyTracker.php';

function ajaxBackPatchTimer () {
	if (ajaxBackPatchFrameLoaded == false) return;
	var desiredView = window.frames ['ajaxBackPatchFrame'].document.getElementById ('ajaxBackPatchView').innerHTML;
	if (desiredView != ajaxBackPatchCurrentView) {
		eval (ajaxBackPatchActions [desiredView - 1]);
		ajaxBackPatchCurrentView = desiredView;
	}
}

function ajaxBackPatchLoadFrame () {
	ajaxBackPatchFrameLoaded = false;
	document.getElementById ('ajaxBackPatchFrame').src = ajaxBackPatchFrameURL + '?id=' + ajaxBackPatchActions.length;
}

function ajaxBackPatchDoneLoading () {
	ajaxBackPatchFrameLoaded = true;
}

function ajaxBackPatchSaveAction (command) {
	while (ajaxBackPatchActions.length > ajaxBackPatchCurrentView) ajaxBackPatchActions.pop();
	ajaxBackPatchActions.push (command);
	++ajaxBackPatchCurrentView;
	ajaxBackPatchLoadFrame ();
}

function ajaxBackPatchInit () {
	document.body.innerHTML += "<iframe style='width: 0px; height: 0px; display:none; visibility: hidden;' name='ajaxBackPatchFrame' id='ajaxBackPatchFrame'></iframe>";
	setInterval ("ajaxBackPatchTimer()", 1000);
}

attachToOnload ("ajaxBackPatchInit();");
