function SavePage(ctlFieldData, ctlEditor) {
    var boolBRFound;
    var strHTML;
    var i, intCharsToRemove;
    
    try {
        strHTML = document.getElementById(ctlEditor).contentWindow.document.body.innerHTML.replace(new RegExp(/<br>\s/g), "<br>");
        boolBRFound = true;
        i = 0;
        intCharsToRemove = 0;
        while (i <= strHTML.length - 5 && boolBRFound) {
            if (strHTML.substring(i, 4) == "<br>") {
                intCharsToRemove += 4;
                i += 4;
            }
            else {
                boolBRFound = false;
            }
        }
        if (intCharsToRemove > 0) {
            strHTML = strHTML.substring(intCharsToRemove, strHTML.length);
        }
        document.getElementById(ctlFieldData).value = strHTML.replace(new RegExp(/<br><br>/g), "<p>");
    }
    catch (e) {
    }        
}

function PasteWord(ctlEditor) {
    document.getElementById(ctlEditor).contentWindow.focus();
    window.open("/components/cms/pasteword.aspx?editorid=" + ctlEditor, "_blank", "width=740,height=560,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function ShowHtml(ctlEditor, strUrl, strFieldname) {
    document.getElementById(ctlEditor).contentWindow.focus();
    window.open("/components/cms/htmlview.aspx?editorid=" + ctlEditor, "_blank", "width=740,height=560,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function AssignStyle(strFormat, ctlEditor) {
    document.getElementById(ctlEditor).contentWindow.focus();
    if (navigator.appName != "Microsoft Internet Explorer") {
        document.getElementById(ctlEditor).contentWindow.document.execCommand("styleWithCSS", false, false);
    }
    document.getElementById(ctlEditor).contentWindow.document.execCommand(strFormat, false, null);
}

function AssignColor(strColorType, ctlEditor) {
    window.open("/components/cms/colorselector.aspx?colortype=" + strColorType + "&editorid=" + ctlEditor, "_blank", "width=300,height=450,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function CreateLink(ctlEditor, strSite) {
    var strURL = "/components/cms/linkselector.aspx?editorid=" + ctlEditor + '&site=' + strSite;
    var strHTML, strSelection, strRange;
    
    document.getElementById(ctlEditor).contentWindow.focus();
    
    strHTML = "";
    if (navigator.appName == "Microsoft Internet Explorer") {
        if (document.getElementById(ctlEditor).contentWindow.document.selection.createRange().htmlText.length > 0) {
            strHTML = document.getElementById(ctlEditor).contentWindow.document.selection.createRange().htmlText;
        }
    }                   
    else {
        strSelection = document.getElementById(ctlEditor).contentWindow.getSelection();
        strRange = strSelection.getRangeAt(0);
        var strControl = strRange.startContainer;
        if (strControl.nodeType != 1) {
            if (strControl.parentNode.attributes['href']) {
                strHTML = '<a href="' + strControl.parentNode.attributes['href'].value;
                if (strControl.parentNode.attributes['title']) {
                    strHTML += '" title="' + strControl.parentNode.attributes['title'].value;
                }
                strHTML += '">' + String(strSelection) + "</a>";
            }
            else {
                strHTML = String(strSelection);
            }
        }
    }
	if (strHTML.length > 0) {
	    strURL += "&html=" + strHTML.replace(new RegExp(/#/g), "%23");
	}
    
    window.open(strURL, "_blank", "width=900,height=600,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no");
}
  
function CreateImage(ctlEditor, strSite) {
    document.getElementById(ctlEditor).contentWindow.focus();
	window.open("/components/cms/imageselector.aspx?editorid=" + ctlEditor + '&site=' + strSite, "_blank", "width=740,height=560,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function SetTextStyle(strStyle, ctlEditor) {
    var strSelection, strText, strRange, strNode;

    document.getElementById(ctlEditor).contentWindow.focus();

    if (strStyle.length > 0) {
        if (navigator.appName == "Microsoft Internet Explorer") {
            strSelection = document.getElementById(ctlEditor).contentWindow.document.selection.createRange();
            if (strSelection.text.length > 0) {
                if (strStyle == "SmallCaps") {
                    strText = document.getElementById(ctlEditor).contentWindow.document.createElement("<span class='SmallCaps'>");
                }
                else if (strStyle == "Body") {
                    strText = document.getElementById(ctlEditor).contentWindow.document.createElement("<span class='BodyText'>");
                }
                else {
                    strText = document.getElementById(ctlEditor).contentWindow.document.createElement("<" + strStyle + ">");
                }
                strText.insertAdjacentText("afterBegin", strSelection.text);
                strSelection.pasteHTML(strText.outerHTML);
            }
        }
        else {
            strSelection = document.getElementById(ctlEditor).contentWindow.getSelection();
            strText = String(strSelection);
            strRange = strSelection.getRangeAt(0);
            strRange.deleteContents();

            if (strText.length > 0) {
                if (strStyle == "SmallCaps") {
                    strNode = document.getElementById(ctlEditor).contentWindow.document.createElement("span");
                    strNode.setAttribute('class', 'SmallCaps');
                }
                else if (strStyle == "Body") {
                    strNode = document.getElementById(ctlEditor).contentWindow.document.createElement("span");
                    strNode.setAttribute('class', 'BodyText');
                }
                else {
                    strNode = document.getElementById(ctlEditor).contentWindow.document.createElement(strStyle);
                }
                strNode.appendChild(document.getElementById(ctlEditor).contentWindow.document.createTextNode(strText));
                strRange.insertNode(strNode);
            }
        }
    }

    document.getElementById(ctlEditor).contentWindow.focus();
}

function InsertLineBreak(ctlEditor) {
    var strSelection, strRange, strNode;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    if (navigator.appName == "Microsoft Internet Explorer") {
        strSelection = document.getElementById(ctlEditor).contentWindow.document.selection.createRange();
        strSelection.pasteHTML("<br />");
    }
    else {
        strSelection = document.getElementById(ctlEditor).contentWindow.getSelection();
        strRange = strSelection.getRangeAt(0);
        strRange.deleteContents();
        strNode = document.getElementById(ctlEditor).contentWindow.document.createElement("br");
        strRange.insertNode(strNode);       
    }
    
    document.getElementById(ctlEditor).contentWindow.focus();
}

function InsertTable(ctlEditor) {
    document.getElementById(ctlEditor).contentWindow.focus();
    window.open("/components/cms/inserttable.aspx?editorid=" + ctlEditor, "_blank", "width=500,height=400,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function InsertTableRow(ctlEditor) {
    var objReference, objTableParent;
    var tblTable, tblParentTable, tblrowRow, tblclCell, tblrowParentRow;
    var strTextNode, strRange;
    var i, intRowIndex, intCellIndex;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference, "/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    
    //Add a row below the current selection
    switch(objReference.tagName) {
	    case "TABLE" :
		    tblTable = objReference.cloneNode(true);
		    var tblrowRow = tblTable.insertRow();
		    tblrowRow.vAlign = "top";
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell();
		        }
		        objReference.outerHTML = tblTable.outerHTML;
            }
            else {
                for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell(i);
			        
	   		        strTextNode = document.createTextNode(".");
                    tblclCell.appendChild(strTextNode);
		        }
		        
                objTableParent = objReference.parentNode;
                objTableParent.replaceChild(tblTable, objReference);
            }		        
		    break;
 	    case "TBODY" :
		    tblTable = objReference.cloneNode(true);
		    var tblrowRow = tblTable.insertRow();
		    tblrowRow.vAlign = "top";
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell();
		        }
		        objReference.outerHTML = tblTable.outerHTML;
            }
            else {
                for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell(i);
			        
	   		        strTextNode = document.createTextNode(".");
                    tblclCell.appendChild(strTextNode);
		        }
		        
                objTableParent = objReference.parentNode;
                objTableParent.replaceChild(tblTable, objReference);
            }		        
		    break;
	    case "TR" :
		    intRowIndex = objReference.rowIndex;
		    tblParentTable = objReference.parentNode.parentNode;
		    tblTable = tblParentTable.cloneNode(true);
		    tblrowRow = tblTable.insertRow(intRowIndex + 1);
		    tblrowRow.vAlign = "top";
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell();
		        }
		        tblParentTable.outerHTML = tblTable.outerHTML;
            }
            else {
                for (i = 0; i < tblTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell(i);
			        
	   		        strTextNode = document.createTextNode(".");
                    tblclCell.appendChild(strTextNode);
		        }
		        
                objTableParent = tblParentTable.parentNode;
                objTableParent.replaceChild(tblTable, tblParentTable);
            }		        
		    break;
 	    case "TD" :
		    tblrowParentRow = objReference.parentNode;
		    intRowIndex = tblrowParentRow.rowIndex;
		    intCellIndex = objReference.cellIndex;
		    tblParentTable = objReference.parentNode.parentNode.parentNode;
		    tblTable = tblParentTable.cloneNode(true);
		    tblrowRow = tblTable.insertRow(intRowIndex + 1);
		    tblrowRow.vAlign = "top";
		   
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblParentTable.rows[0].cells.length; i++) {
			        tblclCell = tblrowRow.insertCell();
			        if (i == intCellIndex) {
					    tblclCell.id = "TempID";
				    }
		        }
		        tblParentTable.outerHTML = tblTable.outerHTML;
		        
		        //Select the first tablecell
                strRange = document.getElementById(ctlEditor).contentWindow.document.body.createTextRange();
                tblclCell = document.getElementById(ctlEditor).contentWindow.document.getElementById("TempID");
                tblclCell.id = "";
                strRange.moveToElementText(tblclCell);
                strRange.moveStart("character", strRange.text.length);
                strRange.select();
		    }
            else {
                for (i = 0; i < tblParentTable.rows[0].cells.length; i++) {
                    tblclCell = tblrowRow.insertCell(i);
                    if (i == intCellIndex) {
					    tblclCell.id = "TempID";
				    }
                   
                    strTextNode = document.createTextNode(".");
                    tblclCell.appendChild(strTextNode);
                }
                objTableParent = tblParentTable.parentNode;
                objTableParent.replaceChild(tblTable, tblParentTable);
                
                //Select the first tablecell
                strRange = document.createRange();
                tblclCell = document.getElementById(ctlEditor).contentWindow.document.getElementById("TempID");
                tblclCell.id = "";
                strRange.selectNode(tblclCell);
            }
		    break;
 	    default :
		    break;
	    return;
    }
}

