/********************************************************* Versao: 2008.1 Projeto: Sessions Tools Criado por: alex.sevilla@gmail.com Data criacao: 4/05/2008 Alterado por: Descricao: javascript functions for tools objects ********************************************************* http://www.solucionator.com *********************************************************/ var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; var sToolsSrc = 'https://documents.sessions.edu/eforms/courseware/MMTools/tools/tools';//path for the tool.swf - without the .swf var sPrintableDir = 'https://documents.sessions.edu/eforms/courseware/MMtools/printcovers/';//printable covers directory var iCount = 0;//how many gadgets have being created var aTools = new Array();//this is the tools container var sRootID = 'toolGadget';//id radical for the objects and divs var sContainerClass = 'toolGadget';// is the class for the div container var sWrapperClass = 'toolGadget';// is the class for the wrapper, recomended using the same as the container var sPrintableClass = 'toolPrintable';// is the class for the printable image var iWidth = '100%';// will use the hole extension of the div wrapper var iHeight = '100%';// will use the hole extension of the div wrapper var aFlashVars = new Array();//sets the variables for the tool function newTool(sFileUrl){ iCount ++; aFlashVar = new Array(); sContainerID = sRootID + 'Container' + iCount; sWrapperID = sRootID + 'Wrapper' + iCount; sObjectID = sRootID + 'Obj' + iCount; setContainer(sContainerClass, sContainerID,sWrapperClass, sWrapperID); aFlashVars = new Array(); aFlashVars.addVar('sid', iCount); aFlashVars.addVar('file', sFileUrl); if (AC_FL_RunContent == 0) { alert("This page requires AC_RunActiveContent.js."); } else { AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0', 'width', iWidth, 'height', iHeight, 'src', sToolsSrc, 'quality', 'high', 'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 'align', 'middle', 'play', 'true', 'loop', 'true', 'scale', 'noscale', 'wmode', 'transparent', 'devicefont', 'false', 'id', sObjectID, 'name', sObjectID, 'menu', 'false', 'allowFullScreen', 'false', 'allowScriptAccess','always', 'movie', sToolsSrc, 'salign', 'lt', 'flashVars', aFlashVars.getVars() ); //end AC code } closeContainer(); aTools.push(sObjectID); try{ document.getElementById(sObjectID).focus(); document.getElementById(sObjectID).blur(); }catch(e){ eval(sObjectID).focus(); eval(sObjectID).blur(); window.scrollTo(0,0); } } function setContainer(sContClass, sContID,sWrapClass, sWrapID){ sHtml = '' + "\r"; sHtml += '
' + "\r"; sHtml += '
' + "\r"; document.write(sHtml); } function closeContainer(){ sHtml = '
' + "\r"; sHtml += '
' + "\r"; document.write(sHtml); } Array.prototype.addVar = function(sName, sValue){ this.push({name: sName, value:sValue}); } Array.prototype.getVars = function(){ sGet = ''; for(i = 0; i < this.length; i++){ sGet += this[i].name + '=' + this[i].value + '&'; } return sGet; } Array.prototype.inArray = function(sVal){ bResp = false; for(i = 0; i < this.length; i++){ bResp = (this[i] == sVal)?true:false; } return bResp; } function resize(width, height, iID, scroll){ sContID = sRootID + 'Container' + iID; sWrapID = sRootID + 'Wrapper' + iID; sObjectID = sRootID + 'Obj' + iID; document.getElementById(sWrapID).style.width = width; document.getElementById(sWrapID).style.height = height; document.getElementById(sContID).style.width = width; document.getElementById(sContID).style.height = height; if(scroll){document.getElementById(sContID).scrollIntoView(true)}; } function setPrintable(iID, sImg){ sWrapID = sRootID + 'Wrapper' + iID; sPrintID = 'print_' + sWrapID; //sPrintImg = sImg.replace(/(covers\/\w*)(\.\w{3})\b/, 'print$2'); sPrintImg = sImg.replace(/(\w*[\/\.:])*(\w*[^\/])(\w*\.)(xml)\b/, '$2$3jpg'); document.getElementById(sPrintID).innerHTML = ''; } // generic flash documents starts here // openFlash(fileName,[params]) // params: width, height, quality, align, play, loop, scale, wmode, salign function openFlash(sFileUrl, sParams){ iCount ++; aFVars = new Array(); sContainerID = sRootID + 'Container' + iCount; sWrapperID = sRootID + 'Wrapper' + iCount; sObjectID = sRootID + 'Obj' + iCount; setContainer(sContainerClass, sContainerID,sWrapperClass, sWrapperID); aFVars = getFlashParams(sParams); if (AC_FL_RunContent == 0) { alert("This page requires AC_RunActiveContent.js."); } else { AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0', 'width', aFVars.getValue('width','100%'), 'height', aFVars.getValue('height','100%'), 'src', sFileUrl, 'quality', aFVars.getValue('quality','high'), 'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 'align', aFVars.getValue('align','middle'), 'play', aFVars.getValue('play','true'), 'loop', aFVars.getValue('loop','true'), 'scale', aFVars.getValue('scale','noscale'), 'wmode', aFVars.getValue('wmode','transparent'), 'devicefont', 'false', 'id', sObjectID, 'name', sObjectID, 'menu', 'false', 'allowFullScreen', 'false', 'allowScriptAccess','always', 'movie', sFileUrl, 'salign', aFVars.getValue('salign','lt') ); //end AC code } closeContainer(); aTools.push(sObjectID); setFlashPrintable(iCount, sFileUrl); resize(aFVars.getValue('width','100%'), aFVars.getValue('height','100%'), iCount); try{ document.getElementById(sObjectID).focus(); document.getElementById(sObjectID).blur(); }catch(e){ eval(sObjectID).focus(); eval(sObjectID).blur(); window.scrollTo(0,0); } } function getFlashParams(sParams){ aFlashParams = Array(); aTempPar = Array(); sParams = sParams.replace(/\s/gi, ''); if(!sParams){ return aFlashParams; } aPar = sParams.split(';'); for(i = 0; i < aPar.length; i++){ aTempPar = aPar[i].split(':'); aFlashParams.addVar(aTempPar[0], aTempPar[1]); } return aFlashParams; } function setFlashPrintable(iID, sImg){ sWrapID = sRootID + 'Wrapper' + iID; sPrintID = 'print_' + sWrapID; sPrintImg = sImg + ".jpg"; document.getElementById(sPrintID).innerHTML = ''; } Array.prototype.getValue = function(sName, sDefault){ sVal = sDefault; for(i = 0; i < this.length; i++){ sVal = (this[i].name == sName)? this[i].value : sVal; } return sVal; }