var cTranslateThis01 = "Définir le style du paragraphe";
var cTranslateThis02 = "Créer un tableau";
var cTranslateThis03 = "Lignes";
var cTranslateThis04 = "Colonnes";
var cTranslateThis05 = "Largeur du tableau"
var cTranslateThis06 = "pixels";
var cTranslateThis07 = "pour cent";
var cTranslateThis08 = "Épaisseur de bordure";
var cTranslateThis09 = "Marge intérieure des cellules";
var cTranslateThis10 = "Espacement entre les cellules";
var cTranslateThis11 = "Insérer un tableau";
var cTranslateThis12 = "Sélectionner une couleur";
var cTranslateThis13 = "Créer un lien hypertexte";
var cTranslateThis14 = "Taper une URL sur une page Web";
var cTranslateThis15 = "Insérer un lien";
var cTranslateThis16 = "Afficher la source";
var cTranslateThis17 = "Entrer l'URL de l'image";
var cTranslateThis18 = "Paragraphe"
var cTranslateThis19 = "Style de police";
var cTranslateThis20 = "Taille de la police";
var cTranslateThis21 = "Désolé, les images que vous insérez doivent être accessibles via HTTP."
var cTranslateThis22 = "Couper";
var cTranslateThis23 = "Copier";
var cTranslateThis24 = "Coller";
var cTranslateThis25 = "Gras";
var cTranslateThis26 = "Italique";
var cTranslateThis27 = "Souligné";
var cTranslateThis28 = "Justifier à gauche";
var cTranslateThis29 = "Centrer";
var cTranslateThis30 = "Justifier à droite";
var cTranslateThis31 = "Liste numérotée";
var cTranslateThis32 = "Liste à puces";
var cTranslateThis33 = "Réduire le retrait";
var cTranslateThis34 = "Augmenter le retrait";
var cTranslateThis35 = "Insérer une ligne";
var cTranslateThis36 = "Insérer un lien";
var cTranslateThis37 = "Insérer un tableau";
var cTranslateThis38 = "Insérer une image";
var cTranslateThis39 = "Couleur d'arrière-plan";
var cTranslateThis40 = "Couleur du texte";
var cTranslateThis41 = "Définir la taille de police";
var cTranslateThis42 = "Définir le style de police";
var cTranslateThis43 = "Votre navigateur Web ne prend pas en charge cette fonction. Nous vous conseillons de télécharger la dernière version de Microsoft Internet Explorer ou d'un autre navigateur Web moderne.";
var cTranslateThis44 = "Parcourir Mon PC";
var cTranslateThis45 = "Parcourir les albums";
var cTranslateThis46 = "Précédent";
var cTranslateThis47 = "Suivant";
var cTranslateThis48 = "Retour aux albums";
var cTranslateThis49 = "Définir le style de police";
var cTranslateThis50 = "Parcourir les images";
var cTranslateThis51 = "Chargement des données du groupe";
var cTranslateThis52 = "Sélectionner l'émoticone";
var cTranslateThis53 = "Normal"
var cTranslateThis54 = "En-tête";
var cTranslateThis55 = "Préformaté";
var cTranslateThis56 = "Mes Groupes";
var cTranslateThis57 = "ne contient aucun album photos.";
var cTranslateThis58 = "Sélectionner une image depuis";
var cTranslateThis59 = "Parcourir les images";
var cTranslateThis60 = "Sélectionner une page de groupe";
var cTranslateThis61 = "Sélectionner une page";
var cTranslateThis62 = "ou";
var cTranslateThis63 = "Pour ajouter un lien à une image, veuillez mettre l'image en surbrillance, puis ajouter le lien.";

// ******* THERE IS NOTHING TO TRANSLATE BELOW THIS LINE ******* //




var paragraphStyleText = cTranslateThis01;
var createTableText = cTranslateThis02;
var rowsText = cTranslateThis03;
var columnsText = cTranslateThis04;
var tableWidthText = cTranslateThis05;
var pixelText = cTranslateThis06;
var percentText = cTranslateThis07;
var borderThicknessText = cTranslateThis08;
var cellPaddingText = cTranslateThis09;
var cellSpacingText = cTranslateThis10;
var insertTableText = cTranslateThis11;
var pickColorText = cTranslateThis12;
var createHyperlinkText = cTranslateThis13;
var typeUrlText = cTranslateThis14;
var insertLinkText = cTranslateThis15;
var viewSourceLinkText = cTranslateThis16;
var enterImageUrlText = cTranslateThis17;
var paragraphText = cTranslateThis18;
var fontStyleText = cTranslateThis19;
var fontSizeText = cTranslateThis20;
var errNoLocalImages = cTranslateThis21;
var cutText = cTranslateThis22;
var copyText = cTranslateThis23;
var pasteText = cTranslateThis24;
var boldText = cTranslateThis25;
var italicText = cTranslateThis26;
var underlineText = cTranslateThis27;
var leftJustifyText = cTranslateThis28;
var centerJustifyText = cTranslateThis29;
var rightJustifyText = cTranslateThis30;
var numberedListText = cTranslateThis31;
var bulletedListText = cTranslateThis32;
var decreaseIndentText = cTranslateThis33;
var increaseIndentText = cTranslateThis34;
var insertLineText = cTranslateThis35;
var insertLinkText = cTranslateThis36;
var insertTableText = cTranslateThis37;
var insertPictureText = cTranslateThis38;
var backgroundColorText = cTranslateThis39;
var textColorText = cTranslateThis40;
var cSetFontSizeText = cTranslateThis41;
var cSetFontStyleText = cTranslateThis42;
var errNotSupported = cTranslateThis43;
var cBrowsePc = cTranslateThis44;
var cBrowseAlbums = cTranslateThis45;
var cPrevious = cTranslateThis46;
var cNext = cTranslateThis47;
var cBackText = cTranslateThis48;
var cSetFontStyle = cTranslateThis49;
var cBrowseImages = cTranslateThis50;
var cLoadingData = cTranslateThis51;
var cChooseEmoticon = cTranslateThis52;
var cNormal = cTranslateThis53;
var cHeading = cTranslateThis54;
var cPreformatted = cTranslateThis55;
var cMyGroups = cTranslateThis56;
var cNoAlbums = cTranslateThis57;
var cSelectImage = cTranslateThis58;
var cBrowseForImage = cTranslateThis59;
var cSelectGroupPage = cTranslateThis60;
var cSelectPage = cTranslateThis61;
var cOrText = cTranslateThis62;
var PicErrorMessage01=cTranslateThis63;


var lang = "en";
var encoding = "iso-8859-1";
var isRichText = false;
var rng;
var currentRTE;
var allRTEs = "";
var cursorType = "";
var isIE;
var isGecko;
var isSafari;
var isKonqueror;

var imagesPath;
var includesPath;
var cssFile;
var generateXHTML;

var nRteMaxPerPage = 30;
var nRtePhotoStart = 0;
var nRtePhotoEnd = nRteMaxPerPage;
var nRteAlbumStart = 0;
var nRteAlbumEnd = nRteMaxPerPage;
var gRteHistory = [];
var gRteHistoryCount = 0;

function initRTE(imgPath, incPath, css, genXHTML) {
	//set browser vars
	var ua = navigator.userAgent.toLowerCase();
	isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
	isGecko = (ua.indexOf("gecko") != -1);
	isSafari = (ua.indexOf("safari") != -1);
	isKonqueror = (ua.indexOf("konqueror") != -1);	
	generateXHTML = genXHTML;	
	if (document.getElementById && document.designMode && !isSafari && !isKonqueror) {
		isRichText = true;
	}	
	if (isIE) {	
		document.onmouseover = raiseButton;
		document.onmouseout  = normalButton;
		document.onmousedown = lowerButton;
		document.onmouseup   = raiseButton;
		cursorType="hand";
	}else{
		cursorType="pointer";
	}	
	imagesPath = imgPath;
	includesPath = incPath;
	cssFile = css;
	
	if (isRichText) document.writeln('<style type="text/css">@import "' + includesPath + 'rte.css";</style>');
	
	//isRichText = false;
}


function _CPopup_Hide() 
{
   
    document.getElementById('infoBox').style.visibility = "hidden"    

   // idEditbox.focus()
}

var rtePreload1 = new Image();
rtePreload1.src = "http://images.iFriends.net/asg/new_photos/folder_tl.gif";
var rtePreload2 = new Image();
rtePreload2.src = "http://images.iFriends.net/asg/new_photos/folder_t.gif";
var rtePreload3 = new Image();
rtePreload3.src = "http://images.iFriends.net/asg/new_photos/folder_l.gif";
var rtePreload4 = new Image();
rtePreload4.src = "http://images.iFriends.net/asg/new_photos/folder_r.gif";
var rtePreload5 = new Image();
rtePreload5.src = "http://images.iFriends.net/asg/new_photos/folder_bl.gif";
var rtePreload6 = new Image();
rtePreload6.src = "http://images.iFriends.net/asg/new_photos/folder_bottom_b.gif";
var rtePreload7 = new Image();
rtePreload7.src = "http://images.iFriends.net/asg/new_photos/folder_br.gif";
var rtePreload8 = new Image();
rtePreload8.src = "http://images.iFriends.net/asg/new_photos/photo_border/border_tl.gif";
var rtePreload9 = new Image();
rtePreload9.src = "http://images.iFriends.net/asg/new_photos/photo_border/border_t.gif";
var rtePreload10 = new Image();
rtePreload10.src = "http://images.iFriends.net/asg/new_photos/photo_border/border_tr.gif";
var rtePreload11 = new Image();
rtePreload11.src = "http://images.iFriends.net/asg/new_photos/folder_l.gif";
var rtePreload12 = new Image();
rtePreload12.src = "http://images.iFriends.net/asg/new_photos/folder_r.gif";
var rtePreload13 = new Image();
rtePreload13.src = "http://images.iFriends.net/asg/new_photos/folder_bl.gif";
var rtePreload14 = new Image();
rtePreload14.src = "http://images.iFriends.net/asg/new_photos/folder_bottom_b.gif";
var rtePreload15 = new Image();
rtePreload15.src = "http://images.iFriends.net/asg/new_photos/folder_br.gif";


