home *** CD-ROM | disk | FTP | other *** search
/ DOKAN 63 / DOKAN63.iso / Extra / MPSetupXP.exe / 1033 / RCDATA / CABINET / wmplayer.chm / glossary.js < prev    next >
Text File  |  2002-12-04  |  7KB  |  210 lines

  1. /*
  2.     Glossary.js ver 1.00.5.a - 1:05 PM 7/24/2002
  3. */
  4. /* Start Localize */
  5. var L_EntryNotFound        = "<SPAN STYLE='color:red; font-weight:bold'>No se encuentra la definici≤n.</SPAN>";
  6. var L_PopUpTitle        = "TΘrmino del glosario";
  7. /* End Localize */
  8. var bIE                    = 0;
  9. var bNN                    = 0;
  10. var glbPlatformCode        = 0;
  11. var glbBrowserCode        = 0;
  12. var glbVersion            = 0;
  13. var glbSubVersion        = 0;
  14. var uav                 = window.navigator.appVersion;
  15. var uan                 = window.navigator.appName;
  16. if (parseInt(uan.indexOf("Internet Explorer")) >= 0){
  17.     glbBrowserCode = 10;
  18.     glbVersion = parseInt(uav.substring(uav.indexOf("MSIE ") + 5,uav.indexOf("MSIE ") + 7));
  19.     glbSubVersion = parseInt(uav.substring(uav.indexOf("MSIE ") + 7,uav.indexOf("MSIE ") + 9));
  20.     bIE = 1;
  21. }
  22. if (parseInt(uan.indexOf("Netscape")) >= 0){
  23.     glbBrowserCode = 20;
  24.     glbVersion = parseInt(uav.substring(0,4));
  25.     glbSubVersion = parseInt(uav.substring(2,4));
  26.     bNN = 1;
  27. }
  28. if (uav.lastIndexOf("Win") >= 0){
  29.     glbPlatformCode = 10;
  30.     if ((uav.lastIndexOf("Windows 95") >= 0) || (uav.lastIndexOf("Win95") >= 0)){
  31.     glbPlatformCode = 11;
  32.     }
  33.     if ((uav.lastIndexOf("Windows 98") >= 0) || (uav.lastIndexOf("Win98") >= 0)){
  34.     glbPlatformCode = 12;
  35.     }
  36.     if ((uav.lastIndexOf("Windows NT") >= 0) || (uav.lastIndexOf("WinNT") >= 0)){
  37.     glbPlatformCode = 20;
  38.     }    
  39. }
  40. else
  41. {
  42.     if (uav.lastIndexOf("Mac") >= 0){
  43.         glbPlatformCode = 30;    
  44.     }
  45. }
  46. var oPopup                     = 0;
  47. var sDBGlossary             = "../dbGlossary.csv";
  48. var bDataSetComplete         = 0;
  49. var sPopUpBGColor             = "lightblue";        // popup background color
  50. var sPopUpShadowBGColor     = "gray";        // popup background color
  51. function InitializePopUp()
  52. {
  53.     if (bIE && ( ( glbVersion >=5 && glbSubVersion >= 0) || (glbVersion >= 6) ) ){
  54.         enablePopUp();
  55.     }
  56.     else{
  57.         disablePopUp();
  58.     }
  59. }
  60. function enablePopUp(){
  61.     var sStyle = "";
  62.     sStyle += '<STYLE> #PopUp{cursor: hand; color: green; text-decoration: underline;}</STYLE>\n';
  63.     sStyle += '<STYLE> #idGlossary{cursor: hand; color: green; text-decoration: underline;}</STYLE>\n';
  64.     var sOnClickEvent = '';
  65.     sOnClickEvent += '<SCR' + 'IPT LANGUAGE="JScript" FOR="PopUp" EVENT="onclick">';
  66.     sOnClickEvent += '    getTermDefinition(this);' ;
  67.     sOnClickEvent += '    window.event.returnValue = false;';
  68.     sOnClickEvent += '</SCR' + 'IPT>' ;
  69.     var sOnMouseOverEvent = '';
  70.     sOnMouseOverEvent += '<SCR' + 'IPT LANGUAGE="JScript" FOR="PopUp" EVENT="onmouseover">';
  71.     sOnMouseOverEvent += '    this.title = "' + L_PopUpTitle + '";';
  72.     sOnMouseOverEvent += '</SCR' + 'IPT>';
  73.     var sObj = "";
  74.     sObj += '<OBJECT ID="dbGlossary" CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" STYLE="height: 0; width: 0; display:none; position:absolute;" ondatasetcomplete="bDataSetComplete = 1">';
  75.     sObj += '    <PARAM NAME="DataURL" VALUE="' + sDBGlossary + '">';
  76.     sObj += '    <PARAM NAME="UseHeader" VALUE="True">';
  77.     sObj += '    <PARAM NAME="TextQualifier" VALUE="|">';
  78.     sObj += '</OBJECT>\n';
  79.     var sEvtHandle = '';
  80.     sEvtHandle += '<SCR' + 'IPT LANGUAGE="JScript">';
  81.     sEvtHandle += '    document.onmousedown    = hidePopUp;';
  82.     sEvtHandle += '    window.onresize         = hidePopUp;';
  83.     sEvtHandle += '</SCR' + 'IPT >';
  84.     var sPopUp = '';
  85.     sPopUp += '<DIV ID="idPopUpTray" STYLE="display: none; z-index:1; width:400; height:10; position:absolute; padding: 0; border-style: inset; border-width:0;">';
  86.     sPopUp += '    <DIV ID="idPopUp"             STYLE="z-index:3; width:400; height: 10; position:absolute; font:8pt Tahoma; line-height: 8pt; background-color:' + sPopUpBGColor + '; top: 0; left: 0; padding: 7; margin: 6; border-style: inset; border-left-width: 1; border-top-width: 1; border-right-width: 2; border-bottom-width: 2; border-right-color: black; border-bottom-color: black; "> </DIV>';
  87.     sPopUp += '    <DIV ID="idPopUpShadow"     STYLE="z-index:2; width:400; height: 10; position:absolute; font:8pt Tahoma; line-height: 8pt; background-color:' + sPopUpShadowBGColor + '; color:' + sPopUpShadowBGColor + ';top: 6; left:-6; padding: 7; margin: 6; border-style: solid; border-left-width: 1; border-top-width: 1; border-right-width: 2; border-bottom-width: 2; border-right-color: black; border-color:' + sPopUpShadowBGColor + '; filter:alpha(opacity=50, style=0);"> </DIV>';
  88.     sPopUp += '</DIV>' ;
  89.     window.self.document.write(sStyle);
  90.     window.self.document.write(sOnClickEvent);
  91.     window.self.document.write(sOnMouseOverEvent);
  92.     window.self.document.write(sObj);
  93.     window.self.document.write(sPopUp);
  94.     window.self.document.write(sEvtHandle);
  95. }
  96. function disablePopUp(){
  97.     var sStyle = "";
  98.     sStyle += '<STYLE> #PopUp{color: black; text-decoration: none; cursor="default"}</STYLE>';
  99.     var sStyle1 = "";
  100.     sStyle1 += '<STYLE> #idGlossary{color: black; text-decoration: none; cursor="default"}</STYLE>';
  101.     window.self.document.write(sStyle);
  102.     var sOnClickEvent = "";
  103.     sOnClickEvent += '<SCR' + 'IPT LANGUAGE="JScript" FOR="PopUp" EVENT="onclick">';
  104.     sOnClickEvent += '    window.event.returnValue = false;';
  105.     sOnClickEvent += '    return false;';
  106.     sOnClickEvent += '</SCR' + 'IPT>\n' ;
  107.     window.self.document.write(sStyle);
  108.     window.self.document.write(sOnClickEvent);
  109. }
  110. function getTermDefinition(oObj){
  111.     var ar, sRid;
  112.     if (oObj.href){
  113.         ar = oObj.href.split("#");
  114.         ar.length > 1 ? sRid = ar[1] : sRid = "";
  115.     }
  116.     else{
  117.         sRid = oObj.RID;
  118.     }
  119.     var Gls = getDefinition(sRid);
  120.     setPopUpTray(idPopUpTray);
  121.     var sDef = "";
  122.     
  123.     if (Gls.found){
  124.         sDef += formatTerm(Gls.term);
  125.         sDef += formatDefinition(Gls.definition);
  126.     }
  127.     else{
  128.         sDef += L_EntryNotFound;
  129.     }
  130.     idPopUp.innerHTML = sDef;
  131.     idPopUpShadow.innerHTML = sDef;
  132.     
  133.     displayPopUp(1);
  134. }
  135. function getDefinition(sKey){
  136.     var oRecordSet = dbGlossary.recordset;
  137.     oRecordSet.MoveFirst();
  138.     var def = new DEF();
  139.     for(var i = 0; i < oRecordSet.RecordCount; i++)
  140.     {
  141.         if(sKey.toLowerCase() == oRecordSet.fields.item('rid').value.toLowerCase())
  142.         {
  143.             def.term = oRecordSet.fields.item('key').value;
  144.             def.definition = oRecordSet.fields.item('def').value;
  145.             def.found = 1;
  146.             return def;
  147.         }
  148.         oRecordSet.MoveNext();
  149.     }
  150.     def.term = sKey;
  151.     def.definition = L_EntryNotFound;
  152.     return def;
  153. }
  154. function DEF(){
  155.     this.term = "";
  156.     this.definition = "";
  157.     this.found = 0;
  158. }
  159. function formatTerm(sStr){
  160.         return ("<B>" + sStr + "</B><BR>");
  161. }
  162. function formatDefinition(sStr){
  163.         return (" " + sStr + " ");
  164. }
  165. function setPopUpTray(oObj)
  166. {
  167.     var offSetLeft     = window.event.clientX + document.body.scrollLeft ;
  168.     var offSetTop    = window.event.clientY + document.body.scrollTop ;
  169.     var offSetWidth    = document.body.offsetWidth;
  170.     if (((offSetLeft + 430) > offSetWidth) && (offSetWidth > 430 ))
  171.     {
  172.     offSetLeft     = offSetWidth - parseInt(oObj.style.width) - 34 ;
  173. }
  174.     oObj.style.left    = offSetLeft;    // set new x coordinate
  175. oObj.style.top     = offSetTop;    // set new y coordinate
  176. }
  177. function displayPopUp(nState){
  178.     if(nState == 0)
  179.     {
  180.         idPopUpTray.style.display     = "none";
  181.     }
  182.     else if(nState == 1)
  183.     {
  184.         idPopUpTray.style.display     = "";
  185.         fadeIn(idPopUp);
  186.         idPopUpShadow.focus();
  187.     }
  188. }
  189. function hidePopUp(){
  190.     if(window.event.srcElement == null)
  191.     {
  192.         displayPopUp(0);
  193.     }
  194.     else if (window.event.srcElement.id != "idGlossary")
  195.     {
  196.         displayPopUp(0);
  197.     }
  198. }
  199. function fadeIn(oObj){
  200.     oObj.style.filter="blendTrans(duration=.30";
  201.     if (oObj.filters.blendTrans.status != 2)
  202.     {
  203.         oObj.style.visibility="hidden";
  204.         oObj.filters.blendTrans.apply();
  205.         oObj.style.visibility="visible";
  206.         oObj.filters.blendTrans.play();
  207.     }
  208. }
  209. InitializePopUp();
  210.