jQuery(document).ready(function() {
    document.body.className="js-on "+document.body.className;

    var sbToggledIframes = [];
    var options = {
        assetURL: '/js/shadowbox/',
        onOpen: function() {
            jQuery('iframe').each(function() {
                if ( this.style.visibility != 'hidden' ) {
                    sbToggledIframes.push(this);
                    this.style.visibility = 'hidden';
                }
            });
        },
        onClose: function() {
            while ( sbToggledIframes.length > 0 ) {
                var f = sbToggledIframes.pop()
                f.style.visibility = 'visible';
            }
        }
    };
    Shadowbox.init(options);

    // Set up clearing of default form value
    searchInput = jQuery("#search-topic input");
    if(searchInput) {
        toggleLabel();
        searchInput.focus(toggleLabel);
        searchInput.blur(toggleLabel);
        jQuery('#search-topic label img').click(function(){ searchInput.focus(); });
    }

    // Create even height columns
    Nifty("div#recent-articles div,div#recent-articles div","none same-height");
    Nifty("div#sub-features div,div#sub-features div","none same-height");

    jQuery('ul#nav-main').superfish({
        delay: 200,
        animation: {opacity:'show'},
        speed: 'fast',
        autoArrows: false
    });

    if (document.getElementsByTagName) {
        obj = document.getElementsByTagName("object");
        if (obj) {
            for (var i = 0; i < obj.length; i++) { obj[i].outerHTML = obj[i].outerHTML; }
        }
    }

    // On fruit basket and tool detail pages, make sure helpful articles doesn't run off page
    if (jQuery('.tools-extra').length > 0){
        // Add extra pixels for safety
        var teHeight = jQuery('.tools-extra').height() + 150;
        var haHeight = jQuery('#helpful-articles').height();
        var cHeight = jQuery('#content-main').height();

        // If content-main is shorter than tools-extra, increase the height so that tools-extra doesn't get cut off
        if(teHeight + haHeight > cHeight) {
            jQuery('#content-main').css('height', teHeight + haHeight);
        }
    } else if (jQuery('#helpful-articles').length > 0){
        var haHeight = jQuery('#helpful-articles').height() + 25;
        var cHeight = jQuery('#comments-container').height();

        // If comments is shorter than helpful articles, increase the height so that helful articles doesn't get cut off
        if(haHeight > cHeight) {
            jQuery('#comments-container').css('height', haHeight);
        }
    }
});
function toggleLabel (event) {
    var hasFocus = (event && event.type == "focus")?true:false;
    if(searchInput.val() == '' && !hasFocus) {
        // Remove 'not-empty' from class name
        searchInput.removeClass("not-empty");
    } else if (!searchInput.hasClass('not-empty')) {
        searchInput.addClass("not-empty");
    }
}

lightBox = function(id) {
    Shadowbox.open(document.getElementById(id));
}

openTour = function() {
    lightBox('biztoolsTour');
}

//-- ### Javascript for Suckerfish Dropdown Navigation ### -- //
sfHover = function() {
    var sfEls = document.getElementById("nav-main").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
        }
    }
}
function URLEncode(unencodedValue)
{
    // The Javascript escape and unescape functions do not correspond
    // with what browsers actually do...
    var SAFECHARS = "0123456789" +                    // Numeric
                    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +    // Alphabetic
                    "abcdefghijklmnopqrstuvwxyz" +
                    "-_.!~*'()";                    // RFC2396 Mark characters
    var HEX = "0123456789ABCDEF";

    var plaintext = unencodedValue;
    var encoded = "";
    for (var i = 0; i < plaintext.length; i++ ) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+";                // x-www-urlencoded, rather than %20
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                alert( "Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
                          "(URL encoding only supports 8-bit characters.)\n" +
                          "A space (+) will be substituted." );
                encoded += "+";
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    } // for

    return encoded;
};

// adding jquery tabs
jQuery(document).ready(function() {
    // jQuery is a bit promiscuous and tries to convert any
    // li>a inside the tab container into a tab.
    // It can't mangle what it can't see...
    jQuery(".sectionCatTabs, .findInfoTabs, .shortTabs").each(function() {
        var $this = jQuery(this);
        
        // remove contents of content panels so it doesn't get mangled
        var $panels = $this.children('div');
        var panelContents = [];
        for ( var i = 0; i < $panels.length; ++i ) {
            panelContents[i] = jQuery($panels[i]).contents().remove();
        }
        
        // Remove the li's that are supposed to link to external pages
        var removedLIs = $this.children('ul').children('li.externalLink').remove();
        
    
        $this.tabs();
        
        
        // reinsert the unaltered li's 
        removedLIs.appendTo($this.children('ul'));
        
        
        // put the unaltered panel contents back
        for ( var i = 0; i < $panels.length; ++i ) {
            jQuery($panels[i]).append(panelContents[i]);
        }
    });
});

/*
<div class="tabtest">
    <ul>
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
    </ul>
    <div id="tab1">tab1</div>
    <div id="tab2">
        <ul>
            <li><a href="http://www.google.com/">Google</a></li>
            <li><a href="http://www.yahoo.com/">Yahoo</a></li>
        </ul>
    </div>
</div>
*/

// adding required field alert to article/recommendation comment form.
jQuery(document).ready(function(){
    $txtName = jQuery("#comment-form #ctl00_ctl00_ContentPlaceHolderMainContent_ContentPlaceHolderBody_txtName");
    $txtSubject = jQuery("#comment-form #ctl00_ctl00_ContentPlaceHolderMainContent_ContentPlaceHolderBody_txtSubject");
    $txtEmail = jQuery("#comment-form #ctl00_ctl00_ContentPlaceHolderMainContent_ContentPlaceHolderBody_txtEmail");
    $txtWebsite = jQuery("#comment-form #ctl00_ctl00_ContentPlaceHolderMainContent_ContentPlaceHolderBody_txtWebsite");
    
    $all = $txtName.add($txtSubject).add($txtEmail).add($txtWebsite);
    
    $txtName.add($txtSubject).data('defaultValue', 'Required.');
    $txtEmail.data('defaultValue', 'Required. Will not be visible.');
    $txtWebsite.data('defaultValue', 'http://www.example.com.');
    
    $all.focus(function() {
        var $this = jQuery(this);
        if ( $this.val() == $this.data('defaultValue') ) {
            $this.val('');
            $this.attr('style', 'color: inherit');
        }
    });
    
    $all.blur(function() {
        var $this = jQuery(this);
        if ( $this.val() == '' || $this.val() == $this.data('defaultValue') ) {
            $this.val($this.data('defaultValue'));
            $this.attr('style', 'color: #999999');
        }
    });
   
    $all.blur();
    
    try {
        // Pre-load :hover images - use absolute path
        var images = [];

        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_about_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_about_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_buy_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_buy_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_company_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_company_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_ddemo_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_ddemo_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_dnow_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_dnow_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_launch_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_launch_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_more_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_more_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_price_out.gif';    
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_price_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_reg_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_reg_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_subs_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_subs_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_trial_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_trial_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_visit_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_visit_over.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_sign_up_out.gif';
        images[images.length] = new Image; images[images.length-1].src = '/images/fl/but_sign_up_over.gif';
        
    } catch (e) {
       // alert(e);
    }

 
});

//if (window.attachEvent) window.attachEvent("onload", sfHover);

// ----------------------------------------------------------//
