/* Java-Script for newComfort section
 * Written by J.Stefferson
 */
//GLOBAL VARIABLES
var maximum_tickets;
var thisSection = 0; // tell wich section the use is( 0  for normal tickets  |  1  for Multi-Tickets)
var ticketElem = 'tick'; // tell wich kind of tickets has to be saved
var t_fields = 'tickets_fields'; // tell where the tickets has to be saved
var ticket_open = false; // tell when the ticket pop is open
var combine_alert = ''; //validate on system tickets if user has checked value
var tickets_changed = false; // its true when client changes a ticket
var thisID = '';
var curr_list = 0;
var stars; //check if is euromillion or elgordo
var browserName=navigator.appName;
var betandwin = false;
var syndicates = false; //used for use ticket on syndicates
var affiliates = false;
var joker = false;
var joker_submit = false; //used for control if the user submit the ticket without select a joker number
var stars_type = '';
var send_alert = true;
var accept_joker = false;
var out_joker = false;
var hasJoker = false;

var dn_submit = false;
var hasDN = false;

var VEW_nr = 0;
var old_combination = '0-0'; //we always have the last combinations selected for VEW

/*===================================
    S Y S T E M     T I C K E T S
  ==================================*/
function loadSection(section, onload) {
    var tickets_fields = document.getElementById('tickets_fields');
    var system_fields = thisSection == 1 ? document.getElementById('system_fields') : document.getElementById('vew_fields');
    var alert_tickets = document.getElementById('alert_tickets').value;
    var alert_system = document.getElementById('alert_system').value;
    stars = document.getElementById('stars').value;
    betandwin = document.getElementById('betandwin').value;
    hasJoker = document.getElementById('hasJoker').value;
    hasDN = document.getElementById('hasDN').value;
/*
    if (browserName=="Microsoft Internet Explorer") {
        alert('IE');
    } else {
        alert('other');
    }
*/

    /*save global variables*/
    maximum_tickets = document.getElementById('maximum_tickets').value;
    stars_type = document.getElementById('stars_type').value;

    function preloadTickets() {
        largebox(curr_list);
        ticketElem = 'tick';
        t_fields = 'tickets_fields';
        //document.getElementById('system_logo').className = 'hide';
        //document.getElementById('normal_row').style.display='';
        document.getElementById('system').style.visibility='hidden';
        document.getElementById('but_next').style.visibility='visible';
        document.getElementById('but_random').style.visibility='visible';
        document.getElementById('rem_ticket_b').style.visibility='visible';
        thisSection = 0;
        return false;
    }

    function preloadSystem() {
        /*largebox('10');*/
        ticketElem = 'sys';
        t_fields = 'system_fields';
        //document.getElementById('system_logo').className = 'system_logo';
        //document.getElementById('normal_row').style.display='none';
        document.getElementById('system').style.visibility='visible';
        document.getElementById('but_next').style.visibility='hidden';
        document.getElementById('but_random').style.visibility='hidden';
        document.getElementById('rem_ticket_b').style.visibility='hidden';
        thisSection = 1;
        getRadioBox(0, 2);
        return false;
    }

    function preloadVEW() {
        /*largebox('10');*/
        ticketElem = 'vew';
        t_fields = 'vew_fields';
        //document.getElementById('system_logo').className = 'system_logo';
        //document.getElementById('normal_row').style.display='none';
        document.getElementById('vew').style.visibility='visible';
        document.getElementById('but_next').style.visibility='hidden';
        document.getElementById('but_random').style.visibility='hidden';
        document.getElementById('rem_ticket_b').style.visibility='hidden';
        thisSection = 2;
        getRadioBox(0, 2);
        return false;
    }
    if(ticket_open){ closeTicket(2); }
    /* N O R M A L    T I C K E T S */
    if(section == 0) {
        ticketElem = 'tick';
        LoadOutJoker();

        var comfirmation_normal = false;
        if(thisSection == 0) { return false; }
        if (tickets_changed) { comfirmation_normal = confirm(alert_system.replace(/<br>/g, '\n')); }
        // varga: bug fixing
        if ( tickets_changed && comfirmation_normal == false )
            return true;
        thisID = document.getElementById('normal_id').value;
        if(!tickets_changed || comfirmation_normal) {
            if ( (!onload && comfirmation_normal) ) {
                //checkout
                getPage(1);
            } else if ( !onload && !tickets_changed ) {
                //go to normal section
                getPage(2, thisID);
            } else {
                thisSection = 0;
                deleteAll(true);
                preloadTickets();
            }
        } else {
            deleteAll();
            preloadTickets();
            tickets_changed = false;
            getPage(2, thisID);
            return false;
        }
    } else if(section == 1) {
    /* S Y S T E M     T I C K E T S */
        ticketElem = 'sys';
        LoadOutJoker();

        var comfirmation_system = false;
        if (thisSection == 1) { return false; }
        if (tickets_changed) { comfirmation_system = confirm(alert_tickets.replace(/<br>/g, '\n')); }
        // varga: bug fixing
        if ( tickets_changed && comfirmation_system == false )
            return true;
        thisID = document.getElementById('system_id').value;
        if(!tickets_changed || comfirmation_system) {
            if ( (!onload && comfirmation_system) ) {
                //checkout
                getPage(1);
            } else if ( !onload && !tickets_changed ) {
                //go to system section
                getPage(2, thisID);
            } else {
                thisSection = 1;
                deleteAll(true);
                //clear fields
                preloadSystem();

            }
        } else if (tickets_changed) {
            deleteAll();
            preloadSystem();
            tickets_changed = false;
            getPage(2, thisID);
            return false;
        }
    } else if(section == 2) {
    /* V E W     T I C K E T S */
        ticketElem = 'vew';
        LoadOutJoker();
        
        var comfirmation_VEW = false;
        if (thisSection == 2) { return false; }
        if (tickets_changed) { comfirmation_VEW = confirm(alert_tickets.replace(/<br>/g, '\n')); }
        // varga: bug fixing
        if ( tickets_changed && comfirmation_VEW == false )
            return true;
        thisID = document.getElementById('VEW_id').value;
        if(!tickets_changed || comfirmation_VEW) {
            if ( (!onload && comfirmation_VEW) ) {
                //checkout
                getPage(1);
            } else if ( !onload && !tickets_changed ) {
                //go to vew section
                getPage(2, thisID);
            } else {
                thisSection = 2;
                deleteAll(true);
                //clear fields
                preloadVEW();
            }
        } else if (tickets_changed) {
            deleteAll();
            preloadVEW();
            tickets_changed = false;
            getPage(2, thisID);
            return false;
        }
    }
    tickets_changed=false;

    return false;
}

/*======================================================
    H O V E R   I M G   F O R   T I C K E T   L I S T
=======================================================*/
function mover(ticket) {
    if ( document.getElementById('ticketbox' + ticket) ) {
        var ticketbox = document.getElementById('ticketbox' + ticket);
        //ticketbox.style.background = '#FFCE6F';
        if (navigator.appName.indexOf("Netscape")!=-1 && parseInt(navigator.appVersion)>=5)
            ticketbox.style.MozOpacity = 75/100;
        else if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion)>=4)
            ticketbox.style.filter = 'alpha(opacity=75)';
            //ticketbox.filters.alpha.opacity = 75;
    }
    return false;
}
function mout(ticket) {
    if ( document.getElementById('ticket_page') ) {
        var ticket_page = document.getElementById('ticket_page').innerHTML;
        var num = ticket + ((parseInt(ticket_page) - 1) * 12);
        var ticketbox = document.getElementById('ticketbox' + ticket);
        ticketbox.style.background = 'url(/images/v4/tableseiten_weiss/bg_lotto' + num + '.gif)';
        if (navigator.appName.indexOf("Netscape")!=-1 && parseInt(navigator.appVersion)>=5)
            ticketbox.style.MozOpacity = 1;
        else if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion)>=4)
            ticketbox.style.filter = 'alpha(opacity=100)';
            //ticketbox.filters.alpha.opacity = 100;
    }
    return false;
}

/*===================================================
    C A L C U L A T E    S Y S T E M    P R I C E
  ==================================================*/
var total_1 = 0;
var total_2 = 0;
var total_3 = 0;
var total_4 = 0;
var total_5 = 0;
var total_6 = 0;

function calc_system_price(comb) {
    var num_ticket = document.getElementById('nrcourt').value;
    var ticket_price = document.getElementById('price').value;
    var total = document.getElementById('total');
    var draw = document.tickets.draw.options[document.tickets.draw.selectedIndex].value;

    var ticket_num = document.getElementById('ticket_num');
    var joker_price = document.getElementById('joker_price').value;
    
    /**
    * case german lotto you have to check which jokers are selected and make the price like this
    */
    if(product_type == 'DE_LOTTO')
    {
        de_super6_price = Number((document.getElementById('de_super6_yes').checked ? document.getElementById('de_super6_price').value : 0.00));
        de_spiel77_price = Number((document.getElementById('de_spiel77_yes').checked ? document.getElementById('de_spiel77_price').value : 0.00));
        
        joker_price = de_super6_price + de_spiel77_price;
    }
    var joker = document.tickets.joker_yes.checked;
    var num_jokers = document.getElementById('num_jokers').value;
    var total_price;
    /*
        combination_numbers! / num_ticket! / (combination_numbers - num_ticket)!
    */
    if(comb == '') { comb = 0; }
    if(comb != 0) {
        if ( thisSection == 2 )
            var total_tickets = aVewTips[eval("'" + comb + "-" + VEW_nr + "'")];
        else
            var total_tickets = _CalcFactorial(comb) / _CalcFactorial(num_ticket) / _CalcFactorial(comb - num_ticket);

        /*calculate number of tickets X subscription*/
        total_price = (total_tickets * ticket_price) * draw;
        //check if the ticket has joker and sum the price
        if(joker) {
            var temp_price = total_price;
            //check if the joker is filled and multiply by the joker_price
            for(var i=1; i<=num_jokers; i++) {
                if ( eval("document.tickets.joker_num_" + i) ) {
                    eval("var joker_field = document.tickets.joker_num_"+i+".value");
                    if(joker_field != '')
                        total_price += joker_price * (product_type == 'DE_LOTTO' ? draw : GetATJokerDraws(draw));
                }
            }
            // if joker is checked but no number was selected, I have to charge 1 joker
            if ( total_price && temp_price == total_price )
                total_price += joker_price * (product_type == 'DE_LOTTO' ? draw : GetATJokerDraws(draw));
        }
        //set variable total
        eval("total_"+ ticket_num.value + " = "+ total_price);
    }

    //summ the 6 tickets
    total_price = total_1 + total_2 + total_3 + total_4 + total_5 + total_6;
    total.innerHTML = FormatNumber(total_price);
    return false;
}