// Customize Font List
var L_RTEFONTARIAL_TEXT = 'Arial';
var L_RTEFONTARIALDEF_TEXT = 'Arial, Geneva, Sans-serif';
var L_RTEFONTARIALBLACK_TEXT = 'Arial Black';
var L_RTEFONTARIALBLACKDEF_TEXT = 'Arial Black, Geneva, Arial, Sans-serif';
var L_RTEFONTCOURIERNEW_TEXT = 'Courier New';
var L_RTEFONTCOURIERNEWDEF_TEXT = 'Courier New, Courier, Monospace';
var L_RTEFONTTIMESNEWROMAN_TEXT = 'Times New Roman';
var L_RTEFONTTIMESNEWROMANDEF_TEXT = 'Times New Roman, Times, Serif';
var L_RTEFONTVERDANA_TEXT = 'Verdana';
var L_RTEFONTVERDANADEF_TEXT = 'Verdana, Geneva, Arial, Sans-serif';
var L_RTELUCIDAHAND_TEXT = 'Lucida Handwriting';
var L_RTELUCIDAHANDDEF_TEXT = 'Lucida Handwriting, Cursive';
var L_RTEGARAMOND_TEXT = 'Garamond';
var L_RTEGARAMONDDEF_TEXT = 'Garamond, Times, Serif';
var L_RTEWEBDINGS_TEXT = 'Webdings';
var L_RTEWEBDINGSDEF_TEXT = 'Webdings';
var L_RTEWINGDINGS_TEXT = 'Wingdings';
var L_RTEWINGDINGSDEF_TEXT = 'Wingdings';


function _CFont(szDef,szText,bSymbol) {
    return new Array(szDef,szText,bSymbol);
};


defaultFonts = new Array();
defaultFonts[0] = _CFont(L_RTEFONTARIALDEF_TEXT, L_RTEFONTARIAL_TEXT, false);
defaultFonts[1] = _CFont(L_RTEFONTARIALBLACKDEF_TEXT, L_RTEFONTARIALBLACK_TEXT, false);
defaultFonts[2] = _CFont(L_RTEFONTVERDANADEF_TEXT, L_RTEFONTVERDANA_TEXT, false);
defaultFonts[3] = _CFont(L_RTEFONTTIMESNEWROMANDEF_TEXT, L_RTEFONTTIMESNEWROMAN_TEXT, false);
defaultFonts[4] = _CFont(L_RTEGARAMONDDEF_TEXT,L_RTEGARAMOND_TEXT, false);
defaultFonts[5] = _CFont(L_RTELUCIDAHANDDEF_TEXT,L_RTELUCIDAHAND_TEXT, false);
defaultFonts[6] = _CFont(L_RTEFONTCOURIERNEWDEF_TEXT, L_RTEFONTCOURIERNEW_TEXT, false);
defaultFonts[7] = _CFont(L_RTEWEBDINGSDEF_TEXT, L_RTEWEBDINGS_TEXT, true);
defaultFonts[8] = _CFont(L_RTEWINGDINGSDEF_TEXT, L_RTEWINGDINGS_TEXT, true);


var arrEmoticons = [];
var totalEmoticons = 14;
for(var i=0;i<totalEmoticons;i++){
	var currImage = new Image();
	currImage.src = "http://images.ifriends.net/asg/emoticons/emoticon"+i+".gif";
	arrEmoticons.push(currImage);
}




function createXMLHttp(){

	if(document.all){
		var MSXML_XMLHTTP_PROGIDS = ['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
		for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length;i++) {
			try {
				 var xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
				 return xmlhttp;
			} catch (e) {
			}
		}
	}else{
		var xmlhttp = new XMLHttpRequest();
		return xmlhttp;
	}
	alert(errNotSupported);
	return false;
}
function rteObjectData(rte,oRequest, cAppName, cUrl,obj){
	this.rte = rte;
	this.oRequest = oRequest;
	this.cAppName = cAppName;
	this.cUrl = cUrl;
	this.obj = obj;
}
function submitValuesRte(rte, cAppName,obj){

	try{
		var cGrpID = '';
		if(cAppName.indexOf("?") > 1){
		var cGrpID = cAppName.split("?")[1].replace(/grpid=/,'');
		cAppName = cAppName.split("?")[0];
		}
		var cUrl = cAppName;
		var cNvPairs = '';
		nArgsLength = arguments.length;
		var dTimeStamp = new Date().getTime();
		for(var i=3;i<nArgsLength;i++){
			cNvPairs += '&' + arguments[i];
		}
		var oRequest = createXMLHttp();

		if(oRequest){
			cUrl += '?' + cNvPairs +'&noCacheTimeStamp='+dTimeStamp;
			oRequest.open('GET',cUrl,true);
			oRequest.onreadystatechange = checkReadyState;
			oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			oRequest.send(null);
		}
	}catch(e){
		document.getElementById('infoBox').style.visibility = "hidden" ;
	}
	function checkReadyState() {
		if ( oRequest.readyState == 4 ) {
			gRteHistory[gRteHistoryCount] = new rteObjectData(rte,oRequest, cAppName.substr(cAppName.lastIndexOf('/')+1,cAppName.length), cUrl,obj);
			gRteHistoryCount++;
			handleResponseRte(rte,oRequest, cAppName.substr(cAppName.lastIndexOf('/')+1,cAppName.length), cUrl,obj,cGrpID);
		}
	}
}

function createXMLParser(xText){
 if(typeof DOMParser != "undefined") {
  var parseX = new DOMParser();
  return parseX.parseFromString(xText, "text/xml");
 } else if(typeof ActiveXObject != "undefined"){
  var XMLobj = new ActiveXObject("Microsoft.XMLDOM");
  if(XMLobj) {
    XMLobj.async = false;
    XMLobj.loadXML(xText);
    return XMLobj;
  } else {
    alert(errNotSupported);
    return false;
  }
 } else {
 alert(errNotSupported);
 return false;
 }
}


function rteShowBrowse(cDomain,cGrpID){
	cStr = '';
	//cDomain = cDomain.replace(/apps./i,'www.');
	cStr += '<div class="textResults" style="margin:0px;width:100%;text-align:center;padding:5px;">'+cBrowseForImage+'<br><br><iframe name="ifrmBrowse" id="ifrmBrowse" src="'+cDomain+'/grppage.wsif?&T=Site/Group/Photos/upload_image_iframe&grpid='+cGrpID+'" width="350" height="210" FRAMEBORDER="0"></iframe></div>';
	document.getElementById('tdShowImages').innerHTML = cStr;
}

function rteShowFromUrl(rte){
	cStr = '';
	
	cStr += '<div class="textResults" style="margin:0px;width:100%;text-align:center;padding:5px;">'+enterImageUrlText+'<br><br><input type="text" size="30" id="rteImageUrl" value="http://"> <br><br><input type="button" onclick="addImage2(\'' + rte + '\')" class="butout" style="padding:3px;" onmouseover="this.classname=\'buthover\';this.style.marginTop=\'1px\'"  onmouseout="this.classname=\'butout\';this.style.marginTop=\'0px\'" value="'+insertPictureText+'"></div>';
	document.getElementById('tdShowImages').innerHTML = cStr;
}

function addImage2(rte) {
	var imagePath = document.getElementById('rteImageUrl').value;
	if(imagePath.substr(0,7) != "http://"){
	alert(errNoLocalImages);
	return;
	}
	if ((imagePath != null) && (imagePath != "")) {
		rteCommand(rte, 'InsertImage', imagePath);
	}	
}

function rteBack(nSkipSteps){
	gRteHistoryCount = gRteHistoryCount - (nSkipSteps - 1);
	rteDrawAlbumTable(gRteHistory[gRteHistoryCount-2].rte,gRteHistoryCount-2,nRteAlbumStart,nRteAlbumEnd);
	gRteHistoryCount--;
}


