$(document).ready(function() {

    $("#order_data")[0].reset();

    GetHardware($("input[name=type_customer]:checked").val(),'','','');

    $.post(
        '/functions/frontend/bestil/session.php',
        {},
        function(data)
        {

            if(data.phonenumber != undefined)
            {
                
                
                GetHardware($("input[name=type_customer]:checked").val(),data.subscription,data.type_number,data.hardware);
                $.each(data,function(i,items)
                {
                    if($("[name="+ i +"]").attr('type') == 'radio')
                    {
                            

                            ElementToCheck = $("input[name="+ i +"]");
                            $.each(ElementToCheck,function(z,element)
                            {
                                if($(element).val() == items)
                                {
                                    $(element).attr("checked","checked");
                                }
                            });

                            if(i == "type_customer")
                            {
                                TypeOfCustomerShow();
                            }
                            
                            if(i == "subscription")
                            {
                                
                            }

                            

                    }
                    else if($("[name="+ i +"]").attr('type') == 'select-one')
                    {
                        $("select[name="+ i +"] option[value="+ items +"]").attr("selected", true);
                    }
                    else if($("[name="+ i +"]").attr('type') == 'checkbox')
                    {
                        $("[name="+ i +"]").attr('checked', true);
                    }
                    else
                    {
                        $("[name="+ i +"]").val(items);

                        
                    }
                });

                TypeOfNumberToShow();
                var table = $('#new_numbers_table tbody');
                table.append($('<tr>'));
                $('#new_numbers_table tr:last').append('<td >' + data.phonenumber + '</td>').addClass('selected_phonenumber');

                if($("input[name=type_customer]:radio:checked").val() == 1)
                {
                    TypeOfPrivatePaymentShow();
                }
                else
                {
                    TypeOfBusinessPaymentShow();
                }
                
                //TypeOfSubscription();
                show_hardware();

            }
            else
            {
                GetPhoneNumbers("");
            }

        },
        'json'

        
    );

    $("#reloadNumbers").click(function()
    {
        GetPhoneNumbers("");
    });

    $(".tooltip_link").qtip({
        position: {
            corner: {
                target: 'rightMiddle',
                tooltip: 'leftTop'
            }
        },
        style: {
              color: 'black',
              border: {
                 width: 1,
                 color: '#B7080D'
              },
            tip: 'leftTop'
        },
        show: 'mouseover',
        hide: 'mouseout'
    });

    //find ud af om der er valgt nyt eller flyt nummer
    $("input[name=type_number]").click(function(){
        
        TypeOfNumberToShow();

        if($("input[name=subscription]").is(":checked") == true)
        {
            show_hardware();
            GetHardware($("input[name=type_customer]:checked").val(),$("input[name=subscription]:checked").val(),$("input[name=type_number]:checked").val(),$("input[name=hardware]:checked").val());
        }
        
    });

    $("#product_help_link").click(function()
    {
        $('#chose_product_help').toggle(200);
        return false;
    });

    //find ud af om der er valgt privat eller erhverv
    $("input[name=type_customer]").click(function(){

        TypeOfCustomerShow();
        GetHardware($("input[name=type_customer]:checked").val(),$("input[name=subscription]:checked").val(),$("input[name=type_number]:checked").val(),$("input[name=hardware]:checked").val());

    });

    $("input[name=private_type_payment]").click(function(){

        TypeOfPrivatePaymentShow();

    });

    $("input[name=business_type_payment]").click(function(){

        TypeOfBusinessPaymentShow();

    });



    //find ud af om der er valgt privat eller erhverv
    $("input[name=type_hardware]").click(function(){

        if($("input[name=type_hardware]:radio:checked").val() == 1)
        {
            $("#hardware_wrapper").show();
            
        }
        else
        {
            $("#hardware_wrapper").hide();
            
        }


        //show_hardware();

    });

    $("input[name=subscription]").click(function(){

        TypeOfSubscription();

        if($("input[name=type_number]").is(":checked") == true)
        {
            
            GetHardware($("input[name=type_customer]:checked").val(),$("input[name=subscription]:checked").val(),$("input[name=type_number]:checked").val(),$("input[name=hardware]:checked").val());
            show_hardware();
        }

    });

    $("#order_data").submit(function(){

        //find ud af om kunden har valgt nyt eller flyt nummer
        //nyt nummer
        if($("input[name=type_number]:radio:checked").val() == 1)
        {
            
            if($('#phonenumber').val().length != 8)
            {
                alert('Du har ikke valgt et nummer!');
                $('#new_numbers_table').effect('highlight','',1000);
                return false;
            }
            
        }
        //flyt nummer
        else if($("input[name=type_number]:radio:checked").val() == 2)
        {
            if(isNaN($("input[name=number]").val()) || ($("input[name=number]").val().length < 8))
            {
                alert("Du skal angive et gyldigt telefonnummer på 8 cifre!");
                $("input[name=number]").effect('highlight','',1000);

                $("input[name=number]").focus();
                return false;
            }
        }
        else
        {
            alert('Du har ikke valgt om du vil have et nyt nummer eller vil flytte et');
            $('#type_number_wrapper').effect('highlight','',1000);
            return false;
        }

        //find ud af om kunden har valgt et abonnement
        if(!$("input[name=subscription]:radio").is(':checked'))
        {
            alert('Du har ikke valgt et abonnement!');
            $('#products_wrapper').effect('highlight','',1000);
            return false;
        }

        //find ud af om der er valgt en kunde type
        if($("input[name=type_customer]:radio").is(':checked'))
        {
            if($("input[name=type_customer]:radio:checked").val() == 1)
            {
                if($("input[name=private_type_payment]:radio").is(':checked'))
                {
                    if($("input[name=private_type_payment]:radio:checked").val() == 1)
                    {
                        //hvis ikke der er valgt en kort type
                        if(!$("input[name=private_type_card]:radio").is(':checked'))
                        {
                            alert("Du har ikke valgt et betalingskort!");
                            $("input[name=private_type_card]").focus();
                            return false;
                        }

                    }
                }
                else
                {
                    alert("Du har ikke valgt en betalingstype!");
                    $("input[name=private_type_payment]").focus();
                    return false;
                }
            }
            else if($("input[name=type_customer]:radio:checked").val() == 2)
            {
                if($("input[name=business_type_payment]:radio").is(':checked'))
                {
                    if($("input[name=business_type_payment]:radio:checked").val() == 1)
                    {
                        //hvis ikke der er valgt en kort type
                        if(!$("input[name=business_type_card]:radio").is(':checked'))
                        {
                            alert("Du har ikke valgt et betalingskort!");
                            $("input[name=business_type_card]").focus();
                            return false;
                        }

                    }
                }
                else
                {
                    alert("Du har ikke valgt en betalingstype!");
                    $("input[name=business_type_payment]").focus();
                    return false;
                }
            }

            //kundetype specifikke checks
            //hvis kunden er privat
            if($("input[name=type_customer]:radio:checked").val() == 1)
            {

            }
            //hvis kunden er erhverv
            else if($("input[name=type_customer]:radio:checked").val() == 2)
            {
                if($("input[name=companyname]").val().length < 2)
                {
                    alert("Du mangler at angive virksomhedsnavnet!");
                    $("input[name=companyname]").focus();
                    return false;
                }

                if(isNaN($("input[name=CVR]").val()) || $("input[name=CVR]").val().length != 8)
                {
                    alert("Du mangler at angive CVR-nummeret til virksomheden!\nAngives uden mellemrum.");
                    $("input[name=CVR]").focus();
                    return false;
                }
            }
            else
            {
                //der er noget galt
                return false;
            }

            if($("input[name=firstname]:enabled").val().length < 2)
            {
                alert("Du mangler at angive dit fornavn(e)!");
                $("input[name=firstname]:enabled").focus();
                return false;
            }

            if($("input[name=lastname]:enabled").val().length < 2)
            {
                alert("Du mangler at angive dit efternavn!");
                $("input[name=lastname]:enabled").focus();
                return false;
            }

            if($("input[name=street]:enabled").val().length < 2)
            {
                alert("Du mangler at angive vejnavnet!");
                $("input[name=street]:enabled").focus();
                return false;
            }

            if($("input[name=housenumber]:enabled").val().length < 1)
            {
                alert("Du mangler at angive husnummeret!");
                $("input[name=housenumber]:enabled").focus();
                return false;
            }

            if(isNaN($("input[name=zipcode]:enabled").val()) || $("input[name=zipcode]:enabled").val().length != 4)
            {
                alert("Du mangler at angive postnummeret!");
                $("input[name=zipcode]:enabled").focus();
                return false;
            }

            if($("input[name=cityname]:enabled").val().length < 2)
            {
                alert("Du mangler at angive bynavnet!");
                $("input[name=cityname]:enabled").focus();
                return false;
            }

            if($("input[name=cellphone]:enabled").val().length > 0)
            {
                if(isNaN($("input[name=cellphone]:enabled").val()) || $("input[name=cellphone]:enabled").val().length != 8)
                {
                    alert("Du skal angive et gyldigt mobilnummer på 8 cifre!");
                    $("input[name=cellphone]:enabled").focus();
                    return false;
                }
            }

            var emailaddress = $("input[name=emailaddress]:enabled").val();

            if ((emailaddress == "")|| (emailaddress.indexOf ('@') == -1) || (emailaddress.indexOf ('.') == -1))
            {
                    alert("Du skal indtaste en gyldig email-adresse!");
                    $("input[name=emailaddress]:enabled").focus();
                    return false;
            }
            else if (emailaddress != $("input[name=emailaddressRep]:enabled").val())
            {
                    alert("Din bekræftelse af din email-adresse er ikke korrekt!");
                    $("input[name=emailaddressRep]:enabled").focus();
                    return false;
            }
        }
        else
        {
            alert('Du har ikke valgt kunde type');
            $('#type_customer_wrapper').effect('highlight','',1000);
            return false;
        }

        if($("input[name=subscription]:radio:checked").val() == 104)
        {

        }
        else
        {

            //hvis der er valgt ja til hardware skal man vælge en
            if($("input[name=type_hardware]:radio:checked").val() != undefined)
            {
                if($("input[name=type_hardware]:radio:checked").val() == 1)
                {

                        if(!$("input[name=hardware]:radio").is(":checked"))
                        {
                            alert('Du har ikke valgt hardware!');
                            $('#hardware_choice').effect('highlight','',1000);
                            return false;
                        }



                }

            }
            else
            {
                alert('Du har ikke valgt hardware!');
                $("#hardware_yes_no_wrapper").effect('highlight','',1000);
                return false;
            }
        }

        //kunden skal accepter betingelserne
        if(!$("input[name=accept_conditions]:checkbox").is(":checked"))
        {
            alert('Du skal acceptere Viptels abonnementsvilkår og handelsbetingelser\nfør du kan fortsætte din bestilling.');
            $('#accept_conditions_wrapper').effect('highlight','',1000);
            return false;
        }

        //alert('validering ok');
        //der er fejl i formen
        return true;
    });
    

});

