home *** CD-ROM | disk | FTP | other *** search
/ Mundo do CD-ROM 118 / cdrom118.iso / internet / webaroo / WebarooSetup.exe / Webaroo.msi / _6008FC6B4985429E99CB6C3B7BED0E31 < prev    next >
Encoding:
Text File  |  2006-03-20  |  14.4 KB  |  549 lines

  1. var currentView = "";
  2.  
  3. function TruncateString(message, characterlimit)
  4. {
  5.     return message.substring(0,characterlimit);
  6. }
  7.  
  8. function WrapString(message , characterlimit)
  9. {
  10.     var tempmessage;
  11.     var retmessage = "";
  12.     for(var i=0;i<message.length;i=i+characterlimit)
  13.     {
  14.         tempmessage = message.substring(i,i+characterlimit) + " <br>";
  15.         retmessage = retmessage + tempmessage;
  16.     }
  17.     return retmessage;
  18. }
  19.  
  20. function IsNumeric(sText)
  21. {
  22.     sText = trim(sText);
  23.     regularexp =/^\d{1,5}$/; // matches number ranging from 1 to 5 digits 
  24.     if (regularexp.test(sText)) 
  25.         return true;
  26.     else
  27.         return false;
  28. }
  29.  
  30. function doubleUrlEncode(inStr)
  31. {
  32.     return escape(encodeURIComponent(inStr));
  33. }
  34.  
  35. function doubleUrlDecode(inStr)
  36. {
  37.     return decodeURIComponent(unescape(inStr));
  38. }
  39.  
  40. function IsSplChar(strValue)
  41. {
  42.      var SplChars;
  43.      var intLoop;
  44.      var Temp;
  45.      
  46.      SplChars="`!@#$%^&()_+={}[]\|':;/?>.<,";
  47.      
  48.      for (intLoop = 0;intLoop < SplChars.length;intLoop++)
  49.      {
  50.         Temp=SplChars.charAt(intLoop);
  51.         if (strValue.indexOf(Temp) != -1)
  52.         {
  53.             alert("Special Characters Not Allowed i.e !@#$%^&()_+={}[]\|\"\"':;/?>.<,");
  54.             return true;
  55.             break;
  56.         }
  57.         else
  58.         {
  59.             continue;
  60.         }
  61.      }    
  62.         return false        
  63. }
  64.  
  65. function ClearLeftMenuContext()
  66. {
  67.     var vMyLibraryCell = document.getElementById('MyLibraryCell');
  68.     //var vWebarooCollectionCell = document.getElementById('WebarooCollectionCell');
  69.     //vWebarooCollectionCell.className = "";
  70.     vMyLibraryCell.className = "";
  71.     var leftmenutable = document.getElementById('leftMenu');
  72.     for (var i =0; i < leftmenutable.rows.length; i++)
  73.     {
  74.         for(var j=0; j<leftmenutable.rows[i].cells.length;j++)
  75.         {
  76.             if(leftmenutable.rows[i].cells[j].className != "LeftMenuStatusMessage" )
  77.                 // Reset the class field of this cell
  78.                 leftmenutable.rows[i].cells[j].className = "";
  79.         }    
  80.     }
  81. }
  82.  
  83. // I18N issue
  84. function AdjustPageElements(pageType)
  85. {
  86.     var htmlData = "";
  87.     
  88.     currentView = pageType;
  89.     var vMyLibraryCell = document.getElementById('MyLibraryCell');
  90.     //var vWebarooCollectionCell = document.getElementById('WebarooCollectionCell');
  91.     
  92.     ClearLeftMenuContext();
  93.         
  94.     if (pageType == "library")
  95.     {
  96.         document.getElementById('store_view').style.display="none";
  97.         document.getElementById('device_view').style.display="none";
  98.         document.getElementById('favorite_view').style.display="none";
  99.         document.getElementById('device_choices').style.display="none";
  100.         
  101.         document.getElementById('library_view').style.display="block";
  102.         document.getElementById('librarySize').style.display="block";
  103.         // Assign the class field to selected
  104.         vMyLibraryCell.className = "selected";
  105.         vMyLibraryCell.innerHTML = "<a href=\"javascript:ShowMyLibrary(1)\"><image src=\"/webaroo/e29f1fe6/images/webaroo_folder.gif\" border=\"0\"> <b>my library</b></a>";
  106.     }
  107.     else if (pageType == "store")
  108.     {
  109.         document.getElementById('library_view').style.display="none";
  110.         document.getElementById('librarySize').style.display="none";
  111.         document.getElementById('device_view').style.display="none";
  112.         document.getElementById('favorite_view').style.display="none";
  113.         document.getElementById('device_choices').style.display="none";
  114.  
  115.         document.getElementById('store_view').style.display="block";
  116.         // Change the image for MyLibrary here
  117.         vMyLibraryCell.className = "";
  118.         vMyLibraryCell.innerHTML = "<a href=\"javascript:ShowMyLibrary(1)\"><image src=\"/webaroo/e29f1fe6/images/webaroo_folder_f2.gif\" border=\"0\"> <b>my library</b></a>";
  119.     }
  120.     else if (pageType == "device")
  121.     {
  122.         document.getElementById('store_view').style.display="none";
  123.         document.getElementById('library_view').style.display="none";
  124.         document.getElementById('favorite_view').style.display="none";
  125.         document.getElementById('device_choices').style.display="none";
  126.         document.getElementById('device_view').style.display="block";
  127.         // Change the image for MyLibrary here
  128.         vMyLibraryCell.className = "";
  129.         vMyLibraryCell.innerHTML = "<a href=\"javascript:ShowMyLibrary(1)\"><image src=\"/webaroo/e29f1fe6/images/webaroo_folder_f2.gif\" border=\"0\"> <b>my library</b></a>";
  130.     }
  131.     else if (pageType == "favorite")
  132.     {
  133.         document.getElementById('store_view').style.display="none";
  134.         document.getElementById('device_view').style.display="none";
  135.         document.getElementById('library_view').style.display="none";
  136.         
  137.         document.getElementById('device_choices').style.display="none";
  138.         document.getElementById('favorite_view').style.display="block";
  139.         // Change the image for MyLibrary here
  140.         vMyLibraryCell.className = "";
  141.         vMyLibraryCell.innerHTML = "<a href=\"javascript:ShowMyLibrary(1)\"><image src=\"/webaroo/e29f1fe6/images/webaroo_folder_f2.gif\" border=\"0\"> <b>my library</b></a>";        
  142.     }
  143.     SetOperationStatus(currentView + 'Banner', "");
  144. }
  145.  
  146. function ClearTable(tableID)
  147. {
  148.     var myTable = document.getElementById(tableID);
  149.     var curr_row;
  150.     if(myTable.rows)
  151.     {
  152.         for (curr_row = myTable.rows.length-1; curr_row >=0 ; curr_row--)
  153.         {
  154.             myTable.deleteRow(curr_row);
  155.         }
  156.     }
  157. }
  158.  
  159. function DeleteLastRowFromTable(tableID)
  160. {
  161.     var myTable = document.getElementById(tableID);
  162.     var curr_row;
  163.     if(myTable.rows.length > 0)
  164.     {
  165.         myTable.deleteRow(myTable.rows.length-1);
  166.     }
  167. }
  168.  
  169. function AddRowToTable(tableID, rowkeys,rowvalues,keys, values)
  170. {
  171.     var myTable = document.getElementById(tableID);
  172.     var newRow = myTable.insertRow(-1);
  173.     
  174.     AssignValueToKey(newRow,rowkeys,rowvalues);
  175.     if (keys.length > 0)
  176.     {
  177.         AddCellToRow(newRow, keys, values)
  178.     }
  179.     
  180.     return newRow;
  181. }
  182.  
  183. function AddCellToRow(row, keys, values)
  184. {
  185.     var newCell = row.insertCell(-1);
  186.     AssignValueToKey(newCell,keys, values);
  187.     return newCell;
  188. }
  189. function AssignValueToKey(elem,keys, values)
  190. {
  191.     for (var i=0; i < keys.length; ++i)
  192.     {
  193.         switch (keys[i])
  194.         {
  195.             case "id":
  196.                 elem.id = values[i];
  197.                 break;
  198.             case "bgcolor":
  199.                 elem.bgColor = values[i];
  200.                 break;
  201.             case "bordertopbottom":
  202.                 elem.style.borderTop = "1px";
  203.                 elem.style.borderTopColor = "#E4854A";
  204.                 elem.style.borderTopStyle = "solid";
  205.                 elem.style.borderBottom = "1px";
  206.                 elem.style.borderBottomColor = "#E4854A";
  207.                 elem.style.borderBottomStyle = "solid";
  208.                 break;
  209.             case "bordertop":
  210.                 elem.style.borderTop = values[i];
  211.                 break;
  212.             case "bordertopcolor":
  213.                 elem.style.borderTopColor = values[i];
  214.                 break;
  215.             case "bordertopstyle":
  216.                 elem.style.borderTopStyle = values[i];
  217.                 break;
  218.             case "borderbottom":
  219.                 elem.style.borderBottom = values[i];
  220.                 break;
  221.             case "borderbottomcolor":
  222.                 elem.style.borderBottomColor = values[i];
  223.                 break;
  224.             case "borderbottomstyle":
  225.                 elem.style.borderBottomStyle = values[i];
  226.                 break;
  227.             case "backImage":
  228.                 elem.style.backgroundImage = values[i];
  229.                 break;
  230.             case "backPosition":
  231.                 elem.style.backgroundPosition = values[i];
  232.                 break;
  233.             case "backRepeat":
  234.                 elem.style.backgroundRepeat = values[i];
  235.                 break;
  236.             case "className":
  237.                 elem.className = values[i];
  238.                 break;
  239.             case "innerHTML":
  240.                 elem.innerHTML = values[i];
  241.                 break;
  242.             case "width":
  243.                 elem.width = values[i];
  244.                 break;
  245.             case "height":
  246.                 elem.height = values[i];
  247.                 break;
  248.             case "align":
  249.                 elem.align = values[i];
  250.                 break;
  251.             case "valign":
  252.                 elem.valign = values[i];
  253.                 break;
  254.             case "colspan":
  255.                 elem.colSpan = values[i];
  256.                 break;
  257.             case "rowspan":
  258.                 elem.rowspan = values[i];
  259.                 break;
  260.             case "nowrap":
  261.                 elem.nowrap = values[i];
  262.                 break;
  263.             case "verticalAlign":
  264.                 elem.style.verticalAlign = values[i];
  265.                 break;    
  266.         }
  267.     }
  268. }
  269.  
  270. function GetRowIndex(subId)
  271. {
  272.     var deviceTable = document.getElementById('device_choices_table');
  273.     var rowIndex = -1;
  274.     
  275.     for (var j=1; j < deviceTable.rows.length; ++j) // Ignore Header row
  276.     {
  277.         var deviceCheckboxId = "device_choice_checkbox" + (j-1);
  278.         var checkBoxControl = document.getElementById(deviceCheckboxId);
  279.         if ((checkBoxControl != null) && (subId == checkBoxControl.value))
  280.         {
  281.             rowIndex = j;
  282.             break;
  283.         }
  284.     }
  285.     
  286.     return rowIndex;
  287. }
  288.  
  289. function QuerySelectedCheckboxes(selectedCheckboxes)
  290. {
  291.     var deviceForm = document.device_choices_form;
  292.     var deviceTable = document.getElementById('device_choices_table');
  293.     var j, k;
  294.  
  295.     if (deviceTable.rows.length > 2)
  296.     {
  297.         if (deviceForm.device_choice_checkbox.checked)
  298.         {
  299.             // Collect sub channel ids of selected subscriptions
  300.             selectedCheckboxes.push(deviceForm.device_choice_checkbox.value);
  301.         }
  302.         else
  303.         {
  304.             for (j=0;j < deviceForm.device_choice_checkbox.length; ++j)
  305.             {
  306.                 if (deviceForm.device_choice_checkbox[j].checked)
  307.                 {
  308.                     // Collect sub channel ids of selected subscriptions
  309.                     selectedCheckboxes.push(deviceForm.device_choice_checkbox[j].value);
  310.                 }
  311.             }
  312.         }
  313.     }
  314. }
  315.  
  316. function QuerySelectedCheckboxesBasedOnType(subscriptionType, selectedCheckboxes)
  317. {
  318.     var deviceForm = document.device_choices_form;
  319.     var deviceTable = document.getElementById('device_choices_table');
  320.     var j, k;
  321.     
  322.     if (deviceTable.rows.length > 2)
  323.     {
  324.         if (deviceForm.device_choice_checkbox.checked && (subscriptionType == deviceForm.subscriptionType.value))
  325.         {
  326.             // Collect sub channel ids of selected subscriptions
  327.             selectedCheckboxes.push(deviceForm.device_choice_checkbox.value);
  328.         }
  329.         else
  330.         {
  331.             for (j=0;j < deviceForm.device_choice_checkbox.length; ++j)
  332.             {
  333.                 if (deviceForm.device_choice_checkbox[j].checked && (subscriptionType == deviceForm.subscriptionType[j].value))
  334.                 {
  335.                     // Collect sub channel ids of selected subscriptions
  336.                     selectedCheckboxes.push(deviceForm.device_choice_checkbox[j].value);
  337.                 }
  338.             }
  339.         }
  340.     }
  341. }
  342.  
  343. function ClearAllCheckboxes()
  344. {
  345.     var deviceForm = document.device_choices_form;
  346.     var deviceTable = document.getElementById('device_choices_table');
  347.     var j, k;
  348.     
  349.     if (deviceTable.rows.length > 2) // Table only has header + one row.
  350.     {   
  351.         if (deviceForm.device_choice_checkbox.checked)
  352.         {
  353.             deviceForm.device_choice_checkbox.checked = false;
  354.         }
  355.         else 
  356.         {
  357.             for (j=0;j < deviceForm.device_choice_checkbox.length; ++j)
  358.             {
  359.                 if (deviceForm.device_choice_checkbox[j].checked)
  360.                 {
  361.                     deviceForm.device_choice_checkbox[j].checked = false;
  362.                 }
  363.             }
  364.         }
  365.     }
  366. }
  367.  
  368. function GetSpace(numOfSpaces)
  369. {
  370.     var spaces = '';
  371.     
  372.     for (j=0; j < numOfSpaces; ++j)  spaces += ' ';
  373.     
  374.     return spaces;
  375. }
  376.  
  377. function GetHtmlSpace(numOfSpaces)
  378. {
  379.     var spaces = '';
  380.     
  381.     for (j=0; j < numOfSpaces; ++j)  spaces += '  ';
  382.     
  383.     return spaces;
  384. }
  385.  
  386. function trim(aTextField)
  387. {
  388.     var re = /\s/g; //Match any white space including space, tab, form-feed, etc. <br>
  389.     RegExp.multiline = true; // IE support<br>
  390.     var str = aTextField.replace(re, "");
  391.     return str;
  392.  
  393. function SetOperationStatus(tableID, status)
  394. {
  395.     var bannerTable = document.getElementById(tableID);
  396.     var keys = new Array();
  397.     var values = new Array();
  398.     var rowkeys = new Array();
  399.     var rowvalues = new Array();
  400.     
  401.     // First delete the last row from the table
  402.     DeleteLastRowFromTable(tableID);    
  403.     if(status!="")
  404.     {
  405.         var divLabel= tableID + "StatusDiv";
  406.         rowkeys[0] = "";
  407.         rowvalues[0] = "";
  408.         keys[0]="innerHTML"
  409.         values[0]="<div id=\"" + divLabel+ "\">" + status +"</div>";
  410.         keys[1]="align";
  411.         values[1]="center"; 
  412.         keys[2]="valign";
  413.         values[2]="bottom";
  414.         keys[3]="colspan";
  415.         values[3]="4";
  416.         AddRowToTable(tableID, rowkeys,rowvalues,keys,values);
  417.         if(NiftyCheck())
  418.         {
  419.             divLabel = "div#" + divLabel ;
  420.             Rounded(divLabel,"all","#FFAA44","#E35201","smooth");
  421.         }
  422.     }
  423. }
  424.  
  425. function AddOperationStatus(tableID, status)
  426. {
  427.     if (status != "")
  428.     {
  429.         var divLabel= tableID + "StatusDiv";
  430.         var statusBannerDiv = document.getElementById(divLabel);
  431.         var statusMessage = statusBannerDiv.innerHTML;
  432.     
  433.         statusMessage += status;
  434.         
  435.         statusBannerDiv.innerHTML = statusMessage;
  436.         if(NiftyCheck())
  437.         {
  438.             var divLabel= "div#" + tableID + "StatusDiv";
  439.             Rounded(divLabel,"all","#FF0000","#FF0033","smooth");
  440.         }
  441.     }
  442. }
  443.  
  444. function GetOperationStatus(xmlStatus)
  445. {
  446.     var listObject = xmlStatus.getElementsByTagName('Status');
  447.     if(listObject == undefined || listObject.length == 0) return "";
  448.     var fc = listObject[0].firstChild;
  449.     if( fc == undefined ) return "";
  450.     return fc.nodeValue;
  451. }
  452.  
  453. function AlternateTableRowStyle(tableID)
  454. {
  455.     var commonTable = document.getElementById(tableID);  
  456.     for(var x = 0; x < commonTable.rows.length; ++x)
  457.     {          
  458.         //manipulate rows
  459.         if (x % 2 == 0)
  460.         {
  461.             commonTable.rows[x].className = "white";
  462.         }
  463.         else
  464.         {
  465.             commonTable.rows[x].className = "gray";
  466.         }      
  467.     }    
  468. }
  469.  
  470. function AddHeaderRow(tableID, contextView)
  471. {
  472.     var rowkeys = new Array();
  473.     var rowvalues = new Array();
  474.     var keys = new Array();
  475.     var values = new Array();
  476.     
  477.     rowkeys[0] = "className";
  478.     rowvalues[0] = "headers";
  479.     rowkeys[1] = "height";
  480.     rowvalues[1] = "25";
  481.     rowkeys[2] = "backImage";
  482.     rowvalues[2]= "url(images/webaroo_table_Header.gif)";
  483.     rowkeys[3] = "backPosition";
  484.     rowvalues[3] = "center";
  485.     rowkeys[4] = "backRepeat";
  486.     rowvalues[4] = "repeat-x";
  487.     var newRow = AddRowToTable(tableID, rowkeys, rowvalues, keys, values);
  488.     
  489.     keys[0] = "width";
  490.     keys[1] = "align";
  491.     keys[2] = "height";
  492.     keys[3] = "valign";
  493.     values[0] = "20";
  494.     values[1] = "center";
  495.     values[2] = "25";
  496.     values[3] = "top";
  497.     AddCellToRow(newRow, keys, values);
  498.  
  499.     keys[0] = "width"; 
  500.     keys[1] = "innerHTML"; 
  501.     values[0] = "165"; 
  502.     values[1] = "<font class=\"deviceChoiceTableHeader\">Content</font>"; 
  503.     AddCellToRow(newRow, keys, values);
  504.  
  505.     keys[0] = "width";
  506.     values[0] = "80";
  507.     values[1] = "<font class=\"deviceChoiceTableHeader\">Size<br></font><font class=\"deviceChoiceSubHeader\">(max size)</font>";
  508.     AddCellToRow(newRow, keys, values);
  509.  
  510.     keys[0] = "width";
  511.     values[0] = "270";
  512.     values[1] = "<font class=\"deviceChoiceTableHeader\">Description</font>";
  513.     AddCellToRow(newRow, keys, values);
  514.  
  515.     keys[0] = "width";
  516.     keys[3] = "nowrap";
  517.     values[0] = "85";
  518.     values[3] = "true";
  519.     values[1] = "<font class=\"deviceChoiceTableHeader\">Updated On</font>";
  520.     AddCellToRow(newRow, keys, values);
  521.      return newRow;
  522. }
  523.  
  524. function EncodeValue(data)
  525. {
  526.     return '<![CDATA[' + escape(data) + ']]>';
  527. }
  528.  
  529. function RenderSpecialHTMLCharacterCode(aTextField)
  530. {
  531.     // macro to return
  532.     var re = /&/g; //Match any white space including space, tab, form-feed, etc. <br>
  533.     RegExp.multiline = true; // IE support<br>
  534.     var str = aTextField.replace(re, "&");
  535.     re = />/g;
  536.     var str = str.replace(re, ">");
  537.     re = /</g;
  538.     var str = str.replace(re, "<");
  539.     
  540.     return str;
  541. }
  542.  
  543. function ShowStatusWindow()
  544. {
  545.     var url = "/webaroo/e29f1fe6/showstatus";
  546.     SendAsynchornousRequest(url, "", IgnoreResponse, "");
  547. }
  548.