function handleResponseRte(rte, oRequest , cAppName, cUrl,obj,cGrpID){

	var cDomain = cUrl.indexOf('.com');
	cDomain = cUrl.substr(0,cDomain + 4);
	switch(cAppName){
		case "MYGROUPSEDIT.EXE":
			var XMLobj = createXMLParser(oRequest.responseText);
			var xmlDoc = XMLobj.documentElement;
			var arrGroups = xmlDoc.getElementsByTagName('Group');
			var cStr = '';
			var cThisGroup = '';
			var cBrowseHTML = '';
			
			
			//if(document.getElementById('InHouse')){
				if(cGrpID != -1){
				//<img id="rteSearchImage" width="14" height="16" src="http://images.ifriends.net/groups/search.png" border="0" align="absmiddle" onload="fixPngById(this.id);">
				cBrowseHTML += '<p class="textResults" style="margin-left:5px;margin-bottom:3px;"><a href="javascript:;" onclick="rteShowBrowse(\''+cDomain+'\',\''+cGrpID+'\');return false;"><span style="text-decoration:none;">'+cBrowsePc+'</span></a></p>';			
				}else{
				cThisGroup += '<p class="textResults" style="margin-left:5px;margin-bottom:3px;"><a href="javascript:;" onclick="rteShowFromUrl(\'' + rte + '\');return false;"><span style="text-decoration:none;">'+enterImageUrlText+'</span></a></p>';
				}
				
			//}
			cStr += '<p class="textResults" style="margin:0px;margin-bottom:3px;font-weight:bold;">'+cMyGroups+':</p>';
			for(var i=0;i<arrGroups.length;i++){
				var currGrpID = arrGroups[i].getAttribute('GrpID');										
				if((currGrpID != cGrpID)){
					cStr += '<p class="textResults" style="margin-left:5px;margin-bottom:3px;"><a href="javascript:;" onclick="submitValuesRte(\''+ rte +'\',\'/CGIR/GrpPhotos.exe\',this,\'ContentType=XML&t=Site/Group/Photos/photo_album_xml&GroupId='+currGrpID+'\');return false;"><span style="text-decoration:none;">'+arrGroups[i].childNodes(0).text + '</span></a></p>';					
				}else{					
					cThisGroup += '<p class="textResults" style="margin-left:5px;margin-bottom:3px;"><a href="javascript:;" onclick="submitValuesRte(\''+ rte +'\',\'/CGIR/GrpPhotos.exe\',this,\'ContentType=XML&t=Site/Group/Photos/photo_album_xml&GroupId='+cGrpID+'\');return false;"><span style="text-decoration:none;">Images in '+arrGroups[i].childNodes(0).text + '</span></a></p>';				
					cThisGroup += '<p class="textResults" style="margin-left:5px;margin-bottom:3px;"><a href="javascript:;" onclick="rteShowFromUrl(\'' + rte + '\');return false;"><span style="text-decoration:none;">'+enterImageUrlText+'</span></a></p>';
				}
			}
			document.getElementById('tdShowOptions').innerHTML = cBrowseHTML + cThisGroup + cStr;
		break;

		case "GrpPhotos.exe":	
			rteDrawAlbumTable(rte,gRteHistoryCount-1,nRteAlbumStart,nRteAlbumEnd);
		break;	

		case "ShowPhotoAlbum.exe":			
			rteDrawPhotoTable(rte,gRteHistoryCount-1,nRtePhotoStart,nRtePhotoEnd);
		break;		
	}
	document.getElementById('tdShowImages').scrollTop = 0;
}
var cRteSkipCount = 0
function rteDrawAlbumTable(rte,locRteHistoryCount,nRteAlbumStart,nRteAlbumEnd){
			
			cRteSkipCount = 0;
			var oRequest = gRteHistory[locRteHistoryCount].oRequest;
			if(oRequest.responseXML.documentElement){
				var XMLobj = oRequest.responseXML;
			}else{
				var XMLobj = createXMLParser(oRequest.responseText);
			}
			var xmlDoc = XMLobj.documentElement;

			var currGrpID = xmlDoc.getAttribute('GrpID');
			var IsRegularGrpMember = xmlDoc.getAttribute('IsRegularGrpMember');
			var IsPremiumGrpMember = xmlDoc.getAttribute('IsPremiumGrpMember');
			var GrpName = xmlDoc.getElementsByTagName('GroupName')[0].text;
			var arrAlbumsTemp = xmlDoc.getElementsByTagName('PhotoAlbum');
			var arrAlbums = [];
			var cStr = '<p class="textResults" style="font-weight:bold;margin:0px;margin-left:5px;">'+cBrowseAlbums+'</p><center>';

			cStr += '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
			cStr += '	<tr>';	
			if(arrAlbumsTemp.length > 0){

				for(var i=0;i<arrAlbumsTemp.length;i++){
					if(arrAlbumsTemp[i].getAttribute('AlbMode') != "P"){
						arrAlbums.push(arrAlbumsTemp[i]);
					}
				}
				var locAlbumEnd = nRteAlbumEnd;
				if(arrAlbums.length <= nRteAlbumEnd){
					locAlbumEnd = arrAlbums.length;
				}	

				for(var i=nRteAlbumStart;i<locAlbumEnd;i++){
					var currAlbID = arrAlbums[i].getAttribute('AlbID');
					var currAlbmode = arrAlbums[i].getAttribute('AlbMode');
					var currAlbName = arrAlbums[i].childNodes(0).text;
					var currImagePath = arrAlbums[i].childNodes(2).text;
					var currAlbCntr =  arrAlbums[i].getAttribute('AlbCntr');


					cStr += '		<td valign="top"  align="center">';			
					cStr += '<table border="0" cellpadding="0" cellspacing="0" width="70">';
					cStr += '	<tr>';
					cStr += '		<td >';
					cStr += '			<table border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top: 5;display:block;position:relative;">';
					cStr += '				<tr>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_tl.gif" width="8" height="12"></td>';
					cStr += '					<td width="43" ><img src="http://images.iFriends.net/asg/new_photos/folder_t.gif" width="45" height="12"></td>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_tr.gif" width="8" height="12"></td>';
					cStr += '				</tr>';
					cStr += '				<tr>';
					cStr += '					<td width="8"   background="http://images.iFriends.net/asg/new_photos/folder_l.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
					cStr += '					<td style="margin:0px;padding:0px;">';


					cStr += '<a href="javascript:;" onclick="submitValuesRte(\''+ rte +'\',\'/CGIR/ShowPhotoAlbum.exe\',this,\'ContentType=XML&albumID='+currAlbID+'&GroupId='+currGrpID+'&t=Site/Group/Photos/inside_album_xml\');return false;"><img src="'+ currImagePath +'" width="43" height="30" border="0" style="border:1px solid #000000"></a>';


					cStr += '</td>';
					cStr += '					<td width="8"  background="http://images.iFriends.net/asg/new_photos/folder_r.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
					cStr += '				</tr>';
					cStr += '				<tr>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_bl.gif" width="8" height="8"></td>';
					cStr += '					<td width="43"  background="http://images.iFriends.net/asg/new_photos/folder_bottom_b.gif"><img src="http://images.iFriends.net/asg/new_photos/folder_b.gif" width="43" height="8"></td>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_br.gif" width="8" height="8"></td>';
					cStr += '				</tr>';
					cStr += '			</table>';

					cStr += '		</td>';
					cStr += '	</tr>';
					cStr += '<tr>';
					cStr += '	<td align="center">';
					cStr += '		<p class="tagLine" style="width:70px;overflow:hidden;">'+ currAlbName + ' ('+currAlbCntr+')</p>';
					cStr += '	</td>';
					cStr += '</tr>';			
					cStr += '</table>';
					cStr += '</td>';
					if((i+1)%3==0){
						cStr += '</tr><tr>';
					}		
				}
			}else{
					cStr += '		<td valign="top"  align="center" style="padding-top:5px;">';	
					cStr += '			<span class="textResults" style="margin:0px;"><b>' + GrpName+'</b> '+cNoAlbums+'</span>';
					cStr += '		</td></tr>';
			
			}
			//cStr += '</ul>';
			cStr += '</table>';

			if(arrAlbums.length > nRteMaxPerPage){
				cStr += '<div style="width:100%;margin:0px;" class="textResults">';				
				cStr += ' <a href="Javascript:void(0);" style=margin-right:5px; '+(nRteAlbumStart != 0 ? '':'visibility:hidden')+' onclick="rteDrawAlbumTable(\''+rte+'\',\''+locRteHistoryCount+'\','+(nRteAlbumStart - nRteMaxPerPage)+','+(nRteAlbumEnd - nRteMaxPerPage)+');return false;">'+cPrevious+'</a> ';				
				cStr += ' <a  href="Javascript:void(0);" style=margin-left:5px;'+(nRteAlbumEnd < arrAlbums.length ? '':'style=visibility:hidden')+' onclick="rteDrawAlbumTable(\''+rte+'\',\''+locRteHistoryCount+'\','+(nRteAlbumStart + nRteMaxPerPage)+','+(nRteAlbumEnd + nRteMaxPerPage)+');return false;">'+cNext+'</a>';
				cStr += '</div>';
			}			
			document.getElementById('tdShowImages').innerHTML = cStr;
			document.getElementById('tdShowImages').scrollTop = 0;
}



