|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- //-----------------------------------------------------------------------------
- // COOKIE MANAGEMENT - nom nom nom nom -
- //-----------------------------------------------------------------------------
-
- function LolCookie() { }
- function LolCookieDays(m_name, m_value, m_expire_days)
- {
- var cookie = new LolCookie();
-
- cookie.m_name = m_name;
- cookie.m_value = m_value;
- cookie.m_expire_date = new Date();
- cookie.m_expire_date.setDate(cookie.m_expire_date.getDate() + m_expire_days);
-
- return cookie;
- }
- function LolCookieDate(m_name, m_value, m_expire_date)
- {
- var cookie = new LolCookie();
-
- cookie.m_name = m_name;
- cookie.m_value = m_value;
- cookie.m_expire_date = m_expire_date;
-
- return cookie;
- }
-
- //Set a cookie
- function StoreLolCookie(cookie)
- {
- GetLolCookie(cookie.m_name, true);
-
- var enc_value = escape(cookie.m_value) + ";";
-
- //Add expire days
- if (cookie.m_expire_date)
- enc_value += " expires=" + cookie.m_expire_date.toUTCString() + ";";
- enc_value = cookie.m_name + "=" + enc_value;
-
- //Store cookies
- document.cookie = enc_value;
- }
-
- //Get a cookie
- function GetLolCookie(name, remove)
- {
- var cki_doc = document.cookie;
- var cookie = null;
-
- var cki_start = cki_doc.indexOf(name + "=");
- if (cki_start > -1)
- {
- cookie = new LolCookie();
- cookie.m_name = name;
- cookie.m_expire_date = null;
-
- //Retrieve value
- var val_start = cki_doc.indexOf("=", cki_start) + 1;
- var val_end = cki_doc.indexOf(";", cki_start);
- if (val_end < 0)
- val_end = cki_doc.length;
- cookie.m_value = unescape(cki_doc.substring(val_start, val_end));
-
- if (remove)
- document.cookie = name + "=; expires=0;";
- }
- return cookie;
- }
-
- //Check the existence of a cookie
- function DoesLolCookieExist(name)
- {
- var cki_doc = document.cookie;
- if (cki_doc.indexOf(name + "=") > -1)
- return true;
- return false;
- }
-
- //-----------------------------------------------------------------------------
- // FILE MANAGEMENT
- //-----------------------------------------------------------------------------
-
- //Dynamic load
- function DynLoadFile(filename)
- {
- var filetype = filename.match(/\.[a-zA-Z]+$/);
- //if filename is a external JavaScript file
- if (filetype == ".js")
- {
- var fileref = document.createElement('script');
- fileref.setAttribute("type","text/javascript");
- fileref.setAttribute("src", filename);
- }
- //if filename is an external CSS file
- else if (filetype == ".css")
- {
- var fileref = document.createElement("link");
- fileref.setAttribute("rel", "stylesheet");
- fileref.setAttribute("type", "text/css");
- fileref.setAttribute("href", filename);
- }
- if (fileref)
- document.getElementsByTagName("head")[0].appendChild(fileref);
- }
-
- //Dynamic remove
- function DynRemoveFile(filename)
- {
- var filetype = filename.match(/\.[a-zA-Z]+$/);
- var targetelement = "none";
- var targetattr = "none";
- //Determine element type to create nodelist from and corresponding attribute to test for
- if (filetype==".js")
- {
- targetelement = "script";
- targetattr = "src";
- }
- else if (filetype == ".css")
- {
- targetelement = "link";
- targetattr = "href";
- }
-
- var allsuspects = document.getElementsByTagName(targetelement);
- //Search backwards within nodelist for matching elements to remove
- for (var i = allsuspects.length; i >= 0; i--)
- if (allsuspects[i] &&
- allsuspects[i].getAttribute(targetattr) &&
- allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1)
- allsuspects[i].parentNode.removeChild(allsuspects[i]); //remove element by calling parentNode.removeChild()
- }
|