Pozdrav!
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
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>