function DeleteTableRow(ctlEditor) {
    var tblParentTable, tblrowParentRow;
    var strRange;
    var intRowIndex, intCellIndex;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference,"/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    
    switch(objReference.tagName) {
	    case "TR" :
		    intRowIndex = objReference.rowIndex;
		    tblParentTable = objReference.parentNode.parentNode;
		    tblParentTable.deleteRow(intRowIndex);
		    break;
 	    case "TD" :
		    intCellIndex = objReference.cellIndex;
		    tblrowParentRow = objReference.parentNode;
		    intRowIndex = tblrowParentRow.rowIndex;
		    tblParentTable = objReference.parentNode.parentNode.parentNode;
		    tblParentTable.deleteRow(intRowIndex);
		    if (intRowIndex >= tblParentTable.rows.length) {
			    intRowIndex = tblParentTable.rows.length - 1;
		    }
		    if (intRowIndex >= 0) {
		        if (navigator.appName == "Microsoft Internet Explorer") {
			        strRange = document.getElementById(ctlEditor).contentWindow.document.body.createTextRange();
			        strRange.moveToElementText(tblParentTable.rows[intRowIndex].cells[intCellIndex]);
			        strRange.moveStart("character", strRange.text.length);
			        strRange.select();
			    }
		    }
		    else {
		        if (navigator.appName == "Microsoft Internet Explorer") {
                    tblParentTable.removeNode(true);
                }
                else {
                    strRange = document.createRange();
                    strRange.selectNode(tblParentTable);
                    strRange.deleteContents();
                }
		    }
		    break;
 
	    default :
		    return;
    }
}

