function WaitViewerText(){ document.write (""); wh = document.body.offsetHeight/2 - waitBox.offsetHeight/2; ww = document.body.offsetWidth/2 - waitBox.offsetWidth/2; waitBox.style.top = wh; waitBox.style.left = ww; waitBox.style.visibility = "visible"; } function WaitViewer(){ waitBox.style.visibility = ""; } function close_wating() { waitBox.style.visibility = "hidden"; } // ¿òÁ÷ÀÌ´Â ·¹À̾î ÇÃ·ÎÆÃ var StickerAnimation = function(){}; StickerAnimation.prototype = { duration : null, obj : null, from : null, to : null, timer : 0, step : 0, start : function(obj, from, to, duration, type){ var self = this; this.obj = obj; this.from = from; this.to = to; this.now = new Date; this.duration = duration || 1000; this._delta = this['_delta' +(type || 'Elastic')]; if(this.timer) this.stop(); this.timer = setInterval(function(){self.run();}, 10); }, run : function(){ var time = ((new Date) - this.now) / this.duration; var delta = this._delta(time); var step = Math.pow(2, this.step); var dep_x = (this.to.x - this.from.x) * delta; var dep_y = (this.to.y - this.from.y) * delta; if(time > 1){ this.stop(); this.end(); }else{ this.obj.style.marginLeft = this.from.x + dep_x + "px"; this.obj.style.marginTop = this.from.y + dep_y + "px"; } }, end : function(){ this.obj.style.marginLeft = (this.to.x) + "px"; this.obj.style.marginTop = (this.to.y) + "px"; }, stop : function(){ clearInterval(this.timer); this.timer = 0; }, _deltaBounce : function(pos){ var p = 1 - pos; var value; for (var a = 0, b = 1; 1; a += b, b /= 2){ if (p >= (7 - 4 * a) / 11){ value = - Math.pow((11 - 6 * a - 11 * p) / 4, 2) + b * b; break; } } return 1 - value; }, _deltaExpo : function(pos){ var p = 1 - pos; return 1 - Math.pow(2, 8 * (p - 1)); }, _deltaElastic : function(pos){ var p = 1 - pos; return 1 - Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * 1 / 3); }, _deltaStatic : function(pos){ return 1; } } var StickerManager = { init : false, stickers : [], opts : [], add : function(id, duration, type){ if(!this.init){ var self = this; var init_event = function(){self.oninit();}; var scroll_event = function(){self.onscroll();}; if(window.attachEvent){ window.attachEvent('onload', init_event); window.attachEvent('onscroll', scroll_event); }else{ window.addEventListener('load', init_event, false); document.addEventListener('scroll', scroll_event, false); } this.init = true; } this.stickers.push(id); this.opts.push({duration:duration,type:type}); }, oninit : function(){ var sticker; for(var x = 0, len = this.stickers.length; x < len; x++){ sticker = document.getElementById(this.stickers[x]); if(!sticker){ alert(this.stickers[x] + ' is bad id.'); this.stickers[x] = null; continue; } this.stickers[x] = sticker; sticker.style.marginLeft = sticker.style.marginTop = "0px"; } }, onscroll : function(){ var left = parseInt(document.body.scrollLeft); var top = parseInt(document.body.scrollTop); var sticker; for(var x = 0, len = this.stickers.length; x < len; x++){ sticker = this.stickers[x]; if(!sticker) continue; if(!sticker.animation){ sticker.animation = new StickerAnimation(); }else{ sticker.animation.stop(); } sticker.animation.start( sticker, {x:parseInt(sticker.style.marginLeft), y:parseInt(sticker.style.marginTop)}, {x:left, y:top}, this.opts[x].duration, this.opts[x].type ); } } }