// Form management

var TreeCollection;

var g_forms = new Array();

function updateForm(formName)
{
	function updateFormData(data)
	{
		$("#" + formName + "_form").html(data);
	}

	$("#" + formName + "_form").html("<img src='images/loading.gif' />");

	$.get('/documents/ajax/', {'action' : 'form', 'formname' : formName}, updateFormData);
}

function createForm(formName)
{
	if(g_forms[formName] != undefined)
		return false;
	
	var div_layer = document.createElement('div');
	div_layer.setAttribute("id", formName + '_form');
	div_layer.setAttribute("class", "documentsForm");
		
	document.body.appendChild(div_layer);
				
	g_forms[formName] = new CenterDiv(formName + '_form');
	
	return true;	
}


function deleteForm(formName)
{	
	if(g_forms[formName] == undefined)
		return false;
	
	g_forms[formName].hide();
		
	var div_layer = document.getElementById(formName + '_form');
	div_layer.innerHTML = '';
	document.body.removeChild(div_layer);
	
	delete g_forms[formName];
	
	return true;
}

function showForm(formName, param)
{
	createForm(formName);
	updateForm(formName);
	
	if(param != undefined)
		requestFormData(formName, param);	
	
	g_forms[formName].show();
}

function hideForm(formName)
{
	if(g_forms[formName] != undefined)
	{
		g_forms[formName].hide();
	}
	

}



function setCSSRule(selector, property, value) {
	var theRules = new Array();
	for (var i=0;i<document.styleSheets.length;i++) {
		if (document.styleSheets[i].cssRules) {
			theRules = document.styleSheets[i].cssRules;
		}
		else {
			theRules = document.styleSheets[i].rules;
		}
		for (var j=theRules.length-1;j>=0;j--) {
			if (theRules[j].selectorText == selector) {
				theRules[j].style[property] = value;
				return;
			}
		}
	}
}


function setAdmin(isAdmin)
{
	setCSSRule('.admin', 'display', isAdmin ? 'block' : 'none');
	if(TreeCollection != undefined)
		TreeCollection.get(0).setDrag(isAdmin);
	if(isAdmin)
		$("#adminlogin").hide();
	else
		$("#adminlogin").show();
}

var g_dir = "";
var g_name = "";

function edittpl(dir, name)
{
	g_dir = dir;
	g_name = name;
	showForm('editPage');
}

function savePage()
{
	$.post('/documents/ajax/', {'action' : 'savepage', 'dir' : g_dir, 'name' : g_name, 'html' : FCKeditorAPI.GetInstance('page_html_editor').GetXHTML(true)}, function(d) {document.location = document.location});
}