function TypeOfSubscription()
{

/*
        if($("input[name=type_number]").is(":checked") == true)
        {
            //GetHardware($("input[name=subscription]:checked").val(),$("input[name=type_number]:checked").val(),0);
        }
*/
/*
    if($("input[name=subscription]:radio:checked").val() == 104)
    {
        $("#hardware_talknetwork").show();
        $("#hardware_notalknetwork").hide();

        $("#type_hardware_yes").click();

        $("#type_hardware_no").attr("disabled", "disabled");
    }
    else
    {
        $("#hardware_talknetwork").hide();
        $("#hardware_notalknetwork").show();

        $("#type_hardware_yes").removeAttr("disabled");
        $("#type_hardware_no").removeAttr("disabled");
    }
*/
    show_hardware();
}

function TypeOfPrivatePaymentShow()
{
    if($("input[name=private_type_payment]:radio:checked").val() == 1)
    {
        if($("input[name=type_customer]:radio:checked").val() == 1)
        {
            //privat
            $("#cardchoise_privat").show(200);
            $("#cardchoise_business").hide(200);
        }
        else if($("input[name=type_customer]:radio:checked").val() == 2)
        {
            //erhverv
            $("#cardchoise_business").show(200);
            $("#cardchoise_privat").hide(200);

        }
    }
    else
    {
        if($("input[name=type_customer]:radio:checked").val() == 1)
        {
            //privat
            $("#cardchoise_privat").hide(200);
            $("#cardchoise_business").hide(200);
        }
        else if($("input[name=type_customer]:radio:checked").val() == 2)
        {
            //erhverv
            $("#cardchoise_privat").hide(200);
            $("#cardchoise_business").hide(200);

        }
    }
}

