(function($){
    // VERTICALLY ALIGN FUNCTION
    $.fn.vAlign = function(){
        return this.each(function(i){
            var ah = $(this).height();
            var ph = $(this).parent().height();
            var mh = (ph - ah) / 2;
            $(this).css('margin-top', mh);
        });
    };
    
    //Main Method
    $.fn.reportprogress = function(val, maxVal){
        var max = 100;
        if (maxVal) 
            max = maxVal;
        return this.each(function(){
            var div = $(this);
            var innerdiv = div.find(".progress");
            
            if (innerdiv.length != 1) {
                innerdiv = $("<div class='progress'></div>");
                div.append("<div class='text'>&nbsp;</div>");
                $("<span class='text'>&nbsp;</span>").css("width", div.width()).appendTo(innerdiv);
                div.append(innerdiv);
            }
            var width = Math.round(val / max * 100);
            innerdiv.css("width", width + "%");
            div.find(".text").html(width + " %");
        });
    };
    
    var pct = 0;
    $("#progressbar").reportprogress(pct);
    
    $("ul.tabs").tabs("div.panes div.pane");
    var api = $("ul.tabs").tabs(0);

/*
    if (pct == 0) {
        $('button.prev').attr('disabled', true);
    } else {
        $('button.prev').attr('disabled', false);
    }

    $("button.next").click(function(){
        api.next();
        pct = selected * 12.5;        
        pct += 12.5;
        if (pct == 0) {
            //document.getElementById('back').disabled = true;
            $('button.prev').attr('disabled', true);
        } else {
            //document.getElementById('back').disabled = false;
            $('button.prev').attr('disabled', false);
        }
    });
*/
    $("button.next").click(function(){
         api.next();
    });

    $("button.prev").click(function(){
        api.prev();
    });
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /*
     if (pct == 0) {
     //document.getElementById('back').disabled = true;
     $('#back').attr('disabled', true);
     }
     else {
     //document.getElementById('back').disabled = false;
     $('#back').attr('disabled', false);
     }
     
     $('#back').click(function(){
     selected = $tabs.data('selected.tabs');
     document.getElementById('select').selectedIndex = selected - 1;
     pct = selected * 12.5;
     pct -= 12.5;
     
     $('#next').attr('disabled', false);
     //document.getElementById('next').disabled = false;
     if (pct == 0) {
     $('#back').attr('disabled', true);
     //document.getElementById('back').disabled = true;
     }
     else {
     $('#back').attr('disabled', false);
     //document.getElementById('back').disabled = false;
     }
     $("#progressbar").reportprogress(pct);
     
     selected -= 1;
     
     $tabs.tabs('select', selected);
     return false;
     });
     
     $('#next').click(function(){
     selected = $tabs.data('selected.tabs');
     document.getElementById('select').selectedIndex = selected + 1;
     pct = selected * 12.5;
     pct += 12.5;
     
     $('#back').attr('disabled', false);
     //document.getElementById('back').disabled = false;
     if (pct == 100) {
     $('#next').attr('disabled', true);
     //document.getElementById('next').disabled = true;
     }
     else {
     $('#next').attr('disabled', false);
     //document.getElementById('next').disabled = false;
     }
     
     selected += 1;
     
     $("#progressbar").reportprogress(pct);
     $tabs.tabs('select', selected);
     return false;
     });
     */
    if ($('ul.tabs').is(':visible')) {
        $("ul.tabs").tabs("div.panes > div", {
            history: true,
            onBeforeClick: function(i){
                var pane = this.getPanes().eq(i);
                if ($.trim(pane.html()) == '') {
                    var url = this.getTabs().eq(i).attr("href").substring(1);
                    pane.load(url);
                }
            }
        });
    }
    
    // setting the tabs in the sidebar hide and show, setting the current tab
    $('div.tabbed div').hide();
    $('div.t1').show();
    $('div.tabbed ul.tabs li.t1 a').addClass('tab-current');
    
    // SIDEBAR TABS
    $('div.tabbed ul li a').mouseover(function(){
        var thisClass = this.className.slice(0, 2);
        $('div.tabbed div').hide();
        $('div.' + thisClass).show();
        $('div.tabbed ul.tabs li a').removeClass('tab-current');
        $(this).addClass('tab-current');
    });
    
    /* start ie fixes and rounded corners */
    DD_roundies.addRule('.make_enquiry a', '15px', !$.browser.msie);
    DD_roundies.addRule('input:not(#s)', '4px', !$.browser.msie);
    DD_roundies.addRule('textarea', '4px', !$.browser.msie);
    DD_roundies.addRule('select', '4px', !$.browser.msie);
    DD_roundies.addRule('.networking ul.tabs li a', '4px', !$.browser.msie);
    DD_roundies.addRule('#breadcrumbs span', '4px', !$.browser.msie);
    DD_roundies.addRule('.quote', '10px 10px 0 0', !$.browser.msie);
    
    DD_roundies.addRule('.rc', '10px', !$.browser.msie);
    DD_roundies.addRule('.rc_small', '5px', !$.browser.msie);
    DD_roundies.addRule('.rc_top', '10px 10px 0px 0px', !$.browser.msie);
    DD_roundies.addRule('.rc_bottom', '0px 0px 10px 10px', !$.browser.msie);
    
    DD_roundies.addRule('.wp-caption', '5px', !$.browser.msie);
    
    if ($.browser.msie) {
        DD_roundies.addRule('.png');
        DD_roundies.addRule('img');
    }
    /* start ie fixes and rounded corners */
    
    $('#partners').innerfade({
        speed: 'slow',
        timeout: 4000,
        type: 'sequence',
        containerheight: '100px'
    });
    $('#partners p').vAlign();
    
})(jQuery);


function selectTab(value){
    pct = value * 12.5;
    $("#progressbar").reportprogress(pct);
    $tabs.tabs('select', value);
    
    if (pct == 0) {
        $('#back').attr('disabled', true);
        //document.getElementById('back').disabled = true;
    }
    else {
        $('#back').attr('disabled', false);
        //document.getElementById('back').disabled = false;
    }
    if (pct == 100) {
        $('#next').attr('disabled', true);
        //document.getElementById('next').disabled = true;
    }
    else {
        $('#next').attr('disabled', false);
        //document.getElementById('next').disabled = false;
    }
}

/**
 * Gets the specified querystring from the browser url
 *
 * @param {Object} key
 */
function qs(key, default_){
    if (default_ == null) 
        default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&]*)");
    //var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null) 
        return default_;
    else 
        return qs[1];
}

function email(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}