// variabili globali var baseURL = "http://www.next-aim.com/" var imageURL = "http://www.next-aim.com/upload//images/" var imageAlt = "Doppio click per chiudere la finestra." //funzione per risolvere i problemi del target blank. function OpenNewWindow(a, w, h){ if (w==0 || h==0){ a.target = '_blank'; } else{ try{ if(event.shiftKey || event.shiftLeft){ a.target = '_blank'; } else{ a.target = 'prova'; return OpenSizedWindow(a.href, 'prova', w, h); } } catch(except){ a.target = '_blank'; } } } function OpenWindow(url, width, height){ OpenSizedWindow(url, '_blank', width, height) } function OpenSizedWindow(url, target, width, height){ var properties if (width=='') properties = '' else properties = 'width=' + width + ', height=' + height + ', resizable=yes, scrollbars=yes, status=yes, menubar=no, toolbars=no' var w = window.open(url, target, properties); if (!w.opener) w.opener = this; return void(0); } function OpenAutoPositionedSizedWindow(url, target, width, height){ var properties var x, y; var top, left; try{ //calcola coordinata Y y = (event.screenY - event.offsetY) + 20; if ((y + height)>(screen.height-100)) y = (screen.height - height - 100); //calcola coordinata X x = (event.screenX - (width/2)); if (x < 20) x = 20; else if ((x + width)>(screen.width-20)) x = (screen.width - width - 20); top = 'top=' + y + ', '; left = 'left=' + x + ', '; } catch(except){ top=''; left=''; } if (width=='') properties = '' else properties = 'width=' + width + ', height=' + height + ', ' properties += top + left + 'resizable=yes, scrollbars=yes, status=yes, menubar=no, toolbars=no' var w = window.open(url, target, properties); if (!w.opener) w.opener = this; return void(0); } function OpenPositionedScrollWindow(url, target, left, top, width, height, scrollbars){ var properties if ((height + top)>(screen.height-60)){ height = screen.height - top - 60; width += 20; } if (width=='') properties = ''; else properties = 'left=' + left + ', top=' + top + ', width=' + width + ', height=' + height + ', resizable=yes, status=yes, menubar=no, toolbars=no'; if (scrollbars) properties += ", scrollbars=yes"; else properties += ", scrollbars=no"; var pW = window.open(url, target, properties); return pW; } function OpenAutoPositionedScrollWindow(url, target, width, height, scrollbars){ var top, left, except; try { //calcola coordinata Y top = (event.screenY - event.offsetY) + 20; if ((top + height)>(screen.height-100)) top = (screen.height - height - 100); //calcola coordinata X left = (event.screenX - (width/2)); if (left <20) left = 20; else if ((left + width)>(screen.width-20)) left = (screen.width - width - 20); } catch(except){ top = screenX + (outerWidth - innerWidth); left = screenY + (outerHeight - innerHeight); } var pW = OpenPositionedScrollWindow(url, target, left, top, width, height, scrollbars) return pW; } function opensmartimage(image){ OpenSmartImage(image); } var ImageWindowCount = 0; var ImageWindow; function OpenSmartImage(image){ if (ImageWindowCount){ ImageWindow.close(); ImageWindow = null; ImageWindowCount = 0; } ImageWindow = window.open('', 'ImageWindow', 'width=300,height=250,resizable=yes,scrollbars=no'); ImageWindowCount++; ImageWindow.document.open(); ImageWindow.document.write('\n'); ImageWindow.document.write('\t\n'); ImageWindow.document.write('\t\n'); ImageWindow.document.write('\t\t\n'); ImageWindow.document.write('\t\n'); ImageWindow.document.write('\t\n'); ImageWindow.document.write('\t\t
\n'); if (image.indexOf("http") == -1) image = imageURL + image ImageWindow.document.write('\t\t\t'+ imageAlt +'\n'); ImageWindow.document.write('\t\t
\n'); ImageWindow.document.write('\t\n'); ImageWindow.document.write('\n'); ImageWindow.document.close(); if (!ImageWindow.opener) ImageWindow.opener = this; return void(0); } function OpenSmartImageResizer(w, h){ ImageWindow.resizeTo(w + 12, h + 61); } //Funzione per il debug: elenca tutte le proprieta' dell'oggetto passato come parametro function displayproperties(obj){ var w = window.open("", "properties","left=350, top=300, width=400,height=350, scrollbars=yes, menubar=no, toolsbar=no, status=no, resizable") var prop; var i=0; var str=""; for (prop in obj){ i +=1; str += "\n\n\n\n\n"; } str += "
\n\t" + i + "\n\n\t" + prop + "\n" + eval("obj." + prop) + "
" w.document.open(); w.document.write(str); w.document.close(); } var initWidth, initHeight; // evento chiamato sull'onload dalla funzione ResizeWindow function Fit() { window.resizeBy(MaxLayerWidth() - initWidth, MaxLayerHeight() - initHeight); } // ridimensiona la finestra partendo dalle dimensioni iniziali in input function ResizeWindow(w, h) { initWidth = w, initHeight = h; window.moveTo(0, 0) window.onload = Fit } // restituisce il numero della versione dell'explorer function getMSIEBrowserVersion() { try { var browser = navigator.appVersion.split(';')[1]; if (browser.indexOf('MSIE') == -1) return -1; return parseInt(browser.substr(browser.lastIndexOf(' '))) } catch (e) { return -1; } } var MSIEVersione = getMSIEBrowserVersion(); //v1.1 //Copyright 2006 Adobe Systems, Inc. All rights reserved. function AC_AX_RunContent(){ var ret = AC_AX_GetArgs(arguments); AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); } function AC_AX_GetArgs(args){ var ret = new Object(); ret.embedAttrs = new Object(); ret.params = new Object(); ret.objAttrs = new Object(); for (var i=0; i < args.length; i=i+2){ var currArg = args[i].toLowerCase(); switch (currArg){ case "pluginspage": case "type": case "src": ret.embedAttrs[args[i]] = args[i+1]; break; case "data": case "codebase": case "classid": case "id": case "onafterupdate": case "onbeforeupdate": case "onblur": case "oncellchange": case "onclick": case "ondblClick": case "ondrag": case "ondragend": case "ondragenter": case "ondragleave": case "ondragover": case "ondrop": case "onfinish": case "onfocus": case "onhelp": case "onmousedown": case "onmouseup": case "onmouseover": case "onmousemove": case "onmouseout": case "onkeypress": case "onkeydown": case "onkeyup": case "onload": case "onlosecapture": case "onpropertychange": case "onreadystatechange": case "onrowsdelete": case "onrowenter": case "onrowexit": case "onrowsinserted": case "onstart": case "onscroll": case "onbeforeeditfocus": case "onactivate": case "onbeforedeactivate": case "ondeactivate": ret.objAttrs[args[i]] = args[i+1]; break; case "width": case "height": case "align": case "vspace": case "hspace": case "class": case "title": case "accesskey": case "name": case "tabindex": ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1]; break; default: ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1]; } } return ret; } //v1.0 //Copyright 2006 Adobe Systems, Inc. All rights reserved. function AC_AddExtension(src, ext) { if (src.indexOf('?') != -1) return src.replace(/\?/, ext+'?'); else return src + ext; } function AC_Generateobj(objAttrs, params, embedAttrs) { var str = ' '; str += '= 0) { if (mas < layers[i].offsetLeft + layers[i].clientWidth) mas = layers[i].offsetLeft + layers[i].clientWidth } return mas } // restituisce la coordinata y del punto piu basso fra i layers della dynalay function MaxLayerHeight() { var mas = 0 var layers = document.getElementsByTagName("div") for(var i = 0; i < layers.length; i++) if (layers[i].id.indexOf("lay_") >= 0) { // explorer 7: se imposto l'altezza di un div ed il contenuto la supera non ridimensiona il div // escludo i layers perche caricati in un secondo momento via js e con IE7 non si ridimensionano if (navigator.userAgent.indexOf("MSIE 6.0") == -1 && layers[i].className.indexOf("layers_flash") == -1) { layers[i].style.minHeight = layers[i].style.height layers[i].style.height = "auto" } if (mas < layers[i].offsetTop + layers[i].clientHeight) mas = layers[i].offsetTop + layers[i].clientHeight } return mas } /****************************************************************** FLOAT LAYERS WITH SCROLL */ // array di layer da spostare var FloatLayers = new Array(); var prevScrollTop = 0; // restituisce la posizione orizzontale dell'elemento in input function getXCoord(el) { x = 0; while(el) { x += el.offsetLeft; el = el.offsetParent; } return x; } // restituisce la posizione verticale dell'elemento in input function getYCoord(el) { y = 0; while(el) { y += el.offsetTop; el = el.offsetParent; } return y; } // rende un layer spostabile function floatMaking(layerName, x, y, speed) { // aggangia il metodo di spostamento agli eventi pagina window.onresize = floatAllLayers; window.onscroll = floatAllLayers; var layer = document.getElementById(layerName); // setta alcune nuove proprieta al layer layer.prevX = getXCoord(layer); layer.prevY = getYCoord(layer); layer.floatX = x; layer.floatY = y; layer.steps = speed; layer.ifloatX = Math.abs(x); // coordinata x iniziale layer.ifloatY = Math.abs(y); // coordinata y iniziale layer.tm = null; // funzione in timeout (serve per evitare concorrenza) layer.style.position = 'absolute'; // resetta le impostazioni del layer per calcolare quelle effettive (gestione specifica per i div della dynalay) layer.style.height = "auto"; FloatLayers.push(layer); floatLayer(layer); } // sposta tutti i layer function floatAllLayers() { for(var i = 0; i < FloatLayers.length; i++) floatLayer(FloatLayers[i]); // salvo lo scroll precedente per capire se sto scendendo o salendo if (document.documentElement) prevScrollTop = document.documentElement.scrollTop else prevScrollTop = document.body.scrollTop; } // calcola ed avvia lo spostamento (da ottimizzare quello orizzontale) del layer (div) in input e controlla che l'altezza non superi la pagina function floatLayer(layer) { var marginY = 100; // margine di visualizzazione sotto al layer // calcolo lo spostamento if (document.documentElement) { // doctype transitional var windowHeight; if (navigator.userAgent.indexOf('Opera') >= 0) windowHeight = document.body.clientHeight; else windowHeight = document.documentElement.clientHeight; if (prevScrollTop > document.documentElement.scrollTop || layer.prevY + layer.clientHeight + marginY < windowHeight + document.documentElement.scrollTop) { // left layer.floatX = document.documentElement.scrollLeft + layer.ifloatX; // top if (layer.clientHeight > windowHeight) layer.floatY = document.documentElement.scrollTop; else layer.floatY = document.documentElement.scrollTop + layer.ifloatY; /* // right layer.floatX = document.documentElement.scrollLeft + document.documentElement.clientWidth - layer.ifloatX - layer.offsetWidth; // bottom layer.floatY = document.documentElement.scrollTop + document.documentElement.clientHeight - layer.ifloatY - layer.offsetHeight; */ } } else { if (prevScrollTop > document.body.scrollTop || layer.prevY + layer.clientHeight + marginY < document.body.clientHeight + document.body.scrollTop) { // left layer.floatX = document.body.scrollLeft + layer.ifloatX; // top if (layer.clientHeight > document.body.clientHeight) layer.floatY = document.body.scrollTop; else layer.floatY = document.body.scrollTop + layer.ifloatY; /* // right layer.floatX = document.body.scrollLeft + document.body.clientWidth - layer.ifloatX - layer.offsetWidth; // bottom layer.floatY = document.body.scrollTop + document.body.clientHeight - layer.ifloatY - layer.offsetHeight; */ } } // controllo che non sfori mai le posizioni iniziali if (layer.floatY < layer.ifloatY) layer.floatY = layer.ifloatY if (layer.floatX < layer.ifloatX) layer.floatX = layer.ifloatX // controllo che non sfori mai l'altezza della pagina var documentHeight = MaxLayerHeight(); if (layer.floatY + layer.clientHeight > documentHeight) layer.floatY = documentHeight - layer.clientHeight // avvio lo spostamento if(layer.prevX != layer.floatX || layer.prevY != layer.floatY) if (layer.tm == null) layer.tm = setTimeout(function () { floatDo(layer); }, 50); } // sposta il layer in input (solo in verticale) function floatDo(layer) { layer.tm = null; if (layer.style.position != 'absolute') return; var dx = Math.abs(layer.floatX - layer.prevX); var dy = Math.abs(layer.floatY - layer.prevY); if (dx < layer.steps / 2) cx = (dx >= 1) ? 1 : 0; else cx = Math.round(dx / layer.steps); if (dy < layer.steps / 2) cy = (dy >= 1) ? 1 : 0; else cy = Math.round(dy / layer.steps); if (layer.floatX > layer.prevX) layer.prevX += cx; else if (layer.floatX < layer.prevX) layer.prevX -= cx; if (layer.floatY > layer.prevY) layer.prevY += cy; else if (layer.floatY < layer.prevY) layer.prevY -= cy; //layer.style.left = layer.prevX + "px"; layer.style.top = layer.prevY + "px"; if (cx != 0 || cy != 0) if (layer.tm == null) layer.tm = setTimeout(function () { floatDo(layer); }, 50); } /********************************************************************************************/ function OpenPage(page, width, height){ OpenAutoPositionedSizedWindow(baseURL + "dynalay.asp?PAGINA=" + page.toString(), "_blank", width, height) } function openimage(image, width, height){ OpenImage(image, width, height); } function OpenImage(image, width, height){ if (width=='') properties = '' else properties = 'width=' + width + ', height=' + height + ', resizable=yes, scrollbars=yes, status=yes, menubar=no, toolbars=no' var w = window.open(imageURL + image, '_blank', properties); if (!w.opener) w.opener = this; return void(0); }