﻿/**
 * 阳光中国前台编辑器插件
 * @author 	billy
 * version 	1.0
 */
var Editor = {}; 

//构造编辑器div对象
Editor.DivClass = function(uri, textId, div, editorName){
	var THIS = this;
	
	THIS.leftText = ""; //光标前的内容
	THIS.rightText = ""; //光标后的内容
	
	THIS.uri = uri;
	THIS.bindPath = "/editor/editor.jsp?editorName="+editorName;
	THIS.div = div;
	THIS.textId = textId;
	
	THIS.tellPoint = function(){
		var content = document.getElementById(THIS.textId).value;
		if(content.length == 0){
			return;
		}
		/*
		if(document.all && window.external){
			//只有IE才支持
			var rng = event.srcElement.createTextRange();	
			rng.moveToPoint(event.x,event.y);	     
			rng.moveStart("character",-event.srcElement.value.length)	     
			THIS.leftText = rng.text; 
			THIS.rightText = content.substring(THIS.leftText.length, content.length)      
		}else{
			THIS.leftText = content;
		}
		*/
		/*
		if(document.all && window.external){
			var txb = document.getElementById(THIS.textId);
			var pos = 0;
			txb.focus();
			var s = txb.scrollTop;
			var r = document.selection.createRange();
			var t = txb.createTextRange();
			t.collapse(true);
			t.select();
			var j = document.selection.createRange();
			r.setEndPoint("StartToStart",j);
			var str = r.text;
			//var re = new RegExp("[\\n]","g");
			//str = str.replace(re,"");
			pos = str.length;
			r.collapse(false);
			r.select();
			txb.scrollTop = s;
					
			THIS.leftText = str;
			THIS.rightText = content.replace(str, "");
		}else{
			THIS.leftText = content;
		}
		*/
		
		var textEl = document.getElementById(THIS.textId);
		if (textEl.createTextRange) {
			textEl.caretPos = document.selection.createRange().duplicate(); 
		}
	}
	
	//打开编辑器
	THIS.open = function(){
		var callback =   {   
			success: function(o) {
						var editorDiv = document.getElementById(THIS.div);
						editorDiv.style.display = "block";
						editorDiv.innerHTML = o.responseText;
						editorDiv.style.left = window.screen.width/2-250 + "px";
						editorDiv.style.top = (document.documentElement.scrollTop+180) + "px";
					}
		}   
		var sUrl = THIS.uri + THIS.bindPath;
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
	}
	
	//打开编辑器
	THIS.open2 = function(){
		var callback =   {   
			success: function(o) {
						var editorDiv = document.getElementById(THIS.div);
						editorDiv.style.display = "block";
						editorDiv.innerHTML = o.responseText;
						editorDiv.style.left = "50px";
						editorDiv.style.top = (document.documentElement.scrollTop+180) + "px";
					}
		}   
		var sUrl = THIS.uri + THIS.bindPath;
		var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
	}
	
	//关闭编辑器
	THIS.close = function(){
		//THIS.leftText ="";
		//THIS.rightText="";
		document.getElementById(THIS.div).style.display = "none";
		document.getElementById(THIS.div).innerHTML = "";
	}
	
	//切换编辑器内部div
	THIS.showDiv = function(i){
		for(var number=1; number<4; number++){
			document.getElementById("up"+number).className = "upoff";
			document.getElementById("show"+number).style.display = "none";
		}
		document.getElementById("up"+i).className = "upon";
		document.getElementById("show"+i).style.display = "block";
	}
	
	//插入到文本框中去
	THIS.insertToContent = function(imgStr){
	    //document.getElementById(THIS.textId).focus();
		//var content = document.getElementById(THIS.textId).value;
		//document.getElementById(THIS.textId).value = content + imgStr;
		//document.getElementById(THIS.textId).value = THIS.leftText+imgStr+THIS.rightText;
		//THIS.leftText =THIS.leftText+imgStr;
		
		var textEl = document.getElementById(THIS.textId);
		if (textEl.createTextRange && textEl.caretPos) { 
			var caretPos = textEl.caretPos; 
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? imgStr + ' ' : imgStr; 
		}else { 
			textEl.value = textEl.value + imgStr; 
		}
		
		THIS.close();
	}
	
	//上传图片
	THIS.uploadImage = function() {
		document.getElementById("upload_error").innerHTML = "";
		var fileName = document.getElementById("f1").value;
		if(fileName == null || fileName.length == 0){
			document.getElementById("upload_error").innerHTML = "请选择要上传的图片";
			return false;
		}
		var extStr = fileName.substring(fileName.lastIndexOf(".")+1,fileName.length);
		//extStr = extStr.toLowerCase();
		if(extStr.length == 0 || PIC_ALLOW_EXTNAME.indexOf(extStr) == -1){
			document.getElementById("upload_error").innerHTML = "允许图片扩展名为:.jpg、.jpeg、.gif、.png";
			return false;
		}
		document.getElementById("backUrl").value = location.href;
		document.getElementById('uploadForm').submit();
	}
	
	//插入网络上的图片
	THIS.insertImageFromUrl = function(){
		var picUrl = document.getElementById("picUrl").value;
		if(picUrl == ""){
			document.getElementById("insertPicUrl_err").innerHTML = "请输入图片地址";
			return false;
		}	
		if(!StrUtil.checkURL(picUrl)){
			document.getElementById("insertPicUrl_err").innerHTML = "图片地址不正确";
			return false;
		}
		var insertText = "[URL]"+picUrl+"[IMG]"+picUrl+"[/IMG][/URL]";
		document.getElementById("picUrl").value = "";
		THIS.insertToContent(insertText);
		return true;
	}
	
	//插入视频地址
	THIS.insertMoiveUrl = function(){
		var moive = StrUtil.trim(document.getElementById("moive").value);
		if(moive == ""){
			document.getElementById("movie_err").innerHTML = "请输入视频播放代码";
			return false;
		}
		document.getElementById("moive").innerHtml = "";
		var insertText = "[MOIVE]"+moive+"[/MOIVE]";
		THIS.insertToContent(insertText);
		return true;
	}
}