// set display of favorite links
function setFavorites(canFavorite, isFavorite) {
	// display approriate favorite link
	if (canFavorite == 1) {
		if (isFavorite == 1) {
			$('deleteFavorite').style.display = 'block';
			$('addFavorite').style.display = 'none';
		} else {
			$('deleteFavorite').style.display = 'none';
			$('addFavorite').style.display = 'block';
		}
	}
}

// hide form input fields
function hideFields(mode, hiddenField) {
	if (mode == 'create' && hiddenField == '') {
		$('textinput').style.display = 'none';
		$('fileupload').style.display = 'none';
	} else {
		$(hiddenField).style.display = 'none';
	}
}

// show form input field
function showField(f) {
	if (f.value == 'textinput') {
		$('textinput').style.display = 'block';
		$('fileupload').style.display = 'none';
	} else if (f.value == 'fileupload') {
		$('textinput').style.display = 'none';
		$('fileupload').style.display = 'block';
	} else {
		$('textinput').style.display = 'none';
		$('fileupload').style.display = 'none';
	}
}

// flip the display of a link
function flipLink(nodeID) {
	node = $(nodeID);	// NOTE: relying on prototype.js shorthand $()
	//alert ('flipping node ' + nodeID + ' current style=' + node.style.display);
	if (node.style.display == 'block') {
		node.style.display = 'none';
	} else {
		node.style.display = 'block';
	}
}

// update content
function updateit(target, id, type, mode) {
	if ( target == 'content' && mode == 'delete') {
		confirm = window.confirm('Delete this content forever?'); // NEEDS TO BE LANGUAGE INDEPENDENT
		if (confirm == true) {
			var postData = 'vi=delete-content' + '&id=' + id;
			var myAjax = new Ajax.Request('?',{method: 'post', postBody: postData});	// CHECK IF URL WORKS ON REMOTE SERVER
		}
	} else {
		var postData = 'vi=edit-' + target + '&id=' + id + '&type=' + type + '&mode=' + mode;
		//alert ('updateit: target= ' + target + ' id= ' +  id + ' & type= ' + type + ' & mode= ' + mode + ' & postData=' + postData);
		var myAjax = new Ajax.Request('?',{method: 'post', postBody: postData, onComplete: respond.bindAsEventListener(this)});
	}
}

// update content
function sendpassword() {
	//alert ('sendpassword:email=' + $('email').value);
	var postData = 'vi=edit-user&mode=password&email=' + $('email').value;
	var myAjax = new Ajax.Request('?',{method: 'post', postBody: postData, onComplete: respond.bindAsEventListener(this)});
}

// process server response
function respond(response) {
	try {
		var data = eval( "(" + response.responseText + ")" );
	}
	catch (exception) {
		//alert ('respond: exception: ' + exception.name + ' = ' + exception.message + ' & responseText= ' + response.responseText);
		alert ('respond: exception: ' + exception.name + ' = ' + exception.message);
	}
	//alert ('respond:data=' + data);
	//alert ('respond:text=' + response.responseText);
	//alert ('respond: data[messages].length=' + data['messages'].length);
	// display messages from list
	if (data['messages'] != null && data['messages'].length > 0) {
		var msg = '';
		for (var i = 0; i < data['messages'].length; i++) {
			msg += data['messages'][i];
		}
		alert (msg);
	}
	//alert ('respond: success= ' + data['success'] + ' flipLink.length =' + data['flipLink'].length);
	// do something based on success or failure
	if (data['success'] == 1) {
		// flip display of supplied links, if required
		if (data['flipLink'] != null && data['flipLink'].length > 0) {
			for (var i = 0; i < data['flipLink'].length; i++) {
				flipLink(data['flipLink'][i]);
			}
		}
	} else {
		// server process failed to execute
		alert ('oops ... server side error!');// NEEDS TO BE LANGUAGE INDEPENDENT
	}
	// refresh page, if required
	if (data['refresh'] == 1) {
		parent.frames[0].location.reload(true);
	}
}