function _CalcFactorial(number)
{
    var total = 1;
    for ( var i = 1  ; i <= number ; i++ )
        total *= i;
    return total;
}

/*========================================================
 G E T   R A D I O   B O X   P A R A M.
==========================================================*/
function getRadioBox(num, action) {
    /*
     action = 0 -> get checked value
     action = 1 -> remove checkmark
     action = 2 -> add checkmark
     */
    if ( !num ) return false;
    if ( thisSection == 2 ) {
        if ( action == 0 ) {
            temp     = eval('document.tickets.v_ticket' + num +'.options[document.tickets.v_ticket' + num + '.selectedIndex].value');
            new_comb = temp.substring(0,temp.indexOf('-'));
            VEW_nr   = temp.substring(temp.indexOf('-') + 1);
        } else if ( action == 1 )
            eval("document.tickets.v_ticket" + num + ".options[0].selected = 'true'");
    } else {
        var combination, combination_fields, new_comb, list_a, list_count, x, z;
        var minParam = 1;
        var maxParam = 6;

        if(action == 0) { minParam = num; maxParam = num; }

        for( var i=minParam; i<=maxParam; i++ ) {

            eval("combination = document.tickets.s_ticket"+i);
            if(combination) {
                combination_fields = combination.length;
                for (x=0; x < combination_fields; x++){
                    if(combination[x].checked == true) {
                        if(action == 0) { new_comb = combination[x].value; }
                        if(action == 1) { combination[x].checked = false; }
                    }
                    if(action == 2) {
                        list_a = document.getElementById('sys'+i+'a');
                        if(list_a) {
                            list_count = (list_a.value).split(",");
                            if(combination[x].value == list_count.length ){ combination[x].checked = true; }
                        }
                    }
                }
            }
        }
    }

    if(action == 0) {
        return new_comb;
    } else {
        return false;
    }
}

/*=============================================
    C L E A R   S Y S T E M   T I C K E T S
/*============================================*/
function clearSys(ticket, hideMarks, radio) {
    var ticket_num = document.getElementById('ticket_num');
    var system_fields = thisSection == 1 ? document.getElementById('system_fields') : document.getElementById('vew_fields');

    var remElement_a = document.getElementById(ticketElem+ ticket_num.value +'a');
    var remElement_b = document.getElementById(ticketElem+ ticket_num.value +'b');
    if(ticket > 0) {
        var clearit = true;
        if ( thisSection == 2 ) {
            var old_combination = document.getElementById('vew_radio' + ticket).value;
            new_comb = getRadioBox(ticket, 0);
            //we only reset it when new_comb != old_comb
            old_comb = old_comb = old_combination.substring(0,old_combination.indexOf('-'));
            old_comb = parseInt(old_comb);

            list_a = document.getElementById(ticketElem + ticket + 'a');
            var empty_numbers = !list_a || list_a.value == '';
            //checking if there are option and numbers selected!!!
            if ( old_comb > 0 && new_comb >= 0 && !empty_numbers) {
                var alert_delete_comb = document.getElementById('alert_delete_comb').value;
                if ( old_comb == new_comb )
                    clearit = false;
                else if ( !confirm(alert_delete_comb) ) {
                    eval("document.tickets.v_ticket"+ticket+".value='"+old_combination+"'");
                    return false;
                }
            }
            if ( new_comb > 0 ) {
                eval("var combination = document.tickets.v_ticket"+ticket);
                var combination_value = combination.options[combination.selectedIndex].value;
                document.getElementById('vew_radio' + ticket).value = combination_value;
            }
        }
        if ( clearit ) {
            OpenTicket(true);
            ticket_num.value = ticket;
            closeTicket(3);
        } else
            getTotalPrice();
    } else {
        if ( thisSection == 1 ) {
            //loop trought all tickets and set total=0
            for(var t=1; t<=6; t++) {
                eval("total_"+ t + " = 0");
                //clear checkfield
                eval("var combination = document.tickets.s_ticket"+t);
                if(hideMarks) { getRadioBox(0,1); }
            }
        } else if ( thisSection == 2 ) {
            //loop trought all tickets and set total=0
            for(var t=1; t<=6; t++)
                eval("total_"+ t + " = 0");
        }
    }
    calc_system_price(0);//update system price

    //delete empty system tickets
    if(remElement_a && remElement_a.value == '' ) { system_fields.removeChild(remElement_a); }
    if(remElement_b && remElement_b.value == '') { system_fields.removeChild(remElement_b); }

    //save tracker action
    if(!syndicates) {
        var tracker = document.getElementById('action_'+ticket_num.value);
        if( tracker )
            tracker.value = tracker.value + ',' + 'radio('+ radio+')';
    }
    OpenTicket(false);

    //if the system>=10 we allow 1 draw
    if ( radio >= System1Draw || b_ONLY_1_DRAW )
        insertOption();
    else
    {

        removeOption();
    }

    return false;
}


/*===================================================
    R A D I O    B U T T O N S    F U N C T I O N S
  ==================================================*/
function existOption(num)
{
    var elSel = document.tickets.draw;
    var found = false;
    for ( var i = 0; i < elSel.length && !found; i++)
        if ( elSel.options[i].value == num )
            return true;

    return false;
}

function insertOption()
{
  var elSel = document.tickets.draw;
  if ( !existOption(1) ) {
  //if ( elSel.selectedIndex >= 0 ) {
    var elOptNew = document.createElement('option');
    elOptNew.text = '1';
    elOptNew.value = '01';
    var elOptOld = elSel.options[elSel.selectedIndex];
    try {
      elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      elSel.add(elOptNew, elSel.selectedIndex); // IE only
    }
  //}
  }
}

function removeOption()
{
  var elSel = document.tickets.draw;

  if ( existOption(1) && product_type != 'DE_LOTTO') {
    elSel.remove(0);
    elSel.selectedIndex = 0;
  }
}


/*===============================================
    D I S P L A Y    C H E C K    M A R K S
  ==============================================*/
function showticket(ticket) {
    var c_ticket;

    if( ticket <= 12 ) { c_ticket = ticket; }
    else
        c_ticket = (ticket % 12) == 0 ? 12 : ticket % 12;

    return c_ticket;
}

/* N U M B E R S */
function tickNumberList(ticket_num) {
    var list_a = document.getElementById(ticketElem+ticket_num+'a');
    // set wich checkmark has to be displayed
    var ticket = showticket(ticket_num);
    //if numbers are not blank fill the ticket
    if( list_a ) {
        var myList = list_a.value;
        myList = myList.split(",");
        for (var i=0; i < myList.length; i++) {
            if( myList[i] != '' ) {
                document.getElementById('t'+ ticket +'-'+ myList[i]).className = 'lotto_leer_active';
            }
        }
    }

    return false;
}

/* S T A R S */
function tickStarList(ticket_num) {
    var list_b = document.getElementById(ticketElem+ticket_num+'b');

    /* set wich checkmark has to be displayed */
    var ticket = showticket(ticket_num);

    /*if stars are not blank fill the ticket*/
    if( list_b ) {
        var myList = list_b.value;

        myList = myList.split(",");
        for (var s=0; s < myList.length; s++) {
            if( myList[s] != '' ) {
                document.getElementById('s'+ ticket +'-'+ myList[s]).className = 'lotto_leer_active';
            }
        }
    }
    return false;
}

/* J O K E R S */
function tickJokerList(ticket_num) {
    var list_j = document.getElementById('joker_num_' + ticket_num);

    /* set wich checkmark has to be displayed */
    var ticket = showticket(ticket_num);

    /*if jokers are not blank fill the ticket*/
    if( list_j ) {
        var myList = list_j.value;
        myList = myList.split(",");
        for (var s=0; s < myList.length; s++) {
            if( myList[s] != '' )
                document.getElementById('t'+ ticket +'-' + myList[s] + '-' + (s+1)).className = 'lotto_leer_active';
        }
    }
    return false;
}

/*==========================================
    R E M O V E   C H E C K    M A R K S
  ==========================================*/
function removeNumbers(element) {
    var ticket_num = document.getElementById('ticket_num').value;
    var list_a = document.getElementById(ticketElem+ticket_num+'a');

    /*update number list*/
    var newList = new Array();
    var clearList = (list_a.value).split(",");
    var j = 0;
    for( i=0; i < clearList.length; i++ ) {
        if( clearList[i] != element ) {
            newList[j] = clearList[i];
            j = j+1;
        }
    }

    /* set wich checkmark has to be displayed */
    var ticket = showticket(ticket_num);

    /* G E N E R A L    N U M B E R S    L I S T */
    if(document.getElementById('t'+ticket+'-'+element)) { document.getElementById('t'+ticket+'-'+element).className = 'lotto_leer'; }

    /* P O P U P    T I C K E T    N U M B E R S*/
    if(document.getElementById('tick-'+ element)) { document.getElementById('tick-'+ element).className = 'lotto_tippen_table'; }

    list_a.value = newList;
    if(!syndicates)
        document.getElementById('number_list').innerHTML = replaceChars(list_a.value, ",", "&middot;");
    else
        document.getElementById('numbers_'+ ticket_num).innerHTML = replaceChars(list_a.value, ",", "&middot;");
    validateTicket = true;
}

function removeStars(element) {
    var ticket_num = document.getElementById('ticket_num').value;
    var list_b = document.getElementById(ticketElem + ticket_num + 'b');

    /*update star list*/
    var newList = new Array();
    var clearList = (list_b.value).split(",");
    var j = 0;
    for( i=0; i < clearList.length; i++ ) {
        if( clearList[i] != element ) {
            newList[j] = clearList[i];
            j = j+1;
        }
    }

    /* set wich checkmark has to be displayed */
    var ticket = showticket(ticket_num);
    /* G E N E R A L   S T A R S   L I S T */
    if(document.getElementById('s'+ticket+'-'+ element)) { document.getElementById('s'+ticket+'-'+ element).className = 'lotto_leer_mit'; }

    /* P O P U P    T I C K E T    S T A R S */
    if(document.getElementById('star-'+ element)) { document.getElementById('star-'+ element).className = 'lotto_tippen_table_' + stars_type; }

    list_b.value = newList;

    if(!syndicates)
        document.getElementById('star_list').innerHTML = replaceChars(list_b.value, ",", "&middot;");
    else
        document.getElementById('stars_'+ ticket_num).innerHTML = replaceChars(list_b.value, ",", "&middot;");
    validateTicket = true;
}

/*==========================================
    O P E N    T I C K E T    B O X
  ==========================================*/
