Napravio sam, tj. prepravio stranicu, za svoje potrebe, koja treba da izracunava raspodelu mandata stranaka (JavaScript i HTML). Izracunavanje se vrsi po Dontovoj metodi. Cenzus za sve stranke je 5%. Stranke nacionalnih manjina su problem. One nemaju cenzus, a raspodeljuju im se mandati proporcionalno kao i drugim strankama koje imaju cenzus. Pomozite mi da dodam kod koji ce sve ovo raspodeliti. Apsolutni pocetnik sam sto se tice js.
Hvala
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Kalkulator za raspodelu mandata</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1250"><LINK
href="hondt.css""
type=text/css rel=stylesheet>
<SCRIPT src="jquery.js" type=text/javascript></SCRIPT>
<SCRIPT
src="calculadora.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
<!--
function dibRes() {
if(numRep&&bons.length) {
str="";
//Mostrar resultats
jQuery("#sortida").html("");
str+="<ul>";
for(i=0;i<cdds.length;i++) {
switch(cdds[ordrebo[i]].elegits) {
case -1: rep="nedovoljno glasova"; break;
case 0: rep="bez mandata"; break;
default: rep='<span class="numRes">'+cdds[ordrebo[i]].elegits+'</span>'; break;
}
str+='<li><p><strong class="sig'+ordrebo[i]+'">'+cdds[ordrebo[i]].sigla+'</strong> <span style="color:#666; font-size:18px;">('+(100*cdds[ordrebo[i]].vots/(totalVots-nu)).toFixed(2)+'%):</span> '+rep+'</p></li>\n';
}
cens=0;
str+="</ul>";
str+="Ukupno glasova <strong>"+totalVots+"</strong> ";
cens=parseInt(jQuery("#cens").val());
if (cens) str+=" of <strong>"+cens+"</strong> (<strong>"+(100-(totalVots*100/cens)).toFixed(2)+"%</strong> abstention)";
str+=".";
if (cdds.length>1) {
str+='<p>Sledeća stranka koja bi dobila mandat je stranka <strong class="sig'+seguentCand+'">'+cdds[seguentCand].sigla+'</strong>';
if(ultimCand!=seguentCand) {
str+=', umesto stranke <strong class="sig'+ultimCand+'">'+cdds[ultimCand].sigla+'</strong>'
if(votsMes>0) str+=', za <strong>'+votsMes+'</strong> glasova';
}
str+=".</p>";
}
jQuery("#sortida").html(str);
} else {
jQuery("#sortida").html("Nema rezultata za upisane podatke.");
}
}
function dibSave(o) {
res=o.split("|");
if(!parseInt(res[0])) {
alert(res[1]);
jQuery('#btSave').removeClass('disSave');
jQuery('#btSave').html('Save');
} else {
jQuery('#guardar').html('You can now access this simulation results on:<br /><a href="'+res[1]+'" class="resUrl" target="_blank">'+res[1]+'</a>');
}
}
function dibCands() {
var str="";
for(i=0;i<=cdds.length;i++) {
if (i==cdds.length) {
sigla="";
vots="";
} else {
sigla=cdds[i].sigla;
vots=cdds[i].vots;
}
if (i!=cdds.length) { afCand=" afCand"; } else { afCand=""; }
str+='<p id="cand'+i+'" class="pCand">\n';
str+=' <label for="sigla'+i+'">Stranka</label>\n';
str+=' <input class="sigla'+afCand+'" maxlength="50" onfocus="this.select();" type="text" id="sigla'+i+'" name="sigla'+i+'" value="'+sigla+'" onkeyup="updateSigla('+i+',this.value);" />\n';
str+=' <label for="vots'+i+'">glasova</label>\n';
str+=' <input class="vots'+afCand+'" type="text" id="vots'+i+'" onfocus="this.select();" name="vots'+i+'" value="'+vots+'" onkeyup="updateVots('+i+',getInt(\'#vots'+i+'\'));" />\n ';
if (i!=cdds.length) {
str+=' <a href="#" class="boto neg" id="elim'+i+'" name="elim'+i+'" value="" onclick="elimCand('+i+');">Obriši</a>\n';
} else {
str+=' <a href="#" class="addCand boto pos" onclick="addCand('+i+'); return false;">Potvrdi i unesi novo</a>\n';
}
str+='</p>\n';
}
jQuery("#cands").html(str);
}
var varurl='elections';
-->
</SCRIPT>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<style type="text/css">
<!--
.style3 {font-size: 2em}
body {
background-color:
#333333;
}
-->
</style>
<link rel="stylesheet" href="css/print.css" type="text/css" media="print" />
<style type="text/css">
<!--
.style4 {
color: #00FF00;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
font-size: 4em;
}
.style8 {
font-size: 36px;
font-family: "Times New Roman", Times, serif;
}
.style10 {
font-size: 24px;
background-color: #999999;
font-weight: bold;
}
-->
</style>
</HEAD>
<BODY>
<div id="sve">
<P align="center"><span class="style3 style4"><span class="style8"><img src="baner.jpg" width="993" height="186"></span></span></P>
<hr>
<div align="center" class="style10">DONTOVA METODA RASPODELE MANDATA</div>
<hr>
<br>
<br>
<DIV id=entrada>
<P align="center">Unesite broj mesta
<INPUT id=representants value="31" onkeyup=calcular();
maxLength=3 size=5 name=representants>
Unesite broj praznih listića
<input name="blanc" value="" type="text" class="vots2" id="blanc" onKeyUp="calcular();" maxLength=3 size="5" text-align="left"/>
Unesite broj nevažećih listića
<input name="nul" value="" type="text" class="vots2" id="nul" onKeyUp="calcular();" maxLength=3 size="5" text-align="left" />
<BR>
</P><hr>
<H5>Dobijeni glasovi</H5>
<DIV id=cands>
<P class=pCand id=cand0>
<LABEL for=sigla0>Stranka</LABEL>
<INPUT class=sigla
id=sigla0 onkeyup=updateSigla(0,this.value); onfocus=this.select(); maxLength=50
name=sigla0> <LABEL for=vots0>glasova</LABEL>
<input class=vots id=vots0
onKeyUp="updateVots(0,getInt('#vots0'));" onFocus=this.select(); name=vots0>
<A
class="addCand boto pos" onClick="addCand(0); return false;"
href="">Potvrdi i unesi novo </A> </P>
</DIV>
<H5>Izborni cenzus</H5>
<DIV id=opcionals>
<P>Izborni cenzus
<input id=minim value="5" onKeyUp=calcular();
style="WIDTH: 30px; TEXT-ALIGN: right" maxlength=2 size=5 name=minim>
%. Po
izbornom zakonu, u Srbiji izborni cenzus je 5%.</P>
</DIV>
</DIV>
<DIV id=sortida>
</form>
</DIV>
<div align="right"><a href="javascript:window.print();" title="Stampaj" class="sortida">Stampaj </a><br>
<br>
<SCRIPT src="urchin.js" tppabs="http://makarska.hcsp.hr/dhondt/urchin.js"
type=text/javascript> </SCRIPT>
<SCRIPT type=text/javascript>
_uacct = "UA-1088567-1";
urchinTracker();
</SCRIPT>
</div>
</div>
</BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Kalkulator za raspodelu mandata</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1250"><LINK
href="hondt.css""
type=text/css rel=stylesheet>
<SCRIPT src="jquery.js" type=text/javascript></SCRIPT>
<SCRIPT
src="calculadora.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
<!--
function dibRes() {
if(numRep&&bons.length) {
str="";
//Mostrar resultats
jQuery("#sortida").html("");
str+="<ul>";
for(i=0;i<cdds.length;i++) {
switch(cdds[ordrebo[i]].elegits) {
case -1: rep="nedovoljno glasova"; break;
case 0: rep="bez mandata"; break;
default: rep='<span class="numRes">'+cdds[ordrebo[i]].elegits+'</span>'; break;
}
str+='<li><p><strong class="sig'+ordrebo[i]+'">'+cdds[ordrebo[i]].sigla+'</strong> <span style="color:#666; font-size:18px;">('+(100*cdds[ordrebo[i]].vots/(totalVots-nu)).toFixed(2)+'%):</span> '+rep+'</p></li>\n';
}
cens=0;
str+="</ul>";
str+="Ukupno glasova <strong>"+totalVots+"</strong> ";
cens=parseInt(jQuery("#cens").val());
if (cens) str+=" of <strong>"+cens+"</strong> (<strong>"+(100-(totalVots*100/cens)).toFixed(2)+"%</strong> abstention)";
str+=".";
if (cdds.length>1) {
str+='<p>Sledeća stranka koja bi dobila mandat je stranka <strong class="sig'+seguentCand+'">'+cdds[seguentCand].sigla+'</strong>';
if(ultimCand!=seguentCand) {
str+=', umesto stranke <strong class="sig'+ultimCand+'">'+cdds[ultimCand].sigla+'</strong>'
if(votsMes>0) str+=', za <strong>'+votsMes+'</strong> glasova';
}
str+=".</p>";
}
jQuery("#sortida").html(str);
} else {
jQuery("#sortida").html("Nema rezultata za upisane podatke.");
}
}
function dibSave(o) {
res=o.split("|");
if(!parseInt(res[0])) {
alert(res[1]);
jQuery('#btSave').removeClass('disSave');
jQuery('#btSave').html('Save');
} else {
jQuery('#guardar').html('You can now access this simulation results on:<br /><a href="'+res[1]+'" class="resUrl" target="_blank">'+res[1]+'</a>');
}
}
function dibCands() {
var str="";
for(i=0;i<=cdds.length;i++) {
if (i==cdds.length) {
sigla="";
vots="";
} else {
sigla=cdds[i].sigla;
vots=cdds[i].vots;
}
if (i!=cdds.length) { afCand=" afCand"; } else { afCand=""; }
str+='<p id="cand'+i+'" class="pCand">\n';
str+=' <label for="sigla'+i+'">Stranka</label>\n';
str+=' <input class="sigla'+afCand+'" maxlength="50" onfocus="this.select();" type="text" id="sigla'+i+'" name="sigla'+i+'" value="'+sigla+'" onkeyup="updateSigla('+i+',this.value);" />\n';
str+=' <label for="vots'+i+'">glasova</label>\n';
str+=' <input class="vots'+afCand+'" type="text" id="vots'+i+'" onfocus="this.select();" name="vots'+i+'" value="'+vots+'" onkeyup="updateVots('+i+',getInt(\'#vots'+i+'\'));" />\n ';
if (i!=cdds.length) {
str+=' <a href="#" class="boto neg" id="elim'+i+'" name="elim'+i+'" value="" onclick="elimCand('+i+');">Obriši</a>\n';
} else {
str+=' <a href="#" class="addCand boto pos" onclick="addCand('+i+'); return false;">Potvrdi i unesi novo</a>\n';
}
str+='</p>\n';
}
jQuery("#cands").html(str);
}
var varurl='elections';
-->
</SCRIPT>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<style type="text/css">
<!--
.style3 {font-size: 2em}
body {
background-color:
#333333;
}
-->
</style>
<link rel="stylesheet" href="css/print.css" type="text/css" media="print" />
<style type="text/css">
<!--
.style4 {
color: #00FF00;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
font-size: 4em;
}
.style8 {
font-size: 36px;
font-family: "Times New Roman", Times, serif;
}
.style10 {
font-size: 24px;
background-color: #999999;
font-weight: bold;
}
-->
</style>
</HEAD>
<BODY>
<div id="sve">
<P align="center"><span class="style3 style4"><span class="style8"><img src="baner.jpg" width="993" height="186"></span></span></P>
<hr>
<div align="center" class="style10">DONTOVA METODA RASPODELE MANDATA</div>
<hr>
<br>
<br>
<DIV id=entrada>
<P align="center">Unesite broj mesta
<INPUT id=representants value="31" onkeyup=calcular();
maxLength=3 size=5 name=representants>
Unesite broj praznih listića
<input name="blanc" value="" type="text" class="vots2" id="blanc" onKeyUp="calcular();" maxLength=3 size="5" text-align="left"/>
Unesite broj nevažećih listića
<input name="nul" value="" type="text" class="vots2" id="nul" onKeyUp="calcular();" maxLength=3 size="5" text-align="left" />
<BR>
</P><hr>
<H5>Dobijeni glasovi</H5>
<DIV id=cands>
<P class=pCand id=cand0>
<LABEL for=sigla0>Stranka</LABEL>
<INPUT class=sigla
id=sigla0 onkeyup=updateSigla(0,this.value); onfocus=this.select(); maxLength=50
name=sigla0> <LABEL for=vots0>glasova</LABEL>
<input class=vots id=vots0
onKeyUp="updateVots(0,getInt('#vots0'));" onFocus=this.select(); name=vots0>
<A
class="addCand boto pos" onClick="addCand(0); return false;"
href="">Potvrdi i unesi novo </A> </P>
</DIV>
<H5>Izborni cenzus</H5>
<DIV id=opcionals>
<P>Izborni cenzus
<input id=minim value="5" onKeyUp=calcular();
style="WIDTH: 30px; TEXT-ALIGN: right" maxlength=2 size=5 name=minim>
%. Po
izbornom zakonu, u Srbiji izborni cenzus je 5%.</P>
</DIV>
</DIV>
<DIV id=sortida>
</form>
</DIV>
<div align="right"><a href="javascript:window.print();" title="Stampaj" class="sortida">Stampaj </a><br>
<br>
<SCRIPT src="urchin.js" tppabs="http://makarska.hcsp.hr/dhondt/urchin.js"
type=text/javascript> </SCRIPT>
<SCRIPT type=text/javascript>
_uacct = "UA-1088567-1";
urchinTracker();
</SCRIPT>
</div>
</div>
</BODY></HTML>