function getElm(id) {
    return document.forms["congform"].elements[id];	
}

function getIdElement(idParam) {
    if(document.getElementById) {
        return document.getElementById(idParam);
    } else if(document.all) {
        return document.all[idParam];
    } else if(document.layers) {
        return document.layers[idParam];
    }
    return null;
}

function openNewWindow(url) {
    window.open(url,"",'scrollbars=yes,menubar=yes,width=650,height=800,left=100,top=10,marginheight="0",marginwidth="0",topmargin="0",leftmargin="0"');
}

function changePaymentOption() {  
	
	var bankexpenses = 0;
	
    getIdElement("cheque").style.display="none";
    getIdElement("transfer").style.display="none";
    getIdElement("credit").style.display="none";

    if (getElm("paymentform")[0].checked) {
        getIdElement("cheque").style.display="block";
        bankexpenses = 20;
    } else if (getElm("paymentform")[1].checked) {
        getIdElement("transfer").style.display="block";
        bankexpenses = 15;              
    } else {
        getIdElement("credit").style.display="block";
    }
    getIdElement("bankexpenses").value = bankexpenses;
    updateSums();
}

function startup() {
    getIdElement("bankexpenses").value = 0;
    disableInvalidRegistrationDates();
}

function disableInvalidRegistrationDates()
{
    var date_today = new Date();      
    var date_early_end = new Date("July 19, 2008");
    
    var regfee = getElm("regfee");
    
    if (date_today > date_early_end) { 
        regfee[0].disabled=true;
        regfee[2].disabled=true;   
        regfee[4].disabled=true;
    } else {
        regfee[1].disabled=true;
        regfee[3].disabled=true;   
        regfee[5].disabled=true;
    }
}

function copyToReceipt()
{
    getElm("name_receipt").value = getElm("firstname_required").value + " " + getElm("surname_required").value;
    getElm("address_receipt").value = getElm("address_required").value;
    getElm("city_receipt").value = getElm("city_required").value;
    getElm("postalcode_receipt").value = getElm("postalcode_required").value;
    getElm("country_receipt").value = getElm("country_required").value;
}

function updateSums()
{
    var sum = Math.abs(getElm("totalRegistration").value) + Math.abs(getElm("totalAccommodation").value) + Math.abs(getElm("totalTutorial").value) + Math.abs(getElm("totalTours").value);
    getElm("total").value = sum;
    sum += Math.abs(getIdElement("bankexpenses").value);;
    getIdElement("grandTotal").value = sum;
    getIdElement("swiftamount").value = sum;
    getIdElement("chequeamount").value = sum;

}

function clearButtons(id)
{
    var buttonGroup = getElm(id);
    for (i=0; i < buttonGroup.length; i++) { 
        if (buttonGroup[i].checked) buttonGroup[i].checked = false 
   }
}

function clearChoices(id, idtotal) 
{
    clearButtons(id);
    getElm(idtotal).value = 0;
    updateSums();
}

function clearRegFees()
{
    getElm("additionaldinnertickets").value = 0;
    getElm("aditionalprocedings").value = 0;
    clearChoices("regfee", "totalRegistration");
}


function calcRegistrationFee() {

    var regfeeElm = getElm("regfee");    
    var splitString, regfee = 0;
       
    for (i=0; i < regfeeElm.length; i++)      
        if (regfeeElm[i].checked) {
            splitString  = (regfeeElm[i].value).split("€");
            regfee = parseInt(splitString[1]);
            break;
        }
    
    // hide/show IEEE Member number field
    if (i == 2 || i == 3)
        getIdElement("IEEE-display").style.display="block";
    else
        getIdElement("IEEE-display").style.display="none";
        
    regfee += getElm("additionaldinnertickets").value * getElm("additionaldinnerfee").value;
    regfee += getElm("aditionalprocedings").value * getElm("procedingsfee").value;
    getElm("totalRegistration").value = regfee;
    updateSums();
}

function calcTutorialFee() {

    var regfeeElm = getElm("tutorialfee");    
    var splitString, regfee = 0;
       
    for (i=0; i < regfeeElm.length; i++)      
        if (regfeeElm[i].checked) {
            splitString  = (regfeeElm[i].value).split("€");
            regfee = parseInt(splitString[1]);
            break;
        }

    getElm("totalTutorial").value = regfee;
    updateSums();
}

function calcAccommodationFee() {

    var hotelElm = getElm("hotel");
    var hotelfee, splitString;
        
    for (i=0; i < hotelElm.length; i++)       
        if (hotelElm[i].checked) {
            splitString  = (hotelElm[i].value).split("€");
            hotelfee = parseFloat(splitString[1]);
            break;
        }
        else
            hotelfee = 0;

    getElm("totalAccommodation").value = hotelfee * getElm("f_nights").value;
    updateSums();
}

function calcToursFee() {         
    
    var t1  = getElm("tour1tickets").value * getElm("tour1fee").value;
    var t1b = getElm("tour1btickets").value * getElm("tour1bfee").value;
    var t2  = getElm("tour2tickets").value * getElm("tour2fee").value;
    var t3  = getElm("tour3tickets").value * getElm("tour3fee").value;
    var t4  = getElm("tour4tickets").value * getElm("tour4fee").value;
      
    getElm("totalTours").value = t1 + t1b + t2 + t3 + t4;   
    updateSums();  
}