function enableBackRadioButtons(disabled) {
    if ( thisSection == 2 )
        return;
    for ( var i = 1; i <= 6; i++ )
        for ( var j = 0; j < document.tickets.s_ticket1.length; j++ )
            eval('document.tickets.s_ticket' + i + '[j].disabled = ' + disabled);
}

var smo = ''; //used for display mouse over on ticket list
function getTicket(num) {

showHideTickets();
    if ( loadedJS == false )
        return false;
    var tickets_fields = document.getElementById(t_fields);
    var ticket = document.getElementById('ticket');
    var system_fields = thisSection == 1 ? document.getElementById('system_fields') : document.getElementById('vew_fields');
    var tracker_fields = document.getElementById('tracker_fields');
    var ticket_name = document.getElementById('ticket_name');
    var ticket_name_bottom = document.getElementById('ticket_name_bottom');
    var ticket_num = document.getElementById('ticket_num');
    var draw = document.tickets.draw;
    var star_list = document.getElementById('star_list');
    var comb;
    var this_num;
    var new_comb;

    /*set ticket number*/
     if(!syndicates) {
        this_num = num + parseInt(document.getElementById('count').value)
        smo = num;
    } else
        this_num = num;


    //disable click outside the ticket
    if(ticket_open)
        return false;

    /*if user is on ticket system section only allow to open the ticket
      if the user has checked a radio button for the combination
    */

    if(thisSection == 1 ) { /* SYSTEM */
        var alert_comb = document.getElementById('alert_comb').value;
        ticket_num.value = this_num;
        eval("var combination = document.tickets.s_ticket"+this_num);
        var combination_fields = combination.length;
        if(!isChecked(combination)){ alert(alert_comb); return false; }

        enableBackRadioButtons('true');

        OpenTicket(false);
    } else if(thisSection == 2 ) { /* VEW */
        var alert_comb = document.getElementById('alert_comb').value;

        ticket_num.value = this_num;
        eval("var combination = document.tickets.v_ticket"+this_num);
        if ( combination.selectedIndex >= 0 ) {
            var combination_value = combination.options[combination.selectedIndex].value;
            if(combination_value == 0){ alert(alert_comb); return false; }
        } else {
            alert(alert_comb); 
            return false;
        }

        OpenTicket(false);
    }

    /*hide draw selector and random numbers while ticket is opened*/
    if(!syndicates) {
        draw.style.display = 'none';
        document.getElementById('HideTickets').style.display = '';
    }
    /*first time ticket is open: create hidden fields
    load numbers and stars checkmarksinside ticket
    */
    if( !document.getElementById(ticketElem + this_num + 'a') ) {
        tickets_fields.innerHTML += "<input type='hidden' id='"+ticketElem + this_num +"a' name='"+ ticketElem + this_num +"a' value=''>";
    }
    var list_a = document.getElementById(ticketElem + this_num + 'a');

    if(stars == true){
        if( !document.getElementById(ticketElem + this_num + 'b') ) {
            tickets_fields.innerHTML += "<input type='hidden' id='"+ ticketElem + this_num +"b' name='"+ticketElem + this_num +"b' value=''>";
        }
        var list_b = document.getElementById(ticketElem + this_num + 'b');
    }

    /*create action recorder field*/
    if(!syndicates) {
        if( !document.getElementById('action_'+this_num) ) {
            tracker_fields.innerHTML += "<input type='hidden' id='action_"+ this_num +"' name='action_"+ this_num +"' value='open'>";
        } else {
            document.getElementById('action_'+this_num).value = document.getElementById('action_'+this_num).value + "," + "open";
        }
    }

    if(!syndicates) {
        if(!ticket_open) {
                                    
            ticket_name.innerHTML = this_num; //display the ticket number

            ticket_name_bottom.innerHTML = this_num;

            ticket.style.display = ''; //change it to display ticket

            ticket.id = 'ticket'+ this_num; //change current div to this id

            if ( stars )
                star_list.innerHTML = '';
            actual_random_tip = aRandomTips [num];

            OpenTicket(true);
        }
    } else
    {
        OpenTicket(true);
    }

    //set current ticket number
    ticket_num.value = this_num;

    /*check if ticket was already opened and saved
    check numbers*/
    if(list_a.value != '' ) { mark_num_ticket(this_num); }
    if(!syndicates) {
        var saved_numbers = document.getElementById('saved_numbers');
        saved_numbers.value = document.getElementById(ticketElem + ticket_num.value + 'a').value;
    }

    if(stars == true){
        if(list_b.value != '' ) { mark_star_ticket(this_num); }
        if(!syndicates) {
            var saved_stars = document.getElementById('saved_stars');
            saved_stars.value = document.getElementById(ticketElem+ticket_num.value + 'b').value;
        }
    }

    return false;
}

/*==========================================
    S E L E C T    N U M B E R S
  ==========================================*/
var lastCheckedNumber = '';
function tickbox(number) {
    var ticket_num = document.getElementById('ticket_num');
    var ticka = document.getElementById(ticketElem+ticket_num.value+'a');
    var maxNumbers = document.getElementById('nrcourt').value;

    //check if field is blank
    if(ticka.value == '')
        ticka.value = number;
    else {
        //remove number if exist or if maximum number has been filled
        var newList = new Array();
        var remElem = (ticka.value).split(",");
        var j = 0;
        var found = false;
        for( i=0; i < remElem.length; i++ ) {
            if( remElem[i] != number ) {
                newList[j] = remElem[i];
                j = j+1;
            } else
                found = true;
        }
        if ( !found )
            ticka.value = newList + ',' + number;
        else {
            removeNumbers(number);
            return false;
        }
    }

    if(thisSection == 1 || thisSection == 2) { maxNumbers = getRadioBox(ticket_num.value, 0);}

    //replace last maxed number
    var checklimit = (ticka.value).split(",");
    if( checklimit.length > maxNumbers ) {
        if( lastCheckedNumber == '' ) { lastCheckedNumber = checklimit[maxNumbers-1]; }
        removeNumbers(lastCheckedNumber);
    }

    //check the number limit, replace last number if numbers are maxed
    var setNewList = (ticka.value).split(",");
    if( setNewList.length >= maxNumbers ) { lastCheckedNumber = setNewList[maxNumbers-1]; }

    //order numbers
    if(!joker)
        ticka.value = orderlist(document.getElementById(ticketElem+ticket_num.value+'a').value);

    //check numbers
    mark_num_ticket(ticket_num.value);
    if(!syndicates){ tickNumberList(ticket_num.value); }

    OpenTicket(true);
    validateTicket = true;

    //save action tracker
    if(!syndicates) {
        var tracker = document.getElementById('action_'+ ticket_num.value);
        if ( tracker )
            tracker.value = tracker.value + "," + "ck_n "+number;
    } else
        document.getElementById('saved'+ticket_num.value+'a_'+actualPgid).value = ticka.value;

    return false;
}

function mark_num_ticket(ticket) {
    var mainBox = document.getElementById('ticket'+ticket);
    var list_a = document.getElementById(ticketElem+ticket+'a');

    var myticketList = list_a.value;

    /* T I C K E T S */
    var displayTicks = myticketList.split(",");

    //display selected numbers on top
    if ( !syndicates )
        document.getElementById('number_list').innerHTML = replaceChars(myticketList, ",", "&middot;");
    else
        document.getElementById('numbers_'+ ticket).innerHTML = replaceChars(myticketList, ",", "&middot;");

    /*check if exist before creating new div*/
    for (var i=0; i < displayTicks.length; i++) {
        if( displayTicks[i] != '' ) { document.getElementById('tick-'+ displayTicks[i]).className = 'lotto_tippen_table_active'; }
    }
    return false;
}

/*==========================================
    S E L E C T    S T A R S
  ==========================================*/
var lastCheckedStar = '';
function tickstar(number) {
    var ticket_num, maxFields, tickb;
     if(!joker) {
        ticket_num = document.getElementById('ticket_num').value;
        maxFields = document.getElementById('lucky_nr').value;

        tickb = document.getElementById(ticketElem+ ticket_num + 'b');
    } else {
        if ( at_joker )
            ticket_num = document.getElementById('ticket_num').value;
        else
            ticket_num = document.getElementById('curr_joker').value;
        maxFields = ( hasDN || product_type=='DE_LOTTO') ? 7 : 6;
        tickb = document.getElementById('joker_num_'+ ticket_num);
        var alert_joker = document.getElementById('alert_joker').value;
    }
    var check_star_limit = (tickb.value).split(",");

    if(joker && check_star_limit.length > [maxFields-1] )
        return false;

    /*check if the joker number is less than 1000*/
    if ( joker && !hasDN ) {
        aNumbers = tickb.value.split(',');
        if ( (aNumbers.length == 2) && (aNumbers[0] == 0) && (aNumbers[1] == 0) && (number == 0) ) {
            return false;
        }
    }
    /*check if field is blank*/
    if(tickb.value == '')
        tickb.value = number;
    else {
        if(!joker) {
            /*remove number if exist*/
            var newList = new Array();
            var remElem = (tickb.value).split(",");
            var j = 0;
            var found = false;
            for( i=0; i < remElem.length; i++ ) {
                if( remElem[i] != number ) {
                    newList[j] = remElem[i];
                    j = j+1;
                } else
                    found = true;
            }
        } else {
            newList = tickb.value;
        }
        if ( !found )
            tickb.value = newList + ',' + number;
        else {
            removeStars(number);
            return false;
        }
    }

    if(!joker) {
        /*check the number limit*/
        if( check_star_limit.length >= maxFields ) {
            if( lastCheckedStar == '' ) { lastCheckedStar = check_star_limit[maxFields-1]; }
            removeStars(lastCheckedStar);
        }

        /*check the star limit, replace last star if stars are maxed*/
        check_star_limit = (tickb.value).split(",");
        if( check_star_limit.length >= maxFields ) { lastCheckedStar = check_star_limit[maxFields-1]; }

        //order numbers
        tickb.value = orderlist(tickb.value);
    }

    //check stars
    mark_star_ticket(ticket_num);

    if(!syndicates && !joker)
        tickStarList(ticket_num);
    else if ( at_joker )
        tickJokerList(ticket_num)

    if(!joker)
        OpenTicket(true);

    validateTicket = true;

    /*save action tracker*/
    if(!syndicates && !joker) {
        var tracker =  document.getElementById('action_'+ ticket_num);
        if ( tracker )
        tracker.value = tracker.value + "," + "ck_s "+number;
    }

    return false;
}


