| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- // crviewerinclude.js
- // Includes functions that should be written out for all javascript enabled clients
- function crv_createCookie(name,value,days)
- {
- if (days)
- {
- var date = new Date();
- date.setTime(date.getTime()+(days*24*60*60*1000));
- var expires = "; expires="+date.toGMTString();
- }
- else var expires = "";
- document.cookie = name+"="+value+expires+"; path=/";
- }
- function crv_readCookie(name)
- {
- var nameEQ = name + "=";
- var ca = document.cookie.split(';');
- for(var i=0;i < ca.length;i++)
- {
- var c = ca[i];
- while (c.charAt(0)==' ') c = c.substring(1,c.length);
- if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
- }
- return null;
- }
- function crv_eraseCookie(name)
- {
- crv_createCookie(name,"",-1);
- }
- function crv_isCookieEnabled()
- {
- var TESTNAME = '__BOBJ_VIEWER_TEST_COOKIE_NAME';
- var TESTVALUE = '__BOBJ_VIEWER_TEST_COOKIE_VALUE';
-
- crv_createCookie(TESTNAME, TESTVALUE);
- var cookieValue = crv_readCookie(TESTNAME);
- if (cookieValue == TESTVALUE)
- {
- crv_eraseCookie(TESTNAME);
- return true;
- }
-
- return false;
- }
- function crv_showDialog(showFunc, cookieName)
- {
- var cookieVal = crv_readCookie(cookieName);
- if (cookieVal == "true" || !crv_isCookieEnabled())
- {
- showFunc();
- }
- crv_eraseCookie(cookieName);
- }
- function getComposite(prefixArray, suffixStr, encodeF)
- {
- if (!prefixArray) return "";
- suffixStr = suffixStr ? suffixStr : "";
- var composite="";
- for (var i in prefixArray)
- {
- var eltID = prefixArray[i] + suffixStr;
- var elt = document.getElementById(eltID);
- if (elt)
- {
- var value = elt.value;
- if (value)
- {
- if (composite != "")
- composite += ";";
- composite += prefixArray[i] + "=" + value;
- }
- }
- }
- return encodeF ? encodeF(composite) : composite;
- }
- function scrollToElement(id)
- {
- var obj = document.getElementById(id);
- if(obj != null)
- {
- var offsetTop = obj.offsetTop;
- var offsetLeft = obj.offsetLeft;
- var myOffsetParent = obj.offsetParent;
-
- while( myOffsetParent )
- {
- offsetTop += myOffsetParent.offsetTop;
- offsetLeft += myOffsetParent.offsetLeft;
- myOffsetParent = myOffsetParent.offsetParent;
- }
-
- window.scrollTo(offsetLeft, offsetTop);
- }
- }
- function isFunction(f)
- {
- return (typeof f == 'function');
- }
- function addOnloadFunction(func)
- {
- var oldOnload = window.onload;
- window.onload = function ()
- {
- if (isFunction(oldOnload))
- oldOnload();
- if (isFunction(func))
- func();
- }
- }
- //This function should only be called from the COM viewer. Use encodeURIComponent from the
- //Java viewer to get the appropriate encoding.
- function COMUrlEncode( strToBeEncoded )
- {
- var encodedString = new String("");
- for( var i = 0; i < strToBeEncoded.length; i++ )
- {
- var nextChar = strToBeEncoded.charAt(i);
- switch( nextChar )
- {
- //Unsafe characters
- case '%':
- {
- encodedString += "%25";
- break;
- }
- case '+':
- {
- encodedString += "%2B";
- break;
- }
- case ' ':
- {
- encodedString += "%20";
- break;
- }
- case '<':
- {
- encodedString += "%3C";
- break;
- }
- case '>':
- {
- encodedString += "%3E";
- break;
- }
- case '"':
- {
- encodedString += "%22";
- break;
- }
- case '\'':
- {
- encodedString += "%27";
- break;
- }
- case '#':
- {
- encodedString += "%23";
- break;
- }
- case '{':
- {
- encodedString += "%7B";
- break;
- }
- case '}':
- {
- encodedString += "%7D";
- break;
- }
- case '|':
- {
- encodedString += "%7C";
- break;
- }
- case '\\':
- {
- encodedString += "%5C";
- break;
- }
- case '^':
- {
- encodedString += "%5E";
- break;
- }
- case '~':
- {
- encodedString += "%7E";
- break;
- }
- case '`':
- {
- encodedString += "%60";
- break;
- }
- case '[':
- {
- encodedString += "%5B";
- break;
- }
- case ']':
- {
- encodedString += "%5D";
- break;
- }
- //Reserved characters
- case ';':
- {
- encodedString += "%3B";
- break;
- }
- case '/':
- {
- encodedString += "%2F";
- break;
- }
- case '?':
- {
- encodedString += "%3F";
- break;
- }
- case ':':
- {
- encodedString += "%3A";
- break;
- }
- case '@':
- {
- encodedString += "%40";
- break;
- }
- case '=':
- {
- encodedString += "%3D";
- break;
- }
- case '&':
- {
- encodedString += "%26";
- break;
- }
- default:
- {
- encodedString += nextChar;
- break;
- }
- }
- }
- return encodedString;
- }
|