function setBytesIn() {
	var code=document.getElementById('i_code').value;
	var box=document.getElementById('i_bytes');
	box.value=code.length;
}

function runCompression() {
	setBytesIn();
	var code=document.getElementById('i_code').value;

	var commentRegex='';
	//strip comments ?
	if (document.getElementById("strip_comments").checked) {
		commentRegex='\\/\\*.*?\\*\\/';
	}

	//strip long comments ?
	if (document.getElementById("strip_long_comments").checked) {
		commentRegex='\\/\\*.{'+document.getElementById("long_comments_length").value+',}?\\*\\/';
	}

	//strip comments
	if (''!=commentRegex) {
		commentRegex=new RegExp(commentRegex ,'g');
		code=code.replace(commentRegex, '');
	}
	
	//strip newlines
	code=code.replace(/\n*/g, '');

	code=code.replace(/[	 ]+/g, ' ');           //[  ] = tab and space, replace all tabs and spaces with one space
	code=code.replace(/\s?([;:{},+>])\s?/g, '$1'); //no need for space around these characters
	code=code.replace(/;}/g, '}');                 //don't need semicolon for the last statement in a rule

	//add newlines
	if (document.getElementById("one_rule_per_line").checked) {
		code=code.replace(/}/g, "}\n");
	}

	document.getElementById('o_size').value=code.length;
	var codeOutBox=document.getElementById('o_code');
	codeOutBox.value=code;

	var savings=code.length/document.getElementById('i_bytes').value*100;
	savings=100-savings;
	savings=Math.round(savings*100)/100;
	document.getElementById('o_save').value=savings+'%';
}
