var messagetimeout;

function swxMessage(message,time) {
	clearTimeout(messagetimeout);
	document.getElementById('prod_message_text').innerHTML = message;
	messagetimeout = setTimeout('swxProdRemoveMessage();', time);
}

function swxRemoveMessage() {
	clearTimeout(messagetimeout);
	opacity('prod_message_text', 100, 0, 500);
	setTimeout("document.getElementById('prod_message_text').innerHTML = '&nbsp;';", 500);
}


function swxTabs(name) {
	var tabs = document.getElementById('tabs').value.split(';;');
	for(var i = 0; i < tabs.length; i++) {
		var tab = tabs[i].split(';');
		if (tab[0] == name) {
			document.getElementById('swx_tab_'+tab[0]).className = 'active';
			document.getElementById('swx_tab_'+tab[0]).innerHTML = '<span id="tab_'+tab[0]+'_container">'+tab[1]+'</span>';
			document.getElementById('current_tab').value = tab[0];
			
			document.getElementById('swx_block_'+tab[0]).style.display = 'block';
		}
		else {
			document.getElementById('swx_tab_'+tab[0]).className = '';
			document.getElementById('swx_tab_'+tab[0]).innerHTML = '<a href="javascript:swxTabs(\''+tab[0]+'\');" id="tab_'+tab[0]+'_container">'+tab[1]+'</a>';
			document.getElementById('swx_block_'+tab[0]).style.display = 'none';
		}
	}
}

function swxChangeSearchResultsPerPage(area) {
	if (area == 'image') {
		document.location='search.php?query='+document.getElementById('image_search_input').value+'&img_view='+document.getElementById('image_search_results_per_page').value+'&tab=image';
	}
	else if (area == 'document') {
		document.location='search.php?query='+document.getElementById('document_search_input').value+'&doc_view='+document.getElementById('document_search_results_per_page').value+'&tab=document';
	}
}

function swxChangeSpotlightsPerPage() {
	document.location='spotlight.php?view='+document.getElementById('spotlights_per_page').value;
}

function toggle(idname) {
	document.getElementById(idname).style.display = (document.getElementById(idname).style.display == 'none') ? '' : 'none';
}

function hide(idname) {
	document.getElementById(idname).style.display = 'none';
}

function show(idname) {
	document.getElementById(idname).style.display = '';
}

function swxTextareaLength(id,char_length,line_height) {
	var default_height = 19;
	var default_length = 70;
	if (!char_length) {
		char_length = default_length;
	}
	if (!line_height) {
		line_height = default_height;
	}
	var height;
	if (document.getElementById(id).value.length > char_length) {
		height = (Math.ceil(((document.getElementById(id).value.length)/char_length))*line_height);
	}
	else {
		height = line_height;
	}
	var breaks = document.getElementById(id).value.split("\n");
	if (breaks.length > 1) {
		height = parseInt(height) + (line_height * (breaks.length - 1));
	}
	document.getElementById(id).style.height = height+"px";
}

function isInteger(s) {
	var i;
	if (isEmpty(s))
	if (isInteger.arguments.length == 1) return 0;
	else return (isInteger.arguments[1] == true);
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}
function isDigit (c) {
	return ((c >= "0") && (c <= "9"))
}
function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

function swxLoginSubmit() {
	if (document.getElementById('login_username').value == '' || document.getElementById('login_password').value == '') {
		document.getElementById('prod_message_text').innerHTML = 'Please fill in both Username and Password.';
		show('prod_messages');
		return false;
	}
	else {		
		return true;
	}
}

function swxSignupSubmit() {
	if (document.getElementById('signup_lastname').value == '' || document.getElementById('signup_firstname').value == '' || document.getElementById('signup_email').value == '' || document.getElementById('signup_emailc').value == '' || document.getElementById('signup_username').value == '' || document.getElementById('signup_password').value == '' || document.getElementById('signup_passwordc').value == '') {
		document.getElementById('prod_message_text').innerHTML = 'Please fill out all fields.';
		show('prod_messages');
		return false;
	}
	else if (document.getElementById('signup_email').value != document.getElementById('signup_emailc').value) {
		document.getElementById('prod_message_text').innerHTML = 'Please reenter your email address.';
		show('prod_messages');
		return false;
	}
	else if (document.getElementById('signup_password').value != document.getElementById('signup_passwordc').value) {
		document.getElementById('prod_message_text').innerHTML = 'Please reenter your password.';
		show('prod_messages');
		return false;
	}
	else {		
		return true;
	}
}

function swxUpdateSubmit() {
	if (document.getElementById('update_lastname').value == '' || document.getElementById('update_firstname').value == '' || document.getElementById('update_email').value == '' || document.getElementById('update_emailc').value == '' || document.getElementById('update_username').value == '') {
		document.getElementById('prod_message_text').innerHTML = 'Please fill out all fields.';
		show('prod_messages');
		return false;
	}
	else if (document.getElementById('update_email').value != document.getElementById('update_emailc').value) {
		document.getElementById('prod_message_text').innerHTML = 'Please reenter your email address.';
		show('prod_messages');
		return false;
	}
	else {		
		return true;
	}
}

function swxUpdatePasswordSubmit() {
	if (document.getElementById('update_passwordo').value == '' || document.getElementById('update_password').value == '' || document.getElementById('update_passwordc').value == '') {
		document.getElementById('prod_message_text').innerHTML = 'Please fill out all fields.';
		show('prod_messages');
		return false;
	}
	else if (document.getElementById('update_password').value != document.getElementById('update_passwordc').value) {
		document.getElementById('prod_message_text').innerHTML = 'Please reenter your password.';
		show('prod_messages');
		return false;
	}
	else {		
		return true;
	}
}

