var ff = "mpu";
var calc_id = "tco";
var data = {"html":"&nbsp;\r\n<style type=\"text\/css\">\r\n#calc_descriptionpane {\r\n\twidth: 354px;\r\n\tbackground-image: url('http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpudescpane354x1.jpg');\r\n\tbackground-repeat: repeat-y;\r\n\tpadding-top: 2px;\r\n\tpadding-bottom: 2px;\r\n}\r\n\r\n#calc_descriptionpane p {\r\n\tmargin-left: 25px;\r\n\tmargin-right: 25px;\r\n\tmargin-top: 0px;\r\n\tfont-family: arial, sans-serif;\r\n\tfont-size: 9pt;\r\n\tmargin-bottom: 3px;\r\n\tcolor: #002951;\r\n}\r\n\r\n#calc_calcbkg {\r\n\twidth: 354px;\r\n\tbackground-image: url('http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpucalcpane354x1.jpg');\r\n\tbackground-repeat: repeat-y;\r\n}\r\n\t\r\n#calc_calcpane {\r\n\twidth: 174px;\r\n\tbackground-color: none;\r\n\tcolor: white;\r\n}\r\n\r\n#calc_relconpane {\r\n\twidth: 174px;\r\n\t\/* background-image: url('http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpurelconpane354x1.jpg');\r\n\tbackground-repeat: repeat-y; *\/\r\n}\r\n\r\n#calc_table {\r\n\tmargin-left: 24px;\r\n\tmargin-right: 24px;\r\n\tbackground-color: none;\r\n\tcolor: white;\r\n\tfont-family: arial, sans-serif;\r\n\tfont-size: 9pt;\r\n}\r\n\r\n#calc_calcpane input {\r\n\twidth: 135px;\r\n\tcolor: black;\r\n}\r\n\r\n#calc_relconpane a {\r\n\tmargin-top: 0px;\r\n\tmargin-left: 14px;\r\n\tmargin-right: 14px;\r\n\tcolor: white;\r\n\tfont-family: arial, sans-serif;\r\n\tfont-size: 7pt;\r\n\ttext-decoration: none;\r\n}\r\n\r\n#calc_relconpane a:hover {\r\n\ttext-decoration: underline;\r\n}\r\n\r\n#calc_another {\r\n\tfont-size: 7pt;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tcolor: white;\r\n\tfont-family: arial, sans-serif;\r\n\tfont-style: italic;\r\n\tcursor: pointer;\r\n\ttext-decoration: underline;\r\n\tpadding-bottom: 2px;\r\n}\r\n\r\n#calc_bannerpane {\r\n\twidth: 354px;\r\n\tbackground-image: url('http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skywhitebottom175x1.jpg');\r\n\tbackground-repeat: repeat-y;\r\n}\r\n\r\n#calc_banner {\r\n\twidth: 160px;\r\n\theight: 40px;\r\n\tbackground-color: white;\r\n\tmargin-left: 7px;\r\n}\r\n\r\n#calc_bottomfix {\r\n\twidth: 354px;\r\n\theight: 7px;\r\n\tbackground-color: white;\r\n}\r\n\r\n#calc_eweek {\r\n\tcolor: white;\r\n\tbackground-color: none;\r\n\tfont-family: arial, sans-serif;\r\n\tfont-size: 9pt;\r\n\tmargin-left: 14px;\r\n\tmargin-top: 3px;\r\n}\r\n\r\n#calc_banner {\r\n\twidth: 157px;\r\n\theight: 50px;\r\n\tmargin: 0px;\r\n\tmargin-left: 18px;\r\n\tpadding-top: 3px;\r\n\tbackground-color: white;\r\n}\r\n\r\n<\/style>\r\n<script language=\"text\/javascript\" id=\"calc_js\"><\/script>\r\n\r\n<table cellpadding=0 cellspacing=0 width=\"354\" border=0>\r\n<!-- widget header -->\r\n<tr>\r\n<td>\r\n<table cellpadding=0 cellspacing=0 width=\"352\" border=0>\r\n<tr>\r\n<td><a href=\"http:\/\/www.smartertechnology.com\"><img border=0 src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpustlogo.jpg\"\/><\/a><\/td>\r\n<td><a href=\"http:\/\/ad.doubleclick.net\/clk;225978628;22968807;e?http:\/\/ad.doubleclick.net\/clk;225975261;47705346;o\"><img border=0 src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpuibmlogo.jpg\"\/><\/a><\/td>\r\n<\/tr>\r\n<\/table>\r\n<\/td>\r\n<\/tr>\r\n<!-- title and description -->\r\n<tr>\r\n<td><div id=\"calc_descriptionpane\"><\/div><\/td>\r\n<\/tr>\r\n<!-- calculator and button -->\r\n<tr>\r\n<td>\r\n<div id=\"calc_calcbkg\">\r\n<table width=\"354\" cellpadding=0 cellspacing=0 border=0>\r\n<tr>\r\n<td valign=\"top\"><div id=\"calc_calcpane\"><\/div><\/td><td valign=\"top\"><div id=\"calc_eweek\">Related Content<\/div><div id=\"calc_relconpane\"><\/div><\/td>\r\n<\/tr>\r\n<\/table>\r\n<\/div>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/mpuwidget\/mpubottom354x20.jpg\"\/><\/td>\r\n<\/tr>\r\n<\/table>","calcs":[{"0":"TCO Networking Costs","name":"TCO Networking Costs","1":"This calculator shows the cost of adding additional servers, including networking costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"This calculator shows the cost of adding additional servers, including networking costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id= \"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br\/><input type= \"text\" id= \"calc_servers\" value= \"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br\/><input type= \"text\" id= \"calc_price\" value= \"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost: <br\/><input type= \"text\" id= \"calc_result\" value= \"\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>\r\n\r\n","html":"<table id= \"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br\/><input type= \"text\" id= \"calc_servers\" value= \"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br\/><input type= \"text\" id= \"calc_price\" value= \"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost: <br\/><input type= \"text\" id= \"calc_result\" value= \"\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>\r\n\r\n","4":"\r\n    function isNumber(n) {\r\n      return !isNaN(parseFloat(n)) && isFinite(n);\r\n    }\r\n\r\n    function isInteger(s) {\r\n      return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n    }\r\n\r\n    function isUnsignedInteger(s) {\r\n      return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n    }\r\n\r\n    function validateAsUnsignedInteger(fieldName, responseName){\r\n        if (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^\\s+|\\s+$\/g,\"\"))){\r\n            alert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n    function validateAsInteger(fieldName, responseName){\r\n        if (!isInteger(document.getElementById(fieldName).value.replace(\/^\\s+|\\s+$\/g,\"\"))){\r\n            alert(\"Please enter an integer for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n    function validateAsNumber(fieldName, responseName){\r\n        if (!isNumber(document.getElementById(fieldName).value.replace(\/^\\s+|\\s+$\/g,\"\"))){\r\n            alert(\"Please enter a number for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    function calc_calculate()\r\n    {\r\n        if (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n                && validateAsNumber(\"calc_price\", \"price per server\")){\r\n       \r\n            var numberOfServers = document.getElementById(\"calc_servers\").value;\r\n            var purchasePrice = document.getElementById(\"calc_price\").value;\r\n   \r\n            var numberOfPortsPerSwitch = 24;\r\n            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n   \r\n            var costPerSwitch = 500;\r\n            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n           \r\n            var costPerCablingPerPoint = 50;\r\n   \r\n            var networkingCost = (numberOfServers * purchasePrice) +\r\n                                 (numberOfServers * costPerCablingPerPoint) +\r\n                                 costOfSwitches;\r\n   \r\n            document.getElementById(\"calc_result\").value = networkingCost;\r\n\r\n        }\r\n    }\r\n\r\n","js":"\r\n    function isNumber(n) {\r\n      return !isNaN(parseFloat(n)) && isFinite(n);\r\n    }\r\n\r\n    function isInteger(s) {\r\n      return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n    }\r\n\r\n    function isUnsignedInteger(s) {\r\n      return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n    }\r\n\r\n    function validateAsUnsignedInteger(fieldName, responseName){\r\n        if (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n            alert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n    function validateAsInteger(fieldName, responseName){\r\n        if (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n            alert(\"Please enter an integer for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n    function validateAsNumber(fieldName, responseName){\r\n        if (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n            alert(\"Please enter a number for the \"+responseName+\".\");\r\n            return false;\r\n        } else {\r\n            return true;\r\n        }\r\n    }\r\n\r\n    function calc_calculate()\r\n    {\r\n        if (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n                && validateAsNumber(\"calc_price\", \"price per server\")){\r\n       \r\n            var numberOfServers = document.getElementById(\"calc_servers\").value;\r\n            var purchasePrice = document.getElementById(\"calc_price\").value;\r\n   \r\n            var numberOfPortsPerSwitch = 24;\r\n            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n   \r\n            var costPerSwitch = 500;\r\n            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n           \r\n            var costPerCablingPerPoint = 50;\r\n   \r\n            var networkingCost = (numberOfServers * purchasePrice) +\r\n                                 (numberOfServers * costPerCablingPerPoint) +\r\n                                 costOfSwitches;\r\n   \r\n            document.getElementById(\"calc_result\").value = networkingCost;\r\n\r\n        }\r\n    }\r\n\r\n","5":"tco","widgetname":"tco","6":"1","idx":"1"},{"0":"TCO Networking, Power, and Cooling Costs","name":"TCO Networking, Power, and Cooling Costs","1":"This calculator shows the cost of adding additional servers, including networking and power for both servers and cooling.  It assumes energy costs of $.1\/Kw.","description":"This calculator shows the cost of adding additional servers, including networking and power for both servers and cooling.  It assumes energy costs of $.1\/Kw.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping();calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping();calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_wattage\", \"server wattage\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\r\n\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\tvar totalPower = coolingPower + serverPower;\r\n\r\n\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\/\/totalCostYearOne = Math.floor(100*totalCostYearOne)\/100;\r\n\r\n\t\t\tvar totalCostThreeYears = 3*totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\/\/totalCostThreeYears = Math.floor(100*totalCostThreeYears)\/100;\r\n\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","js":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_wattage\", \"server wattage\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\r\n\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\tvar totalPower = coolingPower + serverPower;\r\n\r\n\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\/\/totalCostYearOne = Math.floor(100*totalCostYearOne)\/100;\r\n\r\n\t\t\tvar totalCostThreeYears = 3*totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\/\/totalCostThreeYears = Math.floor(100*totalCostThreeYears)\/100;\r\n\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","5":"tco","widgetname":"tco","6":"2","idx":"2"},{"0":"TCO Networking and Staffing Costs","name":"TCO Networking and Staffing Costs","1":"This calculator shows the cost of adding additional servers, including networking and staffing costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"This calculator shows the cost of adding additional servers, including networking and staffing costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"100\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"100\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","js":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","5":"tco","widgetname":"tco","6":"3","idx":"3"},{"0":"TCO Networking and Support Costs","name":"TCO Networking and Support Costs","1":"This calculator shows the cost of adding additional servers, including networking and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"This calculator shows the cost of adding additional servers, including networking and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of an annual support contract for one server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","js":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of an annual support contract for one server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","5":"tco","widgetname":"tco","6":"4","idx":"4"},{"0":"TCO Networking, Support and Staffing Costs","name":"TCO Networking, Support and Staffing Costs","1":"This calculator shows the cost of adding additional servers, including networking, staffing and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"This calculator shows the cost of adding additional servers, including networking, staffing and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of a support contract for one server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","js":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of a support contract for one server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","5":"tco","widgetname":"tco","6":"5","idx":"5"},{"0":"TCO Networking, Power, Cooling, Support and Staffing Costs","name":"TCO Networking, Power, Cooling, Support and Staffing Costs","1":"This calculator shows the cost of adding additional servers, including networking, power, cooling, staffing and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server, and a cost of $.10\/Kw for electricity.","description":"This calculator shows the cost of adding additional servers, including networking, power, cooling, staffing and support costs. It assumes a cost of $500 per 24 port switch, and $50 for cabling per server, and a cost of $.10\/Kw for electricity.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Support Costs Per Server: <br \/><input type=\"text\" id=\"calc_perserver\" value=\"200\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_wattage\", \"server wattage\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of an annual support contract for each server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\t\t\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\t\tvar totalPower = coolingPower + serverPower;\r\n\r\n\t\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\t\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\t            \r\n\t\t\tvar totalCostYearOne = totalPowerCost + costOfAdmins + costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*totalPowerCost + 3*costOfAdmins + 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","js":"   function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_wattage\", \"server wattage\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_perserver\", \"cost of an annual support contract for each server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\t\t\r\n\t\t\tvar supportPricePerServer = document.getElementById(\"calc_perserver\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar costOfSupport = numberOfServers * supportPricePerServer;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\t\tvar totalPower = coolingPower + serverPower;\r\n\r\n\t\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\t\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\t            \r\n\t\t\tvar totalCostYearOne = totalPowerCost + costOfAdmins + costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*totalPowerCost + 3*costOfAdmins + 3*costOfSupport + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","5":"tco","widgetname":"tco","6":"6","idx":"6"},{"0":"TCO Networking and Scalability Costs","name":"TCO Networking and Scalability Costs","1":"One factor to consider when choosing hardware is the ease and expense of expanding a server's capabilities rather than adding additional servers.  This calculator shows the cost of adding additional servers, including networking and scalability costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"One factor to consider when choosing hardware is the ease and expense of expanding a server's capabilities rather than adding additional servers.  This calculator shows the cost of adding additional servers, including networking and scalability costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Projected growth (per year, eg \"50\" for 50%): <br \/><input type=\"text\" id=\"calc_growth\" value=\"75\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost per 10% increase, per server: <br \/><input type=\"text\" id=\"calc_pertenpercent\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Projected growth (per year, eg \"50\" for 50%): <br \/><input type=\"text\" id=\"calc_growth\" value=\"75\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost per 10% increase, per server: <br \/><input type=\"text\" id=\"calc_pertenpercent\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_pertenpercent\", \"cost per ten percent increased capability\")\r\n\t\t\t\t&& validateAsNumber(\"calc_growth\", \"projected growth per year\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar pricePerTenPercent = document.getElementById(\"calc_pertenpercent\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar growthRate = document.getElementById(\"calc_growth\").value;\r\n\r\n\t\t\tvar costOfGrowth = (growthRate\/10) * numberOfServers * pricePerTenPercent;\r\n\t\t\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 2*costOfGrowth + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","js":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_pertenpercent\", \"cost per ten percent increased capability\")\r\n\t\t\t\t&& validateAsNumber(\"calc_growth\", \"projected growth per year\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar pricePerTenPercent = document.getElementById(\"calc_pertenpercent\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar growthRate = document.getElementById(\"calc_growth\").value;\r\n\r\n\t\t\tvar costOfGrowth = (growthRate\/10) * numberOfServers * pricePerTenPercent;\r\n\t\t\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 2*costOfGrowth + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","5":"tco","widgetname":"tco","6":"7","idx":"7"},{"0":"TCO Networking, Staffing and Scalability Costs","name":"TCO Networking, Staffing and Scalability Costs","1":"One factor to consider when choosing hardware is the ease and expense of expanding a server's capabilities rather than adding additional servers.  This calculator shows the cost of adding additional servers, including networking, staffing, and scalability costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","description":"One factor to consider when choosing hardware is the ease and expense of expanding a server's capabilities rather than adding additional servers.  This calculator shows the cost of adding additional servers, including networking, staffing, and scalability costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Projected growth (per year, eg \"50\" for 50%): <br \/><input type=\"text\" id=\"calc_growth\" value=\"75\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost per 10% increase, per server: <br \/><input type=\"text\" id=\"calc_pertenpercent\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Servers Per Administrator: <br \/><input type=\"text\" id=\"calc_peradmin\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Average IT Staff Salary: <br \/><input type=\"text\" id=\"calc_salary\" value=\"100000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Projected growth (per year, eg \"50\" for 50%): <br \/><input type=\"text\" id=\"calc_growth\" value=\"75\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost per 10% increase, per server: <br \/><input type=\"text\" id=\"calc_pertenpercent\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_pertenpercent\", \"cost per ten percent increased capability\")\r\n\t\t\t\t&& validateAsNumber(\"calc_growth\", \"projected growth per year\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar pricePerTenPercent = document.getElementById(\"calc_pertenpercent\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar growthRate = document.getElementById(\"calc_growth\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\t\t\r\n\t\t\tvar costOfGrowth = (growthRate\/10) * numberOfServers * pricePerTenPercent;\r\n\t\t\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + 2*costOfGrowth + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","js":"    function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsNumber(\"calc_salary\", \"average salary per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_peradmin\", \"number of servers per administrator\")\r\n\t\t\t\t&& validateAsNumber(\"calc_pertenpercent\", \"cost per ten percent increased capability\")\r\n\t\t\t\t&& validateAsNumber(\"calc_growth\", \"projected growth per year\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\t\t\t\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar pricePerTenPercent = document.getElementById(\"calc_pertenpercent\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\t\t\tvar growthRate = document.getElementById(\"calc_growth\").value;\r\n\r\n\t\t\tvar adminSalary = document.getElementById(\"calc_salary\").value;\r\n\t\t\tvar serversPerAdmin = document.getElementById(\"calc_peradmin\").value;\r\n\r\n\t\t\tvar costOfAdmins = (numberOfServers\/serversPerAdmin) * adminSalary;\r\n\t\t\t\r\n\t\t\tvar costOfGrowth = (growthRate\/10) * numberOfServers * pricePerTenPercent;\r\n\t\t\t\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\t\t\t\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = costOfAdmins + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*costOfAdmins + 2*costOfGrowth + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}","5":"tco","widgetname":"tco","6":"8","idx":"8"},{"0":"TCO Networking, Floor Space, Power, and Cooling Costs","name":"TCO Networking, Floor Space, Power, and Cooling Costs","1":"This calculator shows the cost of adding additional servers, including networking, floor space, power and lighting, and cooling costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server and energy costs of $.1\/Kw.","description":"This calculator shows the cost of adding additional servers, including networking, floor space, power and lighting, and cooling costs.  It assumes a cost of $500 per 24 port switch, and $50 for cabling per server and energy costs of $.1\/Kw.","2":"server","relcon":"server","3":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost Per Square Foot: <br \/><input type=\"text\" id=\"calc_price_psf\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server Room Size (in square feet): <br \/><input type=\"text\" id=\"calc_sf\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","html":"<table id=\"calc_table\">\r\n<tr>\r\n<td>Number of Servers: <br \/><input type=\"text\" id=\"calc_servers\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server wattage (in watts per server): <br \/><input type=\"text\" id=\"calc_wattage\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Purchase Price: <br \/><input type=\"text\" id=\"calc_price\" value=\"1000\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cost Per Square Foot: <br \/><input type=\"text\" id=\"calc_price_psf\" value=\"10\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Server Room Size (in square feet): <br \/><input type=\"text\" id=\"calc_sf\" value=\"500\" \/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cooling Type: <br \/><select id=\"calc_coolingtype\"><option value=\".7\">Chiller<\/option><option value=\"1\">Direct Expansion<\/option><\/select><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (one year): <br \/><input type=\"text\" id=\"calc_result\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Total cost (three years): <br \/><input type=\"text\" id=\"calc_result2\" value=\"\"\/><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><img src=\"http:\/\/www.zde-engage.com\/ibmw2\/img\/skywidget\/skycalculatebutton77x24.jpg\" onclick=\"calcping(); calc_calculate()\" \/><\/td>\r\n<\/tr>\r\n<\/table>","4":"function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsInteger(\"calc_wattage\", \"power rating of each server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price_psf\", \"general price per square foot per month for facilities space\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_sf\", \"room size, in square feet\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar roomSize = document.getElementById(\"calc_sf\").value;\r\n\t\t\tvar lightingPower = 2 * roomSize; \/\/in watts\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\r\n\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\tvar totalPower = lightingPower + coolingPower + serverPower;\r\n\r\n\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\r\n\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\r\n\t\t\tvar perSFCost = document.getElementById(\"calc_price_psf\").value;\r\n\t\t\tvar facilitiesCost = roomSize * perSFCost * 12;\r\n\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = facilitiesCost + totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*facilitiesCost + 3*totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","js":"function isNumber(n) {\r\n\t  return !isNaN(parseFloat(n)) && isFinite(n);\r\n\t}\r\n\r\n\tfunction isInteger(s) {\r\n\t  return (s.toString().search(\/^-?[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction isUnsignedInteger(s) {\r\n\t  return (s.toString().search(\/^[0-9]+$\/) == 0);\r\n\t}\r\n\r\n\tfunction validateAsUnsignedInteger(fieldName, responseName){\r\n\t\tif (!isUnsignedInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a positive integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsInteger(fieldName, responseName){\r\n\t\tif (!isInteger(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter an integer for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\tfunction validateAsNumber(fieldName, responseName){\r\n\t\tif (!isNumber(document.getElementById(fieldName).value.replace(\/^s+|s+$\/g,\"\"))){\r\n\t\t\talert(\"Please enter a number for the \"+responseName+\".\");\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calc_calculate()\r\n\t{\r\n\t\tif (validateAsUnsignedInteger(\"calc_servers\", \"number of servers\")\r\n\t\t\t\t&& validateAsInteger(\"calc_wattage\", \"power rating of each server\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price_psf\", \"general price per square foot per month for facilities space\")\r\n\t\t\t\t&& validateAsUnsignedInteger(\"calc_sf\", \"room size, in square feet\")\r\n\t\t\t\t&& validateAsNumber(\"calc_price\", \"price per server\")){\r\n\r\n\t\t\tvar numberOfServers = document.getElementById(\"calc_servers\").value;\r\n\t\t\tvar purchasePrice = document.getElementById(\"calc_price\").value;\r\n\r\n\t\t\tvar costOfServers = numberOfServers * purchasePrice;\r\n\r\n\t\t\tvar roomSize = document.getElementById(\"calc_sf\").value;\r\n\t\t\tvar lightingPower = 2 * roomSize; \/\/in watts\r\n\r\n\t\t\tvar costPerKilowatt = .1;\r\n\t\t\tvar serverWattage = document.getElementById(\"calc_wattage\").value;\r\n\t\t\tvar coolingType = document.getElementById(\"calc_coolingtype\").value;\r\n\t\r\n\t\t\tvar coolingPower = numberOfServers * serverWattage * coolingType;\r\n\t\t\tvar serverPower = numberOfServers * serverWattage;\r\n\t\t\tvar totalPower = lightingPower + coolingPower + serverPower;\r\n\r\n\t\t\tvar costPerHour = (totalPower\/1000) * costPerKilowatt;\r\n\r\n\t\t\tvar totalPowerCost = costPerHour * 24 * 365;\r\n\r\n\t\t\tvar perSFCost = document.getElementById(\"calc_price_psf\").value;\r\n\t\t\tvar facilitiesCost = roomSize * perSFCost * 12;\r\n\r\n\t\t\t var numberOfPortsPerSwitch = 24;\r\n\t            var fullSwitches = Math.floor(numberOfServers\/numberOfPortsPerSwitch);\r\n\t            var partiallyFullSwitches = Math.ceil((numberOfServers - (fullSwitches * numberOfPortsPerSwitch))\/numberOfPortsPerSwitch);\r\n\t            var numberOfSwitches = fullSwitches + partiallyFullSwitches;\r\n\t   \r\n\t            var costPerSwitch = 500;\r\n\t            var costOfSwitches = numberOfSwitches * costPerSwitch;\r\n\t           \r\n\t            var costPerCablingPerPoint = 50;\r\n\t   \r\n\t            var networkingCost = (numberOfServers * purchasePrice) +\r\n\t                                 (numberOfServers * costPerCablingPerPoint) +\r\n\t                                 costOfSwitches;\r\n\r\n\t\t\tvar totalCostYearOne = facilitiesCost + totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tvar totalCostThreeYears = 3*facilitiesCost + 3*totalPowerCost + costOfServers + networkingCost;\r\n\t\t\t\r\n\t\t\tdocument.getElementById(\"calc_result\").value = totalCostYearOne.toFixed(2);\r\n\t\t\tdocument.getElementById(\"calc_result2\").value = totalCostThreeYears.toFixed(2);\r\n\r\n\t\t}\r\n\t}\r\n","5":"tco","widgetname":"tco","6":"9","idx":"9"}],"rss":"<a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Smarter-Strategies\/Five-New-Technologies-That-Will-Change-Enterprise-Computing\/?kc=ibmwidget2\" title=\"Five New Technologies That Will Change Enterprise Computing\">Five New Technologies ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/Two-Paths-to-Better-Food-Supply-Choices\/?kc=ibmwidget2\" title=\"Two Paths to Better Food Supply, Choices\">Two Paths to Better Food ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Robot-Climbs-Sheer-Faces-Using-Apelike-Gait\/?kc=ibmwidget2\" title=\"Robot Climbs Sheer Faces Using Apelike Gait\">Robot Climbs Sheer Faces ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/NSF-Project-Demonstrates-New-Space-Weather-Prediction-Capability\/?kc=ibmwidget2\" title=\"NSF Project Demonstrates New Space Weather Prediction Capability\">NSF Project Demonstrates ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Martian-Dusting-Technology-Could-Improve-Terrestrial-Solar-Panels\/?kc=ibmwidget2\" title=\"Martian Dusting Technology Could Improve Terrestrial Solar Panels\">Martian Dusting ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Scientists-Create-MRSAKilling-Nanotech-Coating\/?kc=ibmwidget2\" title=\"Scientists Create MRSA-Killing Nanotech Coating\">Scientists Create ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Software-Can-Diagnose-Depression-in-Blogs-and-Tweets\/?kc=ibmwidget2\" title=\"Software Can Diagnose Depression in Blogs and Tweets\">Software Can Diagnose ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Whiskey-Byproducts-Make-Powerful-Biofuel\/?kc=ibmwidget2\" title=\"Whisky Byproducts Make Powerful Biofuel\">Whisky Byproducts Make ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/Butterfly-Net-to-Collect-Space-Junk-\/?kc=ibmwidget2\" title=\"'Butterfly Net' to Collect Space Junk \">'Butterfly Net' to ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Smarter-Strategies\/3D-Social-Media-Augments-Reality-with-CrowdSourced-Geotags\/?kc=ibmwidget2\" title=\"3D Social Media Augments Reality with Crowd-Sourced Geo-tags\">3D Social Media Augments ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Smarter-Strategies\/3D-Modeling-Automated-by-MEMS-PicoProjectors\/?kc=ibmwidget2\" title=\"3D Modeling Automated by MEMS Pico-Projectors\">3D Modeling Automated by ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Technology-For-Change\/Android-Apps-to-Lend-a-Hand-on-the-Battlefield\/?kc=ibmwidget2\" title=\"Android Apps to Lend a Hand on the Battlefield\">Android Apps to Lend a ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/Four-Smarter-Planet-Projects-to-Watch\/?kc=ibmwidget2\" title=\"Four Smarter Planet Projects to Watch\">Four Smarter Planet ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/NASA-to-Use-Drone-Plane-for-Hurricane-Research\/?kc=ibmwidget2\" title=\"NASA to Use Drone Plane for Hurricane Research\">NASA to Use Drone Plane ...<\/a><br\/><a href=\"http:\/\/www.smartertechnology.com\/c\/a\/Global-Challenges\/Biofuel-Takes-the-Gold-on-Ohio-Racetrack\/?kc=ibmwidget2\" title=\"Biofuel Takes the Gold on Ohio Racetrack\">Biofuel Takes the Gold ...<\/a><br\/>"}

var calc_metrix = new Image(1,1);

var calc_metrixping = "http://ad.doubleclick.net/ad/entzd.eweek/ibmwidget/tcosky;sz=1x1;ord=1";

function replaceHtml(el, html)
{
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
    var newEl = document.createElement(oldEl.nodeName);
    // Preserve the element's id and class (other properties are lost)
    newEl.id = oldEl.id;
    newEl.className = oldEl.className;
    // Replace the old with the new
    newEl.innerHTML = html;
    oldEl.parentNode.replaceChild(newEl, oldEl);
    /* Since we just removed the old element from the DOM, return a reference
    to the new element, which can be used to restore variable references. */
    return newEl;
};

function calcinit()
{
	var p = document.getElementById("calcinit");
	thediv = document.createElement("div");
	thediv.setAttribute("id","calc_div");
	p.parentNode.insertBefore(thediv,p);
	replaceHtml("calc_div",data.html);
	
	if (ff != 'skytoolpage')
		putrelcon();
	
	putcalc();
}

var tempscript;

function addscriptnode(js)
{
	headid = document.getElementsByTagName("head")[0];
	if (document.getElementById("tempscript") != null)
		headid.removeChild(tempscript);
	tempscript = document.createElement("script");
	tempscript.type = "text/javascript";
 	tempscript.text = js;
	headid.appendChild(tempscript);
}

var rand = 0;

function putcalc()
{
	var lim = data.calcs.length;

	rand = Math.floor(Math.random()*lim);

	s = "<p><b>" + data.calcs[rand].name + "</b><br/>" + data.calcs[rand].description + "</p>";
	replaceHtml("calc_descriptionpane",s);
	s =  data.calcs[rand].html + "<div id='calc_another' onclick='putcalc()'>Get another IT calculator</a>";
	if (ff == 'sky' || ff == 'skytoolpage')
		replaceHtml("calc_calcpane",s);
	else
		replaceHtml("calc_calcpane",s + "<div id='calc_banner'><img src=\"http://www.zde-engage.com/ibmw2/img/ibmlogo.gif\" style=\"margin: 3px;\" width=\"106\" height=\"40\"/><IMG SRC=\"http://ad.doubleclick.net/ad/N815.zdenterprise/B4597436.9;sz=1x1;ord=[timestamp]?\" BORDER=0 WIDTH=1 HEIGHT=1 ALT=\"Click Here\"/><img src=\"http://ad.doubleclick.net/ad/entzd.eweek/ibmwidget/virtsky;sz=1x1;ord=1\" width=\"1\" height=\"1\" border=\"0\"/></div>");

	addscriptnode(data.calcs[rand].js);
	calc_relcon = data.calcs[rand].relcon;
}

function putrelcon()
{
	if (ff == 'sky')
	{
		var firstfive = data.rss.split("<br/>",5);
		firstfive = firstfive.join("<br/>");
		data.rss = firstfive; 	
	}
	replaceHtml("calc_relconpane",data.rss);
}

function calcping()
{
	calc_metrix.src = calc_metrixping;
}

setTimeout("calcinit()",3000);