﻿/*
*  fiito.defaultText.js
*
*  設定說明
*
*  Date : 2009-9-18 11:23
*  Author : thchang
*
*/
;if(window.jQuery) (function($){
    var _tooltips_aw = 0;
    // preload images
    var arrow_image = new Image();
    arrow_image.src = "http://www.fiito.com/images/tiparrow.gif";
    
    $.fn.blocktooltips = function() {
        this.find(':text').tooltips().end()
            .find(':password').tooltips().end()
            .find('textarea').tooltips();
    }
    $.fn.tooltips = function() {
        if ($(this).attr('tips') != undefined)
            $(this).hover(movin, moveout);
        return this;
    }
    function movin(){
        if ($(this).attr('tips') == null ||
            $(this).attr('tips').length == 0)
            return false;
        var tiptext = $(this).attr('tips');
        var tooltips;
        var tooltipsiframe;
        var offsetx = 12;
        var offsety = 2;
        
        if ($(this).get(0).tagName == 'TEXTAREA')
            offsety += 5;
            
        // calculate position
        if ($(this).attr('tipsoffsetx') != undefined)
                offsetx += parseInt($(this).attr('tipsoffsetx'));
        var x = ($(this).offset().left + $(this).width()) + offsetx;
        var y = ($(this).offset().top - 5) + offsety;
        // adjust position
        if ($('div.tooltips').get(0) == undefined)
        {
            // create object
            tooltips = $('<div class="tooltips"><div class="arrow"></div><div class="text"></div></div>')
                        .css({left: x, top: y}).css('z-index', 9999)
                        .find('.text').html(tiptext).end();
            tooltips.find('.arrow').append(arrow_image);
            // fix for ie div cannot overflow on select object
            tooltipsiframe = $('<iframe id="tooltipsiframe" style="position:absolute;z-index:9998;scroll:none;" frameborder=0></iframe>');
            $('body').append(tooltipsiframe).append(tooltips);
            // because tooltips must place on body first then height will got value
            // so i do append first, then set position
            _tooltips_aw = tooltips.find('.arrow').width();
            tooltipsiframe.css({left:x + _tooltips_aw, top:y, width: tooltips.width() - _tooltips_aw, height: tooltips.height()});
        }
        else
        {
            tooltips = $('div.tooltips').css({left: x, top: y}).find('.text').html(tiptext).end();
            // fix for ie div cannot overflow on select object
            tooltipsiframe = $('#tooltipsiframe').css({left:x + _tooltips_aw, top:y, width: tooltips.width() - _tooltips_aw, height: tooltips.height()});
        }
        tooltipsiframe.show();
        tooltips.show();
    }
    function moveout(){
        if ($('div.tooltips').get(0) != undefined)
        {
            $('#tooltipsiframe').hide();
            $('div.tooltips').hide();
        }
    }
})(jQuery);

$(document).ready(function() {
    $('#mainBody').blocktooltips();
    $('.contentBody').blocktooltips();
});