function loadPrice (url)
{
    var query = Bw.IO.Query.create();
    
    query.setNoCache();
    query.get (url, function () {gotPrice (query);} );
}

var totalLinePrice;
function gotPrice (query)
{
    var pop = query.getText();
    
    if (pop.substring (0, 5) == 'error')
    {
        document.location.href = "/nobasket";
        return;
    }

    var tr = EL("totalLine");
    
    tr.innerHTML = pop;
}

function showSimulateurCetelem ()
{
    //var s = EL("totalLinePrice");
    //eval (s.innerHTML);
    window.open('http://www.popgom.fr/cetelemprestosimulator?montant='+totalLinePrice+'', 'cetelem', 'directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,width=600,height=550');
    //window.open('http://www.cetelem.fr/univers/presto/simulation/simulation.php?id=popgom&montant='+totalLinePrice+'&mois=10&projet=591', 'cetelem', 'directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,width=568,height=490');
}

function additionalServiceCheck (checkid)
{
    var url;
    var checkedIds = '';
    var form       = EL ('selectionForm');
    var elements   = form.getElementsByTagName ("input");
    var length     = elements.length;
    
    if (checkid != null)
    {
        var price = EL ('price_' + checkid);
        var promo = EL ('promo_' + checkid);
        
        if (price.style.display == 'none')
        {
            price.style.display = 'block';

            if (promo != null)
            {
                promo.style.display = 'block';
            }
        }
        else
        {
            price.style.display = 'none';
            
            if (promo != null)
            {
                promo.style.display = 'none';
            }
        }
    }
    
    for (i = 0; i < length; i++)
    {
        if (elements[i].checked)
        {
            checkedIds += elements[i].id;
            checkedIds += ',';
        }
    }
    
    length = checkedIds.length;
    
    if (length > 0)
    {
        checkedIds = checkedIds.substring (0, length - 1);
    }

    var expressAppointment = EL ('expressAppointment');

    if (expressAppointment != null)
    {
        if (length > 0)
        {
            checkedIds += ",";
        }

        checkedIds += expressAppointment.value;
    }
    
    url = '/validateAjax?services=' + checkedIds;
    
    loadPrice (url);
}


function checkChangeQuantity()
{
    var form     = EL('selectionForm');
    var services = EL('services');
    
    services.value = getCheckedIds();
    
    form.action = '?';
    form.submit();
    
    return false;
}


function checkForm (param)
{
    var form            = EL ('selectionForm');
    var services        = EL('services');
    var actionCustomer  = EL('actionCustomer');
    var urlCustomer     = actionCustomer.value;
    
    services.value = getCheckedIds();
    
    form.action = urlCustomer + param;
    form.submit();
}


function checkFormForPromo()
{
    var form       = EL ('promoForm');
    var codeVisu   = EL ('promoCodeVisu');
    var codeSubmit = EL ('promoCode');
    
    setCheckedIds();
    
    codeSubmit.value = codeVisu.value;
    
    form.submit();
}


function setCheckedIds()
{
    var checkedIds      = getCheckedIds();
    var checkedForPromo = EL ('checkedForPromo');
    
    checkedForPromo.value = checkedIds;
}


function getCheckedIds()
{
    var checkedIds = '';
    var form       = EL('selectionForm');
    var elements   = form.getElementsByTagName ("input");
    var length     = elements.length;
    
    for (i = 0; i < length; i++)
    {
        if (elements[i].checked)
        {
            checkedIds += elements[i].id;
            checkedIds += ',';
        }
    }
    
    length = checkedIds.length;
    
    if (length > 0)
    {
        checkedIds = checkedIds.substring (0, length - 1);
    }

    var expressAppointment = EL ('expressAppointment');

    if (expressAppointment != null)
    {
        if (length > 0)
        {
            checkedIds += ",";
        }

        checkedIds += expressAppointment.value;
    }
    
    return checkedIds;
}

/**
 * 
 */
function unCheckDefaultSelection(serviceId, defaultSelection)
{
    var checkServiceItem = EL(serviceId);

    if (checkServiceItem != null && defaultSelection)
    {
        var checkService = checkServiceItem.checked;

        if (!checkService)
        {
            var paramUnChecked  = "unCheckDefaultSelection_" + serviceId;
            var url             = "/sessionAjax?" + paramUnChecked + "=df";
            var query           = Bw.IO.Query.create();

            query.setNoCache();
            query.get (url, function () {var pop = query.getText();} );
        }
    }
}