home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 July / PCpro_2004_07.ISO / docs / western / software_files / utilities.js < prev    next >
Encoding:
JavaScript  |  2003-12-28  |  10.0 KB  |  368 lines

  1. //var mainserver = "";                                                      // Uncomment this for www.wdc.com
  2. //if (typeof mainserver == "undefined") mainserver="";    // This is to make sure the mainserver is defined.
  3.  
  4. var mainserver = "http://support.wdc.com";                                                        // Uncomment this for support.wdc.com
  5. if (typeof mainserver == "undefined") mainserver="http://support.wdc.com";        // This is to make sure the mainserver is defined.
  6.  
  7. var insection = 0;
  8.  
  9. // detect browser version
  10. var ns4 = (document.layers) ? true : false;
  11. var ns6 = (document.getElementById) ? true : false;
  12. var ie4 = (document.all) ? true : false;
  13.  
  14. // detect platform
  15. var agent = navigator.userAgent.toLowerCase();
  16.  
  17. var win = ((agent.indexOf("win") != -1) || (agent.indexOf("16bit") != -1)) ? true : false;
  18. var mac = (agent.indexOf("mac") != -1) ? true : false;
  19.  
  20. if (win)
  21. {
  22.     if (ie4)
  23.         document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/win_ie.css\">");
  24.     else
  25.     {
  26.         if (ns4)
  27.             document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/win_ns4.css\">");
  28.         if (ns6)
  29.                 document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/win_ns6.css\">");
  30.     }
  31. }
  32.     
  33. else if (mac)
  34. {
  35.     if (ie4)
  36.         document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/mac_ie.css\">");
  37.     else
  38.     {
  39.         if (ns4)
  40.             document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/mac_ns4.css\">");
  41.         else
  42.             if (ns6)
  43.                 document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + mainserver + "/wdstyle/mac_ns6.css\">");
  44.     }        
  45.     
  46. }
  47.  
  48.  
  49. function MM_displayStatusMsg(msgStr)  { //v3.0
  50.     status=msgStr; document.MM_returnValue = true;
  51. }
  52. function MM_swapImgRestore() { //v3.0
  53.   var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  54. }
  55.  
  56. function MM_preloadImages() { //v3.0
  57.   var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  58.     var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  59.     if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
  60. }
  61.  
  62. function MM_findObj(n, d) { //v3.0
  63.   var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  64.     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  65.   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  66.   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
  67. }
  68.  
  69. function MM_swapImage() { //v3.0
  70.   var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  71.    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  72. }
  73.  
  74. function setSection(server)
  75. {
  76.     var path = new String();
  77.     var delim, stop, token, tokenlink;
  78.  
  79.      path = location.pathname;
  80.     delim = "/";
  81.     stop = 0;
  82.     token = "";
  83.  
  84.     path = path.substring(stop+1, path.length);
  85.     stop = path.indexOf(delim);
  86.     token = path.substring(0, stop);
  87.  
  88.     switch(server)
  89.     {
  90.         case "websupport" : case "rightnow" : case "young-america" : case "support" :
  91.             { insection = 2; strImage = "imgSupport"; break; }
  92.         case "localInvestor" : case "jobpost" : case "investor" :
  93.             { insection = 4; strImage = "imgCompany"; break; }
  94.         case "wdcStore" :
  95.             { insection = 3; strImage = "imgBuy"; break; }
  96.             
  97.         default :
  98.             switch (token.toLowerCase())
  99.             {
  100.                 case "products" :
  101.                     { insection = 1; strImage = "imgProducts"; break;}
  102.                 case "support" : case "library" :
  103.                     { insection = 2; strImage = "imgSupport"; break; }
  104.                 case "buy" : 
  105.                     { insection = 3; strImage = "imgBuy"; break;}
  106.                 case "company" :
  107.                     { insection = 4; strImage = "imgCompany"; break;}
  108.                 case "partners" :
  109.                     { insection = 5; strImage = "imgPartners"; break;}
  110.                 default:
  111.                     insection = 0;
  112.             }
  113.     }    
  114.     
  115.     if (insection != 0) 
  116.         eval('document.images["'+strImage+'"].src="'+mainserver+'/images/header/on'+insection+'.gif"');    
  117. }
  118.  
  119.  
  120. // show today's date in the header part
  121. function showDate(plaintext)
  122. {
  123.     var time = new Date();
  124.     var intYear = time.getFullYear();
  125.     var intMonth = time.getMonth();
  126.     var intDate = time.getDate();
  127.     var strToday;
  128.     
  129.     switch(intMonth)
  130.     {
  131.         case 0:
  132.             strMonth = "January";
  133.             break;
  134.         case 1:
  135.             strMonth = "February";
  136.             break;
  137.         case 2:
  138.             strMonth = "March";
  139.             break;
  140.         case 3:
  141.             strMonth = "April";
  142.             break;
  143.         case 4:
  144.             strMonth = "May";
  145.             break;
  146.         case 5:
  147.             strMonth = "June";
  148.             break;
  149.         case 6:
  150.             strMonth = "July";
  151.             break;
  152.         case 7:
  153.             strMonth = "August";
  154.             break;
  155.         case 8:
  156.             strMonth = "September";
  157.             break;
  158.         case 9:
  159.             strMonth = "October";
  160.             break;
  161.         case 10:
  162.             strMonth = "November";
  163.             break;
  164.         case 11:
  165.             strMonth = "December";
  166.             break;
  167.      }
  168.          
  169.     strToday = strMonth + " " + intDate + ", " + intYear;
  170.     
  171.     
  172.     if (plaintext == 1) 
  173.     {
  174.         document.write(strToday);
  175.     }
  176.     else
  177.     {         
  178.         document.write("<span class=date>" + strToday + "</span>");
  179.     }
  180.     
  181. }
  182.  
  183.  
  184. // showing the page's hierachy path
  185. function showPath(server)
  186. {
  187.     var path = new String();
  188.     var title, tokens, classname;
  189.     var strBegin, strBody, strEnd, strText;
  190.     var depth = 0;
  191.     
  192.     // get the document's path and title
  193.     title = document.title;
  194.     path = location.pathname;
  195.     
  196.     if ((path.indexOf("/products/") != -1) || (path.indexOf("/library/") == 0) || (server == "websupport") || (server == "rightnow") || (server == "young-america") || (server == "support"))
  197.         classname = "whitepath";    // show white color
  198.     else
  199.         classname = "blackpath";    // show black color
  200.     
  201.     
  202.     if ((server == "support") || (server == "websupport") || (server == "rightnow") || (server == "young-america"))
  203.     {
  204.         strBody = showPathSupport(path, classname, "http://support.wdc.com", server);  //defined in /support/includes/support.js
  205.            document.write ("<span class=" + classname + ">  <a href=\"http://www.wdc.com/\" class=\"" + classname + "\">Home</a> " + strBody + "</span>");
  206.     }
  207.     else if (server == "investor")
  208.     {        
  209.         document.write ("<span class=\"blackpath\">  <a href=\"http://www.wdc.com\" class=\"blackpath\">Home</a> > <a href=\"http://www.wdc.com/company/\" class=\"blackpath\">About WD</a> > <a href=\"http://199.230.26.96/wdc/index.shtml\" class=\"blackpath\">Investor Relations</a> > " + title + "</span>");
  210.     }    
  211.     else if (server == "localInvestor")
  212.     {
  213.         document.write ("<span class=\"blackpath\">  <a href=\"/\" class=\"blackpath\">Home</a> > <a href=\"/company/\" class=\"blackpath\">About WD</a> > <a href=\"http://199.230.26.96/wdc/index.shtml\" class=\"blackpath\">Investor Relations</a> > " + title + "</span>");
  214.     }
  215.     else if (server == "jobpost")
  216.     {
  217.         document.write ("<span class=\"blackpath\">  <a href=\"http://www.wdc.com/\" class=\"blackpath\">Home</a> > <a href=\"http://www.wdc.com/company/\" class=\"blackpath\">About WD</a> > <a href=\"http://www.wdc.com/company/employment/\" class=\"blackpath\">Employment</a> > <a href=\"http://www.wdc.com/company/employment/jobpost/\" class=\"blackpath\">Job Posting</a> > " + title + "</span>");
  218.     }
  219.     else if (server == "wdcStore")
  220.     {
  221.         document.write ("<span class=\"blackpath\">  <a href=\"http://www.wdc.com/\" class=\"blackpath\">Home</a> > <a href=\"http://www.wdc.com/buy/\" class=\"blackpath\">Where to Buy</a> > " + title + "</span>");
  222.     }
  223.     else 
  224.     {
  225.       delim = "/";
  226.       stop = 0;
  227.       token = "";
  228.       tokenlink = "/";
  229.       strBody = "";
  230.  
  231.       while (stop != -1)
  232.       {
  233.           strBody = strBody + "<a href=\"" + tokenlink + "\" class=" + classname + ">" + token + "</a> > ";
  234.           
  235.           if (++depth > 4) break;
  236.           
  237.           path = path.substring(stop+1, path.length);
  238.           stop = path.indexOf(delim);
  239.           token = path.substring(0, stop);
  240.           tokenlink = tokenlink + token + "/";
  241.           token = getDescription(token);
  242.           if (token == "Fillrup")
  243.               break;
  244.       } 
  245.       strBody = strBody + title ;
  246.       document.write ("<span class=" + classname + ">  <a href=\"/\" class=\"" + classname + "\">Home</a> " + strBody + "</span>");
  247.     }
  248. }
  249.  
  250. function getDescription(token)
  251. {
  252.     switch(token)
  253.     {
  254.         case "company":
  255.             token = "About WD";
  256.             break;
  257.         case "buy":
  258.             token = "Where to buy";
  259.             break;
  260.         case "products":
  261.             token = "Products";
  262.             break;
  263.         case "support":
  264.             token = "Service & Support";
  265.             break;
  266.         case "partners":
  267.             token = "Partners";
  268.             break;
  269.         case "signup":
  270.             token = "New member"
  271.             break;
  272.         case "jobpost":
  273.             token = "Job posting"
  274.             break;
  275.         case "pr":
  276.             token = "Press Room"
  277.             break;
  278.         case "releases":
  279.             token = "Press Releases"
  280.             break;
  281.         case "uk":
  282.             token = "UK"
  283.             break;
  284.         case "selectwd":
  285.             token = "SelectWD"
  286.             break;
  287.         case "dlg":
  288.             token = "Data Lifeguard"
  289.             break;
  290.         case "eide":
  291.             token = "EIDE"
  292.             break;
  293.         case "firewire":
  294.             token = "FireWire"
  295.             break;
  296.         case "ata":
  297.             token = "ATA"
  298.             break;
  299.         case "ace":
  300.             token = "ACE"
  301.             break;
  302.         case "faqs":
  303.             token = "FAQs"
  304.             break;
  305.         case "techinfo":
  306.             token = "Technical Information"
  307.             break;
  308.         case "scsi":
  309.             token = "SCSI"
  310.             break;
  311.         case "ide":
  312.             token = "IDE"
  313.             break;
  314.         case "mac":
  315.             token = "For Macintosh"
  316.             break;
  317.         case "pc":
  318.             token = "For PC"
  319.             break;
  320.         case "library":
  321.             token = "Document Library"
  322.             break;
  323.         
  324.         case "translate":
  325.             token = "Translation"
  326.             break;        
  327.         case "fr":
  328.             token = "French"
  329.             break;
  330.         case "de":
  331.             token = "German";
  332.             break;
  333.         case "sp":
  334.             token = "Spanish";
  335.             break;
  336.         case "jp":
  337.             token = "Japanese"
  338.             break;
  339.         case "ch":
  340.             token = "Chinese"
  341.             break;        
  342.         case "kr":
  343.             token = "Korean";
  344.             break;
  345.         default:                
  346.             token = capitalize(token);
  347.     }
  348.     return token;
  349. }
  350.  
  351. function capitalize(token)
  352. {
  353.     token = token.toLowerCase();
  354.     first = token.charAt(0).toUpperCase();
  355.     token = first + token.substring(1, token.length);
  356.     return token;
  357. }
  358.  
  359. function checkSearch(form)
  360. {
  361.     if (form.args.value == "" ) 
  362.     {
  363.         alert("Please enter your search text to do the search!");
  364.         form.args.focus();
  365.         return false;
  366.     }
  367.     return true;
  368. }