function mark_star_ticket(ticket) {
    var tickNumb;
    if ( !joker && !at_joker )
        tickNumb = document.getElementById(ticketElem+ ticket +'b');
    else
        tickNumb = document.getElementById('joker_num_' + ticket);

    var mystarList = tickNumb.value;
    var displayStars = mystarList.split(",");
    if ( !syndicates && !joker && !at_joker )
        document.getElementById('star_list').innerHTML = replaceChars(mystarList, ",", "&middot;");
    else {
        if ( at_joker )
            var box = 1;
        else
            var box = ticket;
        
        mystarList = (((mystarList.replace(/,/g,"")).split("")).join(","));

        document.getElementById('stars_'+ box).innerHTML = replaceChars(mystarList, ",", "&middot;");
        if(joker) { document.getElementById('stars_'+ box).innerHTML = replaceChars(mystarList, ",", "&nbsp;&nbsp;"); }
    }

    if ( !joker && !at_joker ) {
        for (var s=0; s < displayStars.length; s++) {
            //check if exist before creating new div
            if( displayStars[s] != '' ) { document.getElementById('star-'+ displayStars[s]).className= 'lotto_tippen_table_' + stars_type + '_active'; }
        }
    }
    return false;
}


function OpenTicket(open)
{
    var draw = document.tickets.draw;

    if ( !syndicates ) {
        if ( open && !ticket_open ) {
            draw.style.display = 'none';
            document.getElementById('HideTickets').style.display = '';
            

            if ( at_joker ) {
                document.getElementById('ticket_checked_1').innerHTML = '<img src="images/v4/tableseiten_weiss/previous.gif" width="8" height="7" alt="">';
                document.getElementById('stars_1').className = 'joker_zahlen_active';
            }
        } else if ( !open && ticket_open ) {
            /* clear the box */
            if ( at_joker )
                document.getElementById('stars_1').innerHTML = '';

            draw.style.display = '';
            document.getElementById('HideTickets').style.display = 'none';
        }
        document.getElementById('tb_1').disabled = open;
        if (document.getElementById('tb_2'))
            document.getElementById('tb_2').disabled = open;

    }
    ticket_open = open;
}

/*================================
    O P E N   J O K E R    B O X
  ================================*/
function getJoker(action, num) {
    showHideTickets();
    var joker_box = document.getElementById('joker_box');
    var draw = document.tickets.draw;
    var but_delete = document.getElementById('but_delete');
    var alert_joker_ck = document.getElementById('alert_joker_ck').value;
    var num_jokers = document.getElementById('num_jokers').value;
    var ticket_num = document.getElementById('ticket_num');
    var ticket_name = document.getElementById('ticket_name');

    if (at_joker)
        document.getElementById('ticket_joker_name_bottom').innerHTML = num + parseInt(document.getElementById('count').value);

    joker = true;
    /*
     action 0 => close joker
     action 1 => open joker
     */
    //mout(0);


    if(action == 1) {
        if (!syndicates)
            num = num + parseInt(document.getElementById('count').value)
        ticket_name.innerHTML = num;
        ticket_num.value = num;
        /*first time ticket is open: create hidden fields
        load jokers checkmarksinside ticket
        */
        if( !document.getElementById('joker_num_' + num) )
            document.getElementById('joker_fields').innerHTML += "<input type='hidden' id='joker_num_" + num + "' name='joker_num_" + num + "' value=''>";
        var list_b = document.getElementById('joker_num_' + num);
        /*check if ticket was already opened and saved
        check jokers*/
        if(list_b.value != '' ) { mark_star_ticket(num); }
        if(!syndicates) {
            var saved_jokers = document.getElementById('saved_jokers');
            saved_jokers.value = document.getElementById('joker_num_' + num).value;
        }

        OpenTicket(true);
        joker_box.style.display = '';
        joker = true;
    } else {

        if(document.getElementById('joker_num_' + ticket_num.value).value == '') {
            if ( at_joker )
                var reqJoker = false;
            else
                var reqJoker = confirm(alert_joker_ck);
            if(!reqJoker) {
                joker_box.style.display = 'none';
                joker_submit = true;
                if ( !at_joker ) {
                    document.tickets.joker_yes.checked = false;
                    document.tickets.joker_no.checked = true;
                }
                OpenTicket(false);
                joker = false;
            } else {
                document.tickets.joker_yes.checked = true;
                document.tickets.joker_no.checked = false;
                joker_submit = false;
                OpenTicket(true);
                joker = true;
                return false;
            }
        } else {
            if ( !at_joker ) {
                for(var i=1; i<=num_jokers; i++) {
                    if(document.getElementById('joker_num_'+ i).value == ''){
                        return false;
                    }
                }
            }

            accept_joker = true;
            validateTicket = true;
            if(closeTicket(1)) {

                joker_box.style.display = 'none';
                joker = false;
                joker_submit = true;
                if ( !at_joker ) {
                    document.tickets.joker_yes.checked = true;
                    document.tickets.joker_no.checked = false;
                }
                LoadOutJoker();
                OpenTicket(false);
            } else {

                OpenTicket(true);
                joker = true;
                joker_submit = false;
                return false;
            }
        }
    }
    return false;
}

////////////////////////////////
function GetATJokerDraws(months)
////////////////////////////////
{
    if ( hasDN )
        return months;
    var draws_per_week = document.getElementById('draws_per_week').value;
    var at_joker_draws_per_week = document.getElementById('at_joker_draws_per_week').value;
    var weeks = Math.ceil(months/draws_per_week);
    months = weeks * at_joker_draws_per_week;
    var now = document.getElementById('now').value;
    var aDays = document.getElementById('aDays').value.split(',');
    var weekdays = new Array(7);
    weekdays['MO'] = 0;
    weekdays['TU'] = 1;
    weekdays['WE'] = 2;
    weekdays['TH'] = 3;
    weekdays['FR'] = 4;
    weekdays['SA'] = 5;
    weekdays['SU'] = 6;

    var sub = 0;
    for (var i = 0; i < aDays.length; i++) {
        if ( aDays[i] == 'XX' )
            continue;
        if ( weekdays [aDays[i]] < now )
            sub++;
    }

    return months - sub;
}

/*============================================
    C H A N G E   J O K E R   B G   C O L O R
  ============================================*/
function selectJoker(action) {
    if ( at_joker )
        var curr_joker = document.getElementById('ticket_num').value;
    else
        var curr_joker = document.getElementById('curr_joker').value;

    var num_jokers = document.getElementById('num_jokers').value;
    var alert_joker_ck = document.getElementById('alert_joker_ck').value;
    var nextJoker, prevJoker;
    /*
     action 1 => add a new joker
     action 0 => remove joker
     action 2 => validate joker
     */
    if( action == 2 ) {
        if( document.getElementById('joker_num_'+ curr_joker).value == '' ) {
            if ( send_alert )

            return false;
        }
        if(closeTicket(1)) {
            if ( at_joker )
                var star_num = 1;
            else
                var star_num = curr_joker;
            document.getElementById('ticket_checked_' + star_num).innerHTML = '';
            document.getElementById('stars_' + star_num).className = 'joker_zahlen';

            nextJoker = parseInt(curr_joker) + 1;
            if(num_jokers > curr_joker && num_jokers <= 3) {
                document.getElementById('stars_' + nextJoker).className = 'joker_zahlen_active';
                document.getElementById('ticket_checked_' + nextJoker).innerHTML = '<img src="images/v4/tableseiten_weiss/previous.gif" width="8" height="7" alt="">';
                document.getElementById('curr_joker').value = nextJoker;
            }
        }
    }
    if( action == 1 && num_jokers < 3 ) {
        nextJoker = parseInt(curr_joker)+1;
        if( !document.getElementById('joker_num_' + nextJoker) )
            document.getElementById('joker_fields').innerHTML += "<input type='hidden' id='joker_num_" + nextJoker + "' name='joker_num_" + nextJoker + "' value=''>";
        //display next joker
        document.getElementById('jk'+ nextJoker).style.visibility = 'visible';
        //change last joker default bg color
        send_alert = false;

        document.getElementById('ticket_checked_' + curr_joker).innerHTML = '';
        document.getElementById('stars_' + curr_joker).className = (hasDN ? 'dn' : 'joker') + '_zahlen';
        document.getElementById('ticket_checked_' + nextJoker).innerHTML = '<img src="images/v4/tableseiten_weiss/previous.gif" width="8" height="7" alt="">';
        document.getElementById('stars_' + nextJoker).className = (hasDN ? 'dn' : 'joker') + '_zahlen_active';
        document.getElementById('curr_joker').value = nextJoker;
        curr_joker = nextJoker;

        send_alert = true;
        document.getElementById('num_jokers').value = nextJoker;
    }
    if( action == 0 && num_jokers > 1 ){
        //get previous joker
        prevJoker = parseInt(num_jokers) -1;
        document.getElementById('joker_fields').removeChild(document.getElementById('joker_num_'+ num_jokers));
        //hide joker
        document.getElementById('jk'+ num_jokers).style.visibility = 'hidden';
        //clear joker field
        //document.getElementById('joker_num_'+ num_jokers).value = "";
        document.getElementById('stars_'+ num_jokers).innerHTML = "";
        document.getElementById('num_jokers').value = prevJoker;
        document.getElementById('ticket_checked_' + curr_joker).innerHTML = '';
        document.getElementById('stars_' + curr_joker).className = 'joker_zahlen';
        document.getElementById('ticket_checked_' + prevJoker).innerHTML = '<img src="images/v4/tableseiten_weiss/previous.gif" width="8" height="7" alt="">';
        document.getElementById('stars_' + prevJoker).className = 'joker_zahlen_active';
        document.getElementById('curr_joker').value = prevJoker;
    }
    return false;
}
/*============================
    S E L E C T   J O K E R
 ============================*/
function markJoker(joker_num) {
    var curr_joker = document.getElementById('curr_joker').value;

    // deselect the old one
    document.getElementById('stars_' + curr_joker).className = 'joker_zahlen';
    document.getElementById('ticket_checked_' + curr_joker).innerHTML = '';

    // select the new one
    document.getElementById('stars_' + joker_num).className = 'joker_zahlen_active';
    document.getElementById('ticket_checked_' + joker_num).innerHTML = '<img src="images/v4/tableseiten_weiss/previous.gif" width="8" height="7" alt="">';

    document.getElementById('curr_joker').value = joker_num;
}

/*=======================================================
    C H E C K   I F   J O K E R   I S  S E L E C T E D
 =======================================================*/
function jokerCheck(ck) {
    if(ck == 0) {
        document.tickets.joker_no.checked = false;
        joker_submit = false;
    } else {
        document.tickets.joker_yes.checked = false;
        joker_submit = true;
    }

    getTotalPrice();

    return false;
}

/*=====================================================
    A C T I O N     B U T T O N S
  ====================================================*/