////Bookmarks!////

function swxAddBookmark(type) {
	if (type == 'search') {
		var query = document.getElementById('document_search_input').value;
		var tab = document.getElementById('current_tab').value;
		var results_per_page = document.getElementById(tab+'_per_page').value;
		var page = document.getElementById(tab+'_page').value;
		var type = 'search';
		document.bookmark_form.bookmark_query.value = query;
		document.bookmark_form.bookmark_tab.value = tab;
		document.bookmark_form.bookmark_results_per_page.value = results_per_page;
		document.bookmark_form.bookmark_page.value = page;
		document.bookmark_form.bookmark_type.value = type;
		document.bookmark_form.submit();
	}
	else if (type == 'record') {
		var tab = document.getElementById('current_tab').value;
		document.bookmark_form.bookmark_tab.value = tab;
		document.bookmark_form.submit();
	}
	else if (type == 'footpath') {
		var type = 'footpath';
	}

}

function swxRemoveBookmark(bookmark_number) {
	document.remove_bookmark_form.bookmark_remove_number.value = bookmark_number;
	document.remove_bookmark_form.submit();
}

function swxBookmarkNewFolder() {
	var folder = document.getElementById('bookmark_folder_new_title_edit').value;
	if (folder == '') {
		document.getElementById('prod_message_text').innerHTML = 'Please enter a folder title.';
		show('prod_messages');
	}
	else {
		document.folder_new_form.submit();	
	}
}

function swxBookmarkEditComment(bookmark_number) {
	var comment = document.getElementById('bookmark_'+bookmark_number+'_comments_original').value;
	var char_length = 50;
	var line_height = 17;
	height = (Math.ceil(((comment.length)/char_length))*line_height);
	var breaks = comment.split("\n");
	if (breaks.length > 1) {
		height = parseInt(height) + (line_height * (breaks.length - 1));
	}
	if (height < line_height) {
		height = line_height;
	}
	document.getElementById('bookmark_'+bookmark_number+'_comment_container').innerHTML = '<form action="" method="POST" name="bookmark_'+bookmark_number+'_comment_form" id="bookmark_'+bookmark_number+'_comment_form"><textarea name="bookmark_comment" id="bookmark_'+bookmark_number+'_comment" onkeyup="swxTextareaLength(\'bookmark_'+bookmark_number+'_comment\',\'50\',\'17\');" style="height:'+height+'px;">'+comment+'</textarea><input type="hidden" name="bookmark_number" value="'+bookmark_number+'" /></a>';
	document.getElementById('bookmark_'+bookmark_number+'_comment_buttons').innerHTML = '<a href="javascript:swxBookmarkCommentUpdate('+bookmark_number+');">Update</a> <a href="javascript:swxBookmarkCancelComment('+bookmark_number+');">Cancel</a>';
	document.getElementById('bookmark_'+bookmark_number+'_sort_comtainer').style.display = '';
	document.getElementById('bookmark_'+bookmark_number+'_delete_comtainer').style.display = '';
}

function swxBookmarkCancelComment(bookmark_number) {
	var comment = document.getElementById('bookmark_'+bookmark_number+'_comments_original').value;
	document.getElementById('bookmark_'+bookmark_number+'_comment_container').innerHTML = comment;
	document.getElementById('bookmark_'+bookmark_number+'_comment_buttons').innerHTML = '<a href="javascript:swxBookmarkEditComment('+bookmark_number+');">Add/Modify</a>';
	document.getElementById('bookmark_'+bookmark_number+'_sort_comtainer').style.display = 'none';
	document.getElementById('bookmark_'+bookmark_number+'_delete_comtainer').style.display = 'none';
}

function swxBookmarkCommentUpdate(bookmark_number) {
	document.getElementById('bookmark_'+bookmark_number+'_comment_form').submit();
}

function swxBookmarkDelete(bookmark_number) {
	if (confirm('Are you sure you want to delete this bookmark?')) {
		document.bookmark_delete_form.bookmark_delete.value = bookmark_number;
		document.bookmark_delete_form.submit();
	}
}

function swxBookmarkFolderDelete(folder_number) {
	if (document.getElementById('folder_'+folder_number+'_delete_contents').checked == true) {	
		if (confirm('Are you sure you want to delete this folder and all its contents?')) {
			var form = 'folder_'+folder_number+'_delete_form';
			document.getElementById(form).folder_delete_contents.value = 'yes';
			document.getElementById(form).submit();
		}
	}
	else if (document.getElementById('folder_'+folder_number+'_delete_contents').checked == false) {
		if (confirm('Are you sure you want to delete this folder?')) {
			var form = 'folder_'+folder_number+'_delete_form';
			document.getElementById(form).folder_delete_contents.value = 'no';
			document.getElementById(form).submit();
		}
	}
}

function swxBookmarkFolderChange(bookmark_number) {
	if (document.getElementById('bookmark_'+bookmark_number+'_folder_form').bookmark_folder.value != "") {
		document.getElementById('bookmark_'+bookmark_number+'_folder_form').submit();
	}
}

function swxBookmarkSortChange(bookmark_number) {
	if (document.getElementById('bookmark_'+bookmark_number+'_sort_form').bookmark_sort.value != "") {
		document.getElementById('bookmark_'+bookmark_number+'_sort_form').submit();
	}
}

function swxBookmarkLiveTitleUpdate(folder_number) {
	var value = document.getElementById('bookmark_folder_'+folder_number+'_title_edit').value;
	if (value.length > 30)
		{
		value = value.substring(0,30);
		}
	document.getElementById('bookmark_folder_'+folder_number+'_title').innerHTML = value;
}