function InsertTableColumn(ctlEditor) {
    var objReference, objTableParent;
    var tblTable, tblParentTable, tblclCell;
    var strTextNode, strRange;
    var i, intRowIndex, intCellIndex;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference,"/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    
    //Add a column on the right of the selected element
    switch(objReference.tagName) {
	    case "TABLE" :
		    tblTable = objReference.cloneNode(true);
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell();
			    }
			    
			    objReference.outerHTML = tblTable.outerHTML;
		    }
    	    else {
                for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell(tblTable.rows[i].cells.length);
			    }
			    
			    objTableParent = objReference.parentNode;
                objTableParent.replaceChild(tblTable, objReference);
	        }	    
		    break;
	    case "TBODY" :
		    tblTable = objReference.cloneNode(true);
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell();
			    }
			    
			    objReference.outerHTML = tblTable.outerHTML;
		    }
    	    else {
                for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell(tblTable.rows[i].cells.length);
			    }
			    
			    objTableParent = objReference.parentNode;
                objTableParent.replaceChild(tblTable, objReference);
	        }	    
		    break;
	    case "TR" :
		    objReference = objReference.parentNode.parentNode;
		    tblTable = objReference.cloneNode(true);
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell();
			    }
			    
			    objReference.outerHTML = tblTable.outerHTML;
		    }
    	    else {
                for (i = 0; i < tblTable.rows.length; i++) {
			        tblclCell = tblTable.rows[i].insertCell(tblTable.rows[i].cells.length);
			    }
			    
			    objTableParent = objReference.parentNode;
                objTableParent.replaceChild(tblTable, objReference);
	        }	    
		    break;
	    case "TD" :
		    var intCellIndex = objReference.cellIndex;
		    var intRowIndex = objReference.parentNode.rowIndex;
		    var tblParentTable = objReference.parentNode.parentNode.parentNode;
		    var tblTable = tblParentTable.cloneNode(true);
		    for (i = 0; i < tblTable.rows.length; i++) {
			    tblclCell = tblTable.rows[i].insertCell(intCellIndex + 1);
			    
			    if (navigator.appName != "Microsoft Internet Explorer") {
			        strTextNode = document.createTextNode(".");
                    tblclCell.appendChild(strTextNode);
			    }
			    
			    if (i == intRowIndex) {
				    tblclCell.id = "TempID";
			    }
		    }
		    if (navigator.appName == "Microsoft Internet Explorer") {
		        tblParentTable.outerHTML = tblTable.outerHTML;
		        
		        //Select the first tablecell
                strRange = document.getElementById(ctlEditor).contentWindow.document.body.createTextRange();
                tblclCell = document.getElementById(ctlEditor).contentWindow.document.getElementById("TempID");
                tblclCell.id = "";
                strRange.moveToElementText(tblclCell);
                strRange.moveStart("character", strRange.text.length);
                strRange.select();
            }
            else {
                objTableParent = tblParentTable.parentNode;
                objTableParent.replaceChild(tblTable, tblParentTable);
                
                //Select the first tablecell
                strRange = document.createRange();
                tblclCell = document.getElementById(ctlEditor).contentWindow.document.getElementById("TempID");
                tblclCell.id = "";
                strRange.selectNode(tblclCell);
            }                
		    break;
	    default :
		    return;
    }
}

