function unblur() {
this.blur();
}

function getLinksToBlur() {
if (!document.getElementById) return
links = document.getElementsByTagName("a");
for(i=0; i<links.length; i++) {
links[i].onfocus = unblur
}
}

function collapse(area,button) {
	area.style.display = "none";
	button.className = "expand";
}

function expand(area,button) {
	area.style.display = "block";
	button.className = "collapse";
}

function toggleVisible(area,button) {
	var divArea = document.getElementById(area);
	
	if(divArea.style.display == "none") {
		expand(divArea,button);
	} else {
		collapse(divArea,button);
	}
}

function focusTab(tab) {
	// Unfocus all tabs
	try {
		document.getElementById('tab_featured').className="";
		document.getElementById('tab_upload').className="";
		document.getElementById('tab_search').className="";
		document.getElementById('tab_stats').className="";
	} catch(e) {
		// We don't really care if something failed here
	} finally {
		// Focus current tab
		document.getElementById(tab).className="active";
	}
}

function isEmpty(elem,msg) {
	try {
		if(elem.value.length == 0) {
			// Display error message
			var divError = document.getElementById('error');
			divError.innerHTML = msg;
			divError.style.display = 'block';
			// Focus
			elem.focus();
			return true;
		}
	} catch(e) {
		return false;
	}
	return false;
}

function validate_email(field)
{
	with (field)
	{
		apos=value.indexOf("@")
		dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2) 
		  {return false}
		else {return true}
	}
}

function checkUploadForm(loggedin) {
	var divError = document.getElementById('error');
	divError.style.display = 'none';
	// Check that they want to upload as anon (if anon)
	if(!loggedin) {
		var conf = confirm('Are you sure you wish to upload as anonymous?')
		if(!conf)
			return false;
	}
	// Get form elements
	var title = document.F1Upload.title;
	var descr = document.F1Upload.description;
	var tags = document.F1Upload.tags;
	var file = document.F1Upload.field_upload;
	// Check for validity
	if(isEmpty(title,'Please specify a title') || isEmpty(descr,'Please specify a description') || isEmpty(tags,'Please enter some tags') || isEmpty(file,'Please specify a file')) {
		return false;
	}
	// Get checked categories
	var cats = document.F1Upload['cats[]'];
	var cats_checked = 0;
	for(i = 0; i < cats.length; i++) {
		if(cats[i].checked) {
			cats_checked++;
		}
	}
	if(cats_checked < 1) {
		divError.innerHTML = 'Please select a category';
		divError.style.display = 'block';
		return false;
	} else if(cats_checked > 3) {
		divError.innerHTML = 'Please select only three categories';
		divError.style.display = 'block';
		return false;
	}
	// Validate file format
	// Will have to be done in upload script...unfortunately
	
	// Show status
	var upStatus = document.getElementById('uploadstatus');
	upStatus.innerHTML = '<img src="templates/images/ajax-loader.gif" border="0" />';
	upStatus.style.visibility = 'visible';
	// Checked out ok, done
	return true;
}

function doSearch() {
	var query = document.search.query;
	var types = document.search.type;
	
	if(isEmpty(query,'Please provide a query')) {
		return false;
	}
	
	urlquery = escape(query.value);
	
	window.location = 'media.php?type='+types.value+'&query='+urlquery;
	return false;
}

function checkRegister() {
	var divError = document.getElementById('error');
	divError.style.display = 'none';
	// Get form elements
	var email = document.register.email;
	var user = document.register.username;
	var pass = document.register.password;
	var cpass = document.register.confirmpass;
	
	try {
		var birthmonth = document.register['bday[Date_Month'];
		var birthday = document.register['bday[Date_Day'];
		var birthyear = document.register['bday[Date_Year'];
	} catch(e) {
		return false;
	}
	// Make sure nothing is empty
	if(isEmpty(email,'Please provide an email address') || isEmpty(user,'Please choose a username') || isEmpty(pass,'Please pick a password')) {
		return false;
	}
	// Validate email
	if(!validate_email(email)) {
		divError.innerHTML = 'Please enter a valid email address.';
		divError.style.display = 'block';
		return false;
	}
	// Validate username
	
	// Validate password
	if(pass.value != cpass.value) {
		divError.innerHTML = 'The password you chose does not match.';
		divError.style.display = 'block';
		return false;
	}
	
	return true;
}

function changePass() {
	var divError = document.getElementById('error');
	divError.style.display = 'none';
	
	var pass = document.changepass.pass;
	var conf = document.changepass.confirm;
	
	if(isEmpty(pass,'Please enter something to change your password to.')) {
		return false;
	}
	if(pass.value != conf.value) {
		divError.innerHTML = 'The password you entered does no match.';
		divError.style.display = 'block';
		return false;
	}
	
	makeRequest('ajax/setting.php?action=changepass&value='+pass.value, null);
	return true;
}

function showAdvancedSearch() {
	advsearch = document.getElementById('advsearch');
	show = advsearch.style.display;
	
	if(show == 'none')
		advsearch.style.display = 'block';
	else
		advsearch.style.display = 'none';
}