var validateTicket = false; /*tells when user has select a number but not filled correctly the ticket*/
function closeTicket(action) {
    var ticket_num, list_a, list_b, maxstars;
    if(!joker) {
        ticket_num = document.getElementById('ticket_num').value;
        list_a = document.getElementById(ticketElem+ ticket_num +'a');
        list_b = document.getElementById(ticketElem+ ticket_num +'b');
        maxstars = document.getElementById('lucky_nr').value;
    } else {
        if ( at_joker )
            ticket_num = document.getElementById('ticket_num').value;
        else
            ticket_num = document.getElementById('curr_joker').value;
        list_a = '';
        list_b = document.getElementById('joker_num_'+ ticket_num);
        maxstars = 6;
    }
    var joker_box = document.getElementById('joker_box');
    var maxnumbers = document.getElementById('nrcourt').value;
    var main = document.getElementById('main');
    var draw = document.tickets.draw;
    var but_random = document.getElementById('but_random');
    var but_next = document.getElementById('but_next');
    var but_delete = document.getElementById('but_delete');
    var joker_fields = document.getElementById('joker_fields');
    if ( at_joker )
        var tickets_field = document.getElementById('joker_fields');
    else
        var tickets_field = document.getElementById(t_fields);
    var backup_numbers = document.getElementById('saved_numbers');
    var backup_stars = document.getElementById('saved_stars');
    var backup_jokers = document.getElementById('saved_jokers');
    var alert_check_star, alert_check_star_1;
    var tmp_validate = false;

    if(action != 3 ) {
        if (thisSection == 1 || thisSection == 2) {
            enableBackRadioButtons('false');
            maxnumbers = getRadioBox(ticket_num, 0);

        }
    }
    if(syndicates) {OpenTicket(true);}
    /*
    action 1 = save and close ticket
    action 2 = cancel : switch back the default values and close the ticket
    action 3 = clear and don't close ticket
    action 4 = save ticket and go to next without close ticket
    action 5 = reset large image list
    action 6 = clear syndicate ticket and don't save
    action 7 = check if ticket is filled correct
    */

    /* set wich checkmark has to be displayed */
    var ticket = showticket(ticket_num);

    if( action == 1 || action == 7 ) {
        var alert_check_num = document.getElementById('alert_check_num').value;
        var alert_check_num_1 = document.getElementById('alert_check_num_1').value;
        if ( !joker ) {
            alert_check_star = document.getElementById('alert_check_star').value;
            alert_check_star_1 = document.getElementById('alert_check_star_1').value;
        } else {
            alert_check_star = document.getElementById('alert_check_joker').value;
            alert_check_star_1 = document.getElementById('alert_check_joker_1').value;
        }

        /*
          disable to click accept if the ticket was not filled
          only can be saved in blank if clear button was pressed
        */
        if( validateTicket ) {
            tmp_validate = true;
            /*check if numbers are filled*/
            if(!joker) {
                var checkNumbers = (list_a.value).split(",");
                var totalNumbers = checkNumbers.length;
                if( list_a.value == '' ) { totalNumbers = 0; }
                if( totalNumbers < maxnumbers ) {

                    if((maxnumbers-totalNumbers)!=1)
                        alert(alert_check_num.replace('$num$',(maxnumbers - totalNumbers)));
                    else
                        alert(alert_check_num_1.replace('$num$',(maxnumbers - totalNumbers)));

                    ticketFilled = false;
                    return false;
                }
            } else if (at_joker) {
                var checkNumbers = (list_b.value).split(",");
                var totalNumbers = checkNumbers.length;
                if( list_b.value == '' ) { totalNumbers = 0; }
                if( totalNumbers < maxnumbers ) {

                    if((maxnumbers-totalNumbers)!=1)
                        alert(alert_check_num.replace('$num$',(maxnumbers - totalNumbers)));
                    else
                        alert(alert_check_num_1.replace('$num$',(maxnumbers - totalNumbers)));

                    ticketFilled = false;
                    return false;
                }
            }

            if( !at_joker && (stars == true || joker) ) {
                var num = accept_joker ? document.getElementById('num_jokers').value : 1 ;
                for ( var i = 1; i <= num; i++ ) {
                    /*check if stars are filled*/
                    if ( accept_joker )
                        var tmp_list_b = document.getElementById('joker_num_'+ i);
                    else
                        var tmp_list_b = list_b;
                    var checkStars = tmp_list_b.value;
                    checkStars = ((checkStars.replace(/,/g,"")).split("")).join(",");
                    var totalStars = checkStars.length;
                    if( tmp_list_b.value == '' ) { totalStars = 0; }

                    if( totalStars < maxstars) {

                        if((maxstars-totalStars)!=1)
                            alert(alert_check_star.replace('$num$',(maxstars - totalStars)));
                        else
                            alert(alert_check_star_1.replace('$num$',(maxstars - totalStars)));

                        ticketFilled = false;
                        accept_joker = false;
                        return false;
                    }
                    //alert(i + ' de ' + num);
                }
                accept_joker = false;
            }
        tmp_validate = false;
        }

        //validate ticket as saved for syndicate
        ticketFilled = true;
        if(!joker && !syndicates) {
            if( list_a.value == '' ) {
                tickets_field.removeChild(list_a);
                if(stars == true) {tickets_field.removeChild(list_b);}
            } else {

                /* backup values */
                backup_numbers.value = list_a.value;
                tickets_field.innerHTML = tickets_field.innerHTML.replace('name="tick'+ ticket_num +'a" value=""', 'name="tick'+ ticket_num +'a" value="'+list_a.value+'"');

                if(stars == true) {
                    backup_stars.value = list_b.value;
                    tickets_field.innerHTML = tickets_field.innerHTML.replace('name="tick'+ ticket_num +'b" value=""', 'name="tick'+ ticket_num +'b" value="'+list_b.value+'"');
                }
            }
        } else if ( joker ) {

            backup_jokers.value = list_b.value;
            tickets_field.innerHTML = tickets_field.innerHTML.replace('name="joker_num_' + ticket_num + ' value=""', 'name="joker_num_'+ ticket_num +' value="'+list_b.value+'"');
        }

        /*display total*/
        if(!syndicates)
            getTotalPrice();

        validateTicket = false;

        /*save action tracker*/
        if(!syndicates && !joker) {
            var tracker =  document.getElementById('action_'+ ticket_num);
            if ( tracker )
                tracker.value = tracker.value + "," + "save";
        } else if ( joker )
            joker_submit = true;
    }
    /* C L E A R   L I S T */
    if ( (ticket_open && action != 7 && !joker) || at_joker ) {
        /* clear number list */
        if(list_a && list_a.value != '') {
            var clearNum = list_a.value;
            clearNum = clearNum.split(",");
            for (var g=0; g < clearNum.length; g++) {
                if( action == 2 || action == 3 || action == 5 || action == 6 ) { if(!syndicates) { document.getElementById('t'+ ticket +'-'+ clearNum[g]).className = 'lotto_leer'; } }
                document.getElementById('tick-'+ clearNum[g]).className = 'lotto_tippen_table';
            }
        }
        if(stars == true) {
            /* clear stars list */
            if(list_b && list_b.value != '') {
                var clearStars = list_b.value;
                clearStars = clearStars.split(",");
                for (var s=0; s < clearStars.length; s++) {
                    if(  action == 2 || action == 3 || action == 5 || action == 6 ) { if(!syndicates) { document.getElementById('s'+ ticket +'-'+ clearStars[s]).className = 'lotto_leer_mit'; }}
                    document.getElementById('star-'+ clearStars[s]).className = 'lotto_tippen_table_' + stars_type;
                }
            }
        }
        if (at_joker) {
            /* clear joker list */
            if(list_b && list_b.value != '') {
                var clearJokers = list_b.value;
                clearJokers = clearJokers.split(",");
                for (var s=0; s < clearJokers.length; s++) {
                    if(  action == 2 || action == 3 || action == 5 || action == 6 || action == 8 ) { if(!syndicates) { document.getElementById('t'+ ticket +'-' + clearJokers[s] + '-' + (s+1)).className = 'lotto_leer';}}
                }
            }
        }
    }

    /* H I D E   E L E M E N T S */
    if( !joker && action <= 2 && !syndicates ) {
        hideElem();
        draw.style.display = '';
        document.getElementById('HideTickets').style.display = 'none';
    }

    /*if cancel is pressed restore numbers and stars list
      copy values only if is not changing number list
    */
    if ( action == 2 ) {
        if( backup_numbers.value == '' ) {
            tickets_field.removeChild(list_a);
            if(stars == true) {    tickets_field.removeChild(list_b);    }
        } else {
            list_a.value = document.getElementById('saved_numbers').value;
            tickNumberList(ticket_num);
            if(stars == true) {
                list_b.value = document.getElementById('saved_stars').value;
                tickStarList(ticket_num);
            }
        }
        /*display draw selector to display correct on the page*/
        draw.style.display = '';

        /*save action tracker*/
        if(!syndicates) {
            var tracker =  document.getElementById('action_'+ ticket_num);
            if ( tracker )
                tracker.value = tracker.value + "," + "cancel";
        }
    }

    /*when clear is pressed delete all values*/
    if( action == 3 ) {
        if(!joker && list_a) {
            list_a.value = '';
            if(!syndicates)
                document.getElementById('number_list').innerHTML = '';
            else {
                document.getElementById('numbers_'+ ticket_num).innerHTML = '';
                document.getElementById('saved'+ticket_num+'a_'+ actualPgid).value = '';
            }
        }
        if(list_b) {
            if(stars == true || joker) {
                list_b.value = '';
                if(!syndicates && !joker)
                    document.getElementById('star_list').innerHTML = '';
                else {
                    if ( at_joker )
                        var star_num = 1;
                    else
                        var star_num = ticket_num;
                    document.getElementById('stars_'+ star_num).innerHTML = '';
                    if ( syndicates )
                        document.getElementById('saved'+ticket_num+'b_'+ actualPgid).value = '';
                }
            }
            validateTicket = false;
        }
        actual_random_tip = 0;
        /*save action tracker*/
        if(!random_pop && thisSection != 1 && !syndicates && !joker ){
            var tracker =  document.getElementById('action_'+ ticket_num);
            if ( tracker )
                tracker.value = tracker.value + "," + "clear";
        }
    }

    if ( action == 1 )
        aRandomTips[ticket_num] = actual_random_tip;

    //update system price
    if(thisSection == 1 || thisSection == 2) {
        if( list_a && list_a.value == "" && !random_num ) {
            //set variable total to 0
            eval("total_"+ ticket_num + " = 0");
            calc_system_price(0);
        }
    }

    if ( !tmp_validate )
        OpenTicket(action == 3);

    //its only for JOKERS
    if ( action == 8 ) {
        if ( backup_jokers.value == '' && document.getElementById('joker_fields').innerHTML != '' )
            document.getElementById('joker_fields').removeChild(list_b);
    else {
            list_b.value = backup_jokers.value;
            if ( at_joker )
                tickJokerList(ticket_num);
        }
        joker_box.style.display = 'none';
        joker_submit = true;
        joker = false;
        OpenTicket(false);

        /* clear the box */
        if ( at_joker )
            document.getElementById('stars_1').innerHTML = '';
    }
    lastCheckedNumber = '';
    lastCheckedStar = '';

    if ( (!syndicates && !joker) || action == 3 || action == 8 )
        return false;
    else
        return true;
}