function DeleteTableColumn(ctlEditor) {
    var objReference, objTableParent;
    var tblTable, tblParentTable;
    var strRange;
    var i, intRowIndex, intCellIndex;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference,"/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    
    switch(objReference.tagName) {
	    case "TD" :
		    intRowIndex = objReference.parentNode.rowIndex;
		    intCellIndex = objReference.cellIndex;
		    tblParentTable = objReference.parentNode.parentNode.parentNode;
		    tblTable = tblParentTable.cloneNode(true);
		    if (tblTable.rows[0].cells.length == 1) {
			    if (navigator.appName == "Microsoft Internet Explorer") {
                    tblParentTable.removeNode(true);
                }
                else {
                    strRange = document.createRange();
                    strRange.selectNode(tblParentTable);
                    strRange.deleteContents();
                }
			    return;
		    }
		    for (i = 0; i < tblTable.rows.length; i++) {
			    if (tblTable.rows[i].cells[intCellIndex] == "[object]" || tblTable.rows[i].cells[intCellIndex] == "[object HTMLTableCellElement]") {
				    tblTable.rows[i].deleteCell(intCellIndex);
			    }
		    }
		    if (intCellIndex >= tblTable.rows[0].cells.length) {
			    intCellIndex = tblTable.rows[0].cells.length - 1;
		    }
		    
		    if (navigator.appName == "Microsoft Internet Explorer") {
       		    if (intCellIndex >= 0) {  
	    		    tblTable.rows[intRowIndex].cells[intCellIndex].id = "TempID";
		        }

		        tblParentTable.outerHTML = tblTable.outerHTML;
		        if (intCellIndex >= 0) {
			        //Select the first tablecell
                    strRange = document.getElementById(ctlEditor).contentWindow.document.body.createTextRange();
                    tblclCell = document.getElementById(ctlEditor).contentWindow.document.getElementById("TempID");
                    tblclCell.id = "";
                    strRange.moveToElementText(tblclCell);
                    strRange.moveStart("character", strRange.text.length);
                    strRange.select();
                }                    
		    }
		    else {
		        objTableParent = tblParentTable.parentNode;
                objTableParent.replaceChild(tblTable, tblParentTable);
		    }
		    break;
	    default :
		    return;
    }
}

