; (function($){ if (! ("jQuery" in window) ) return; //本ファイルが複数回呼ばれないよう処理 var oneTimeToken = function (){ var token = $('#__scriptActivation'); if ( !!token.length ) { return token.remove(); } $('body').append(''); return false; }(); //return if (oneTimeToken) return; //variables var $header = $('head'), $oldSearchWrapper = $('#searchBox'), $newSearchWrapper = $('.searchBox'), $searchWrapper = $newSearchWrapper.add($oldSearchWrapper); var styles = ['/css/placeHolder.css']; //['x.css,'y.css', 'z.css'] //配列処理完了後 → 実行処理 function processArray(items, process, callback){ var todo = items.concat(); //create a clone of the original setTimeout(function(){ process(todo.shift()); if (todo.length > 0){ setTimeout(arguments.callee, 100); } else { callback(items); } }, 100); } // CSSの動的組み込み IEはonreadystatechangeが必要かも。 // 動的CSSが必要になった時にスクリプト作成予定→ 現在は暫定的に空のCSS読み込み中 function appendStyle (cssPath) { if (! cssPath ) return ; $header.append(''); } // ::: CSS組み込み前スクリプトは以下に追記 ::: if ( typeof jQuery.support !== 'undefined' && jQuery.support.opacity ) { $newSearchWrapper.fadeTo(1, 0); } // ::: CSS組み込み後スクリプトは以下に追記 ::: processArray(styles, appendStyle, function (styles) { // Script : jquery.virtualPlaceHolder var $searchInput = $searchWrapper.find('input[type=text]'); if ( !!$searchInput.length && $.isFunction($.fn.virtualPlaceHolder) ) { $searchInput.virtualPlaceHolder({ addPlaceHolder : true, addPlaceHolderText : "サイト内検索", fucusRemove : true, fontColor : '#bbb', loadedFn : function () { // ::: 全処理完了後表示させる ::: if (jQuery.support.opacity) { $newSearchWrapper.fadeTo(250, 1); } } }); } }); })(jQuery);