if(! EL){ function EasyLayer(){ } EasyLayer.prototype={ vendor : 'Refero Group SRL', product : 'Easy Layer', version : '0.9', vendorWeb : 'http://www.referogroup.com', web : 'http://www.easylayer.info', appendChild : true, bringToParent : true, childs : new Array(), iFrames : new Array(), parentEL : false, parent : false, CFDevMode : false, messageClsTimeInSec : 10, messageShow : true, hashAddressing : false, // ---------------- hashNoListenIfPre : '_', hashDest : '', hashDefAddress : '', aHashOnSend : false, aHashOnLoad : false, aHashSendPost : {'EL_load_via_ajax' : 'true'}, replaceAHrefToHash : false, // ----------- loadHashAfterPageDone : true, hashToPageOnLoad : true, control : false, alt : false, shift : false, keysArray : new Array(), AdobeFlash : false, aReqType : 'GET', aIsAsync : true, aOnSend : false, aOnLoad : false, xmlhttp : false, aDest : '', aDestFunction : false, aLoaderSameDest : false, replaceRadioBox : false, replaceCheckBox : false, replaceSelects : false, replaceAlerts : false, ieCanvasInit : true, selectMaxVizRows : 15, SWFileUpload : '/ELFilesUpload-1.0.0.swf', replaceFileUpload : true, multipleFileUpload : true, fileUploadEmptyText : 'For upload files click here', fileUploadSelectedText : 'One or more file(s) selected', browserSpeed : 0, submitErrorStyle : '; border:3px solid #ff0000; margin:-3px; ', defaultDateSeparator : "-", defaultDateFormat : "ymd", defaultStyles : { select : { def : 'position:absolute; top:0px; left:0px; margin:-1px; background-color:#eee; border:1px solid #aaa; padding-left:2px; font-size:11pt; -moz-border-radius:2px; -webkit-border-radius:2px; -khtml-border-radius:2px; border-radius:2px; ', hover : 'border:1px solid #c36500; ', active : '' }, radio : { unChecked : { def : 'position:absolute; top:0px; left:0px; border:2px solid #aaa; background-color:#ccc; -moz-border-radius:10px; -webkit-border-radius:10px; -khtml-border-radius:10px; border-radius:10px; ', hover : 'border:2px solid #777; ', focus : '' }, checked : { def : 'position:absolute; top:0px; left:0px; border:2px solid #0a0; background-color:#4f4; -moz-border-radius:10px; -webkit-border-radius:10px; -khtml-border-radius:10px; border-radius:10px; ', hover : 'border:2px solid #777; ', focus : '' }, checkObj : '' }, checkbox : { unChecked : { def : 'position:absolute; top:0px; left:0px; border:2px solid #aaa; background-color:#ccc; -moz-border-radius:3px; -webkit-border-radius:3px; -khtml-border-radius:3px; border-radius:3px; ', hover : 'border:2px solid #777; ', active : '' }, checked : { def : 'position:absolute; top:0px; left:0px; border:2px solid #0a0; background-color:#4f4; -moz-border-radius:3px; -webkit-border-radius:3px; -khtml-border-radius:3px; border-radius:3px; ', hover : 'border:2px solid #777; ', active : '' }, checkObj : '' }, tab : { def : 'display:inline; padding:5px; padding-top:2px; padding-bottom:2px; width:40px; cursor:pointer; margin:2px; -moz-border-radius-topleft:3px; -webkit-border-top-left-radius:3px; -khtml-border-top-left-radius:3px; border-top-left-radius:3px; -moz-border-radius-topright:3px; -webkit-border-top-right-radius:3px; -khtml-border-top-right-radius:3px; border-top-right-radius:3px; ', unSelected : { def : 'background-color:#eee; border:2px solid #ccc; border-bottom:2px solid #ffcb19; ', hover : 'background-color:#fff; ' }, selected : { def : 'background-color:#ffcb19; border:2px solid #ffcb19; ', hover : 'background-color:#fff; border:2px solid #fff; ' }, content : '' }, alert : { window : 'position:relative; top:20%; left:50%; margin-left:-120px; border:1px solid #333; background-color:#fff; width:240px; max-width:240px; z-index:1001; -moz-border-radius:3px; -webkit-border-radius:3px; -khtml-border-radius:3px; border-radius:3px; box-shadow:0px 2px 10px rgba(0, 0, 0, .9); -moz-box-shadow:0px 2px 10px rgba(0, 0, 0, .9); -webkit-box-shadow:0px 2px 10px rgba(0, 0, 0, .9); -khtml-box-shadow:0px 2px 10px rgba(0, 0, 0, .9); ', header : 'padding:5px; margin:0px; background-color:#e00; font-weight:bold; font-size:8pt; color:#fff; -moz-border-radius-topleft:3px; -webkit-border-top-left-radius:3px; -khtml-border-top-left-radius:3px; border-top-left-radius:3px; -moz-border-radius-topright:3px; -webkit-border-top-right-radius:3px; -khtml-border-top-right-radius:3px; border-top-right-radius:3px; ', headerText : 'Alert', alert : 'padding:10px; font-size:11pt; font-weight:normal; color:#a00; margin:0px; ', button : 'margin-left:auto; display:block; padding:3px; margin-right:6px; font-size:10pt; ', buttonCont : 'margin:3px; width:100%; ', background : 'position:fixed; top:0px; left:0px; width:100%; height:100%; background-color:#000; opacity:.6; z-index:1000; ' }, menubar : { appear : 'mouseover', 0 : { //level 1 ul : 'margin:0px; padding:0px; ', def : 'float:left; padding:2px; margin:0px; background-color:#aaa; color:#555; ', hover : 'background-color:#eee; ' }, 1 : { //level 2 ul : 'position:absolute; top:20px; left:2px; margin:0px; padding:0px; display:none; width:60px; ', def : 'clear:both; padding:3px; margin:0px; background-color:#bbb; color:#777; ', hover : 'background-color:#ddd; ' }, 2 : { //level 3 ul : 'position:absolute; top:2px; left:60px; margin:0px; padding:0px; display:none; width:60px; ', def : 'clear:both; padding:3px; margin:0px; background-color:#bbb; color:#777; ', hover : 'background-color:#ddd; ' } }, message : 'display:block; position:fixed; box-shadow:0px 0px 5px rgba(0, 0, 0, .8); -moz-box-shadow:0px 0px 5px rgba(0, 0, 0, .8); -webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, .8); -khtml-box-shadow:0px 0px 5px rgba(0, 0, 0, .8); z-index:100; border:1px solid #aaa; padding:5px; background-color:#eee; top:-1px; left:50%; opacity:.9; -moz-border-radius-bottomleft:5px; -webkit-border-bottom-left-radius:5px; -khtml-border-bottom-left-radius:5px; border-bottom-left-radius:5px; -moz-border-radius-bottomright:5px; -webkit-border-bottom-right-radius:5px; -khtml-border-bottom-right-radius:5px; border-bottom-right-radius:5px; ' }, browser : { IE : !!(window.attachEvent && !window.opera), Opera : !!window.opera, FireFox : navigator.userAgent.indexOf('Firefox/') > -1, WebKit : navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko : navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, MobileSafari : !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) }, refreshTimeInMiliSec : 40, inputRadios : new Array(), systemI : 0, messageI : 0, loadFunctionLoaded : false, initFunctionLoaded : false, openedSelection : false, hashLoading : false, aWhileLoading : false, vibra : new Array(), staticFunctions : new Array(), staticFunctionArgs : new Array(), dynamicFunctions : new Array(), dynamicFunctionArgs : new Array(), savedHash : document.location.hash.substring(1, document.location.hash.length), dayArrayShort : new Array('Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'), dayArrayMed : new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'), dayArrayLong : new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), monthArrayShort : new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), monthArrayMed : new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'), monthArrayLong : new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), ELpickerDIV : "ELDatePicker", xVar1 : false, // iFrameDivID : "datepickeriframe", working : function(){ alert('Congratulation! ' + this.product + ' v' + this.version + ' is working fine!'); }, __master : function(){ EL.systemI += EL.refreshTimeInMiliSec; if(EL.messageI > (EL.messageClsTimeInSec * 1000)) EL.message(); if(EL.messageI > 0) EL.messageI += EL.refreshTimeInMiliSec; for(var sfKey in EL.staticFunctions){ var xargs = ''; for(var argKey in EL.staticFunctionArgs[sfKey]) xargs += ', EL.staticFunctionArgs[sfKey][' + argKey + ']'; eval('EL.staticFunctions[sfKey](sfKey' + xargs + ');'); } EL.tmpDynamicFunctions = new Array(); EL.tmpDynamicFunctionArgs = new Array(); for(var dfKey in EL.dynamicFunctions){ EL.tmpDynamicFunctions[dfKey] = EL.dynamicFunctions[dfKey]; EL.tmpDynamicFunctionArgs[dfKey] = EL.dynamicFunctionArgs[dfKey]; } EL.dynamicFunctions = new Array(); EL.dynamicFunctionArgs = new Array(); for(var dfKey in EL.tmpDynamicFunctions){ var xargs = ''; for(var argKey in EL.tmpDynamicFunctionArgs[dfKey]) xargs += ', EL.tmpDynamicFunctionArgs[dfKey][' + argKey + ']'; eval('EL.tmpDynamicFunctions[dfKey](dfKey' + xargs + ');'); } }, init : function(){ if(! this.initFunctionLoaded){ this.initFunctionLoaded = true; try{ if(navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']){ FLVer = navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin.description.split(' '); delete FLVer[0]; delete FLVer[1]; this.AdobeFlash = FLVer.join(' ').trim(); }else{ try{ try { var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); try { axo.AllowScriptAccess = 'always'; } catch(e) { FLVer = '6,0,0'; } } catch(e) {} FLVer = new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1]; this.AdobeFlash = FLVer.replace(/,/g, '.'); }catch(e){} } }catch(e){} // this.browserSpeed = this.getBrowserSpeed(); window['o'] = window['O'] = new Array(); // setInterval(this.__master, this.refreshTimeInMiliSec); } }, load : function(){ if(! this.loadFunctionLoaded){ this.loadFunctionLoaded = true; // this.browserSpeed = this.getBrowserSpeed(); this.connectDocuments(); window.events('keydown', function(e){ var key = (window.event) ? event : e; EL.control = key.controlKey; EL.alt = key.altKey; EL.shift = key.altShift; }); window.events('keypress', function(e){ var key = (window.event) ? event : e; EL.control = key.controlKey; EL.alt = key.altKey; EL.shift = key.altShift; if(EL.keysArray[key.keyCode + ((key.controlKey) ? '-c' : '') + ((key.altKey) ? '-a' : '') + ((key.shiftKey) ? '-s' : '')]) EL.keysArray[key.keyCode + ((key.controlKey) ? '-c' : '') + ((key.altKey) ? '-a' : '') + ((key.shiftKey) ? '-s' : '')](key); }); window.events('keyup', function(e){ var key = (window.event) ? event : e; EL.control = key.controlKey; EL.alt = key.altKey; EL.shift = key.altShift; }); if(EL.E({'rel' : 'ajaxWhileLoading'})[0]){ EL.aWhileLoading = EL.E({'rel' : 'ajaxWhileLoading'})[0]; EL.aWhileLoading.s({'display' : 'none'}); }else EL.aWhileLoading = false; if((EL.hashAddressing) && (EL.loadHashAfterPageDone) && (EL.hashDest != '') && (EL.savedHash != '')){ EL.loadHashedPage(); } var SWFiles = EL.E({'rel' : '_EL_SWFILE'}); if(SWFiles.length > 0) for(var current in SWFiles){ var inpE = SWFiles[current]; sID = JSFunction = (inpE.a('id')) ? inpE.a('id') : '_EL_SELECT_CONT_' + current; window[sID] = function(xsID, actName, fileName, pr1, pr2){ if(actName == 'Progress'){ EL.message(((fileName) ? '[' + fileName + '] ' : '') + actName + ': ' + parseInt(EL.scaleRange(0, ((pr2) ? pr2 : 100000000), ((pr1) ? pr1 : 1), 0, 100)) + '%'); }else if((actName == 'Loaded')){ window[xsID + 'load'](); }else EL.message(((fileName) ? '[' + fileName + '] ' : '') + actName + ((pr1) ? ': ' + pr1 : '') + ' ' + ((pr2) ? ' ' + pr2 : '')); } window[sID + 'load'] = inpE.onload; sParams=inpE.a('ELSWFILE').split('|'); sReceiver = (sParams[0]) ? sParams[0] : 'post.php'; sFilter = (sParams[1]) ? sParams[1] : '*.*'; sDesc = (sParams[2]) ? sParams[2] : 'All files (*.*)'; sPost = (sParams[3]) ? sParams[3] : 'Filedata'; SWFSet = {'width' : inpE.w(), 'height' : inpE.h(), 'allowScriptAccess' : 'always', 'allowNetworking' : 'true', 'swfLiveConnect' : 'true', 'wmode' : 'transparent', 'bgcolor' : 'transparent', 'quality' : 'high', 'scale' : 'noscale'}; inpE.s({'position' : 'relative', 'top' : '0px', 'left' : '0px'}).add('div', {'style' : {'position' : 'absolute', 'top' : '0px', 'left' : '0px', 'width' : inpE.w() + 'px', 'height' : inpE.h() + 'px'}}).addSWF(this.SWFileUpload + '?fileFilter=' + sFilter + '&fileDesc=' + sDesc + '&Receiver=' + sReceiver + '&JSFunction=' + JSFunction + '&PostName=' + sPost, SWFSet); } EL.replaceSelect(); EL.replaceRadio(); EL.replaceCheck(); EL.replaceUpload(); EL.replaceAlert(); window['o']['css'] = {}; this.setChildsToO(window); var xrules = (document.all) ? 'rules' : 'cssRules'; for (var XK = 0; XK < document.styleSheets.length; XK++){ for (var XB = 0; XB < document.styleSheets[XK][xrules].length; XB++){ window['o']['css'][document.styleSheets[XK][xrules][XB].selectorText] = document.styleSheets[XK][xrules][XB].style; } } EL._replaceAHrefToHash(); // window['o']['w'] = window; // window['o']['d'] = document; // window['o']['a'] = EL.E({'tag' : 'a'}); // window['o']['div'] = EL.E({'tag' : 'div'}); // window['o']['img'] = EL.E({'tag' : 'img'}); } }, showWindow : function(width, height, title, sUrl, closeImage){ var MW = document.createElement('div'); MW.id = 'ELpWindow'; MW.setAttribute('style', 'display:table; position:fixed; top:50%; left:50%; margin-left:-' + parseInt(width / 2) + 'px; margin-top:-' + parseInt(height / 2) + 'px; width:' + width + 'px; padding:5px; z-index:5001; '); document.body.appendChild(MW); var MWBg = document.createElement('div'); MWBg.id = 'ELpWindowBG'; MWBg.setAttribute('style', 'position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:5000; background-color:rgba(0, 0, 0, .5); '); document.body.appendChild(MWBg); var MWbg = document.createElement('div'); MWbg.id = 'ELwindowBg'; MW.appendChild(MWbg); var MWins = document.createElement('div'); MWins.id = 'ELwindowIns'; MW.appendChild(MWins); var MWinsIn = document.createElement('div'); MWinsIn.setAttribute('style', 'position:relative; '); MWins.appendChild(MWinsIn); var MWSpan = document.createElement('span'); MWSpan.innerHTML = title; MWinsIn.appendChild(MWSpan); var MWimg = document.createElement('img'); MWimg.src = closeImage; MWimg.setAttribute('onclick', 'document.body.removeChild(document.getElementById("ELpWindowBG")); document.body.removeChild(document.getElementById("ELpWindow")); '); MWimg.setAttribute('style', 'position:absolute; top:-4px; right:-4px; '); MWinsIn.appendChild(MWimg); var MWIframe = document.createElement('iframe'); MWIframe.id = 'windowFrame'; MWIframe.setAttribute('style', 'width:' + width + 'px; height:' + height + 'px; '); if(sUrl){ MWIframe.src = sUrl; } MWinsIn.appendChild(MWIframe); }, closeWindow : function(){ if(document.getElementById("ELpWindow")){ document.body.removeChild(document.getElementById("ELpWindowBG")); document.body.removeChild(document.getElementById("ELpWindow")); } }, closeWindowAfterAlert : function(alertString){ document.body.removeChild(document.getElementById("ELpWindowBG")); document.body.removeChild(document.getElementById("ELpWindow")); alert(alertString); }, datePicker : function(targetDateField, displayBelowThisObject, dtFormat, dtSep){ if (!displayBelowThisObject) displayBelowThisObject = targetDateField; defaultDateSeparator = (dtSep) ? dtSep : EL.defaultDateSeparator; defaultDateFormat = (dtFormat) ? dtFormat : EL.defaultDateFormat; var x = displayBelowThisObject.offsetLeft; var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ; var parent = displayBelowThisObject; while (parent.offsetParent){ parent = parent.offsetParent; x += parent.offsetLeft; y += parent.offsetTop ; } EL.drawDatePicker(targetDateField, x, y); }, drawDatePicker : function(targetDateField, x, y){ var dt = EL.getFieldDate(targetDateField.value); if (! document.getElementById(EL.ELpickerDIV)){ var newNode = document.createElement("div"); newNode.setAttribute("id", EL.ELpickerDIV); newNode.setAttribute("class", "dpDiv"); newNode.setAttribute("style", "visibility: hidden;"); document.body.appendChild(newNode); } var pickerDiv = document.getElementById(EL.ELpickerDIV); pickerDiv.style.position = "absolute"; pickerDiv.style.left = x + "px"; pickerDiv.style.top = y + "px"; pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible"); pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block"); pickerDiv.style.zIndex = 10000; EL.refreshDatePicker(targetDateField.name, dt.getFullYear(), dt.getMonth(), dt.getDate()); }, refreshDatePicker : function(dateFieldName, year, month, day){ var thisDay = new Date(); if ((month >= 0) && (year > 0)){ thisDay = new Date(year, month, 1); }else{ day = thisDay.getDate(); thisDay.setDate(1); } var crlf = "\r\n"; var TABLE = "" + crlf; var xTABLE = "
" + crlf; var TR = ""; var TR_title = ""; var TR_days = ""; var TR_todaybutton = ""; var xTR = "" + crlf; var TD = ""; html += (dayNum == day) ? TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD : TD + TD_onclick + dayNum + xTD; html += (thisDay.getDay() == 6) ? xTR + TR : ''; thisDay.setDate(thisDay.getDate() + 1); }while (thisDay.getDate() > 1) if(thisDay.getDay() > 0){ for (i = 6; i > thisDay.getDay(); i--) html += TD + " " + xTD; } html += xTR; var today = new Date(); var todayString = "Today is " + EL.dayArrayMed[today.getDay()] + ", " + EL.monthArrayMed[ today.getMonth()] + " " + today.getDate(); html += TR_todaybutton + TD_todaybutton; html += " "; html += ""; html += xTD + xTR; html += xTABLE; document.getElementById(EL.ELpickerDIV).innerHTML = html; }, getButtonCode : function(dateFieldName, dateVal, adjust, label){ var newMonth = (dateVal.getMonth () + adjust) % 12; var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12); if (newMonth < 0){ newMonth += 12; newYear += -1; } return ""; }, getDateString : function(dateVal){ var dayString = "00" + dateVal.getDate(); var monthString = "00" + (dateVal.getMonth()+1); dayString = dayString.substring(dayString.length - 2); monthString = monthString.substring(monthString.length - 2); switch (defaultDateFormat) { case "dmy" : return dayString + defaultDateSeparator + monthString + defaultDateSeparator + dateVal.getFullYear(); case "ymd" : return dateVal.getFullYear() + defaultDateSeparator + monthString + defaultDateSeparator + dayString; case "mdy" : default : return monthString + defaultDateSeparator + dayString + defaultDateSeparator + dateVal.getFullYear(); } }, getFieldDate : function(dateString){ var dateVal, dArray, d, m, y; try{ dArray = EL.splitDateString(dateString); if (dArray){ switch(defaultDateFormat){ case "dmy" : d = parseInt(dArray[0], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[2], 10); break; case "ymd" : d = parseInt(dArray[2], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[0], 10); break; case "mdy" : default : d = parseInt(dArray[1], 10); m = parseInt(dArray[0], 10) - 1; y = parseInt(dArray[2], 10); break; } dateVal = new Date(y, m, d); }else if(dateString){ dateVal = new Date(dateString); }else{ dateVal = new Date(); } }catch(e){ dateVal = new Date(); } return dateVal; }, splitDateString : function(dateString){ var dArray; if (dateString.indexOf("/") >= 0) dArray = dateString.split("/"); else if (dateString.indexOf(".") >= 0) dArray = dateString.split("."); else if (dateString.indexOf("-") >= 0) dArray = dateString.split("-"); else if (dateString.indexOf("\\") >= 0) dArray = dateString.split("\\"); else dArray = false; return dArray; }, updateDateField : function(dateFieldName, dateString){ var targetDateField = document.getElementsByName (dateFieldName).item(0); if (dateString) targetDateField.value = dateString; var pickerDiv = document.getElementById(EL.ELpickerDIV); pickerDiv.style.visibility = "hidden"; pickerDiv.style.display = "none"; targetDateField.focus(); if(typeof targetDateField.onchange == 'function') targetDateField.onchange(); if ((dateString) && (typeof(datePickerClosed) == "function")) datePickerClosed(targetDateField); }, _replaceAHrefToHash : function(){ aobjs = EL.T('a'); if(EL.replaceAHrefToHash){ for(ai in aobjs) if((aobjs[ai]) && (aobjs[ai].href)) if((aobjs[ai].href.indexOf('#') == -1) && (aobjs[ai].target != '_blank') && (aobjs[ai].a('el') != 'none') && (aobjs[ai].rel != 'NoEL') && (aobjs[ai].href.toUpperCase().substr(0, 4) != 'JAVA')){ newaddress = aobjs[ai].href.split('/'); xnewaddress = []; for(i = 0; i < newaddress.length - 3; i++){ xnewaddress[i] = newaddress[(i + 3)]; } aobjs[ai].href = '#/' + xnewaddress.join('/'); } } }, _makeMenuIn : function(element, depth){ for(var current in element.childNodes) if(element.childNodes[current].tagName == 'LI'){ inpE = element.childNodes[current]; cLevel = depth + 1; do{ }while(typeof EL.defaultStyles.menubar[--cLevel] == 'undefined'); inpE.ELprop = { absDepth : depth, depth : cLevel, def : 'position:relative; top:0px; left:0px; ' + EL.defaultStyles.menubar[cLevel].def, hover : EL.defaultStyles.menubar[cLevel].hover }; inpE.setAttribute('style', 'position:relative; top:0px; left:0px; ' + EL.defaultStyles.menubar[cLevel].def); inpE.mOver(function(){ this.setAttribute('style', this.ELprop.def + this.ELprop.hover); for(var lis in this.childNodes) if((this.childNodes[lis].tagName == 'UL') && (this.childNodes[lis].none())) this.childNodes[lis].s({'display' : 'block'}); }); inpE.mOut(function(){ this.setAttribute('style', this.ELprop.def); for(var lis in this.childNodes) if(this.childNodes[lis].tagName == 'UL'){ cLevel = this.ELprop.depth + 2; do{ }while(typeof EL.defaultStyles.menubar[--cLevel] == 'undefined'); this.childNodes[lis].setAttribute('style', EL.defaultStyles.menubar[cLevel].ul); } }); for(var lis in inpE.childNodes) if(inpE.childNodes[lis].tagName == 'UL'){ cLevel = depth + 2; do{ }while(typeof EL.defaultStyles.menubar[--cLevel] == 'undefined'); inpE.childNodes[lis].setAttribute('style', EL.defaultStyles.menubar[cLevel].ul); EL._makeMenuIn(inpE.childNodes[lis], (depth + 1)); } } }, makeMenu : function(menuID){ if(EL.$(menuID).tagName != 'UL'){ return false; } elm = EL.$(menuID); elm.ELprop = { opened : false, timer : false }; elm.setAttribute('style', EL.defaultStyles.menubar[0].ul); elm.mOver(function(){ // this.ELprop.timer = setTimeout("alert('alma'); ", 2000); }); EL._makeMenuIn(elm, 0); }, loadSelectOptions : function(selectObject, fromUrl, reload){ if(typeof reload == 'undefined'){ reload = true; } if(reload){ while (selectObject.options.length > 0) selectObject.options[0]=null; } savedSync = this.aIsAsync; this.aIsAsync = false; eval(EL.aReq(fromUrl)); this.aIsAsync = savedSync; xi = 0; if(optionsReturn){ for(i in optionsReturn) selectObject.options[xi++] = new Option(optionsReturn[i], i); selectObject.options.selectedIndex=0; } }, replaceUpload : function(){ if((this.replaceFileUpload) && (currents = this.E({'tag' : 'INPUT', 'type' : 'file'}))) for(var current in currents) if((currents[current].type) && (! currents[current].a('_EL_CONT_ID')) && (currents[current].getAttribute('EL'))){ var inpE = currents[current]; if(this.multipleFileUpload){ inpE.setAttribute('multiple', 'On'); if(inpE.name.substr((inpE.name.length - 2), 2) != '[]') inpE.name += '[]'; } inpE.events('change', function(){ EL.$(this.getAttribute('_EL_CONT_ID')).firstChild.nodeValue = EL.fileUploadSelectedText.replace('%F', this.value); EL.$(this.getAttribute('_EL_FCONT_ID')).s({'width' : EL.$(this.getAttribute('_EL_CONT_ID')).w() + 'px'}); }); dID = '_EL_FILE_CONT_' + current; daID = '_EL_FILE_FCONT_' + current; inpE.s({'opacity' : '.01', 'fontSize' : '100pt'}).add('div', { 'value' : this.fileUploadEmptyText, 'id' : dID, 'style' : { 'display' : 'inline', 'position' : 'relative', 'top' : '0px', 'left' : '0px', 'padding' : '2px' }}, 'after').add('div', { 'id' : daID, 'style' : { 'position' : 'absolute', 'top' : '0px', 'left' : '0px', 'overflow' : 'hidden', 'width' : this.$(dID).w() + 'px', 'height' : this.$(dID).h() + 'px' }}).appendChild(inpE); inpE.setAttribute('_EL_CONT_ID', dID); inpE.setAttribute('_EL_FCONT_ID', daID); } }, replaceRadio : function(){ if((EL.replaceRadioBox) && (currents = EL.E({'tag' : 'INPUT', 'type' : 'radio'}))) for(var current in currents) if((currents[current].type) && (! currents[current].a('_EL_RADIO_CONT')) && (currents[current].getAttribute('EL').upper() == 'true')){ var inpE = currents[current]; inpE.a({'_EL_RADIO_CONT' : 'CHANGED'}); var nexts = inpE.nextSibling; var pares = inpE.parentNode; xd = document.createElement('div'); thDisplay = inpE.display() ? inpE.display() : 'inline-block'; xd.setAttribute('style', 'position:relative; top:0px; left:0px; display:' + thDisplay + '; '); xd.appendChild(inpE); pares.insertBefore(xd, ((nexts) ? nexts : pares.lastChild)); md = document.createElement('div'); md.setAttribute('style', ((inpE.checked) ? this.defaultStyles.radio.checked.def : this.defaultStyles.radio.unChecked.def)); inpE.s({'position' : 'relative', 'zIndex' : '100000', 'opacity' : '.01'}); md.s({'width' : inpE.w() + 'px', 'height' : inpE.h() + 'px'}); if(inpE.rel) md.innerHTML = inpE.rel; inpE.events('change', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.radio.checked.def : EL.defaultStyles.radio.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); if(allRadio = EL.E({'tag' : 'INPUT', 'type' : 'radio', 'name' : this.name})) for(var cRadio in allRadio) if((allRadio[cRadio].type) && (allRadio[cRadio].a('_el_set') != 'nochange')){ tRadio = allRadio[cRadio]; tRadio.nextSibling.setAttribute('style', ((tRadio.checked) ? EL.defaultStyles.radio.checked.def : EL.defaultStyles.radio.unChecked.def)); tRadio.nextSibling.s({'width' : tRadio.w() + 'px', 'height' : tRadio.h() + 'px'}); } }, false); inpE.events('mouseover', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.radio.checked.def + EL.defaultStyles.radio.checked.hover : EL.defaultStyles.radio.unChecked.def + EL.defaultStyles.radio.unChecked.hover)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('mouseout', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.radio.checked.def : EL.defaultStyles.radio.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('focus', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.radio.checked.def + EL.defaultStyles.radio.checked.hover + EL.defaultStyles.radio.checked.focus : EL.defaultStyles.radio.unChecked.def + EL.defaultStyles.radio.unChecked.hover + EL.defaultStyles.radio.unChecked.focus)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('blur', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.radio.checked.def : EL.defaultStyles.radio.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); xd.appendChild(md); } }, replaceCheck : function(){ if((EL.replaceCheckBox) && (currents = EL.E({'tag' : 'INPUT', 'type' : 'checkbox'}))) for(var current in currents) if((currents[current].type) && (! currents[current].a('_EL_CHECK_CONT')) && (currents[current].getAttribute('EL').upper() == 'true')){ var inpE = currents[current]; inpE.a({'_EL_CHECK_CONT' : 'CHANGED'}); var nexts = inpE.nextSibling; var pares = inpE.parentNode; xd = document.createElement('div'); thDisplay = inpE.display() ? inpE.display() : 'inline-block'; xd.setAttribute('style', 'position:relative; top:0px; left:0px; display:' + thDisplay + '; '); xd.appendChild(inpE); pares.insertBefore(xd, ((nexts) ? nexts : pares.lastChild)); md = document.createElement('div'); md.setAttribute('style', ((inpE.checked) ? this.defaultStyles.checkbox.checked.def : this.defaultStyles.checkbox.unChecked.def)); inpE.s({'position' : 'relative', 'zIndex' : '100000', 'opacity' : '.01'}); if(inpE.rel){ md.s({'width' : inpE.w() + 'px', 'height' : inpE.h() + 'px'}); md.innerHTML = inpE.rel; }else{ md.s({'width' : inpE.w() + 'px', 'height' : inpE.h() + 'px', 'fontSize' : '1pt'}); md.innerHTML = ' '; } inpE.events('change', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.checkbox.checked.def : EL.defaultStyles.checkbox.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }, false); inpE.events('mouseover', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.checkbox.checked.def + EL.defaultStyles.checkbox.checked.hover : EL.defaultStyles.checkbox.unChecked.def + EL.defaultStyles.checkbox.unChecked.hover)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('mouseout', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.checkbox.checked.def : EL.defaultStyles.checkbox.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('focus', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.checkbox.checked.def + EL.defaultStyles.checkbox.checked.hover + EL.defaultStyles.checkbox.checked.focus : EL.defaultStyles.checkbox.unChecked.def + EL.defaultStyles.checkbox.unChecked.hover + EL.defaultStyles.checkbox.unChecked.focus)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('blur', function(){ this.nextSibling.setAttribute('style', ((this.checked) ? EL.defaultStyles.checkbox.checked.def : EL.defaultStyles.checkbox.unChecked.def)); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); xd.appendChild(md); } }, replaceSelect : function(){ if((this.replaceSelects) && (currents = this.E({'tag' : 'SELECT'}))) for(var current in currents) if((currents[current].type) && (! currents[current].a('_EL_SELECT_CONT')) && (currents[current].size = '1') && (currents[current].getAttribute('EL').upper() == 'true')){ var inpE = currents[current]; inpE.a({'_EL_SELECT_CONT' : 'CHANGED'}); var nexts = inpE.nextSibling; var pares = inpE.parentNode; xd = document.createElement('div'); xd.setAttribute('style', 'position:relative; top:0px; left:0px; '); xd.appendChild(inpE); pares.insertBefore(xd, ((nexts) ? nexts : pares.lastChild)); md = document.createElement('div'); md.setAttribute('style', this.defaultStyles.select.def); md.s({'width' : inpE.w() + 'px', 'height' : inpE.h() + 'px'}); inpE.s({'position' : 'relative', 'zIndex' : '100000', 'opacity' : '.01'}); md.innerHTML = inpE.options[inpE.options.selectedIndex].text + '
'; inpE.events('change', function(){ this.nextSibling.innerHTML = this.options[this.options.selectedIndex].text + '
'; }, false); inpE.events('mouseover', function(){ this.nextSibling.setAttribute('style', EL.defaultStyles.select.def + EL.defaultStyles.select.hover); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('mouseout', function(){ this.nextSibling.setAttribute('style', EL.defaultStyles.select.def); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('focus', function(){ this.nextSibling.setAttribute('style', EL.defaultStyles.select.def + EL.defaultStyles.select.hover + EL.defaultStyles.select.active); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); inpE.events('blur', function(){ this.nextSibling.setAttribute('style', EL.defaultStyles.select.def); this.nextSibling.s({'width' : this.w() + 'px', 'height' : this.h() + 'px'}); }); xd.appendChild(md); } }, replaceAlert : function(){ if(this.replaceAlerts){ window.alert = function(alertString){ var ams = document.createElement('div') ams.setAttribute('style', 'position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:1000; '); document.getElementsByTagName('body')[0].appendChild(ams); var abg = document.createElement('div'); abg.setAttribute('style', EL.defaultStyles.alert.background); ams.appendChild(abg); var awn = document.createElement('div'); awn.setAttribute('style', EL.defaultStyles.alert.window); ams.appendChild(awn); var ahd = document.createElement('h3'); ahd.setAttribute('style', EL.defaultStyles.alert.header); ahd.innerHTML = EL.defaultStyles.alert.headerText; awn.appendChild(ahd); var aal = document.createElement('h2'); aal.setAttribute('style', EL.defaultStyles.alert.alert); aal.innerHTML = alertString; awn.appendChild(aal); var abc = document.createElement('div'); abc.setAttribute('style', EL.defaultStyles.alert.buttonCont); awn.appendChild(abc); var abt = document.createElement('button'); abt.setAttribute('style', EL.defaultStyles.alert.button); abt.value = 'OK'; abt.innerHTML = 'OK'; abt.events('click', function(){ document.getElementsByTagName('body')[0].removeChild(this.parentNode.parentNode.parentNode); }); abc.appendChild(abt); } } }, $ : function(elementId){ if(document.getElementById(elementId)){ if(this.isArray(elementId)){ return this.E(elementId); }else if(this.isFunction(elementId)){ elementId(); }else{ return document.getElementById(elementId); } } }, $rem : function(elementId){ if(this.$(elementId)){ this.$(elementId).parentNode.removeChild(this.$(elementId)); }else{ return false; } }, _ : function(elementName, order){ order = (order) ? order : 0; if(document.getElementsByName(elementName)[order]){ return document.getElementsByName(elementName)[order]; }else{ return document.getElementsByName(elementName); } }, _rem : function(elementName, order){ order = (order) ? order : 0; if(this._(elementName, order)){ this._(elementName, order).parentNode.removeChild(this._(elementName, order)); }else{ return false; } }, T : function(elementTag, order){ if(document.getElementsByTagName(elementTag)[order]){ return document.getElementsByTagName(elementTag)[order]; }else{ return document.getElementsByTagName(elementTag); } }, Trem : function(elementTag, order){ order = (order) ? order : 0; if(document.getElementsByTagName(elementTag)[order]){ this.T(elementTag, order).parentNode.removeChild(this.T(elementTag, order)); }else{ return false; } }, f : function(formName, fItems){ if(fItems){ for(var item in fItems) document[formName][item].value=fItems[item]; return document[formName] }else return document[formName]; }, fSub : function(formName){ document[formName].submit(); }, fDef : function(formName){ document[formName].reset(); }, E : function(clauses){ retElements = new Array(); elemCount=0; if(clauses){ if(clauses['tag']){ currents = document.getElementsByTagName(clauses['tag']); delete clauses['tag']; }else currents = document.getElementsByTagName('*'); for(var current in currents) if((currents[current]) && (currents[current].getAttribute)){ goover = true; for(var tagtype in clauses){ if(currents[current].getAttribute(tagtype) != clauses[tagtype]) goover = false; } if(goover) retElements[elemCount++]=currents[current]; } }else retElements = document.getElementsByTagName('*'); return retElements; }, onError:function(error){ EL.message(error); }, getBrowserSpeed : function(){ var xc = 0; var now = alarm = new Date(); while(alarm.getTime() - now.getTime() <= 1){ xc++; alarm = new Date(); } return xc; }, getBrowserObjSpeed : function(){ var xc = 0; var now = alarm = new Date(); xTMP = document.createElement('div'); xTMP.a({'style' : 'width:100px; height:100px; opacity:.02; filter:alpha(opacity=2); overflow:hidden; position:relative; top:0px; left:0px; '}); document.body.appendChild(xTMP); while(alarm.getTime() - now.getTime() <= 1){ bTMP = document.createElement('div'); bTMP.a({'style' : 'top:' + EL.rand(0, 100) + 'px; left:' + EL.rand(0, 100) + 'px; width:' + EL.rand(0, 100) + 'px; height:' + EL.rand(0, 100) + 'px; border:2px solid #aaaaaa; background-color:#aaaaaa; '}); bTMP.v('The quick brown fox jumps over the lazy dog'); xTMP.appendChild(bTMP); xc++; alarm = new Date(); } document.body.removeChild(xTMP); return xc; }, connectDocuments : function(){ cntiframe=EL.E({'tag' : 'iframe'}); for(i = 0; i"); document.getElementById(destinationID).innerHTML = retNStrings[0]; for(i = 1; i < retNStrings.length; i++){ iRetNStrings = retNStrings[i].split(""); eval(iRetNStrings[0]); document.getElementById(destinationID).innerHTML += iRetNStrings[1]; } if(typeof destFunction == 'function'){ destFunction(responseText); } EL.replaceSelect(); EL.replaceRadio(); EL.replaceCheck(); EL.replaceUpload(); EL._replaceAHrefToHash(); }, includeJS : function(JSsrc){ var head= document.getElementsByTagName('head')[0]; var script= document.createElement('script'); script.type= 'text/javascript'; script.src= JSsrc; head.appendChild(script); }, includeAJS : function(JSsrc){ try { jsxmlhttp = new XMLHttpRequest(); var jssuccess = true; }catch(e){ var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); var jssuccess = false; for(var i=0;i < XMLHTTP_IDS.length && !success; i++){ try{ jsxmlhttp = new ActiveXObject(XMLHTTP_IDS[i]); jssuccess = true; }catch(e){} } if(!jssuccess){ this.onError('Unable to create XMLHttpRequest.'); } } if(jssuccess){ jsxmlhttp.open('GET', JSsrc, false); jsxmlhttp.send(null); alert(jsxmlhttp.responseText); }else return false; }, returnAJS : function(JSsrc, async, destFunction){ if(typeof async == 'undefined'){ async = false; } try { jsxmlhttp = new XMLHttpRequest(); var jssuccess = true; }catch(e){ var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); var jssuccess = false; for(var i=0;i < XMLHTTP_IDS.length && !success; i++){ try{ jsxmlhttp = new ActiveXObject(XMLHTTP_IDS[i]); jssuccess = true; }catch(e){} } if(!jssuccess){ this.onError('Unable to create XMLHttpRequest.'); } } if(jssuccess){ if(async){ jsxmlhttp.onreadystatechange = function(){ switch(this.readyState){ case 4: if(this.status == 200) destFunction(this.responseText); } } } jsxmlhttp.open('GET', JSsrc, async); jsxmlhttp.send(null); if(! async) return jsxmlhttp.responseText; }else return false; }, aReq : function(url, destination, form, destFunction){ mxx = EL.rand(1000, 9999); if(typeof xmlhttp == 'undefined') xmlhttp = new Array(); try { xmlhttp[mxx] = new XMLHttpRequest(); var success = true; }catch(e){ var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); var success = false; for(var i=0;i < XMLHTTP_IDS.length && !success; i++){ try{ xmlhttp[mxx] = new ActiveXObject(XMLHTTP_IDS[i]); success = true; }catch(e){} } if(!success){ this.onError('Unable to create XMLHttpRequest.'); } } if(success){ if(destination){ this.aDest = destination; } if(destFunction){ this.aDestFunction = destFunction; } if(form){ var xParam = this.getquerystring(form); if(this.aReqType == 'GET'){ url += (xParam.length > 0)?'?' + xParam:''; } } if((EL.aWhileLoading) && (EL.aLoaderSameDest)) EL.$(((EL.hashLoading) ? EL.hashDest : EL.aDest)).innerHTML = EL.aWhileLoading.innerHTML; if(EL.hashLoading){ xmlhttp[mxx].onreadystatechange = function(){ switch(this.readyState){ case 2: this.aHashOnSend; break; case 4: this.aHashOnLoad; if(this.status == 200){ EL.aReqProc(this.responseText, EL.hashDest, this.aDestFunction); }else{ this.onError('HTTP Error Making Request: ' + '[' + xmlhttp.status + ']' + xmlhttp.statusText); } EL.hashLoading = false; EL.aReqType = EL.savedaReqType; EL.aDestFunction = false; break; } } }else{ xmlhttp[mxx].onreadystatechange = function(){ switch(this.readyState){ case 2: this.aOnSend; break; case 4: this.aOnLoad; if(this.status == 200){ EL.aReqProc(this.responseText, EL.aDest, this.aDestFunction); }else{ this.onError('HTTP Error Making Request: ' + '[' + xmlhttp.status + ']' + xmlhttp.statusText); } EL.aDestFunction = false; break; } } } // alert(this.aReqType + ', ' + url + ', ' + this.aIsAsync); xmlhttp[mxx].open(this.aReqType, url, this.aIsAsync); if((form) && (aReqType == 'POST')){ var xParam = this.getquerystring(form); xmlhttp[mxx].setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp[mxx].setRequestHeader("Content-length", xParam.length); xmlhttp[mxx].setRequestHeader("Connection", "close"); xmlhttp[mxx].send(xParam); }else{ xmlhttp[mxx].send(null); } if(!this.aIsAsync){ return xmlhttp[mxx].responseText; } } }, aReqRaw : function(url, form, destFunction){ reloadFormVar = false; if(typeof form == 'object'){ if(typeof form['reqType'] == 'string'){ reqType = form['reqType']; reloadFormVar = true; } if(typeof form['destFunction'] == 'function'){ destFunction = form['destFunction']; reloadFormVar = true; } if((typeof form['form'] == 'object') || (typeof form['form'] == 'string')){ xform = form['form']; reloadFormVar = true; } if(typeof form['async'] == 'boolean'){ this.aOptions.aIsAsync = form['async']; reloadFormVar = true; } if(typeof form['silentLoad'] == 'boolean'){ this.aOptions.silentLoad = form['silentLoad']; reloadFormVar = true; } } if(reloadFormVar){ form = false; if((typeof xform == 'object') || (typeof xform == 'string')) form = xform; } }, _array2urlquery : function(pObj, pPre){ toRet = []; for(pi in pObj) toRet[toRet.length] = (typeof pObj[pi] == 'object') ? this._array2urlquery(pObj, pPre + '[' + pi + ']') : toRet[toRet.length] = pPre + pi + '=' + pObj[pi]; return toRet.join('&'); }, array2urlquery : function(pObj){ toRet = (typeof pObj == 'object') ? this._array2urlquery(pObj, '') : ''; return toRet; }, getquerystring : function(formname){ var form = document.forms[formname]; var qstr = ""; function GetElemValue(name, value){ qstr += (qstr.length > 0 ? "&" : "") + escape(name).replace(/\+/g, "%2B") + "=" + escape(value ? value : "").replace(/\+/g, "%2B"); } var elemArray = form.elements; for (var i = 0; i < elemArray.length; i++){ var element = elemArray[i]; var elemType = element.type.toUpperCase(); var elemName = element.name; if (elemName){ if(elemType == "TEXT" || elemType == "TEXTAREA" || elemType == "PASSWORD" || elemType == "BUTTON" || elemType == "RESET" || elemType == "SUBMIT" || elemType == "FILE" || elemType == "IMAGE" || elemType == "HIDDEN") GetElemValue(elemName, element.value); else if(elemType == "CHECKBOX" && element.checked) GetElemValue(elemName, element.value ? element.value : "On"); else if(elemType == "RADIO" && element.checked) GetElemValue(elemName, element.value); else if(elemType.indexOf("SELECT") != -1) for(var j = 0; j < element.options.length; j++){ var option = element.options[j]; if(option.selected) GetElemValue(elemName, option.value ? option.value : option.text); } } } return qstr; }, base64_encode : function(input){ var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = this.utf8_encode(input); while (i < input.length){ chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)){ enc3 = enc4 = 64; }else if (isNaN(chr3)){ enc4 = 64; } output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); } return output; }, base64_decode : function (input){ var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = _keyStr.indexOf(input.charAt(i++)); enc2 = _keyStr.indexOf(input.charAt(i++)); enc3 = _keyStr.indexOf(input.charAt(i++)); enc4 = _keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64){ output = output + String.fromCharCode(chr2); } if (enc4 != 64){ output = output + String.fromCharCode(chr3); } } output = this.utf8_decode(output); return output; }, utf8_encode : function (string){ string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128){ utftext += String.fromCharCode(c); }else if((c > 127) && (c < 2048)){ utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); }else{ utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128){ string += String.fromCharCode(c); i++; }else if((c > 191) && (c < 224)){ c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; }else{ c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; }, initSVGto : function(obj, width, height){ if(! obj) return false; sWidth = (width) ? width : obj.w(); sHeight = (height) ? height : obj.h(); ELSVG = document.createElement('iframe'); ELSVG.setAttribute('width', width); ELSVG.setAttribute('height', height); ELSVG.setAttribute('marginWidth', '0'); ELSVG.setAttribute('marginHeight', '0'); ELSVG.setAttribute('frameborder', '0'); ELSVG.setAttribute('allowtransparency', 'true'); ELSVG.src='http://work.refe.ro/sitemirror/EasyLayer/svg-frame.xhtml'; /* ELSVG.src = 'data:application/xhtml+xml;base64,' + 'PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQoJPHN0' + 'eWxlIHR5cGU9InRleHQvY3NzIj4NCglodG1sLCBib2R5CXtvdmVyZmxvdzpoaWRkZW47IHBhZGRp' + 'bmc6MHB4OyBtYXJnaW46MHB4OyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgfQ0KCTwvc3R5bGU+' + 'DQoJPHRpdGxlPkVhc3lMYXllciBTVkc8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+DQo8c2NyaXB0' + 'IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQo8IVtDREFUQVsNCnZhciBzdmducyA9ICJodHRwOi8v' + 'd3d3LnczLm9yZy8yMDAwL3N2ZyI7DQpmdW5jdGlvbiBpbml0aWFsaXplKGV2dCl7DQoJaWYgKCB3' + 'aW5kb3cuc3ZnRG9jdW1lbnQgPT0gbnVsbCApIHN2Z0RvY3VtZW50ID0gZXZ0LnRhcmdldC5vd25l' + 'ckRvY3VtZW50Ow0KfQ0KZnVuY3Rpb24gZHJhd09iamVjdChvVHlwZSwgb1BhcmFtcywgb1BhcmVu' + 'dCl7DQoJaWYoKG9UeXBlKSAmJiAob1BhcmFtcykgJiYgKHR5cGVvZiBvUGFyYW1zID09ICJvYmpl' + 'Y3QiKSl7DQoJCW9QYXJlbnQgPSAob1BhcmVudCkgPyBvUGFyZW50IDogIlNWR09iamVjdCI7DQoJ' + 'CXRtcCA9IHN2Z0RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzdmducywgb1R5cGUpOyANCgkJbWFr' + 'ZVRleHQgPSBmYWxzZTsNCgkJZm9yKG9LZXkgaW4gb1BhcmFtcyl7DQoJCQlpZihvS2V5ID09ICdz' + 'ZXREYXRhJyl7DQoJCQkJTXNnID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUob1BhcmFtc1tvS2V5' + 'XSk7DQoJCQkJdG1wLmFwcGVuZENoaWxkKE1zZyk7DQoJCQkJDQovLwkJCQl0bXAuZGF0YSA9IG9Q' + 'YXJhbXNbb0tleV07DQoJCQkJDQoJCQkJbWFrZVRleHQgPSBvUGFyYW1zW29LZXldOw0KCQkJCQ0K' + 'Ly8JCQkJYWxlcnQob1BhcmFtc1tvS2V5XSk7DQoJCQl9ZWxzZXsNCgkJCQl0bXAuc2V0QXR0cmli' + 'dXRlTlMobnVsbCwgb0tleSwgb1BhcmFtc1tvS2V5XSk7IA0KCQkJfQ0KCQl9DQoJCWRvY3VtZW50' + 'LmdldEVsZW1lbnRCeUlkKG9QYXJlbnQpLmFwcGVuZENoaWxkKHRtcCk7DQoJCWlmKG1ha2VUZXh0' + 'KXsNCi8vCQkJdG1wLm5vZGVWYWx1ZSA9IG1ha2VUZXh0Ow0KLy8JCQl0ZXh0VG1wID0gc3ZnRG9j' + 'dW1lbnQuY3JlYXRlVGV4dE5vZGUobWFrZVRleHQpOw0KLy8JCQl0bXAuYXBwZW5kQ2hpbGQodGV4' + 'dFRtcCk7DQoJCQlhbGVydCh0bXAubm9kZVZhbHVlKTsNCgkJfQ0KCX0NCn0NCl1dPg0KPC9zY3Jp' + 'cHQ+DQo8c3ZnIGlkPSJTVkdPYmplY3QiIG9ubG9hZD0iaW5pdGlhbGl6ZShldnQpOyAiIHdpZHRo' + 'PSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+' + 'DQoJPGNpcmNsZSBmaWxsPSJyZ2IoMjUwLCAxNjAsIDIwKSIgY3g9IjEwMCIgY3k9IjUwIiByPSI4' + 'MCIgLz4NCjwvc3ZnPg0KPC9ib2R5Pg0KPC9odG1sPg0K';*/ obj.parentNode.replaceChild(ELSVG, obj); this.assignSVG(ELSVG); return ELSVG; }, SVGfont : { face : 'Arial', bold : false, italic : false, underline : false, overline : false, lineThrough : false, blink : false, size : '12pt', variant : 'normal', stretch : 'normal', kerning : 'auto', letterSpacing : 'normal', wordSpacing : 'normal', baseLine : 'baseline', baseLineAlign : 'auto', baseLineDominant : 'auto', textAnchor : 'start', direction : 'ltr', angle : 0, orientationVertical : 'auto', orientationHorizontal : 0, writingMode : 'lr-tb', fill : '#000000', stroke : '#000000', strokeWeight : 0 }, setFontStyle : function(fStyle){ fFinal = 'font-family:' + fStyle.face + '; '; fFinal += (fStyle.bold) ? 'font-weight:bold; ' : ''; fFinal += (fStyle.italic) ? 'font-style:italic; ' : ''; fFinal += 'font-variant:' + fStyle.variant + '; '; fFinal += 'font-size:' + fStyle.size + '; '; fFinal += 'font-stretch:' + fStyle.stretch + '; '; fFinal += 'kerning:' + fStyle.kerning + '; '; fFinal += 'letter-spacing:' + fStyle.letterSpacing + '; '; fFinal += 'word-spacing:' + fStyle.wordSpacing + '; '; if(fStyle.underline || fStyle.overline || fStyle.lineThrough || fStyle.blink){ fFinal += 'text-decoration:'; fFinal += (fStyle.underline) ? ' underline' : ''; fFinal += (fStyle.overline) ? ' overline' : ''; fFinal += (fStyle.lineThrough) ? ' line-through' : ''; fFinal += (fStyle.blink) ? ' blink' : ''; } fFinal += 'baseline-shift:' + fStyle.baseLine + '; '; fFinal += 'alignment-baseline:' + fStyle.baseLineAlign + '; '; fFinal += 'dominant-baseline: ' + fStyle.baseLineDominant + '; '; fFinal += 'text-anchor:' + fStyle.textAnchor + '; '; fFinal += 'direction:' + fStyle.direction + '; '; fFinal += 'angle:' + fStyle.angle + '; '; fFinal += 'glyph-orientation-vertical:' + fStyle.orientationVertical + '; '; fFinal += 'glyph-orientation-horizontal:' + fStyle.orientationHorizontal + '; '; fFinal += 'writing-mode:' + fStyle.writingMode + '; '; fFinal += 'fill:' + fStyle.fill + '; '; fFinal += 'stroke:' + fStyle.stroke + '; '; fFinal += 'stroke-width:' + fStyle.strokeWeight + '; '; return fFinal; }, assignSVG : function(obj){ obj.SVG = { fillStyle : 'black', globalAlpha : 1.0, globalCompositeOperation : '', lineCap : '', lineJoin : '', lineWidth : '0', miterLimit : '', shadowBlur : '', shadowColor : '', shadowOffsetX : '', shadowOffsetY : '', strokeStyle : 'black', _path : '', _polyline : '', _polygon : '', $ : function(id){ if(! id) return false; return obj.iDoc().document.getElementById(id); }, $rem : function(id){ if(! id) return false; if(obj.iDoc().document.getElementById(id)){ obj.iDoc().document.getElementById(id).parentNode.removeChild(obj.iDoc().document.getElementById(id)); }else{ return false; } }, _ : function(name, order){ if(! name) return false; order = (order) ? order : 0; return obj.iDoc().document.getElementsByName(name)[order]; }, _rem : function(name, order){ if(! name) return false; order = (order) ? order : 0; if(obj.iDoc().document.getElementsByName(name)[order]){ obj.iDoc().document.getElementsByName(name)[order].parentNode.removeChild(obj.iDoc().document.getElementsByName(name)[order]); }else{ return false; } }, T : function(tagName, order){ if(! tagName) return false; order = (order) ? order : 0; return obj.iDoc().document.getElementsByTagName(tagName)[order]; }, Trem : function(tagName, order){ if(! tagName) return false; order = (order) ? order : 0; if(obj.iDoc().document.getElementsByTagName(tagName)[order]){ obj.iDoc().document.getElementsByTagName(tagName)[order].parentNode.removeChild(obj.iDoc().document.getElementsByTagName(tagName)[order]); }else{ return false; } }, group : function(id, events, toGroup){ if(! id) return false; sParams = (events) ? events : {}; sParams.id = id; obj.iDoc().drawObject('g', sParams, toGroup); return this; }, moveTo : function(x, y){ this._path += 'M ' + x.toString() + ' ' + y.toString() + ' '; return this; }, lineTo : function(x, y){ this._path += 'L ' + x.toString() + ' ' + y.toString() + ' '; return this; }, bezierCurveTo : function(x1, y1, x2, y2, x, y){ this._path += 'C ' + x1 + ' ' + y1 + ' ' + x2 + ' ' + y2 + ' ' + x + ' ' + y + ' '; return this; }, smoothCurveTo : function(x2, y2, x, y){ this._path += 'S ' + x2 + ' ' + y2 + ' ' + x + ' ' + y + ' '; return this; }, quadraticCurveTo : function(x1, y1, x, y){ this._path += 'Q ' + x1 + ' ' + y1 + ' ' + x + ' ' + y + ' '; return this; }, smoothQuadraticCurveTo : function(x, y){ this._path += 'Q ' + x + ' ' + y + ' '; return this; }, ellipticalArc : function(posX, posY, radX, radY, xAxisRotation, largeArcFlag, sweepFlag, endX, endY){ this._path += 'M ' + posX + ' ' + posY + ' A ' + radX + ' ' + radY + ' ' + xAxisRotation + ' ' + largeArcFlag + ' ' + sweepFlag + ' ' + endX + ' ' + endY + ' '; return this; }, strokePath : function(id, events, sStroke, sStrokeWidth, toGroup){ this._path += 'z'; sParams = (events) ? events : {}; sParams.d = this._path; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('path', sParams, toGroup); this._path = ''; return this; }, fillPath : function(id, events, sFill, toGroup){ this._path += 'z'; sParams = (events) ? events : {}; sParams.d = this._path; sParams.fill = sFill ? sFill : this.fillStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('path', sParams, toGroup); this._path = ''; return this; }, drawPath : function(id, events, sFill, sStroke, sStrokeWidth, toGroup){ this._path += 'z'; sParams = (events) ? events : {}; sParams.d = this._path; sParams.fill = sFill ? sFill : this.fillStyle; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('path', sParams, toGroup); this._path = ''; return this; }, strokeRect : function(x, y, width, height, radX, radY, id, events, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !width || !height) return false; sParams = (events) ? events : {}; sParams.x = x; sParams.y = y; sParams.width = width; sParams.height = height; sParams.rx = radX; sParams.ry = radY; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('rect', sParams, toGroup); return this; }, fillRect : function(x, y, width, height, radX, radY, id, events, sFill, toGroup){ if(!x || !y || !width || !height) return false; sParams = (events) ? events : {}; sParams.x = x; sParams.y = y; sParams.width = width; sParams.height = height; sParams.rx = radX; sParams.ry = radY; sParams.fill = sFill ? sFill : this.fillStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('rect', sParams, toGroup); return this; }, drawRect : function(x, y, width, height, radX, radY, id, events, sFill, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !width || !height) return false; sParams = (events) ? events : {}; sParams.x = x; sParams.y = y; sParams.width = width; sParams.height = height; sParams.rx = radX; sParams.ry = radY; sParams.fill = sFill ? sFill : this.fillStyle; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('rect', sParams, toGroup); return this; }, strokeCircle : function(x, y, r, id, events, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !r) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.r = r; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('circle', sParams, toGroup); return this; }, fillCircle : function(x, y, r, id, events, sFill, toGroup){ if(!x || !y || !r) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.r = r; sParams.fill = sFill ? sFill : this.fillStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('circle', sParams, toGroup); return this; }, drawCircle : function(x, y, r, id, events, sFill, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !r) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.r = r; sParams.fill = sFill ? sFill : this.fillStyle; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('circle', sParams, toGroup); return this; }, strokeEllipse : function(x, y, radX, radY, id, events, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !radX || !radY) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.rx = radX; sParams.ry = radY; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('ellipse', sParams, toGroup); return this; }, fillEllipse : function(x, y, radX, radY, id, events, sFill, toGroup){ if(!x || !y || !radX || !radY) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.rx = radX; sParams.ry = radY; sParams.fill = sFill ? sFill : this.fillStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('ellipse', sParams, toGroup); return this; }, drawEllipse : function(x, y, radX, radY, id, events, sFill, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !radX || !radY) return false; sParams = (events) ? events : {}; sParams.cx = x; sParams.cy = y; sParams.rx = radX; sParams.ry = radY; sParams.fill = sFill ? sFill : this.fillStyle; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('ellipse', sParams, toGroup); return this; }, line : function(x1, y1, x2, y2, id, events, sStroke, sStrokeWidth, toGroup){ if(!x || !y || !radX || !radY) return false; sParams = (events) ? events : {}; sParams.x1 = x1; sParams.y1 = y1; sParams.x2 = x2; sParams.y2 = y2; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('line', sParams, toGroup); return this; }, movePolylineTo : function(x, y){ this._polyline = x + ', ' + y; return this; }, linePolylineTo : function(x, y){ this._polyline += ' ' + x + ', ' + y; return this; }, strokePolyline : function(id, events, sStroke, sStrokeWidth, toGroup){ sParams = (events) ? events : {}; sParams.points = this._polyline; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('polyline', sParams, toGroup); return this; }, movePolygonTo : function(x, y){ this._polygon = x + ', ' + y; return this; }, linePolygonTo : function(x, y){ this._polygon += ' ' + x + ', ' + y; return this; }, strokePolygon : function(id, events, sStroke, sStrokeWidth, toGroup){ sParams = (events) ? events : {}; sParams.points = this._polygon; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('polyline', sParams, toGroup); return this; }, fillPolygon : function(id, events, sFill){ sParams = (events) ? events : {}; sParams.points = this._polygon; sParams.fill = sFill ? sFill : this.fillStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('polyline', sParams, toGroup); return this; }, drawPolygon : function(id, events, sFill, sStroke, sStrokeWidth, toGroup){ sParams = (events) ? events : {}; sParams.points = this._polygon; sParams.fill = sFill ? sFill : this.fillStyle; sParams.stroke = sStroke ? sStroke : this.strokeStyle; sParams['stroke-width'] = sStrokeWidth ? sStrokeWidth : this.lineWidth; if(id){sParams.id = id}; obj.iDoc().drawObject('polyline', sParams, toGroup); return this; }, span : function(text, fStyle, toGroup, x, y, dx, dy, rotate, textLength, lengthAdjust, id, events){ fStyle = EL.setFontStyle(fStyle); sParams = (events) ? events : {}; if(x){sParams.x = x;} if(y){sParams.y = y;} if(dx){sParams.dx = dx;} if(dy){sParams.dy = dy;} if(rotate){sParams.rotate = rotate;} if(textLength){sParams.textLength = textLength;} if(lengthAdjust){sParams.lengthAdjust = lengthAdjust;} sParams.setData = text; sParams.style = fStyle; if(id){sParams.id = id}; obj.iDoc().drawObject('tspan', sParams, toGroup); return this; }, text : function(x, y, id, events, toGroup){ if(! id) return false; sParams = (events) ? events : {}; sParams.x = x; sParams.y = y; sParams.id = id; obj.iDoc().drawObject('text', sParams, toGroup); return this; }, textToPath : function(text, startOffset, method, spacing, destinationID, fStyle, id, events, toGroup){ if(!id || destinationID) return false; sParams = (events) ? events : {}; sParams.startOffset = startOffset; sParams.method = method; sParams.spacing = spacing; sParams['xlink:href'] = '#' + destinationID; sParams.id = id; sParams.innerTEXT = text; sParams.style = fStyle; obj.iDoc().drawObject('textPath', sParams, toGroup); return this; } }; }, canvas4IEInit : function(){ if((this.ieCanvasInit) && (this.browser['IE']) && (! document.createElement('canvas').getContext)){ document.namespaces.add('elvml', 'urn:schemas-microsoft-com:vml', '#default#VML'); document.namespaces.add('elvmlo', 'urn:schemas-microsoft-com:office:office', '#default#VML'); ELVML = document.createElement('object'); ELVML.id = 'VMLRender'; ELVML.codebase = 'vgx.dll'; ELVML.classid = 'CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E'; document.body.appendChild(ELVML); if (! document.styleSheets['Canvas4IE']){ var ss = document.createStyleSheet(); ss.owningElement.id = 'Canvas4IE'; ss.cssText = 'canvas {display:inline-block; overflow:hidden; text-align:left; width:300px; height:150px} elvml\\:*{behavior:url(#default#VML)} elvmlo\\:*{behavior:url(#default#VML)}'; } canv = this.E({'tag' : 'canvas'}); for(var canvKey in canv){ var icanv = canv[canvKey]; nd = document.createElement('canvas'); nd.getContext = function(){ return new Canvas4IE(this); }; nd.id = icanv.id; if(icanv.attributes.width && icanv.attributes.width.specified) nd.style.width = icanv.attributes.width.nodeValue + 'px'; if(icanv.attributes.height && icanv.attributes.height.specified) nd.style.height = icanv.attributes.height.nodeValue + 'px'; nd.style.position = 'relative'; nd.style.overflow = 'hidden'; icanv.parentNode.replaceChild(nd, icanv); } } }, addStaticFunction : function(funcName, func){ delete EL.staticFunctions[funcName]; delete EL.staticFunctionArgs[funcName]; EL.staticFunctions[funcName] = func; EL.staticFunctionArgs[funcName] = new Array(); for(i=2; i 0) ? 0 : newPos; content.s({top : newPos + 'px'}); }, scrollPageUp : function(container, content, step, clObject){ EL._scrollPageUp(container, content, step); if(clObject){ EL.xVar1 = setInterval(function(){ EL._scrollPageUp(container, content, step); }, 20); clObject.events('mouseup', function(){clearInterval(EL.xVar1); }); } }, _scrollPageDown : function(container, content, step){ step = (step) ? step : 3; container = (typeof container == 'object') ? container : EL.$(container); content = (typeof content == 'object') ? content : EL.$(content); if(container.h() < content.h()){ newPos = parseInt(content.style.top) - step; newPos = ((container.h() + Math.abs(newPos)) > content.h()) ? (0 - (content.h() - container.h())) : newPos; content.s({top : newPos + 'px'}); } }, scrollPageDown : function(container, content, step, clObject){ EL._scrollPageDown(container, content, step); if(clObject){ EL.xVar1 = setInterval(function(){ EL._scrollPageDown(container, content, step); }, 20); clObject.events('mouseup', function(){clearInterval(EL.xVar1); }); } }, tabs : function(contID, tabLayer, defTab, customStyle){ cont = this.$(contID); if(defTab) defTab = this.$(defTab); this.$(tabLayer).ELprops = { selectedIndex : 0 } if(customStyle){ savedStyle = this.defaultStyles.tab; this.defaultStyles.tab = customStyle; } tabCount=0; this.$(tabLayer).v(''); for(i=0; i xtime) sleeping = false; } }, rand : function(minval, maxval){ if(! minval) minval = 1; if(! maxval){ maxval = minval; minval = 0; } interval = maxval - minval + 1; return Math.floor(Math.random() * interval) + minval; }, elementFade : function(elmnt, chs, way, from, to, unit, actual, fadeArray){ if(way){ if(way != elmnt.style['el' + chs + 'Way']) elmnt.style['el' + chs + 'Way'] = way; }else{ way = elmnt.style['el' + chs + 'Way']; } if(((EL.isNumeric(from)) || (EL.isArray(from))) && (elmnt.style['el' + chs + 'From'] != from)){ elmnt.style['el' + chs + 'From'] = from; } if(((EL.isNumeric(to)) || (EL.isArray(to))) && (elmnt.style['el' + chs + 'To'] != to)){ elmnt.style['el' + chs + 'To'] = to; } if((unit) && (elmnt.style['el' + chs + 'Unit'] != unit)){ elmnt.style['el' + chs + 'Unit'] = unit; } if((EL.isNumeric(actual)) && (elmnt.style['el' + chs + 'Actual'] != actual)){ elmnt.style['el' + chs + 'Actual'] = actual; } if((fadeArray) && (elmnt.style['el' + chs + 'FadeArray'] != fadeArray)){ elmnt.style['el' + chs + 'FadeArray'] = fadeArray; } xUID='_elFade' + EL.rand(1, 99999); clearTimeout(elmnt.style['el' + chs + 'Timer']); if((elmnt.style['el' + chs + 'Actual'] >= 0) && (elmnt.style['el' + chs + 'Actual'] < elmnt.style['el' + chs + 'FadeArray'].length)){ window[xUID] = elmnt; if(EL.isArray(elmnt.style['el' + chs + 'From'])){ CalcColor = 'rgb(' + parseInt(EL.scaleRange(0, 1, elmnt.style['el' + chs + 'FadeArray'][elmnt.style['el' + chs + 'Actual']], elmnt.style['el' + chs + 'From']['r'], elmnt.style['el' + chs + 'To']['r'])) + ', ' + parseInt(EL.scaleRange(0, 1, elmnt.style['el' + chs + 'FadeArray'][elmnt.style['el' + chs + 'Actual']], elmnt.style['el' + chs + 'From']['g'], elmnt.style['el' + chs + 'To']['g'])) + ', ' + parseInt(EL.scaleRange(0, 1, elmnt.style['el' + chs + 'FadeArray'][elmnt.style['el' + chs + 'Actual']], elmnt.style['el' + chs + 'From']['b'], elmnt.style['el' + chs + 'To']['b'])) + ')'; elmnt.style[chs] = CalcColor; }else{ elmnt.style[chs] = EL.scaleRange(0, 1, elmnt.style['el' + chs + 'FadeArray'][elmnt.style['el' + chs + 'Actual']], elmnt.style['el' + chs + 'From'], elmnt.style['el' + chs + 'To']) + elmnt.style['el' + chs + 'Unit']; } elmnt.style['el' + chs + 'Actual'] += (way == 'up') ? +1 : ((way == 'down') ? -1 : 0); elmnt.style['el' + chs + 'Actual'] = (elmnt.style['el' + chs + 'Actual'] < 0) ? 0 : elmnt.style['el' + chs + 'Actual']; elmnt.style['el' + chs + 'Actual'] = (elmnt.style['el' + chs + 'Actual'] >= elmnt.style['el' + chs + 'FadeArray'].length) ? (elmnt.style['el' + chs + 'FadeArray'].length - 1) : elmnt.style['el' + chs + 'Actual']; elmnt.style['el' + chs + 'Timer']=setTimeout('window["' + xUID + '"].fade' + chs.ucFirst() + '()', EL.refreshTimeInMiliSec); }else{ clearTimeout(elmnt.style['el' + chs + 'Timer']); } }, fade : function(element, action, curval){ if(! curval) curval = 0; if((element.rgworking == 'countup') || (element.rgworking == 'countdown')){ doAction = false; for(var stin in action){ saction = action[stin]['fade']; if(! action[stin]['unit']) action[stin]['unit'] = ''; if(EL.isNumeric(saction[curval])){ element[stin] = EL.scaleRange(0, 1, saction[curval], action[stin]['from'], action[stin]['to']) + action[stin]['unit']; doAction = true; } } if(doAction){ curval += (element.rgworking == 'countup') ? +1 : -1; xvar='fade' + EL.rand(1, 999999); EL.addDynamicFunction(xvar, function(rxvar, xelement, xaction, xcurval){ EL.fade(xelement, xaction, xcurval); }, element, action, curval); }else{ element.rgworking=''; } }else if(element.rgworking == 'finnish'){ for(var stin in action){ if(! action[stin]['unit']) action[stin]['unit'] = ''; element[stin] = action[stin]['to'] + action[stin]['unit']; } element[styleTag] = endVal + styleUnit; element.rgworking=''; }else if(element.rgworking == 'suspend'){ setTimeout(function(){EL.fade(element, action, curval)}, EL.refreshTimeInMiliSec); } }, toFade : function(fadeType){ if(fadeType == _LINEAR_FADE){ ret = new Array(); for(i=0; i fTolerance); ret[i] = xInit = xNr; } return ret; } }, fadeSet : function(fadeArray, count, min, max, xID){ try{ if(EL.isNumeric(fadeArray[count])){ window[xID]['fade'] = 1; ret = EL.scaleRange(0, 1, fadeArray[count], min, max); }else ret = max; }catch(e){ret = min} return ret; }, imager : function(xID, content, count, deep){ cc = window[xID]['cc']; gr = window[xID]['gr']; if(! deep) deep = 0; if((deep == 0) && (! content.noClear)){ cc.clearRect(0, 0, EL.$(xID).w(), EL.$(xID).h()); } for(var command in content){ pr = content[command]; if(command == 'group'){ cc.save(); EL.imager(xID, pr, count, (deep + 1)); cc.restore(); }else if(command == 'save'){ cc.save(); }else if(command == 'restore'){ cc.restore(); }else if(command == 'clear'){ cc.clearRect(0, 0, EL.$(xID).w(), EL.$(xID).h()); }else if(command.substring(0, 4) == 'line'){ if(pr.join) cc.lineJoin = pr.join; cc.beginPath(); cc.moveTo(EL.fadeSet(pr[0].xFade, count, pr[0].x, pr[0].xTo, xID), EL.fadeSet(pr[0].yFade, count, pr[0].y, pr[0].yTo, xID)); xi = 1; while(pr[xi]){ if(EL.isNumber(pr[xi].x1)){ cc.bezierCurveTo( EL.fadeSet(pr[xi].x1Fade, count, pr[xi].x1, pr[xi].x1To, xID), EL.fadeSet(pr[xi].y1Fade, count, pr[xi].y1, pr[xi].y1To, xID), EL.fadeSet(pr[xi].x2Fade, count, pr[xi].x2, pr[xi].x2To, xID), EL.fadeSet(pr[xi].y2Fade, count, pr[xi].y2, pr[xi].y2To, xID), EL.fadeSet(pr[xi].xFade, count, pr[xi].x, pr[xi].xTo, xID), EL.fadeSet(pr[xi].yFade, count, pr[xi].y, pr[xi].yTo, xID) ); }else{ cc.lineTo(EL.fadeSet(pr[xi].xFade, count, pr[xi].x, pr[xi].xTo, xID), EL.fadeSet(pr[xi].yFade, count, pr[xi].y, pr[xi].yTo, xID)); } xi++; } if(pr.closePath) cc.closePath(); if(pr.fillLine) cc.fill(); if(pr.strokeLine) cc.stroke(); }else if(command == 'fill'){ if(pr.r && pr.g && pr.b && pr.a){ pr.r = parseInt(EL.fadeSet(pr.rFade, count, pr.r, pr.rTo, xID)); pr.g = parseInt(EL.fadeSet(pr.gFade, count, pr.g, pr.gTo, xID)); pr.b = parseInt(EL.fadeSet(pr.bFade, count, pr.b, pr.bTo, xID)); pr.a = EL.fadeSet(pr.aFade, count, pr.a, pr.aTo, xID); cc.fillStyle = 'rgba(' + pr.r + ', ' + pr.g + ', ' + pr.b + ', ' + pr.a + ')'; } cc.fill(); }else if(command == 'stroke'){ if(pr.r && pr.g && pr.b && pr.a){ pr.r = parseInt(EL.fadeSet(pr.rFade, count, pr.r, pr.rTo, xID)); pr.g = parseInt(EL.fadeSet(pr.gFade, count, pr.g, pr.gTo, xID)); pr.b = parseInt(EL.fadeSet(pr.bFade, count, pr.b, pr.bTo, xID)); pr.a = EL.fadeSet(pr.aFade, count, pr.a, pr.aTo, xID); cc.strokeStyle = 'rgba(' + pr.r + ', ' + pr.g + ', ' + pr.b + ', ' + pr.a + ')'; } if(pr.weight) cc.lineWidth = EL.fadeSet(pr.weightFade, count, pr.weight, pr.weightTo, xID); cc.stroke(); }else if(command == 'opacity'){ cc.globalAlpha = EL.fadeSet(pr.Fade, count, pr.opacity, pr.opacityTo, xID); }else if(command == 'rectangle'){ if(pr.behindFill){ if(pr.stroke){ if(pr.stroke.r && pr.stroke.g && pr.stroke.b && pr.stroke.a){ pr.stroke.r = parseInt(EL.fadeSet(pr.stroke.rFade, count, pr.stroke.r, pr.stroke.rTo, xID)); pr.stroke.g = parseInt(EL.fadeSet(pr.stroke.gFade, count, pr.stroke.g, pr.stroke.gTo, xID)); pr.stroke.b = parseInt(EL.fadeSet(pr.stroke.bFade, count, pr.stroke.b, pr.stroke.bTo, xID)); pr.stroke.a = EL.fadeSet(pr.stroke.aFade, count, pr.stroke.a, pr.stroke.aTo, xID); cc.strokeStyle = 'rgba(' + pr.stroke.r + ', ' + pr.stroke.g + ', ' + pr.stroke.b + ', ' + pr.stroke.a + ')'; } if(pr.stroke.weight) cc.lineWidth(EL.fadeSet(pr.stroke.weightFade, count, pr.stroke.weight, pr.stroke.weightTo, xID)); cc.strokeRect( EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID), EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, xID), EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, xID), EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, xID) ); } if(pr.fill){ if(pr.fill.r && pr.fill.g && pr.fill.b && pr.fill.a){ pr.fill.r = parseInt(EL.fadeSet(pr.fill.rFade, count, pr.fill.r, pr.fill.rTo, xID)); pr.fill.g = parseInt(EL.fadeSet(pr.fill.gFade, count, pr.fill.g, pr.fill.gTo, xID)); pr.fill.b = parseInt(EL.fadeSet(pr.fill.bFade, count, pr.fill.b, pr.fill.bTo, xID)); pr.fill.a = EL.fadeSet(pr.fill.aFade, count, pr.fill.a, pr.fill.aTo, xID); cc.fillStyle = 'rgba(' + pr.fill.r + ', ' + pr.fill.g + ', ' + pr.fill.b + ', ' + pr.fill.a + ')'; } cc.fillRect( EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID), EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, xID), EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, xID), EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, xID) ); } }else{ if(pr.fill){ if(pr.fill.r && pr.fill.g && pr.fill.b && pr.fill.a){ pr.fill.r = parseInt(EL.fadeSet(pr.fill.rFade, count, pr.fill.r, pr.fill.rTo, xID)); pr.fill.g = parseInt(EL.fadeSet(pr.fill.gFade, count, pr.fill.g, pr.fill.gTo, xID)); pr.fill.b = parseInt(EL.fadeSet(pr.fill.bFade, count, pr.fill.b, pr.fill.bTo, xID)); pr.fill.a = EL.fadeSet(pr.fill.aFade, count, pr.fill.a, pr.fill.aTo, xID); cc.fillStyle = 'rgba(' + pr.fill.r + ', ' + pr.fill.g + ', ' + pr.fill.b + ', ' + pr.fill.a + ')'; } cc.fillRect( EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID), EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, xID), EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, xID), EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, xID) ); } if(pr.stroke){ if(pr.stroke.r && pr.stroke.g && pr.stroke.b && pr.stroke.a){ pr.stroke.r = parseInt(EL.fadeSet(pr.stroke.rFade, count, pr.stroke.r, pr.stroke.rTo, xID)); pr.stroke.g = parseInt(EL.fadeSet(pr.stroke.gFade, count, pr.stroke.g, pr.stroke.gTo, xID)); pr.stroke.b = parseInt(EL.fadeSet(pr.stroke.bFade, count, pr.stroke.b, pr.stroke.bTo, xID)); pr.stroke.a = EL.fadeSet(pr.stroke.aFade, count, pr.stroke.a, pr.stroke.aTo, xID); cc.strokeStyle = 'rgba(' + pr.stroke.r + ', ' + pr.stroke.g + ', ' + pr.stroke.b + ', ' + pr.stroke.a + ')'; } if(pr.stroke.weight) cc.lineWidth(EL.fadeSet(pr.stroke.weightFade, count, pr.stroke.weight, pr.stroke.weightTo, xID)); cc.strokeRect( EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID), EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, xID), EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, xID), EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, xID) ); } } }else if(command == 'shadow'){ if(pr.shadow.x) cc.shadowOffsetX = EL.fadeSet(pr.shadow.xFade, count, pr.shadow.x, pr.shadow.xTo, xID); if(pr.shadow.y) cc.shadowOffsetY = EL.fadeSet(pr.shadow.yFade, count, pr.shadow.y, pr.shadow.yTo, xID); if(pr.shadow.blur) cc.shadowBlur = EL.fadeSet(pr.shadow.blurFade, count, pr.shadow.blur, pr.shadow.blurTo, xID); if(pr.shadow.r && pr.shadow.g && pr.shadow.b && pr.shadow.a){ pr.shadow.r = parseInt(EL.fadeSet(pr.shadow.rFade, count, pr.shadow.r, pr.shadow.rTo, xID)); pr.shadow.g = parseInt(EL.fadeSet(pr.shadow.gFade, count, pr.shadow.g, pr.shadow.gTo, xID)); pr.shadow.b = parseInt(EL.fadeSet(pr.shadow.bFade, count, pr.shadow.b, pr.shadow.bTo, xID)); pr.shadow.a = EL.fadeSet(pr.shadow.aFade, count, pr.shadow.a, pr.shadow.aTo, xID); cc.shadowColor = 'rgba(' + pr.shadow.r + ', ' + pr.shadow.g + ', ' + pr.shadow.b + ', ' + pr.shadow.a + ')'; } }else if(command == 'grandient' && pr.colors){ canGo = false; if(pr.style == 'linear' && pr.sx && pr.sy && pr.dx && pr.dy){ pr.sx = EL.fadeSet(pr.sxFade, count, pr.sx, pr.sxTo, xID); pr.sy = EL.fadeSet(pr.syFade, count, pr.sy, pr.syTo, xID); pr.dx = EL.fadeSet(pr.dxFade, count, pr.dx, pr.dxTo, xID); pr.dy = EL.fadeSet(pr.dyFade, count, pr.dy, pr.dyTo, xID); gr[gr.length] = cc.createLinearGradient(pr.sx, pr.sy, pr.dx, pr.dy); canGo = true; }else if(pr.style == 'radial' && pr.sx && pr.sy && pr.sr && pr.dx && pr.dy && pr.dr){ pr.sx = EL.fadeSet(pr.sxFade, count, pr.sx, pr.sxTo, xID); pr.sy = EL.fadeSet(pr.syFade, count, pr.sy, pr.syTo, xID); pr.sr = EL.fadeSet(pr.srFade, count, pr.sr, pr.srTo, xID); pr.dx = EL.fadeSet(pr.dxFade, count, pr.dx, pr.dxTo, xID); pr.dy = EL.fadeSet(pr.dyFade, count, pr.dy, pr.dyTo, xID); pr.dr = EL.fadeSet(pr.drFade, count, pr.dr, pr.drTo, xID); gr[gr.length] = cc.createRadialGradient(pr.sx, pr.sy, pr.sr, pr.dx, pr.dy, pr.dr); canGo = true; } if(canGo){ for(clKey in pr.colors){ clrs = pr.colors[clKey]; if(clrs.r && clrs.g && clrs.b){ clrs.r = parseInt(EL.fadeSet(clrs.rFade, count, clrs.r, clrs.rTo, xID)); clrs.g = parseInt(EL.fadeSet(clrs.gFade, count, clrs.g, clrs.gTo, xID)); clrs.b = parseInt(EL.fadeSet(clrs.bFade, count, clrs.b, clrs.bTo, xID)); color = '#' + EL.toClHex(clrs.r) + EL.toClHex(clrs.g) + EL.toClHex(clrs.b); } if(color && clrs.pos){ gr[(gr.length - 1)].addColorStop(clrs.pos, color); delete color; } } } }else if(command == 'convertpixels'){ pr.x = EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID); pr.y = EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, yID); pr.w = EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, wID); pr.h = EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, hID); var imgd = cc.getImageData(pr.x, pr.y, pr.w, pr.h); var pix = imgd.data; for(var i = 0, n = pix.length; i < n; i += 4){ if(pr.r) eval('pix[i] = ' + pr.r.replace('r', 'pix[i]').replace('R', 'pix[i]') + ';'); if(pr.g) eval('pix[i + 1] = ' + pr.r.replace('g', 'pix[i + 1]').replace('G', 'pix[i + 1]') + ';'); if(pr.b) eval('pix[i + 2] = ' + pr.r.replace('b', 'pix[i + 2]').replace('B', 'pix[i + 2]') + ';'); if(pr.a) eval('pix[i + 3] = ' + pr.r.replace('a', 'pix[i + 3]').replace('A', 'pix[i + 3]') + ';'); } cc.putImageData(imgd, pr.x, pr.y); }else if(command == 'clip'){ cc.clip(); }else if(command == 'transform'){ if(pr.rotate){ pr.rotate = EL.fadeSet(pr.rotateFade, count, pr.rotate, pr.rotateTo, xID); cc.rotate(pr.rotate * Math.PI / 180); } if(pr.translate){ pr.translate.x = EL.fadeSet(pr.translate.xFade, count, pr.translate.x, pr.translate.xTo, xID); pr.translate.y = EL.fadeSet(pr.translate.yFade, count, pr.translate.y, pr.translate.yTo, yID); cc.translate(pr.translate.x, pr.translate.y); } if(pr.invert && pr.invert.x && pr.invert.y && pr.invert.w && pr.invert.h){ pr.invert.x = EL.fadeSet(pr.invert.xFade, count, pr.invert.x, pr.invert.xTo, xID); pr.invert.y = EL.fadeSet(pr.invert.yFade, count, pr.invert.y, pr.invert.yTo, yID); pr.invert.w = EL.fadeSet(pr.invert.wFade, count, pr.invert.w, pr.invert.wTo, wID); pr.invert.h = EL.fadeSet(pr.invert.hFade, count, pr.invert.h, pr.invert.hTo, hID); var imgd = cc.getImageData(pr.invert.x, pr.invert.y, pr.invert.w, pr.invert.h); var pix = imgd.data; for(var i = 0, n = pix.length; i < n; i += 4){ pix[i] = 255 - pix[i]; pix[i+1] = 255 - pix[i+1]; pix[i+2] = 255 - pix[i+2]; } cc.putImageData(imgd, pr.invert.x, pr.invert.y); } }else if(command == 'image'){ if(pr.img && pr.x && pr.y && !pr.w){ pr.x = EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID); pr.y = EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, yID); cc.drawImage(pr.img, pr.x, pr.y); }else if(pr.img && pr.x && pr.y && pr.w && pr.h && !pr.dx){ pr.x = EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID); pr.y = EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, yID); pr.w = EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, wID); pr.h = EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, hID); cc.drawImage(pr.img, pr.x, pr.y, pr.w, pr.h); }else if(pr.img && pr.x && pr.y && pr.w && pr.h && pr.dx && pr.dy && pr.dw && pr.dh){ pr.x = EL.fadeSet(pr.xFade, count, pr.x, pr.xTo, xID); pr.y = EL.fadeSet(pr.yFade, count, pr.y, pr.yTo, yID); pr.w = EL.fadeSet(pr.wFade, count, pr.w, pr.wTo, wID); pr.h = EL.fadeSet(pr.hFade, count, pr.h, pr.hTo, hID); pr.dx = EL.fadeSet(pr.dxFade, count, pr.dx, pr.dxTo, xID); pr.dy = EL.fadeSet(pr.dyFade, count, pr.dy, pr.dyTo, yID); pr.dw = EL.fadeSet(pr.dwFade, count, pr.dw, pr.dwTo, wID); pr.dh = EL.fadeSet(pr.dhFade, count, pr.dh, pr.dhTo, hID); cc.drawImage(pr.img, pr.x, pr.y, pr.w, pr.h, pr.dx, pr.dy, pr.dw, pr.dh); } } } if((window[xID]['fade'] == 1) && (deep == 0)){ count++; EL.addDynamicFunction(xID, function(rxvar, xID, content, count){ EL.imager(xID, content, count); }, xID, content, count); window[xID]['fade'] = 0; } }, textEffect : function(obj, method, interval, inc, writeChar, fullText, count, cantAppend){ switch(method){ case 0: if(! cantAppend) cantAppend = false; startString = fullText.substring(0, count); addedString = fullText.substring(count, count + inc); if(addedString.indexOf('<') >= 0) cantAppend = true; if(addedString.indexOf('>') >= 0) cantAppend = false; count+=inc; obj.innerHTML = startString + addedString + ((count < fullText.length) ? writeChar : ''); if(count <= fullText.length){ if(cantAppend){ EL.textEffect(obj, method, interval, inc, writeChar, fullText, count, cantAppend); }else{ setTimeout(function(){EL.textEffect(obj, method, interval, inc, writeChar, fullText, count, false); }, interval); } } break; } }, toClHex : function(number){ if(number == null) return "00"; number = parseInt(number); if(number == 0 || EL.isNaN(number)) return "00"; number=Math.max(0, number); number=Math.min(number, 255); number=Math.round(number); return "0123456789ABCDEF".charAt((number - number % 16) / 16) + "0123456789ABCDEF".charAt(number % 16); }, bgImgCenter : function(imgSrc){ this.T('body').add('div', {'id' : '_EL_BG_IMAGE_C', 'style' : {'width' : '100%', 'height' : '100%', 'position' : 'fixed', 'top' : '0px', 'left' : '0px', 'zIndex' : '-1', 'overflow' : 'hidden'}}).add('img', {'src' : imgSrc, 'id' : '_EL_BG_IMAGE', 'style' : {'position' : 'absolute', 'top' : '0px', 'left' : '0px', 'zIndex' : '-1'}}); this.$('_EL_BG_IMAGE_C').appendChild(this.$('_EL_BG_IMAGE')); this.$('_EL_BG_IMAGE').events('load', function(){EL.bgImgAlign(); }); w.events('resize', function(){EL.bgImgAlign(); }); }, bgImgAlign : function(){ var _iW = EL.$('_EL_BG_IMAGE_C').w(); var _iH = EL.$('_EL_BG_IMAGE_C').h(); EL.$('_EL_BG_IMAGE').s({'width' : _iW + 'px', 'height' : ''}); var _BGTopPos = parseInt((_iH - EL.$('_EL_BG_IMAGE').h()) / 2); if(_BGTopPos <= 0) EL.$('_EL_BG_IMAGE').s({'top' : _BGTopPos + 'px', 'left' : '0px'}); else EL.$('_EL_BG_IMAGE').s({'height' : _iH + 'px', 'width' : '', 'top' : '0px'}).s({'left' : parseInt((_iW - EL.$('_EL_BG_IMAGE').w()) / 2) + 'px'}); }, pageLoaded : function(loadElement, count){ count -= 10; if(count > 0){ loadElement.s({'opacity' : count / 100}); setTimeout(function(){EL.pageLoaded(loadElement, count); }, EL.refreshTimeInMiliSec); }else{ loadElement.s({'display' : 'none'}); } }, pageUnloaded : function(unloadElement, count){ count += 25; if(count < 100){ unloadElement.s({'display' : 'block', 'opacity' : count / 100}); setTimeout(function(){EL.pageLoaded(loadElement, count); }, EL.refreshTimeInMiliSec); } }, loadUnload : function(loadElement, unloadElement){ if((loadElement) && (loadelmnt = EL.$(loadElement))){ loadelmnt.s({'position' : 'fixed', 'top' : '0px', 'left' : '0px', 'width' : '100%', 'height' : '100%', 'zIndex' : '10000'}); window.events('load', function(){ setTimeout(function(){EL.pageLoaded(loadelmnt, 100); }, EL.refreshTimeInMiliSec); }); } if((unloadElement) && (unloadelmnt = EL.$(unloadElement))){ unloadelmnt.s({'position' : 'fixed', 'top' : '0px', 'left' : '0px', 'width' : '100%', 'height' : '100%', 'zIndex' : '10000', 'display' : 'none'}); window.events('unload', function(){ setTimeout(function(){EL.pageUnloaded(unloadelmnt, 0); }, EL.refreshTimeInMiliSec); }); } }, setChildsToO : function(childs){ for(chkey in childs){ try{ if(childs[chkey]){ if((childs[chkey].id) && (childs[chkey].id != '')){ window['o'][childs[chkey].id] = childs[chkey]; } if((childs[chkey].name) && (childs[chkey].name != '')){ window['o'][childs[chkey].name] = childs[chkey]; } if(childs[chkey].childNodes.length != 0){ EL.setChildsToO(childs[chkey].childNodes); } } }catch(err){} } }, newVibra : function(objName){ this.vibra[objName] = { name : objName, structReorganize : true, maxKey : 240, currentKey : 0, isLoaded : false, autoPlay : true, imgCount : 0, imgLoadedCount : 0, isPlaying : false, traceTo : '', currentKeyNrTo : '', startAt : false, obj : new Array(), keys : new Array(), imgLoaded : function(self){ self.imgLoadedCount++; if(self.imgCount == self.imgLoadedCount){ self.isLoaded = true; } if(self.isLoaded && self.autoPlay){ self.play(); } }, setChilds : function(childs){ for(chkey in childs) if((childs[chkey]) && (childs[chkey].tagName) && (childs[chkey].id != contid)){ child = childs[chkey]; try{ if((! child.a('rel')) || (child.a('rel').strToUpper() != '_EL_UNCHANGED')){ child.s({'position' : 'absolute', 'top' : '0px', 'left' : '0px', 'width' : '1px', 'height' : '1px'}); if(child.tagName == 'IMG'){ this.imgCount++; var self = this; child.events('load', function(){ EL.vibra[self.name].imgLoaded(EL.vibra[self.name]); }); } if(child.a('name')) this.obj[child.a('name')] = child; if(child.a('id')) this.obj[child.a('id')] = child; if(child.childNodes.length != 0) this.setChilds(child.childNodes); } }catch(e){} } }, init : function(){ contName = this.name; cont=EL.$(contName); childs=cont.childNodes; contid = cont.id + EL.rand(100, 999) + '_EL'; if(this.structReorganize){ cont.add('div', {'id' : contid, 'style' : {'overflow' : 'hidden', 'width' : '100%', 'height' : '100%', 'position' : 'relative', 'top' : '0px', 'left' : '0px'}}); for(chkey in childs) if((childs[chkey]) && (childs[chkey].tagName) && (childs[chkey].id != contid)) EL.$(contid).appendChild(childs[chkey]); cont.appendChild(EL.$(contid)); childs=EL.$(contid).childNodes; } this.setChilds(childs); if(this.imgCount == 0){ this.isLoaded = true; if(this.isLoaded && this.autoPlay){ this.play(); } } this.prevMaxKey=this.maxKey; if(EL.$(this.currentKeyNrTo)){ this._KeysWriteTo = EL.$(this.currentKeyNrTo); this._WriteKeys = true; }else{ this._WriteKeys = false; } EL.addStaticFunction(this.name, function(getName){ EL.vibra[getName].goVibra(); }); }, playAt : function(second, minute, hour){ var c = new Date(); year = c.getFullYear(); month = c.getMonth(); day = c.getDay(); hour = (hour) ? hour : c.getHours(); minute = (minute) ? minute : c.getMinutes(); second = (second) ? second : c.getSeconds(); milisecond = 0; var sd = new Date(year, month, day, hour, minute, second, milisecond); this.startAt = sd.getTime(); //? }, goKey : function(keyNr){ this.currentKey = keyNr; }, play : function(){ this.isPlaying = true; }, stop : function(){ this.isPlaying = false; }, reset : function(){ this.currentKey = 0; }, next : function(count){ if(! count) count = 1; this.currentKey += count; if(this.currentKey > this.maxKey) this.currentKey -= this.MaxKey; }, prev : function(count){ if(! count) count = 1; this.currentKey -= count; if(this.currentKey < 0) this.currentKey = Math.abs(this.currentKey); }, trace : function(message){ if(EL.$(this.traceTo)) EL.$(this.traceTo).v(message); }, goVibra : function(){ if(this.startAt){ cd = new Date(); if(cd.getTime() > startAt){ this.startAt = false; this.isPlaying = true; } } if(this.isPlaying){ if(this._WriteKeys) this._KeysWriteTo.v(this.currentKey); if(this.keys[this.currentKey]) this.keys[this.currentKey](this.currentKey, this.obj); this.currentKey++; if(this.currentKey > this.maxKey){ this.currentKey=0; } } } }; this.vibra[objName]['k'] = this.vibra[objName]['keys']; }, scaleRange : function(smin, smax, scur, dmin, dmax){ return (dmax-dmin)*((scur-smin)/(smax-smin))+dmin; }, isElement : function(object){ return object && object.nodeType == 1; }, isArray : function(object){ return object != null && typeof object == "object"; }, isObject : function(object) { return (object && typeof object == 'object') || this.isFunction(object); }, isHash : function(object){ return object instanceof Hash; }, isFunction : function(object){ return typeof object == "function"; }, isString : function(object){ return typeof object == "string"; }, isNumber : function(object){ return typeof object == "number"; }, isUndefined : function(object){ return typeof object == "undefined"; }, isNaN : function(object){ return typeof object == "NaN"; }, isNumeric : function(value){ return (parseInt(value) + ' ') != 'NaN '; }, docLoad : function(func){ window.events('load', func); }, docScrollTop : function(){ iebody=(document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body return document.all ? iebody.scrollTop : pageYOffset; }, docScrollLeft : function(){ iebody=(document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body return document.all ? iebody.scrollLeft : pageXOffset; } } var EL = new EasyLayer(); xVibra = function(name){ window[name] = new EL.xVibra(name); window[name]['keys'] = window[name]['k'] = new Array(); window[name]['obj'] = new Array(); } EL.xVibra = function(name){ this.name = name; } EL.xVibra.prototype = { maxKey : 240, structReorganize : true, currentKey : 0, isLoaded : false, autoPlay : true, imgCount : 0, imgLoadedCount : 0, isPlaying : false, traceTo : '', currentKeyNrTo : '', startAt : false, imgLoaded : function(self){ self.imgLoadedCount++; if(self.imgCount == self.imgLoadedCount){ self.isLoaded = true; } if(self.isLoaded && self.autoPlay){ self.play(); } }, setChilds : function(childs){ for(chkey in childs) if((childs[chkey]) && (childs[chkey].tagName) && (childs[chkey].id != contid)){ try{ if((! child.a('rel')) || (child.a('rel').strToUpper() != '_EL_UNCHANGED')){ child = childs[chkey]; child.s({'position' : 'absolute', 'top' : '0px', 'left' : '0px', 'width' : '1px', 'height' : '1px'}); if(child.tagName == 'IMG'){ this.imgCount++; var self = this; child.events('load', function(){ window[self.name].imgLoaded(window[self.name]); }); } if(child.a('name')) this.obj[child.a('name')] = child; if(child.a('id')) this.obj[child.a('id')] = child; if(child.childNodes.length != 0) this.setChilds(child.childNodes); } }catch(e){} } }, init : function(){ cont=EL.$(this.name); childs=cont.childNodes; contid = cont.id + EL.rand(100, 999) + '_EL'; if(this.structReorganize){ cont.add('div', {'id' : contid, 'style' : {'overflow' : 'hidden', 'width' : '100%', 'height' : '100%', 'position' : 'relative', 'top' : '0px', 'left' : '0px'}}); for(chkey in childs) if((childs[chkey]) && (childs[chkey].tagName) && (childs[chkey].id != contid)) EL.$(contid).appendChild(childs[chkey]); cont.appendChild(EL.$(contid)); childs=EL.$(contid).childNodes; } this.setChilds(childs); this.prevMaxKey=this.maxKey; if(EL.$(this.currentKeyNrTo)){ this._KeysWriteTo = EL.$(this.currentKeyNrTo); this._WriteKeys = true; }else{ this._WriteKeys = false; } EL.addStaticFunction(this.name, function(getName){ window[getName].goVibra(); }); }, playAt : function(second, minute, hour){ var c = new Date(); year = c.getFullYear(); month = c.getMonth(); day = c.getDay(); hour = (hour) ? hour : c.getHours(); minute = (minute) ? minute : c.getMinutes(); second = (second) ? second : c.getSeconds(); milisecond = 0; var sd = new Date(year, month, day, hour, minute, second, milisecond); this.startAt = sd.getTime(); }, goKey : function(keyNr){ this.currentKey = keyNr; }, play : function(){ this.isPlaying = true; }, stop : function(){ this.isPlaying = false; }, reset : function(){ this.currentKey = 0; }, next : function(count){ if(! count) count = 1; this.currentKey += count; if(this.currentKey > this.maxKey) this.currentKey -= this.MaxKey; }, prev : function(count){ if(! count) count = 1; this.currentKey -= count; if(this.currentKey < 0) this.currentKey = Math.abs(this.currentKey); }, trace : function(message){ if(EL.$(this.traceTo)) EL.$(this.traceTo).v(message); }, goVibra : function(){ if(this.startAt){ cd = new Date(); if(cd.getTime() > startAt){ this.startAt = false; this.isPlaying = true; } } if(this.isPlaying){ if(this._WriteKeys) this._KeysWriteTo.v(this.currentKey); if(this.keys[this.currentKey]) this.keys[this.currentKey](this.currentKey, this.obj); this.currentKey++; if(this.currentKey > this.maxKey){ this.currentKey=0; } } } } function Canvas4IE(canvObj){ this.fillStyle = 'black'; this.globalAlpha = 1.0; this.globalCompositeOperation = ''; this.lineCap = ''; this.lineJoin = ''; this.lineWidth = '0'; this.miterLimit = ''; this.shadowBlur = ''; this.shadowColor = ''; this.shadowOffsetX = ''; this.shadowOffsetY = ''; this.strokeStyle = 'black'; this.cavObject = canvObj; this._path = ''; this._stateStack = new Array(); this._colorStop = new Array(); this._offsetX = 0; this._offsetY = 0; this._rotation = 0; } Canvas4IE.prototype = { save : function(){ var o = new Object(); this._copyState(this, o); this._stateStack.push(o); }, restore : function(){ var n = this._stateStack.length - 1; if (n < 0) { return; } var o = this._stateStack[n]; this._copyState(o, this); this._stateStack.splice(n, 1); }, _copyState : function(oFrom, oTo){ oTo.fillStyle = oFrom.fillStyle; oTo.lineCap = oFrom.lineCap; oTo.lineJoin = oFrom.lineJoin; oTo.lineWidth = oFrom.lineWidth; oTo.miterLimit = oFrom.miterLimit; oTo.shadowBlur = oFrom.shadowBlur; oTo.shadowColor = oFrom.shadowColor; oTo.shadowOffsetX = oFrom.shadowOffsetX; oTo.shadowOffsetY = oFrom.shadowOffsetY; oTo._offsetX = oFrom._offsetX; oTo._offsetY = oFrom._offsetY; oTo._rotation = oFrom._rotation; }, rotate : function(r){ var MAX = Math.PI * 2; this._rotation += r; while(this._rotation > MAX) this._rotation = MAX - this._rotation; }, scale : function(){ }, translate : function(x, y){ this._offsetX += x; this._offsetY += y; }, bezierCurveTo : function(cp1x, cp1y, cp2x, cp2y, x, y){ if (this._path) this._path += ' '; this._path += 'qb' + cp1x + ',' + cp1y + ',' + cp2x + ',' + cp2y + ',' + x + ',' + y; }, clip : function(){ if(!this._path) return; this._path += ' xe'; var o = this.cavObject.ownerDocument.createElement('elvmlo:clippath'); o['elvmlo:elvml'] = this._path; this.cavObject.appendChild(o); }, beginPath : function(){ this._path = ''; }, closePath : function(){ if (this._path) this._path += ' '; this._path += 'x'; }, lineTo : function(x, y){ if (this._path) this._path += ' '; this._path += 'l' + parseInt(x) + ',' + parseInt(y); }, moveTo : function(x, y){ if (this._path) this._path += ' '; this._path += 'm' + parseInt(x) + ',' + parseInt(y); }, stroke : function(){ if(! this._path) return; this._path += ' e'; var o = this.cavObject.ownerDocument.createElement('elvml:shape'); o.fillColor = 'none'; o.filled = false; o.strokeColor = this.strokeStyle; o.stroked = true; o.weight = this.lineWidth; o.coordsize = this.cavObject.offsetWidth + ',' + element.offsetHeight; o.style.position = 'absolute'; o.style.left = this._offsetX; o.style.top = this._offsetY; o.style.width = this.cavObject.offsetWidth; o.style.height = this.cavObject.offsetHeight; o.path = this._path; var s = this.cavObject.ownerDocument.createElement('elvml:stroke'); s.opacity = this.globalAlpha; o.appendChild(s); if(this._rotation){ var r = this.cavObject.ownerDocument.createElement('elvml:group'); r.style.position = 'absolute'; r.style.left = 0; r.style.top = 0; r.style.width = this.cavObject.offsetWidth; r.style.height = this.cavObject.offsetHeight; r.coordsize = o.coordsize; r.style.rotation = Math.round((this._rotation * 180) / Math.PI); r.style.rotationCenter = '0,0'; r.appendChild(o); this.cavObject.appendChild(r); var cosa = Math.cos(this._rotation); var sina = Math.sin(this._rotation); var cx = this.cavObject.offsetWidth / 2; var cy = this.cavObject.offsetHeight / 2; var x = ( cx*(1-cosa) + cy*sina); var y = (-cx*sina + cy*(1-cosa)); r.style.left = x * -1; r.style.top = y * -1; }else this.cavObject.appendChild(o); }, fill : function(){ if(!this._path) return; this._path += ' e'; var o = this.cavObject.ownerDocument.createElement('elvml:shape'); o.fillColor = this.fillStyle; o.strokeColor = this.strokeStyle; o.stroked = false; o.weight = this.lineWidth; o.coordsize = this.cavObject.offsetWidth + ',' + this.cavObject.offsetHeight; o.style.position = 'absolute'; o.style.left = this._offsetX; o.style.top = this._offsetY; o.style.width = this.cavObject.offsetWidth; o.style.height = this.cavObject.offsetHeight; o.path = this._path; var f = this.cavObject.ownerDocument.createElement('elvml:fill'); f.opacity = this.globalAlpha; o.appendChild(f); if (this._rotation) { var r = this.cavObject.ownerDocument.createElement('elvml:group'); r.style.position = 'absolute'; r.style.left = 0; r.style.top = 0; r.style.width = this.cavObject.offsetWidth; r.style.height = this.cavObject.offsetHeight; r.coordsize = o.coordsize; r.style.rotation = Math.round((this._rotation * 180) / Math.PI); r.style.rotationCenter = '0,0'; r.appendChild(o); this.cavObject.appendChild(r); var cosa = Math.cos(this._rotation); var sina = Math.sin(this._rotation); var cx = (element.offsetWidth) / 2; var cy = (element.offsetHeight) / 2; var x = ( cx*(1-cosa) + cy*sina); var y = (-cx*sina + cy*(1-cosa)); r.style.left = x * -1; r.style.top = y * -1; }else this.cavObject.appendChild(o); }, quadraticCurveTo : function(cpx, cpy, x, y){ if(this._path) this._path += ' '; this._path += 'qb' + cpx + ',' + cpy + ',' + x + ',' + y; }, arc : function(x, y, radius, startAngle, endAngle, clockwise){ if(this._path) this._path += ' '; var xi = parseFloat(x); var yi = parseFloat(y); var x1 = xi - radius; var y1 = yi - radius; var x2 = xi + radius; var y2 = yi + radius; var x3 = Math.round(xi + (Math.cos(startAngle) * radius)); var y3 = Math.round(yi + (Math.sin(startAngle) * radius)); var x4 = Math.round(xi + (Math.cos(endAngle) * radius)); var y4 = Math.round(yi + (Math.sin(endAngle) * radius)); this._path += 'ar' + x1 + ',' + y1 + ',' + x2 + ',' + y2 + ',' + x3 + ',' + y3 + ',' + x4 + ',' + y4; }, rect : function(x, y, w, h){ var x2 = Math.round(x + w); var y2 = Math.round(y + h); var x1 = Math.round(x); var y1 = Math.round(y); this._path += 'm' + x1 + ',' + y1 + ' l' + x2 + ',' + y1 + ' l' + x2 + ',' + y2 + ' l' + x1 + ',' + y2 + ' x'; }, strokeRect : function(x, y, w, h){ var o = this.cavObject.ownerDocument.createElement('elvml:rect'); o.fillColor = 'none'; o.filled = false; o.strokeColor = this.strokeStyle; o.stroked = true; o.weight = this.lineWidth; o.style.position = 'absolute'; o.style.left = this._offsetX + x; o.style.top = this._offsetY + y; o.style.width = w; o.style.height = h; var s = this.cavObject.ownerDocument.createElement('elvml:fill'); s.opacity = this.globalAlpha; o.appendChild(s); this.cavObject.appendChild(o); }, clearRect : function(x, y, w, h){ }, fillRect : function(x, y, w, h){ var o = this.cavObject.ownerDocument.createElement('elvml:rect'); // o.a({fillColor : this.fillStyle, filled : true, stroked : false, weight : 0, style : {position : 'absolute', left : this._offsetX + x, top : this._offsetY + y, width : w, height : h, antialias : 'false'}}); o.fillColor = this.fillStyle; o.filled = true; o.stroked = false; o.weight = 0; o.style.position = 'absolute'; o.style.left = this._offsetX + x; o.style.top = this._offsetY + y; o.style.width = w; o.style.height = h; o.style.antialias = 'false'; var f = this.cavObject.ownerDocument.createElement('elvml:fill'); f.opacity = this.globalAlpha; o.appendChild(f); this.cavObject.appendChild(o); }, addColorStop : function(copPos, color){ }, createLinearGradient : function(){ }, createPattern : function(){ }, createRadialGradient : function(){ }, drawImage : function(image, x, y, w, h, dx, dy, dw, dh){ var o = this.cavObject.ownerDocument.createElement('elvml:image'); // o.a({fillColor : this.fillStyle, filled : true, stroked : false, weight : 0, style : {position : 'absolute', left : this._offsetX + x, top : this._offsetY + y, width : w, height : h, antialias : 'false'}}); o.src = image.src; o.fillColor = this.fillStyle; o.filled = true; o.strokeColor = this.strokeStyle; o.stroked = true; o.weight = this.lineWidth; o.style.position = 'absolute'; o.style.left = this._offsetX + x; o.style.top = this._offsetY + y; if(w) o.style.width = w; if(h) o.style.height = h; if(dx) o.cropleft = dx; if(dy) o.croptop = dy; if(dw) o.cropright = w - dw; if(dh) o.cropbottom = h - dh; var f = this.cavObject.ownerDocument.createElement('elvml:fill'); f.opacity = this.globalAlpha; o.appendChild(f); this.cavObject.appendChild(o); }, drawImageFromRect : function(){ } } if ( !window.Element ) { Element = function() {}; } window['_LINEAR_FADE'] = 0; window['_SINUS_FADE'] = 1; window['_CUSTOM_FADE'] = 2; window['_RANDOM_FADE'] = 3; window['_CHAR_BY_CHAR'] = 0; Element.prototype.add = document.add = function(prtype, params, insPos){ var nd = document.createElement(prtype); if(params){ if(EL.isArray(params)) if(params['style']){ nd.s(params['style']); delete params['style']; } nd.a(params); } if(! insPos){ this.appendChild(nd); }else if(insPos == 'before'){ this.parentNode.insertBefore(nd, this); }else if(insPos == 'after'){ this.parentNode.insertBefore(nd, this.nextSibling); }else if(insPos.tagName){ this.parentNode.insertBefore(nd, insPos.previousSibling); } if(nd.a('id')) window['o'][nd.a('id')]=nd; if(nd.a('name')) window['o'][nd.a('name')]=nd; return nd; }; Element.prototype.addSWF = function(SWFMovie, params){ if(! SWFMovie) return false; if(! EL.AdobeFlash) return false; var ndObj = document.createElement('object'); var ndEmb = document.createElement('embed'); ndEmb.a({'src' : SWFMovie}); if(params['width']){ ndObj.a({'width' : params['width']}); ndEmb.a({'width' : params['width']}); delete params['width']; } if(params['height']){ ndObj.a({'height' : params['height']}); ndEmb.a({'height' : params['height']}); delete params['height']; } ndObj.add('param', {'name' : 'movie', 'value' : SWFMovie}); for(var paramKey in params) ndObj.add('param', {'name' : paramKey, 'value' : params[paramKey]}); ndEmb.a(params); this.appendChild(ndObj); ndObj.appendChild(ndEmb); if(ndObj.a('id')) window['o'][ndObj.a('id')]=nd; if(ndObj.a('name')) window['o'][ndObj.a('name')]=nd; if(ndEmb.a('id')) window['o'][ndEmb.a('id')]=nd; if(ndEmb.a('name')) window['o'][ndEmb.a('name')]=nd; }; Element.prototype.next = function(){ var n = this; do n = n.nextSibling; while (n && n.nodeType != 1); return n; }; Element.prototype.prev = function(){ var p = this; do p = p.previousSibling; while (p && p.nodeType != 1); return p; }; Element.prototype.a = function(prvalue){ if(EL.isArray(prvalue)){ for(var prkey in prvalue){ if((this.tagName.toUpperCase() == 'DIV') && (prkey.toUpperCase() == 'VALUE')){ this.v(prvalue[prkey]); }else{ this.setAttribute(prkey, prvalue[prkey]); } } return this; }else{ return this.getAttribute(prvalue); } }; Element.prototype.rem = function(){ this.parentNode.removeChild(this); }; Element.prototype.v = function(text, style){ if(EL.isString(text)){ thisType = this.tagName.toUpperCase(); if((thisType == 'INPUT') || (thisType == 'TEXTAREA') || (thisType == 'SELECT')){ this.value=text; }else{ this.innerHTML=text; } if(style){ this.s(style); } return this; }else{ thisType = this.tagName.toUpperCase(); return ((thisType == 'INPUT') || (thisType == 'TEXTAREA')) ? this.value : this.innerHTML; } }; Element.prototype.s = function(styles){ if(EL.isString(styles)) { expr=styles.split(":"); var styles = new Array(); styles[expr[0]]=expr[1]; } thisType = this.tagName.toUpperCase(); for(var property in styles){ if(property.indexOf('borderRadius') >= 0){ this.style[property] = styles[property]; this.style['Moz' + property.ucFirst()] = styles[property]; if(property.length > 12){ this.style['webkitBorder' + property.substr(12).replace('left', 'Left').replace('right', 'Right').replace('top', 'Top').replace('bottom', 'Bottom').ucFirst() + 'Radius'] = styles[property]; }else{ this.style['webkit' + property.ucFirst()] = styles[property]; } this.style['KHTML' + property.ucFirst()] = styles[property]; }else if(property == 'boxShadow'){ this.style[property] = styles[property]; this.style['Moz' + property.ucFirst()] = styles[property]; this.style['webkit' + property.ucFirst()] = styles[property]; msfilter=styles[property].split(' '); this.style['filter'] = 'progid:DXImageTransform.Microsoft.dropshadow(OffX=' + msfilter[0] + ', OffY=' + msfilter[1] + ', Color=' + msfilter[3] + ')'; }else if(property == 'transform'){ if(EL.isString(styles[property])){ this.style[property] = styles[property]; this.style['Moz' + property.ucFirst()] = styles[property]; this.style['webkit' + property.ucFirst()] = styles[property]; }else{ sProp = styles[property]; for(var trProp in sProp){ this.style['transform'] += trProp + '(' + sProp[trProp] + ') '; this.style['MozTransform'] += trProp + '(' + sProp[trProp] + ') '; this.style['webkitTransform'] += trProp + '(' + sProp[trProp] + ') '; } } }else if((thisType == 'CANVAS') && ((property == 'width') || (property == 'height'))){ this.setAttribute(property, styles[property]); }else{ if((property == 'opacity') && (EL.browser.IE)){ this.style['filter'] = 'alpha(opacity=' + parseInt(parseFloat(('00' + styles[property]) * 100)) + ')'; }else this.style[property] = styles[property]; } } return this; }; Element.prototype.getStyle = function(property){ if(this.currentStyle) var y = this.currentStyle[property]; else if(window.getComputedStyle) var y = document.defaultView.getComputedStyle(this, null).getPropertyValue(property); return y; }; Element.prototype.fadeTop = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'top', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeLeft = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'left', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeWidth = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'width', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeHeight = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'height', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadePadding = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'padding', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadePaddingTop = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'paddingTop', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadePaddingLeft = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'paddingLeft', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadePaddingRight = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'paddingRight', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadePaddingBottom = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'paddingBottom', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeMargin = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'margin', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeMarginTop = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'marginTop', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeMarginLeft = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'marginLeft', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeMarginRight = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'marginRight', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeMarginBottom = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'marginBottom', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeBorderWidth = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'borderWidth', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeColor = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'color', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeBackgroundColor = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'backgroundColor', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeBorderColor = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'borderColor', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fadeFontSize = function(way, from, to, unit, actual, fadeArray){ EL.elementFade(this, 'fontSize', way, from, to, unit, actual, fadeArray); return this; } Element.prototype.fade = function(action){ this.style.rgworking = 'countup'; EL.fade(this.style, action); return this; }; Element.prototype.stopFade = function(){ this.style.rgworking = ''; return this; } Element.prototype.mirrorFade = function(action){ if(this.style.rgworking == 'countup'){ this.style.rgworking = 'countdown'; } if(this.style.rgworking != 'countdown'){ this.style.rgworking = 'countup'; } EL.fade(this.style, action); return this; }; Element.prototype.endFade = function(){ if(this.style.rgworking != '') this.style.rgworking = 'finnish'; return this; }; Element.prototype.suspendFade = function(){ if(this.style.rgworking != '') this.style.rgworking = 'suspend'; return this; }; Element.prototype.imager = function(content){ if(this.tagName.toUpperCase() == 'CANVAS'){ if(! this.id) this.id = 'EL' + EL.rand(1000, 9999); xID = this.id; window[xID] = new Array(); window[xID]['cc'] = this.getContext('2d'); window[xID]['fade'] = 0; window[xID]['gr'] = new Array(); EL.imager(xID, content, 0); } return this; }; Element.prototype.textEffect = function(method, interval, inc, writeChar){ if(! inc) inc = 1; EL.textEffect(this, method, interval, inc, writeChar, this.innerHTML, 0); return this; }; Element.prototype.w = function(width){ if(width){ this.s({'width' : width}); }else{ return this.offsetWidth; } }; Element.prototype.h = function(height){ if(height){ this.s({'height' : height}); }else{ return this.offsetHeight; } }; Element.prototype.t = function(top){ if(top){ this.s({'top' : top}); }else{ return this.offsetTop; } }; Element.prototype.l = function(left){ if(left){ this.s({'left' : left}); }else{ return this.offsetLeft; } }; Element.prototype.absTop = function(){ y = this.offsetTop; parent = this; while (parent.offsetParent){ parent = parent.offsetParent; y += parent.offsetTop ; } return y; } Element.prototype.absLeft = function(){ x = this.offsetLeft; parent = this; while (parent.offsetParent){ parent = parent.offsetParent; x += parent.offsetLeft; } return x; } Element.prototype.none = function(){ this.style.display = 'none'; return this; }; Element.prototype.block = function(){ this.style.display = 'block'; return this; }; Element.prototype.inline = function(){ this.style.display = 'inline'; return this; }; Element.prototype.hidden = function(){ this.style.visibility = 'hidden'; return this; }; Element.prototype.visible = function(){ this.style.visibility = 'visible'; return this; }; Element.prototype.display = function(){ return this.style.display; }; Element.prototype.showed = function(){ return this.style.display != 'none' && this.style.visibility != 'hidden'; }; Element.prototype.visibility = function(){ return this.style.visibility; }; Element.prototype.upload = function(fields, executeBeforeSubmit){ if(fields){ canGo=true; setFocus=false; for(var field in fields) if(this[field]){ if(this[field].ELStyle) this[field].a({'style' : this[field].ELStyle}); if(((fields[field] == 'number') && (! EL.isNumeric(this[field].value))) || ((fields[field] == '') && (this[field].value.trim() == '')) || (((fields[field] != '') && (this[field].value != this[fields[field]].value)) || (this[field].value.trim() == ''))){ if(! this[field].ELStyle) this[field].ELStyle = this[field].a('style'); if(! setFocus){ this[field].focus(); setFocus=true; } this[field].a({'style' : this[field].ELStyle + EL.submitErrorStyle}); canGo=false; } } if(canGo){ if(executeBeforeSubmit) executeBeforeSubmit(); this.submit(); } }else this.submit(); }; Element.prototype.events = window.events = document.events = function(eAction, eFunction){ if(EL.browser.IE) this.attachEvent('on' + eAction, eFunction); else this.addEventListener(eAction, eFunction, false); return this; }; Element.prototype.iDoc = function(){ thisType = this.tagName.toUpperCase(); if(thisType == 'IFRAME'){ return ((this.contentWindow) ? this.contentWindow : (this.contentDocument.document) ? this.contentDocument.document : this.contentDocument); }else{ return this; } }; Element.prototype.opacityFade = function(step, toValue){ } Element.prototype.aReq = function(url, form, reqType, destFunction){ if(typeof this.aOptions == 'undefined'){ this.aOptions = { xmlhttp : false, aIsAsync : true, aReqType : 'GET', functions : false, silentLoad : false }; try { this.aOptions.xmlhttp = new XMLHttpRequest(); var success = true; }catch(e){ var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'); var success = false; for(var i=0;i < XMLHTTP_IDS.length && !success; i++){ try{ this.aOptions.xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]); success = true; }catch(e){} } if(!success){ this.onError('Unable to create XMLHttpRequest.'); } } if(success){ this.aOptions.xmlhttp.destinationObject = this; } } if(this.aOptions.xmlhttp != false){ reloadFormVar = false; if(typeof form == 'object'){ if(typeof form['reqType'] == 'string'){ reqType = form['reqType']; reloadFormVar = true; } if(typeof form['destFunction'] == 'function'){ destFunction = form['destFunction']; reloadFormVar = true; } if((typeof form['form'] == 'object') || (typeof form['form'] == 'string')){ xform = form['form']; reloadFormVar = true; } if(typeof form['async'] == 'boolean'){ this.aOptions.aIsAsync = form['async']; reloadFormVar = true; } if(typeof form['silentLoad'] == 'boolean'){ this.aOptions.silentLoad = form['silentLoad']; reloadFormVar = true; } } if(reloadFormVar){ form = false; if((typeof xform == 'object') || (typeof xform == 'string')) form = xform; } if((EL.aWhileLoading) && (! this.aOptions.silentLoad)){ if(EL.aLoaderSameDest){ this.innerHTML = EL.aWhileLoading.innerHTML; }else{ EL.aWhileLoading.s({'display' : 'block'}); } } if(reqType) this.aOptions.aReqType = reqType; if(destFunction) this.aOptions.functions = destFunction; if((form) && (this.aOptions.aReqType == 'GET')){ var xParam = (typeof form == 'object') ? EL.array2urlquery(form) : EL.getquerystring(form); url += (xParam.length > 0) ? '?' + xParam : ''; } this.aOptions.xmlhttp.onreadystatechange = function(){ switch(this.readyState){ case 2: this.aOnSend; break; case 4: if((! EL.aLoaderSameDest) && (! this.destinationObject.aOptions.silentLoad)) setTimeout(function(){EL.aWhileLoading.s({'display' : 'none'}); }, 250); this.aOnLoad; if(this.status == 200){ xRetNStrings = this.responseText; retTitle = xRetNStrings.split(""); if(retTitle.length > 1){ xRetTitle = retTitle[1].split(""); document.title = xRetTitle[0]; } retNStrings = xRetNStrings.split(""); eval(iRetNStrings[0]); this.destinationObject.innerHTML += iRetNStrings[1]; } if(typeof this.destinationObject.aOptions.functions == 'function'){ this.destinationObject.aOptions.functions(); } EL.replaceSelect(); EL.replaceRadio(); EL.replaceCheck(); EL.replaceUpload(); EL._replaceAHrefToHash(); }else{ // this.onError('HTTP Error Making Request: ' + '[' + this.status + ']' + this.statusText); // alert('HTTP Error Making Request: ' + '[' + this.status + ']' + this.statusText); } this.destinationObject.aOptions.functions = false; break; } } this.aOptions.xmlhttp.open(this.aOptions.aReqType, url, this.aOptions.aIsAsync); if((form) && (this.aOptions.aReqType == 'POST')){ var xParam = (typeof form == 'object') ? EL.array2urlquery(form) : EL.getquerystring(form); this.aOptions.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); this.aOptions.xmlhttp.setRequestHeader("Content-length", xParam.length); this.aOptions.xmlhttp.setRequestHeader("Connection", "close"); this.aOptions.xmlhttp.send(xParam); }else{ this.aOptions.xmlhttp.send(null); } if(!this.aOptions.aIsAsync){ return this.aOptions.xmlhttp.responseText; } } }; Element.prototype.mOver = function(func){ this.events('mouseover', func); } Element.prototype.mOut = function(func){ this.events('mouseout', func); } Element.prototype.mClick = function(func){ this.events('click', func); } Element.prototype.unSelectable = function(){ this.unselectable = 'on'; this.contenteditable = 'false'; this.style.userSelect = 'none'; this.style.MozUserSelect = 'none'; this.style.MozUserEdit = 'none'; this.style.KhtmlUserSelect = 'none'; } String.prototype.ucFirst = function(){ firstLetter = this.substr(0, 1); return firstLetter.toUpperCase() + this.substr(1); }; String.prototype.ucWords = function(){ words = this.split(' '); for(var ord in words) words[ord]=words[ord].ucFirst(); return words.join(' '); }; String.prototype.strToInt = function(){ return EL.isNaN(v = parseInt(this)) ? 0 : v; }; String.prototype.strToFloat = function(){ return EL.isNaN(v = parseFloat(this)) ? 0 : v; }; String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); }; String.prototype.ltrim = function() { return this.replace(/^\s+/,""); }; String.prototype.rtrim = function() { return this.replace(/\s+$/,""); }; EL.init(); window.events('load', function(){EL.load(); }); } if((EL.hashToPageOnLoad) && (EL.savedHash.length > 0)) location.href = EL.savedHash; window.events('hashchange', function(){ if((EL.hashAddressing) && (EL.hashDest != '')){ currentHash = document.location.hash.substring(1, document.location.hash.length); currentHash = (currentHash != '') ? currentHash : document.location.href; if(currentHash != EL.savedHash){ EL.savedHash = currentHash; EL.loadHashedPage(); } } });