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 disableInvalidRegistrationDates()
{
    var date_today = new Date();      
    var date_early_end = new Date("May 1, 2010");
    var regfee = getElm("regfee");
        
    if (date_today > date_early_end) { 
        regfee[0].disabled=true;
    } else {
        regfee[1].disabled=true;
    }   
}

function changePaymentOption() {  	
    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";
    } else if (getElm("paymentform")[1].checked) {
        getIdElement("transfer").style.display="block";            
    } else {
        getIdElement("credit").style.display="block";
    }
}

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;
    getElm("vatNumber").value = getElm("organization_vat").value;
}

function updateSums()
{
    var sum = Math.abs(getElm("totalRegistration").value) + Math.abs(getElm("totalTours").value) + Math.abs(getElm("totalAccommodation").value)+ Math.abs(getElm("totalCEC").value) + Math.abs(getElm("totalSocial").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()
{
    clearChoices("regfee", "totalRegistration");
    getElm("accompanying_reg").value = 0;
}

function clearCEC()
{
    clearChoices("cec[]", "totalCEC");      
}

function calcCEC()
{
    var total = 0, courses60 = 0;
    var splitString;
    var cec = getElm("cec[]");
    
    for (i=0; i < cec.length; i++) { 
        if (cec[i].checked) {
            splitString  = (cec[i].value).split("€");
            total += parseInt(splitString[1]);
            // hard coded rule
            if (i != 0 && i != 12 && i != 11)
                courses60++;
        }
    }
    if (courses60 > 1) 
      total -= courses60 * 10;
    getElm("totalCEC").value = total; 
    updateSums();     
}

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;
        }      
       
    getElm("totalRegistration").value = regfee + getElm("accompanying_reg").value * getElm("accompanying_regfee").value;
    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 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 + t2 + t3 + t4;   
    updateSums();  
}

function calcSocialFee() {         
    getElm("totalSocial").value = getElm("galadinneractickets").value * getElm("galadinneracfee").value;  
    updateSums();  
}
