Hyphenator.setMinWordLength(4);
Hyphenator.setDisplayToggleBox(false);
Hyphenator.run();
var wMarg,zMarg,gMarg,dMarg,sKol,wKol,wMargProp,gMargProp,pSurf,kSurf,rSurf;
function $() {
	var elements=new Array();
	for (var i=0;i<arguments.length;i++) {
		var element=arguments[i];
		if (typeof element=='string')
			element=document.getElementById(element);
		if (arguments.length==1)
			return element;
		elements.push(element);
	}
	return elements;
}
function zaokr(liczba){
	var wynik = Math.round(liczba*1000)/1000;
	return wynik;
}
function updPrev(){
	var prop=$("prop").value;
	if ($("prop").value=="cust"){
		prop=$("wys").value/$("szer").value;
	}
	$("verso").style.height=150*prop+"px";
	$("recto").style.height=150*prop+"px";
	$("rectoTxt").style.width=sKol*150+"px";
	$("versoTxt").style.width=sKol*150+"px";
	$("rectoTxt").style.height=wKol*150*prop+"px";
	$("versoTxt").style.height=wKol*150*prop+"px";
	$("rectoTxt").style.marginLeft=wMargProp*150+"px";
	$("versoTxt").style.marginRight=wMargProp*150+"px";
	$("rectoTxt").style.marginTop=gMargProp*150*prop+"px";
	$("versoTxt").style.marginTop=gMargProp*150*prop+"px";
}
function updMarg(){
	var w=$("szer").value;
	var h=$("wys").value;
	if ($("pkol").value=="99"){
		sKol=2/3;
		wKol=2/3;
		wMargProp=1/9;
		gMargProp=1/9;
		wMarg=w/9;
		zMarg=wMarg*2;
		gMarg=h/9;
		dMarg=gMarg*2;
	}
	else if ($("pkol").value=="12"){
		sKol=3/4;
		wKol=3/4;
		wMargProp=1/12;
		gMargProp=1/12;
		wMarg=w/12;
		zMarg=wMarg*2;
		gMarg=h/12;
		dMarg=gMarg*2;
	}
	else if ($("pkol").value=="10"){
		sKol=.7;
		wKol=.7;
		wMargProp=.1;
		gMargProp=.1;
		wMarg=w/10;
		zMarg=wMarg*2;
		gMarg=h/10;
		dMarg=gMarg*2;
	}
	else if ($("pkol").value=="zp"){
		wMarg=$("mW").value;
		gMarg=wMarg*1.6180339;
		zMarg=gMarg*1.6180339;
		dMarg=zMarg*1.6180339;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="m1"){
		wMarg=$("mW").value;
		gMarg=wMarg*3/2;
		zMarg=wMarg*2;
		dMarg=wMarg*3;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="m2"){
		wMarg=$("mW").value;
		gMarg=wMarg*5/4;
		zMarg=wMarg*5/2;
		dMarg=wMarg*13/4;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="m3"){
		wMarg=$("mW").value;
		gMarg=wMarg*9/8;
		zMarg=wMarg*3/2;
		dMarg=wMarg*7/4;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="dv"){
		wMarg=$("mW").value;
		gMarg=wMarg*3/2;
		zMarg=wMarg*2;
		dMarg=wMarg*5/2;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="mo"){
		wMarg=$("mW").value;
		gMarg=wMarg*3/2;
		zMarg=wMarg*5/2;
		dMarg=wMarg*3;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	else if ($("pkol").value=="le"){
		wMarg=$("mW").value;
		gMarg=wMarg*5/4;
		zMarg=wMarg*2;
		dMarg=wMarg*3;
		wMargProp=wMarg/w;
		gMargProp=gMarg/h;
		sKol=(w-wMarg-zMarg)/w;
		wKol=(h-gMarg-dMarg)/h;
	}
	pSurf=w*h;
	kSurf=pSurf*sKol*wKol;
	rSurf=kSurf/pSurf;
	rSurf=rSurf*10000;
	rSurf=Math.round(rSurf)/100;
	
	$("mW").value=zaokr(wMarg);
	$("mZ").innerHTML=zaokr(zMarg);
	$("mG").innerHTML=zaokr(gMarg);
	$("mD").innerHTML=zaokr(dMarg);
	$("wK").innerHTML=zaokr(sKol*w)+" × "+zaokr(wKol*h);
	$("pK").innerHTML=rSurf+"%";
	updPrev();
}
function updSzer(){
	if ($("prop").value!="cust"){
		$("szer").value=zaokr($("wys").value/$("prop").value);
	}
	updMarg();
}
function updWys(){
	if ($("prop").value!="cust"){
		$("wys").value=zaokr($("szer").value*$("prop").value);
	}
	updMarg();
}
function updVers(){
	if ($("sym").checked==true){
		$("rectoTxt").style.background="url(txt.gif)";
		$("versoTxt").style.background="url(txt.gif)";
		return;
	}
	else {
		$("rectoTxt").style.background="none";
		$("versoTxt").style.background="none";
		return;
	}
}
function updMrg(){
	if ($("mrg").checked==true){
		$("rectoTxt").style.border="1px solid #0ff";
		$("versoTxt").style.border="1px solid #0ff";
		return;
	}
	else {
		$("rectoTxt").style.border="1px solid #fff";
		$("versoTxt").style.border="1px solid #fff";
		return;
	}
}
function changeVal(key,elem,add){
	var oldVal=$(elem).value;
	if (key==38){
		var newVal=Math.ceil(oldVal);
		if (newVal==oldVal){
			newVal++;
		}
		if (add==1){
			newVal=newVal+9;
		}
	}
	if (key==40){
		var newVal=Math.floor(oldVal);
		if (newVal==oldVal){
			newVal--;
		}
		if (add==1){
			newVal=newVal-9;
		}
	}
	$(elem).value=newVal;
}
function klawisz(e){
	e = e || window.event;
	var add;
	var key = e.which ? e.which : e.keyCode;
	var elem = (e.target) ? e.target.id : e.srcElement.id;
	if (key==38||key==40){
		if (e.shiftKey){
			add=1;
		}
		changeVal(key,elem,add);
	}
	else {
		return;
	}
}
function ligatury() { //pamiętać że element musi mieć tę samą nazwę w linii 2 i 12
	var txtCntNod = document.getElementById("wrap").innerHTML.split(">");
	var elems = txtCntNod.length;
	for (var i=0;i<elems;i++){
		var tmpVers=txtCntNod[i].split("<");
		tmpVers[0]=tmpVers[0].replace(/fi/g,"&#xfb01;");
		tmpVers[0]=tmpVers[0].replace(/fl/g,"&#xfb02;");
		tmpVers[0]=tmpVers[0].replace(/\s([uwioza]){1}\s/gi," <span class=\"nowrap\">$1 </span>");
		txtCntNod[i]=tmpVers.join("<");	
	}
	txtCntNod=txtCntNod.join(">");
	document.getElementById("wrap").innerHTML=txtCntNod;
}
function init(){
	if (navigator.appName!="Opera"){
		//document.getElementById("pak").className="first hyphenate line";
	}
	ligatury();
	$("szer").onkeyup=updWys;
	$("wys").onkeyup=updSzer;
	$("mW").onkeyup=updMarg;
	$("prop").onchange=updWys;
	$("pkol").onchange=updWys;
	$("sym").onclick=updVers;
	$("mrg").onclick=updMrg;
	$("szer").onkeydown=klawisz;
	$("wys").onkeydown=klawisz;
	$("mW").onkeydown=klawisz;
	updMarg();
	updPrev();
	return;
}
window.onload=init;