Help with Firefox compatibility

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Craig Keightley

    Help with Firefox compatibility

    Please help, i have attached my page which worksin IE but i cannnot get the
    drop down menu to fucntion in firefox. Any one have any ideas why?

    Many Thanks

    Craig

    <<<<<<<<<<<<<<C ODE>>>>>>>>>>>> >>>>

    <html>

    <head>
    <title>Rackag e Servers - Is your server Rackage?</title>
    <style>
    p
    {margin: 0;}

    body
    {margin: 0;}

    </style>
    <style type="text/css">

    #dhtmltooltip{
    position: absolute;
    left: -300px;
    width: 150px;
    border: 2px solid #86A1BC;
    padding: 2px;
    background-color: transparent;
    background-image: url('blue85alph a.png');
    background-repeat: repeat;
    filter: progid:DXImageT ransform.Micros oft.Alpha(Opaci ty=85);
    -moz-opacity: 0.80;

    visibility: hidden;
    z-index: 100
    }

    #dhtmlpointer{
    position:absolu te;
    left: -300px;
    z-index: 101;
    visibility: hidden;
    }

    H1 {
    PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bolder;
    FONT-SIZE: 18px; LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 5px; WIDTH:
    99.99%; COLOR: #eeedef; PADDING-TOP: 3px; POSITION: relative; TEXT-ALIGN:
    left
    }

    H2 {
    PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: bolder;
    FONT-SIZE: 13px; LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 5px; WIDTH:
    99.99%; COLOR: #eeedef; PADDING-TOP: 3px; POSITION: relative; TEXT-ALIGN:
    left
    }

    </style>
    <script src="scripts/NumberFormat.js " type="text/javascript"></script>

    <script src="hover.js" type="text/javascript"></script>
    <script language="javas cript">

    function format_currency ( fAmount ){
    var numberTest = new NumberFormat(fA mount);
    numberTest.setC urrency(false);
    numberTest.setC ommas(false);
    numberTest.setP laces(2);
    var POUND = unescape('%A3') ;
    numberTest.setC urrencyPrefix(P OUND);
    return(numberTe st.toFormatted( ));
    }


    function hint(sHint) {
    document.getEle mentById("hintt ext").innerHTM L = sHint;
    }
    function showPackage() {
    resetOptions();
    var setUpTxt = document.getEle mentById("cust_ setup_text");
    var setUpPrice = document.getEle mentById("cust_ setup_price");
    var basePrice = document.getEle mentById("baseP rice");
    var setUpValue = document.getEle mentById("setUp ").value;
    var netPriceValue = document.getEle mentById("netPr ice");
    var serverID = document.getEle mentById("packa geRef").value;
    var serverName = document.getEle mentById("packa geRef");
    var serverText = serverName.opti ons[serverName.sele ctedIndex].text;
    var packageName = document.getEle mentById("packa ge_name");
    var hddPrice = document.getEle mentById("hddPr ice").value;
    var ramPrice = document.getEle mentById("ramPr ice").value;
    var netPrice = document.getEle mentById("net_p rice");
    var cpuText = document.getEle mentById("cpu_t ext");
    var ramText = document.getEle mentById("ram_t ext");
    var hddText = document.getEle mentById("hdd_t ext");
    var osText = document.getEle mentById("os_te xt");
    var priceText = document.getEle mentById("price _text");
    var cpu =document.getEl ementById("cpu" );
    var ram = document.getEle mentById("ram") ;
    var hdd = document.getEle mentById("hdd") ;
    var os = document.getEle mentById("os");
    var price =document.getEl ementById("pric e");
    var custom = document.getEle mentById("custo m").value;
    var basePriceValue = '70.00'
    var helpText1 = '<table cellpadding=0 cellspacing=0 ><tr><td
    class=&quot;ord er_text&quot; valign=&quot;to p&quot;>The processor is the
    engine behind the server, choose one which will be able to cope with all the
    applications that you will require of it.</td><td
    class=&quot;ord er_text&quot; width=&quot;105 &quot; height=&quot;34 &quot;
    align=&quot;cen ter&quot;></td></tr></table>'; //cpu
    var helpText2 = '<table cellpadding=0 cellspacing=0 ><tr><td
    class=&quot;ord er_text&quot; valign=&quot;to p&quot;>You need extra Ram
    resources to be able to run the server smoothly, less ram means writing to
    hard drive which slows performance. 1 gig min recommended</td><td
    class=&quot;ord er_text&quot; width=&quot;105 &quot; height=&quot;34 &quot;
    align=&quot;cen ter&quot;></td></tr></table>'; //ram
    var helpText3 = '<table cellpadding=0 cellspacing=0 ><tr><td
    class=&quot;ord er_text&quot; valign=&quot;to p&quot;>Hard disk drives
    capacity is not a problem with modern drives, but for safety we advise
    running 2 drives for raid 1. You will never lose data with this
    configuration. </td><td class=&quot;ord er_text&quot; width=&quot;105 &quot;
    height=&quot;34 &quot; align=&quot;cen ter&quot;></td></tr></table>'; //hdd
    var helpText4 = '<table cellpadding=0 cellspacing=0 ><tr><td
    class=&quot;ord er_text&quot; valign=&quot;to p&quot;>Choos e which operating
    system you wish to use on your server, remember that some games will release
    servers / patches for windows much earlier that for Linux. It is advisable
    to choose the operating system that you are most comfortable with.</td><td
    class=&quot;ord er_text&quot; width=&quot;105 &quot; height=&quot;34 &quot;
    align=&quot;cen ter&quot;></td></tr></table>'; //os
    var setUp = document.getEle mentById("setUp ");
    packageName.inn erHTML = serverText;
    cpu.innerHTML = '<strong>Minimu m CPU </strong>';
    ram.innerHTML = '<strong>Minimu m RAM </strong>';
    hdd.innerHTML = '<strong>Minimu m HDD </strong>';
    os.innerHTML = '<strong>Operat ing System </strong>';
    price.innerHTML = '<strong>Price :</strong>';
    switch(serverID ){
    case "1" :
    basePrice.value = 0;
    setUpTxt.innerH TML = '';
    setUpPrice = '';
    setUpValue = 0;
    resetOptions();
    setUp.value = 0;
    cpuText.innerHT ML='<IMG SRC="files/cpu/p4.jpg" align="right">< img
    src="/images/help_off.gif" alt="what is this?" name="help" width="18"
    height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText1+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Intel Pentium 4 HT (3.00 Ghz)';
    ramText.innerHT ML = '<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText2+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Low (512 MB)';
    hddText.innerHT ML='<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText3+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Low (40 GB)';
    osText.innerHTM L = '<IMG SRC="files/os/server_winxp.gi f"
    align="right">< img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText4+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Windows XP ';
    priceText.inner HTML = '£123.00';
    //netPrice.value ='123.00';
    netPrice.innerH TML = '£123.00';
    netPriceValue.v alue = 123.00;
    showPayment();
    updateTotals();
    setTextValues(' Windows XP','Hard Disk: Low (40 GB)','Ram: Low (512
    MB)','Intel Pentium 4 HT (3.00 Ghz)')
    break;
    case "2" :
    basePrice.value = 0;
    setUpTxt.innerH TML = '';
    setUpPrice = '';
    setUpValue = 0;
    resetOptions();
    setUp.value = 0;
    cpuText.innerHT ML='<IMG SRC="files/cpu/a64.jpg" align="right">< img
    src="/images/help_off.gif" alt="what is this?" name="help" width="18"
    height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText1+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;AMD Athlon 64 3200 (3.20 Ghz)';
    ramText.innerHT ML = '<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText2+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Medium (1024 MB)';
    hddText.innerHT ML='<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText3+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Middle (120 GB)';
    osText.innerHTM L = '<IMG SRC="files/os/server_win2000. gif"
    align="right">< img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText4+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Windows 2000 ';
    priceText.inner HTML = '£100.00';
    //netPrice.value ='100.00';
    netPrice.innerH TML = '£100.00';
    netPriceValue.v alue = 100.00;
    showPayment();
    updateTotals();
    setTextValues(' Windows 2000','Hard Disk: Middle (120 GB)','Ram: Medium
    (1024 MB)','AMD Athlon 64 3200 (3.20 Ghz)')
    break;
    case "3" :
    basePrice.value = 0;
    setUpTxt.innerH TML = '';
    setUpPrice = '';
    setUpValue = 0;
    resetOptions();
    setUp.value = 0;
    cpuText.innerHT ML='<IMG SRC="files/cpu/xeonDC.jpg" align="right">< img
    src="/images/help_off.gif" alt="what is this?" name="help" width="18"
    height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText1+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Intel Xeon Paxville (3.40 Ghz)';
    ramText.innerHT ML = '<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText2+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Medium (1024 MB)';
    hddText.innerHT ML='<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText3+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Middle (120 GB)';
    osText.innerHTM L = '<IMG SRC="files/os/server_freebsd. gif"
    align="right">< img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText4+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Free BSD ';
    priceText.inner HTML = '£99.00';
    //netPrice.value ='99.00';
    netPrice.innerH TML = '£99.00';
    netPriceValue.v alue = 99.00;
    showPayment();
    updateTotals();
    setTextValues(' Free BSD','Hard Disk: Middle (120 GB)','Ram: Medium (1024
    MB)','Intel Xeon Paxville (3.40 Ghz)')
    break;
    case "4" :
    basePrice.value = 0;
    setUpTxt.innerH TML = '';
    setUpPrice = '';
    setUpValue = 0;
    resetOptions();
    setUp.value = 0;
    cpuText.innerHT ML='<IMG SRC="files/cpu/pd.jpg" align="right">< img
    src="/images/help_off.gif" alt="what is this?" name="help" width="18"
    height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText1+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Intel Pentium D 840 (3.20 Ghz)';
    ramText.innerHT ML = '<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText2+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Low (512 MB)';
    hddText.innerHT ML='<img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText3+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;High (200 GB)';
    osText.innerHTM L = '<IMG SRC="files/os/server_fedora.g if"
    align="right">< img src="/images/help_off.gif" alt="what is this?"
    name="help" width="18" height="18" border="0" align="middle"
    onMouseover="dd rivetip(\''+hel pText4+'\', 300)"
    onMouseout="hid eddrivetip()">& nbsp;Fedora ';
    priceText.inner HTML = '£55.00';
    //netPrice.value ='55.00';
    netPrice.innerH TML = '£55.00';
    netPriceValue.v alue = 55.00;
    showPayment();
    updateTotals();
    setTextValues(' Fedora','Hard Disk: High (200 GB)','Ram: Low (512
    MB)','Intel Pentium D 840 (3.20 Ghz)')
    break;


    case "-1" : //custom build
    resetOptions();
    setUpTxt.innerH TML = '<strong>Set Up Fee</strong>';
    setUpPrice = '£0.00';
    setUpValue = 0;
    basePrice.value = 70;
    //alert(basePrice .value);
    setUp.value = format_currency (0);
    cpuText.innerHT ML='<select name="cpuBrand" class="order_se lect"
    onChange="showC PUs();updateTot als()"><option> Please Select</option><option
    value="1">AMD</option>;<option
    value="2">Intel </option>;</select><br>';//need tool tip here to show spec of
    cpu
    cpuText.innerHT ML += '<select name="dualProce ssor" class="order_se lect"
    onChange="showC PUs()"><option> Please Select</option><option value="N">Singl e
    Processor</option><option value="Y">Dual Processor</option></select><br>';
    cpuText.innerHT ML += '<select name="dualCore" class="order_se lect"
    onChange="showC PUs()"><option> Please Select</option><option
    value="N">Singl e</option><option value="Y">Dual Core</option></select><br>'

    ramText.innerHT ML = '<select name="ramOption " class="order_se lect"
    onChange="setRa m()"><option>Pl ease Select</option><option value="1">Low
    (512MB)</option><option value="2">Mediu m (1024MB)</option><option
    value="3">High (2048MB)</option></select>';
    hddText.innerHT ML='<select name="hddOption " class="order_se lect"
    id="hddOption" onChange="setHd d()"><option>Pl ease Select</option><option
    value="1">Low (40 GB)</option><option value="2">Middl e (120
    GB)</option><option value="3">High (200 GB)</option></select>';
    osText.innerHTM L = '<select name="osOption" class="order_se lect"
    id="osOption" onChange="setOs ()"><option>Ple ase Select</option><option
    value="1" >Windows XP</option><option value="2" >Windows
    2000</option><option value="3" >Free BSD</option><option value="4"[color=blue]
    >Fedora</option></select>';[/color]
    //priceText.inner HTML = parseFloat(cust CPUPrice.value) +
    parseFloat(cust HDDPrice.value) + parseFloat(cust RamPrice.value) +
    parseFloat(cust OSPrice.value);
    custom = "true";
    netPriceValue = 0;
    showPayment();
    break;
    }
    }

    function updateTotals(){
    var netPrice = document.getEle mentById("netPr ice");
    var custPriceTxt = document.getEle mentById("cust_ system_price");
    var discountTotalTx t = document.getEle mentById("month lyDiscountTotal ");
    var priceText = document.getEle mentById("price _text");
    var totalText = document.getEle mentById("grand _total");
    var custHDDPrice = document.getEle mentById("hddPr ice");
    var custRamPrice = document.getEle mentById("ramPr ice");
    var custOSPrice = document.getEle mentById("osPri ce");
    var custCPUPrice = document.getEle mentById("cpuPr ice");
    var selectedMonth = document.getEle mentById("selec tedMonth");
    var monthlyDiscount = document.getEle mentById("month lyDiscount");
    var netPriceText = document.getEle mentById("net_p rice");
    var discountValueTx t = document.getEle mentById("disco untValueTxt");
    var setUpFee = document.getEle mentById("setUp ").value;
    var basePrice = document.getEle mentById("baseP rice").value;
    var totalPrice = parseFloat(form at_currency(bas ePrice)) +
    parseFloat(form at_currency(net Price.value)) +
    parseFloat(form at_currency(cus tCPUPrice.value )) +
    parseFloat(form at_currency(cus tHDDPrice.value )) +
    parseFloat(form at_currency(cus tRamPrice.value )) +
    parseFloat(form at_currency(cus tOSPrice.value) );
    var grandTotal = parseFloat(form at_currency(set UpFee)) + ((totalPrice) *
    (selectedMonth. value) * (monthlyDiscoun t.value));
    var discountValue = ( ( totalPrice * selectedMonth.v alue ) - grandTotal ) /
    selectedMonth.v alue; //may need to accomodate for setupfee
    var custPrice = totalPrice -
    parseFloat(form at_currency(cus tOSPrice.value) );
    var monthPriceAfter Discount = totalPrice - discountValue;
    grandTotal = '£'+format_curr ency(grandTotal );
    totalPrice = '£'+format_curr ency(totalPrice );
    custPrice = '£'+format_curr ency(custPrice) ;

    priceText.inner HTML = totalPrice;
    custPriceTxt.in nerHTML = custPrice;
    netPriceText.in nerHTML = totalPrice;
    totalText.inner HTML = grandTotal;
    //alert(discountV alue)
    if(discountValu e > 0){
    discountValueTx t.innerHTML =
    '&nbsp;&nbsp; £ -'+format_curren cy(discountValu e) + ' (Per Month)';
    discountTotalTx t.innerHTML = 'Monthly Price After Discount £'
    +format_currenc y(monthPriceAft erDiscount)
    } else {
    discountValueTx t.innerHTML = '';
    discountTotalTx t.innerHTML = ''
    }

    }
    function showPayment(){
    var paymentText = document.getEle mentById("payme nt");
    payment.innerHT ML = '<table width="100%" cellpadding="0"
    cellspacing="0" ><tr><td class="order_he ader" height="25">Pay ment
    Terms</td></tr><tr><td height="19" colspan="2" valign="top"
    class="order_te xt" style="width: 250px;"><input type="radio"
    id="paymentterm " name="paymentte rm" value="1" onclick="update _price(1,1);"
    checked="checke d" />1 Month</td></tr><tr><td height="19" colspan="2"
    valign="top" class="order_te xt" style="width: 250px;"><input type="radio"
    id="paymentterm " name="paymentte rm" value="3"
    onclick="update _price(3,0.90); " >3 Months (10% Discount)</td></tr><tr><td
    height="19" colspan="2" valign="top" class="order_te xt" style="width:
    250px;"><input type="radio" id="paymentterm " name="paymentte rm" value="6"
    onclick="update _price(6,0.85); " >6 Months (15% Discount)</td></tr><tr><td
    height="19" colspan="2" valign="top" class="order_te xt" style="width:
    250px;"><input type="radio" id="paymentterm " name="paymentte rm" value="12"
    onclick="update _price(12,0.80) ;" >12 Months (20%
    Discount)</td></tr></table>'
    //update_price(1, 0);
    updateTotals();
    }

    function hidePayment(){
    var paymentText = document.getEle mentById("payme nt");
    }
    function update_price(it emID,discountGi ven){
    var payTerm = document.getEle mentById("payme ntterm").value;
    var payTermText = document.getEle mentById("payme nt_term_text");
    var monthDiscount = document.getEle mentById("month lyDiscount");
    var selectedMonth = document.getEle mentById("selec tedMonth");
    monthDiscount.v alue = discountGiven;
    selectedMonth.v alue = itemID;
    var totalText = document.getEle mentById("grand _total");
    switch(itemID){
    case 1 :
    var discount = "1";
    var discountText = 0;
    //discount = parseFloat(disc ount);
    if(itemID > 1){
    spanClass = '<span class="discount _text">'
    discountText = 's ( '+discountText+ '% Discount)'
    } else {
    discountText = '';
    spanClass = '<span class="order_te xt">';
    }
    payTermText.inn erHTML = spanClass + '1 Month' + discountText + '</span>';
    updateTotals();
    break;
    case 3 :
    var discount = "0.90";
    var discountText = 10;
    //discount = parseFloat(disc ount);
    if(itemID > 1){
    spanClass = '<span class="discount _text">'
    discountText = 's ( '+discountText+ '% Discount)'
    } else {
    discountText = '';
    spanClass = '<span class="order_te xt">';
    }
    payTermText.inn erHTML = spanClass + '3 Month' + discountText + '</span>';
    updateTotals();
    break;
    case 6 :
    var discount = "0.85";
    var discountText = 15;
    //discount = parseFloat(disc ount);
    if(itemID > 1){
    spanClass = '<span class="discount _text">'
    discountText = 's ( '+discountText+ '% Discount)'
    } else {
    discountText = '';
    spanClass = '<span class="order_te xt">';
    }
    payTermText.inn erHTML = spanClass + '6 Month' + discountText + '</span>';
    updateTotals();
    break;
    case 12 :
    var discount = "0.80";
    var discountText = 20;
    //discount = parseFloat(disc ount);
    if(itemID > 1){
    spanClass = '<span class="discount _text">'
    discountText = 's ( '+discountText+ '% Discount)'
    } else {
    discountText = '';
    spanClass = '<span class="order_te xt">';
    }
    payTermText.inn erHTML = spanClass + '12 Month' + discountText + '</span>';
    updateTotals();
    break;
    }
    //totalText.inner HTML = '£' + format_currency (itemID * netPriceValue *
    discount);
    }
    function setOs(){
    var custOSPrice = document.getEle mentById("osPri ce");
    var custOS = document.getEle mentById("osOpt ion").value;
    var custOSTxt = document.getEle mentById("osTxt Value");
    switch(custOS){
    case "1" :
    document.getEle mentById("netPr ice").value = 0;
    updateTotals();
    setCustText('cu st_os_text','cu st_os_price','< strong>OS:</strong> Windows
    XP','15.00');
    custOSPrice.val ue = '15.00'
    custOSTxt.value = 'OS: Windows XP'
    updateTotals();
    break;
    case "2" :
    document.getEle mentById("netPr ice").value = 0;
    updateTotals();
    setCustText('cu st_os_text','cu st_os_price','< strong>OS:</strong> Windows
    2000','10.00');
    custOSPrice.val ue = '10.00'
    custOSTxt.value = 'OS: Windows 2000'
    updateTotals();
    break;
    case "3" :
    document.getEle mentById("netPr ice").value = 0;
    updateTotals();
    setCustText('cu st_os_text','cu st_os_price','< strong>OS:</strong> Free
    BSD','0.00');
    custOSPrice.val ue = '0.00'
    custOSTxt.value = 'OS: Free BSD'
    updateTotals();
    break;
    case "4" :
    document.getEle mentById("netPr ice").value = 0;
    updateTotals();
    setCustText('cu st_os_text','cu st_os_price','< strong>OS:</strong>
    Fedora','0.00') ;
    custOSPrice.val ue = '0.00'
    custOSTxt.value = 'OS: Fedora'
    updateTotals();
    break;

    }

    }
    function setHdd(){
    var custHDDPrice = document.getEle mentById("hddPr ice");
    var custHDD = document.getEle mentById("hddOp tion").value;
    var custHDDTxt = document.getEle mentById("osHdd Value");
    switch(custHDD) {
    case "1" :
    custHDDPrice.va lue = 5.00;
    custHDDTxt = 'HDD: Low (40 GB)';
    setCustomText(' cust_system_tex t_hdd', 'HDD: 40 GB');
    break;
    case "2" :
    custHDDPrice.va lue = 10.00;
    custHDDTxt = 'HDD: Middle (120 GB)';
    setCustomText(' cust_system_tex t_hdd', 'HDD: 120 GB');
    break;
    case "3" :
    custHDDPrice.va lue = 15.00;
    custHDDTxt = 'HDD: High (200 GB)';
    setCustomText(' cust_system_tex t_hdd', 'HDD: 200 GB');
    break;
    }
    updateTotals()
    }

    function setCpu(setPrice ,setName){
    var custCPUPrice = document.getEle mentById("cpuPr ice");
    var custCPUTxt = document.getEle mentById("cpuTx tValue");
    custCPUPrice.va lue = setPrice;
    custCPUTxt.valu e = setName;
    setCustomText(' cust_system_tex t_cpu', '<strong>System : </strong>'+setNam e+'
    || ');
    updateTotals()
    }


    function setRam(){
    var custRamPrice = document.getEle mentById("ramPr ice");
    var custRam = document.getEle mentById("ramOp tion").value;
    switch(custRam) {
    case "1" :
    //setCustText('cu st_ram_text','c ust_ram_price', '<strong>RAM :</strong> Low
    (512 MB)','7.50');
    custRamPrice.va lue = '7.50';
    setCustomText(' cust_system_tex t_ram',' RAM: 512 MB || ');
    break;
    case "2" :
    //setCustText('cu st_ram_text','c ust_ram_price', '<strong>RAM :</strong>
    Medium (1024 MB)','15.00');
    custRamPrice.va lue = '15.00';
    setCustomText(' cust_system_tex t_ram',' RAM: 1024 MB || ');
    break;
    case "3" :
    //setCustText('cu st_ram_text','c ust_ram_price', '<strong>RAM :</strong>
    High (2048 MB)','25.00');
    custRamPrice.va lue = '25.00';
    setCustomText(' cust_system_tex t_ram',' RAM: 2048 MB || ');
    break;
    }
    updateTotals()
    }
    function setCustomText(i temID,itemTxt){
    var custSetupTxt = document.getEle mentById("cust_ setup_text");
    var custSetupPrice = document.getEle mentById("cust_ setup_price");
    d=document.all;
    i = setCustomText.a rguments;
    d[i[0]].innerHTML = itemTxt;
    custSetupTxt.in nerHTML = '<strong>Set Up</strong>'
    custSetupPrice. innerHTML = '£0'
    }
    function resetOptions(){
    document.getEle mentById("ramPr ice").value = 0;
    document.getEle mentById("netPr ice").value = 0;
    document.getEle mentById("cpu_t ext").innerHTM L = ' ';
    document.getEle mentById("cpuPr ice").value = 0;
    document.getEle mentById("hddPr ice").value = 0;
    document.getEle mentById("cpuNa me").innerHTM L = ' ';
    document.getEle mentById("osPri ce").value = 0;
    document.getEle mentById("cust_ os_text").inner HTML = ' ';
    document.getEle mentById("cust_ os_price").inne rHTML = ' ';
    document.getEle mentById("price _text").innerHT ML = ' ';
    document.getEle mentById("cust_ system_text_hdd ").innerHTM L = ' ';
    document.getEle mentById("cust_ system_text_cpu ").innerHTM L = ' ';
    document.getEle mentById("cust_ system_text_ram ").innerHTM L = ' ';
    updateTotals();
    }

    </script>
    <script type="text/javascript">
    function showCPUs() {
    var s = 0;
    var cpuItem = new Array();
    //name brandID dualCore dualProcessor price cpuID
    cpuItem[s++] = [' ( Ghz)','','','', '','',''];
    cpuItem[s++] = ['Pentium 4 HT (3.20 Ghz)','2','N',' N','14.50','p4. jpg','2'];
    cpuItem[s++] = ['Pentium D 820 (2.80
    Ghz)','2','Y',' N','17.50','pd. jpg','3'];
    cpuItem[s++] = ['Pentium D 830 (3.00
    Ghz)','2','Y',' N','24.00','pd. jpg','4'];
    cpuItem[s++] = ['Pentium D 840 (3.20
    Ghz)','2','Y',' N','38.00','pd. jpg','5'];
    cpuItem[s++] = ['Xeon (2.40 Ghz)','2','N',' Y','20.00','xeo n.jpg','6'];
    cpuItem[s++] = ['Xeon (2.80 Ghz)','2','N',' Y','32.00','xeo n.jpg','7'];
    cpuItem[s++] = ['Xeon (3.00 Ghz)','2','N',' Y','40.00','xeo n.jpg','8'];
    cpuItem[s++] = ['Xeon (3.60 Ghz)','2','N',' Y','100.00','xe on.jpg','9'];
    cpuItem[s++] = ['Athlon 64 3000 (3.00
    Ghz)','1','N',' N','0.00','a64. jpg','13'];
    cpuItem[s++] = ['Athlon 64 3200 (3.20
    Ghz)','1','N',' N','5.00','a64. jpg','14'];
    cpuItem[s++] = ['Athlon 64 3500 (3.50
    Ghz)','1','N',' N','15.00','a64 .jpg','15'];
    cpuItem[s++] = ['Athlon 64 4000 (4.00
    Ghz)','1','N',' N','25.00','a64 .jpg','16'];
    cpuItem[s++] = ['Athlon 64 X2 4200 (2.20
    Ghz)','1','Y',' N','35.00','a64 X2.jpg','17'];
    cpuItem[s++] = ['Athlon 64 X2 4400 (2.20
    Ghz)','1','Y',' N','40.00','a64 X2.jpg','18'];
    cpuItem[s++] = ['Athlon 64 X2 4600 (2.40
    Ghz)','1','Y',' N','60.00','a64 X2.jpg','19'];
    cpuItem[s++] = ['Athlon 64 X2 4800 (2.40
    Ghz)','1','Y',' N','70.00','a64 X2.jpg','20'];
    cpuItem[s++] = ['Opteron 242 (1.60
    Ghz)','1','N',' Y','20.00','opt eron.jpg','21'];
    cpuItem[s++] = ['Opteron 244 (1.80
    Ghz)','1','N',' Y','30.00','opt eron.jpg','22'];
    cpuItem[s++] = ['Opteron 246 (2.00
    Ghz)','1','N',' Y','45.00','opt eron.jpg','23'];
    cpuItem[s++] = ['Opteron 252 (2.60
    Ghz)','1','Y',' Y','120.00','op teron.jpg','24'];
    cpuItem[s++] = ['Pentium 4 HT (2.80
    Ghz)','2','N',' N','12.50','p4. jpg','26'];
    cpuItem[s++] = ['Pentium 4 HT (3.40
    Ghz)','2','N',' N','16.50','p4. jpg','25'];

    document.getEle mentById("cpuNa me").value = "";
    document.getEle mentById("dualC ore").value =
    document.getEle mentById("dualC ore").value.toU pperCase();
    document.getEle mentById("dualP rocessor").valu e =
    document.getEle mentById("dualP rocessor").valu e.toUpperCase() ;
    //
    if (document.getEl ementById("cpuB rand").value == "") return;
    if ("12".indexOf(d ocument.getElem entById("cpuBra nd").value) < 0) {
    alert("Invalid CPU Brand!");
    return;
    }
    if (document.getEl ementById("dual Core").value == "") return;
    if ("YN".indexOf(d ocument.getElem entById("dualCo re").value) < 0) {
    alert("Invalid Dual Core!");
    return;
    }
    if (document.getEl ementById("dual Processor").val ue == "") return;
    if ("YN".indexOf(d ocument.getElem entById("dualPr ocessor").value ) < 0) {
    alert("Invalid Dual Processor!");
    return;
    }
    //
    var item = "<strong>Pl ease select A CPU from below</strong>"
    for (var i=1; i<cpuItem.lengt h; i++) {
    if (document.getEl ementById("cpuB rand").value == cpuItem[i][1]) {
    if (document.getEl ementById("dual Core").value == cpuItem[i][2])
    {
    if (document.getEl ementById("dual Processor").val ue ==
    cpuItem[i][3]) {
    if (item != "") item += "<br>";
    item += '<input type="radio" name="selectedC PU"
    value="'+cpuIte m[i][5]+'"
    onClick="setCpu ('+cpuItem[i][4]+',\''+cpuItem[i][0]+'\')" >'+cpuItem[i][0];
    //item += '<input type="radio" name="selectedC PU"
    value="'+cpuIte m[i][5]+'"
    onClick="setCus tText(\'cust_cp u_text\',\'cust _cpu_price\',\' <strong>CPU:</strong>
    '+cpuItem[i][0]+'\',\''+cpuIte m[i][4]+'\');setCpu('+ cpuItem[i][4]+',\''+cpuItem[i][0]+'\')"[color=blue]
    >'+cpuItem[i][0];[/color]
    }
    }
    }
    }
    document.getEle mentById("cpuNa me").innerHTM L = item;

    }

    function setCustText(cus tDivName,custDi vPrice,itemName ,itemPrice){
    d=document.all;
    i = setCustText.arg uments;
    d[i[0]].innerHTML = itemName;
    d[i[1]].innerHTML = '£'+itemPrice;
    updateTotals()
    }

    function setTextValues(o s,hdd,ram,cpu){
    document.getEle mentById("osTxt Value").value = os;
    document.getEle mentById("cpuTx tValue").value = cpu;
    document.getEle mentById("ramTx tValue").value = ram;
    document.getEle mentById("hddTx tValue").value = hdd;
    }

    function setupPage(){
    document.getEle mentById("packa geRef").value = 0;
    document.getEle mentById("cpuNa me").innerHTM L = '';
    document.getEle mentById("price _text").innerHT ML = '';
    document.getEle mentById("net_p rice").innerHTM L = '';
    document.getEle mentById("grand _total").innerH TML = '';
    document.getEle mentById("month lyDiscountTotal ").innerHTM L = '';
    document.getEle mentById("disco untValueTxt").i nnerHTML = '';
    document.getEle mentById("netPr ice").value = 0;
    document.getEle mentById("selec tedMonth").valu e = 1;
    document.getEle mentById("month lyDiscount").va lue = 1;
    //update_price(1, 0);
    }
    </script>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="styles.cs s" rel="stylesheet " type="text/css">
    </head>

    <body background="ima ges/page_bg.jpg" link="#000000" vlink="#000000"
    alink="#000000" onLoad="setupPa ge()">
    <div align="center">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse:
    collapse" bordercolor="#1 11111" width="786" id="AutoNumber1 " height="100%"
    background="ima ges/page_bg2.jpg">
    <tr>
    <td width="100%" align="center" valign="top">
    <table border="0" cellpadding="0" cellspacing="0"
    style="border-collapse: collapse" bordercolor="#1 11111" width="750"
    id="AutoNumber2 " height="100%">
    <tr>
    <td width="100%" height="160" valign="top" colspan="2">
    <table border="0" cellpadding="0" cellspacing="0"
    style="border-collapse: collapse" bordercolor="#1 11111" width="750"
    id="AutoNumber3 " height="160">
    <tr>
    <td width="329" height="91">
    <a href="index.php "><img border="0" src="images/logo.jpg"
    width="329" height="91"></a></td>
    <td width="421" rowspan="2">
    <OBJECT classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000"
    codebase="http://download.macrom edia.com/pub/shockwave/cabs/flash/swflash.cab#ver sion=6,0,0,0" WIDTH="421" HEIGHT="160" ALIGN=""> <PARAM NAME=movie VALUE="flash.sw f"> <PARAM NAME=quality VALUE=high> <PARAMNAME=bgco lor VALUE=#224E73> <EMBED src="flash.swf" quality=high bgcolor=#224E73 WIDTH="421" HEIGHT="160" ALIGN="" TYPE="applicati on/x-shockwave-flash"PLUGINSPA GE="http://www.macromedia. com/go/getflashplayer" ></EMBED></OBJECT></td> </tr> <form name="frmMember s" action="http://support.rackage .com"method="po st"><tr> <td width="329" background="ima ges/login_bg.jpg" valign="top"><t able border="0" cellpadding="0" cellspacing="0" style="border-collapse:collap se" bordercolor="#1 11111" width="100%" id="AutoNumber9 " height="57"> <tr> <td width="100%" height="28" colspan="5"> <span style="font-size: 4px">&nbsp;</span><b><fontfa ce="Arial" color="#224E74" style="font-size: 4px">&nbsp; </font></b> <p><b> <font face="Arial" color="#224E74" style="font-size:12px">&nbs p; Client Login <input type="hidden" name="r_email" value="Username "> <input type="hidden" name="r_passed_ password" value="AccountP assword"> </font></b></td> </tr> <tr> <td width="20%"> <font face="Arial" style="font-size: 11px"color="#FF FFFF">&nbsp; User</font></td> <td width="20%"> <font face="Arial" style="font-size: 11px" color="#FFFFFF" > <input name="email" type="text" size="14"> </font></td> <td width="20%"> <font face="Arial" style="font-size: 11px"color="#FF FFFF">&nbsp; Pass</font></td> <td width="20%"> <font face="Arial" style="font-size: 11px" color="#FFFFFF" > <input name="passed_pa ssword" type="password" size="14"></font></td> <td width="20%"> <input name="imageFiel d" type="image"src ="images/button_login.jp g" width="29" height="29" border="0"></td> </tr> </table> </td> </tr></form> </table> </td> </tr> <tr> <td width="187" height="100%" background="ima ges/left_bg.jpg"val ign="top"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="187"id=" AutoNumber6" background="ima ges/left_bg2.jpg"> <tr> <td width="100%" height="1" background="ima ges/news_bg.jpg"> <font face="Arial" style="font-size: 12px; font-weight:700">&nb sp; Latest News</font> <p><span style="font-weight: 700"> <font face="Arial" style="font-size:2px">&nbsp ;</font></span></td> </tr> <tr> <td width="100%"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111"width="96 %" id="AutoNumber1 0"> <tr> <td width="100%"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="100%"id= "AutoNumber 11"> <tr> <td width="50%" align="left"><f ont face="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;&nb sp;&nbsp;Andy</font></td> <td width="50%" align="right">< font face="Arial" style="font-size:11px" color="#6AA5D7" >July 12, 2005</font></td> </tr> </table> <img src="/images/anounce.gif" alt="Anouncemen t"width="11" height="13"><fo nt face="Arial" style="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =23">Game Monitor</a> </font></td> </tr> <tr> <td height="5"></td> </tr> <tr> <td height="1" bgcolor="#DBDBD B"></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111"width="96 %" id="AutoNumber1 0"> <tr> <td width="100%"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="100%"id= "AutoNumber 11"> <tr> <td width="50%" align="left"><f ont face="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;&nb sp;&nbsp;Randle s</font></td> <td width="50%" align="right">< font face="Arial" style="font-size:11px" color="#6AA5D7" >June 24, 2005</font></td> </tr> </table> <img src="/images/anounce.gif" alt="Anouncemen t"width="11" height="13"><fo nt face="Arial" style="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =11">Battlefiel d 2 ServersReleased </a> </font></td> </tr> <tr> <td height="5"></td> </tr> <tr> <td height="1" bgcolor="#DBDBD B"></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="96%"id=" AutoNumber10">< tr><td width="100%"><t able border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111"width="10 0%" id="AutoNumber1 1"><tr><td width="50%" align="left"><f ontface="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;&nb sp;&nbsp;Andy</font></td> <td width="50%" align="right">< font face="Arial" style="font-size: 11px"color="#6A A5D7">July 12, 2005</font></td></tr></table><img src="/images/sticky.gif" alt="Sticky" width="11" height="13"><fo ntface="Arial" style="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =22">EA Solution to BF2Problems</a></font></td></tr><tr><td height="5"></td></tr><tr><td height="1" bgcolor="#DBDBD B"></td></tr></table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="96%"id=" AutoNumber10">< tr><td width="100%"><t able border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111"width="10 0%" id="AutoNumber1 1"><tr><td width="50%" align="left"><f ontface="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;&nb sp;&nbsp;Andy</font></td> <td width="50%" align="right">< font face="Arial" style="font-size: 11px"color="#6A A5D7">July 12, 2005</font></td></tr></table><img src="/images/sticky.gif" alt="Sticky" width="11" height="13"><fo ntface="Arial" style="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =20">Ranked BF2 Servers</a></font></td></tr><tr><td height="5"></td></tr><tr><td height="1" bgcolor="#DBDBD B"></td></tr></table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="100%"id= "AutoNumber 12" height="53"> <tr> <td colspan="3"> <p align="right">< font face="Arial" style="font-size:11px"> <img border="0" src="images/green_arrow.jpg " width="8"height ="8"> <a href="http://forum.rackage.c om/viewforum.php?f =2">morenews</a>&nbsp;&nbsp; </font></td> </tr> <tr> <td colspan="3" height="5"><tab le border="0"cellp adding="0" cellspacing="0" style="border-collapse: collapse"border color="#111111" width="187" id="AutoNumber7 " height="104"> <!--DWLayoutTable--> <tr> <td height="20" colspan="2" background="ima ges/news_bg.jpg"> <font face="Arial" style="font-size: 12px; font-weight:700">&nb sp; Links </font> </tr> <tr> <td valign="top"><t able width="100%" border="0" cellpadding="0" cellspacing="0" background="ima ges/left_listing.jp g"> <!--DWLayoutTable--> <tr> <td width="33" height="21">&nb sp;</td> <td width="154" valign="middle" ><font face="Arial"sty le="font-size: 11px"><a href="gameserve rs.php">GameSer vers</a></font></td> </tr> <tr> <td height="21">&nb sp;</td> <td valign="middle" ><font face="Arial" style="font-size:11px"><a href="voiceserv ers.php">Voice Servers</a></font></td> </tr> <tr> <td height="21">&nb sp;</td> <td valign="middle" ><font face="Arial" style="font-size:11px"><a href="dedicated servers.php">De dicated Servers</a></font></td> </tr> <tr> <td height="21">&nb sp;</td> <td valign="middle" ><font face="Arial" style="font-size:11px"><a href="colocatio nservers.php">C olocation</a></font></td> </tr> <tr> <td height="21">&nb sp;</td> <td valign="middle" ><font face="Arial" style="font-size:11px"><a href="http://forum.rackage.c om/.php">Forum</a></font></td> </tr> <tr> <td height="21">&nb sp;</td> <td valign="middle" ><font face="Arial" style="font-size:11px"><a href="support.p hp">Network Status</a></font></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td height="20" colspan="3" background="ima ges/news_bg.jpg"> <font face="Arial" style="font-size: 12px; font-weight:700">&nb sp; Popular Posts </font></td> </tr> <tr> <td width="49%" height="1" align="left"><f ontface="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;Ran dles</font></td> <td width="50%" align="right">< font face="Arial"sty le="font-size: 11px" color="#6AA5D7" >March 30, 2005&nbsp;</font></td> <td width="1%" align="right"></td> </tr> <tr> <td height="1" colspan="2"><fo nt face="Arial"sty le="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =2">Nice OneLArron</a></font></td> <td height="1"></td> </tr> <tr><td colspan="3" height="5"></td></tr><tr><td height="1" colspan="2" bgcolor="#DBDBD B"></td><td height="1"></td></tr> <tr> <td width="49%" height="1" align="left"><f ontface="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;Ran dles</font></td> <td width="50%" align="right">< font face="Arial"sty le="font-size: 11px" color="#6AA5D7" >October 21, 2000&nbsp;</font></td> <td width="1%" align="right"></td> </tr> <tr> <td height="1" colspan="2"><fo nt face="Arial"sty le="font-size: 11px">&nbsp;<ah ref="http://forum.rackage.c om/viewtopic.php?t =1">Welcome to phpBB2</a></font></td> <td height="1"></td> </tr> <tr><td colspan="3" height="5"></td></tr><tr><td height="1" colspan="2" bgcolor="#DBDBD B"></td><td height="1"></td></tr> <tr> <td colspan="3" height="5"></td> </tr> <tr> <td height="20" colspan="3" background="ima ges/news_bg.jpg"> <font face="Arial" style="font-size: 12px; font-weight:700">&nb sp; Recent Posts </font></td> </tr> <tr> <td align="left"><f ont face="Arial" style="font-size:11px" color="#6AA5D7" ><font face="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;Ano nymous</font></font></td> <td align="right">< font face="Arial" style="font-size:11px" color="#6AA5D7" >August 02, 2005&nbsp;</font></td> <td align="right">& nbsp;</td> </tr> <tr> <td colspan="3"><fo nt face="Arial" style="font-size:11px">&nbs p;<a href="http://forum.rackage.c om/viewtopic.php?t =30">UltimaOnli ne Game Server</a></font></td> </tr> <tr><td colspan="3" height="5"></td></tr><tr><td height="1" colspan="2" bgcolor="#DBDBD B"></td><td height="1"></td></tr> <tr> <td align="left"><f ont face="Arial" style="font-size:11px" color="#6AA5D7" ><font face="Arial" style="font-size: 11px"color="#6A A5D7">&nbsp;Ano nymous</font></font></td> <td align="right">< font face="Arial" style="font-size:11px" color="#6AA5D7" >August 02, 2005&nbsp;</font></td> <td align="right">& nbsp;</td> </tr> <tr> <td colspan="3"><fo nt face="Arial" style="font-size:11px">&nbs p;<a href="http://forum.rackage.c om/viewtopic.php?t =30">UltimaOnli ne Game Server</a></font></td> </tr> <tr><td colspan="3" height="5"></td></tr><tr><td height="1" colspan="2" bgcolor="#DBDBD B"></td><td height="1"></td></tr> <tr> <td colspan="3" height="5"></td> </tr> </table> </td> </tr></table> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="187"id=" AutoNumber7" height="65" background="ima ges/left_listing.jp g"> <tr> <td width="100%"></td> </tr> </table> </td> <td width="563" height="100%" valign="top"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="563"id=" AutoNumber8"> <!--DWLayoutTable--> <tr> <td width="100%" height="212"><t able cellspacing="0" cellpadding="0" border="0" width="100%" height="100%">< tr><tr><td></td> <td valign="top" colspan="2" height="100%" style="padding-left: 15px;padding-bottom: 7px;"> <table cellspacing="0" cellpadding="0" border="0" width="100%"sty le="margin-top: 0px;"> <tr> <td rowspan="2"> </td> <td align="right" valign="bottom" ><span id="hinttext"cl ass="poll">&nbs p;</span></td> </tr> </table> <form action="buy_ded icatedserver.ph p" method="post" id="actionForm" enctype="multip art/form-data"> <div> <!-- *** HTML HERE GOES ABOVE FIRST FORM *** ---> <p><font face="Arial" style="font-size: 20px; font-weight: 700"color="#224 E74">Dedicated Servers</font></p> <table cellspacing="0" cellpadding="0" border="0"> <!--DWLayoutTable--> <tr> <td width="537" height="25" class="order_he ader">Packages</td> </tr><tr> <td valign="top" class="order_bg "><table width="100%" border="0"cellp adding="0" cellspacing="0" > <!--DWLayoutTable--> <tr> <td width="10" >&nbsp;</td> <td colspan="2" valign="top"> <select name="packageRe f" class="order_se lect"id="packag eRef" onChange="javas cript:showPacka ge()"> <option value="0" selected>Please Select</option> <option value="1">Serve rPackage 1</option> <option value="2">Serve rPackage 2</option> <option value="3">Serve rPackage 3</option> <option value="4">Serve rPackage 4</option> <option value="-1" >Custom Build</option> </select> <input name="custom" type="hidden" id="custom"valu e="false"> </td> </tr><tr> <td ></td> <td width="510" valign="top"> <table width="100%" border="0" cellpadding="0" cellspacing="0" > <!--DWLayoutTable--> <tr> <td width="139" valign="top" class="order_te xt"id="os"></td> <td width="371" valign="top" class="order_te xt"id="os_text" ></td> </tr> <tr> <td valign="top" class="order_te xt" id="cpu"></td> <td valign="top" class="order_te xt" id="cpu_text"> </td> </tr><tr> <td valign="top" class="order_te xt" id="cpuList"></td> <td valign="top" class="order_te xt" id="cpuNameList "><spanname="cp uName" id="cpuName"></span></td> </tr> <tr> <td valign="top" class="order_te xt" id="ram"></td> <td valign="top" class="order_te xt" id="ram_text"> </td> </tr> <tr> <td valign="top" class="order_te xt" id="hdd"></td> <td valign="top" class="order_te xt" id="hdd_text"> </td> </tr><tr> <td valign="top" class="order_te xt" id="price"></td> <td valign="top" class="order_te xt" id="price_text" ></td> </tr> <tr> <td valign="top"></td> <td valign="top"><!--DWLayoutEmptyCe ll-->&nbsp;</td> </tr> </table></td> <td width="15"></td> </tr><tr> <td height="18" colspan="3" valign="top" id="payment"></td></tr><tr> <td height="18" colspan="3" valign="top" id="breakdown"> <tablewidth="10 0%" border="0" cellpadding="0" cellspacing="0" > <!--DWLayoutTable--> <tr> <td height="25" colspan="3" valign="top" class="order_he ader"id="total_ text">Breakdown </td> </tr> <tr> <td width="9" height="18"></td> <td width="255" valign="top" class="order_te xt"id="total_te xt"><strong>Pac kage</strong></td> <td width="271" align="right" valign="top" class="order_te xt"id="package_ name"></td> </tr> <tr> <td></td> <td valign="top" class="order_te xt"><spanid="cu st_system_text_ cpu"></span><spanid="c ust_system_text _ram"></span><spanid="c ust_system_text _hdd"></span></td> <td align="right" valign="top" class="order_te xt"id="cust_sys tem_price"></td> </tr> <tr> <td></td> <td valign="top" class="order_te xt" id="cust_os_tex t"></td> <td align="right" valign="top" class="order_te xt"id="cust_os_ price"></td> </tr> <tr> <td></td> <td valign="top" class="order_te xt" id="cust_ram_te xt"></td> <td align="right" valign="top" class="order_te xt"id="cust_ram _price"></td> </tr> <tr> <td></td> <td valign="top" class="order_te xt" id="cust_hdd_te xt"></td> <td align="right" valign="top" class="order_te xt"id="cust_hdd _price"></td> </tr> <tr> <td></td> <td valign="top" class="order_te xt" id="total_text" ><strong>Pric e <input name="basePrice " type="hidden" id="basePrice"> <inputname="set Up" type="hidden" id="setUp"> <input name="selectedM onth" type="hidden" id="selectedMon th" value="1"> <input name="monthlyDi scount" type="hidden" id="monthlyDisc ount"value="1"> <input name="netPrice" type="hidden" id="netPrice" value="0"> <input name="hddPrice" type="hidden" id="hddPrice" value="0"> <input name="cpuPrice" type="hidden" id="cpuPrice" value="0"> <input name="ramPrice" type="hidden" id="ramPrice" value="0"> <input name="osPrice" type="hidden" id="osPrice" value="0"> <input name="osTxtValu e" type="hidden" id="osTxtValue" > <input name="cpuTxtVal ue" type="hidden" id="cpuTxtValue "> <input name="ramTxtVal ue" type="hidden" id="ramTxtValue "> <input name="hddTxtVal ue" type="hidden" id="hddTxtValue "> </strong></td> <td align="right" valign="top" class="order_te xt" id="net_price"> </td> </tr> <tr> <td height="18"></td> <td valign="top" class="order_te xt" id="total_text" ><strong>Paymen tTerm </strong></td> <td align="right" valign="top"><s pan id="payment_ter m_text"><spancl ass="order_text "></span></span><span id="discountVal ueTxt"class="di scount_text"></span><br><span id="monthlyDisc ountTotal"class ="discount_text "></span></td> </tr><tr> <td></td> <td valign="top" class="order_te xt" id="cust_setup_ text"></td> <td align="right" valign="top" class="order_te xt"id="cust_set up_price"></td> </tr> <tr> <td height="18"></td> <td valign="top" class="order_te xt" id="total_text" ><strong>GrandT otal </strong></td> <td align="right" valign="top" class="order_te xt"id="grand_to tal"><!--DWLayoutEmptyCe ll-->&nbsp;</td> </tr> </table></td> </tr> <tr> <td></td> <td><input name="order" type="submit"cl ass="order_butt on" id="order" value="Order"></td> <td></td> </tr> </table></td> </tr><tr><td height="16" valign="top"><i mgsrc="images/order_footer.gi f"></td></tr><tr> <td></td> </tr> </table> <!-- *** HTML HERE GOES BELOW FIRST FORM *** ---> </div> <input type="hidden" name="m" value="proc" /> </form> <table style="display: none;"> <tr id="template"> <td></td> <td><select onchange="updat e_price();" class="order_se lect"></select>players</td> <td><button type="button" class="order_bu tton">Remove</button></td> </tr> </table></td><td></td><td style="width: 14px;"></td></tr></table></td> </tr> </table> </td> </tr> <tr> <td width="100%" height="43" background="ima ges/footer_bg.jpg"c olspan="2"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="750"id=" AutoNumber4" height="43"> <tr> <td width="388" height="43"back ground="images/footer_bg2.jpg" ><!--DWLayoutEmptyCe ll-->&nbsp;</td> <td width="362" height="43"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#1 11111" width="362"id=" AutoNumber5" height="43"> <tr> <td width="100%"> <p align="center"> <font face="Arial" style="font-size:11px"><b> <a href="index.php ">Home</a>&nbsp;| <ahref="service s.php">Services </a> | <a href="support.p hp">Support</a> | <ahref="http://forum.rackage.c om" target="_blank" >Forums</a> | <a href="contact.p hp">Contact</a></b></font></td> </tr> <tr> <td width="100%" valign="top"> <p align="center"> <font face="Arial" style="font-size:10px">© RackageServers. com 2005 </font><font face="Arial"sty le="font-size: 10px"><b><a href="tos.php"> Terms</a> | <ahref="privacy .php">Privacy Policy</a></b></font></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr></table></div></body></html>

  • Lee

    #2
    Re: Help with Firefox compatibility

    Craig Keightley said:[color=blue]
    >
    >Please help, i have attached my page which worksin IE but i cannnot get the
    >drop down menu to fucntion in firefox. Any one have any ideas why?[/color]

    Just a suggestion:

    Instead of asking us to look at over 700+ lines of code, build the
    smallest example that shows your problem. There's a good chance
    that you'll find the problem while you're doing that, and if not,
    a lot more people will be willing to take a look.

    Comment

    • RobG

      #3
      Re: Help with Firefox compatibility

      Craig Keightley wrote:[color=blue]
      > Please help, i have attached my page which worksin IE but i cannnot get the
      > drop down menu to fucntion in firefox. Any one have any ideas why?
      >[/color]
      [...]


      As already mentioned, no-one is going to help you with this because:

      1. It's not reasonable to ask for debugging of hundreds of lines of
      code that do not validate.

      2. You give no indication of what the error is

      3. Your code does not work at all - the lines are programmaticall y
      broken and so generate tons of errors, most probably not related to
      your issue.

      4. There are two linked script files that may be the cause of the error.

      So generate a small test case that replicates your problem and post
      that. Below is a slab of your code that has been broken because of
      the way you posted it - there are many other places where it happened.

      Use 2 or 4 spaces for indents, not tabs, and manually break lines at
      about 70 characters and ensure it will work if copy/pasted into a
      local page.
      [color=blue]
      > height=&quot;34 &quot; align=&quot;cen ter&quot;></td></tr></table>'; //hdd
      > var helpText4 = '<table cellpadding=0 cellspacing=0 ><tr><td
      > class=&quot;ord er_text&quot; valign=&quot;to p&quot;>Choos e which operating
      > system you wish to use on your server, remember that some games will release
      > servers / patches for windows much earlier that for Linux. It is advisable
      > to choose the operating system that you are most comfortable with.</td><td
      > class=&quot;ord er_text&quot; width=&quot;105 &quot; height=&quot;34 &quot;
      > align=&quot;cen ter&quot;></td></tr></table>'; //os[/color]

      [...]

      Anyhow, here's a suggestion - in the following function:
      [color=blue]
      > function setCustomText(i temID,itemTxt){
      > var custSetupTxt = document.getEle mentById("cust_ setup_text");
      > var custSetupPrice = document.getEle mentById("cust_ setup_price");[/color]

      Replace:
      [color=blue]
      > d=document.all;
      > i = setCustomText.a rguments;
      > d[i[0]].innerHTML = itemTxt;[/color]

      With:

      document.getEle mentById(itemID ).innerHTML = itemTxt;

      [color=blue]
      > custSetupTxt.in nerHTML = '<strong>Set Up</strong>'
      > custSetupPrice. innerHTML = '£0'
      > }[/color]

      [...]
      [color=blue]
      >
      > function setCustText(cus tDivName,custDi vPrice,itemName ,itemPrice){
      > d=document.all;
      > i = setCustText.arg uments;
      > d[i[0]].innerHTML = itemName;
      > d[i[1]].innerHTML = '£'+itemPrice;
      > updateTotals()[/color]

      Here again you've created local variables then ignored them:

      function setCustText(cus tDivName,custDi vPrice,itemName ,itemPrice){
      document.getEle mentById(custDi vName).innerHTM L = itemName;
      document.getEle mentById(custDi vPrice).innerHT ML = '£'+itemPrice;
      updateTotals()
      }

      [...]

      Comment

      • Craig Keightley

        #4
        Re: Help with Firefox compatibility

        hi all apologies for my last post
        i have narrowed it down to the array part of the following function:


        function showCPUs() {
        var cpuItem = new Array();
        //name brandID dualCore dualProcessor price cpuID
        cpuItem[0] = ['Athlon 64 3000 (1.80
        Ghz)','1','N',' N','0.00','a64. jpg','13'];
        cpuItem[1] = ['Athlon 64 3200 (2.00
        Ghz)','1','N',' N','5.00','a64. jpg','14'];
        cpuItem[2] = ['Athlon 64 3500 (2.20
        Ghz)','1','N',' N','15.00','a64 .jpg','15'];
        cpuItem[3] = ['Athlon 64 4000 (2.40
        Ghz)','1','N',' N','25.00','a64 .jpg','16'];
        cpuItem[4] = ['Athlon 64 X2 4200 (2.20
        Ghz)','1','Y',' N','35.00','a64 X2.jpg','17'];
        cpuItem[5] = ['Athlon 64 X2 4400 (2.20
        Ghz)','1','Y',' N','43.50','a64 X2.jpg','18'];
        cpuItem[6] = ['Athlon 64 X2 4600 (2.40
        Ghz)','1','Y',' N','51.50','a64 X2.jpg','19'];
        cpuItem[7] = ['Athlon 64 X2 4800 (2.40
        Ghz)','1','Y',' N','70.00','a64 X2.jpg','20'];
        cpuItem[8] = ['Opteron 242 (1.60
        Ghz)','1','N',' Y','20.00','opt eron.jpg','21'];
        cpuItem[9] = ['Opteron 244 (1.80
        Ghz)','1','N',' Y','39.50','opt eron.jpg','22'];
        cpuItem[10] = ['Opteron 246 (2.00
        Ghz)','1','N',' Y','42.00','opt eron.jpg','23'];
        cpuItem[11] = ['Opteron 248 (2.20
        Ghz)','1','N',' Y','50.50','opt eron.jpg','28'];
        cpuItem[12] = ['Opteron 250 (2.40
        Ghz)','1','N',' Y','100.00','op teron.jpg','0'];
        cpuItem[13] = ['Opteron 252 (2.60
        Ghz)','1','N',' Y','120.00','op teron.jpg','24'];
        cpuItem[14] = ['Opteron 265 (1.80
        Ghz)','1','Y',' Y','125.50','op teron.jpg','29'];
        cpuItem[15] = ['Opteron 270 (2.00
        Ghz)','1','Y',' Y','150.00','op teron.jpg','30'];
        cpuItem[16] = ['Pentium 4 HT (2.80
        Ghz)','2','N',' N','12.50','p4. jpg','26'];
        cpuItem[17] = ['Pentium 4 HT (3.00
        Ghz)','2','N',' N','12.50','p4. jpg','1'];
        cpuItem[18] = ['Pentium 4 HT (3.20
        Ghz)','2','N',' N','14.50','p4. jpg','2'];
        cpuItem[19] = ['Pentium 4 HT (3.40
        Ghz)','2','N',' N','16.50','p4. jpg','25'];
        cpuItem[20] = ['Pentium D 820 (2.80
        Ghz)','2','Y',' N','17.50','pd. jpg','3'];
        cpuItem[21] = ['Pentium D 830 (3.00
        Ghz)','2','Y',' N','24.00','pd. jpg','4'];
        cpuItem[22] = ['Pentium D 840 (3.20
        Ghz)','2','Y',' N','38.00','pd. jpg','5'];
        cpuItem[23] = ['Xeon (2.40 Ghz)','2','N',' Y','20.00','xeo n.jpg','6'];
        cpuItem[24] = ['Xeon (2.80 Ghz)','2','N',' Y','32.00','xeo n.jpg','7'];
        cpuItem[25] = ['Xeon (3.00 Ghz)','2','N',' Y','40.00','xeo n.jpg','8'];
        cpuItem[26] = ['Xeon (3.60 Ghz)','2','N',' Y','100.00','xe on.jpg','9'];
        if (document.getEl ementById("cpuB rand").value == '') return;
        if (document.getEl ementById("dual Core").value == '') return;
        if (document.getEl ementById("dual Processor").val ue == '') return;
        var item = "<strong>Pl ease select A CPU from below</strong>"
        for (var i=1; i<cpuItem.lengt h; i++) {
        if (document.getEl ementById("cpuB rand").value == cpuItem[i][1]) {
        if (document.getEl ementById("dual Core").value == cpuItem[i][2])
        {
        if (document.getEl ementById("dual Processor").val ue ==
        cpuItem[i][3]) {
        if (item != "") item += "<br>";
        item += '<input type="radio" name="selectedC PU"
        value="'+cpuIte m[i][5]+'"
        onClick="setCpu ('+cpuItem[i][4]+',\''+cpuItem[i][0]+'\')" >'+cpuItem[i][0];
        //item += '<input type="radio" name="selectedC PU"
        value="'+cpuIte m[i][5]+'"
        onClick="setCus tText(\'cust_cp u_text\',\'cust _cpu_price\',\' <strong>CPU:</strong>
        '+cpuItem[i][0]+'\',\''+cpuIte m[i][4]+'\');setCpu('+ cpuItem[i][4]+',\''+cpuItem[i][0]+'\')"[color=blue]
        >'+cpuItem[i][0];[/color]
        }
        }
        }
        }
        document.getEle mentById("cpuNa me").innerHTM L = item;
        //document.getEle mentById("cpuNa me").innerHTM L = 'test';
        }is this correct?


        Comment

        • Lee

          #5
          Re: Help with Firefox compatibility

          Craig Keightley said:[color=blue]
          >
          >hi all apologies for my last post[/color]

          Better, but could still use work.
          Don't post tab characters, convert to spaces and don't indent much.
          Many news systems wrap lines, which makes it hard to read and even
          harder to test.

          It helps a lot if you post testable code. At the very least, you
          should include the form fields that your code references, so we
          can see that there's no problem it the way that you access values.
          Some browsers don't support a "value" attribute of Select controls,
          for example (although Firefox does, so that's not your problem).

          Here's a simplified version of your code. I removed some tests
          that aren't necessary ("item" can never be empty, for example),
          and moved the array initialization to outside of the function so
          it only gets executed once, and I simplified the initialization.
          I also combined a chain of "if" statements into one.

          This version works in IE and Firefox:


          <html>
          <head>
          <title>demo</title>
          <script type="text/javascript">
          var cpuItem = [
          ['Athlon 64 3000 (1.80 Ghz)','1','N',' N','0.00','a64. jpg','13'],
          ['Athlon 64 3200 (2.00 Ghz)','1','N',' N','5.00','a64. jpg','14'],
          ['Athlon 64 X2 4200 (2.20 Ghz)','1','Y',' N','35.00','a64 X2.jpg','17'],
          ['Athlon 64 X2 4400 (2.20 Ghz)','1','Y',' N','43.50','a64 X2.jpg','18'],
          ['Opteron 242 (1.60 Ghz)','1','N',' Y','20.00','opt eron.jpg','21'],
          ['Opteron 244 (1.80 Ghz)','1','N',' Y','39.50','opt eron.jpg','22'],
          ['Opteron 250 (2.40 Ghz)','1','N',' Y','100.00','op teron.jpg','0'],
          ['Opteron 252 (2.60 Ghz)','1','N',' Y','120.00','op teron.jpg','24'],
          ['Opteron 265 (1.80 Ghz)','1','Y',' Y','125.50','op teron.jpg','29'],
          ['Opteron 270 (2.00 Ghz)','1','Y',' Y','150.00','op teron.jpg','30'],
          ['Pentium 4 HT (2.80 Ghz)','2','N',' N','12.50','p4. jpg','26'],
          ['Pentium 4 HT (3.00 Ghz)','2','N',' N','12.50','p4. jpg','1'],
          ['Pentium D 820 (2.80 Ghz)','2','Y',' N','17.50','pd. jpg','3']
          ];

          function showCPUs(f) {
          var item = "<strong>Pl ease select A CPU from below</strong>"
          for (var i=1; i<cpuItem.lengt h; i++) {
          if (f.cpuBrand.val ue == cpuItem[i][1]
          && f.dualCore.valu e == cpuItem[i][2]
          && f.dualProcessor .value == cpuItem[i][3]) {
          item += '<br><input type="radio" name="selectedC PU" value="'
          +cpuItem[i][5]+'"onClick="set Cpu('
          +cpuItem[i][4]+',\''+cpuItem[i][0]+'\')" >'
          +cpuItem[i][0];
          }
          }
          document.getEle mentById("cpuNa me").innerHTM L = item;
          }
          </script>
          </head>
          <body>
          <form>
          <select name="cpuBrand" >
          <option value="1" selected>1</option>
          <option value="2">2</option>
          </select>
          <select name="dualCore" >
          <option value="Y" selected>Y</option>
          <option value="N">N</option>
          </select>
          <select name="dualProce ssor">
          <option value="Y" selected>Y</option>
          <option value="N">N</option>
          </select>
          <input type="button" onclick="showCP Us(this.form)" value="showCPUs ">
          </form>
          <div id="cpuName"
          style="border-style:solid;pad ding:1em;width: 20em">cpuName</div>
          </body>
          </html>

          Comment

          • Dr John Stockton

            #6
            Re: Help with Firefox compatibility

            JRS: In article <4303092d$0$137 04$cc9e4d1f@new s-text.dial.pipex .com>,
            dated Wed, 17 Aug 2005 10:58:59, seen in news:comp.lang. javascript,
            Craig Keightley <dont@spam.me > posted :
            [color=blue]
            > cpuItem[23] = ['Xeon (2.40 Ghz)','2','N',' Y','20.00','xeo n.jpg', '6'];[/color]

            N.B. Ghz != GHz .

            --
            © John Stockton, Surrey, UK. *@merlyn.demon. co.uk / ??.Stockton@phy sics.org ©
            Web <URL:http://www.merlyn.demo n.co.uk/> - FAQish topics, acronyms, & links.
            Correct <= 4-line sig. separator as above, a line precisely "-- " (SoRFC1036)
            Do not Mail News to me. Before a reply, quote with ">" or "> " (SoRFC1036)

            Comment

            Working...