function rteDrawPhotoTable(rte,locRteHistoryCount,nRtePhotoStart,nRtePhotoEnd){
			cRteSkipCount++;
			var oRequest = gRteHistory[locRteHistoryCount].oRequest;
			if(oRequest.responseXML.documentElement){
				var XMLobj = oRequest.responseXML;
			}else{
				var XMLobj = createXMLParser(oRequest.responseText);
			}
			var xmlDoc = XMLobj.documentElement;
			var currGrpID = xmlDoc.getAttribute('GrpID');
			var currAlbID = xmlDoc.getAttribute('AlbID');
			var arrImages = xmlDoc.getElementsByTagName('Images');
			var GrpName = xmlDoc.getElementsByTagName('GroupName')[0].text;
			var IsRegularGrpMember = xmlDoc.getAttribute('IsRegularGrpMember');
			var IsPremiumGrpMember = xmlDoc.getAttribute('IsPremiumGrpMember');			
			var arrAlbumsTemp = xmlDoc.getElementsByTagName('PhotoAlbum');	
			var arrAlbums = [];
			
			for(var i=0;i<arrAlbumsTemp.length;i++){
				if(arrAlbumsTemp[i].getAttribute('AlbMode') != "P"){
					arrAlbums.push(arrAlbumsTemp[i]);
				}
			}			
			
			var cStr = '';
			cStr +=  '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
			cStr +=  '	<tr>';
			cStr +=  '		<td><span class="textResults" style="font-weight:bold;margin:0px;margin-left:5px;">'+cSelectImage+' '+GrpName+'</span></td>';
			cStr +=  '		<td align="right" style="padding-right:5px;"><span class="textResults" style="font-weight:bold;margin:0px;"><a href="javascript:void(0);" onclick="rteBack('+cRteSkipCount+');return false;">&lt; '+cBackText+'</a></span></td>';
			cStr +=  '	</tr>';
			cStr +=  '</table><center>';


			
			if(arrAlbums.length > 0){

				cStr += '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
				cStr += '	<tr>';
				for(var i=0;i<arrAlbums.length;i++){
					var currAlbID = arrAlbums[i].getAttribute('AlbID');
					var currAlbmode = arrAlbums[i].getAttribute('AlbMode');
					var currAlbName = arrAlbums[i].childNodes(0).text;
					var currImagePath = arrAlbums[i].childNodes(2).text;
					var currAlbCntr =  arrAlbums[i].getAttribute('AlbCntr');

					cStr += '<td valign="top"  align="center">';
					cStr += '<table border="0" cellpadding="0" cellspacing="0" width="70">';
					cStr += '	<tr>';
					cStr += '		<td >';
					cStr += '			<table border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top: 5;display:block;position:relative;" >';
					cStr += '				<tr>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_tl.gif" width="8" height="12"></td>';
					cStr += '					<td width="43" ><img src="http://images.iFriends.net/asg/new_photos/folder_t.gif" width="45" height="12"></td>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_tr.gif" width="8" height="12"></td>';
					cStr += '				</tr>';
					cStr += '				<tr>';
					cStr += '					<td width="8"   background="http://images.iFriends.net/asg/new_photos/folder_l.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
					cStr += '					<td style="margin:0px;padding:0px;">';

				
					cStr += '<a href="javascript:;" onclick="submitValuesRte(\''+ rte +'\',\'/CGIR/ShowPhotoAlbum.exe\',this,\'ContentType=XML&albumID='+currAlbID+'&GroupId='+currGrpID+'&t=Site/Group/Photos/inside_album_xml\');return false;"><img src="'+ currImagePath +'" width="43" height="30" border="0" style="border:1px solid #000000"></a>';

					cStr += '</td>';
					cStr += '					<td width="8"  background="http://images.iFriends.net/asg/new_photos/folder_r.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
					cStr += '				</tr>';
					cStr += '				<tr>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_bl.gif" width="8" height="8"></td>';
					cStr += '					<td width="43"  background="http://images.iFriends.net/asg/new_photos/folder_bottom_b.gif"><img src="http://images.iFriends.net/asg/new_photos/folder_b.gif" width="43" height="8"></td>';
					cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_br.gif" width="8" height="8"></td>';
					cStr += '				</tr>';
					cStr += '			</table>';
					cStr += '		</td>';
					cStr += '	</tr>';
					cStr += '<tr>';
					cStr += '	<td align="center">';
					cStr += '		<p class="tagLine" style="width:70px;overflow:hidden;">'+ currAlbName + ' ('+currAlbCntr+')</p>';
					cStr += '	</td>';
					cStr += '</tr>';			
					cStr += '</table>';
					cStr += '</td>';
					if((i+1)%3==0){
					cStr += '</tr><tr>';
					}		
				}			
				cStr += '</table>';
			}
			cStr += '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
			cStr += '	<tr>';	
			var locPhotoEnd = nRtePhotoEnd;
			if(arrImages.length <= nRtePhotoEnd){
				locPhotoEnd = arrImages.length;
			}			
			for(var i=nRtePhotoStart;i<locPhotoEnd;i++){				
				var currImageName = arrImages[i].childNodes(0).text;
				var currImagePath = arrImages[i].childNodes(2).text;
				var currFullImagePath = currImagePath.replace(/_12.jpg/gi,'.JPG');
				cStr += '<td valign="top" align="center">';
			
				cStr += '<table border="0" cellpadding="0" cellspacing="0" width="70">';
				cStr += '	<tr>';
				cStr += '		<td >';
				cStr += '			<table border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top: 5;display:block;position:relative;">';
				cStr += '				<tr>';
				cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/photo_border/border_tl.gif" width="8" height="12"></td>';
				cStr += '					<td width="43" ><img src="http://images.iFriends.net/asg/new_photos/photo_border/border_t.gif" width="45" height="12"></td>';
				cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/photo_border/border_tr.gif" width="8" height="12"></td>';
				cStr += '				</tr>';
				cStr += '				<tr>';
				cStr += '					<td width="8"   background="http://images.iFriends.net/asg/new_photos/folder_l.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
				cStr += '					<td>';

				
				cStr += '<a href="javascript:;" onclick="loadFull(\''+ rte +'\', \'InsertImage\', \''+currFullImagePath+'\');return false;"><img src="'+ currImagePath +'"  width="43" height="30" border="0" style="border:1px solid #000000"></a>';


				cStr += '</td>';
				cStr += '					<td width="8"  background="http://images.iFriends.net/asg/new_photos/folder_r.gif"><img src="http://images.ifriends.net/asg/clear.gif"  width="1" height="1"></td>';
				cStr += '				</tr>';
				cStr += '				<tr>';
				cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_bl.gif" width="8" height="8"></td>';
				cStr += '					<td width="43"  background="http://images.iFriends.net/asg/new_photos/folder_bottom_b.gif"><img src="http://images.iFriends.net/asg/new_photos/folder_b.gif" width="43" height="8"></td>';
				cStr += '					<td width="8" ><img src="http://images.iFriends.net/asg/new_photos/folder_br.gif" width="8" height="8"></td>';
				cStr += '				</tr>';
				cStr += '			</table>';

				cStr += '		</td>';
				cStr += '	</tr>';
				cStr += '<tr>';
				cStr += '	<td align="center">';
				cStr += '		<p class="tagLine" style="width:70px;overflow:hidden;">'+ currImageName +'</p>';
				cStr += '	</td>';
				cStr += '</tr>';			
				cStr += '</table>';
				cStr += '</td>';
				if((i+1)%3==0){
				cStr += '</tr><tr>';
				}					
			}
			cStr += '</table>';
			
			if(arrImages.length > nRteMaxPerPage){
				cStr += '<div style="width:100%;margin:0px;"  class="textResults">';
				cStr += '<a href="Javascript:void(0);"  style=margin-right:5px;'+(nRtePhotoStart != 0 ? '':'visibility:hidden')+' onclick="rteDrawPhotoTable(\''+rte+'\',\''+locRteHistoryCount+'\','+(nRtePhotoStart - nRteMaxPerPage)+','+(nRtePhotoEnd - nRteMaxPerPage)+');return false;">'+cPrevious+'</a> ';
				cStr += ' <a  href="Javascript:void(0);" style=margin-left:5px;'+(nRtePhotoEnd < arrImages.length ? '':'visibility:hidden')+' onclick="rteDrawPhotoTable(\''+rte+'\',\''+locRteHistoryCount+'\','+(nRtePhotoStart + nRteMaxPerPage)+','+(nRtePhotoEnd + nRteMaxPerPage)+');return false;">'+cNext+'</a>';
				cStr += '</div>';
			}
			
			document.getElementById('tdShowImages').innerHTML = cStr;
			document.getElementById('tdShowImages').scrollTop = 0;
}