function TypeOfBusinessPaymentShow()
{
    if($("input[name=business_type_payment]:radio:checked").val() == 1)
    {
        if($("input[name=type_customer]:radio:checked").val() == 1)
        {
            //privat
            $("#cardchoise_privat").show(200);
            $("#cardchoise_business").hide(200);
        }
        else if($("input[name=type_customer]:radio:checked").val() == 2)
        {
            //erhverv
            $("#cardchoise_business").show(200);
            $("#cardchoise_privat").hide(200);

        }
    }
    else
    {
        if($("input[name=type_customer]:radio:checked").val() == 1)
        {
            //privat
            $("#cardchoise_privat").hide(200);
            $("#cardchoise_business").hide(200);
        }
        else if($("input[name=type_customer]:radio:checked").val() == 2)
        {
            //erhverv
            $("#cardchoise_privat").hide(200);
            $("#cardchoise_business").hide(200);

        }
    }
}

function TypeOfCustomerShow()
{
    if($("input[name=type_customer]:radio:checked").val() == 1)
    {

        $("#erhverv_priser").hide();
        $("#PrivatePrices").show();
          $("#sparINC").show();
          $("#sparEX").hide();

        //vi skal fÃ¸rst hide hvis der skulle vÃ¦re valgt kortbetaling
        $("#business_payment").hide(200);
        $("#private_payment").show(200);

        $('#business_info').hide(200, function(){
            $('#private_info').show(200);
        });

        ElementsToEnable = $("#private_info :input");

        $.each(ElementsToEnable,function(i,items){
            $(items).removeAttr("disabled");
        });

        ElementsToDisable = $("#business_info :input");

        $.each(ElementsToDisable,function(i,items){
            $(items).attr("disabled", "disabled");
        });
    }
    else if ($("input[name=type_customer]:radio:checked").val() == 2)
    {
        $("#erhverv_priser").show();
        $("#PrivatePrices").hide();
        $("#sparEX").show();
          $("#sparINC").hide();
        
        $("#private_payment").hide(200);
        $("#business_payment").show(200);

        $('#private_info').hide(200, function(){
            $('#business_info').show(200);
        });

        ElementsToEnable = $("#business_info :input");

        $.each(ElementsToEnable,function(i,items){
            $(items).removeAttr("disabled");
        });

        ElementsToDisable = $("#private_info :input");

        $.each(ElementsToDisable,function(i,items){
            $(items).attr("disabled", "disabled");
        });
    }
}

