jablonka.czprosek.czf

websvn

Subversion Repositories:
[/] [templates/] [calm/] [collapse.js] - Blame information for rev 1

 

Line No. Rev Author Line
11simandl/***********************************************
2* Switch Content script- Š Dynamic Drive (www.dynamicdrive.com)
3* This notice must stay intact for legal use. Last updated April 2nd, 2005.
4* Visit http://www.dynamicdrive.com/ for full source code
5***********************************************/
6 
7var enablepersist="on" // Enable saving state of content structure using session cookies? (on/off)
8var collapseprevious="yes" // Collapse previously open content when opening present? (yes/no)
9 
10var contractsymbol='<img src="'+getPath()+'/templates/calm/images/toggleup.png">' // HTML for contract symbol. For image, use: <img src="${prefix}whatever.gif">
11var expandsymbol='<img src="'+getPath()+'/templates/calm/images/toggledown.png">' // HTML for expand symbol.
12var expandonload=false
13 
14if (document.getElementById)
15{
16 document.write('<style type="text/css">')
17 document.write('.switchcontent{display:none;}')
18 document.write('</style>')
19}
20 
21function getElementbyClass(rootobj, classname)
22{
23 var temparray=new Array()
24 var inc=0
25 for (i=0; i<rootobj.length; i++)
26 {
27 if (rootobj[i].className==classname)
28 temparray[inc++]=rootobj[i]
29 }
30 return temparray
31}
32 
33function sweeptoggle(ec)
34{
35 var thestate=(ec=="expand")? "block" : "none"
36 var inc=0
37 while (ccollect[inc])
38 {
39 ccollect[inc].style.display=thestate
40 inc++
41 }
42 revivestatus()
43 collapseprevious = (ec=="expand")? "no" : "yes"
44}
45 
46 
47function contractcontent(omit)
48{
49 var inc=0
50 while (ccollect[inc])
51 {
52 if (ccollect[inc].id!=omit)
53 ccollect[inc].style.display="none"
54 inc++
55 }
56}
57 
58function expandcontent(curobj, cid)
59{
60 var spantags=curobj.getElementsByTagName("SPAN")
61 var showstateobj=getElementbyClass(spantags, "showstate")
62 if (ccollect.length>0)
63 {
64 if (collapseprevious=="yes")
65 contractcontent(cid)
66 document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
67 if (showstateobj.length>0) //if "showstate" span exists in header
68 {
69 if (collapseprevious=="no")
70 showstateobj[0].innerHTML=(document.getElementById(cid).style.display=="block")? contractsymbol : expandsymbol
71 else
72 revivestatus()
73 }
74 }
75}
76 
77function revivecontent()
78{
79 contractcontent("omitnothing")
80 selectedItem=getselectedItem()
81 selectedComponents=selectedItem.split("|")
82 collapseprevious=selectedComponents[0]
83 for (i=1; i<selectedComponents.length-1; i++)
84 document.getElementById(selectedComponents[i]).style.display="block"
85}
86 
87function revivestatus()
88{
89 var inc=0
90 while (statecollect[inc])
91 {
92 if (ccollect[inc].style.display=="block")
93 statecollect[inc].innerHTML=contractsymbol
94 else
95 statecollect[inc].innerHTML=expandsymbol
96 inc++
97 }
98}
99 
100function get_cookie(Name)
101{
102 var search = Name + "="
103 var returnvalue = "";
104 if (document.cookie.length > 0)
105 {
106 offset = document.cookie.indexOf(search)
107 if (offset != -1)
108 {
109 offset += search.length
110 end = document.cookie.indexOf(";", offset);
111 if (end == -1) end = document.cookie.length;
112 returnvalue=unescape(document.cookie.substring(offset, end))
113 }
114 }
115 return returnvalue;
116}
117 
118function getselectedItem()
119{
120 if (get_cookie(window.location.pathname) != "")
121 {
122 selectedItem=get_cookie(window.location.pathname)
123 return selectedItem
124 }
125 else
126 return ""
127}
128 
129function saveswitchstate()
130{
131 var inc=0, selectedItem=collapseprevious+"|"
132 while (ccollect[inc])
133 {
134 if (ccollect[inc].style.display=="block")
135 selectedItem+=ccollect[inc].id+"|"
136 inc++
137 }
138 document.cookie=window.location.pathname+"="+selectedItem
139}
140 
141function do_onload()
142{
143 uniqueidn=window.location.pathname+"firsttimeload"
144 var alltags=document.all? document.all : document.getElementsByTagName("*")
145 ccollect=getElementbyClass(alltags, "switchcontent")
146 statecollect=getElementbyClass(alltags, "showstate")
147 if (enablepersist=="on" && ccollect.length>0)
148 {
149 document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0"
150 firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
151 if (!firsttimeload)
152 revivecontent()
153 }
154 if (ccollect.length>0 && statecollect.length>0)
155 revivestatus()
156 
157 if (expandonload)
158 sweeptoggle('expand')
159}
160 
161if (window.addEventListener)
162 window.addEventListener("load", do_onload, false)
163else if (window.attachEvent)
164 window.attachEvent("onload", do_onload)
165else if (document.getElementById)
166 window.onload=do_onload
167 
168if (enablepersist=="on" && document.getElementById)
169 window.onunload=saveswitchstate

Powered by WebSVN 2.2.1