function editCmd(cmd){
	if(cmd!='none'){
		if(arguments.length==1)d.execCommand(cmd);
		else d.execCommand(cmd,false,arguments[1]);
	}
}
function stringSetAttribute(html,nam,val){
	var cutPos=html.indexOf('>');
	if(html.substring(cutPos-1,cutPos)=='/')cutPos--;
	var tag=html.substring(0,cutPos);
	if(tag.indexOf(nam)>-1){
		var reg=new RegExp('('+nam+'\\=")([^"]*)(")','gi');
		if(reg.test(tag)){
			tag=tag.replace(reg,function ($0,$1,$2,$3){return $1+val+$3});
		}
		else{
			var reg2=new RegExp('('+nam+'\\=)([^ ]*)(\\b)','gi');
			tag=tag.replace(reg2,function ($0,$1,$2,$3){return $1+'"'+val+'"'+$3});
		}
	}
	else{
		tag+=(' '+nam+'="'+val+'"');
	}
	return tag+html.substring(cutPos,html.length);
}
function colorCmd(cmd){
	var path=event.srcElement;
	d.execCommand(cmd,0,path.style.backgroundColor);
}
function tagInsert(tg){
	var a=d.selection.createRange();
	a.pasteHTML('<'+tg+'>'+a.text+'</'+tg+'>');
}
function fontSizeChange(n){
	d.execCommand('FontSize',0,n);
}

function popColorCells(idx){
	var cdx=dObj(idx).getElementsByTagName('a');
	var hex=['00','33','66','99','cc','ff'];
	var indx=0;
	for(a=0;a<2;a++){
		for(b=0;b<6;b++){
			for(c=(0+(a*3));c<(3+(a*3));c++){
				for(e=0;e<6;e++){
					cdx[indx].style.backgroundColor='#'+hex[c]+hex[e]+hex[b];
					indx++;
				}
			}
		}
	}
}
function colorBoxDisplay(){
	var path=event.srcElement;
	nodePath(path,'*.colorBoxContainer\\colorBoxInfo').innerHTML=path.style.backgroundColor.toUpperCase();
}
function getContentBoxes(){
	var output=new Array();
	var ce=d.getElementsByTagName('div');
	for(i=0;i<ce.length;i++){
		if(ce[i].getAttribute("content",0)!=null) output[output.length]=ce[i];
	}
	return output;
}
function clearFormatting(){
	var sel=d.selection.createRange();
	var ce=getContentBoxes();
	var test=d.selection.createRange();
	for(i=0;i<ce.length;i++){
		test.moveToElementText(ce[i]);
		if(test.inRange(sel)){
			ce[i].innerText=ce[i].innerText;
			break;
		}
	}
}

function commentShow(){
	path=nodePath(event.srcElement,'*.cmComment');
	var box=dObj('commentDisplay');
	box.style.display='block';
	box.innerText=path.getAttribute('text');
	new obj(path).alignObject(box,3,1);
	dAEv('click',commentHide);
	dAEv('contextmenu',commentHide);
}
function commentHide(){
	if(event.srcElement.id!='cmComment'){
		var box=dObj('commentDisplay');
		box.style.display='none';
		dDEv('click',commentHide);
		dDEv('contextmenu',commentHide);
	}
}
function commentNew(){
	var nm=sysModal(applicationPath+'/insertComment.aspx',300,320);
	if(nm!=false&&nm!=undefined){
		var bClone=dObj('cmCommentCode').cloneNode(1);
		bClone.id='cmComment';
		bClone.setAttribute('text',nm);
		var sel=d.selection.createRange();
		sel.pasteHTML(bClone.outerHTML);
	}
}
function getPageQuery(){
	var loc=window.location+'';
	loc=loc.substring(loc.indexOf('page=')+5,loc.length);
	if(loc.substring(loc.length-1,loc.length)=='#')loc=loc.substring(0,loc.length-1);
	return loc;
}
function insertPicture(){
	var nm=sysModal(applicationPath+'/insertPicture.aspx?page='+getPageQuery(),300,200);
	if(nm!=false&&nm!=undefined){
		nm=nm.split(',');
		var nhtml='<img alt="X" src="'+nm[0]+'"';
		if(nm.length>1)nhtml+=' hsrc="'+nm[1]+'"';
		nhtml+='/>';
		var sel=d.selection.createRange();
		sel.pasteHTML(nhtml);
	}
}
function insertFile(){
	var nm=sysModal(applicationPath+'/insertFile.aspx?page='+getPageQuery());
	if(nm!=false&&nm!=undefined){
		var sel=d.selection.createRange();
		var reg=/\<img alt="X"/gi;
		var nhtml='<a href="'+nm+'" target="_blank">';
		nhtml+=sel.htmlText.replace(/\<p\>\&nbsp\;\<\/p\>/ig,'');
		if(sel.text.length==0&&!reg.test(sel.htmlText)){
			nhtml+=' New Link ';
		}
		nhtml+='</a>';
		sel.pasteHTML(nhtml);
	}
}
function insertLink(){
	var nm=sysModal(applicationPath+'/insertLink.aspx',300,400);
	if(nm!=false&&nm!=undefined){
	
		//nm=nm.toLowerCase();
		var sel=d.selection.createRange();
		var reg=/\<img alt="X"/gi;
		var nhtml='<a href="'+nm+'"';
		if(nm.toLowerCase().indexOf('http')==0) nhtml+=' target="_blank"';
		nhtml+='>';
		nhtml+=sel.htmlText.replace(/\<p\>|\<\/p\>/ig,'');;
		if(sel.text.length==0&&!reg.test(sel.htmlText)){
			nhtml+=' New Link ';
		}
		nhtml+='</a>';
		
		sel.pasteHTML(nhtml);
	}
}
function insertEmail(){
	var nm=sysModal(applicationPath+'/insertEmail.aspx',300,210);
	if(nm!=false&&nm!=undefined){
		var sel=d.selection.createRange();
		var reg=/\<img alt="X"/gi;
		var nhtml='<a href="#" onClick="emailClient(\''+nm+'\')">';
		nhtml+=sel.htmlText.replace(/\<p\>\&nbsp\;\<\/p\>/ig,'');
		if(sel.text.length==0&&!reg.test(sel.htmlText)){
			nhtml+=' Click to Email ';
		}
		nhtml+='</a>';
		sel.pasteHTML(nhtml);
	}
}
function insertDocsFile(){
	var nm=sysModal(applicationPath+'/insertDocsFile.aspx',500,450);
	if(nm!=false&&nm!=undefined){
		var sel=d.selection.createRange();
		var reg=/\<img alt="X"/gi;
		var nhtml=nm;
		nhtml+=sel.htmlText.replace(/\<p\>\&nbsp\;\<\/p\>/ig,'');;
		if(sel.text.length==0&&!reg.test(sel.htmlText)){
			nhtml+=' New DM File Link ';
		}
		nhtml+='</a>';
		sel.pasteHTML(nhtml);
	}
}