var NS = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;
var MZ = (!document.layers) && (navigator.userAgent.indexOf('Mozilla')!=-1)?true:false;
var IE = ((document.all)&&(navigator.appVersion.indexOf("MSIE")!=-1)) ? true : false;

function getForm() {
	var returnObj = null;

	if(IE || MZ) {
		returnObj =  eval("document."+formname);
	} else if(NS) {	
		returnObj =  document.getElementById(formname);
	}
	
	return returnObj;
}

function getElement(objectId) {
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId);
	} else if (document.all && document.all(objectId)) {  
		return document.all(objectId);
	} else if (document.layers && document.layers[objectId]) { 
		return document.layers[objectId];
	} else {
		return eval("document."+objectId);
	}
}

function writeElement(objectid,content) {
	element = getElement(objectid);

	if(!IE) {
		content.setAttribute("id",objectid);
		element.parentNode.replaceChild(content,element);
	} else {
		element.innerHTML = content;
	}
}

function changeVisibility(objectid,value) {
	element = getElement(objectid);
	element.style.visibility = value;
}

function nextForm(curri) {
	nexti = curri+1;
	
	currf = getElement("step"+curri);
	nextf = getElement("step"+nexti);
	
	changeVisibility("step"+curri,"hidden");
	changeVisibility("step"+nexti,"visible");
}

function prevForm(curri) {
	previ = curri-1;
	
	currf = getElement("step"+curri);
	prevf = getElement("step"+previ);
	
	changeVisibility("step"+curri,"hidden");
	changeVisibility("step"+previ,"visible");
}

function finishForm(message) {
	if(confirm(message)) {
		formObj = getForm();
		formObj.submit();
	}
}

function showCategories(catparent) {
	if(!IE) {
		showCategoriesMozilla(catparent);
	} else {
		showCategoriesExplorer(catparent);
	}
}

function showCategoriesMozilla(catparent) {
	formObj = getForm();
	formObj.f_category.value = catparent;

	var curr = "";
	var catname = "";

	var elems = new Array();
	var telem;
	var uelem;
	var belem = null;
	var count = 0;
	
	for(var i=0;i<categories.length;i = i+3) {
		if(categories[i] == catparent) {
			curr += categories[i+2];
			catname += categories[i+2];
			parn = categories[i+1];
		}
		if(categories[i+1] == catparent) {
			uelem = document.createElement("LI");
			telem = document.createElement("A");
			telem.setAttribute("href","javascript:showCategories("+categories[i]+")");
			telem.appendChild(document.createTextNode(categories[i+2]));
			uelem.appendChild(telem);
			elems[count] = uelem;
			count++;
		}
	}
	
	for(var i=0;i<categories.length;i = i+3) {
		if(categories[i] == parn) {
			belem = document.createElement("A");
			belem.setAttribute("href","javascript:showCategories("+categories[i]+")");
			belem.appendChild(document.createTextNode("Voltar um nível"));
			break;
		}
	}
	
	var elem = document.createElement("DIV");
	elem.appendChild(document.createTextNode("Categoria atual: "));
	var currcat = document.createElement("B");
	currcat.appendChild(document.createTextNode(curr));
	elem.appendChild(currcat);
	elem.appendChild(document.createElement("BR"));
	for(var i=0;i<elems.length;i++) {
		elem.appendChild(elems[i]);
	}
	if(belem != null) {
		elem.appendChild(document.createElement("BR"));
		elem.appendChild(belem);
	}
	
	writeElement("catform",elem);
}

function showCategoriesExplorer(catparent) {
	formObj = getForm();
	formObj.f_category.value = catparent;

	var curr = "";
	var catname = "";
	var cont = "";
	var parn = -1;
	var part = "";

	for(var i=0;i<categories.length;i = i+3) {
		if(categories[i] == catparent) {
			curr += categories[i+2];
			catname += categories[i+2];
			parn = categories[i+1];
		}
		if(categories[i+1] == catparent) {
			cont += '<LI><A href="javascript:showCategories('+categories[i]+');">'+categories[i+2]+'</A></LI>';
		}
	}
	
	for(var i=0;i<categories.length;i = i+3) {
		if(categories[i] == parn) {
			part += '<A href="javascript:showCategories('+categories[i]+');">Voltar um nível</A>';
			part += '<BR>';

			break;
		}
	}
	
	content = "Categoria atual: <B>"+curr +"</B><BR>"+cont+"<BR>"+part;
	writeElement("catform",content);
}

function showFiles() {
	if(!IE) {
		showFilesMozilla();
	} else {
		showFilesExplorer();
	}
}

function showFilesMozilla() {
	formObj = getForm();
	count = formObj.f_filecount.value;
	
	var elem = document.createElement("DIV");
	var telem;
	for(var i=0;(i<count) && (i<10);i++) {
		telem = document.createElement("INPUT");
		telem.setAttribute("type","file");
		telem.setAttribute("name","userfile[]");
		elem.appendChild(telem);
		elem.appendChild(document.createElement("BR"));
	}
	
	writeElement("fileform",elem);
}

function showFilesExplorer() {
	formObj = getForm();
	count = formObj.f_filecount.value;
	
	content = "";
	for(var i=0;(i<count) && (i<10);i++) {
		content += '<INPUT type="file" name="userfile[]" value=""><BR>'
	}
	
	writeElement("fileform",content);
}

function formatDate(campo,teclapres) {
	var tecla;
	if (teclapres != null) tecla = teclapres.keyCode;
	else tecla = 9;
	
	if(tecla != 8) {
		vr = campo.value;
		vr = vr.replace('-','');
		tam = vr.length;

		if(tam > 4 && tam < 6) vr = vr.substr(0,4)+"-"+vr.substr(4,tam);
		if(tam >= 6) vr = vr.substr(0,4)+"-"+vr.substr(4,2)+"-"+vr.substr(7,2);
		campo.value = vr;
	}
}
