$(document).ready(function(){
	$('#b_start').click(start_benchmark);
});

function t() {
	var time = new Date();
	return time.getTime();
}


function start_benchmark (){

	$('#out').html('jQuery-version ist: '+$().jquery);

	var Todaydate = new Date();
	var s = t();
	var string='<table>';
	for(x=1;x<=400;x=x+1) {
		string +=  '<tr>';
			for(y=1;y<=30;y=y+1) {
				string +=  '<td>tablecell</td>';
			}
		string +=  '</tr>';
	}
	string += '</table>';

	var testcount = 1

	$('#out').append('<br />test '+testcount+' filling page with large table : ');
	alert('start');

	s = t();
	$('#content').html(string);
	$('#out').append((t()-s)+'ms');

	testcount++;
	$('#out').append('<br />test '+testcount+' overwriting large table with new large table : ');
	alert('next');

	s = t();
	$('#content').html(string);
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' .empty() on container (deleting large table) : ');
	alert('next');

	s = t();
	$('#content').empty();
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' adding table again (to empty container) : ');
	alert('next');

	s = t();
	$('#content').html(string);
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' adding a class to all cells using addClass(&quot;class&quot;) : ');
	alert('next');

	s = t();
	$('#content td').addClass('class');
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' adding a 2nd class to all cells using addClass(&quot;class2&quot;) : ');
	alert('next');

	s = t();
	$('#content td').addClass('class2');
	$('#out').append((t()-s)+'ms');

	testcount++;
	$('#out').append('<br />test '+testcount+' removing a class from all cells using removeClass(&quot;class&quot;) : ');
	alert('next');

	s = t();
	$('#content td').removeClass('class');
	$('#out').append((t()-s)+'ms');

	testcount++;
	$('#out').append('<br />test '+testcount+' setting a class via attr() : ');
	alert('next');

	s = t();
	$('#content td').attr('class','new');
	$('#out').append((t()-s)+'ms');

	testcount++;
	$('#out').append('<br />test '+testcount+' changing content of every cell with html() : ');
	alert('next');


	s = t();
	$('#content td').html('new');
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' bind avents to every cell : ');
	alert('next (takes some seconds)');

	s = t();
	$('#content td').click(function(){alert('X');});
	$('#out').append((t()-s)+'ms');


	testcount++;
	$('#out').append('<br />test '+testcount+' remove table with all the events using empty() again : ');
	if($().jquery=='1.4') {
		alert('next');
	} else {
		alert('next (takes some seconds)');
	}

	s = t();
	$('#content').empty();
	$('#out').append((t()-s)+'ms');
}
