
$(document).ready(function () {

    // hide IRC link in IE );
    //if ($.browser.msie) {
        //$(".irclink").hide();
    //}

    // topnav dropdowns (only required for ie6)
    $("ul#topnav li").hover(function(){
        $(this).addClass("hover");
        $('> .dir',this).addClass("open");
        $('ul:first', this).css('visibility', 'visible');
    },function(){
        $(this).removeClass("hover");
        $('.open',this).removeClass("open");
        $('ul:first',this).css('visibility', 'hidden');
    });

   // Front page tabs
    $("#frontpage .tabs li h2 a").click(function () {
        // /html/body/div[2]/div[3]/ul/li/h2/a
        // remove active class from other tabs
        $("#frontpage .page .tabs li").removeClass('active');
        // add class to this tab
        $(this).closest('li').addClass('active');
        // load the page
       
        return false;
    });
    // make the forms user friendly
    // show the title inline in the form,
    // but remove it when we focus
    $('input[title], textarea[title]').each(function() {
        var input = $(this), title = input.attr('title');

        if(input.val() === '') {
            input.val(title).addClass('helptip');
        }

        input.focus(function() {
            if(input.val() === title)
                input.val('').removeClass('helptip');
            // if notice box is visible, hide it
            if (input.hasClass('error')) {
                var box = $("#contact .box-error");
                if (box.hasClass('visible')) {
                    box.slideToggle('fast').removeClass('visible');
                }
                input.removeClass('error');
            }
        });

        input.blur(function() {
            if(input.val() === '')
                input.val(title).addClass('helptip').attr('title', title);
        });
    });
    $("#wiab").focus(function () {
        $(this).removeClass('error');
        var box = $("#contact .box-error");
        if (box.hasClass('visible')) {
            box.slideToggle('fast').removeClass('visible');
        }
    });
    // make sure that the forms don't submit help info
    $('#contact form').submit(function () {
        var about = $("#contact form #wiab");
        var name = $("#contact form #user_name");
        var email = $("#contact form #user_email");
        var msg = $("#contact form #user_message");
        // if required fields are empty, show warning and don't submit
        // add error class to missing fields
        if (about.val() == "" || about.val() == about.attr('title'))
            about.addClass('error');
        if (name.val() == "" || name.val() == name.attr('title'))
            name.addClass('error');
        if (email.val() == "" || email.val() == email.attr('title'))
            email.addClass('error');
        if (msg.val() == "" || msg.val() == msg.attr('title'))
            msg.addClass('error');
        if (about.val() == "" || about.val() == about.attr('title')
            || name.val() == "" || name.val() == name.attr('title')
            || email.val() == "" || email.val() == email.attr('title')
            || msg.val() == "" || msg.val() == msg.attr('title')) {
            $("#contact .box-error").slideToggle('fast').addClass('visible');
            return false;
        }
        $('#contact form .helptip').val("");
    });
    // the mini domain search form need some special consideration
    $('.mini-domain form').submit(function () {
        var input = $(".mini-domain .domain-input");

        if(input.val() != input.attr('title')) {
            // set a new title
            input.attr('title', input.val());
            // remove previous result, hide text and show loading
            $(".mini-domain .results").remove()
            $(".mini-domain .text").hide()
            $(".mini-domain .section").addClass('loading');
            // send the request with ajax, unless it is empty
            $.post($(this).attr('action'), $(this).serialize(), function (data) {
                $(".mini-domain .section").removeClass('loading').html(data);
            });
        }
        // don't submit normally
        return false;

    });


    // Help display for package features
    // hide all the help rows
    $('.package .main .details table .help').css('height', 0).children('div').hide();
    // hide extra line
    // $('table.package-table .help').css('border-bottom', 0);
    // show the toggle hint
    $('.package .main .details table .toggle').css('display', 'block');

    // show hover state
    $('.package .main .details table .toggle').mouseover(function() {
       $(this).addClass('toggle-hover');
    }).mouseout(function() {
        $(this).removeClass('toggle-hover');
    });
    // add toggle function
    $('.package .main .details table .toggle').click(function() {
        var box = $(this).closest('tr').next('tr').find('.help');
        // toggle active
        $(this).toggleClass('toggle-active');
        // slide the box up
        box.children('div').slideToggle('fast');
        // show (or hide) the bottom border
        if($(this).hasClass('toggle-active'))
            box.css('border-bottom', '1px solid #f2f2ed');
        else
            box.css('border-bottom', 0);
    });


    // VPS Order form

    // make the cc_type images clickable
    $('.cc_type_image').click(function () {
        $(this).prev('input').attr('checked', 'checked');
    });
    // make the vps_fixed_box stay on screen
    var vps_fixed_box = $("#vps_fixed_box");
    if (vps_fixed_box.length) {
        var wrapper = vps_fixed_box.parent().parent();
        var paddingTop = 25;
        var offsetTop = wrapper.offset().top;
        vps_fixed_box.css('position', 'absolute');
        var tweak = 82;
        if (! jQuery.support.cssFloat)
            tweak = 300;
        var bottomPos = wrapper.height() - vps_fixed_box.height() - offsetTop - tweak;

        if (bottomPos < 0)
            bottomPos = 0;

        $(window).scroll(function () {
            vps_fixed_box.stop();

            var pastStart = $(document).scrollTop() > offsetTop;
            var pastTopPos = vps_fixed_box.offset().top > offsetTop;
            var boxFits = vps_fixed_box.outerHeight() < $(window).height();

            if ((pastStart || pastTopPos) && boxFits) {
                var newpos = $(document).scrollTop() - offsetTop + paddingTop;
                if (newpos > bottomPos)
                    newpos = bottomPos;
                if ($(document).scrollTop() < offsetTop)
                    newpos = paddingTop;
                vps_fixed_box.animate({top: newpos}, 400);
            }
        });
    }
    // hide form error messages
    $(".order-virtualserver .main div.error input").focus(function () {
        // remove error class from container
        var container = $(this).closest('div.error');
        if (container.length) {
            container.removeClass('error');
            container.find('div.vps-notice').slideToggle();
        }
        if ($(this).hasClass('error') || $(this).attr('type') == 'radio') {
            $(this).removeClass('error');
            $(this).next('.input-error').slideToggle();
        }
    });
    // when we change the radio for payment type, hide and show boxes and errors
    // start by hiding both paymentboxes
    if ($('.order-virtualserver #payment_type_cc').attr('checked'))
    	{
	  $('.order-virtualserver #bankbox').hide();
    	  $('.order-virtualserver #paypalbox').hide();
    	}
    else if ($('.order-virtualserver #payment_type_bank').attr('checked'))
        {
    	  $('.order-virtualserver #creditbox').hide();
    	  $('.order-virtualserver #paypalbox').hide();
        }
    else  ($('.order-virtualserver #payment_type_paypal').attr('checked'))
    	{ 
    	  $('.order-virtualserver #creditbox').hide();
          $('.order-virtualserver #bankbox').hide();
    	}
    
    $('.order-virtualserver #paymentbox input').click(function() {
        var c = $('.order-virtualserver #bankbox');
        if (c.hasClass('error'))
            c.removeClass('error').find('div.vps_notice').slideToggle();
        c = $('.order-virtualserver #creditbox');
        if (c.hasClass('error'))
            c.removeClass('error').find('div.vps_notice').slideToggle();

        var value = $(this).attr('value');
        var c1 = $('.order-virtualserver #creditbox');
        var c2 = $('.order-virtualserver #bankbox');
        var c3 = $('.order-virtualserver #paypalbox');
        if (value == 'bank') {
	    if (c1.css('display') == 'none' && c2.css('display') == 'none' && c3.css('display') == 'none'){
		  c2.show(400);}
            else {
                  c1.hide();
                  c2.show();
                  c3.hide();
            }
        } else if (value == 'cc') {
            if (c1.css('display') == 'none' && c2.css('display') == 'none' && c3.css('display') == 'none')
                c1.show(400);
            else {
                c2.hide();
                c1.show();
                c3.hide();
            }
        } else if (value == 'paypal') {
            if (c1.css('display') == 'none' && c2.css('display') == 'none' && c3.css('display') == 'none')
                c3.show(400);
            else {
                c2.hide();
                c3.show();
                c1.hide();
            }
        }
    });

    // calculate price in rightbox
    // first we hide the button
    // XXX: table changes size when we toggle on off
    // $('#vps_order_calc').addClass('hidden');
    // some os' cost more than others

    $('#osbox input[type=radio]').click(function () {
        var price = 4;
        if ( ($(this).attr('value') == 'plesk' || $(this).attr('value') == 'confixx'  )  && $("#vps_order_os").closest('tr').hasClass('hidden')) {
            $("#vps_order_os .price").html(formatCurrency(price));
            $("#vps_order_os").closest('tr.hidden').removeClass('hidden');
            vpsChangeTotal(price);
        } else if ($(this).attr('value') != 'plesk'  && $(this).attr('value') != 'confixx' && !$("#vps_order_os").closest('tr').hasClass('hidden')) {
            $("#vps_order_os").closest('tr').addClass('hidden')
            vpsChangeTotal(price * -1);
        }
    });
    // is there a setup fee?
    $('#termbox input[type=radio]').click(function () {
        var price = 14.90;
        if ($(this).attr('value') == '12' && $("#vps_order_setup").hasClass('hidden')) {
            $("#vps_order_setup .price").html(formatCurrency(price));
            $("#vps_order_setup").removeClass('hidden');
        } else if ($(this).attr('value') == '24' && !$("#vps_order_setup").hasClass('hidden')) {
            $("#vps_order_setup").addClass('hidden')
        }
    });
    // how often do we pay?
    $('#intervalbox #interval').click(function () {
        var price = 2;
        if ($('#intervalbox #interval:checked').val() != null) {
            $("#vps_order_interval .price").html(formatCurrency(price));
            $("#vps_order_interval").closest('tr.hidden').removeClass('hidden');
            vpsChangeTotal(price);
        } else  {
            $("#vps_order_interval").closest('tr').addClass('hidden')
            vpsChangeTotal(price * -1);
        }
    });
    // do we want backup
    $('#optionbox #backup').click(function () {
        var price = 10;
        if ($('#optionbox #backup:checked').val() != null) {
            $("#vps_order_backup .price").html(formatCurrency(price));
            $("#vps_order_backup").closest('tr.hidden').removeClass('hidden');
            vpsChangeTotal(price);
        } else  {
            $("#vps_order_backup").closest('tr').addClass('hidden')
            vpsChangeTotal(price * -1);
        }
    });
    $('#osbox input[type=radio], #termbox input[type=radio], #optionbox #backup, #intervalbox #interval').each(function() {
        if ($(this).attr('checked'))
            $(this).triggerHandler('click');
    });
});

