D.Kursi S.M JScript Kalendar & numero ditet E.C.htm

Shkarkuar 529 herë. Ngarkuar më Stator 2010

javascript
sisteme
multimediale
eduard
cuni
2010
Shkarko Kthehu ne Sisteme Multimediale
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Lang" content="sq">
<title>Detyra: kalendari dhe jetegjatesia E Cuni Qershor 2010</title>
<script type="text/javascript">
<!--
//rregullime per data "negative" tek algoritmi i diferencave, logjikisht dita aktuale numerohet mbasi kane kaluar 12 ore (rounding)
//kurse nga njerezit dita numerohet qe nga 00:00:00 ! 
var now   = new Date();
now.setHours(23);
now.setMinutes(59);

//vendos vlerat e inputeve, therritet nga body onLoad.. 
function caktoSot() {
	var dita  = now.getDate();
	var muaji = now.getMonth();
	var viti  = now.getYear();
	if (viti < 2000)    
		viti = viti + 1900; 
	document.calControl.muaji.selectedIndex = muaji;
	document.calControl.viti.value = viti;
	document.calControl.dita.selectedIndex = dita-1;
}
//therritet nga butoni ne forme
function caktoDate() {
	var viti  = parseInt(document.calControl.viti.value);
	var dita   = parseInt(document.calControl.dita.value);
	var muaji = document.calControl.muaji.selectedIndex;
	shfaqKalendarin(muaji, viti, dita);
}

//pjesa interesante ne kod eshte gjetja e kutise ku duhet filluar
function shfaqKalendarin(muaji, viti, dita) {       

	tabela = document.getElementById('tabela');
	//rreshti me poshte krijon "efektin slide" ne paraqitjen e kalendarit
	tabela.style.visibility = 'visible';
	tabela.getElementsByTagName('thead')[0].innerHTML = '<tr><td colspan="7">' + document.calControl.muaji.value + ", " + viti+ "<\/td><\/tr>"; 
	
	rreshtat = tabela.getElementsByTagName('tbody')[0].getElementsByTagName('td');
	dite = gjejDiteNeMuaj(muaji+1,viti);
	ditaEPareNeMuaj = new Date (viti, muaji, 1);
	
	//getday() kthen diten e javes ne numer, e cila perdoret si kolona e fillimit
	pozicioniFillimit = ditaEPareNeMuaj.getDay();
	dite += pozicioniFillimit;
	for(i = 7; i <= 48; i++)
	{
		//cdo kuti duhet te kete te njejten madhesi, edhe kur ajo eshte bosh
		rreshtat[i].innerHTML = '&nbsp;';
		//me poshte eshte efekti i tabeles se shahut
		if(i%2==0)
		rreshtat[i].style.backgroundColor = "#EEEEEE";
		else
		rreshtat[i].style.backgroundColor = "#FFFFFF";
	}
	
	rregulluesi = 6;
	if(pozicioniFillimit == 0)
		rregulluesi = 13;
		
	j = 1;
	for(i = rregulluesi + pozicioniFillimit; i < dite + rregulluesi; i++)
	{
		if(j== dita)
		rreshtat[i].style.backgroundColor = "#FFAAAA";
		rreshtat[i].innerHTML = j++;
	}
}

//gjatesia e diteve ne cdo muaj dihet, ndryshim perben muaji Shkurt qe mund te ndrysho 28 -se 29 dite
function gjejDiteNeMuaj(muaji,viti)  {

	if (muaji==1 || muaji==3 || muaji==5 || muaji==7 || muaji==8 || muaji==10 || muaji==12)  
		return(31);
	else if (muaji == 0 || muaji==4 || muaji==6 || muaji==9 || muaji==11) 
		return(30);
		
	if (eshteVitIBrishte(viti)) 
		return(29);
	else 
		return(28);
}

//29 shkurt ndodh ne vitet shumefish te 400, ose shumefisha te katres, me kusht qe mos te jete shumefish i 100
function eshteVitIBrishte (viti) {
		return (((viti % 4)==0) && ((viti % 100)!=0) || ((viti % 400)==0));
}

function dateESakte(dita, muaji, viti){
	return ( dita <= gjejDiteNeMuaj(muaji,viti));
}



