function confirm_url(url, msg) {
	if (confirm(msg)) { location.href = url + "&HTTP_REFERER=" + escape(location.href); }
}

function changeText(size) {
	document.forms["textform"].elements["textsize"].value = size;
	document.forms["textform"].submit();
}

function openParentSubs(eyedees) {
	var temp = eyedees.split(",");
	
	for (var i=0; i<temp.length; i++) {
		if (parseInt(temp[i]) > 0) {
			toggleSub(temp[i]);
		}
	}
}
function openChildSubs(eyedees) {
	var temp = eyedees.split(",");
	
	for (var i=0; i<temp.length; i++) {
		if (parseInt(temp[i]) > 0) {
			toggleSub(temp[i]);
		}
	}
}
function toggleSub(id) {
	if (document.getElementById("sublayer" + id).style.display == "none") {
		document.getElementById("sublayer" + id).style.display = "inline";
		//document.getElementById("ctrl" + id).src = "/images/common/contract.gif";
	} else {
		document.getElementById("sublayer" + id).style.display = "none";
		//document.getElementById("ctrl" + id).src = "/images/common/expand.gif";
	}
}

function go_url(url, qs) {
	location.href = url + qs;
}

function isNumeric(txt)
{
	var validChars = "0123456789";
	var isNumber = true;
	var chr = "";

	for (i = 0; i < txt.length && isNumber == true; i++) {
		chr = txt.charAt(i);
		if (validChars.indexOf(chr) == -1) {
			isNumber = false;
		}
	}
	return isNumber;
}

function constructFilename(filename)
{
	// remove (win32) directory deliminators
	filename = filename.replace(/^.*\\/g, "");
	// remove file extension
	filename = filename.replace(/\.[^.]*$/g, "");
	// strip trailing spaces
	filename = filename.replace(/[ ]$/, "");
	// spaces to underscores
	filename = filename.replace(/ /g, "_");
	// remove anything else that is remotly illegal
	filename = filename.replace(/[^-_a-zA-Z0-9]/g, "");
	// strip multiple underscores
	filename = filename.replace(/_+/g, "_");
	// lowercase looks pretty :)
	filename = filename.toLowerCase();
	// restrict length
	filename = filename.substring(0, 100);

	return filename;
}

function updateFilename(file_name, form, file_name_field)
{
	filename = constructFilename(file_name);
	
	if (document.forms[form].elements[file_name_field].value == "")
		document.forms[form].elements[file_name_field].value = filename;
}

function validateFilename(file_name, form, file_name_field)
{
	filename = constructFilename(file_name);
	document.forms[form].elements[file_name_field].value = filename;
}

function handleChosenForm(element, html, form_id)
{
	if (document.getElementById("form_id")) {

		var form_ids = document.getElementById("form_id").value;
		var form_ids_arr = form_ids.split(",");
		
		var this_body = document.getElementById(element).value;
		
		// update form_id form field to only include forms currently inserted
		// 1. replace missing forms with 0
		// 2. remove 0s
		// 3. update form_id field
		for (var i=0; i<form_ids_arr.length; i++) {
			var position = this_body.indexOf("insert_form" + form_ids_arr[i] + ">")
			if (position == -1)
				form_ids_arr[i] = 0;
		}

		var new_form_ids_arr = new Array();
		var cell = 0;
		for (var j=0; j<form_ids_arr.length; j++) {
			if (form_ids_arr[j] > 0) {
				new_form_ids_arr[cell] = form_ids_arr[j];
				cell += 1;
			}
		}
		
		found = false;
		for (var k=0; k<new_form_ids_arr.length; k++) {
			if (new_form_ids_arr[k] == form_id)
				found = true;
		}
		
		// add selected form_id to tidied array of ids
		if (!found) {
			new_form_ids_arr[new_form_ids_arr.length] = form_id;
		}
		
		// rebuild variable contents
		var var_str = "";
		for (var m=0; m<new_form_ids_arr.length; m++) {
			var_str += new_form_ids_arr[m];
			if (m < (new_form_ids_arr.length-1))
				var_str += ",";
		}
		document.getElementById("form_id").value = var_str;
				
		if (!found) {
			NickEdit_ExecCmdInsertHTML(element, html);
			//alert(document.getElementById("form_id").value);
		} else {
			alert("The selected form has already been inserted in to this page.");
		}
			
	} else {
		alert("Forms can not be inserted in to this page.");
	}
}

function tidySelectedForms(element)
{
	if (document.getElementById("form_id")) {

		var form_ids = document.getElementById("form_id").value;
		var form_ids_arr = form_ids.split(",");
		
		var this_body = document.getElementById(element).value;
		
		// update form_id form field to only include forms currently inserted
		// 1. replace missing forms with 0
		// 2. remove 0s
		// 3. update form_id field
		for (var i=0; i<form_ids_arr.length; i++) {
			var position = this_body.indexOf("insert_form" + form_ids_arr[i] + ">")
			if (position == -1)
				form_ids_arr[i] = 0;
		}

		var new_form_ids_arr = new Array();
		var cell = 0;
		for (var j=0; j<form_ids_arr.length; j++) {
			if (form_ids_arr[j] > 0) {
				new_form_ids_arr[cell] = form_ids_arr[j];
				cell += 1;
			}
		}

		// rebuild variable contents
		var var_str = "";
		for (var m=0; m<new_form_ids_arr.length; m++) {
			var_str += new_form_ids_arr[m];
			if (m < (new_form_ids_arr.length-1))
				var_str += ",";
		}
		document.getElementById("form_id").value = var_str;
		//alert(document.getElementById("form_id").value);
		
	}
}

function handleChosenImage(element, html, width, height, alt_attribute, title_attribute, image_id, description, full_filename)
{
	NickEdit_ExecCmdInsertHTML(element, html);
}

function handleChosenDocument(element, html, doc_id, description, full_filename)
{
	NickEdit_ExecCmdInsertHTML(element, html);
}

function PasteFromWord(element, html)
{
	NickEdit_ExecCmdInsertHTML(element, html);
}