function dispDiv(rte,cmd,srcID){

	document.getElementById('infoBox').style.visibility = "visible" ;
  	var bRedraw = true;
	if(document.getElementById('tdShowOptions')){
		bRedraw = true;
		if(cmd == "browseImages"){
			bRedraw = false;
			var oRTE;
			if (document.all) {
				oRTE = frames[rte];
			} else {
				oRTE = document.getElementById(rte).contentWindow;
			}			
			if(oRTE.document.selection.type	== 'Control'){
				document.getElementById('fakeHidden').focus();
			}
		}
	}
 
if(bRedraw){
	var cStr = '';
   	cStr += '<DIV ID=puRegion><input type="text" id="fakeHidden" value="" style="width:1px;height:1px;position:absolute;z-index:0;top:0px;left:0px;">';
	cStr +=    "<DIV ALIGN=CENTER ID=content>"
	cStr +=    "<table ID=Container width=100% cellpadding=0 cellspacing=0><tr><td align=center>" 		
   	cStr +=         "<TABLE ID=Header >"
   	cStr +=             "<tr>"
    	cStr +=                  '<td NOWRAP ID=caption align=left><span id="divHeader"></span></td>';
    	cStr +=                  "<td VALIGN=middle align=right><DIV ID=close style=cursor:"+cursorType+" ONCLICK=\"_CPopup_Hide()\">X</DIV></td>"
   	cStr +=              "</tr>"
   	cStr +=          "</table>"

	cStr += 		"<table width='100%' style='background-color:#FFFFFF;'>"

switch(cmd){

case "fontname":

	document.getElementById('infoBox').style.width = 200;	
	var divHeaderText = cSetFontStyle;
    	for (var i=0; i < defaultFonts.length; i++) 
    	{
 	cStr += 			"<tr>"
 	cStr += 				"<td align=\"center\"  onClick=\"doCommand('" + rte + "','" + cmd + "','" + defaultFonts[i][0] + "');\" onMouseover=\"this.className='myBorder'\" onMouseout=\"this.className=''\">"
        cStr +=          			 "<font face=\"" + defaultFonts[i][0] + "\">" 
        cStr +=              			 defaultFonts[i][1] 
        cStr +=           			"</font><br>"
        cStr += 				"</td>"
 	cStr += 			"</tr>"
    	}

break;

case "browseImages":

	document.getElementById('infoBox').style.width = 570;	
	var divHeaderText = cBrowseImages;


 	cStr += 			"<tr>";
 	cStr += 				'<td>';
	cStr += 					'<table cellpadding="0" cellspacing="0" border="0" with="100%" >';
	cStr += 						'<tr>';
	cStr += 							'<td valign="top" style="border-right:1px solid #006699">';
	cStr += 							'<div id="tdShowOptions" style="height:260px;width:180px;overflow:auto;overflow-x:hidden;">';
	cStr +='								<span class="textResults" style="margin:0px;font-weight:bold;">'+cLoadingData+'</span>';
	cStr += 							'</div>';
	cStr += 							'</td>';
	cStr += 							'<td valign="top">';
	cStr += 							'<div id="tdShowImages" style="height:260px;width:390px;overflow:auto;">';	
	cStr +='								';
	cStr += 							'</div>';	
	cStr += 							'</td>';	
	cStr += 						'</tr>';
	cStr += 					'</table>';	
        cStr += 				'</td>';
 	cStr += 			"</tr>"




break;


case "addEmoticon":
	document.getElementById('infoBox').style.width = 250;
	var divHeaderText = cChooseEmoticon;
	cStr += 			"<tr><td style='width:220px' align='center'>";
    	for (var i=0; i < totalEmoticons; i++) 	{
        cStr +=           			'<img src="'+arrEmoticons[i].src+'" onMouseOver="this.style.cursor=\'hand\'" onClick="insertEmoticon(\''+rte+'\',this.src);" hspace=5 vspace=5>';
    	}
    	cStr += 			"</td></tr>";
break;


case "formatblock":

    document.getElementById('infoBox').style.width = 220;
    var divHeaderText = paragraphStyleText;
    var cStr, defaultParagraphs   = new Array();

    defaultParagraphs[0] = new Array("<P>", cNormal +" (P)") ;
    for (var i=1; i <= 6; i++){
    defaultParagraphs[i] = new Array("<H"+i+">", cHeading  + i + " (H" + i +")");
    }
    defaultParagraphs[7] = new Array("<PRE>", cPreformatted+"(PRE)");

    for (var i=0; i < defaultParagraphs.length; i++)
    {

        cStr  +=   "<tr>";
	cStr  += 	"<td nowrap  align=\"center\" onClick=\"doCommand('" + rte + "','" + cmd + "','" + defaultParagraphs[i][0] + "')\" onMouseover=\"this.className='myBorder'\" onMouseout=\"this.className=''\">"
        cStr  +=          defaultParagraphs[i][0] ;
        cStr  +=          defaultParagraphs[i][1] ;
        cStr  +=           "</" + defaultParagraphs[i][0].substring(1) ;
        cStr  +=       "</td>";
        cStr  +=    "</tr>";

    }


break;


case "fontsize":
    document.getElementById('infoBox').style.width = 280;
    var divHeaderText = cSetFontSizeText;
    for (var i=1; i <= 7; i++)
    {
        cStr  +=   "<TR>"
	cStr  += 	"<td nowrap  align=\"center\" onClick=\"doCommand('" + rte + "','" + cmd + "','" + i + "')\" onMouseover=\"this.className='myBorder'\" onMouseout=\"this.className=''\">"
        cStr  +=            "<FONT SIZE=" + i + ">"
        cStr  +=                 "ABCabc12...(" + i + ")"
        cStr  +=             "</FONT>"
        cStr  +=        "</TD>"
        cStr  +=      "</TR>"
  }
break;

case "addTable":
    document.getElementById('infoBox').style.width = 300;
    var divHeaderText = createTableText;
        cStr  +=   "<tr><td>"
        cStr  +=   "<table cellpadding='4' cellspacing='0' border='0' class='textResults' style='margin:0px;'>";
        cStr  +=   "	<tr>";
        cStr  +=   "		<td align='right'>"+rowsText+":</td>";
        cStr  +=   "		<td><input type='text' id='tblRows' value='2' size='4'></td>";
        cStr  +=   "		<td align='left'  colspan='2'>"+columnsText+": <input type='text' name='tblColumns' id='tblColumns' value='2' size='4'></td>";
        cStr  +=   "	</tr>";
        cStr  +=   "	<tr>";
        cStr  +=   "		<td align='right'>"+tableWidthText+":</td>";
        cStr  +=   "		<td><input type='text' id='tblWidth' value='100' size='4'></td>";
        cStr  +=   "		<td align='left'  colspan='2'>";
        cStr  +=   "			<select name='widthType' id='widthType'>";
        cStr  +=   "				<option value='pixels'>"+pixelText+"</option>";
        cStr  +=   "				<option value='percent' selected>"+percentText+"</option>";
        cStr  +=   "			</select>";
        cStr  +=   "		</td>";
        cStr  +=   "	</tr>";
        cStr  +=   "	<tr>";
        cStr  +=   "		<td align='right'>"+borderThicknessText+":</td>";
        cStr  +=   "		<td><input type='text' name='tblBorder' id='tblBorder' value='1' size='4'></td>";
        cStr  +=   "		<td align='left' colspan='2'>"+pixelText+"</td>";
        cStr  +=   "	</tr>";
        cStr  +=   "	<tr>";
        cStr  +=   "		<td align='right'>"+cellPaddingText+":</td>";
        cStr  +=   "		<td><input type='text'  name='tblPadding'  id='tblPadding' value='4' size='4'></td>";
        cStr  +=   "		<td nowrap>"+cellSpacingText+":</td>";
        cStr  +=   "		<td><input name='tblSpacing' type='text' id='tblSpacing' value='0' size='4'></td>";
        cStr  +=   "	</tr>";
        cStr  +=   "	<tr>";
        cStr  +=   "		<td colspan='4' align='center'>";
        cStr  +=   "			<input type='button' value='"+insertTableText+"' onClick='addTable(\""+rte+"\");' >";
        cStr  +=   "		</td>";
        cStr  +=   "	</tr>";
        cStr  +=   "</table>";
        cStr  +=   "</td></tr>";


break;

case "pickColor":
var szClick = '';
    document.getElementById('infoBox').style.width = 250;
    var divHeaderText = pickColorText;
    var sz, cPick = new Array("00","33","66","99","CC","FF"), iCnt=2
    var iColors = cPick.length, szColor = ""
    cStr  +=   "<tr><td><table width=100%  cellspacing=0 cellpadding=0><tr><td align=center valign=middle><div class=currentColor style=\"border:1px black solid;height:20px;width:20\" id=\"CurrentColor\"></div></td><td align=center>"
    cStr  +=     "<table class=colorTable style=\"cursor:"+cursorType+"\" cellspacing=0 cellpadding=0 id=\"" + rte + "\">"
    for (var r=0;r<iColors;r++) {
        cStr  +=   "<tr>"
        for (var g=iColors-1;g>=0;g--)
            for (var b=iColors-1;b>=0;b--) {
                szColor = cPick[r]+cPick[g]+cPick[b];
                cStr  +=   "<td id=\"#" + szColor+ "\" bgcolor=\"#" + szColor + "\" onClick=\"doCommand('"+rte+"','"+srcID+"',this.id)\"  onMouseOver=\"showColor(this.id)\">&nbsp;</TD>"
            }
      cStr  +=   "</tr>"
    }
    cStr  +=   "</table></td></tr></table></td></tr>"

break;


case "makeHyperlink":

    document.getElementById('infoBox').style.width = 290;

    var divHeaderText = createHyperlinkText;

    cStr  +=   '<tr><td><table cellpadding="4" cellspacing="0" border="0">';
    if(document.getElementById('sideitems')){
    cStr  +=   '	<tr>';
    cStr  +=   '		<td colspan="2">';
    cStr  +=   '			<span class="tagLine" style="margin:0px;">'+cSelectGroupPage+':</span>';
     cStr  +=   ' <select id="rteSelectPages"  class="select">';
    var oSideItems = document.getElementById('sideitems');
    var arrLinks = oSideItems.getElementsByTagName('A');	
    cStr  +=   '<option value="-1">=='+cSelectPage+'==</option>';
	for(var i=0;i<arrLinks.length;i++)
	{
		var cLabel = '';
		var cHref  = '';

		cLabel = arrLinks[i].innerHTML;
		cHref = arrLinks[i].href;
		cStr  +=   '<option value="'+cHref+'">'+cLabel+'</option>';


	}    
    cStr  +=   '</select>';
    cStr  +=   '			<p class="tagLine" style="margin-top:10px;">'+cOrText+'</p>';
    cStr  +=   '		</td>';
    cStr  +=   '	</tr>';  
    }
    cStr  +=   '	<tr>';
    cStr  +=   '		<td colspan="2">';
    cStr  +=   '			<span class="tagLine" style="margin:0px;">'+typeUrlText+':</span>';
    cStr  +=   '		</td>';
    cStr  +=   '	</tr>';
    cStr  +=   '		<td align="right">';
    cStr  +=   '			<select name="protocol" id="protocol">';
    cStr  +=   '				<option value="http://" selected>http://</option>';
    cStr  +=   '				<option value="mailto:">mailto:</option>';
    cStr  +=   '				<option value="ftp://">ftp://</option>';
    cStr  +=   '			</select>';


    cStr  +=   '		</td>';
    cStr  +=   '		<td align="left">';
    cStr  +=   '		<input type="text" name="URL" size="30">';
    cStr  +=   '		</td>';
    cStr  +=   '	</tr>';
    cStr  +=   '	<tr>';
    cStr  +=   '		<td colspan="2" align="center">';
    cStr  +=   '			<input type="button" value="'+insertLinkText+'" onClick="createHyperLink(\''+rte+'\');">';
    cStr  +=   '		</td>';
    cStr  +=   '	</tr>';
    cStr  +=   '</table></td></tr>';

break;

}


	cStr +=    "		</table>" ;
    	cStr += 	   "</div>";
    	cStr +=  "</div>";


	document.getElementById('infoBox').innerHTML = cStr;
	document.getElementById('divHeader').innerHTML = divHeaderText;
        var infoBoxWidth = document.getElementById('infoBox').style.width;
        infoBoxWidth = infoBoxWidth.replace('px','');	
        document.getElementById('infoBox').style.left = (document.getElementById('rteDiv').offsetWidth / 2) - (infoBoxWidth / 2);
		document.getElementById('infoBox').style.top = document.getElementById('forecolor').offsetTop + 35;
		addEvent(window, 'resize', moveDiv);
		function moveDiv(){
			window.onresize= function(){
			document.getElementById('infoBox').style.top = document.getElementById('forecolor').offsetTop + 35;
			document.getElementById('infoBox').style.left = (document.getElementById('rteDiv').offsetWidth / 2) - (infoBoxWidth / 2);
			}
		}
	if(cmd == 'browseImages'){
	
		submitValuesRte(rte, arguments[3]+'/CGIR/MYGROUPSEDIT.EXE?grpid='+arguments[4],this,'returnall=true&t=\\Site\\Tools\\my_groups_edit_xml');	
		
	}
}
	
}

