var sEdit = 'log_content'; var efBrowesr = browserDetect(); var picArray = new Array('gif','jpeg','bmp','jpg'); var efWeb = "";//http://www.eforum.com.cn/pic/ function $(_sId){return document.getElementById(_sId)} function browserDetect() { var efUA = navigator.userAgent.toLowerCase(); var efIE = efUA.indexOf("msie"); var efOpera = efUA.indexOf("opera"); var efMoz = efUA.indexOf("gecko"); if (efIE != -1) { nIeVer = parseFloat(efUA.substr(efIE + 5)); if (nIeVer >= 6) { return "ie6"; } else if (nIeVer >= 5.5) { return "ie55"; } else if (nIeVer >= 5 ) { return "ie5"; } } if (efOpera != -1) { return "opera"; } if (efMoz != -1) { return "moz"; } return "other"; } function isIE(){ return efBrowesr.indexOf("ie") > -1; } function isFF(){ return efBrowesr.indexOf("moz") > -1; } //新增附件 var attachNew = new Array(); function getFileNameFromPath(path){ var lastnum=path.lastIndexOf("\\"); var filename=path.substring(lastnum,path.length); return filename; } //浏览一个文件 function initUpload(obj,efId){ if(isIE()){ $("demopic"+efId).src = _contextPath+"/eb/template/OsaccBlog/images/clear.gif" $("demopic"+efId).style.filter=""; } if(obj.value==""){ return; } if (checkPic(obj)) { if(isIE()){ var wh = getImageWh($("attach"+efId).value,180,120); $("demopic"+efId).src=_contextPath+"/eb/template/OsaccBlog/images/clear.gif"; $("demopic"+efId).style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="scale",src="file:///' + obj.value +'"'; $("demopic"+efId).style.width=wh['w']+"px" $("demopic"+efId).style.height=wh['h']+"px"; } $("demopic"+efId).alt=obj.value.substr(obj.value.lastIndexOf('\\')+1); } else { if(!isFF()){ var fileType = getFileType(obj); $("demopic"+efId).src = efWeb + fileType + ".gif"; } } $("demopic"+efId).title = obj.value.substr(obj.value.lastIndexOf('\\')+1); if (attachNew.toString().indexOf(efId) < 0){ attachNew.push(efId); } $('attach_new').value = attachNew; } /** *点击删除按钮删除input file 的value值 */ function removeImage(num){ $("file"+num).value=""; $("demopic"+num).title="资源剪切板"; clearFileInput($('selectfile'+num)); if(attachNew.toString().indexOf(num)>=0){ var tempArr =new Array(); var item=attachNew.pop(); while(item!=num){ tempArr.push(item); item=attachNew.pop(); } } attachNew.concat(tempArr); $('attach_new').value = attachNew; initUpload($("file"+num),num); } //检查是否是图片 : 支持 jpeg gif bmp function checkPic(obj){ var fileType = getFileType(obj); return (picArray.toString().indexOf(fileType) >= 0) ; } function getFileType(obj){ return obj.value.substr(obj.value.lastIndexOf('.')+1).toLowerCase(); } //增加到文章中 function addArticle(efId){ var oEditor = FCKeditorAPI.GetInstance("log_content"); if (oEditor.EditMode==FCK_EDITMODE_WYSIWYG){ oEditor.InsertHtml('点击查看大图'); } } function checkInsertID(efId){ //已经插入; if (attachment.toString().indexOf(efId) >= 0){ return false; } else { attachment.push(efId); return true; } } /** *清空input file 的value值 */ function clearFileInput(file){ var form=document.createElement('form'); document.body.appendChild(form); //记住file在旧表单中的的位置 var pos=file.nextSibling; form.appendChild(file); form.reset(); pos.parentNode.insertBefore(file,pos); document.body.removeChild(form); } function insertHTML(_sStr) { var oRng; var oEdit; oEdit = $(sEdit); oEdit.focus(); if (isIE()) { oRng = oEdit.document.selection.createRange(); oRng.text += _sStr; } else { oEdit.value = oEdit.value.substring(0, oEdit.selectionStart) + _sStr + oEdit.value.substring(oEdit.selectionEnd, oEdit.value.length); } } //删除 function clearSelect(efId){ if (confirm("您确认删除吗?")) { deleteUpload(efId); } /* var oEdit; var str = $(sEdit).value.replace(new RegExp("\\[upload\\]###资源" + efId + "###\\[/upload\\]"),""); //alert($(sEdit).value); $(sEdit).value = str; $("filePath" + efId).value = ""; $('form' + efId).reset(); $("filetitle" + efId).value = ""; $("picShow" + efId).innerHTML = "资源剪切板"; */ } function deleteUpload(efId){ $('uploadPhotoDIV').removeChild($("upload"+efId)); //已上传资源 } var uploadIndex = 1; function getEfId(){ return uploadIndex ++; } function newUpload(){ //TODO 检查上传组件的数量 if( maxUpload < $('uploadPhotoDIV').childNodes.length){ alert("您不允许在上传了"); return ; } //TODO 如果第一个用户还没有选择,则不增加 $('uploadPhotoDIV').insertBefore(getUploadElement(getEfId()),$('uploadPhotoDIV').childNodes.item(0)); } function getUploadElement(efId){ var div = document.createElement("div"); div.id="upload" + efId; div.className="upload"; var copyDiv ; if($('attach_needinsert')) copyDiv = $('tpluploadinsert#no#').innerHTML; else copyDiv = $('tplupload#no#').innerHTML; var Reg = /#no#/g; div.innerHTML = copyDiv.replace(Reg,efId); //定义 上传 图片预览框的大小; div.style.width="184px"; return div; } //获取用户选定的图片 在预览框中 应该被显示的大小 function getImageWh(src,width,height){ if($('img_hidden') && $('img_hidden').filters){ $('img_hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = 'image'; try { $('img_hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src; } catch (e) { return null; } var wh = {'w' : $('img_hidden').offsetWidth, 'h' : $('img_hidden').offsetHeight}; $('img_hidden').style.width = '10px'; $('img_hidden').style.height = '10px'; $('img_hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = 'scale'; if(wh['w'] <= 1 || wh['h'] <= 1){ return {'w' : width, 'h' : height}; } if(wh['w'] >= width || wh['h'] >= height) { wh = getAttachImageWh(wh['w'], wh['h'],width,height); } return wh; } return null; } function getAttachImageWh(w, h, twidth, theight){ twidth = !twidth ? thumbwidth : twidth; theight = !theight ? thumbheight : theight; var x_ratio = twidth / w; var y_ratio = theight / h; var wh = new Array(); if((x_ratio * h) < theight) { wh['h'] = Math.ceil(x_ratio * h); wh['w'] = twidth; } else { wh['w'] = Math.ceil(y_ratio * w); wh['h'] = theight; } return wh; } //不失帧加载图片 function imgOnload(obj1,canvas_width,canvas_height){ var obj = obj1; var src_width = GetImageWidth(obj); var src_height =GetImageHeight(obj); var widthScale = src_width / canvas_width; var heightScale = src_height / canvas_height; if (widthScale >= 1 || heightScale >= 1) { //哪边差的小,以哪边为基准放大 if (widthScale < heightScale) { obj.style.width = (src_width / heightScale)+'px'; obj.style.height = canvas_height+'px'; } else { obj.style.width = canvas_width+'px'; obj.style.height = (src_height / widthScale)+'px'; } }else { /* if(widthScale > heightScale) { obj.width = canvas_width; obj.height = src_height / widthScale; } else { obj.width = src_width / heightScale; obj.height = canvas_height; }*/ obj.width = src_width; obj.height = src_height; } } var OriginImage=new Image(); function GetImageWidth(oImage) { if(OriginImage.src!=oImage.src)OriginImage.src=oImage.src; return OriginImage.width; } function GetImageHeight(oImage) { if(OriginImage.src!=oImage.src)OriginImage.src=oImage.src; return OriginImage.height; } /** *几张图片轮流显示 *pic 要显示的图片的地址,多张图片用 "|" 分隔 *link 对应图片点击跳转的地址,多个地址用 "|" 分隔 *text 对应图片的hint,多个hint用 "|" 分隔 *width 显示范围的宽 *height 显示范围的高 *itv 图片变换间隔 *spd 滤镜效果的速度 *name OspodSlide实例的名字 */ function OspodSlide(pic,link,text,width,height,itv,spd,name){ var interval = itv;//图片变换间隔 var duration = spd;//滤镜效果的速度 var xsImgWidth = width;//保存图片长和宽 var xsImgHeight = height var xsName = name; var pics =pic; var link = link; var texts = text; var xsImgs = new Array();//图片路径 var xsImgLinks = new Array();//图片链接 var xsImgTexts = new Array();//图片说明 var transitions = new Array;//滤镜 transitions[0] = "progid:DXImageTransform.Microsoft.Fade(duration="+duration/50+")"; transitions[1] = "progid:DXImageTransform.Microsoft.GradientWipe(duration="+duration/50+")"; transitions[2] = "progid:DXImageTransform.Microsoft.Pixelate(maxSquare=10,duration="+duration/50+")"; transitions[3] = "progid:DXImageTransform.Microsoft.Barn(function=15, duration="+duration/50+")"; var transition_count = transitions.length; var timerId = -1; var curImg = 0;//初始图片为curImg+1的图片 this.init = function(){ xsImgs = pics.split("|"); xsImgLinks = link.split("|"); xsImgTexts = texts.split("|"); document.write("") document.write("
") if (xsImgs.length != 0) { document.write("<\/a>") } document.write("<\/div>") window.setTimeout(xsName+".play()", interval)//刷新页面后变换图片的时间 } this.changeSlide = function(){ if (document.all){//如果是firefox浏览器 不使用滤镜,单纯替换图片 var do_transition = Math.floor(Math.random() * transition_count);//取随机滤镜 document.getElementById(xsName+'area').style.filter=transitions[do_transition]; document.getElementById(xsName+'area').filters[0].Apply(); } if (xsImgs.length !=0) { var slideImage = "<\/a>"; document.getElementById(xsName+'area').innerHTML = slideImage ; if (document.all) { document.getElementById(xsName+'area').filters[0].Play(); } } } this.forward = function(){ curImg++; if (curImg >= xsImgs.length) { curImg = 0; } this.changeSlide(); } this.play = function(){ if (timerId == -1) timerId = window.setInterval(xsName+'.forward();', interval); } this.init(); } function regImg(e,src,loadStr){//e:this;src:图片路径;loadStr:图片加载时显示的文字或者图片路径; if(!window.imgHash) window.imgHash = new Object(); var a = imgHash[src]; e.onerror=null; var loaddiv = document.createElement('div') //loaddiv.style.height=loadHeight; //loaddiv.style.lineHeight=loadHeight; loaddiv.innerHTML = loadStr; e.parentNode.appendChild(loaddiv); if(a==null) { e.style.display="none"; loaddiv.style.display="block"; a=[]; a[0]=new Image(); a[1]=e; a[0].onload=function(){setImges(a,loaddiv)}; a[0].src=src; }else{ if(a[0].readyState=="complete") e.src=src; else{ e.style.display="none"; a[a.length]=e; } } } var _st = window.setTimeout; //重载window.setTimeout window.setTimeout = function(fRef, mDelay) { if(typeof fRef == 'function'){ var argu = Array.prototype.slice.call(arguments,2); var f = (function(){ fRef.apply(null, argu); }); return _st(f, mDelay); } return _st(fRef,mDelay); } function setImges(a,loaddiv){ a[1].src=a[0].src; //alert("load"); window.setTimeout(showImges,500,a,loaddiv) } function showImges(a,loaddiv){ a[1].style.display=""; a[1].parentNode.removeChild(loaddiv); }