| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- // IE fixes javascript
- window.isMSIE55 = ( window.showModalDialog && window.clipboardData && window.createPopup );
- window.doneIETransform = undefined;
- window.doneIEAlphaFix = undefined;
- window.hookit = function() {
- if ( !doneIETransform && document.getElementById && document.getElementById( 'bodyContent' ) ) {
- doneIETransform = true;
- relativeforfloats();
- fixalpha();
- }
- };
- if ( document.attachEvent ) {
- document.attachEvent( 'onreadystatechange', window.hookit );
- }
- // png alpha transparency fixes
- window.fixalpha = function( logoId ) {
- // bg
- if ( isMSIE55 && !doneIEAlphaFix ) {
- var plogo = document.getElementById( logoId || 'p-logo' );
- if ( !plogo ) {
- return;
- }
- var logoa = plogo.getElementsByTagName('a')[0];
- if ( !logoa ) {
- return;
- }
- var bg = logoa.currentStyle.backgroundImage;
- var imageUrl = bg.substring( 5, bg.length - 2 );
- doneIEAlphaFix = true;
- if ( imageUrl.substr( imageUrl.length - 4 ).toLowerCase() == '.png' ) {
- var logospan = logoa.appendChild( document.createElement( 'span' ) );
- logoa.style.backgroundImage = 'none';
- logospan.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + imageUrl + ')';
- logospan.style.height = '100%';
- logospan.style.position = 'absolute';
- logospan.style.width = logoa.currentStyle.width;
- logospan.style.cursor = 'hand';
- // Center image with hack for IE5.5
- if ( document.documentElement.dir == 'rtl' ) {
- logospan.style.right = '50%';
- logospan.style.setExpression( 'marginRight', '"-" + (this.offsetWidth / 2) + "px"' );
- } else {
- logospan.style.left = '50%';
- logospan.style.setExpression( 'marginLeft', '"-" + (this.offsetWidth / 2) + "px"' );
- }
- logospan.style.top = '50%';
- logospan.style.setExpression( 'marginTop', '"-" + (this.offsetHeight / 2) + "px"' );
- var linkFix = logoa.appendChild( logoa.cloneNode() );
- linkFix.style.position = 'absolute';
- linkFix.style.height = '100%';
- linkFix.style.width = '100%';
- }
- }
- };
- if ( isMSIE55 ) {
- // ondomready
- $( fixalpha );
- }
- // fix ie6 disappering float bug
- window.relativeforfloats = function() {
- var bc = document.getElementById( 'bodyContent' );
- if ( bc ) {
- var tables = bc.getElementsByTagName( 'table' );
- var divs = bc.getElementsByTagName( 'div' );
- setrelative( tables );
- setrelative( divs );
- }
- };
- window.setrelative = function( nodes ) {
- var i = 0;
- while ( i < nodes.length ) {
- if( ( ( nodes[i].style.float && nodes[i].style.float != ( 'none' ) ||
- ( nodes[i].align && nodes[i].align != ( 'none' ) ) ) &&
- ( !nodes[i].style.position || nodes[i].style.position != 'relative' ) ) )
- {
- nodes[i].style.position = 'relative';
- }
- i++;
- }
- };
- // Expand links for printing
- String.prototype.hasClass = function( classWanted ) {
- var classArr = this.split(/\s/);
- for ( var i = 0; i < classArr.length; i++ ) {
- if ( classArr[i].toLowerCase() == classWanted.toLowerCase() ) {
- return true;
- }
- }
- return false;
- };
- window.expandedURLs = undefined;
- window.onbeforeprint = function() {
- expandedURLs = [];
- var contentEl = document.getElementById( 'content' );
- if ( contentEl ) {
- var allLinks = contentEl.getElementsByTagName( 'a' );
- for ( var i = 0; i < allLinks.length; i++ ) {
- if ( allLinks[i].className.hasClass( 'external' ) && !allLinks[i].className.hasClass( 'free' ) ) {
- var expandedLink = document.createElement( 'span' );
- var expandedText = document.createTextNode( ' (' + allLinks[i].href + ')' );
- expandedLink.appendChild( expandedText );
- allLinks[i].parentNode.insertBefore( expandedLink, allLinks[i].nextSibling );
- expandedURLs[i] = expandedLink;
- }
- }
- }
- };
- window.onafterprint = function() {
- for ( var i = 0; i < expandedURLs.length; i++ ) {
- if ( expandedURLs[i] ) {
- expandedURLs[i].removeNode( true );
- }
- }
- };
|