/*==============================
    H I D E    E L E M E N T
==============================*/
function hideElem() {
    var ticket_num = document.getElementById('ticket_num').value;
    var this_ticket = document.getElementById('ticket'+ticket_num);
    var number_list = document.getElementById('number_list');
    var star_list = document.getElementById('star_list');

    this_ticket.id = 'ticket';
    this_ticket.style.display='none';
    number_list.innerHTML = '';
    if( stars == true ) { star_list.innerHTML = ''; }

}

/*==========================================
    R E M O V E   E L E M E N T S
  ==========================================*/
function replaceChars(myString,charToRemove,newchar) {

    regExp = new RegExp("["+charToRemove+"]","g");
    var newString = myString.replace(regExp,newchar);

    return newString;
}


/*=============================================
    O R D E R      N U M B E R S
  =============================================*/
function orderlist(list) {
    var ticket_num = document.getElementById('ticket_num').value;
    var list_a = document.getElementById(ticketElem+ ticket_num +'a');
    var list_b = document.getElementById(ticketElem+ ticket_num +'b');
    var temp;
    var a;
    var b;

    var orderlist = list.split(",");
    for( a=0; a < orderlist.length; a++ ) {

        for( b=0; b < orderlist.length; b++ ) {
            if( parseInt(orderlist[a]) < parseInt(orderlist[b]) ) {
                temp = orderlist[b];
                orderlist[b] = orderlist[a];
                orderlist[a] = temp;
            }
        }
    }
    temp = orderlist;
    return temp;
}

/*=============================================
    R A N D O M    F U N C T I O N
  =============================================*/
function GenerateRandomSet(numbersToDisplay, maxNumbers, minNumber) {
  /* Generate M non-repeating random numbers from 1 to N }*/

  if ( typeof(numbersToDisplay) == 'undefined' || numbersToDisplay < 1 ) return []
  var aSet = GenerateRandomSet(numbersToDisplay-1, maxNumbers, minNumber);
  // J is in 1..N
  var J = Math.floor(Math.random()*(maxNumbers-minNumber+1) + parseInt(minNumber) ) ;

  if(joker || at_joker) {
    if(aSet.length == 0 && J==0 )
        while(J == 0) {
            J = Math.floor(Math.random()*(maxNumbers-minNumber+1) + parseInt(minNumber));
        }
    aSet[aSet.length] = J;
  } else {
    while ( aSet[J] )
        J = Math.floor(Math.random()*(maxNumbers-minNumber+1) + parseInt(minNumber) );
    aSet[J] = J;
  }
  return aSet;
}

function getRandom(numbersToDisplay, maxNumbers, minNumber) {
    var Q, j, k=0, Ans=[];

    Q = GenerateRandomSet(numbersToDisplay, maxNumbers, minNumber);
    for ( j=0 ; j < Q.length ; j++ ) {
        if (Q[j] || Q[j] === 0 ) Ans[k++] = Q[j];
    }
   // if(Ans == '') Ans = 0;
    return Ans;
    /*
    X.value = Q ;
    Z.value = Ans;
   or  return Ans */
}

/*=====================================================
     R A N D O M    F O R   1   T I C K E T
  =====================================================*/
var random_num = false; //used for not reset price when random is clicked
var random_pop = false;
function randomNumbers() {
    var ticket_num, list_a, list_b, maxstars, lowerLuckNumber, num_numbers, maxnumbers, num_stars;
    if(!joker) {
        ticket_num = document.getElementById('ticket_num').value;
        list_a = document.getElementById(ticketElem+ ticket_num +'a');
        lowerLuckNumber = document.getElementById('lower_lucky_nr').value;
        //number of numeric values to display
        num_numbers = document.getElementById('nrpertip').value;
        //maximum number to display ex: 1-50
        maxnumbers = document.getElementById('nrcourt').value;

    } else {


        ticket_num = at_joker ? document.getElementById('ticket_num').value : document.getElementById('curr_joker').value;
        lowerLuckNumber = 0;
        maxnumbers = document.getElementById('joker_lucky_nr').value;
    }
    if(thisSection == 1 || thisSection == 2) { maxnumbers = getRadioBox(ticket_num, 0); random_num = true; }

    random_pop = true;

    if ( !out_joker )
        /*clear ticket*/
        closeTicket(3);

    if(!joker)
        OpenTicket(true);

    // N U M B E R S    L I S T
    var randomNumbers = getRandom(maxnumbers, num_numbers, 1);
    if(!joker) {
        list_a.value = randomNumbers;
        /*save last number checked*/
        var checknum = list_a.value.split(",");
        if( checknum.length >= maxnumbers ) { lastCheckedNumber = checknum[maxnumbers-1]; }

        /*fill numbers*/
        mark_num_ticket(ticket_num);
        if(!syndicates) { tickNumberList(ticket_num); }
    }

    if(stars == true || joker){
        if(!joker) {
            list_b = document.getElementById(ticketElem+ ticket_num +'b');
            num_stars = document.getElementById('upper_lucky_nr').value;
            //maximum stars to display ex: 1-9
            maxstars = document.getElementById('lucky_nr').value;
        } else {
            list_b = document.getElementById('joker_num_'+ ticket_num);
            num_stars = 9;
            maxstars = (hasDN || product_type == 'DE_LOTTO' )? 7 : 6;
        }

        // S T A R S   L I S T
        var randomStars = getRandom(maxstars, num_stars, lowerLuckNumber);
        list_b.value = randomStars;

        /*save last star checked*/
        var checkstar = (list_b.value).split(",");
        if( checkstar.length >= maxstars ) { lastCheckedStar = checkstar[maxstars-1]; }

        /*fill stars*/
        mark_star_ticket(ticket_num);
        if(!syndicates && !joker)
            tickStarList(ticket_num);
        else if ( at_joker )
            tickJokerList(ticket_num);
    }

    actual_random_tip = 1;
    /*save action tracker*/
    if(!syndicates && !joker) {
        var tracker =  document.getElementById('action_'+ ticket_num);
        if ( tracker )
            tracker.value = tracker.value + "," + "popup_random";
    } else if ( syndicates ) {
        document.getElementById('saved'+ticket_num+'a_'+actualPgid).value = list_a.value;
        if ( stars )
            document.getElementById('saved'+ticket_num+'b_'+actualPgid).value = list_b.value;
    }

    random_num = false;
    random_pop = false;
    return false;
}

/*=====================================================
    G E N E R A T E     R A N D O M    T I C K E T S
  =====================================================*/
var isclear = '';
function genRandomTickets(numTickets) {
    if ( loadedJS == false )
        return false;
    var joker_fields = document.getElementById('joker_fields');
    var tickets_fields = document.getElementById(t_fields);
    var ticket_num = document.getElementById('ticket_num');
    var last_ticket = document.getElementById('num_total_tickets');
    if ( at_joker ) {
        var num_stars = 9;
        var maxstars = 6;
        var lowerLuckNumber = 0;
    } else {
        var num_stars = document.getElementById('upper_lucky_nr').value;
        var maxstars = document.getElementById('lucky_nr').value;
        var lowerLuckNumber = document.getElementById('lower_lucky_nr').value;
    }
    var maxnumbers = document.getElementById('nrcourt').value;
    var num_numbers = document.getElementById('nrpertip').value;
    var currentImg = document.getElementById('count');
    var list_a;
    var list_b;
    var s;
    var randomNumbers = '';

    last_ticket.value = 0;

    tickets_changed=true;
    if(ticket_open) { return false; }

    if(thisSection == 1 || thisSection == 2) { maxnumbers = getRadioBox(ticket_num, 0); }

    /*check if the maximum of tickets has been filled*/
    if( parseInt(ticket_num.value) >= parseInt(maximum_tickets)) {  return false; }

    /*get tickets numbers to fill 1-12, skipp ticket if is filled and go to next*/
    function buildTickets(last_ticket, numTickets, countfields) {
        var startnum = parseInt(last_ticket)+1;
        var endnum = parseInt(last_ticket) + parseInt(numTickets);
        var lastnum = 0;
        var newlist;
        var maximum_tickets = document.getElementById('maximum_tickets').value;
        //get start number that is empty

        //get tickets to be filled
        for( var i=startnum; i <=endnum; i++ ) {
            if ( (at_joker && (!document.getElementById('joker_num_'+ i) || document.getElementById('joker_num_'+i).value == '')) ||
               (!at_joker && (!document.getElementById(ticketElem+ i + 'a') || document.getElementById(ticketElem+ i + 'a').value == '')) ) {
                if( i <= maximum_tickets ) {
                    randomNumbers = randomNumbers + i + ',';
                    lastnum = i;
                }
            } else
                endnum = endnum +1;
        }
        document.getElementById('ticket_page').innerHTML = parseInt(lastnum/12) + ((lastnum%12) == 0 ? 0 : 1);
        document.getElementById('num_total_tickets').value = lastnum;
        randomNumbers = Left(randomNumbers,(randomNumbers.length)-1);
        return randomNumbers;
    }

    randomNumbers = buildTickets(last_ticket.value,numTickets, true);
    ticket_list = randomNumbers;
    var nextImg = 0;

    /* SECOND STEP: Loop throught the number list and fill random numbers*/
    randomNumbers = ticket_list.split(",");
    for( var i=0 ; i < randomNumbers.length; i++ ) {
        list_a = document.getElementById(ticketElem+ randomNumbers[i] + 'a');
        if(stars==true){list_b = document.getElementById(ticketElem+ randomNumbers[i] + 'b');}

        //mark current ticket number
        ticket_num.value = randomNumbers[i];

        aRandomTips[ticket_num.value] = 1;

        //check if ticket exist if not create one
        if( !list_a ) { tickets_fields.innerHTML += "<input type='hidden' id='tick"+ randomNumbers[i] +"a' name='tick"+ randomNumbers[i] +"a' value=''>"; }
        if( stars == true && !list_b ) { tickets_fields.innerHTML += "<input type='hidden' id='tick"+ randomNumbers[i] +"b' name='tick"+ randomNumbers[i] +"b' value=''>"; }
        if( (at_joker || joker) && !list_b) { joker_fields.innerHTML += "<input type='hidden' id='joker_num_"+ randomNumbers[i] +"' name='joker_num_"+ randomNumbers[i] +"' value=''>"; }

        /*check if number list needs to be changed.
         Clear all values before and after the selection list*/
        for( s=1; s<=(maximum_tickets/12); s++ ) {
            if( randomNumbers[i] > ((12*s)-12) && randomNumbers[i] <=(12*s) ) {
                largebox(s-1);
                if( isclear != s ) { clearAllNumbers((currentImg.value/12)+1); isclear = s; }
                currentImg.value= ((12*s)-12);
                break;
            }
        }

        /*fill ticket numbers*/
        document.getElementById(ticketElem+ randomNumbers[i] + 'a').value = getRandom(maxnumbers, num_numbers, 1);

        if(stars==true){
            //fill stars numbers
            document.getElementById(ticketElem+ randomNumbers[i] + 'b').value = getRandom(maxstars, num_stars, lowerLuckNumber);
        }
        if ( at_joker || joker ) {
            //fill jokers
            document.getElementById('joker_num_' + randomNumbers[i]).value = getRandom(maxstars, num_numbers, lowerLuckNumber);
        }
    }

    //Load current list
    LoadMainList(isclear);

    //calculate price
    getTotalPrice();
    var random_list = document.tickets.random_list;
    random_list.value = random_list.value + ", ramdom_"+numTickets;

    return false;
}

