function winLoad(){ if (window.addEventListener) { //for W3C DOM window.addEventListener("load", EffSat, false); }else if (window.attachEvent) { //for IE window.attachEvent("onload", EffSat); }else { window.onload = EffSat; } } function winReSize(){ if (window.addEventListener) { //for W3C DOM window.addEventListener("resize", setWinReSize, false); }else if (window.attachEvent) { //for IE window.attachEvent("onresize", setWinReSize); }else { window.onresize = setWinReSize; } } function DispFloat(){ document.write('
'); document.write('
'); document.write(' '); document.write('クーポン '); document.write(' '); document.write('
'); document.write('
'); document.write(''); myEff(); } function Float(){ DispFloat(); // 閉じる以降非表示 var flag = chkSince(__COOKIE,_PID,_DAY, 0); if( flag ) return; winLoad(); } function Lpo(){ return; } var flt, ifm, cls; function myEff(){ if ( document.getElementById ){ flt = document.getElementById ( "flt_main" ); ifm = document.getElementById ( "flt_ifm" ); ifm_f = document.getElementById ( "ifm_frame" ); cls = document.getElementById ( "btnCls" ); }else{ flt = document.all ["flt_main"]; ifm = document.all ["flt_ifm"]; ifm_f = document.all ["ifm_frame"]; cls = document.all ["btnCls"]; } } function EffSat(){ moveStop = 0; //表示位置設定 setPosition(); //リサイズを準備 winReSize(); // 実行 setEff(); } //表示位置 var setX = 0, setY = 0; //現在地 var Px = 0, Py = 0; //エフェクト種別 var eff = 0; //閉じるボタン var setCls = 0; //ドラッグ可能 var setDrag = 0; //位置保持 var setKeep = 1; //テーブル幅 var tblWidth = 0, tblHeight = 0; //表示位置選択 var Ps = 1; //表示位置種別 var Pk = 3; // ウィンドウサイズ var winH = 0, winW = 0; function setPosition(){ ReSize = 0; startEff = 0; flt.style.display = ""; flt.onselectstart = function(){ return false; } //閉じるボタン if( cls && setCls ){ cls.style.display = ""; } //ウィンドウ幅を取得 getWinSize() //テーブル幅を取得 tblWidth = getDivWidth(flt); tblHeight = getDivHeight(flt) //重なり var zIn; zIn = flt.style.zIndex; if( zIn <= 0 ){ zIn = 999; flt.style.zIndex = zIn; } zIn -= 1; ifm_f.style.zIndex = zIn; //準備 flt.style.display = "none"; flt.style.filter = 'alpha(opacity=100)'; flt.style.MozOpacity = 1; flt.style.opacity = 1; //iframeを準備 resizeDivTo(ifm_f,tblWidth,tblHeight); resizeDivTo(ifm,tblWidth,tblHeight); flt.style.left = -tblWidth; if( Ps ){ var num = Pk -0; switch ( num ){ //左上 case 0: setLeftTop(); break; //左下 case 1: setLeftBottom(); break; //右上 case 2: setRightTop(); break; //右下 case 3: setRightBottom(); break; //中央 case 4: setCenter(); break; } Py = setY; Px = setX; } } var ReSize = 0; function setLeftTop(){ setY = 0; setX = 0; } function setLeftBottom(){ if( moveStop ){ return; } setY = winH - tblHeight; setX = 0; if( Ps ){ if( ReSize ){ Py = setY; Px = setX; }else{ setReSize(); } sLB = setTimeout("setLeftBottom();",300); } } function setRightTop(){ if( moveStop ){ return; } setY = 0; setX = winW - tblWidth; if( Ps ){ if( ReSize ){ Py = setY; Px = setX; }else{ setReSize(); } sRT = setTimeout("setRightTop();",300); } } function setRightBottom(){ if( moveStop ){ return; } setY = winH - tblHeight; setX = winW - tblWidth; if( Ps ){ if( ReSize ){ Py = setY; Px = setX; }else{ setReSize(); } sRB = setTimeout("setRightBottom();",300); } } function setCenter(){ if( moveStop ){ return; } setY = (winH - tblHeight) / 2; setX = (winW - tblWidth) / 2; if( Ps ){ if( ReSize ){ Py = setY; Px = setX; }else{ setReSize(); } sC = setTimeout("setCenter();",300); } } function getWinSize(){ winW = getWindowWidth(); winH = getWindowHeight(); } function setWinReSize(){ if( !setKeep ){ return; } if( flt.style.display == "none" ){ return; } flt.style.display = "none"; ifm.style.display = "none"; flt.style.top = -tblHeight; flt.style.left = -tblWidth; ifm.style.top = -tblHeight; ifm.style.left = -tblWidth; getWinSize(); flt.style.display = ""; ifm.style.display = ""; } function setReSize(){ var num = eff -0; switch ( num ){ //フェードイン case 0: Py = setY; Px = setX; break; //上から case 1: if( startEff && Py > setY ){ ReSize = 1; } Px = setX; break; //左から case 2: if( startEff && Px > setX ){ ReSize = 1; } Py = setY; break; //右から case 3: if( startEff && Px < setX ){ ReSize = 1; } Py = setY; break; //下から case 4: if( startEff && Py < setY ){ ReSize = 1; } Px = setX; break; } } function getWindowWidth(){ var w = window, b = document.body, e = document.documentElement, dcM = document.compatMode == "CSS1Compat" && !window.opera; if( window.opera ){ return b.clientWidth; } // opera, netscape を除く標準モードの場合 else if(dcM && !window.opera && e && e.clientWidth ){ return e.clientWidth; } // opera, netscape と、互換モードの場合 else if(b && b.clientHeight && b.clientWidth){ return b.clientWidth; } // その他 else if( w.innerWidth ){ // inner??? と offset??? がある場合 if( e && e.offsetHeight && e.offsetWidth ){ return (w.innerHeight < e.offsetHeight ) ? w.innerWidth - 14 : w.innerWidth; } // inner??? がある場合 else{ return w.innerWidth; } } // どうにもならない場合 else{ return 0; } } function getWindowHeight(){ var w = window, b = document.body, e = document.documentElement, dcM = document.compatMode == "CSS1Compat" && !window.opera; if( window.opera ){ return b.clientHeight; } // opera, netscape を除く標準モードの場合 else if(dcM && !window.opera && e && e.clientHeight ){ return e.clientHeight; } // opera, netscape と、互換モードの場合 else if(b && b.clientHeight && b.clientWidth){ return b.clientHeight; } // その他 else if( w.innerHeight ){ // inner??? と offset??? がある場合 if( e && e.offsetHeight && e.offsetWidth ){ return (w.innerWidth < e.offsetWidth ) ? w.innerHeight - 14 : w.innerHeight; } // inner??? がある場合 else{ return w.innerHeight; } } // どうにもならない場合 else{ return 0; } } function getDivWidth (div){ return document.layers? div.clip.width:(div.offsetWidth||div.style.pixelWidth||0); } function getDivHeight(div){ return document.layers? div.clip.height:(div.offsetHeight||div.style.pixelHeight||0); } function resizeDivTo(div,width,height){ if(document.layers) { // NN4 div.resizeTo(width,height); } // IE5+, Mozilla, Opera 7 else if(typeof div.style.width!="undefined"&& typeof div.style.width=="string"){ div.style.width =width +'px'; div.style.height=height+'px'; } else if(typeof div.style.pixelWidth!="undefined"){ // IE4, Opera 6 div.style.pixelWidth = width; div.style.pixelHeight = height; } } function setEff(){ var num = eff -0; switch ( num ){ //フェードイン case 0: flt.style.filter = 'alpha(opacity=0)'; flt.style.MozOpacity = 0; flt.style.opacity = 0; flt.style.top = Py + 'px'; flt.style.left = Px + 'px'; flt.style.display = ""; ifm.style.top = Py + 'px'; ifm.style.left = Px + 'px'; ifm.style.display = ""; if( setKeep ) myKeep(); myfdIn(); break; //上から case 1: Py = - tblHeight; flt.style.top = Py + 'px'; flt.style.left = Px + 'px'; flt.style.display = ""; ifm.style.top = Py + 'px'; ifm.style.left = Px + 'px'; ifm.style.display = ""; if( setKeep ) myKeep(); moveEff(); break; //左から case 2: Px = - tblWidth; flt.style.top = Py + 'px'; flt.style.left = Px + 'px'; flt.style.display = ""; ifm.style.top = Py + 'px'; ifm.style.left = Px + 'px'; ifm.style.display = ""; if( setKeep ) myKeep(); moveEff(); break; //右から case 3: Px = winW; flt.style.top = Py + 'px'; flt.style.left = Px + 'px'; flt.style.display = ""; ifm.style.top = Py + 'px'; ifm.style.left = Px + 'px'; ifm.style.display = ""; if( setKeep ) myKeep(); moveEff(); break; //下から case 4: Py = winH; flt.style.top = Py + 'px'; flt.style.left = Px + 'px'; flt.style.display = ""; ifm.style.top = Py + 'px'; ifm.style.left = Px + 'px'; ifm.style.display = ""; if( setKeep ) myKeep(); moveEff(); break; } flt.onmousedown = myDown; } function moveX ( ) { return ( ( document.body.scrollLeft ) ? document.body.scrollLeft : document.documentElement.scrollLeft ) + Px + 'px'; } function moveY ( ) { return ( ( document.body.scrollTop ) ? document.body.scrollTop : document.documentElement.scrollTop ) + Py + 'px'; } var Fx, Fy; function myMove ( e ) { mX = ( document.all ) ? event.clientX : e.clientX; mY = ( document.all ) ? event.clientY : e.clientY; Px += mX - Fx; Py += mY - Fy; Fx = mX; Fy = mY; flt.style.top = ifm.style.top = moveY ( ); flt.style.left = ifm.style.left = moveX ( ); } function myOff ( ) { } function myUp ( ) { document.onmousemove = myOff; document.onmouseup = myOff; } function myDown ( e ) { if( setDrag != 1 ){ return; } moveStop = 1; var posX = flt.offsetLeft; var posY = flt.offsetTop; var scrX = ( document.body.scrollLeft ) ? document.body.scrollLeft : document.documentElement.scrollLeft; var scrY = ( document.body.scrollTop ) ? document.body.scrollTop : document.documentElement.scrollTop; Px = posX - scrX; Py = posY - scrY; Fx = ( document.all ) ? event.clientX : e.clientX; Fy = ( document.all ) ? event.clientY : e.clientY; document.onmousemove = myMove; document.onmouseup = myUp; } //表示位置保持 var Kclatime; var sLB; var sRT; var sRB; var sC; var mEFF; var fdin; function myKeep(){ if( setKeep ){ ifm.style.top = moveY ( ); ifm.style.left = moveX ( ); flt.style.top = moveY ( ); flt.style.left = moveX ( ); } Kclatime = setTimeout ( "myKeep();", 100 ); } /* ------------------------------------------------------------------------- //移動 -----------------------------------------------------------------------------*/ var moveStop = 0; var startEff = 0; var stopEff = 0; function moveEff( ) { if( moveStop || ReSize ){ return; } var _Y = Math.abs ( Py - setY ); var _X = Math.abs ( Px - setX ); var _moveY = _Y / 10; var _moveX = _X / 10; if ( Py != setY || Px != setX ){ startEff = 1; if ( Py != setY ){ if ( Math.abs ( Py - setY ) <= 1.000000 ) Py = setY; else if ( Py < setY ) Py += _moveY; else Py -= _moveY; } if ( Px != setX ){ if ( Math.abs ( Px - setX ) <= 1.000000 ) Px = setX; else if ( Px < setX ) Px += _moveX; else Px -= _moveX; } flt.style.top = ifm.style.top = moveY( ); flt.style.left = ifm.style.left = moveX ( ); mEFF = setTimeout ( "moveEff();", 20 ); }else{ ReSize = 1; } } /* ------------------------------------------------------------------------- //フェードイン -----------------------------------------------------------------------------*/ var spd = 25; // 変化させる間隔(ミリ秒単位) var ntc = 2; // 何%ずつ変化させるか var cnt = 5; function myfdIn() { flt.style.top = moveY( ); flt.style.left = moveX ( ); flt.style.filter = 'alpha(opacity=' + cnt + ')'; flt.style.MozOpacity = cnt / 100; flt.style.opacity = cnt / 100; cnt = cnt + (cnt*0.2); if(cnt >= 100 ){ flt.style.filter = 'alpha(opacity=100)'; flt.style.MozOpacity = 1; flt.style.opacity = 1; return; } fdin = setTimeout("myfdIn();",spd); } //閉じる function myClose(){ flt.style.display = "none"; ifm.style.display = "none"; chkSince(__COOKIE,_PID,_DAY, 1); } //閉じる以降非表示 var __COOKIE = 'FLOAT_SINCE'; var _PID = '150151029445983'; var _DAY = 365; function chkSince(cookieId,pid,myDay,since){ if(!navigator.cookieEnabled) { return 0; } var val = getCookie( cookieId ); var ids = new Array(); if( val != null ){ ids = val.split(':'); for(var i = 0; i < ids.length ; i++){ var id = ids[i]; if( id == pid) { if( 0 ){ return 1; }else{ ids.splice(i,1); } } } } if( 0 && since ){ ids.push( pid ); } var newValue = ids.join( ':' ); setCookie( cookieId, newValue, myDay ); return 0; } function setCookie(cookieId,myValue,myDay){ if( myDay <= 0 ) myDay = 1; myExp = new Date(); myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000)); myItem = cookieId + "=" + escape(myValue) + ";"; document.cookie = myItem; } function getCookie(cookieId){ var cookie_name = cookieId + "="; myValue = null; myStr = document.cookie + ";" ; myOfst = myStr.indexOf(cookie_name); if (myOfst != -1){ myStart = myOfst + cookie_name.length; myEnd = myStr.indexOf(";" , myStart); myValue = unescape(myStr.substring(myStart,myEnd)); } return myValue; }