function TypeOfNumberToShow()
{
    var ElementsToDisable;
    var ElementsToEnable;

    if($("input[name=type_number]:radio:checked").val() == 1)
    {
        $('#move_number').hide(200, function(){
            $('#new_number').show(200);
        });

        ElementsToEnable = $("#new_number :input");

        $.each(ElementsToEnable,function(i,items){
            $(items).removeAttr("disabled");
        });

        ElementsToDisable = $("#move_number :input");

        $.each(ElementsToDisable,function(i,items){
            $(items).attr("disabled", "disabled");
        });

    }
    else if ($("input[name=type_number]:radio:checked").val() == 2)
    {
        $('#new_number').hide(200, function(){
            $('#move_number').show(200);
        });

        ElementsToEnable = $("#move_number :input");

        $.each(ElementsToEnable,function(i,items){
            $(items).removeAttr("disabled");
        });

        ElementsToDisable = $("#new_number :input");

        $.each(ElementsToDisable,function(i,items){
            $(items).attr("disabled", "disabled");
        });
    }
    
}

function GetHardware(custType,Product,NumberType,Selected)
{
    

/*    $("#hardware_body").load(
    '/functions/frontend/bestil/offers.php',
    {"Product" : Product,
     "NumberType": NumberType}
    );*/

    $.get(
    '/functions/frontend/bestil/offers.php',
    {"custType":custType,
        "Product" : Product,
     "NumberType": NumberType,
     "Selected": Selected},
     function(data){
         $('#hardware_body').empty();
         $('#hardware_body').append(data);
     }
    );



/*
    $.getJSON(
    '/functions/frontend/bestil/offers.php',
    {"Product" : Product,
     "NumberType": NumberType},
        function(data){
            $.each(data,function(i,items){
                if(items.OfferID == Selected)
                {
                    //$('#hardware_body').append('<div class="hardware_device"><div class="hardware_device_head"><div class="hardware_device_radio_wrap" style="float: left"><input type="radio" name="hardware" value="' + items.OfferID + '" checked="checked"/></div><div class="hardware_device_name" style="float: left">' + items.Name + '</div><div class="hardware_device_price" style="float: right">DKK ' + items.ItemFee + ',-</div></div><div class="hardware_device_body" style="clear:both"><div class="hardware_device_body_left"></div><div class="hardware_device_body_right">' + items.OfferText + '</div></div></div>');


                    $('#hardware_body').append('<div class="hardware_device"><div class="hardware_device_head"><div class="hardware_device_radio_wrap"><input type="radio" name="hardware" value="' + items.OfferID + '" checked="checked"/></div></div><div class="hardware_device_body"><div class="hardware_device_body_left"><img src="http://dummyimage.com/70" /></div><div class="hardware_device_body_right"><div class="hardware_device_name"><b>' + items.Name + '</b></div><div class="hardware_device_price">Normalpris: DKK ' + items.ItemFee + ',-</div><div><a class="tooltip_link" title="' + items.OfferText + '">Læs mere om produktet</a></div></div></div></div>');
                    
                }
                else
                {
                    //$('#hardware_body').append('<div class="hardware_device"><div class="hardware_device_head"><div class="hardware_device_radio_wrap" style="float: left"><input type="radio" name="hardware" value="' + items.OfferID + '" /></div><div class="hardware_device_name" style="float: left">' + items.Name + '</div><div class="hardware_device_price" style="float: right">DKK ' + items.ItemFee + ',-</div></div><div class="hardware_device_body" style="clear:both"><div class="hardware_device_body_left"></div><div class="hardware_device_body_right">' + items.OfferText + '</div></div></div>');
                    $('#hardware_body').append('<div class="hardware_device"><div class="hardware_device_head"><div class="hardware_device_radio_wrap"><input type="radio" name="hardware" value="' + items.OfferID + '" /></div></div><div class="hardware_device_body"><div class="hardware_device_body_left"><img src="http://dummyimage.com/70" /></div><div class="hardware_device_body_right"><div class="hardware_device_name"><b>' + items.Name + '</b></div><div class="hardware_device_price">Normalpris: DKK ' + items.ItemFee + ',-</div><div><a class="tooltip_link" title="' + items.OfferText + '">Læs mere om produktet</a></div></div></div></div>');

                }

                if(Product == 104)
                {
                    //disable valg og marker prevalgt
                }
                
            });
        }
    );
    */
}