function ChangeTableBorder(ctlEditor) {
    var strColorClass;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference,"/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    
    switch(objReference.tagName) {
	    case "TABLE" :
	        strColorClass = objReference.className.split(" ")[1];
		    if (objReference.className.split(" ")[0] == "Table-Border2") {
			    objReference.className = "Table-NoBorder " + strColorClass;
			    objReference.rules = "none";
		    }
		    else if (objReference.className.split(" ")[0] == "Table-NoBorder") {
			    objReference.className = "Table-Border " + strColorClass;
			    objReference.rules = "all";
		    }
		    else {
			    objReference.className = "Table-Border2 " + strColorClass;
			    objReference.rules = "all";
		    }
		    break;
	    case "TBODY" :
		    objReference = objReference.parentNode;
		    strColorClass = objReference.className.split(" ")[1];
		    if (objReference.className.split(" ")[0] == "Table-Border2") {
			    objReference.className = "Table-NoBorder " + strColorClass;
			    objReference.rules = "none";
		    }
		    else if (objReference.className.split(" ")[0] == "Table-NoBorder") {
			    objReference.className = "Table-Border " + strColorClass;
			    objReference.rules = "all";
		    }
		    else {
			    objReference.className = "Table-Border2 " + strColorClass;
			    objReference.rules = "all";
		    }
		    break;
	    case "TR" :
		    objReference=objReference.parentNode.parentNode;
		    strColorClass = objReference.className.split(" ")[1];
		    if (objReference.className.split(" ")[0] == "Table-Border2") {
			    objReference.className = "Table-NoBorder " + strColorClass;
			    objReference.rules = "none";
		    }
		    else if (objReference.className.split(" ")[0] == "Table-NoBorder") {
			    objReference.className = "Table-Border " + strColorClass;
			    objReference.rules = "all";
		    }
		    else {
			    objReference.className = "Table-Border2 " + strColorClass;
			    objReference.rules = "all";
		    }
		    break;
	    case "TD" :
		    objReference=objReference.parentNode.parentNode.parentNode;
		    strColorClass = objReference.className.split(" ")[1];
		    if (objReference.className.split(" ")[0] == "Table-Border2") {
			    objReference.className = "Table-NoBorder " + strColorClass;
			    objReference.rules = "none";
		    }
		    else if (objReference.className.split(" ")[0] == "Table-NoBorder") {
			    objReference.className = "Table-Border " + strColorClass;
			    objReference.rules = "all";
		    }
		    else {
			    objReference.className = "Table-Border2 " + strColorClass;
			    objReference.rules = "all";
		    }
		    break;
    }
    return;
}