function createHyperLink(rte){

	if(currentSelection.text == undefined)
		{
		alert(PicErrorMessage01);
		_CPopup_Hide();
		return;
		}

	//function to store range of current selection
	var oRTE ;

	if (document.all) {
		oRTE = frames[rte];
		var selection = oRTE.document.selection; 
		if (selection != null) rng = selection.createRange();
	} else {
		oRTE = document.getElementById(rte).contentWindow;
		var selection = oRTE.getSelection();
		rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
	}

	
	
if(document.getElementById('rteSelectPages')){
	
		var oSelect = document.getElementById('rteSelectPages');
		
			
			
			if(oSelect.value != "-1"){
			
			
			
				if(currentSelection.text != ''){
				currentSelection.pasteHTML("<a href="+oSelect.value+">"+ currentSelection.text+"</a>");
				}else{
				if(currentSelection.htmlText.indexOf("<IMG")>-1)
				{
				currentSelection.pasteHTML("<a href="+oSelect.value+">"+ currentSelection.htmlText+"</a>");
				}else{
				currentSelection.pasteHTML("<a href="+oSelect.value+">"+oSelect.value+"</a>");
				}}				
			}else{		
				if(currentSelection.text != ''){
					currentSelection.pasteHTML("<a href="+document.getElementById('protocol').value+document.getElementById('URL').value+">"+ currentSelection.text+"</a>");
				}else{
					if(currentSelection.htmlText.indexOf("<IMG")>-1){
					currentSelection.pasteHTML("<a href="+document.getElementById('protocol').value+document.getElementById('URL').value+">"+ currentSelection.htmlText+"</a>");
					}else{
					currentSelection.pasteHTML("<a href="+document.getElementById('protocol').value+document.getElementById('URL').value+">"+document.getElementById('protocol').value+document.getElementById('URL').value+"</a>");
				}	}	
			}	
	}else{
			if(currentSelection.text != ''){
				currentSelection.pasteHTML("<a href="+document.getElementById('protocol').value+document.getElementById('URL').value+">"+ currentSelection.text+"</a>");
			}else{
				currentSelection.pasteHTML("<a href="+document.getElementById('protocol').value+document.getElementById('URL').value+">"+document.getElementById('protocol').value+document.getElementById('URL').value+"</a>");
			}
		}
	currentSelection.select();
	_CPopup_Hide();
}



    function showColor(currentColor){
	document.getElementById('CurrentColor').style.background = currentColor;
    }



function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}




function addTable(rte) {
	var widthType = (document.getElementById('widthType').value == "pixels") ? "" : "%";

	var html = '<table border="' + document.getElementById('tblBorder').value + '" cellpadding="' + document.getElementById('tblPadding').value + '" ';
	
	html += 'cellspacing="' + document.getElementById('tblSpacing').value + '" width="' + document.getElementById('tblWidth').value + widthType + '">\n';
	for (var rows = 0; rows < document.getElementById('tblRows').value; rows++) {
		html += "<tr>\n";
		for (cols = 0; cols < document.getElementById('tblColumns').value; cols++) {
			html += "<td>&nbsp;</td>\n";
		}
		html+= "</tr>\n";
	}
	html += "</table>\n";
	
	insertHTML(html,rte);

}


