var trafficsqueezerMensajeAlerta = ">>>> BEFORE YOU GO YOU MUST SEE THIS <<<<\nClick on button CANCEL to read something important!"; var trafficsqueezerAncho = 600; var trafficsqueezerAlto = 300; var trafficsqueezerAnchoT = 8 + 600; var trafficsqueezerAltoT = 30 + 300; var trafficsqueezerUrl = 'http://www.oscaralderete.com/imagenes/trafficsqueezer_banner.jpg'; var trafficsqueezerLink = 'http://www.oscaralderete.com'; var trafficsqueezerMostrados = 1; var trafficsqueezerMostrar = 2; var trafficsqueezerDivBg = '#eee'; var trafficsqueezerSitioRaiz = 'http://www.trafficsqueezer.com/'; var trafficsqueezerTsid = 2; var trafficsqueezerType = 1; function trafficsqueezerHookEvent(element, eventName, callback){ if(typeof(element) == "string") element = document.getElementById(element); if(element == null) return; if(element.addEventListener) element.addEventListener(eventName, callback, false); else if(element.attachEvent) element.attachEvent("on" + eventName, callback); } function trafficsqueezerUnhookEvent(element, eventName, callback){ if(typeof(element) == "string") element = document.getElementById(element); if(element == null) return; if(element.removeEventListener) element.removeEventListener(eventName, callback, false); else if(element.detachEvent) element.detachEvent("on" + eventName, callback); } function trafficsqueezerCancelEvent(e){ e = e ? e : window.event; if(e.stopPropagation) e.stopPropagation(); if(e.preventDefault) e.preventDefault(); e.cancelBubble = true; e.cancel = true; e.returnValue = false; return false; } function trafficsqueezerPosition(x, y){ this.X = x; this.Y = y; this.Add = function(val){ var newPos = new trafficsqueezerPosition(this.X, this.Y); if(val != null){ if(!isNaN(val.X)) newPos.X += val.X; if(!isNaN(val.Y)) newPos.Y += val.Y } return newPos; } this.Subtract = function(val){ var newPos = new trafficsqueezerPosition(this.X, this.Y); if(val != null){ if(!isNaN(val.X)) newPos.X -= val.X; if(!isNaN(val.Y)) newPos.Y -= val.Y } return newPos; } this.Min = function(val){ var newPos = new trafficsqueezerPosition(this.X, this.Y) if(val == null) return newPos; if(!isNaN(val.X) && this.X > val.X) newPos.X = val.X; if(!isNaN(val.Y) && this.Y > val.Y) newPos.Y = val.Y; return newPos; } this.Max = function(val){ var newPos = new trafficsqueezerPosition(this.X, this.Y) if(val == null) return newPos; if(!isNaN(val.X) && this.X < val.X) newPos.X = val.X; if(!isNaN(val.Y) && this.Y < val.Y) newPos.Y = val.Y; return newPos; } this.Bound = function(lower, upper){ var newPos = this.Max(lower); return newPos.Min(upper); } this.Check = function(){ var newPos = new trafficsqueezerPosition(this.X, this.Y); if(isNaN(newPos.X)) newPos.X = 0; if(isNaN(newPos.Y)) newPos.Y = 0; return newPos; } this.Apply = function(element){ if(typeof(element) == "string") element = document.getElementById(element); if(element == null) return; if(!isNaN(this.X)) element.style.left = this.X + 'px'; if(!isNaN(this.Y)) element.style.top = this.Y + 'px'; } } function trafficsqueezerAbsoluteCursorPosition(eventObj){ eventObj = eventObj ? eventObj : window.event; if(isNaN(window.scrollX)) return new trafficsqueezerPosition(eventObj.clientX + document.documentElement.scrollLeft + document.body.scrollLeft, eventObj.clientY + document.documentElement.scrollTop + document.body.scrollTop); else return new trafficsqueezerPosition(eventObj.clientX + window.scrollX, eventObj.clientY + window.scrollY); } function trafficsqueezerDragObject(element, attachElement, lowerBound, upperBound, startCallback, moveCallback, endCallback, attachLater){ if(typeof(element) == "string") element = document.getElementById(element); if(element == null) return; if(lowerBound != null && upperBound != null){ var temp = lowerBound.Min(upperBound); upperBound = lowerBound.Max(upperBound); lowerBound = temp; } var cursorStartPos = null; var elementStartPos = null; var dragging = false; var listening = false; var disposed = false; function dragStart(eventObj){ if(dragging || !listening || disposed) return; dragging = true; if(startCallback != null) startCallback(eventObj, element); cursorStartPos = trafficsqueezerAbsoluteCursorPosition(eventObj); elementStartPos = new trafficsqueezerPosition(parseInt(element.style.left), parseInt(element.style.top)); elementStartPos = elementStartPos.Check(); trafficsqueezerHookEvent(document, "mousemove", trafficsqueezerDragGo); trafficsqueezerHookEvent(document, "mouseup", trafficsqueezerDragStopHook); return trafficsqueezerCancelEvent(eventObj); } function trafficsqueezerDragGo(eventObj){ if(!dragging || disposed) return; var newPos = trafficsqueezerAbsoluteCursorPosition(eventObj); newPos = newPos.Add(elementStartPos).Subtract(cursorStartPos); newPos = newPos.Bound(lowerBound, upperBound) newPos.Apply(element); if(moveCallback != null) moveCallback(newPos, element); return trafficsqueezerCancelEvent(eventObj); } function trafficsqueezerDragStopHook(eventObj){ trafficsqueezerDragStop(); return trafficsqueezerCancelEvent(eventObj); } function trafficsqueezerDragStop(){ if(!dragging || disposed) return; trafficsqueezerUnhookEvent(document, "mousemove", trafficsqueezerDragGo); trafficsqueezerUnhookEvent(document, "mouseup", trafficsqueezerDragStopHook); cursorStartPos = null; elementStartPos = null; if(endCallback != null) endCallback(element); dragging = false; } this.Dispose = function(){ if(disposed) return; this.StopListening(true); element = null; attachElement = null lowerBound = null; upperBound = null; startCallback = null; moveCallback = null endCallback = null; disposed = true; } this.StartListening = function(){ if(listening || disposed) return; listening = true; trafficsqueezerHookEvent(attachElement, "mousedown", dragStart); } this.StopListening = function(stopCurrentDragging){ if(!listening || disposed) return; trafficsqueezerUnhookEvent(attachElement, "mousedown", dragStart); listening = false; if(stopCurrentDragging && dragging) trafficsqueezerDragStop(); } this.IsDragging = function(){ return dragging; } this.IsListening = function() { return listening; } this.IsDisposed = function() { return disposed; } if(typeof(attachElement) == "string") attachElement = document.getElementById(attachElement); if(attachElement == null) attachElement = element; if(!attachLater) this.StartListening(); } function trafficsqueezerCloseDiv(){ if (typeof(trafficsqueezerDisplayMethod) != 'undefined') trafficsqueezerDisplayMethod--; document.getElementById('trafficsqueezerOculto').style.display = 'none'; document.getElementById('trafficsqueezerOculto').style.visibility = 'hidden'; } function trafficsqueezerGetScrollY(){ var scrOfY = 0; if(typeof(window.pageYOffset) == 'number') scrOfY = window.pageYOffset; else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) scrOfY = document.body.scrollTop; else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) scrOfY = document.documentElement.scrollTop; var Y = scrOfY + 50; return Y + 'px'; } function trafficsqueezerCloseIt(){ if (trafficsqueezerMostrados < trafficsqueezerMostrar){ if (typeof(trafficsqueezerDisplayMethod) != 'undefined') trafficsqueezerDisplayMethod++; document.getElementById('trafficsqueezerOculto').style.top = trafficsqueezerGetScrollY(); document.getElementById('trafficsqueezerOculto').style.display = 'block'; document.getElementById('trafficsqueezerOculto').style.visibility = 'visible'; trafficsqueezerMostrados++; return trafficsqueezerMensajeAlerta; } } document.write(''); var trafficsqueezerOcultoDraggable = null; function trafficsqueezerInitialize(){ trafficsqueezerOcultoDraggable = new trafficsqueezerDragObject("trafficsqueezerOculto", "trafficsqueezerOcultoHandle"); } trafficsqueezerInitialize(); window.onbeforeunload = trafficsqueezerCloseIt; function trafficsqueezerCreateCookie(name,value,days){ if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = '; expires=' + date.toGMTString(); } else var expires = ''; document.cookie = name + '=' + value + expires + '; path=/'; } function trafficsqueezerReadCookie(name){ var nameEQ = name + '='; var ca = document.cookie.split(';'); for(var i=0; i