function vpsParseAmount(amount) {
    if (isNaN(amount)) {
        // format to a number we can do math on
        amount = amount.replace('.', '').replace(',', '.');
    }
    return parseFloat(amount);
}

function vpsChangeTotal(amount) {
    amount = vpsParseAmount(amount);
    var per_month = vpsParseAmount($("#vps_order_per_month .price").html());
    per_month = per_month + amount;
    $("#vps_order_per_month .price").html(formatCurrency(per_month));
}


function formatCurrency(amount, decimalSymbol, groupSymbol, roundDecimals) {

    var decimalSymbol = decimalSymbol || ',';
    var groupSymbol = groupSymbol || '.';
    var roundDecimals = roundDecimals || 2;

    var parts = String(amount).split('.');
    var hasDecimals = (parts.length > 1);
    var decimals = (hasDecimals ? parts[1].toString() : '0');

    // format number
    amount = Math.abs(parts[0]);
    if (roundDecimals >=0) {
        // (IE does NOT round 0.50.toFixed(0) up
        decimals = parseFloat('1.' + decimals);
        decimals = decimals.toFixed(roundDecimals);
        if (decimals.substring(0, 1) == '2')
            amount = Number(amount) + 1;
        decimals = decimals.substring(2);
    }
    amount = String(amount);

    // format group digits
    for (var i = 0; i < Math.floor((amount.length - (1 + i)) / 3); i++) {
        amount = amount.substring(0, amount.length - (4 * i + 3)) + groupSymbol + amount.substring(amount.length - (4 * i + 3));
    }
    amount += decimalSymbol + decimals;
    return amount;
}
$(document).ready(function(){
   $("#webhostingpk").click(function(evento){
      evento.preventDefault();
      $("#cambio").load("html/webhostingpaket.html");
   });
})
$(document).ready(function(){
   $("#virtualserverpk").click(function(evento){
      evento.preventDefault();
      $("#cambio").load("html/virtualserverpaket.html");
   });
})

