$(function() {
	$("a[rel='null']").click(function() {
		return false;
	});

	$.postJSON = function(url, data, callback) {
		$.post(url, data, callback, "json");
	};

	$(document).pngFix();

	$('#keyword').val("")
				.focus(function() {
					$('#search-options').fadeIn();
				})
				.keypress(function(e) {
					var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
					if (keyCode == 13) {
						do_search();
						return false;
					} else {
						return true;
					}
				});
	
	$('#button-search').click(function() {
		do_search();
		return false;
	});

	$('#search-options a[rel="close"]').click(function() {
		$('#search-options').fadeOut();
		return false;
	});

	$('#link_login').click(function() {
		$('#userlogin').slideDown();
		return false;
	});

	$('#userlogin a[rel="close"]').click(function() {
		$('#userlogin').slideUp();
		return false;
	});

	$('#login').click(function() {
		$.postJSON(sitepath + 'authenticate/login', $('#frm_login').serialize(),
		function(data) {
			if(data.error == true) {
				alert(data.message);
			} else {
				var htm = "Hello <b>" + data.user.user_name + "</b> - ";
				htm += (data.user.user_role == 'Admin') ? "<a href=\"admin\" title=\"Control Panel\">CP</a> | " : "";
				htm += "<a href=\"account.html\" title=\"Account\">Account</a> | ";
				htm += "<a href=\"logout.html\" title=\"Logout\" id=\"link_register\">Logout</a>";
				
				$('#userlogin').fadeOut();
				$('#userline').html(htm);
			}
		});
		return false;
	});
});

function random_string() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for ( var i = 0; i < string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum, rnum + 1);
	}
	return randomstring;
}

function smiley(symbol) {
	document.getElementById('cmtext').value += " " + symbol;
	return false;
}

function counttext(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
	} else {
		countfield.value = maxlimit - field.value.length;
	}
}