/*===================================================
 D I S P L A Y    L A R G E B O X     N U M B E R S
===================================================*/
function largebox(num) {
    var boxes = num == 10 ? 6 : 12;
    for ( var i = 0; i < boxes; i++ )
        document.getElementById('ticketbox' + (i+1)).style.background = 'url(/images/v4/tableseiten_weiss/bg_lotto' + ((num*12)+i+1) + '.gif)';

    return false;
}


/*================================================
    D E L E T E    A L L    T I C K E T S
  ================================================*/
function deleteAll(onload) {
    var currentImg = document.getElementById('count');
    var tickets_fields = document.getElementById('tickets_fields');
    var ticket_num = document.getElementById('ticket_num');
    var system_fields = thisSection == 1 ? document.getElementById('system_fields') : document.getElementById('vew_fields');

    if(thisSection == 0) {
        //largebox('10');
        if(onload) { ticketElem = 'tick'; }
    } else if (thisSection == 1) {
        //largebox('0');
        clearSys(0,true);
        if(onload) { ticketElem = 'sys'; }
    } else {
        clearSys(0,true);
        if(onload) { ticketElem = 'vew'; }
    }

    for ( x = 1; x <= (maximum_tickets/12); x++ )
        clearAllNumbers(x);

    if(thisSection == 0) {
        if ( !onload ) { tickets_fields.innerHTML = ''; }
    } else if (thisSection == 1) {
        if ( !onload ) { system_fields.innerHTML = ''; }
    } else {
        if ( !onload ) { vew_fields.innerHTML = ''; }
    }

    currentImg.value = 0;
    ticket_num.value= '';

    getTotalPrice();
    validateTicket = false;
    OpenTicket(false);

    return false;

}

/*================================================
    R E S E T    M A I N    T I C K E T   L I S T
  ================================================*/
//List of numbers 1-maximum_tickets
function clearAllNumbers(list) {
    var rem_num;
    var rem_star;
    var this_ticket;
    var list_a, list_b;
    var ticket;

    if(list == '') {
        return false;
    }

    /*list formula*/
    var startlist = (12*list)-11;
    var endlist = 12*list;
    var sum = (12*list)-12;

    for( var i=startlist; i <= endlist; i++ ) {
        // set wich checkmark has to be displayed
        ticket = parseInt(i)-parseInt(sum);
        if ( at_joker )
            list_a = document.getElementById('joker_num_' + i);
        else
            list_a = document.getElementById(ticketElem+ i +"a");
        if(stars==true){
            list_b = document.getElementById(ticketElem+ i +"b");
        }

        //remove numbers from each ticket
        if( list_a ) {
            rem_num = (list_a.value).split(",");
            for( var n=0; n < rem_num.length; n++ ) {
                if( rem_num[n] != '' ) {
                    if ( at_joker )
                        document.getElementById("t"+ ticket +"-" + rem_num[n] + '-' + (n+1)).className = 'lotto_leer';
                    else {
                        document.getElementById("t"+ ticket +"-"+ rem_num[n]).className = 'lotto_leer';
                        document.getElementById('tick-'+ rem_num[n]).className = 'lotto_tippen_table';
                    }
                }
            }
        }
        if(stars==true){
            //remove stars from each ticket
            if( list_b ) {
                rem_star = (list_b.value).split(",");
                for( var s=0; s < rem_star.length; s++ ) {
                    if( rem_star[s] != '' ) {
                        document.getElementById("s"+ ticket +"-"+ rem_star[s]).className = 'lotto_leer_mit';
                        document.getElementById('star-'+ rem_star[s]).className = 'lotto_tippen_table_' + stars_type;
                    }
                }
            }
        }
    }

    return false;
}

/*==================================
    R E S E T   1   T I C K E T
  ==================================*/
function clearMarks(ticket) {
    var rem_num;
    var rem_star;
    var this_ticket;

    var list_a = document.getElementById(ticketElem+ ticket +"a");
    var list_b = document.getElementById(ticketElem+ ticket +"b");

    //remove checkmarks numbers from ticket
    if( list_a ) {
        rem_num = (list_a.value).split(",");
        for( var n=0; n < rem_num.length; n++ ) {
            if( rem_num[n] != '' ) {
                document.getElementById('tick-'+ rem_num[n]).className = 'lotto_tippen_table';
            }
        }
    }
    if(stars==true){
        //remove checkmarks stars from ticket
        if( list_b ) {
            rem_star = (list_b.value).split(",");
            for( var s=0; s < rem_star.length; s++ ) {
                if( rem_star[s] != '' ) {
                    document.getElementById('star-'+ rem_star[s]).className = 'lotto_tippen_table_' + stars_type;
                }
            }
        }
    }

    return false;
}

/*=============================================
    L O A D    M E S S A G E
 =============================================*/
var cursor =
     document.layers ? document.cursor :
     document.all ? document.all.cursor :
     document.getElementById ? document.getElementById('cursor') : null;
function cursor_wait() {
  cursor = 'wait';
}

function cursor_clear() {
  cursor = 'default';
}


/*=============================================
    N E X T    T I C K E T    B U T T O N
  =============================================*/
function gotonext(action) {
    var ticket_num = document.getElementById('ticket_num').value;
    var currentImg = document.getElementById('count');
    var alert_maxtickets = document.getElementById('alert_maxtickets').value;
    var ticket_name = document.getElementById('txt_tickets').value;
    var ticket_page = document.getElementById('ticket_page');
    var nextTicket;
    if ( at_joker )
        var list_a = document.getElementById('joker_num_' + ticket_num);
    else
        var list_a = document.getElementById(ticketElem+ ticket_num +'a');
    var list_b = document.getElementById(ticketElem+ ticket_num +'b');
    var maxnumbers = document.getElementById('nrcourt').value;
    var maxstars = document.getElementById('lucky_nr').value;
    var alert_check_num = document.getElementById('alert_check_num').value;
    var alert_check_num_1 = document.getElementById('alert_check_num_1').value;
    var alert_check_star = document.getElementById('alert_check_star').value;
    var alert_check_star_1 = document.getElementById('alert_check_star_1').value;

    cursor_wait();

    if(ticket_open && action < 2 )
        return false;
    if(thisSection == 1 || thisSection == 2)
        maxnumbers = getRadioBox(ticket_num, 0);
/*
    action = 0  -> Back button main list
    action = 1  -> Next button main list
    action = 2  -> Next button ticket
    action = 3  -> Back button ticket

    when back button is clicked from main window */
    if( action == 0 )
        nextTicket = parseInt(currentImg.value) - 11;

    /* when next button is click from main window */
    else if( action == 1 )
        nextTicket = parseInt(currentImg.value) + 13;

    /* when next is clicked from ticket popup */
    else if( action == 2 ) {
        /*check if numbers are filled*/
        var checkNumbers = (list_a.value).split(",");
        var totalNumbers = checkNumbers.length;
        if( list_a.value == '' )
            totalNumbers = 0;

        if( totalNumbers < maxnumbers ) {
            if( (maxnumbers-totalNumbers) == 1 )
                alert(alert_check_num_1.replace('$num$',(maxnumbers - totalNumbers)));
            else
                alert(alert_check_num.replace('$num$',(maxnumbers - totalNumbers)));
            return false;
        }

        if(stars == true) {
            /*check if stars are filled*/
            var checkStars = list_b.value;
            checkStars = checkStars.split(",");
            var totalStars = checkStars.length;
            if( list_b.value == '' ) {
                totalStars = 0;
            }

            if( totalStars < maxstars ) {
                alert(alert_check_star.replace('$num$',(maxstars - totalStars)));
                return false;
            }
        }

        if ( at_joker )
            getJoker(0,0);
        else
            closeTicket(1);
        nextTicket = parseInt(ticket_num) + 1;
    }
    /* when back is clicked from ticket popup */
    else if( action == 3 ) {
        nextTicket = parseInt(ticket_num) - 1;
        if ( at_joker )
            getJoker(0,0);
        else {
            if (!closeTicket(1))
                return false;
        }
    }

    /*set next ticket as current ticket*/
    if( action >= 2 ) { document.getElementById('ticket_num').value = nextTicket; }

    /*change the largebox image and load list*/
    for( var c=1; c <=(maximum_tickets/12); c++ ) {
        if( nextTicket == ((12*c)-11) || nextTicket == (12*c) ) {
            largebox(c-1);
            clearAllNumbers((currentImg.value/12)+1);
            currentImg.value = ((12*c)-12);
            LoadMainList(c);
            break;
        }
    }
    /* when next picture is lower than 0 */
    if( nextTicket < 1 ) { return false; }

    /* when next picture greater than maximum_tickets */
    if( nextTicket > maximum_tickets ) { alert(alert_maxtickets); return false; }

    ticket_page.innerHTML = Math.ceil(nextTicket/12);

    /*display ticket*/
    if( action >= 2 ) {
        t = nextTicket % 12;
        if ( at_joker ) {
            getJoker(1,(t == 0 ? 12 : t));
        } else
            getTicket(t == 0 ? 12 : t);
    }

    cursor_clear();
    return false;
}

/*==========================================
    D I S P L A Y    T O P     N U M B E R
  ==========================================*/
