$(document).ready(function() {
	$("#validate-rdfa-by-val").click(function () { 
		validateRDFaByValue();
	});
	
	$("#validate-rdfa-by-ref").click(function () { 
		validateRDFaByReference();
	});
	
	$("#showall").click(function () { 
		$(".validattrib").toggle("normal"); 
	});
	
	$("#filter-results").click(function () {
		var term = $("#filter").val();
		
		$("#result div").each(function() {
				$(this).hide();
		});

		$("#result div:contains('" + term + "')").show();
	 });
	
	$("#filter-results-reset").click(function () {
		$("#result div").each(function() {
				$(this).show();
		});
	 });
 });

	
function validateRDFaByValue(){
	var rdfacode = $("#rdfacode").val();
		
	setStatus("validating fragment");
	
	$.ajax({
		type: "POST",
		url: "vrdfa.php",
		data: "frag=" + rdfacode  + "&format=json",
		dataType : "json",
		success: function(data){
			$('#result').html("");
			$.each(data, function(i, item){
				if(item.status == 'valid') result = "validattrib";
				else result = "invalidattrib";
				$('#result').append($("<div class='" + result +"'>" + item.line + ": " + item.markup + "<p> expected <strong>" + 
				                                item.expected + "</strong> for <strong>@" + item.attrib + "</strong> and found '<strong>" + item.attribvalue +
				 								"</strong>' which is a <strong>" + item.result + "</strong> (" + item.status + ") </p></div>"));
			});
			$('#result').show("normal");
		},
		error:  function(msg){
			alert(data);
		} 
	});

}

function validateRDFaByReference(){
	var rdfaURI = $("#rdfauri").val();
		
	setStatus("validating " + rdfaURI);

	$.ajax({
		type: "GET",
		url: "vrdfa.php",
		data: "URI=" + rdfaURI  + "&format=json",
		dataType : "json",
		success: function(data){
			$('#result').html("");
			$.each(data, function(i, item){
				if(item.status == 'valid') result = "validattrib";
				else result = "invalidattrib";
				$('#result').append($("<div class='" + result +"'>" + item.line + ": " + item.markup + "<p> expected <strong>" + 
				                                item.expected + "</strong> for <strong>@" + item.attrib + "</strong> and found '<strong>" + item.attribvalue +
				 								"</strong>' which is a <strong>" + item.result + "</strong> (" + item.status + ") </p></div>"));
			});
			$('#result').show("normal");
		},
		error:  function(msg){
			alert(data);
		} 
	});	
}

function setStatus(msg){
		$('#result').text(msg);
}