//_f - fillim 
//_m - mbarim
//me shume pak pune mund te punoje edhe me datat ne te ardhmen
function dif_datash(viti_f, muaji_f, dita_f, viti_m, muaji_m, dita_m)
{
	var dif = new Object();
	//emrat e fushave
	dif.dite = 0;
	dif.muaj = 0;
	dif.vite = 0;
	
	//dif.dite eshte zero kur dita_f == dita_m
	if(dita_f <= dita_m)
		dif.dite = dita_m - dita_f;
	else
	{
		muaji_m--;
		dif.dite = (gjejDiteNeMuaj(muaji_m, viti_f) - dita_f) + dita_m;
	}
	
	//dif.muaj eshte zero kur muaji_f == muaji_m
	if(muaji_f <= muaji_m)
		dif.muaj = muaji_m - muaji_f;
	else
	{
		dif.muaj = (12 - muaji_f) + muaji_m;
		viti_m--;
	}
	
	//dif.vite eshte zero kur vite_m == vite_f
	if(viti_f <= viti_m)
		dif.vite = viti_m - viti_f;

	if(dif.vite < 0)
		dif.vite = 0;
		
	return(dif);
		
}

function mosha()
{
	now = new Date();
	info = document.getElementById('info');
	
	dita = document.calControl.dita.value;
	muaji = document.calControl.muaji.selectedIndex + 1 ;
	viti = document.calControl.viti.value;
	data = new Date(viti, muaji-1, dita);

	if(dateESakte(dita, muaji , viti) && (data < now))
	{
		dif = dif_datash(viti, muaji, dita, now.getFullYear(), now.getMonth()+1, now.getDate());

		info.innerHTML = "Diferenca: " + dif.vite + " vit(e), " + dif.muaj + " muaj dhe " + dif.dite + " dit�!";
	}
	else
	{
		info.innerHTML = "Date e pasakte, provo perseri!";
	}
}

-->
</SCRIPT>
<body onLoad="caktoSot()">
<center>
<br>
<div style="background-color: #FFAAAA; border: 1px solid #aaaaaa; padding: 5px;">
Kjo eshte detyra e kursit (Sisteme multimediale) ne JavaScript qe numeron saktesisht sa dite kane kaluar nga nje date e caktuar dhe tregon diten qe ka qene, duke e shfaqur ne kalendar. Nje prove durimi ne programim!
</div>
<br><br>
<div style="font-family: Verdana, Arial; ">
<div style="background-color: #EEEEEE; border: 1px solid #aaaaaa; width: 350px; padding: 5px;">
Cakto nj� dat�:
</div>
<br>
<form name="calControl" onSubmit="return false;" action="#">

<script type="text/javascript">
<!--
document.write('<select name = "dita">');
for(i = 1; i <= 31; i++)
	document.write('<option>'+ i +"<\/option>");
document.write("<\/select>");
-->
</script>

<select name="muaji">
<option>Janar</option>
<option>Shkurt</option>
<option>Mars</option>
<option>Prill</option>
<option>Maj</option>
<option>Qershor</option>
<option>Korrik</option>
<option>Gusht</option>
<option>Shtator</option>
<option>Tetor</option>
<option>N�ntor</option>
<option>Dhjetor</option>
</select>
<script type="text/javascript">
<!--
	document.write('<select name = "viti">');
	for(i = now.getFullYear(); i > now.getFullYear() - 120; i--)
		document.write('<option>' + i + "<\/option>");
	document.write("<\/select>");
-->
</script>
<input type="button" name="jepi" value="vazhdo &raquo;" onClick="caktoDate(); mosha()">
</form>
<br>
<div id="info" style="background-color: #EEEEEE; border: 1px solid #aaaaaa; width: 350px; padding: 5px;"></div><br>
<div> 
<table cellpadding="5" style ="visibility:hidden; border-collapse:collapse; border:2px solid #AAAAAA; text-align:right" border = "1" id="tabela">
<thead><tr><td colspan="7"></td></tr>
</thead>
<tbody>
<tr><td width ="60px">Hene</td><td width ="60px">Marte</td><td width ="60px">Merkure</td><td width ="60px">Enjte</td><td width ="60px">Premte</td><td width ="60px">Shtune</td><td width ="60px">Diele</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
</table>
</div>
<br><br><br><br>
&copy; 2010 Detyra E.Cuni
</div>
</center>
</body>
</html>