function buildTopNumbers(section) {
    var top_numbers = document.getElementById('top_numbers');

    if(section == 0) {
        top_numbers.innerHTML = '';
        top_numbers.innerHTML = '';
    }
}

/*==========================================
    S U B M I T    F O R M
  ==========================================*/
function payment(back) {
    /* NEED TO CHECK IF A DRAW IS SETTED FOR GERMAN LOTTERY */
    if( product_type == 'DE_LOTTO' && !(document.getElementsByName('draw_date_chosen')[0].checked || document.getElementsByName('draw_date_chosen')[1].checked || document.getElementsByName('draw_date_chosen')[2].checked))
    {
        alert(choose_draw_text);
        return false;
    }
    
    var normaltickets = document.getElementById('tickets_fields');
    var systemtickets = thisSection == 1 ? document.getElementById('system_fields') : document.getElementById('vew_fields');
    var jokertickets = document.getElementById('joker_fields');
    var alert_Submit = document.getElementById('alert_Submit').value;

    if(thisSection == 0) {
        if( at_joker ) {
            if ( jokertickets.innerHTML == '' ) {
                alert(alert_Submit);
                return false;
            }
        } else {
            if( normaltickets.innerHTML == '' ) {
                alert(alert_Submit);
                return false;
            }
        }
        var total_random_tips = 0;
        for ( var i = 1; i <= maximum_tickets; i++ )
            total_random_tips += aRandomTips[i];
        document.tickets.total_random.value = total_random_tips;
    } else {
        if( systemtickets.innerHTML == '' ) {
            alert(alert_Submit);
            return false;
        }
    }

    if(!joker_submit && !at_joker && document.getElementById('joker_fields').innerHTML == '' ) {
        joker = true;
        document.getElementById('joker_fields').innerHTML += "<input type='hidden' id='joker_num_1' name='joker_num_1' value=''>";
        randomNumbers();
        document.tickets.submit();
        /** /
        getJoker(1);
        return false;/**/
    }

    document.tickets.unload.value='false';

    if( !ticket_open ) {
        if ( back )
            document.tickets.out.value = 'comfort.php/id/'+thisID;

        if(affiliates)
            popupCenter('950','850',true,"about:blank");
        document.tickets.submit();
    }

    return false;
}


/***************************************
 * PV: fixing the bug with star numbers
 * sets the additional value for the division in "getTotalPrice()"
 */
var StarAdjustment = 0;
function setStarAdjustment(_StarAdjustment)
{

    StarAdjustment = _StarAdjustment;
}

/* =====================================
    G E T   T O T A L   P R I C E
=======================================*/
function getTotalPrice(onload) {
    var ticket_price = document.getElementById('price').value;
    var ticket_num = document.getElementById('ticket_num').value;
    var draw = document.tickets.draw.options[document.tickets.draw.selectedIndex].value;



    if ( at_joker )
    {
        var tickets = document.getElementById('joker_fields');
    }
    else
    {
        var tickets = document.getElementById(t_fields);
    }
    
    var total = document.getElementById('total');
    var tooltip_draw = document.getElementById('tooltip_draw');
    var joker_price = document.getElementById('joker_price').value;

    /**
    * case german lotto you have to check which jokers are selected and make the price like this
    */
    if(product_type == 'DE_LOTTO')
    {
        de_super6_price = Number((document.getElementById('de_super6_yes').checked ? document.getElementById('de_super6_price').value : 0.00));
        de_spiel77_price = Number((document.getElementById('de_spiel77_yes').checked ? document.getElementById('de_spiel77_price').value : 0.00));
        
        joker_price = de_super6_price + de_spiel77_price;
    }

    if ( document.tickets.joker_yes )
        var joker = document.tickets.joker_yes.checked;
    else
        var joker = false;
    var num_jokers = document.getElementById('num_jokers').value;
    //save last draw
    tooltip(0);


    if(thisSection == 0) {

        /*get total of tickets*/
        var ticketFields = (tickets.innerHTML).split("<");
        var total_tickets = (ticketFields.length - 1)/ (1 + StarAdjustment);

        /*calculate number of tickets X subscription*/
        var total_price = total_tickets * ticket_price * draw;

        //check if the ticket has joker and sum the price
        if(!at_joker && joker && document.getElementById('tickets_fields').innerHTML != '') {
            var temp_price = total_price;
            //check if the joker is filled and multiply by the joker_price
            for(var i=1; i<=num_jokers; i++) {
                if ( eval("document.tickets.joker_num_" + i) ) {
                    eval("var joker_field = document.tickets.joker_num_"+i+".value");
                    if(joker_field != '')
                    {
                        total_price += joker_price * (product_type == 'DE_LOTTO' ? draw : GetATJokerDraws(draw));
                    }
                }
            }
            // if joker is checked but no number was selected, I have to charge 1 joker
            if ( total_price && temp_price == total_price )
            {
                total_price += joker_price * (product_type == 'DE_LOTTO' ? draw : GetATJokerDraws(draw));
            }
        }
        /* CASE GERMAN LOTTERY NEED TO CHECK IF HE CHOSE TO PLAY ON MORE THAN ONE DAY */
        if( product_type == 'DE_LOTTO')
        {
            total_price = (document.getElementsByName('draw_date_chosen')[0].checked ? total_price*2 : total_price );
        }
        total.innerHTML = FormatNumber(total_price);

    } else {
        if(onload)
        {
            calc_system_price(0);
        }
        else
        {
            calc_system_price(getRadioBox(ticket_num, 0));
        }
    }

    return false;
}

/* =====================================
    T O O L T I P
=======================================*/
var IsHideable;
function tooltip(action) {
    var tooltip = document.getElementById('tooltip');
    var draw = document.tickets.draw.options[document.tickets.draw.selectedIndex].value;
    var tooltip_draw = document.getElementById('tooltip_draw');
    var repl_string;
    //status=action;
/*
    action 0 -> change hidden field draw value
    action 1 -> display tooltip
    action 2 -> hide tooltip
*/
    if(draw < 10) {
        repl_string = Right(draw,1);
    } else {
        repl_string = draw;
    }

    if(action == 0) {
        tooltip.innerHTML = tooltip.innerHTML.replace(tooltip_draw.value, repl_string);
        tooltip_draw.value = repl_string;
    }
    if(action == 1) {
        tooltip.className = 'tooltip';
        window.clearTimeout(IsHideable);
    }
    if(action == 2) {
        IsHideable = window.setTimeout("tooltip(3);",500);
    }
    if ( action == 3 ) {
        tooltip.style.display='none';
    }
    return false;
}

/*================================================
    L O A D    M A I N    T I C K E T   L I S T
  ================================================*/
function LoadMainList(list) {
    var numclear;
    var ticket_num = document.getElementById('ticket_num');

    /*list range formula*/
     var startlist = thisSection == 0 ? (12*list)-11 : 1;
     var endlist = thisSection == 0 ? (12*list) : 6;

    for( var i=startlist; i <= endlist; i++ ) {
        if ( at_joker )
            tickJokerList(i);
        else
            tickNumberList(i);
        if( stars==true ){ tickStarList(i); }
    }
    return false;
}


/*===========================================================
    C H E C K   I F    C H E C K B O X   I S    C H E C K E D
  ===========================================================*/
function isChecked(strField){
    if (!strField.length)
       return strField.checked; // not a group
    for(var i = 0; i < strField.length; i++){
        if(strField[i].checked)
            return true; // yes one was ticked
     }
     return false;
}



/*=======================================================
    G E T   L E F T    A N D    R I G H T
  =======================================================*/
function Left(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

/*=================================
     E U R O   F O R M A T
 ==================================*/
function FormatNumber(number) {
    return _CurrencyConverter(number, currency_iso, currency_iso, true);
}

/*=================================
     R E M O V E   J O K E R
 ==================================*/
function removeJoker(num) {
    var num_jokers = document.getElementById('num_jokers').value;

    if ( num_jokers > 1 ) {
        //if it's the last joker, just remove it
        if ( num < num_jokers ) {
            for ( var i = num + 1; i <= num_jokers; i++ ) {
                document.getElementById('joker_num_' + (i-1)).value = document.getElementById('joker_num_' + i).value;
                document.getElementById('stars_'+ (i-1)).innerHTML = document.getElementById('stars_' + i).innerHTML;
            }
        }
        return selectJoker(0);
    } else
        closeTicket(3);

    return false;
}
/*=====================================
     L O A D   O U T   J O K E R
 =====================================*/
function LoadOutJoker() {
    if ( typeof at_joker == "undefined" )
    {
      at_joker = false;
    }
    hasDN = document.getElementById('hasDN').value;

    if ( hasJoker || hasDN ) {
        if ( document.getElementById('joker_fields').innerHTML == '' ) {
            document.getElementById('joker_fields').innerHTML += "<input type='hidden' id='joker_num_1' name='joker_num_1' value=''>";
            var tmp_joker = joker;
            joker = true;
            out_joker = true;
            randomNumbers();
            out_joker = false;
            joker = tmp_joker;
        }
        if( product_type == 'DE_LOTTO' && preset_joker_number != undefined )
        {
            document.getElementById('joker_num_1').value = preset_joker_number;
            preset_joker_number = undefined;
        }
        var values = document.getElementById('joker_num_1').value.replace(/,/g,"");

        /*.split(',');*/
        maxstars = (hasDN || product_type=='DE_LOTTO') ? 7 : 6;
        
        for ( var i = 0; i < maxstars; i++ )
            document.getElementById('out_joker_' + i).innerHTML = values [i];
    }
}

/*===================================
        SETTING THE GERMAN JOKERS
=====================================*/
function setDEJoker(checked,lotterie)
{
    /* check if any joker is set to yes*/
    if(document.getElementById('de_super6_yes').checked || document.getElementById('de_spiel77_yes').checked)
    {
        document.tickets.joker_yes.click();
    }
    else
    {
        document.tickets.joker_no.click();
    }
}

function showHideTickets()
{
    if( typeof(in_comfort) == "undefined" )
    {
        
    }
    else
    {
    var position_x = getX(document.getElementById('largebox'));
    var position_y = getY(document.getElementById('largebox'));
    var needed_height = document.getElementById("major_table").offsetHeight;

    document.getElementById('HideTickets').style.top = position_y+"px";
    document.getElementById('HideTickets').style.left = position_x-3+"px";
    document.getElementById('HideTickets').style.height = (needed_height-15)+"px";
    document.getElementById('HideTickets').style.display = "";
    }
}

function getY( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
    iReturnValue += oElement.offsetTop;
    oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

function getX( oElement )
{
    var iReturnValue = 0;
    while( oElement != null ) {
    iReturnValue += oElement.offsetLeft;
    oElement = oElement.offsetParent;
    }
    return iReturnValue;
}