From: "Saved by Windows Internet Explorer 9"
Subject: ?stanbul'un en eski su sistemi bulundu - ZAMAN
Date: Tue, 25 Dec 2012 10:17:19 +0900
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_00A0_01CDE289.05ABBB30"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16807
This is a multi-part message in MIME format.
------=_NextPart_000_00A0_01CDE289.05ABBB30
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.zaman.com.tr/manset/istanbulun-en-eski-su-sistemi-bulundu/2029885.html
=EF=BB=BF
K=C3=BC=C3=A7=C3=BCk=C3=A7ekmece'de arkeoloji =
=C3=A7al=C4=B1=C5=9Fmalar=C4=B1 sonunda =C4=B0stanbul'un=20
en eski su sistemi bulundu. 2007 y=C4=B1l=C4=B1nda y=C3=BCzey =
ara=C5=9Ft=C4=B1rmalar=C4=B1yla ba=C5=9Flanan=20
Bathonea antik kent kaz=C4=B1s=C4=B1 =C4=B0stanbul'un ilk yerle=C5=9Fim =
alanlar=C4=B1yla ilgili =C3=B6nemli=20
bulgular=C4=B1 da g=C3=BCn y=C3=BCz=C3=BCne =C3=A7=C4=B1kartt=C4=B1.
=
=20
Kocaeli =C3=9Cniversitesi Arkeoloji B=C3=B6l=C3=BCm=C3=BC =
=C3=96=C4=9Fretim =C3=9Cyesi Yrd. Do=C3=A7. Dr. =C5=9Eeng=C3=BCl=20
Ayd=C4=B1ng=C3=BCn ba=C5=9Fkanl=C4=B1=C4=9F=C4=B1nda Kocaeli, =
=C4=B0stanbul ile yabanc=C4=B1 =C3=BCniversite bilim=20
adamlar=C4=B1n=C4=B1n =C3=A7al=C4=B1=C5=9Fmalar=C4=B1yla arkelojik =
kaz=C4=B1lar ger=C3=A7ekle=C5=9Ftirildi. =C3=87al=C4=B1=C5=9Fmalar=20
neticesinde, =C4=B0stanbul'un Roma'n=C4=B1n ba=C5=9Fkenti =
olmas=C4=B1n=C4=B1n ard=C4=B1ndan in=C5=9Fa edildi=C4=9Fi=20
d=C3=BC=C5=9F=C3=BCn=C3=BClen yeralt=C4=B1 su kanallar=C4=B1 sistemi =
bulundu.
=C4=B0stanbul'un en eski ve en sa=C4=9Flam yeralt=C4=B1 su sistemi =
olarak kabul edilen=20
yeralt=C4=B1 su kanal=C4=B1, MS 330'da =C4=B0stanbul'un Roma =
=C4=B0mparatorlu=C4=9Fu'nun yeni ba=C5=9Fkenti=20
olmas=C4=B1yla =C4=B0mparator Konstantin d=C3=B6neminde =
yap=C4=B1ld=C4=B1=C4=9F=C4=B1 tahmin ediliyor. Roma=20
=C4=B0mparatoru'nun yazl=C4=B1k yer olarak kulland=C4=B1=C4=9F=C4=B1 =
d=C3=BC=C5=9F=C3=BCn=C3=BClen yerle=C5=9Fim yerinde yol,=20
saray ve manast=C4=B1r kal=C4=B1nt=C4=B1lar=C4=B1, su sarn=C4=B1c=C4=B1 =
gibi mimari kal=C4=B1nt=C4=B1lar da bulunuyor.=20
=C4=B0mparatorlar=C4=B1n simgeleri oldu=C4=9Fu =
d=C3=BC=C5=9F=C3=BCn=C3=BClen damgal=C4=B1 tu=C4=9Flalarla in=C5=9Fa =
edilen su=20
sarn=C4=B1c=C4=B1n=C4=B1n b=C3=BCy=C3=BCkl=C3=BC=C4=9F=C3=BC ve tonlarca =
su kapasitesinin, buradaki saray ve di=C4=9Fer=20
yap=C4=B1lar=C4=B1n su ihtiyac=C4=B1n=C4=B1 kar=C5=9F=C4=B1layabilecek =
nitelikte oldu=C4=9Fu d=C3=BC=C5=9F=C3=BCn=C3=BCl=C3=BCyor.
Kaz=C4=B1larda en =C3=B6nemli ke=C5=9Fif toprak alt=C4=B1nda =
y=C3=BCzlerce metre devam eden su=20
kanallar=C4=B1n=C4=B1n varl=C4=B1=C4=9F=C4=B1 oldu. =
=C4=B0=C5=9F=C3=A7ilik ve in=C5=9Faat tekni=C4=9Fi y=C3=B6n=C3=BCnden, =
Ge=C3=A7 Roma d=C3=B6nemine=20
ve baz=C4=B1 b=C3=B6l=C3=BCmlerin ise daha da eskiye Roma =
=C4=B0mparatorlu=C4=9Fu d=C3=B6nemine ait oldu=C4=9Funu=20
g=C3=B6steriyor. =C4=B0stanbul'un Roma'n=C4=B1n ba=C5=9Fkenti =
olmas=C4=B1ndan sonra in=C5=9Fa ettirilen su=20
sisteminin, g=C3=BCn=C3=BCm=C3=BCze kadar ula=C5=9Fmas=C4=B1 dikkat =
=C3=A7ekiyor.=20
=C4=B0stanbul =C4=B0l =C3=96zel =C4=B0daresi'nde konuyla ilgili =
ger=C3=A7ekle=C5=9Ftirilen tan=C4=B1t=C4=B1m=20
program=C4=B1na =C4=B0stanbul Valisi H=C3=BCseyin Avni Mutlu da =
kat=C4=B1ld=C4=B1. =C4=B0stanbul'un yer alt=C4=B1=20
tarihine yeni bir kap=C4=B1 aralayacak ke=C5=9Ffin tan=C4=B1t=C4=B1m =
program=C4=B1nda Vali Mutlu=20
a=C3=A7=C4=B1klamalarda bulundu. Vali Avni Mutlu, "Bu =C5=9Fehrin =
ta=C5=9F=C4=B1 topra=C4=9F=C4=B1 ger=C3=A7ekten de=20
alt=C4=B1n. =C4=B0stanbul'un alt=C4=B1 da =C3=BCst=C3=BC de tarih. =
B=C3=B6yle olunca da =C5=9Fehrimizde b=C3=B6yle g=C3=BCzel=20
ara=C5=9Ft=C4=B1rmalar yap=C4=B1l=C4=B1yor ve ula=C5=9F=C4=B1lan bu =
nokta hepimizi mutlu ediyor. Ayr=C4=B1ca=20
=C5=9Fehrimizin tarihinin ne kadar geni=C5=9F oldu=C4=9Fu da =
b=C3=B6ylece ortaya konuluyor. Bu =C5=9Fehri=20
neresinden kazarsan=C4=B1z kaz=C4=B1n sizi binlerce y=C4=B1l =C3=B6nceye =
g=C3=B6t=C3=BCr=C3=BCyor. Ger=C3=A7ekten bu=20
projeyi ger=C3=A7ekle=C5=9Ftiren ekibi can=C4=B1 g=C3=B6n=C3=BClden =
kutlamak gerekiyor. Ger=C3=A7ekten=20
=C4=B0stanbul i=C3=A7in =C3=A7ok k=C4=B1ymetli bir yeri ortaya =
=C3=A7=C4=B1kard=C4=B1lar. =C3=96zellikle o sarn=C4=B1=C3=A7lara ve=20
antik =C5=9Fehre ta=C5=9F=C4=B1yan bir su hatt=C4=B1 ortaya =
=C3=A7=C4=B1kart=C4=B1ld=C4=B1. =C4=B0stanbul'un alt=C4=B1n=C4=B1 =
=C3=BCst=C3=BCn=C3=BC=20
incelemeye devam ediyoruz. Eminim ki bir dahaki y=C4=B1l daha =
farkl=C4=B1 =C5=9Feyler ortaya=20
=C3=A7=C4=B1kartacaklar. Biz de bu sebeple onlara her zaman =
desteklerimizle yard=C4=B1mc=C4=B1=20
olaca=C4=9F=C4=B1z." =C5=9Feklinde konu=C5=9Ftu.
Avc=C4=B1lar ve K=C3=BC=C3=A7=C3=BCk=C3=A7ekmece il=C3=A7eleri =
s=C4=B1n=C4=B1rlar=C4=B1 aras=C4=B1nda kalan =
K=C3=BC=C3=A7=C3=BCk=C3=A7ekmece G=C3=B6l=20
Havzas=C4=B1'ndaki kaz=C4=B1lar, 2007 y=C4=B1l=C4=B1nda K=C3=BClt=C3=BCr =
ve Turizm Bakanl=C4=B1=C4=9F=C4=B1'ndan al=C4=B1nan y=C3=BCzey=20
ara=C5=9Ft=C4=B1rmas=C4=B1 izniyle ba=C5=9Flam=C4=B1=C5=9Ft=C4=B1. 2009 =
y=C4=B1l=C4=B1nda ise ara=C5=9Ft=C4=B1rmalar Bakanlar Kurulu=20
karar=C4=B1yla bilimsel kaz=C4=B1lara =
d=C3=B6n=C3=BC=C5=9Ft=C3=BCr=C3=BClm=C3=BC=C5=9Ft=C3=BC. =
Ara=C5=9Ft=C4=B1rmalarda, ilk tar=C4=B1msal=20
faaliyetlerin yap=C4=B1ld=C4=B1=C4=9F=C4=B1n=C4=B1 g=C3=B6steren =
naviform bi=C3=A7imli ta=C5=9F aletler, Neolitikuk =E2=80=93=20
Demir=C3=A7a=C4=9Flar (M.=C3=96 8000-1000) aras=C4=B1 seramikler, =
Helenistik d=C3=B6nem (M.=C3=96. 4yy )=20
amfora par=C3=A7alar=C4=B1, g=C3=B6l k=C4=B1y=C4=B1s=C4=B1 boyunca =
uzanan duvar kal=C4=B1nt=C4=B1lar=C4=B1, Roma d=C3=B6nemi s=C3=BCtun=20
ba=C5=9Fl=C4=B1klar=C4=B1 ile Roma d=C3=B6neminden kalma pek =C3=A7ok =
eser bulundu.=20
2008 y=C4=B1l=C4=B1nda b=C3=B6lgedeki cang=C4=B1la =
d=C3=B6n=C3=BC=C5=9Fen bitki topluluklar=C4=B1 ve =C3=A7al=C4=B1lar=20
temizlendi=C4=9Finde g=C3=B6l k=C4=B1y=C4=B1s=C4=B1nda biri =
b=C3=BCy=C3=BCk, di=C4=9Feri daha k=C3=BC=C3=A7=C3=BCk iki antik limana=20
rastland=C4=B1. K=C4=B1y=C4=B1 boyunca uzanan d=C3=BCzg=C3=BCn kesimli =
ta=C5=9F bloklar=C4=B1n, =C3=B6nemli bir ticaret=20
a=C4=9F=C4=B1na sahip bir limana ait duvarlar oldu=C4=9Fu belirlendi. =
Duvarlar=C4=B1n iki=20
kilometreyi ge=C3=A7en uzunlukta oldu=C4=9Fu ortaya =
=C3=A7=C4=B1kt=C4=B1.
K=C4=B1y=C4=B1 ve g=C3=B6l i=C3=A7inde yan taramal=C4=B1 sonarla =
yap=C4=B1lan aramalarda gemi =C3=A7apalar=C4=B1na=20
ait g=C3=B6r=C3=BCnt=C3=BCler tespit edildi. G=C3=B6l =C3=A7evresinde =
yer alan duvar s=C4=B1ralar=C4=B1n=C4=B1n bir=20
r=C4=B1ht=C4=B1m yap=C4=B1s=C4=B1na ait oldu=C4=9Fu =
d=C3=BC=C5=9F=C3=BCn=C3=BCl=C3=BCyor. Bulunan di=C4=9Fer iskele =
yap=C4=B1lar=C4=B1 ve=20
ba=C4=9Flant=C4=B1l=C4=B1 yol sistemi ise b=C3=B6lgede askeri ve ticari =
limanlara sahip oldu=C4=9Fu=20
ihtimalini g=C3=BC=C3=A7lendiriyor. Ayr=C4=B1ca g=C3=B6l i=C3=A7inde =
antik bir fenere ait olabilecek bir=20
yap=C4=B1 kal=C4=B1nt=C4=B1s=C4=B1 da belirlendi. B=C3=B6ylece =
'K=C3=BC=C3=A7=C3=BCk=C3=A7ekmece =C3=A7evresinde y=C4=B1llard=C4=B1r=20
anlat=C4=B1lan 'G=C3=B6l=C3=BCn i=C3=A7inde cami var' efsanesi de son =
buldu.
7 B=C4=B0N METREK=C3=9CPL=C3=9CK SU HAC=C4=B0ML=C4=B0 =
SARNI=C3=87
Kaz=C4=B1larda en dikkat =C3=A7eken bulgu, 14 metre =
geni=C5=9Fli=C4=9Finde, 7 metre=20
derinli=C4=9Findeki tamam=C4=B1 =C4=B0mparator Konstantin ve =
d=C3=B6nemin =C3=B6nemli din adamlar=C4=B1n=C4=B1n=20
ad=C4=B1n=C4=B1 ta=C5=9F=C4=B1yan damgal=C4=B1 tu=C4=9Fladan =
yap=C4=B1lm=C4=B1=C5=9F dev bir sarn=C4=B1=C3=A7-havuz oldu. 7 bin=20
metrek=C3=BCp su alan sarn=C4=B1=C3=A7, d=C3=B6neminin en =
b=C3=BCy=C3=BCk sarn=C4=B1=C3=A7lar=C4=B1ndan oldu=C4=9Fu tahmin=20
ediliyor.
=20
=20
YASAL UYARI:Yay=C4=B1nlanan =
k=C3=B6=C5=9Fe yaz=C4=B1s=C4=B1/haberin=20
t=C3=BCm haklar=C4=B1 Feza Gazetecilik=E2=80=99e aittir. Kaynak =
g=C3=B6sterilse dahi k=C3=B6=C5=9Fe=20
yaz=C4=B1s=C4=B1/haberin tamam=C4=B1 =C3=B6zel izin al=C4=B1nmadan =
kullan=C4=B1lamaz. Bu haber veya yaz=C4=B1=20
sadece zaman gazetesi taraf=C4=B1ndan sa=C4=9Flanan RSS verileri =
kullan=C4=B1larak=20
al=C4=B1nt=C4=B1lanabilir.
=20
=20
=20
=20
=20
=
=20
=20
Sonraki Haber=20
=20
=20
=20
=20
=20
B=C3=B6l=C3=BCm=C3=BCn en =C3=A7ok okunan =
haberleri
").append(e.replace(yn,"")).find(i=
):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError =
ajaxSuccess ajaxSend".split(" =
"),function(e,t){v.fn[t]=3Dfunction(e){return =
this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=3Dfunction(e,r,i=
,s){return =
v.isFunction(r)&&(s=3Ds||i,i=3Dr,r=3Dt),v.ajax({type:n,url:e,data:r,succe=
ss:i,dataType:s})}}),v.extend({getScript:function(e,n){return =
v.get(e,t,n,"script")},getJSON:function(e,t,n){return =
v.get(e,t,n,"json")},ajaxSetup:function(e,t){return =
t?Ln(e,v.ajaxSettings):(t=3De,e=3Dv.ajaxSettings),Ln(e,t),e},ajaxSettings=
:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"applica=
tion/x-www-form-urlencoded; =
charset=3DUTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, =
text/xml",html:"text/html",text:"text/plain",json:"application/json, =
text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},res=
ponseFields:{xml:"responseXML",text:"responseText"},converters:{"* =
text":e.String,"text html":!0,"text json":v.parseJSON,"text =
xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),aj=
axTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var =
l,y,b,w,S,T=3Dn;if(E=3D=3D=3D2)return;E=3D2,u&&clearTimeout(u),o=3Dt,i=3D=
a||"",x.readyState=3De>0?4:0,s&&(w=3DAn(c,x,s));if(e>=3D200&&e<300||e=3D=3D=
=3D304)c.ifModified&&(S=3Dx.getResponseHeader("Last-Modified"),S&&(v.last=
Modified[r]=3DS),S=3Dx.getResponseHeader("Etag"),S&&(v.etag[r]=3DS)),e=3D=
=3D=3D304?(T=3D"notmodified",l=3D!0):(l=3DOn(c,w),T=3Dl.state,y=3Dl.data,=
b=3Dl.error,l=3D!b);else{b=3DT;if(!T||e)T=3D"error",e<0&&(e=3D0)}x.status=
=3De,x.statusText=3D(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[=
x,T,b]),x.statusCode(g),g=3Dt,f&&p.trigger("ajax"+(l?"Success":"Error"),[=
x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.a=
ctive||v.event.trigger("ajaxStop"))}typeof =
e=3D=3D"object"&&(n=3De,e=3Dt),n=3Dn||{};var =
r,i,s,o,u,a,f,l,c=3Dv.ajaxSetup({},n),h=3Dc.context||c,p=3Dh!=3D=3Dc&&(h.=
nodeType||h instanceof =
v)?v(h):v.event,d=3Dv.Deferred(),m=3Dv.Callbacks("once =
memory"),g=3Dc.statusCode||{},b=3D{},w=3D{},E=3D0,S=3D"canceled",x=3D{rea=
dyState:0,setRequestHeader:function(e,t){if(!E){var =
n=3De.toLowerCase();e=3Dw[n]=3Dw[n]||e,b[e]=3Dt}return =
this},getAllResponseHeaders:function(){return =
E=3D=3D=3D2?i:null},getResponseHeader:function(e){var =
n;if(E=3D=3D=3D2){if(!s){s=3D{};while(n=3Dpn.exec(i))s[n[1].toLowerCase()=
]=3Dn[2]}n=3Ds[e.toLowerCase()]}return =
n=3D=3D=3Dt?null:n},overrideMimeType:function(e){return =
E||(c.mimeType=3De),this},abort:function(e){return =
e=3De||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=3Dx.done,x.er=
ror=3Dx.fail,x.complete=3Dm.add,x.statusCode=3Dfunction(e){if(e){var =
t;if(E<2)for(t in e)g[t]=3D[g[t],e[t]];else =
t=3De[x.status],x.always(t)}return =
this},c.url=3D((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dat=
aTypes=3Dv.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain=3D=3D=
null&&(a=3Dwn.exec(c.url.toLowerCase()),c.crossDomain=3D!(!a||a[1]=3D=3D=3D=
ln[1]&&a[2]=3D=3D=3Dln[2]&&(a[3]||(a[1]=3D=3D=3D"http:"?80:443))=3D=3D(ln=
[3]||(ln[1]=3D=3D=3D"http:"?80:443)))),c.data&&c.processData&&typeof =
c.data!=3D"string"&&(c.data=3Dv.param(c.data,c.traditional)),kn(Sn,c,n,x)=
;if(E=3D=3D=3D2)return =
x;f=3Dc.global,c.type=3Dc.type.toUpperCase(),c.hasContent=3D!vn.test(c.ty=
pe),f&&v.active++=3D=3D=3D0&&v.event.trigger("ajaxStart");if(!c.hasConten=
t){c.data&&(c.url+=3D(gn.test(c.url)?"&":"?")+c.data,delete =
c.data),r=3Dc.url;if(c.cache=3D=3D=3D!1){var =
N=3Dv.now(),C=3Dc.url.replace(bn,"$1_=3D"+N);c.url=3DC+(C=3D=3D=3Dc.url?(=
gn.test(c.url)?"&":"?")+"_=3D"+N:"")}}(c.data&&c.hasContent&&c.contentTyp=
e!=3D=3D!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentTy=
pe),c.ifModified&&(r=3Dr||c.url,v.lastModified[r]&&x.setRequestHeader("If=
-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-Non=
e-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accept=
s[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=3D=3D"*"?", =
"+Tn+"; q=3D0.01":""):c.accepts["*"]);for(l in =
c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSe=
nd.call(h,x,c)!=3D=3D!1&&E!=3D=3D2){S=3D"abort";for(l =
in{success:1,error:1,complete:1})x[l](c[l]);o=3Dkn(xn,c,n,x);if(!o)T(-1,"=
No =
Transport");else{x.readyState=3D1,f&&p.trigger("ajaxSend",[x,c]),c.async&=
&c.timeout>0&&(u=3DsetTimeout(function(){x.abort("timeout")},c.timeout));=
try{E=3D1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return =
x}return x.abort()},active:0,lastModified:{},etag:{}});var =
Mn=3D[],_n=3D/\?/,Dn=3D/(=3D)\?(?=3D&|$)|\?\?/,Pn=3Dv.now();v.ajaxSetup({=
jsonp:"callback",jsonpCallback:function(){var =
e=3DMn.pop()||v.expando+"_"+Pn++;return =
this[e]=3D!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var =
s,o,u,a=3Dn.data,f=3Dn.url,l=3Dn.jsonp!=3D=3D!1,c=3Dl&&Dn.test(f),h=3Dl&&=
!c&&typeof =
a=3D=3D"string"&&!(n.contentType||"").indexOf("application/x-www-form-url=
encoded")&&Dn.test(a);if(n.dataTypes[0]=3D=3D=3D"jsonp"||c||h)return =
s=3Dn.jsonpCallback=3Dv.isFunction(n.jsonpCallback)?n.jsonpCallback():n.j=
sonpCallback,o=3De[s],c?n.url=3Df.replace(Dn,"$1"+s):h?n.data=3Da.replace=
(Dn,"$1"+s):l&&(n.url+=3D(_n.test(f)?"&":"?")+n.jsonp+"=3D"+s),n.converte=
rs["script json"]=3Dfunction(){return u||v.error(s+" was not =
called"),u[0]},n.dataTypes[0]=3D"json",e[s]=3Dfunction(){u=3Darguments},i=
.always(function(){e[s]=3Do,n[s]&&(n.jsonpCallback=3Dr.jsonpCallback,Mn.p=
ush(s)),u&&v.isFunction(o)&&o(u[0]),u=3Do=3Dt}),"script"}),v.ajaxSetup({a=
ccepts:{script:"text/javascript, application/javascript, =
application/ecmascript, =
application/x-ecmascript"},contents:{script:/javascript|ecmascript/},conv=
erters:{"text script":function(e){return =
v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache=3D=3D=3D=
t&&(e.cache=3D!1),e.crossDomain&&(e.type=3D"GET",e.global=3D!1)}),v.ajaxT=
ransport("script",function(e){if(e.crossDomain){var =
n,r=3Di.head||i.getElementsByTagName("head")[0]||i.documentElement;return=
{send:function(s,o){n=3Di.createElement("script"),n.async=3D"async",e.scr=
iptCharset&&(n.charset=3De.scriptCharset),n.src=3De.url,n.onload=3Dn.onre=
adystatechange=3Dfunction(e,i){if(i||!n.readyState||/loaded|complete/.tes=
t(n.readyState))n.onload=3Dn.onreadystatechange=3Dnull,r&&n.parentNode&&r=
.removeChild(n),n=3Dt,i||o(200,"success")},r.insertBefore(n,r.firstChild)=
},abort:function(){n&&n.onload(0,1)}}}});var =
Hn,Bn=3De.ActiveXObject?function(){for(var e in =
Hn)Hn[e](0,1)}:!1,jn=3D0;v.ajaxSettings.xhr=3De.ActiveXObject?function(){=
return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:=
!!e,cors:!!e&&"withCredentials"in =
e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if=
(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var =
o,u,a=3Dn.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.passw=
ord):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in =
n.xhrFields)a[u]=3Dn.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overr=
ideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Req=
uested-With"]=3D"XMLHttpRequest");try{for(u in =
i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null)=
,r=3Dfunction(e,i){var =
u,f,l,c,h;try{if(r&&(i||a.readyState=3D=3D=3D4)){r=3Dt,o&&(a.onreadystate=
change=3Dv.noop,Bn&&delete =
Hn[o]);if(i)a.readyState!=3D=3D4&&a.abort();else{u=3Da.status,l=3Da.getAl=
lResponseHeaders(),c=3D{},h=3Da.responseXML,h&&h.documentElement&&(c.xml=3D=
h);try{c.text=3Da.responseText}catch(p){}try{f=3Da.statusText}catch(p){f=3D=
""}!u&&n.isLocal&&!n.crossDomain?u=3Dc.text?200:404:u=3D=3D=3D1223&&(u=3D=
204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState=3D=3D=3D4?=
setTimeout(r,0):(o=3D++jn,Bn&&(Hn||(Hn=3D{},v(e).unload(Bn)),Hn[o]=3Dr),a=
.onreadystatechange=3Dr):r()},abort:function(){r&&r(0,1)}}}});var =
qn,Rn,Un=3D/^(?:toggle|show|hide)$/,zn=3Dnew =
RegExp("^(?:([-+])=3D|)("+m+")([a-z%]*)$","i"),Wn=3D/queueHooks$/,Xn=3D[G=
n],Vn=3D{"*":[function(e,t){var =
n,r,i=3Dthis.createTween(e,t),s=3Dzn.exec(t),o=3Di.cur(),u=3D+o||0,a=3D1,=
f=3D20;if(s){n=3D+s[2],r=3Ds[3]||(v.cssNumber[e]?"":"px");if(r!=3D=3D"px"=
&&u){u=3Dv.css(i.elem,e,!0)||n||1;do =
a=3Da||".5",u/=3Da,v.style(i.elem,e,u+r);while(a!=3D=3D(a=3Di.cur()/o)&&a=
!=3D=3D1&&--f)}i.unit=3Dr,i.start=3Du,i.end=3Ds[1]?u+(s[1]+1)*n:n}return =
i}]};v.Animation=3Dv.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=3D=
e,e=3D["*"]):e=3De.split(" ");var =
n,r=3D0,i=3De.length;for(;r-1,f=3D{},l=3D=
{},c,h;a?(l=3Di.position(),c=3Dl.top,h=3Dl.left):(c=3DparseFloat(o)||0,h=3D=
parseFloat(u)||0),v.isFunction(t)&&(t=3Dt.call(e,n,s)),t.top!=3Dnull&&(f.=
top=3Dt.top-s.top+c),t.left!=3Dnull&&(f.left=3Dt.left-s.left+h),"using"in=
=
t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[=
0])return;var =
e=3Dthis[0],t=3Dthis.offsetParent(),n=3Dthis.offset(),r=3Der.test(t[0].no=
deName)?{top:0,left:0}:t.offset();return =
n.top-=3DparseFloat(v.css(e,"marginTop"))||0,n.left-=3DparseFloat(v.css(e=
,"marginLeft"))||0,r.top+=3DparseFloat(v.css(t[0],"borderTopWidth"))||0,r=
.left+=3DparseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,le=
ft:n.left-r.left}},offsetParent:function(){return =
this.map(function(){var =
e=3Dthis.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"pos=
ition")=3D=3D=3D"static")e=3De.offsetParent;return =
e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},=
function(e,n){var r=3D/Y/.test(n);v.fn[e]=3Dfunction(i){return =
v.access(this,function(e,i,s){var o=3Dtr(e);if(s=3D=3D=3Dt)return o?n in =
o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft(=
):s,r?s:v(o).scrollTop()):e[i]=3Ds},e,i,arguments.length,null)}}),v.each(=
{Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,c=
ontent:n,"":"outer"+e},function(r,i){v.fn[i]=3Dfunction(i,s){var =
o=3Darguments.length&&(r||typeof =
i!=3D"boolean"),u=3Dr||(i=3D=3D=3D!0||s=3D=3D=3D!0?"margin":"border");ret=
urn v.access(this,function(n,r,i){var s;return =
v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType=3D=3D=3D9=
?(s=3Dn.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body[=
"offset"+e],s["offset"+e],s["client"+e])):i=3D=3D=3Dt?v.css(n,r,i,u):v.st=
yle(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=3De.$=3Dv,typeof =
define=3D=3D"function"&&define.amd&&define.amd.jQuery&&define("jquery",[]=
,function(){return v})})(window);
------=_NextPart_000_00A0_01CDE289.05ABBB30
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.zaman.com.tr/js/calendar.js
/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo
* -----------------------------------------------------------
*
* The DHTML Calendar, version 1.0 "It is happening again"
*
* Details and latest version at:
* www.dynarch.com/projects/calendar
*
* This script is developed by Dynarch.com. Visit us at =
www.dynarch.com.
*
* This script is distributed under the GNU Lesser General Public =
License.
* Read the entire license text here: =
http://www.gnu.org/licenses/lgpl.html
*/
// $Id: calendar.js,v 1.1 2009/07/31 12:55:10 feride Exp $
/** The Calendar object constructor. */
Calendar =3D function (firstDayOfWeek, dateStr, onSelected, onClose) {
// member variables
this.activeDiv =3D null;
this.currentDateEl =3D null;
this.getDateStatus =3D null;
this.getDateToolTip =3D null;
this.getDateText =3D null;
this.timeout =3D null;
this.onSelected =3D onSelected || null;
this.onClose =3D onClose || null;
this.dragging =3D false;
this.hidden =3D false;
this.minYear =3D 1970;
this.maxYear =3D 2050;
this.dateFormat =3D Calendar._TT["DEF_DATE_FORMAT"];
this.ttDateFormat =3D Calendar._TT["TT_DATE_FORMAT"];
this.isPopup =3D true;
this.weekNumbers =3D true;
this.firstDayOfWeek =3D typeof firstDayOfWeek =3D=3D "number" ? =
firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.
this.showsOtherMonths =3D false;
this.dateStr =3D dateStr;
this.ar_days =3D null;
this.showsTime =3D false;
this.time24 =3D true;
this.yearStep =3D 2;
this.hiliteToday =3D true;
this.multiple =3D null;
// HTML elements
this.table =3D null;
this.element =3D null;
this.tbody =3D null;
this.firstdayname =3D null;
// Combo boxes
this.monthsCombo =3D null;
this.yearsCombo =3D null;
this.hilitedMonth =3D null;
this.activeMonth =3D null;
this.hilitedYear =3D null;
this.activeYear =3D null;
// Information
this.dateClicked =3D false;
// one-time initializations
if (typeof Calendar._SDN =3D=3D "undefined") {
// table of short day names
if (typeof Calendar._SDN_len =3D=3D "undefined")
Calendar._SDN_len =3D 3;
var ar =3D new Array();
for (var i =3D 8; i > 0;) {
ar[--i] =3D Calendar._DN[i].substr(0, Calendar._SDN_len);
}
Calendar._SDN =3D ar;
// table of short month names
if (typeof Calendar._SMN_len =3D=3D "undefined")
Calendar._SMN_len =3D 3;
ar =3D new Array();
for (var i =3D 12; i > 0;) {
ar[--i] =3D Calendar._MN[i].substr(0, Calendar._SMN_len);
}
Calendar._SMN =3D ar;
}
};
// ** constants
/// "static", needed for event handlers.
Calendar._C =3D null;
/// detect a special case of "web browser"
Calendar.is_ie =3D ( /msie/i.test(navigator.userAgent) &&
!/opera/i.test(navigator.userAgent) );
Calendar.is_ie5 =3D ( Calendar.is_ie && /msie =
5\.0/i.test(navigator.userAgent) );
/// detect Opera browser
Calendar.is_opera =3D /opera/i.test(navigator.userAgent);
/// detect KHTML-based browsers
Calendar.is_khtml =3D =
/Konqueror|Safari|KHTML/i.test(navigator.userAgent);
// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a =
separate
// library, at some point.
Calendar.getAbsolutePos =3D function(el) {
var SL =3D 0, ST =3D 0;
var is_div =3D /^div$/i.test(el.tagName);
if (is_div && el.scrollLeft)
SL =3D el.scrollLeft;
if (is_div && el.scrollTop)
ST =3D el.scrollTop;
var r =3D { x: el.offsetLeft - SL, y: el.offsetTop - ST };
if (el.offsetParent) {
var tmp =3D this.getAbsolutePos(el.offsetParent);
r.x +=3D tmp.x;
r.y +=3D tmp.y;
}
return r;
};
Calendar.isRelated =3D function (el, evt) {
var related =3D evt.relatedTarget;
if (!related) {
var type =3D evt.type;
if (type =3D=3D "mouseover") {
related =3D evt.fromElement;
} else if (type =3D=3D "mouseout") {
related =3D evt.toElement;
}
}
while (related) {
if (related =3D=3D el) {
return true;
}
related =3D related.parentNode;
}
return false;
};
Calendar.removeClass =3D function(el, className) {
if (!(el && el.className)) {
return;
}
var cls =3D el.className.split(" ");
var ar =3D new Array();
for (var i =3D cls.length; i > 0;) {
if (cls[--i] !=3D className) {
ar[ar.length] =3D cls[i];
}
}
el.className =3D ar.join(" ");
};
Calendar.addClass =3D function(el, className) {
Calendar.removeClass(el, className);
el.className +=3D " " + className;
};
// FIXME: the following 2 functions totally suck, are useless and should =
be replaced immediately.
Calendar.getElement =3D function(ev) {
var f =3D Calendar.is_ie ? window.event.srcElement : ev.currentTarget;
while (f.nodeType !=3D 1 || /^div$/i.test(f.tagName))
f =3D f.parentNode;
return f;
};
Calendar.getTargetElement =3D function(ev) {
var f =3D Calendar.is_ie ? window.event.srcElement : ev.target;
while (f.nodeType !=3D 1)
f =3D f.parentNode;
return f;
};
Calendar.stopEvent =3D function(ev) {
ev || (ev =3D window.event);
if (Calendar.is_ie) {
ev.cancelBubble =3D true;
ev.returnValue =3D false;
} else {
ev.preventDefault();
ev.stopPropagation();
}
return false;
};
Calendar.addEvent =3D function(el, evname, func) {
if (el.attachEvent) { // IE
el.attachEvent("on" + evname, func);
} else if (el.addEventListener) { // Gecko / W3C
el.addEventListener(evname, func, true);
} else {
el["on" + evname] =3D func;
}
};
Calendar.removeEvent =3D function(el, evname, func) {
if (el.detachEvent) { // IE
el.detachEvent("on" + evname, func);
} else if (el.removeEventListener) { // Gecko / W3C
el.removeEventListener(evname, func, true);
} else {
el["on" + evname] =3D null;
}
};
Calendar.createElement =3D function(type, parent) {
var el =3D null;
if (document.createElementNS) {
// use the XHTML namespace; IE won't normally get here unless
// _they_ "fix" the DOM2 implementation.
el =3D document.createElementNS("http://www.w3.org/1999/xhtml", type);
} else {
el =3D document.createElement(type);
}
if (typeof parent !=3D "undefined") {
parent.appendChild(el);
}
return el;
};
// END: UTILITY FUNCTIONS
// BEGIN: CALENDAR STATIC FUNCTIONS
/** Internal -- adds a set of events to make some element behave like a =
button. */
Calendar._add_evs =3D function(el) {
with (Calendar) {
addEvent(el, "mouseover", dayMouseOver);
addEvent(el, "mousedown", dayMouseDown);
addEvent(el, "mouseout", dayMouseOut);
if (is_ie) {
addEvent(el, "dblclick", dayMouseDblClick);
el.setAttribute("unselectable", true);
}
}
};
Calendar.findMonth =3D function(el) {
if (typeof el.month !=3D "undefined") {
return el;
} else if (typeof el.parentNode.month !=3D "undefined") {
return el.parentNode;
}
return null;
};
Calendar.findYear =3D function(el) {
if (typeof el.year !=3D "undefined") {
return el;
} else if (typeof el.parentNode.year !=3D "undefined") {
return el.parentNode;
}
return null;
};
Calendar.showMonthsCombo =3D function () {
var cal =3D Calendar._C;
if (!cal) {
return false;
}
var cal =3D cal;
var cd =3D cal.activeDiv;
var mc =3D cal.monthsCombo;
if (cal.hilitedMonth) {
Calendar.removeClass(cal.hilitedMonth, "hilite");
}
if (cal.activeMonth) {
Calendar.removeClass(cal.activeMonth, "active");
}
var mon =3D =
cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
Calendar.addClass(mon, "active");
cal.activeMonth =3D mon;
var s =3D mc.style;
s.display =3D "block";
if (cd.navtype < 0)
s.left =3D cd.offsetLeft + "px";
else {
var mcw =3D mc.offsetWidth;
if (typeof mcw =3D=3D "undefined")
// Konqueror brain-dead techniques
mcw =3D 50;
s.left =3D (cd.offsetLeft + cd.offsetWidth - mcw) + "px";
}
s.top =3D (cd.offsetTop + cd.offsetHeight) + "px";
};
Calendar.showYearsCombo =3D function (fwd) {
var cal =3D Calendar._C;
if (!cal) {
return false;
}
var cal =3D cal;
var cd =3D cal.activeDiv;
var yc =3D cal.yearsCombo;
if (cal.hilitedYear) {
Calendar.removeClass(cal.hilitedYear, "hilite");
}
if (cal.activeYear) {
Calendar.removeClass(cal.activeYear, "active");
}
cal.activeYear =3D null;
var Y =3D cal.date.getFullYear() + (fwd ? 1 : -1);
var yr =3D yc.firstChild;
var show =3D false;
for (var i =3D 12; i > 0; --i) {
if (Y >=3D cal.minYear && Y <=3D cal.maxYear) {
yr.innerHTML =3D Y;
yr.year =3D Y;
yr.style.display =3D "block";
show =3D true;
} else {
yr.style.display =3D "none";
}
yr =3D yr.nextSibling;
Y +=3D fwd ? cal.yearStep : -cal.yearStep;
}
if (show) {
var s =3D yc.style;
s.display =3D "block";
if (cd.navtype < 0)
s.left =3D cd.offsetLeft + "px";
else {
var ycw =3D yc.offsetWidth;
if (typeof ycw =3D=3D "undefined")
// Konqueror brain-dead techniques
ycw =3D 50;
s.left =3D (cd.offsetLeft + cd.offsetWidth - ycw) + "px";
}
s.top =3D (cd.offsetTop + cd.offsetHeight) + "px";
}
};
// event handlers
Calendar.tableMouseUp =3D function(ev) {
var cal =3D Calendar._C;
if (!cal) {
return false;
}
if (cal.timeout) {
clearTimeout(cal.timeout);
}
var el =3D cal.activeDiv;
if (!el) {
return false;
}
var target =3D Calendar.getTargetElement(ev);
ev || (ev =3D window.event);
Calendar.removeClass(el, "active");
if (target =3D=3D el || target.parentNode =3D=3D el) {
Calendar.cellClick(el, ev);
}
var mon =3D Calendar.findMonth(target);
var date =3D null;
if (mon) {
date =3D new Date(cal.date);
if (mon.month !=3D date.getMonth()) {
date.setMonth(mon.month);
cal.setDate(date);
cal.dateClicked =3D false;
cal.callHandler();
}
} else {
var year =3D Calendar.findYear(target);
if (year) {
date =3D new Date(cal.date);
if (year.year !=3D date.getFullYear()) {
date.setFullYear(year.year);
cal.setDate(date);
cal.dateClicked =3D false;
cal.callHandler();
}
}
}
with (Calendar) {
removeEvent(document, "mouseup", tableMouseUp);
removeEvent(document, "mouseover", tableMouseOver);
removeEvent(document, "mousemove", tableMouseOver);
cal._hideCombos();
_C =3D null;
return stopEvent(ev);
}
};
Calendar.tableMouseOver =3D function (ev) {
var cal =3D Calendar._C;
if (!cal) {
return;
}
var el =3D cal.activeDiv;
var target =3D Calendar.getTargetElement(ev);
if (target =3D=3D el || target.parentNode =3D=3D el) {
Calendar.addClass(el, "hilite active");
Calendar.addClass(el.parentNode, "rowhilite");
} else {
if (typeof el.navtype =3D=3D "undefined" || (el.navtype !=3D 50 && =
(el.navtype =3D=3D 0 || Math.abs(el.navtype) > 2)))
Calendar.removeClass(el, "active");
Calendar.removeClass(el, "hilite");
Calendar.removeClass(el.parentNode, "rowhilite");
}
ev || (ev =3D window.event);
if (el.navtype =3D=3D 50 && target !=3D el) {
var pos =3D Calendar.getAbsolutePos(el);
var w =3D el.offsetWidth;
var x =3D ev.clientX;
var dx;
var decrease =3D true;
if (x > pos.x + w) {
dx =3D x - pos.x - w;
decrease =3D false;
} else
dx =3D pos.x - x;
if (dx < 0) dx =3D 0;
var range =3D el._range;
var current =3D el._current;
var count =3D Math.floor(dx / 10) % range.length;
for (var i =3D range.length; --i >=3D 0;)
if (range[i] =3D=3D current)
break;
while (count-- > 0)
if (decrease) {
if (--i < 0)
i =3D range.length - 1;
} else if ( ++i >=3D range.length )
i =3D 0;
var newval =3D range[i];
el.innerHTML =3D newval;
cal.onUpdateTime();
}
var mon =3D Calendar.findMonth(target);
if (mon) {
if (mon.month !=3D cal.date.getMonth()) {
if (cal.hilitedMonth) {
Calendar.removeClass(cal.hilitedMonth, "hilite");
}
Calendar.addClass(mon, "hilite");
cal.hilitedMonth =3D mon;
} else if (cal.hilitedMonth) {
Calendar.removeClass(cal.hilitedMonth, "hilite");
}
} else {
if (cal.hilitedMonth) {
Calendar.removeClass(cal.hilitedMonth, "hilite");
}
var year =3D Calendar.findYear(target);
if (year) {
if (year.year !=3D cal.date.getFullYear()) {
if (cal.hilitedYear) {
Calendar.removeClass(cal.hilitedYear, "hilite");
}
Calendar.addClass(year, "hilite");
cal.hilitedYear =3D year;
} else if (cal.hilitedYear) {
Calendar.removeClass(cal.hilitedYear, "hilite");
}
} else if (cal.hilitedYear) {
Calendar.removeClass(cal.hilitedYear, "hilite");
}
}
return Calendar.stopEvent(ev);
};
Calendar.tableMouseDown =3D function (ev) {
if (Calendar.getTargetElement(ev) =3D=3D Calendar.getElement(ev)) {
return Calendar.stopEvent(ev);
}
};
Calendar.calDragIt =3D function (ev) {
var cal =3D Calendar._C;
if (!(cal && cal.dragging)) {
return false;
}
var posX;
var posY;
if (Calendar.is_ie) {
posY =3D window.event.clientY + document.body.scrollTop;
posX =3D window.event.clientX + document.body.scrollLeft;
} else {
posX =3D ev.pageX;
posY =3D ev.pageY;
}
cal.hideShowCovered();
var st =3D cal.element.style;
st.left =3D (posX - cal.xOffs) + "px";
st.top =3D (posY - cal.yOffs) + "px";
return Calendar.stopEvent(ev);
};
Calendar.calDragEnd =3D function (ev) {
var cal =3D Calendar._C;
if (!cal) {
return false;
}
cal.dragging =3D false;
with (Calendar) {
removeEvent(document, "mousemove", calDragIt);
removeEvent(document, "mouseup", calDragEnd);
tableMouseUp(ev);
}
cal.hideShowCovered();
};
Calendar.dayMouseDown =3D function(ev) {
var el =3D Calendar.getElement(ev);
if (el.disabled) {
return false;
}
var cal =3D el.calendar;
cal.activeDiv =3D el;
Calendar._C =3D cal;
if (el.navtype !=3D 300) with (Calendar) {
if (el.navtype =3D=3D 50) {
el._current =3D el.innerHTML;
addEvent(document, "mousemove", tableMouseOver);
} else
addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", =
tableMouseOver);
addClass(el, "hilite active");
addEvent(document, "mouseup", tableMouseUp);
} else if (cal.isPopup) {
cal._dragStart(ev);
}
if (el.navtype =3D=3D -1 || el.navtype =3D=3D 1) {
if (cal.timeout) clearTimeout(cal.timeout);
cal.timeout =3D setTimeout("Calendar.showMonthsCombo()", 250);
} else if (el.navtype =3D=3D -2 || el.navtype =3D=3D 2) {
if (cal.timeout) clearTimeout(cal.timeout);
cal.timeout =3D setTimeout((el.navtype > 0) ? =
"Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", =
250);
} else {
cal.timeout =3D null;
}
return Calendar.stopEvent(ev);
};
Calendar.dayMouseDblClick =3D function(ev) {
Calendar.cellClick(Calendar.getElement(ev), ev || window.event);
if (Calendar.is_ie) {
document.selection.empty();
}
};
Calendar.dayMouseOver =3D function(ev) {
var el =3D Calendar.getElement(ev);
if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
return false;
}
if (el.ttip) {
if (el.ttip.substr(0, 1) =3D=3D "_") {
el.ttip =3D el.caldate.print(el.calendar.ttDateFormat) + =
el.ttip.substr(1);
}
el.calendar.tooltips.innerHTML =3D el.ttip;
}
if (el.navtype !=3D 300) {
Calendar.addClass(el, "hilite");
if (el.caldate) {
Calendar.addClass(el.parentNode, "rowhilite");
}
}
return Calendar.stopEvent(ev);
};
Calendar.dayMouseOut =3D function(ev) {
with (Calendar) {
var el =3D getElement(ev);
if (isRelated(el, ev) || _C || el.disabled)
return false;
removeClass(el, "hilite");
if (el.caldate)
removeClass(el.parentNode, "rowhilite");
if (el.calendar)
el.calendar.tooltips.innerHTML =3D _TT["SEL_DATE"];
return stopEvent(ev);
}
};
/**
* A generic "click" handler :) handles all types of buttons defined in =
this
* calendar.
*/
Calendar.cellClick =3D function(el, ev) {
var cal =3D el.calendar;
var closing =3D false;
var newdate =3D false;
var date =3D null;
if (typeof el.navtype =3D=3D "undefined") {
if (cal.currentDateEl) {
Calendar.removeClass(cal.currentDateEl, "selected");
Calendar.addClass(el, "selected");
closing =3D (cal.currentDateEl =3D=3D el);
if (!closing) {
cal.currentDateEl =3D el;
}
}
cal.date.setDateOnly(el.caldate);
date =3D cal.date;
var other_month =3D !(cal.dateClicked =3D !el.otherMonth);
if (!other_month && !cal.currentDateEl)
cal._toggleMultipleDate(new Date(date));
else
newdate =3D !el.disabled;
// a date was clicked
if (other_month)
cal._init(cal.firstDayOfWeek, date);
} else {
if (el.navtype =3D=3D 200) {
Calendar.removeClass(el, "hilite");
cal.callCloseHandler();
return;
}
date =3D new Date(cal.date);
if (el.navtype =3D=3D 0)
date.setDateOnly(new Date()); // TODAY
// unless "today" was clicked, we assume no date was clicked so
// the selected handler will know not to close the calenar when
// in single-click mode.
// cal.dateClicked =3D (el.navtype =3D=3D 0);
cal.dateClicked =3D false;
var year =3D date.getFullYear();
var mon =3D date.getMonth();
function setMonth(m) {
var day =3D date.getDate();
var max =3D date.getMonthDays(m);
if (day > max) {
date.setDate(max);
}
date.setMonth(m);
};
switch (el.navtype) {
case 400:
Calendar.removeClass(el, "hilite"); =09
var text =3D Calendar._TT["ABOUT"];
if (typeof text !=3D "undefined") {
text +=3D cal.showsTime ? Calendar._TT["ABOUT_TIME"] : "";
} else {
// FIXME: this should be removed as soon as lang files get updated!
// text =3D "Help and about box text is not translated into this =
language.\n" +
// "If you know this language and you feel generous please update\n" =
+
// "the corresponding file in \"lang\" subdir to match =
calendar-en.js\n" +
// "and send it back to to get it into the =
distribution ;-)\n\n" +
// "Thank you!\n" +
// "http://dynarch.com/mishoo/calendar.epl\n";
}
alert(text);
return;
case -2:
if (year > cal.minYear) {
date.setFullYear(year - 1);
}
break;
case -1:
if (mon > 0) {
setMonth(mon - 1);
} else if (year-- > cal.minYear) {
date.setFullYear(year);
setMonth(11);
}
break;
case 1:
if (mon < 11) {
setMonth(mon + 1);
} else if (year < cal.maxYear) {
date.setFullYear(year + 1);
setMonth(0);
}
break;
case 2:
if (year < cal.maxYear) {
date.setFullYear(year + 1);
}
break;
case 100:
cal.setFirstDayOfWeek(el.fdow);
return;
case 50:
var range =3D el._range;
var current =3D el.innerHTML;
for (var i =3D range.length; --i >=3D 0;)
if (range[i] =3D=3D current)
break;
if (ev && ev.shiftKey) {
if (--i < 0)
i =3D range.length - 1;
} else if ( ++i >=3D range.length )
i =3D 0;
var newval =3D range[i];
el.innerHTML =3D newval;
cal.onUpdateTime();
return;
case 0:
// TODAY will bring us here
if ((typeof cal.getDateStatus =3D=3D "function") &&
cal.getDateStatus(date, date.getFullYear(), date.getMonth(), =
date.getDate())) {
return false;
}
break;
}
if (!date.equalsTo(cal.date)) {
cal.setDate(date);
newdate =3D true;
} else if (el.navtype =3D=3D 0)
newdate =3D closing =3D true;
}
if (newdate) {
ev && cal.callHandler();
}
if (closing) {
Calendar.removeClass(el, "hilite");
ev && cal.callCloseHandler();
}
};
// END: CALENDAR STATIC FUNCTIONS
// BEGIN: CALENDAR OBJECT FUNCTIONS
/**
* This function creates the calendar inside the given parent. If _par =
is
* null than it creates a popup calendar inside the BODY element. If =
_par is
* an element, be it BODY, then it creates a non-popup calendar (still
* hidden). Some properties need to be set before calling this =
function.
*/
Calendar.prototype.create =3D function (_par) {
var parent =3D null;
if (! _par) {
// default parent is the document body, in which case we create
// a popup calendar.
parent =3D document.getElementsByTagName("body")[0];
this.isPopup =3D true;
} else {
parent =3D _par;
this.isPopup =3D false;
}
this.date =3D this.dateStr ? new Date(this.dateStr) : new Date();
var table =3D Calendar.createElement("table");
this.table =3D table;
table.cellSpacing =3D 0;
table.cellPadding =3D 0;
table.calendar =3D this;
Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);
var div =3D Calendar.createElement("div");
this.element =3D div;
div.className =3D "calendar";
if (this.isPopup) {
div.style.position =3D "absolute";
div.style.display =3D "none";
}
div.appendChild(table);
var thead =3D Calendar.createElement("thead", table);
var cell =3D null;
var row =3D null;
var cal =3D this;
var hh =3D function (text, cs, navtype) {
cell =3D Calendar.createElement("td", row);
cell.colSpan =3D cs;
cell.className =3D "button";
if (navtype !=3D 0 && Math.abs(navtype) <=3D 2)
cell.className +=3D " nav";
Calendar._add_evs(cell);
cell.calendar =3D cal;
cell.navtype =3D navtype;
cell.innerHTML =3D "
" + text + "
";
return cell;
};
row =3D Calendar.createElement("tr", thead);
var title_length =3D 6;
(this.isPopup) && --title_length;
(this.weekNumbers) && ++title_length;
hh("?", 1, 400).ttip =3D Calendar._TT["INFO"];
this.title =3D hh("", title_length, 300);
this.title.className =3D "title";
if (this.isPopup) {
this.title.ttip =3D Calendar._TT["DRAG_TO_MOVE"];
this.title.style.cursor =3D "move";
hh("×", 1, 200).ttip =3D Calendar._TT["CLOSE"];
}
row =3D Calendar.createElement("tr", thead);
row.className =3D "headrow";
this._nav_py =3D hh("«", 1, -2);
this._nav_py.ttip =3D Calendar._TT["PREV_YEAR"];
this._nav_pm =3D hh("‹", 1, -1);
this._nav_pm.ttip =3D Calendar._TT["PREV_MONTH"];
this._nav_now =3D hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, =
0);
this._nav_now.ttip =3D Calendar._TT["GO_TODAY"];
this._nav_nm =3D hh("›", 1, 1);
this._nav_nm.ttip =3D Calendar._TT["NEXT_MONTH"];
this._nav_ny =3D hh("»", 1, 2);
this._nav_ny.ttip =3D Calendar._TT["NEXT_YEAR"];
// day names
row =3D Calendar.createElement("tr", thead);
row.className =3D "daynames";
if (this.weekNumbers) {
cell =3D Calendar.createElement("td", row);
cell.className =3D "name wn";
cell.innerHTML =3D Calendar._TT["WK"];
}
for (var i =3D 7; i > 0; --i) {
cell =3D Calendar.createElement("td", row);
if (!i) {
cell.navtype =3D 100;
cell.calendar =3D this;
Calendar._add_evs(cell);
}
}
this.firstdayname =3D (this.weekNumbers) ? row.firstChild.nextSibling : =
row.firstChild;
this._displayWeekdays();
var tbody =3D Calendar.createElement("tbody", table);
this.tbody =3D tbody;
for (i =3D 6; i > 0; --i) {
row =3D Calendar.createElement("tr", tbody);
if (this.weekNumbers) {
cell =3D Calendar.createElement("td", row);
}
for (var j =3D 7; j > 0; --j) {
cell =3D Calendar.createElement("td", row);
cell.calendar =3D this;
Calendar._add_evs(cell);
}
}
if (this.showsTime) {
row =3D Calendar.createElement("tr", tbody);
row.className =3D "time";
cell =3D Calendar.createElement("td", row);
cell.className =3D "time";
cell.colSpan =3D 2;
cell.innerHTML =3D Calendar._TT["TIME"] || " ";
cell =3D Calendar.createElement("td", row);
cell.className =3D "time";
cell.colSpan =3D this.weekNumbers ? 4 : 3;
(function(){
function makeTimePart(className, init, range_start, range_end) {
var part =3D Calendar.createElement("span", cell);
part.className =3D className;
part.innerHTML =3D init;
part.calendar =3D cal;
part.ttip =3D Calendar._TT["TIME_PART"];
part.navtype =3D 50;
part._range =3D [];
if (typeof range_start !=3D "number")
part._range =3D range_start;
else {
for (var i =3D range_start; i <=3D range_end; ++i) {
var txt;
if (i < 10 && range_end >=3D 10) txt =3D '0' + i;
else txt =3D '' + i;
part._range[part._range.length] =3D txt;
}
}
Calendar._add_evs(part);
return part;
};
var hrs =3D cal.date.getHours();
var mins =3D cal.date.getMinutes();
var t12 =3D !cal.time24;
var pm =3D (hrs > 12);
if (t12 && pm) hrs -=3D 12;
var H =3D makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);
var span =3D Calendar.createElement("span", cell);
span.innerHTML =3D ":";
span.className =3D "colon";
var M =3D makeTimePart("minute", mins, 0, 59);
var AP =3D null;
cell =3D Calendar.createElement("td", row);
cell.className =3D "time";
cell.colSpan =3D 2;
if (t12)
AP =3D makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
else
cell.innerHTML =3D " ";
cal.onSetTime =3D function() {
var pm, hrs =3D this.date.getHours(),
mins =3D this.date.getMinutes();
if (t12) {
pm =3D (hrs >=3D 12);
if (pm) hrs -=3D 12;
if (hrs =3D=3D 0) hrs =3D 12;
AP.innerHTML =3D pm ? "pm" : "am";
}
H.innerHTML =3D (hrs < 10) ? ("0" + hrs) : hrs;
M.innerHTML =3D (mins < 10) ? ("0" + mins) : mins;
};
cal.onUpdateTime =3D function() {
var date =3D this.date;
var h =3D parseInt(H.innerHTML, 10);
if (t12) {
if (/pm/i.test(AP.innerHTML) && h < 12)
h +=3D 12;
else if (/am/i.test(AP.innerHTML) && h =3D=3D 12)
h =3D 0;
}
var d =3D date.getDate();
var m =3D date.getMonth();
var y =3D date.getFullYear();
date.setHours(h);
date.setMinutes(parseInt(M.innerHTML, 10));
date.setFullYear(y);
date.setMonth(m);
date.setDate(d);
this.dateClicked =3D false;
this.callHandler();
};
})();
} else {
this.onSetTime =3D this.onUpdateTime =3D function() {};
}
var tfoot =3D Calendar.createElement("tfoot", table);
row =3D Calendar.createElement("tr", tfoot);
row.className =3D "footrow";
cell =3D hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);
cell.className =3D "ttip";
if (this.isPopup) {
cell.ttip =3D Calendar._TT["DRAG_TO_MOVE"];
cell.style.cursor =3D "move";
}
this.tooltips =3D cell;
div =3D Calendar.createElement("div", this.element);
this.monthsCombo =3D div;
div.className =3D "combo";
for (i =3D 0; i < Calendar._MN.length; ++i) {
var mn =3D Calendar.createElement("div");
mn.className =3D Calendar.is_ie ? "label-IEfix" : "label";
mn.month =3D i;
mn.innerHTML =3D Calendar._SMN[i];
div.appendChild(mn);
}
div =3D Calendar.createElement("div", this.element);
this.yearsCombo =3D div;
div.className =3D "combo";
for (i =3D 12; i > 0; --i) {
var yr =3D Calendar.createElement("div");
yr.className =3D Calendar.is_ie ? "label-IEfix" : "label";
div.appendChild(yr);
}
this._init(this.firstDayOfWeek, this.date);
parent.appendChild(this.element);
};
/** keyboard navigation, only for popup calendars */
Calendar._keyEvent =3D function(ev) {
var cal =3D window._dynarch_popupCalendar;
if (!cal || cal.multiple)
return false;
(Calendar.is_ie) && (ev =3D window.event);
var act =3D (Calendar.is_ie || ev.type =3D=3D "keypress"),
K =3D ev.keyCode;
if (ev.ctrlKey) {
switch (K) {
case 37: // KEY left
act && Calendar.cellClick(cal._nav_pm);
break;
case 38: // KEY up
act && Calendar.cellClick(cal._nav_py);
break;
case 39: // KEY right
act && Calendar.cellClick(cal._nav_nm);
break;
case 40: // KEY down
act && Calendar.cellClick(cal._nav_ny);
break;
default:
return false;
}
} else switch (K) {
case 32: // KEY space (now)
Calendar.cellClick(cal._nav_now);
break;
case 27: // KEY esc
act && cal.callCloseHandler();
break;
case 37: // KEY left
case 38: // KEY up
case 39: // KEY right
case 40: // KEY down
if (act) {
var prev, x, y, ne, el, step;
prev =3D K =3D=3D 37 || K =3D=3D 38;
step =3D (K =3D=3D 37 || K =3D=3D 39) ? 1 : 7;
function setVars() {
el =3D cal.currentDateEl;
var p =3D el.pos;
x =3D p & 15;
y =3D p >> 4;
ne =3D cal.ar_days[y][x];
};setVars();
function prevMonth() {
var date =3D new Date(cal.date);
date.setDate(date.getDate() - step);
cal.setDate(date);
};
function nextMonth() {
var date =3D new Date(cal.date);
date.setDate(date.getDate() + step);
cal.setDate(date);
};
while (1) {
switch (K) {
case 37: // KEY left
if (--x >=3D 0)
ne =3D cal.ar_days[y][x];
else {
x =3D 6;
K =3D 38;
continue;
}
break;
case 38: // KEY up
if (--y >=3D 0)
ne =3D cal.ar_days[y][x];
else {
prevMonth();
setVars();
}
break;
case 39: // KEY right
if (++x < 7)
ne =3D cal.ar_days[y][x];
else {
x =3D 0;
K =3D 40;
continue;
}
break;
case 40: // KEY down
if (++y < cal.ar_days.length)
ne =3D cal.ar_days[y][x];
else {
nextMonth();
setVars();
}
break;
}
break;
}
if (ne) {
if (!ne.disabled)
Calendar.cellClick(ne);
else if (prev)
prevMonth();
else
nextMonth();
}
}
break;
case 13: // KEY enter
if (act)
Calendar.cellClick(cal.currentDateEl, ev);
break;
default:
return false;
}
return Calendar.stopEvent(ev);
};
/**
* (RE)Initializes the calendar to the given date and firstDayOfWeek
*/
Calendar.prototype._init =3D function (firstDayOfWeek, date) {
var today =3D new Date(),
TY =3D today.getFullYear(),
TM =3D today.getMonth(),
TD =3D today.getDate();
this.table.style.visibility =3D "hidden";
var year =3D date.getFullYear();
if (year < this.minYear) {
year =3D this.minYear;
date.setFullYear(year);
} else if (year > this.maxYear) {
year =3D this.maxYear;
date.setFullYear(year);
}
this.firstDayOfWeek =3D firstDayOfWeek;
this.date =3D new Date(date);
var month =3D date.getMonth();
var mday =3D date.getDate();
var no_days =3D date.getMonthDays();
// calendar voodoo for computing the first day that would actually be
// displayed in the calendar, even if it's from the previous month.
// WARNING: this is magic. ;-)
date.setDate(1);
var day1 =3D (date.getDay() - this.firstDayOfWeek) % 7;
if (day1 < 0)
day1 +=3D 7;
date.setDate(-day1);
date.setDate(date.getDate() + 1);
var row =3D this.tbody.firstChild;
var MN =3D Calendar._SMN[month];
var ar_days =3D this.ar_days =3D new Array();
var weekend =3D Calendar._TT["WEEKEND"];
var dates =3D this.multiple ? (this.datesCells =3D {}) : null;
for (var i =3D 0; i < 6; ++i, row =3D row.nextSibling) {
var cell =3D row.firstChild;
if (this.weekNumbers) {
cell.className =3D "day wn";
cell.innerHTML =3D date.getWeekNumber();
cell =3D cell.nextSibling;
}
row.className =3D "daysrow";
var hasdays =3D false, iday, dpos =3D ar_days[i] =3D [];
for (var j =3D 0; j < 7; ++j, cell =3D cell.nextSibling, =
date.setDate(iday + 1)) {
iday =3D date.getDate();
var wday =3D date.getDay();
cell.className =3D "day";
cell.pos =3D i << 4 | j;
dpos[j] =3D cell;
var current_month =3D (date.getMonth() =3D=3D month);
if (!current_month) {
if (this.showsOtherMonths) {
cell.className +=3D " othermonth";
cell.otherMonth =3D true;
} else {
cell.className =3D "emptycell";
cell.innerHTML =3D " ";
cell.disabled =3D true;
continue;
}
} else {
cell.otherMonth =3D false;
hasdays =3D true;
}
cell.disabled =3D false;
cell.innerHTML =3D this.getDateText ? this.getDateText(date, iday) : =
iday;
if (dates)
dates[date.print("%Y%m%d")] =3D cell;
if (this.getDateStatus) {
var status =3D this.getDateStatus(date, year, month, iday);
if (this.getDateToolTip) {
var toolTip =3D this.getDateToolTip(date, year, month, iday);
if (toolTip)
cell.title =3D toolTip;
}
if (status =3D=3D=3D true) {
cell.className +=3D " disabled";
cell.disabled =3D true;
} else {
if (/disabled/i.test(status))
cell.disabled =3D true;
cell.className +=3D " " + status;
}
}
if (!cell.disabled) {
cell.caldate =3D new Date(date);
cell.ttip =3D "_";
if (!this.multiple && current_month
&& iday =3D=3D mday && this.hiliteToday) {
cell.className +=3D " selected";
this.currentDateEl =3D cell;
}
if (date.getFullYear() =3D=3D TY &&
date.getMonth() =3D=3D TM &&
iday =3D=3D TD) {
cell.className +=3D " today";
cell.ttip +=3D Calendar._TT["PART_TODAY"];
}
if (weekend.indexOf(wday.toString()) !=3D -1)
cell.className +=3D cell.otherMonth ? " oweekend" : " weekend";
}
}
if (!(hasdays || this.showsOtherMonths))
row.className =3D "emptyrow";
}
this.title.innerHTML =3D Calendar._MN[month] + ", " + year;
this.onSetTime();
this.table.style.visibility =3D "visible";
this._initMultipleDates();
// PROFILE
// this.tooltips.innerHTML =3D "Generated in " + ((new Date()) - today) =
+ " ms";
};
Calendar.prototype._initMultipleDates =3D function() {
if (this.multiple) {
for (var i in this.multiple) {
var cell =3D this.datesCells[i];
var d =3D this.multiple[i];
if (!d)
continue;
if (cell)
cell.className +=3D " selected";
}
}
};
Calendar.prototype._toggleMultipleDate =3D function(date) {
if (this.multiple) {
var ds =3D date.print("%Y%m%d");
var cell =3D this.datesCells[ds];
if (cell) {
var d =3D this.multiple[ds];
if (!d) {
Calendar.addClass(cell, "selected");
this.multiple[ds] =3D date;
} else {
Calendar.removeClass(cell, "selected");
delete this.multiple[ds];
}
}
}
};
Calendar.prototype.setDateToolTipHandler =3D function (unaryFunction) {
this.getDateToolTip =3D unaryFunction;
};
/**
* Calls _init function above for going to a certain date (but only if =
the
* date is different than the currently selected one).
*/
Calendar.prototype.setDate =3D function (date) {
if (!date.equalsTo(this.date)) {
this._init(this.firstDayOfWeek, date);
}
};
/**
* Refreshes the calendar. Useful if the "disabledHandler" function is
* dynamic, meaning that the list of disabled date can change at =
runtime.
* Just * call this function if you think that the list of disabled =
dates
* should * change.
*/
Calendar.prototype.refresh =3D function () {
this._init(this.firstDayOfWeek, this.date);
};
/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for =
Monday, etc.). */
Calendar.prototype.setFirstDayOfWeek =3D function (firstDayOfWeek) {
this._init(firstDayOfWeek, this.date);
this._displayWeekdays();
};
/**
* Allows customization of what dates are enabled. The "unaryFunction"
* parameter must be a function object that receives the date (as a JS =
Date
* object) and returns a boolean value. If the returned value is true =
then
* the passed date will be marked as disabled.
*/
Calendar.prototype.setDateStatusHandler =3D =
Calendar.prototype.setDisabledHandler =3D function (unaryFunction) {
this.getDateStatus =3D unaryFunction;
};
/** Customization of allowed year range for the calendar. */
Calendar.prototype.setRange =3D function (a, z) {
this.minYear =3D a;
this.maxYear =3D z;
};
/** Calls the first user handler (selectedHandler). */
Calendar.prototype.callHandler =3D function () {
if (this.onSelected) {
this.onSelected(this, this.date.print(this.dateFormat));
}
};
/** Calls the second user handler (closeHandler). */
Calendar.prototype.callCloseHandler =3D function () {
if (this.onClose) {
this.onClose(this);
}
this.hideShowCovered();
};
/** Removes the calendar object from the DOM tree and destroys it. */
Calendar.prototype.destroy =3D function () {
var el =3D this.element.parentNode;
el.removeChild(this.element);
Calendar._C =3D null;
window._dynarch_popupCalendar =3D null;
};
/**
* Moves the calendar element to a different section in the DOM tree =
(changes
* its parent).
*/
Calendar.prototype.reparent =3D function (new_parent) {
var el =3D this.element;
el.parentNode.removeChild(el);
new_parent.appendChild(el);
};
// This gets called when the user presses a mouse button anywhere in the
// document, if the calendar is shown. If the click was outside the =
open
// calendar this function closes it.
Calendar._checkCalendar =3D function(ev) {
var calendar =3D window._dynarch_popupCalendar;
if (!calendar) {
return false;
}
var el =3D Calendar.is_ie ? Calendar.getElement(ev) : =
Calendar.getTargetElement(ev);
for (; el !=3D null && el !=3D calendar.element; el =3D el.parentNode);
if (el =3D=3D null) {
// calls closeHandler which should hide the calendar.
window._dynarch_popupCalendar.callCloseHandler();
return Calendar.stopEvent(ev);
}
};
/** Shows the calendar. */
Calendar.prototype.show =3D function () {
var rows =3D this.table.getElementsByTagName("tr");
for (var i =3D rows.length; i > 0;) {
var row =3D rows[--i];
Calendar.removeClass(row, "rowhilite");
var cells =3D row.getElementsByTagName("td");
for (var j =3D cells.length; j > 0;) {
var cell =3D cells[--j];
Calendar.removeClass(cell, "hilite");
Calendar.removeClass(cell, "active");
}
}
this.element.style.display =3D "block";
this.hidden =3D false;
if (this.isPopup) {
window._dynarch_popupCalendar =3D this;
Calendar.addEvent(document, "keydown", Calendar._keyEvent);
Calendar.addEvent(document, "keypress", Calendar._keyEvent);
Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);
}
this.hideShowCovered();
};
/**
* Hides the calendar. Also removes any "hilite" from the class of any =
TD
* element.
*/
Calendar.prototype.hide =3D function () {
if (this.isPopup) {
Calendar.removeEvent(document, "keydown", Calendar._keyEvent);
Calendar.removeEvent(document, "keypress", Calendar._keyEvent);
Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);
}
this.element.style.display =3D "none";
this.hidden =3D true;
this.hideShowCovered();
};
/**
* Shows the calendar at a given absolute position (beware that, =
depending on
* the calendar element style -- position property -- this might be =
relative
* to the parent's containing rectangle).
*/
Calendar.prototype.showAt =3D function (x, y) {
var s =3D this.element.style;
s.left =3D x + "px";
s.top =3D y + "px";
this.show();
};
/** Shows the calendar near a given element. */
Calendar.prototype.showAtElement =3D function (el, opts) {
var self =3D this;
var p =3D Calendar.getAbsolutePos(el);
if (!opts || typeof opts !=3D "string") {
this.showAt(p.x, p.y + el.offsetHeight);
return true;
}
function fixPosition(box) {
if (box.x < 0)
box.x =3D 0;
if (box.y < 0)
box.y =3D 0;
var cp =3D document.createElement("div");
var s =3D cp.style;
s.position =3D "absolute";
s.right =3D s.bottom =3D s.width =3D s.height =3D "0px";
document.body.appendChild(cp);
var br =3D Calendar.getAbsolutePos(cp);
document.body.removeChild(cp);
if (Calendar.is_ie) {
br.y +=3D document.body.scrollTop;
br.x +=3D document.body.scrollLeft;
} else {
br.y +=3D window.scrollY;
br.x +=3D window.scrollX;
}
var tmp =3D box.x + box.width - br.x;
if (tmp > 0) box.x -=3D tmp;
tmp =3D box.y + box.height - br.y;
if (tmp > 0) box.y -=3D tmp;
};
this.element.style.display =3D "block";
Calendar.continuation_for_the_fucking_khtml_browser =3D function() {
var w =3D self.element.offsetWidth;
var h =3D self.element.offsetHeight;
self.element.style.display =3D "none";
var valign =3D opts.substr(0, 1);
var halign =3D "l";
if (opts.length > 1) {
halign =3D opts.substr(1, 1);
}
// vertical alignment
switch (valign) {
case "T": p.y -=3D h; break;
case "B": p.y +=3D el.offsetHeight; break;
case "C": p.y +=3D (el.offsetHeight - h) / 2; break;
case "t": p.y +=3D el.offsetHeight - h; break;
case "b": break; // already there
}
// horizontal alignment
switch (halign) {
case "L": p.x -=3D w; break;
case "R": p.x +=3D el.offsetWidth; break;
case "C": p.x +=3D (el.offsetWidth - w) / 2; break;
case "l": p.x +=3D el.offsetWidth - w; break;
case "r": break; // already there
}
p.width =3D w;
p.height =3D h + 40;
self.monthsCombo.style.display =3D "none";
fixPosition(p);
self.showAt(p.x, p.y);
};
if (Calendar.is_khtml)
setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", =
10);
else
Calendar.continuation_for_the_fucking_khtml_browser();
};
/** Customizes the date format. */
Calendar.prototype.setDateFormat =3D function (str) {
this.dateFormat =3D str;
};
/** Customizes the tooltip date format. */
Calendar.prototype.setTtDateFormat =3D function (str) {
this.ttDateFormat =3D str;
};
/**
* Tries to identify the date represented in a string. If successful =
it also
* calls this.setDate which moves the calendar to the given date.
*/
Calendar.prototype.parseDate =3D function(str, fmt) {
if (!fmt)
fmt =3D this.dateFormat;
this.setDate(Date.parseDate(str, fmt));
};
Calendar.prototype.hideShowCovered =3D function () {
if (!Calendar.is_ie && !Calendar.is_opera)
return;
function getVisib(obj){
var value =3D obj.style.visibility;
if (!value) {
if (document.defaultView && typeof =
(document.defaultView.getComputedStyle) =3D=3D "function") { // Gecko, =
W3C
if (!Calendar.is_khtml)
value =3D document.defaultView.
getComputedStyle(obj, "").getPropertyValue("visibility");
else
value =3D '';
} else if (obj.currentStyle) { // IE
value =3D obj.currentStyle.visibility;
} else
value =3D '';
}
return value;
};
var tags =3D new Array("applet", "iframe", "select");
var el =3D this.element;
var p =3D Calendar.getAbsolutePos(el);
var EX1 =3D p.x;
var EX2 =3D el.offsetWidth + EX1;
var EY1 =3D p.y;
var EY2 =3D el.offsetHeight + EY1;
for (var k =3D tags.length; k > 0; ) {
var ar =3D document.getElementsByTagName(tags[--k]);
var cc =3D null;
for (var i =3D ar.length; i > 0;) {
cc =3D ar[--i];
p =3D Calendar.getAbsolutePos(cc);
var CX1 =3D p.x;
var CX2 =3D cc.offsetWidth + CX1;
var CY1 =3D p.y;
var CY2 =3D cc.offsetHeight + CY1;
if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 =
< EY1)) {
if (!cc.__msh_save_visibility) {
cc.__msh_save_visibility =3D getVisib(cc);
}
cc.style.visibility =3D cc.__msh_save_visibility;
} else {
if (!cc.__msh_save_visibility) {
cc.__msh_save_visibility =3D getVisib(cc);
}
cc.style.visibility =3D "hidden";
}
}
}
};
/** Internal function; it displays the bar with the names of the =
weekday. */
Calendar.prototype._displayWeekdays =3D function () {
var fdow =3D this.firstDayOfWeek;
var cell =3D this.firstdayname;
var weekend =3D Calendar._TT["WEEKEND"];
for (var i =3D 0; i < 7; ++i) {
cell.className =3D "day name";
var realday =3D (i + fdow) % 7;
if (i) {
cell.ttip =3D Calendar._TT["DAY_FIRST"].replace("%s", =
Calendar._DN[realday]);
cell.navtype =3D 100;
cell.calendar =3D this;
cell.fdow =3D realday;
Calendar._add_evs(cell);
}
if (weekend.indexOf(realday.toString()) !=3D -1) {
Calendar.addClass(cell, "weekend");
}
cell.innerHTML =3D Calendar._SDN[(i + fdow) % 7];
cell =3D cell.nextSibling;
}
};
/** Internal function. Hides all combo boxes that might be displayed. =
*/
Calendar.prototype._hideCombos =3D function () {
this.monthsCombo.style.display =3D "none";
this.yearsCombo.style.display =3D "none";
};
/** Internal function. Starts dragging the element. */
Calendar.prototype._dragStart =3D function (ev) {
if (this.dragging) {
return;
}
this.dragging =3D true;
var posX;
var posY;
if (Calendar.is_ie) {
posY =3D window.event.clientY + document.body.scrollTop;
posX =3D window.event.clientX + document.body.scrollLeft;
} else {
posY =3D ev.clientY + window.scrollY;
posX =3D ev.clientX + window.scrollX;
}
var st =3D this.element.style;
this.xOffs =3D posX - parseInt(st.left);
this.yOffs =3D posY - parseInt(st.top);
with (Calendar) {
addEvent(document, "mousemove", calDragIt);
addEvent(document, "mouseup", calDragEnd);
}
};
// BEGIN: DATE OBJECT PATCHES
/** Adds the number of days array to the Date object. */
Date._MD =3D new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/** Constants used for time computations */
Date.SECOND =3D 1000 /* milliseconds */;
Date.MINUTE =3D 60 * Date.SECOND;
Date.HOUR =3D 60 * Date.MINUTE;
Date.DAY =3D 24 * Date.HOUR;
Date.WEEK =3D 7 * Date.DAY;
Date.parseDate =3D function(str, fmt) {
var today =3D new Date();
var y =3D 0;
var m =3D -1;
var d =3D 0;
var a =3D str.split(/\W+/);
var b =3D fmt.match(/%./g);
var i =3D 0, j =3D 0;
var hr =3D 0;
var min =3D 0;
for (i =3D 0; i < a.length; ++i) {
if (!a[i])
continue;
switch (b[i]) {
case "%d":
case "%e":
d =3D parseInt(a[i], 10);
break;
case "%m":
m =3D parseInt(a[i], 10) - 1;
break;
case "%Y":
case "%y":
y =3D parseInt(a[i], 10);
(y < 100) && (y +=3D (y > 29) ? 1900 : 2000);
break;
case "%b":
case "%B":
for (j =3D 0; j < 12; ++j) {
if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D =
a[i].toLowerCase()) { m =3D j; break; }
}
break;
case "%H":
case "%I":
case "%k":
case "%l":
hr =3D parseInt(a[i], 10);
break;
case "%P":
case "%p":
if (/pm/i.test(a[i]) && hr < 12)
hr +=3D 12;
else if (/am/i.test(a[i]) && hr >=3D 12)
hr -=3D 12;
break;
case "%M":
min =3D parseInt(a[i], 10);
break;
}
}
if (isNaN(y)) y =3D today.getFullYear();
if (isNaN(m)) m =3D today.getMonth();
if (isNaN(d)) d =3D today.getDate();
if (isNaN(hr)) hr =3D today.getHours();
if (isNaN(min)) min =3D today.getMinutes();
if (y !=3D 0 && m !=3D -1 && d !=3D 0)
return new Date(y, m, d, hr, min, 0);
y =3D 0; m =3D -1; d =3D 0;
for (i =3D 0; i < a.length; ++i) {
if (a[i].search(/[a-zA-Z]+/) !=3D -1) {
var t =3D -1;
for (j =3D 0; j < 12; ++j) {
if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D =
a[i].toLowerCase()) { t =3D j; break; }
}
if (t !=3D -1) {
if (m !=3D -1) {
d =3D m+1;
}
m =3D t;
}
} else if (parseInt(a[i], 10) <=3D 12 && m =3D=3D -1) {
m =3D a[i]-1;
} else if (parseInt(a[i], 10) > 31 && y =3D=3D 0) {
y =3D parseInt(a[i], 10);
(y < 100) && (y +=3D (y > 29) ? 1900 : 2000);
} else if (d =3D=3D 0) {
d =3D a[i];
}
}
if (y =3D=3D 0)
y =3D today.getFullYear();
if (m !=3D -1 && d !=3D 0)
return new Date(y, m, d, hr, min, 0);
return today;
};
/** Returns the number of days in the current month */
Date.prototype.getMonthDays =3D function(month) {
var year =3D this.getFullYear();
if (typeof month =3D=3D "undefined") {
month =3D this.getMonth();
}
if (((0 =3D=3D (year%4)) && ( (0 !=3D (year%100)) || (0 =3D=3D =
(year%400)))) && month =3D=3D 1) {
return 29;
} else {
return Date._MD[month];
}
};
/** Returns the number of day in the year. */
Date.prototype.getDayOfYear =3D function() {
var now =3D new Date(this.getFullYear(), this.getMonth(), =
this.getDate(), 0, 0, 0);
var then =3D new Date(this.getFullYear(), 0, 0, 0, 0, 0);
var time =3D now - then;
return Math.floor(time / Date.DAY);
};
/** Returns the number of the week in year, as defined in ISO 8601. */
Date.prototype.getWeekNumber =3D function() {
var d =3D new Date(this.getFullYear(), this.getMonth(), this.getDate(), =
0, 0, 0);
var DoW =3D d.getDay();
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu
var ms =3D d.valueOf(); // GMT
d.setMonth(0);
d.setDate(4); // Thu in Week 1
return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;
};
/** Checks date and time equality */
Date.prototype.equalsTo =3D function(date) {
return ((this.getFullYear() =3D=3D date.getFullYear()) &&
(this.getMonth() =3D=3D date.getMonth()) &&
(this.getDate() =3D=3D date.getDate()) &&
(this.getHours() =3D=3D date.getHours()) &&
(this.getMinutes() =3D=3D date.getMinutes()));
};
/** Set only the year, month, date parts (keep existing time) */
Date.prototype.setDateOnly =3D function(date) {
var tmp =3D new Date(date);
this.setDate(1);
this.setFullYear(tmp.getFullYear());
this.setMonth(tmp.getMonth());
this.setDate(tmp.getDate());
};
/** Prints the date in a string according to the given format. */
Date.prototype.print =3D function (str) {
var m =3D this.getMonth();
var d =3D this.getDate();
var y =3D this.getFullYear();
var wn =3D this.getWeekNumber();
var w =3D this.getDay();
var s =3D {};
var hr =3D this.getHours();
var pm =3D (hr >=3D 12);
var ir =3D (pm) ? (hr - 12) : hr;
var dy =3D this.getDayOfYear();
if (ir =3D=3D 0)
ir =3D 12;
var min =3D this.getMinutes();
var sec =3D this.getSeconds();
s["%a"] =3D Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]
s["%A"] =3D Calendar._DN[w]; // full weekday name
s["%b"] =3D Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]
s["%B"] =3D Calendar._MN[m]; // full month name
// FIXME: %c : preferred date and time representation for the current =
locale
s["%C"] =3D 1 + Math.floor(y / 100); // the century number
s["%d"] =3D (d < 10) ? ("0" + d) : d; // the day of the month (range 01 =
to 31)
s["%e"] =3D d; // the day of the month (range 1 to 31)
// FIXME: %D : american date style: %m/%d/%y
// FIXME: %E, %F, %G, %g, %h (man strftime)
s["%H"] =3D (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h =
format)
s["%I"] =3D (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h =
format)
s["%j"] =3D (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; =
// day of the year (range 001 to 366)
s["%k"] =3D hr; // hour, range 0 to 23 (24h format)
s["%l"] =3D ir; // hour, range 1 to 12 (12h format)
s["%m"] =3D (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12
s["%M"] =3D (min < 10) ? ("0" + min) : min; // minute, range 00 to 59
s["%n"] =3D "\n"; // a newline character
s["%p"] =3D pm ? "PM" : "AM";
s["%P"] =3D pm ? "pm" : "am";
// FIXME: %r : the time in am/pm notation %I:%M:%S %p
// FIXME: %R : the time in 24-hour notation %H:%M
s["%s"] =3D Math.floor(this.getTime() / 1000);
s["%S"] =3D (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59
s["%t"] =3D "\t"; // a tab character
// FIXME: %T : the time in 24-hour notation (%H:%M:%S)
s["%U"] =3D s["%W"] =3D s["%V"] =3D (wn < 10) ? ("0" + wn) : wn;
s["%u"] =3D w + 1; // the day of the week (range 1 to 7, 1 =3D MON)
s["%w"] =3D w; // the day of the week (range 0 to 6, 0 =3D SUN)
// FIXME: %x : preferred date representation for the current locale =
without the time
// FIXME: %X : preferred time representation for the current locale =
without the date
s["%y"] =3D ('' + y).substr(2, 2); // year without the century (range =
00 to 99)
s["%Y"] =3D y; // year with the century
s["%%"] =3D "%"; // a literal '%' character
var re =3D /%./g;
if (!Calendar.is_ie5 && !Calendar.is_khtml)
return str.replace(re, function (par) { return s[par] || par; });
var a =3D str.match(re);
for (var i =3D 0; i < a.length; i++) {
var tmp =3D s[a[i]];
if (tmp) {
re =3D new RegExp(a[i], 'g');
str =3D str.replace(re, tmp);
}
}
return str;
};
Date.prototype.__msh_oldSetFullYear =3D Date.prototype.setFullYear;
Date.prototype.setFullYear =3D function(y) {
var d =3D new Date(this);
d.__msh_oldSetFullYear(y);
if (d.getMonth() !=3D this.getMonth())
this.setDate(28);
this.__msh_oldSetFullYear(y);
};
// END: DATE OBJECT PATCHES
// global object that remembers the calendar
window._dynarch_popupCalendar =3D null;
------=_NextPart_000_00A0_01CDE289.05ABBB30
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.zaman.com.tr/js/calendar-tr.js
/////////////////////////////////////////////////////////////////////////=
/////////////////////
// Turkish Translation by Nuri AKMAN
// Location: Ankara/TURKEY
// e-mail : nuriakman@hotmail.com
// Date : April, 9 2003
//
// Note: if Turkish Characters does not shown on you screen
// please include falowing line your html code:
//
//
//
/////////////////////////////////////////////////////////////////////////=
/////////////////////
// ** I18N
/**/
Calendar._DN =3D new Array
("Pazar",
"Pazartesi",
"Sal=C4=B1",
"=C3=87ar=C5=9Famba",
"Per=C5=9Fembe",
"Cuma",
"Cumartesi",
"Pazar");
Calendar._SDN =3D new Array
("Paz",
"Pzt",
"Sal=C4=B1",
"=C3=87r=C5=9F",
"Pr=C5=9F",
"Cum",
"Cmt",
"Paz");
Calendar._MN =3D new Array
("Ocak",
"=C5=9Eubat",
"Mart",
"Nisan",
"May=C4=B1s",
"Haziran",
"Temmuz",
"A=C4=9Fustos",
"Eyl=C3=BCl",
"Ekim",
"Kas=C4=B1m",
"Aral=C4=B1k");
Calendar._SMN =3D new Array
("Ock",
"=C5=9Ebt",
"Mrt",
"Nsn",
"Mys",
"Hzr",
"Tmz",
"A=C4=9Fs",
"Eyl",
"Ekm",
"Ksm",
"Arl");
/*
Calendar._DN =3D new Array
("07",
"01",
"02",
"03",
"04",
"05",
"06",
"07");
Calendar._SDN =3D new Array
("07",
"01",
"02",
"03",
"04",
"05",
"06",
"07");
Calendar._MN =3D new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
Calendar._SMN =3D new Array
("01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12");
*/
Calendar._FD =3D 1;
// tooltips
Calendar._TT =3D {};
Calendar._TT["INFO"] =3D "Takvim hakk=C4=B1nda";
Calendar._TT["ABOUT"] =3D
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate =
this this ;-)
"Son versiyon i=C3=A7in : http://www.dynarch.com/projects/calendar/\n" +
"GNU LGPL alt=C4=B1nda da=C4=9F=C4=B1t=C4=B1lmaktad=C4=B1r. Detaylar =
i=C3=A7in http://gnu.org/licenses/lgpl.html adresini ziyaret ediniz." +
"\n\n" +
"Tarih Se=C3=A7imi:\n" +
"- Y=C4=B1l=C4=B1 se=C3=A7ebilmek i=C3=A7in \xab, \xbb =
d=C3=BC=C4=9Fmelerini kullan=C4=B1n\n" +
"- Ay=C4=B1 se=C3=A7ebilmek i=C3=A7in " + String.fromCharCode(0x2039) + =
", " + String.fromCharCode(0x203a) + " d=C3=BC=C4=9Fmelerini =
kullan=C4=B1n\n" +
"- Daha h=C4=B1zl=C4=B1 bir se=C3=A7im i=C3=A7in yukar=C4=B1daki =
d=C3=BC=C4=9Fmelerden herhangi birini bas=C4=B1l=C4=B1 tutun.";
Calendar._TT["ABOUT_TIME"] =3D "\n\n" +
"Zaman Se=C3=A7imi:\n" +
"- Zaman elemanlar=C4=B1ndan birini art=C4=B1rabilmek i=C3=A7in =
=C3=BCzerine t=C4=B1klay=C4=B1n=C4=B1z\n" +
"- veya Shift-azaltmak i=C3=A7in t=C4=B1klay=C4=B1n=C4=B1z\n" +
"- veya daha h=C4=B1zla se=C3=A7im i=C3=A7in t=C4=B1klay=C4=B1n and =
=C3=A7ekin.";
Calendar._TT["TOGGLE"] =3D "Haftan=C4=B1n ilk g=C3=BCn=C3=BCn=C3=BC =
kayd=C4=B1r";
Calendar._TT["PREV_YEAR"] =3D "=C3=96nceki Y=C4=B1l (Men=C3=BC i=C3=A7in =
bas=C4=B1l=C4=B1 tutunuz)";
Calendar._TT["PREV_MONTH"] =3D "=C3=96nceki Ay (Men=C3=BC i=C3=A7in =
bas=C4=B1l=C4=B1 tutunuz)";
Calendar._TT["GO_TODAY"] =3D "Bug=C3=BCn'e git";
Calendar._TT["NEXT_MONTH"] =3D "Sonraki Ay (Men=C3=BC i=C3=A7in =
bas=C4=B1l=C4=B1 tutunuz)";
Calendar._TT["NEXT_YEAR"] =3D "Sonraki Y=C4=B1l (Men=C3=BC i=C3=A7in =
bas=C4=B1l=C4=B1 tutunuz)";
Calendar._TT["SEL_DATE"] =3D "Tarih se=C3=A7iniz";
Calendar._TT["DRAG_TO_MOVE"] =3D "Ta=C5=9F=C4=B1mak i=C3=A7in =
s=C3=BCr=C3=BCkleyiniz";
Calendar._TT["PART_TODAY"] =3D " (bug=C3=BCn)";
Calendar._TT["MON_FIRST"] =3D "Takvim Pazartesi g=C3=BCn=C3=BCnden =
ba=C5=9Flas=C4=B1n";
Calendar._TT["SUN_FIRST"] =3D "Takvim Pazar g=C3=BCn=C3=BCnden =
ba=C5=9Flas=C4=B1n";
Calendar._TT["CLOSE"] =3D "Kapat";
Calendar._TT["TODAY"] =3D "Bug=C3=BCn";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] =3D "dd.mm.y";
Calendar._TT["TT_DATE_FORMAT"] =3D "%a, %B %e";
Calendar._TT["WK"] =3D "Hafta";
Calendar._TT["WEEKEND"] =3D "0,6";
Calendar._TT["DAY_FIRST"] =3D "1"
------=_NextPart_000_00A0_01CDE289.05ABBB30
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.zaman.com.tr/js/calendar-setup.js
/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/
* =
-------------------------------------------------------------------------=
--
*
* The DHTML Calendar
*
* Details and latest version at:
* http://dynarch.com/mishoo/calendar.epl
*
* This script is distributed under the GNU Lesser General Public =
License.
* Read the entire license text here: =
http://www.gnu.org/licenses/lgpl.html
*
* This file defines helper functions for setting up the calendar. They =
are
* intended to help non-programmers get a working calendar on their site
* quickly. This script should not be seen as part of the calendar. It =
just
* shows you what one can do with the calendar, while in the same time
* providing a quick and simple method for setting it up. If you need
* exhaustive customization of the calendar creation process feel free =
to
* modify this code to suit your needs (this is recommended and much =
better
* than modifying calendar.js itself).
*/
// $Id: calendar-setup.js,v 1.1 2009/07/31 12:55:10 feride Exp $
/**
* This function "patches" an input field (or other element) to use a =
calendar
* widget for date selection.
*
* The "params" is a single object that can have the following =
properties:
*
* prop. name | description
* =
-------------------------------------------------------------------------=
------------------------
* inputField | the ID of an input field to store the date
* displayArea | the ID of a DIV or other element to show the date
* button | ID of a button or other element that will trigger =
the calendar
* eventName | event that will trigger the calendar, without the =
"on" prefix (default: "click")
* ifFormat | date format that will be stored in the input field
* daFormat | the date format that will be used to display the =
date in displayArea
* singleClick | (true/false) wether the calendar is in single click =
mode or not (default: true)
* firstDay | numeric: 0 to 6. "0" means display Sunday first, =
"1" means display Monday first, etc.
* align | alignment (default: "Br"); if you don't know what's =
this see the calendar documentation
* range | array with 2 elements. Default: [1900, 2999] -- =
the range of years available
* weekNumbers | (true/false) if it's true (default) the calendar =
will display week numbers
* flat | null or element ID; if not null the calendar will =
be a flat calendar having the parent with the given ID
* flatCallback | function that receives a JS Date object and returns =
an URL to point the browser to (for flat calendar)
* disableFunc | function that receives a JS Date object and should =
return true if that date has to be disabled in the calendar
* onSelect | function that gets called when a date is selected. =
You don't _have_ to supply this (the default is generally okay)
* onClose | function that gets called when the calendar is =
closed. [default]
* onUpdate | function that gets called after the date is updated =
in the input field. Receives a reference to the calendar.
* date | the date that the calendar will be initially =
displayed to
* showsTime | default: false; if true the calendar will include a =
time selector
* timeFormat | the time format; can be "12" or "24", default is =
"12"
* electric | if true (default) then given fields/date areas are =
updated for each move; otherwise they're updated only on close
* step | configures the step of the years in drop-down =
boxes; default: 2
* position | configures the calendar absolute position; default: =
null
* cache | if "true" (but default: "false") it will reuse the =
same calendar object, where possible
* showOthers | if "true" (but default: "false") it will show days =
from other months too
*
* None of them is required, they all have default values. However, if =
you
* pass none of "inputField", "displayArea" or "button" you'll get a =
warning
* saying "nothing to setup".
*/
Calendar.setup =3D function (params) {
function param_default(pname, def) { if (typeof params[pname] =3D=3D =
"undefined") { params[pname] =3D def; } };
param_default("inputField", null);
param_default("displayArea", null);
param_default("button", null);
param_default("eventName", "click");
param_default("ifFormat", "%Y/%m/%d");
param_default("daFormat", "%Y/%m/%d");
param_default("singleClick", true);
param_default("disableFunc", null);
param_default("dateStatusFunc", params["disableFunc"]); // takes =
precedence if both are defined
param_default("dateText", null);
param_default("firstDay", null);
param_default("align", "Br");
param_default("range", [1900, 2999]);
param_default("weekNumbers", true);
param_default("flat", null);
param_default("flatCallback", null);
param_default("onSelect", null);
param_default("onClose", null);
param_default("onUpdate", null);
param_default("date", null);
param_default("showsTime", false);
param_default("timeFormat", "24");
param_default("electric", true);
param_default("step", 2);
param_default("position", null);
param_default("cache", false);
param_default("showOthers", false);
param_default("multiple", null);
var tmp =3D ["inputField", "displayArea", "button"];
for (var i in tmp) {
if (typeof params[tmp[i]] =3D=3D "string") {
params[tmp[i]] =3D document.getElementById(params[tmp[i]]);
}
}
if (!(params.flat || params.multiple || params.inputField || =
params.displayArea || params.button)) {
alert("Calendar.setup:\n Nothing to setup (no fields found). Please =
check your code");
return false;
}
function onSelect(cal) {
var p =3D cal.params;
var update =3D (cal.dateClicked || p.electric);
if (update && p.inputField) {
p.inputField.value =3D cal.date.print(p.ifFormat);
if (typeof p.inputField.onchange =3D=3D "function")
p.inputField.onchange();
}
if (update && p.displayArea)
p.displayArea.innerHTML =3D cal.date.print(p.daFormat);
if (update && typeof p.onUpdate =3D=3D "function")
p.onUpdate(cal);
if (update && p.flat) {
if (typeof p.flatCallback =3D=3D "function")
p.flatCallback(cal);
}
if (update && p.singleClick && cal.dateClicked)
cal.callCloseHandler();
};
if (params.flat !=3D null) {
if (typeof params.flat =3D=3D "string")
params.flat =3D document.getElementById(params.flat);
if (!params.flat) {
alert("Calendar.setup:\n Flat specified but can't find parent.");
return false;
}
var cal =3D new Calendar(params.firstDay, params.date, params.onSelect =
|| onSelect);
cal.showsOtherMonths =3D params.showOthers;
cal.showsTime =3D params.showsTime;
cal.time24 =3D (params.timeFormat =3D=3D "24");
cal.params =3D params;
cal.weekNumbers =3D params.weekNumbers;
cal.setRange(params.range[0], params.range[1]);
cal.setDateStatusHandler(params.dateStatusFunc);
cal.getDateText =3D params.dateText;
if (params.ifFormat) {
cal.setDateFormat(params.ifFormat);
}
if (params.inputField && typeof params.inputField.value =3D=3D =
"string") {
cal.parseDate(params.inputField.value);
}
cal.create(params.flat);
cal.show();
return false;
}
var triggerEl =3D params.button || params.displayArea || =
params.inputField;
triggerEl["on" + params.eventName] =3D function() {
var dateEl =3D params.inputField || params.displayArea;
var dateFmt =3D params.inputField ? params.ifFormat : params.daFormat;
var mustCreate =3D false;
var cal =3D window.calendar;
if (dateEl)
params.date =3D Date.parseDate(dateEl.value || dateEl.innerHTML, =
dateFmt);
if (!(cal && params.cache)) {
window.calendar =3D cal =3D new Calendar(params.firstDay,
params.date,
params.onSelect || onSelect,
params.onClose || function(cal) { cal.hide(); });
cal.showsTime =3D params.showsTime;
cal.time24 =3D (params.timeFormat =3D=3D "24");
cal.weekNumbers =3D params.weekNumbers;
mustCreate =3D true;
} else {
if (params.date)
cal.setDate(params.date);
cal.hide();
}
if (params.multiple) {
cal.multiple =3D {};
for (var i =3D params.multiple.length; --i >=3D 0;) {
var d =3D params.multiple[i];
var ds =3D d.print("%Y%m%d");
cal.multiple[ds] =3D d;
}
}
cal.showsOtherMonths =3D params.showOthers;
cal.yearStep =3D params.step;
cal.setRange(params.range[0], params.range[1]);
cal.params =3D params;
cal.setDateStatusHandler(params.dateStatusFunc);
cal.getDateText =3D params.dateText;
cal.setDateFormat(dateFmt);
if (mustCreate)
cal.create();
cal.refresh();
if (!params.position)
cal.showAtElement(params.button || params.displayArea || =
params.inputField, params.align);
else
cal.showAt(params.position[0], params.position[1]);
return false;
};
return cal;
};
------=_NextPart_000_00A0_01CDE289.05ABBB30
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js
/* SWFObject v2.2 =0A=
is released under the MIT License =
=0A=
*/=0A=
var swfobject=3Dfunction(){var =
D=3D"undefined",r=3D"object",S=3D"Shockwave =
Flash",W=3D"ShockwaveFlash.ShockwaveFlash",q=3D"application/x-shockwave-f=
lash",R=3D"SWFObjectExprInst",x=3D"onreadystatechange",O=3Dwindow,j=3Ddoc=
ument,t=3Dnavigator,T=3Dfalse,U=3D[h],o=3D[],N=3D[],I=3D[],l,Q,E,B,J=3Dfa=
lse,a=3Dfalse,n,G,m=3Dtrue,M=3Dfunction(){var aa=3Dtypeof =
j.getElementById!=3DD&&typeof j.getElementsByTagName!=3DD&&typeof =
j.createElement!=3DD,ah=3Dt.userAgent.toLowerCase(),Y=3Dt.platform.toLowe=
rCase(),ae=3DY?/win/.test(Y):/win/.test(ah),ac=3DY?/mac/.test(Y):/mac/.te=
st(ah),af=3D/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d=
+)?).*$/,"$1")):false,X=3D!+"\v1",ag=3D[0,0,0],ab=3Dnull;if(typeof =
t.plugins!=3DD&&typeof =
t.plugins[S]=3D=3Dr){ab=3Dt.plugins[S].description;if(ab&&!(typeof =
t.mimeTypes!=3DD&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=3Dtru=
e;X=3Dfalse;ab=3Dab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=3DparseInt(a=
b.replace(/^(.*)\..*$/,"$1"),10);ag[1]=3DparseInt(ab.replace(/^.*\.(.*)\s=
.*$/,"$1"),10);ag[2]=3D/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-=
Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=3DD){try{var =
ad=3Dnew =
ActiveXObject(W);if(ad){ab=3Dad.GetVariable("$version");if(ab){X=3Dtrue;a=
b=3Dab.split(" =
")[1].split(",");ag=3D[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[=
2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=3D=
function(){if(!M.w3){return}if((typeof =
j.readyState!=3DD&&j.readyState=3D=3D"complete")||(typeof =
j.readyState=3D=3DD&&(j.getElementsByTagName("body")[0]||j.body))){f()}if=
(!J){if(typeof =
j.addEventListener!=3DD){j.addEventListener("DOMContentLoaded",f,false)}i=
f(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=3D=3D"complete"=
){j.detachEvent(x,arguments.callee);f()}});if(O=3D=3Dtop){(function(){if(=
J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(argu=
ments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/lo=
aded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}=
f()})()}s(f)}}();function f(){if(J){return}try{var =
Z=3Dj.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode=
.removeChild(Z)}catch(aa){return}J=3Dtrue;var X=3DU.length;for(var =
Y=3D0;Y0){for(var af=3D0;af0){var =
ae=3Dc(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(=
ab){aa.success=3Dtrue;aa.ref=3Dz(Y);ab(aa)}}else{if(o[af].expressInstall&=
&A()){var =
ai=3D{};ai.data=3Do[af].expressInstall;ai.width=3Dae.getAttribute("width"=
)||"0";ai.height=3Dae.getAttribute("height")||"0";if(ae.getAttribute("cla=
ss")){ai.styleclass=3Dae.getAttribute("class")}if(ae.getAttribute("align"=
)){ai.align=3Dae.getAttribute("align")}var ah=3D{};var =
X=3Dae.getElementsByTagName("param");var ac=3DX.length;for(var =
ad=3D0;ad'}}aa.outerHTML=3D'