function writeRichText(rte, html, width, height, buttons, readOnly ,appPath,grpID) {

	
	if (isRichText) {
	
	if(document.all){
	
	var cssImageClass = "rteImage";
	
	}else{
	
	var cssImageClass = "rteImage3";
	
	}
	
	
		if (allRTEs.length > 0) allRTEs += ";";
		allRTEs += rte;
		 var cStr  =   '';
		 cStr  +=   '<div id="rteDiv" class="rteDiv" style="width:'+width+';margin-left:3px;">';
		if (buttons == true) {

			cStr  +=   '<table cellpadding="0" style="width:100%;" cellspacing="0" class="tdOdd bordersubtable">';
			cStr  +=   '	<tr>';
			cStr  +=   '		<td >';
			cStr  +=   '		<table class="rteBack" style="width:100%;" cellpadding="0" cellspacing="0" id="Buttons1_' + rte + '">'; 
			cStr  +=   '		<tr>';
			cStr  +=   '		<td style="font-size:10px">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ cutText +'"  src="' + imagesPath + 'cut.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'cut\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ copyText +'" src="' + imagesPath + 'copy.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'copy\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ pasteText +'" src="' + imagesPath + 'paste.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'paste\')">';
			cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';

			cStr  +=   '		<img class="'+cssImageClass+'" alt="' + paragraphText + '" src="' + imagesPath + 'font_paragraph.gif" width="72" height="24"  onMouseDown="saveSelection(\'' + rte + '\')"  onClick="dispDiv(\'' + rte + '\', \'formatblock\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="' + fontStyleText + '"  src="' + imagesPath + 'font_style.gif" width="72" height="24"  onMouseDown="saveSelection(\'' + rte + '\')" onClick="dispDiv(\'' + rte + '\', \'fontname\')">';
			cStr  +=   '		<img class="'+cssImageClass+'"  alt="' + fontSizeText + '" src="' + imagesPath + 'font_size.gif" width="70" height="24"  onMouseDown="saveSelection(\'' + rte + '\')"  onClick="dispDiv(\'' + rte + '\', \'fontsize\')">';
			//cStr  +=   '		<span class="rteImage" title="' + paragraphText + '" style="position: relative; height:24;padding:3px;" onMouseDown="saveSelection(\'' + rte + '\')" onClick="dispDiv(\'' + rte + '\', \'formatblock\')"><span  onMouseOver="this.parentNode.className = \'rteImageRaised\'" onMouseOut="this.parentNode.className = \'rteImage\'" style="font-family: Verdana, Arial, Helvetica; font-size: 10px; font-weight: bold;">'+paragraphText+'</span></span>';
			//cStr  +=   '		<span class="rteImage" title="' + fontStyleText + '" style="position: relative;height:24;padding:3px;" onMouseDown="saveSelection(\'' + rte + '\')" onClick="dispDiv(\'' + rte + '\', \'fontname\')"><span  onMouseOver="this.parentNode.className = \'rteImageRaised\'" onMouseOut="this.parentNode.className = \'rteImage\'" style="font-family: Verdana, Arial, Helvetica; font-size: 10px; font-weight: bold;">'+fontStyleText+'</span></span>';
			//cStr  +=   '		<span class="rteImage" title="' + fontSizeText + '"  style="position: relative; height:24;padding:3px;" onMouseDown="saveSelection(\'' + rte + '\')" onClick="dispDiv(\'' + rte + '\', \'fontsize\')"><span  onMouseOver="this.parentNode.className = \'rteImageRaised\'" onMouseOut="this.parentNode.className = \'rteImage\'" style="font-family: Verdana, Arial, Helvetica; font-size: 10px; font-weight: bold;">'+fontSizeText+'</span></span>';			
			cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ boldText +'" src="' + imagesPath + 'bold.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'bold\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ italicText +'" src="' + imagesPath + 'italic.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'italic\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ underlineText +'" src="' + imagesPath + 'underline.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'underline\', \'\')">';

			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ leftJustifyText +'" src="' + imagesPath + 'left_just.gif" width="25" height="24" onClick="rteCommand(\'' + rte + '\', \'justifyleft\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ rightJustifyText +'" src="' + imagesPath + 'centre.gif" width="25" height="24" alt="Center" title="Center" onClick="rteCommand(\'' + rte + '\', \'justifycenter\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ centerJustifyText +'" src="' + imagesPath + 'right_just.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'justifyright\', \'\')">';
		        //cStr  +=   '		<img class="'+cssImageClass+'" src="' + imagesPath + 'justifyfull.gif" width="25" height="24"  onclick="rteCommand(\'' + rte + '\', \'justifyfull\', \'\')">';
			cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ numberedListText +'" src="' + imagesPath + 'numbered_list.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'insertorderedlist\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ bulletedListText +'" src="' + imagesPath + 'list.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'insertunorderedlist\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ decreaseIndentText +'" src="' + imagesPath + 'outdent.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'outdent\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ increaseIndentText +'" src="' + imagesPath + 'indent.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'indent\', \'\')">';
			cStr  +=   '		<img class="rteVertSep"  src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" >';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ insertLineText +'" src="' + imagesPath + 'hr.gif" width="25" height="24"  onClick="rteCommand(\'' + rte + '\', \'inserthorizontalrule\', \'\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ insertLinkText +'" src="' + imagesPath + 'hyperlink.gif" width="25" height="24" onMouseDown="saveSelection(\'' + rte + '\')" onClick="dispDiv(\'' + rte + '\', \'makeHyperlink\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ insertTableText +'" src="' + imagesPath + 'insert_table.gif" width="25" height="24"  onClick="dispDiv(\'' + rte + '\', \'addTable\')">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ insertPictureText +'" src="' + imagesPath + 'image.gif" width="25" height="24"  onMouseDown="saveSelection(\'' + rte + '\')"  onClick="dispDiv(\'' + rte + '\', \'browseImages\',this.id,\''+appPath+'\' ,'+grpID+' )">';
	

			cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ backgroundColorText +'" src="' + imagesPath + 'bgcolor.gif" width="25" height="24"  id="hilitecolor" onMouseDown="saveSelection(\'' + rte + '\')"  onClick="dispDiv(\'' + rte + '\', \'pickColor\',this.id)">';
			cStr  +=   '		<img class="'+cssImageClass+'" alt="'+ textColorText +'" id="forecolor" src="' + imagesPath + 'textcolor.gif" width="25" height="24"  onMouseDown="saveSelection(\'' + rte + '\')"  onClick="dispDiv(\'' + rte + '\', \'pickColor\',this.id)">';

	//		cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';
			cStr  +=   '		<img class="'+cssImageClass+'"  src="' + imagesPath + 'smiley.gif" width="25" height="24"  onClick="dispDiv(\'' + rte + '\', \'addEmoticon\')">';
	//		cStr  +=   '		<img class="rteVertSep" src="' + imagesPath + 'blackdot.gif" width="1" height="20" border="0" alt="">';

	//		cStr  +=   '		<img class="'+cssImageClass+'" src="' + imagesPath + 'undo.gif" width="25" height="24" onClick="rteCommand(\'' + rte + '\', \'undo\')">';
	//		cStr  +=   '		<img class="'+cssImageClass+'" src="' + imagesPath + 'redo.gif" width="25" height="24" onClick="rteCommand(\'' + rte + '\', \'redo\')">';
			cStr  +=   '		</td></tr>';
			cStr  +=   '		</table>';
			cStr  +=   '		</td>';
			cStr  +=   '	</tr>';
			cStr  +=   '	<tr>';
			cStr  +=   '		<td>';
			cStr  +=   ' <iframe  onfocus="_CPopup_Hide();validateImages('+rte+');" id="' + rte + '" name="' + rte + '" style="width:100%;" height="' + height + 'px" src="about:blank"></iframe>';

			cStr  +=   '		</td>';
			cStr  +=   '	</tr>';
			cStr  +=   '</table>';

		}
		

		if (!readOnly) {
		cStr  +=   '<br /><input type="checkbox" id="chkSrc' + rte + '" onclick="toggleHTMLSrc(\'' + rte + '\',' + buttons + ');" />&nbsp;<label class="viewSourceLink" for="chkSrc' + rte + '">'+viewSourceLinkText+'</label>';
		}
		
		
		cStr  +=   '<input type="hidden"  id="hdn' + rte + '" name="' + rte + '" value="">';
		//alert(document.getElementById('rteDiv').width);
		cStr  +=   '<div id="infoBox" style="position:absolute; top: 50; left: 150;z-index:1"></div>';

		cStr  +=   '</div>';
		document.writeln(cStr);
		if(html != ''){
		document.getElementById('hdn' + rte).value = html;
		}
		enableDesignMode(rte, html, readOnly);
	} else {
		cStr = '';
		if (!readOnly) {
			cStr  +=   '<textarea name="' + rte + '" id="' + rte + '" style="width: ' + width + '; height: ' + height + 'px;">' + html + '</textarea>';
		} else {
			cStr  +=   '<textarea name="' + rte + '" id="' + rte + '" style="width: ' + width + '; height: ' + height + 'px;" readonly>' + html + '</textarea>';
		}
		document.writeln(cStr);
	}
		
	
}

function enableDesignMode(rte, html, readOnly) {
	var frameHtml = "<html id=\"" + rte + "\">";
	frameHtml += "<head>";
	if (cssFile.length > 0) {
		frameHtml += "<link media=\"all\" type=\"text/css\" href=\"" + cssFile + "\" rel=\"stylesheet\">";
	} else {
		frameHtml += "<style>";
		frameHtml += "body {";
		frameHtml += "	background: #FFFFFF;";
		frameHtml += "	margin: 0px;";
		frameHtml += "	padding: 0px;";
		frameHtml += "  font-family: "+L_RTEFONTARIALDEF_TEXT+";"; 
		frameHtml += "}";
		frameHtml += "</style>";
	}
	frameHtml += "</head>";
	frameHtml += "<body>";
	frameHtml += html + "";
	frameHtml += "</body>";
	frameHtml += "</html>";
	
	if (document.all) {
	
		var oRTE = frames[rte].document;
		
		oRTE.open();
		oRTE.write(frameHtml);
		oRTE.close();
		if (!readOnly) {
			oRTE.designMode = "On";
			frames[rte].document.attachEvent("onkeypress", function evt_ie_keypress(event) {ieKeyPress(event, rte);});
		}
	} else {
		try {
			if (!readOnly) document.getElementById(rte).contentDocument.designMode = "on";
			try {
				var oRTE = document.getElementById(rte).contentWindow.document;
				oRTE.open();
				oRTE.write(frameHtml);
				oRTE.close();
				if (isGecko && !readOnly) {
					//attach a keyboard handler for gecko browsers to make keyboard shortcuts work
					oRTE.addEventListener("keypress", geckoKeyPress, true);
				}
			} catch (e) {
				alert("Erreur lors du préchargement du contenu.");
			}
		} catch (e) {
			//gecko may take some time to enable design mode.
			//Keep looping until able to set.
			if (isGecko) {
				setTimeout("enableDesignMode('" + rte + "', '" + html + "', " + readOnly + ");", 10);
			} else {
				return false;
			}
		}
	}
}

function updateRTE(rte) {
	if (!isRichText) return;
	
	//check for readOnly mode
	var readOnly = false;

	if (document.all) {
		if (frames[rte].document.designMode != "On") readOnly = true;			
	
	} else {
		if (document.getElementById(rte).contentDocument.designMode != "on") readOnly = true;
		
	}
	
	if (isRichText && !readOnly) {
		//if viewing source, switch back to design view
		if (document.getElementById("chkSrc" + rte).checked) document.getElementById("chkSrc" + rte).click();
		setHiddenVal(rte);
	}
	
}

function setHiddenVal(rte) {
	//set hidden form field value for current rte
	var oHdnField = document.getElementById('hdn' + rte);
	
	//convert html output to xhtml (thanks Timothy Bell and Vyacheslav Smolin!)
	if (oHdnField.value == null) oHdnField.value = "";
	if (document.all) {
		if (generateXHTML) {
			oHdnField.value = get_xhtml(frames[rte].document.body, lang, encoding);
		} else {
			oHdnField.value = frames[rte].document.body.innerHTML;
		}
	} else {
		if (generateXHTML) {
			oHdnField.value = get_xhtml(document.getElementById(rte).contentWindow.document.body, lang, encoding);
		} else {
			oHdnField.value = document.getElementById(rte).contentWindow.document.body.innerHTML;
		}
	}
	
	//if there is no content (other than formatting) set value to nothing
	if (stripHTML(oHdnField.value.replace("&nbsp;", " ")) == "" &&
		oHdnField.value.toLowerCase().search("<hr") == -1 &&
		oHdnField.value.toLowerCase().search("<img") == -1) oHdnField.value = "";
}

function updateRTEs() {
	var vRTEs = allRTEs.split(";");
	for (var i = 0; i < vRTEs.length; i++) {
		updateRTE(vRTEs[i]);
	}
}

function loadFromIframe(command,fullPath){
var oImage = new Image();
oImage.src = fullPath;	
rteCommand(allRTEs , command, oImage.src)

}
function loadFull(rte,command,fullPath){
	var oImage = new Image();
	oImage.src = fullPath;	
	rteCommand(rte , command, oImage.src)
}


function rteCommand(rte, command, option) {
	//function to perform command
	var oRTE;
	if (document.all) {
		oRTE = frames[rte];
	} else {
		oRTE = document.getElementById(rte).contentWindow;
	}
	
	if(command == "InsertImage"){
		var oImage = new Image();
		oImage.src = option;	
		if(oImage.width > 655){
		option += '"' + " width=655";
		}
	}
	try {
		oRTE.focus();
		if(command != "InsertImage"){
	  		oRTE.document.execCommand(command, false, option);
	  	}else{	  	
	  		oRTE.document.execCommand(command, false, option);
	  	}
		oRTE.focus();
	} catch (e) {
		setTimeout("rteCommand('" + rte + "', '" + command + "', '" + option + "');", 10);
	}
}

function saveSelection(rte) 
{
    	if(document.all){
    		oRTE = document.getElementById(rte).contentWindow
		oRTE.focus();
		currentSelection = oRTE.document.selection.createRange();
	}
}

function toggleHTMLSrc(rte, buttons) {

	var oHdnField = document.getElementById('hdn' + rte);
	if (document.getElementById("chkSrc" + rte).checked) {
		//we are checking the box
		if (buttons) {
			showHideElement("Buttons1_" + rte, "hide");
			//showHideElement("Buttons2_" + rte, "hide");
		}
		setHiddenVal(rte);
		if (document.all) {
		
		
			frames[rte].document.body.innerText = oHdnField.value;

		} else {
			var oRTE = document.getElementById(rte).contentWindow.document;
			var htmlSrc = oRTE.createTextNode(oHdnField.value);
			oRTE.body.innerHTML = "";
			oRTE.body.appendChild(htmlSrc);
		}
	} else {
		//we are unchecking the box
		if (buttons) {
			showHideElement("Buttons1_" + rte, "show");
			//showHideElement("Buttons2_" + rte, "show");
		}
		if (document.all) {
			//fix for IE
			var output = escape(frames[rte].document.body.innerText);
			output = output.replace("%3CP%3E%0D%0A%3CHR%3E", "%3CHR%3E");
			output = output.replace("%3CHR%3E%0D%0A%3C/P%3E", "%3CHR%3E");
			frames[rte].document.body.innerHTML = unescape(output);
		} else {
			var oRTE = document.getElementById(rte).contentWindow.document;
			var htmlSrc = oRTE.body.ownerDocument.createRange();
			htmlSrc.selectNodeContents(oRTE.body);
			oRTE.body.innerHTML = htmlSrc.toString();
		}
	}
}



function addImage(rte) {
	imagePath = prompt(enterImageUrlText+':', 'http://');
	if(imagePath){
		if(imagePath.substr(0,7) != "http://"){

		alert(errNoLocalImages);
		return;
		}
		if ((imagePath != null) && (imagePath != "")) {
			rteCommand(rte, 'InsertImage', imagePath);
		}
	}
	
	
}

function validateImages(rte){
	var errCount = 0;
	var oRTE;
	if (document.all) {
		oRTE = frames[rte.name];
	} else {
		oRTE = document.getElementById(rte.name).contentWindow;
	}

	for(var i = 0; i<oRTE.document.images.length;i++){

		if (oRTE.document.images[i].src.substr(0,7).toLowerCase() != "http://"){
		oRTE.document.images[i].removeNode(false);
		errCount++;
		
		}
	}
	if(errCount > 0){
	alert(errNoLocalImages);
	}
	
}


function getOffsetTop(elm) {
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	var parents_up = 2; //the positioning div is 2 elements up the tree
	
	while(parents_up > 0) {
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
		parents_up--;
	}
	
	return mOffsetTop;
}

// Ernst de Moor: Fix the amount of digging parents up, in case the RTE editor itself is displayed in a div.
// KJR 11/12/2004 Changed to position palette based on parent div, so palette will always appear in proper location regardless of nested divs
function getOffsetLeft(elm) {
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	var parents_up = 2;
	
	while(parents_up > 0) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
		parents_up--;
	}
	
	return mOffsetLeft;
}


function doCommand(rte,cmd,arg){


if(cmd=='hilitecolor' && (document.all)){
cmd = "backcolor";		
}

if(document.all){
currentSelection.select();
}

rteCommand(rte, cmd, arg);

if(document.all){
currentSelection.select();// re-sets the cursor to the right positsion 
}

_CPopup_Hide();
	

}


function insertEmoticon(rte,imageSrc) {

		rteCommand(rte, 'InsertImage', imageSrc);

}

function insertHTML(html, rte) {
	//function to add HTML -- thanks dannyuk1982
	//var rte = currentRTE;
	
	var oRTE;
	if (document.all) {
		oRTE = frames[rte];
	} else {
		oRTE = document.getElementById(rte).contentWindow;
	}
	
	oRTE.focus();
	if (document.all) {
		var oRng = oRTE.document.selection.createRange();
		oRng.pasteHTML(html);
		oRng.collapse(false);
		oRng.select();
	} else {
		oRTE.document.execCommand('insertHTML', false, html);
	}
}

function showHideElement(element, showHide) {
	//function to show or hide elements
	//element variable can be string or object
	if (document.getElementById(element)) {
		element = document.getElementById(element);
	}
	
	if (showHide == "show") {
		element.style.visibility = "visible";
	} else if (showHide == "hide") {
		element.style.visibility = "hidden";
	}
}

function setRange(rte) {
	//function to store range of current selection
	var oRTE;
	if (document.all) {
		oRTE = frames[rte];
		var selection = oRTE.document.selection; 
		if (selection != null) rng = selection.createRange();
	} else {
		oRTE = document.getElementById(rte).contentWindow;
		var selection = oRTE.getSelection();
		rng = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
	}
	return rng;
}

function stripHTML(oldString) {
	//function to strip all html
	var newString = oldString.replace(/(<([^>]+)>)/ig,"");
	
	//replace carriage returns and line feeds
   newString = newString.replace(/\r\n/g," ");
   newString = newString.replace(/\n/g," ");
   newString = newString.replace(/\r/g," ");
	
	//trim string
	newString = trim(newString);
	
	return newString;
}

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") return inputString;
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
	
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length - 1, retValue.length);
	
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length - 1);
      ch = retValue.substring(retValue.length - 1, retValue.length);
   }
	
	// Note that there are two spaces in the string - look for multiple spaces within the string
   while (retValue.indexOf("  ") != -1) {
		// Again, there are two spaces in each of the strings
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ") + 1, retValue.length);
   }
   return retValue; // Return the trimmed string back to the user
}