function show_hardware()
{




    if($("input[name=type_number]:radio:checked").val() == 1)
    {
        if($("input[name=subscription]:radio:checked").val() == 104)
        {
            $('#hardware_talknetwork').show();
            $('#hardware_notalknetwork').hide();
        }
        else
        {
            $('#hardware_talknetwork').hide();
            $('#hardware_notalknetwork').show();
            if($("input[name=type_hardware]:radio:checked").val() == 1)
                {
                    $("#hardware_wrapper").show();
                }
            
        }

    }
    else if($("input[name=type_number]:radio:checked").val() == 2)
    {
        if($("input[name=subscription]:radio:checked").val() == 104)
        {
            $('#hardware_talknetwork').show();
            $('#hardware_notalknetwork').hide();
        }
        else
        {
            $('#hardware_talknetwork').hide();
            $('#hardware_notalknetwork').show();
            if($("input[name=type_hardware]:radio:checked").val() == 1)
                {
                    $("#hardware_wrapper").show();
                }
            
        }
    }


}
/*
function show_conditions()
{
    $("#betingelser").show();
    $("#betingelser").dialog('open');
    $(".betingelser > *").removeClass('ui-widget-content');

    //$(".ui-dialog-titlebar").removeClass('ui-corner-all');

    $(".ui-dialog-titlebar-close").hide();

}
*/
function select_phonenumber(phonenumberElement)
{
    //fjern alle class fra mulige telefonnumre
    $.each($("#new_numbers_table td"),function(i,items){
        $(items).removeClass('selected_phonenumber');
    });

    phonenumberElement.addClass('selected_phonenumber');

    $('#phonenumber').val(phonenumberElement.html());

    //alert();
}

//hent phonenumbers ind
function GetPhoneNumbers(phonenumber)
{
    //nulstil listen af phonenumbers

    var table = $('#new_numbers_table tbody');

    table.empty();

    $.getJSON(
        '/functions/frontend/bestil/phonenumbers.php',
        {search_string : phonenumber},
        function(data){
            if(data != "")
            {
                $.each(data, function(i,items)
                {

                    if(i % 4 == 0)
                    {
                        table.append($('<tr>'));
                    }

                    $('#new_numbers_table tr:last').append('<td onclick="select_phonenumber($(this));">' + items + '</td>');

                });
            }
            else
            {
                table.append($('<tr>'));
                $('#new_numbers_table tr:last').append('<td>Der er desværre ingen ledige numre med denne kombination. <br>Prøv venligst igen eller <a id="reloadNumbers" onclick="GetPhoneNumbers(\'\')">klik her og få vist en række ledige numre</a></td>');
            }
        }
    );
}