function decode_string(text) {
	var str = $.trim(text);

	str = str.replace(/\u00E1/g, 'a');
	str = str.replace(/\u00C1/g, 'a');
	str = str.replace(/\u00E0/g, 'a');
	str = str.replace(/\u00C0/g, 'a');
	str = str.replace(/\u1EA3/g, 'a');
	str = str.replace(/\u1EA2/g, 'a');
	str = str.replace(/\u00E3/g, 'a');
	str = str.replace(/\u00C3/g, 'a');
	str = str.replace(/\u1EA1/g, 'a');
	str = str.replace(/\u1EA0/g, 'a');
	str = str.replace(/\u0103/g, 'a');
	str = str.replace(/\u0102/g, 'a');
	str = str.replace(/\u1EAF/g, 'a');
	str = str.replace(/\u1EAE/g, 'a');
	str = str.replace(/\u1EB1/g, 'a');
	str = str.replace(/\u1EB0/g, 'a');
	str = str.replace(/\u1EB3/g, 'a');
	str = str.replace(/\u1EB2/g, 'a');
	str = str.replace(/\u1EB5/g, 'a');
	str = str.replace(/\u1EB4/g, 'a');
	str = str.replace(/\u1EB7/g, 'a');
	str = str.replace(/\u1EB6/g, 'a');
	str = str.replace(/\u00E2/g, 'a');
	str = str.replace(/\u00C2/g, 'a');
	str = str.replace(/\u1EA5/g, 'a');
	str = str.replace(/\u1EA4/g, 'a');
	str = str.replace(/\u1EA7/g, 'a');
	str = str.replace(/\u1EA6/g, 'a');
	str = str.replace(/\u1EA9/g, 'a');
	str = str.replace(/\u1EA8/g, 'a');
	str = str.replace(/\u1EAB/g, 'a');
	str = str.replace(/\u1EAA/g, 'a');
	str = str.replace(/\u1EAD/g, 'a');
	str = str.replace(/\u1EAC/g, 'a');
	str = str.replace(/\u00E9/g, 'e');
	str = str.replace(/\u00C9/g, 'e');
	str = str.replace(/\u00E8/g, 'e');
	str = str.replace(/\u00C8/g, 'e');
	str = str.replace(/\u1EBB/g, 'e');
	str = str.replace(/\u1EBA/g, 'e');
	str = str.replace(/\u1EBD/g, 'e');
	str = str.replace(/\u1EBC/g, 'e');
	str = str.replace(/\u1EB9/g, 'e');
	str = str.replace(/\u1EB8/g, 'e');
	str = str.replace(/\u00EA/g, 'e');
	str = str.replace(/\u00CA/g, 'e');
	str = str.replace(/\u1EBF/g, 'e');
	str = str.replace(/\u1EBE/g, 'e');
	str = str.replace(/\u1EC1/g, 'e');
	str = str.replace(/\u1EC0/g, 'e');
	str = str.replace(/\u1EC3/g, 'e');
	str = str.replace(/\u1EC2/g, 'e');
	str = str.replace(/\u1EC5/g, 'e');
	str = str.replace(/\u1EC4/g, 'e');
	str = str.replace(/\u1EC7/g, 'e');
	str = str.replace(/\u1EC6/g, 'e');
	str = str.replace(/\u00ED/g, 'i');
	str = str.replace(/\u00CD/g, 'i');
	str = str.replace(/\u00EC/g, 'i');
	str = str.replace(/\u00CC/g, 'i');
	str = str.replace(/\u1EC9/g, 'i');
	str = str.replace(/\u1EC8/g, 'i');
	str = str.replace(/\u0129/g, 'i');
	str = str.replace(/\u0128/g, 'i');
	str = str.replace(/\u1ECB/g, 'i');
	str = str.replace(/\u1ECA/g, 'i');
	str = str.replace(/\u00F3/g, 'o');
	str = str.replace(/\u00D3/g, 'o');
	str = str.replace(/\u00F2/g, 'o');
	str = str.replace(/\u00D2/g, 'o');
	str = str.replace(/\u1ECF/g, 'o');
	str = str.replace(/\u1ECE/g, 'o');
	str = str.replace(/\u00F5/g, 'o');
	str = str.replace(/\u00D5/g, 'o');
	str = str.replace(/\u1ECD/g, 'o');
	str = str.replace(/\u1ECC/g, 'o');
	str = str.replace(/\u01A1/g, 'o');
	str = str.replace(/\u01A0/g, 'o');
	str = str.replace(/\u1EDB/g, 'o');
	str = str.replace(/\u1EDA/g, 'o');
	str = str.replace(/\u1EDD/g, 'o');
	str = str.replace(/\u1EDC/g, 'o');
	str = str.replace(/\u1EDF/g, 'o');
	str = str.replace(/\u1EDE/g, 'o');
	str = str.replace(/\u1EE1/g, 'o');
	str = str.replace(/\u1EE0/g, 'o');
	str = str.replace(/\u1EE3/g, 'o');
	str = str.replace(/\u1EE2/g, 'o');
	str = str.replace(/\u00F4/g, 'o');
	str = str.replace(/\u00D4/g, 'o');
	str = str.replace(/\u1ED1/g, 'o');
	str = str.replace(/\u1ED0/g, 'o');
	str = str.replace(/\u1ED3/g, 'o');
	str = str.replace(/\u1ED2/g, 'o');
	str = str.replace(/\u1ED5/g, 'o');
	str = str.replace(/\u1ED4/g, 'o');
	str = str.replace(/\u1ED7/g, 'o');
	str = str.replace(/\u1ED6/g, 'o');
	str = str.replace(/\u1ED9/g, 'o');
	str = str.replace(/\u1ED8/g, 'o');
	str = str.replace(/\u00FA/g, 'u');
	str = str.replace(/\u00DA/g, 'u');
	str = str.replace(/\u00F9/g, 'u');
	str = str.replace(/\u00D9/g, 'u');
	str = str.replace(/\u1EE7/g, 'u');
	str = str.replace(/\u1EE6/g, 'u');
	str = str.replace(/\u0169/g, 'u');
	str = str.replace(/\u0168/g, 'u');
	str = str.replace(/\u1EE5/g, 'u');
	str = str.replace(/\u1EE4/g, 'u');
	str = str.replace(/\u01B0/g, 'u');
	str = str.replace(/\u01AF/g, 'u');
	str = str.replace(/\u1EE9/g, 'u');
	str = str.replace(/\u1EE8/g, 'u');
	str = str.replace(/\u1EEB/g, 'u');
	str = str.replace(/\u1EEA/g, 'u');
	str = str.replace(/\u1EED/g, 'u');
	str = str.replace(/\u1EEC/g, 'u');
	str = str.replace(/\u1EEF/g, 'u');
	str = str.replace(/\u1EEE/g, 'u');
	str = str.replace(/\u1EF1/g, 'u');
	str = str.replace(/\u1EF0/g, 'u');
	str = str.replace(/\u00FD/g, 'y');
	str = str.replace(/\u00DD/g, 'y');
	str = str.replace(/\u1EF3/g, 'y');
	str = str.replace(/\u1EF2/g, 'y');
	str = str.replace(/\u1EF7/g, 'y');
	str = str.replace(/\u1EF6/g, 'y');
	str = str.replace(/\u1EF9/g, 'y');
	str = str.replace(/\u1EF8/g, 'y');
	str = str.replace(/\u1EF5/g, 'y');
	str = str.replace(/\u1EF4/g, 'y');
	str = str.replace(/\u0110/g, 'd');
	str = str.replace(/\u0111/g, 'd');
	str = str.replace(/'/g, "");
	str = str.replace(/"/g, "");
	
	str = str.replace(/ /g, "-");
	
	return str;
}

function do_search() {
	var type = "all";
	var keyword = $.trim($('#keyword').val());
	if (keyword.length < 3) {
		return false;
	}
	
	if($('#search_name').is(':checked') && $('#search_artist').is(':checked')) {
		type = "both";
	} else if ($('#search_name').is(':checked')) {
		type = "movie";
	} else if ($('#search_artist').is(':checked')) {
		type = "artist";
	}
	
	query = decode_string(keyword) + ".html";
	window.location.href = sitepath + "results-" + type + "-" + query;
}

function handleEnter(field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		do_search();
		return false;
	} else {
		return true;
	}
}