//********************
//Gecko-Only Functions
//********************
function geckoKeyPress(evt) {
	//function to add bold, italic, and underline shortcut commands to gecko RTEs
	//contributed by Anti Veeranna (thanks Anti!)
	var rte = evt.target.id;
	
	if (evt.ctrlKey) {
		var key = String.fromCharCode(evt.charCode).toLowerCase();
		var cmd = '';
		switch (key) {
			case 'b': cmd = "bold"; break;
			case 'i': cmd = "italic"; break;
			case 'u': cmd = "underline"; break;
		};

		if (cmd) {
			rteCommand(rte, cmd, null);
			
			// stop the event bubble
			evt.preventDefault();
			evt.stopPropagation();
		}
 	}
}

//*****************
//IE-Only Functions
//*****************
function ieKeyPress(evt, rte) {
	var key = (evt.which || evt.charCode || evt.keyCode);
	var stringKey = String.fromCharCode(key).toLowerCase();

}

function checkspell() {
	//function to perform spell check
	try {
		var tmpis = new ActiveXObject("ieSpell.ieSpellExtension");
		tmpis.CheckAllLinkedDocuments(document);
	}
	catch(exception) {
		if(exception.number==-2146827859) {
			if (confirm("ieSpell not detected.  Click Ok to go to download page."))
				window.open("http://www.iespell.com/download.php","DownLoad");
		} else {
			alert("Erreur lors du chargement d'ieSpell&#160;: Exception " + exception.number);
		}
	}
}

function raiseButton(e) {
	var el = window.event.srcElement;
	
	className = el.className;
	if (className == 'rteImage' || className == 'rteImageLowered') {
		el.className = 'rteImageRaised';
	}
}

function normalButton(e) {
	var el = window.event.srcElement;
	
	className = el.className;
	if (className == 'rteImageRaised' || className == 'rteImageLowered') {
		el.className = 'rteImage';
	}
}

function lowerButton(e) {
	var el = window.event.srcElement;
	
	className = el.className;
	if (className == 'rteImage' || className == 'rteImageRaised') {
		el.className = 'rteImageLowered';
	}
}

