// JW Player Setup and Listener Event handlers

function getPlayerNumber(stringNum) {
	var parsedNo = "";
	for(var n=0; n<stringNum.length; n++) {
		var i = stringNum.substring(n,n+1);
		if(i >= 0 && i <= 9) parsedNo += i;
	}
	return parseInt(parsedNo);
}

function playerReady(thePlayer) {
	player = window.document[thePlayer.id];
	player.addModelListener("TIME", "jwTimeMonitor");
	player.addModelListener("STATE", "stateListener");
}

function stateListener(obj) {
	var id = getPlayerNumber(obj.id);
	var state = obj.newstate;
	if(state == "IDLE" || state == "PAUSED" || state == "COMPLETED") {
		$('playbutton'+id).innerHTML = 'Play';
	} else {
		$('playbutton'+id).innerHTML = 'Pause';
	}
}

function jwTimeMonitor(obj) {
	player = window.document[obj.id];
	var id = getPlayerNumber(obj.id);
	var position = obj.position;
	var duration = $(obj.id).getPlaylist()[0].duration;
	var percentage = Math.round((position/duration)*100) + '%';
	if(percentage == '100%') percentage = 'End';
	$('time'+id).innerHTML = percentage;
}

jQuery(document).ready(function() {
	$("#accordion").accordion({
		clearStyle: true,

	});
});

// Validation of the search form
function checkSearch(form) {
	with(form) {
		if(q.value == "") {
			alert("Please enter a search term.");
			q.focus();
			return false;
		} else if(!st[0].checked && !st[1].checked) {
			st[0].focus();
			alert("Please choose whether you would like to search the site or just Web 2.0 products.");
			return false;
		}
	}
}

// Review site functions

function handleReviewProduct(select) {
	if(select.value == -1) {
		setSiteFormControls(false, null, null, null);
		$('#s_version').show();
	} else {
		$(select).attr('disabled', 'disabled').next('.ajaxThrobber').show();
		$.getJSON("/ajax/index.php?q=getProduct&product="+select.value, function(product) {
			setSiteFormControls(true, product.name, product.url, product.description);
			return false;
		});
		$(select).removeAttr('disabled').next('.ajaxThrobber').hide();
		$('#s_version').show();
	}
}

function handleReviewPlatform(select) {
	setSiteFormControls(false, null, null, null);
	if(select.value == -1) {
		$('#s_selectProduct').attr("disabled", 'disabled');
		$("#reviewProductForm input[type='text'],#reviewProductForm textarea").css("visibility", 'hidden');
	} else {
		$('#s_selectProduct').attr("disabled", 'disabled');
		$(select).attr('disabled', 'disabled').next('.ajaxThrobber').show();
		$.getJSON("/ajax/index.php?q=listproducts&platform="+select.value, function(products) {
			var options = "<option value='-1'>Create New</option>";
			for (var i = 0; i < products.length; i++) options += '<option value="' + products[i].id + '">' + products[i].name + '</option>';
			$("select#s_selectProduct").html(options);
			return false;
		});
		$("#reviewProductForm input[type='text'],#reviewProductForm textarea").css("visibility", 'visible');
		$(select).removeAttr('disabled').next('.ajaxThrobber').hide();
		$('#s_selectProduct').removeAttr("disabled").css("visibility", "visible");
		$('#s_version').css("visibility", 'visible');
	}
}

function setSiteFormControls(disable, name, url, description) {
	$('#s_name').attr('disabled', disable);
	if(name == null) name = "";
	$('#s_name').attr('value', name);

	$('#s_url').attr('disabled', disable);
	if(url == null) url = "";
	$('#s_url').attr('value', url);

	$('#s_description').attr('disabled', disable);
	if(description == null) description = "";
	$('#s_description').attr('value', description);
}

function validateReviewTest(form) {
	with(form) {
		if(validateForm) {
			scoreValid = false;
			for (i = score.length-1; i > -1; i--) if (score[i].checked) scoreValid = true;

			if (!scoreValid) {
				alert("You must set a score before proceeding.");
				return false;
			}
			
			if(!summary.value) {
				alert("You must briefly explain your score selection.");
				summary.focus();
				return false;
			}
		}
	}
	return true;
}

function validateWebsiteSummaryForm(form) {
	if(!$('#r_summary').val()) {
		alert("You must provide a summary before proceeding.");
		form.r_summary.focus();
		return false;
	}
	return true;
}