function ChangeTableColor(ctlEditor) {
    var strBorderClass;

    document.getElementById(ctlEditor).contentWindow.focus();
    
    objReference = GetRangeReference(document.getElementById(ctlEditor).contentWindow);
    objReference = CheckTag(objReference,"/^(TABLE)|^(TR)|^(TD)|^(TBODY)/");
    switch(objReference.tagName) {
	    case "TABLE" :
	        strBorderClass = objReference.className.split(" ")[0];
		    if (objReference.className.split(" ")[1] == "Table-NoBackground") {
			    objReference.className = strBorderClass + " Table-Background1";
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background1") {
			    objReference.className = strBorderClass + " Table-Background2";			
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background2") {
			    objReference.className = strBorderClass + " Table-Background3";			
		    }
		    else {
			    objReference.className = strBorderClass + " Table-NoBackground";
		    }
		    break;
	    case "TBODY" :
		    objReference = objReference.parentNode;
		    strBorderClass = objReference.className.split(" ")[0];
		     if (objReference.className.split(" ")[1] == "Table-NoBackground") {
			    objReference.className = strBorderClass + " Table-Background1";
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background1") {
			    objReference.className = strBorderClass + " Table-Background2";			
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background2") {
			    objReference.className = strBorderClass + " Table-Background3";			
		    }
		    else {
			    objReference.className = strBorderClass + " Table-NoBackground";
		    }
		    break;
	    case "TR" :
		    objReference=objReference.parentNode.parentNode;
		    strBorderClass = objReference.className.split(" ")[0];
		    if (objReference.className.split(" ")[1] == "Table-NoBackground") {
			    objReference.className = strBorderClass + " Table-Background1";
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background1") {
			    objReference.className = strBorderClass + " Table-Background2";			
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background2") {
			    objReference.className = strBorderClass + " Table-Background3";			
		    }
		    else {
			    objReference.className = strBorderClass + " Table-NoBackground";
		    }
		    break;
	    case "TD" :
		    objReference=objReference.parentNode.parentNode.parentNode;
		    strBorderClass = objReference.className.split(" ")[0];
		    if (objReference.className.split(" ")[1] == "Table-NoBackground") {
			    objReference.className = strBorderClass + " Table-Background1";
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background1") {
			    objReference.className = strBorderClass + " Table-Background2";			
		    }
		    else if (objReference.className.split(" ")[1] == "Table-Background2") {
			    objReference.className = strBorderClass + " Table-Background3";			
		    }
		    else {
			    objReference.className = strBorderClass + " Table-NoBackground";
		    }
		    break;
    }
    return;
}

function GetRangeReference(strEditor) {
    var strRangeType, strSelectedRange;
	var objReference = null;

    if (navigator.appName == "Microsoft Internet Explorer") {
	    strRangeType = strEditor.document.selection.type;
	    strSelectedRange = strEditor.document.selection.createRange();
        
	    switch(strRangeType) {
		    case "Control" :
		    if (strSelectedRange.length > 0 ) {
			    objReference = strSelectedRange.item(0);
		    }
		    break;
     
		    case "None" :
		    objReference = strSelectedRange.parentElement();
		    break;
     
		    case "Text" :
		    objReference = strSelectedRange.parentElement();
		    break;
	    }
    }
    else {
        objReference = strEditor.getSelection().anchorNode;
    }	    

    return objReference
}

function CheckTag(objReference, strTagNames) {
    if (objReference.tagName) {
	    if (objReference.tagName.search(strTagNames) != -1) {
		    return objReference;
	    }
	    if (objReference.tagName == "BODY") {
		    return false;
	    }
	}
	objReference = objReference.parentNode;
	
	return CheckTag(objReference, strTagNames);
}