﻿

/*--------------------------------------------------------------------------*
*  
*  word-break:break-allをFirefox等でも実現するjavascript
*  ※jqueryが必須（jquery.js）
*  
*  Windows
*   IE6　IE7　Firefox2　Firefox3　Opera9.5　Safari3.1　googleCrome
*  Mac
*   Firefox3　Firefox2　Opera9.5　Safari3.1 
*--------------------------------------------------------------------------*/

$(function() {
    var $targetElement = '.wordBreak';
    if ($.browser.msie) {
        $($targetElement).css('word-break', 'break-all');
    } else {
        $($targetElement).each(function() {
        //if (navigator.userAgent.indexOf('Firefox/2') != -1) {
            if (navigator.userAgent.indexOf('Firefox') != -1) {
                $(this).html($(this).text().split('').join('<wbr />'));
            } else {
                $(this).html($(this).text().split('').join(String.fromCharCode(8203)));
            }
        });
    }
});



//$(this).html($(this).text().split('').join('<wbr />'));



//new function() {
//    if (window.opera || navigator.userAgent.indexOf("Firefox") != -1) {
//        var wordBreak = function() {
//            var wordBreakClass = "wordBreak";
//            var table = document.getElementsByTagName("table");
//            for (var i = 0, len = table.length; i < len; i++) {
//                var tbClass = table[i].className.split(/\s+/);
//                for (var j = 0; j < tbClass.length; j++) {
//                    if (tbClass[j] == wordBreakClass) {
//                        recursiveParse(table[i])
//                    }
//                }
//            }
//        }
//        var recursiveParse = function(pNode) {
//            var childs = pNode.childNodes;
//            for (var i = 0; i < childs.length; i++) {
//                var cNode = childs[i];
//                if (childs[i].nodeType == 1) {
//                    recursiveParse(childs[i]);
//                } else if (cNode.nodeType == 3) {
//                    if (cNode.nodeValue.match("[^\n ]")) {
//                        var spTxt = cNode.nodeValue.split("");
//                        spTxt = spTxt.join(String.fromCharCode(8203));
//                        var chNode = document.createTextNode(spTxt);
//                        cNode.parentNode.replaceChild(chNode, cNode)
//                    }
//                }
//            }
//        }

//        var addEvent = function(elm, listener, fn) {
//            try {
//                elm.addEventListener(listener, fn, false);
//            } catch (e) {
//                elm.attachEvent("on" + listener, fn);
//            }
//        }
//        addEvent(window, "load", wordBreak);
//    }
//}
