home *** CD-ROM | disk | FTP | other *** search
/ developer.apple.com / developer.apple.com.tar / developer.apple.com / main / js / adc.js next >
Text File  |  2009-11-09  |  2KB  |  86 lines

  1. function detect() {
  2.     // simplify things
  3.     var agent     = navigator.userAgent.toLowerCase();
  4.     
  5.     // detect platform
  6.     this.isMac        = (agent.indexOf('mac') != -1);
  7.     this.isWin        = (agent.indexOf('win') != -1);
  8.     this.isWin2k    = (this.isWin && (
  9.             agent.indexOf('nt 5') != -1));
  10.     this.isWinSP2    = (this.isWin && (
  11.             agent.indexOf('xp') != -1 || 
  12.             agent.indexOf('sv1') != -1));
  13.     this.isOther    = (
  14.             agent.indexOf('unix') != -1 || 
  15.             agent.indexOf('sunos') != -1 || 
  16.             agent.indexOf('bsd') != -1 ||
  17.             agent.indexOf('x11') != -1 || 
  18.             agent.indexOf('linux') != -1);
  19.     
  20.     // detect browser
  21.     this.isSafari    = (agent.indexOf('safari') != -1);
  22.     this.isSafari2 = (this.isSafari && (parseFloat(agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).substring(0,agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).indexOf(' '))) >=  300));
  23.     this.isOpera    = (agent.indexOf('opera') != -1);
  24.     this.isNN        = (agent.indexOf('netscape') != -1);
  25.     this.isIE        = (agent.indexOf('msie') != -1);
  26. }
  27.  
  28. function $() {
  29.     var aElems = [];
  30.     for (var i=0; i<arguments.length; i++) {
  31.         var soElem = arguments[i];
  32.         if (typeof soElem == 'string') soElem = document.getElementById(soElem);
  33.         if (arguments.length == 1) return soElem;
  34.         aElems.push(soElem);
  35.     }
  36.     return aElems;
  37. }
  38.  
  39. function $t(sTag,oObj) {
  40.     oObj = oObj || document;
  41.     return oObj.getElementsByTagName(sTag);
  42. }
  43.  
  44. function $c(sClass,oObj,sTag) {
  45.     oObj = oObj || document;
  46.     if (!oObj.length) { oObj = [oObj]; }
  47.     var aElements = [];
  48.     for(var i = 0; i<oObj.length; i++) {
  49.         oEl = oObj[i];
  50.         if(oEl.getElementsByTagName) {
  51.             oObj.children = oEl.getElementsByTagName(sTag || '*');
  52.             for (var j = 0; j<oObj.children.length; j++) {
  53.                 oObj.child = oObj.children[j];
  54.                 if(oObj.child.className&&(new RegExp('\\b'+sClass+'\\b').test(oObj.child.className))) {
  55.                     aElements.push(oObj.child);
  56.                 }
  57.             }
  58.         }
  59.     }
  60.     return aElements;
  61. }
  62.  
  63. function SearchBoxFix(inputId, imageClass) {
  64.     var browser = new detect();
  65.     var str = "Search ADC";
  66.     var input = document.getElementById(inputId);
  67.     if (!browser.isSafari2) {
  68.         input.value=str;
  69.         input.onfocus = function() {
  70.             input.value="";
  71.             input.style.color="#000";
  72.         };
  73.     }
  74.     if (browser.isSafari2) { 
  75.         input.style.fontSize = '12px';
  76.         input.style.width = input.offsetWidth+28+'px';
  77.     }
  78.     if (browser.isIE) input.style.margin = '0 0 -1px 0';
  79.  
  80.     var images = $c(imageClass);
  81.     for (var i=0; i<images.length; i++) {
  82.         if (browser.isSafari2) {
  83.             images[i].style.display = 'none';
  84.         }
  85.     }
  86. }