var _OrigonalHTML        = "";
var _ControlToEdit       = null;
var _EditToolsDiv        = null;
var _ModuleID            = null;
var _SelectedHTMLObject  = null;
var _HTMLToEditSelection = null;
    
    function getXPos(obj)
    {
        var XPos = 0;
        
        if (obj.offsetParent)
        {
            while(obj.offsetParent)
            {
                XPos += obj.offsetLeft;
                obj = obj.offsetParent;
            }
        }
        else if (obj.x)
        {
            XPos += obj.x;
        }
        
        return XPos;
    }
    

    function findPosY(obj)
    {
        var curtop = 0;
        if(obj.offsetParent)
            while(1)
            {
              curtop += obj.offsetTop;
              if(!obj.offsetParent)
                break;
              obj = obj.offsetParent;
            }
        else if(obj.y)
            curtop += obj.y;
        return curtop;
    }
    
      function findIFrame()
    {
        var i = 0;
        
        for(i =0; i < window.frames.length; i++)
        {
            if (window.frames[i].name == "html_update_frame")
                return window.frames[i];
        }
        
        return null;
    }



    function EditHTML(controlName,ModuleID)
    {
    
       checkBrowser();
        if (firefox)
            return true;
            
        if (_EditToolsDiv == null)
            _EditToolsDiv = document.getElementById('SimpleHTMLEditorControls');    
    
        if (_ControlToEdit != null)
            EditCancel();
    
        _ControlToEdit = document.getElementById(controlName);
        _ModuleID = ModuleID;
        
        var UpdateIFrame = findIFrame();
        
        if (UpdateIFrame != null)
            UpdateIFrame.document.getElementById('ModuleID').value = ModuleID;
        
        var x = getXPos(_ControlToEdit);
        var y = findPosY(_ControlToEdit);
        _ControlToEdit.contentEditable = "true";

        _ControlToEdit.onmousedown = new Function("setSelectedCell(this)");
        _ControlToEdit.onpaste = "return doPaste";
        _EditToolsDiv.style.display = "";
        _EditToolsDiv.style.top = y  - _EditToolsDiv.offsetHeight + 'px';
        
        _EditToolsDiv.style.left = x + _ControlToEdit.offsetWidth - _EditToolsDiv.offsetWidth  + 'px';
        _OrigonalHTML = _ControlToEdit.innerHTML;
        
        _editMode = true;
        return false;
    
//        checkBrowser();
//        if (firefox)
//            return true;
//            
//        if (_EditToolsDiv == null)
//            _EditToolsDiv = document.getElementById('SimpleHTMLEditorControls');    
//    
//        if (_ControlToEdit != null)
//            EditCancel();
//    
//        _ControlToEdit = document.getElementById(controlName);
//        _ModuleID = ModuleID;        
//        
//        var x = getXPos(_ControlToEdit);
//        var y = findPosY(_ControlToEdit);
//        _ControlToEdit.contentEditable = "true";

//        _ControlToEdit.onmousedown = new Function("setSelectedCell(this)");
//        _ControlToEdit.onpaste = "return doPaste";
//        _EditToolsDiv.style.display = "";
//        _EditToolsDiv.style.top = y  - _EditToolsDiv.offsetHeight + 'px';
//        
//        _EditToolsDiv.style.left = x + _ControlToEdit.offsetWidth - _EditToolsDiv.offsetWidth  + 'px';
//        _OrigonalHTML = _ControlToEdit.innerHTML;
//        return false;
    }
    
    function EditCancel()
    {
        _ControlToEdit.innerHTML = _OrigonalHTML;
        _ControlToEdit.contentEditable = "false";
       
        _ControlToEdit.onmousedown  = null;
        _ControlToEdit.onpaste  = null;
       
        _EditToolsDiv.style.display = "none";
       
        return false;
    }
    
    function EditSave()
    {
        if (_OrigonalHTML != _ControlToEdit.innerHTML)
            UpdateHTML();
    
       _OrigonalHTML = _ControlToEdit.innerHTML;
       _ControlToEdit.contentEditable = "false";
       
       _EditToolsDiv.style.display = "none";
              
       return false;
    }

function stopError() {
	return true;
}

function ResetHTML(version)
{
    switch(version)
    {
        case '0':
            _ControlToEdit.innerHTML = _OrigonalHTML;
        break;
    
        case '1':
            RequestHTMLVersion(1);
        break;
        
        case '2':
            RequestHTMLVersion(2);
        break;
    }
}


var selectedCell = null;
//window.onerror = stopError;

var firefox = false;
function checkBrowser(/*styleSheetLink*/)
{
	/* check for firefox */
	if (!(document.all && document.compatMode))
	{
		firefox = true;
		//document.getElementById("editIframe").style.display = "";
		//document.getElementById("editIframe").contentDocument.designMode="on";
		//document.getElementById("editIframe").contentWindow.document.write("<html><head>" + styleSheetLink + "</head><body>"+document.getElementById("editDiv").innerHTML+"</body></html>");
		//document.getElementById("editDiv").style.display = "none";
	}
	else
	{
		//document.getElementById("editDiv").style.display = "";
	}
}

function setMode(newMode) {
	bTextMode = newMode;
	
	var cont;
	if (bTextMode) {
		cont=document.getElementById("editDiv").innerHTML;
		document.getElementById("editDiv").innerText=cont;
	} else {
		cont=document.getElementById("editDiv").innerText;
		document.getElementById("editDiv").innerHTML=cont;
	}
		
	editDiv.focus();
}

function doPaste(){					
	clipBrd = new String(window.clipboardData.getData("Text"));			
	oTextRange = document.selection.createRange();
	oTextRange.text = clipBrd.toString().replace(/(<){1}(!--){1}(\s|.)*(--){1}(>){1}/g,"");
	return false;
}

function setSelectedCell(){
	selectedCell=_ControlToEdit;
}

function swopImg(oImg,Object){
	sSrc = Object.src;
	if(sSrc.substring(sSrc.length-5, sSrc.length-4) == "u"){
		Object.src = sSrc.replace("u.gif", "o.gif");
	}
	else{
		Object.src = sSrc.replace("o.gif", "u.gif");
	}
}
	
function formatDiv(command){
	if (selectedCell==null || document.selection.type=="None"){
		if (firefox)
			document.getElementById("editIframe").contentWindow.document.execCommand(command, false, null);
	}
	else
	{
		selectedCell.focus;
		oTextRange = document.selection.createRange();
		oTextRange.execCommand(command);
	}
}

function RemoveHeader() {
	
}



function doColor(sColor){
	selectedCell.focus;
	oTextRange = document.selection.createRange();
	oTextRange.execCommand('foreColor', false, sColor);
}

function validate(){
	if (document.getElementById("switchMode").checked) {
		setMode(false);
		document.getElementById("switchMode").checked = false;
	}
	
	if (firefox)
		document.getElementById(_tickerText).value = document.getElementById("editIframe").contentWindow.document.body.innerHTML;
	else
		document.getElementById(_tickerText).value = document.getElementById("editDiv").innerHTML;
	
	return true;
}
	
function SelectImage() {
	var screenW = screen.width;                                
	var screenH = screen.height - 20;
	
	if (selectedCell != null || firefox)
		window.open('/admin/MediaLibrary/MediaLibrary.aspx','Medialibrary','width=850,height=660,left=posX,top=posY');
	else
		window.alert('Please select where you would like to insert the Image first.');

	return;    		
}

function InsertImage(newimage, friendlyname) {
	var HTMLToInsert = '<img src=\'' + newimage + '\' alt=\'' + friendlyname + '\' >';
	
	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand(
			'inserthtml', 
			false, 
			HTMLToInsert);
	}
	else
	{
		selectedCell.focus();
		var sel = document.selection.createRange();
		sel.pasteHTML(HTMLToInsert);
	}
}

function InsertImageLink(newimage,altText,url,target) {
	var HTMLToInsert = '<a href=\'' + url 
						+ '\' target=\'' + target 
						+'\'><img src=\'' + newimage + '\' alt=\''+ altText  + '\' border=0 ></a>';
	
	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand(
			'inserthtml', 
			false, 
			HTMLToInsert);
	}
	else
	{
		selectedCell.focus();
		var sel = document.selection.createRange();
		sel.pasteHTML(HTMLToInsert);
	}
}

function InsertImageToOpenInJSPopup(thumbnailImage,friendlyname,imageToShow) {
	var HTMLToInsert = '<div class=simpleHTMLImage id="10" ><A class=\"thickbox\" title=\"' + friendlyname +'\" href=\"' + imageToShow +'\"><IMG alt=\"' + friendlyname + '\" src=\"' + thumbnailImage +'\"></A></div>';
	
	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand(
			'inserthtml', 
			false, 
			HTMLToInsert);
	}
	else
	{
		selectedCell.focus();
		var sel = document.selection.createRange();
		sel.pasteHTML(HTMLToInsert);
	}
}

function InsertDownloadLink(Href,strText,target) {
	selectedCell.focus();
	var sel = document.selection.createRange();
	sel.pasteHTML('<a href=\'' + Href + '\' Target=\'' + target + '\' >' + strText + '</a>');
}

function InsertDownloadLinkUsingThumbnailImage(Href,ImageURL,ImageAltText,target) {
	selectedCell.focus();
	var sel = document.selection.createRange();
	sel.pasteHTML('<div class=simpleHTMLImage id="10" ><a href=' + Href + ' Target=\'' + target + '\'><img src=' + ImageURL + ' alt=' + ImageAltText + ' ></a></div>');
}

function InsertLinkold() {
	selectedCell.focus();
	var sel = document.selection.createRange();
	var strHref,strTarget,strTitle = new String;
	

	
	alert(sel.htmlText);

	//text or text link was selected
	if (sel.text != '') { 
		aLink = document.createElement(sel.htmlText);
		if (aLink.href != null) {
			strHref = aLink.href;
		}else {strHref = '';}
		if (aLink.target != null) {
			strTarget = aLink.target;
		}else {strTarget = ''}
		strTitle = sel.text;
	}//only image without div was selected
	else if (sel.htmlText != '' && document.createElement(sel.htmlText).src != null) 
	{
		
		strHref = '';
		strTarget = '';
		strTitle = sel.htmlText;
	}//href around image was selected
	else if (sel.htmlText != '' && (document.createElement(sel.htmlText).href != null || document.createElement(sel.htmlText).target != null))
	{
		aLink = document.createElement(sel.htmlText);
		if (aLink.href != null) {
			strHref = aLink.href;
		}else {strHref = '';}
		if (aLink.target != null) {
			strTarget = aLink.target;
		}else {strTarget = ''}
		strTitle = sel.htmlText;
		strTitle = strTitle.substring(strTitle.indexOf("<IMG",0),strTitle.indexOf("</A>",0));
	}//image with div was selected
	else if (sel.htmlText.toLowerCase().indexOf("</div>",0) > -1)
	{
		alert(sel.htmlText);
		var strTest = new String;
		strTest = sel.htmlText;
		strTest = strTest.substring(strTest.toLowerCase().indexOf("<img",0),strTest.toLowerCase().indexOf("</div>",0)); 
		strHref = '';
		strTarget = '';
		strTitle = strTest;
	}//nothing was selected, new link to be inserted
	else
	{
		strHref = '';strTarget = '';strTitle = '';
	}
	
	//alert(strHref);	
	//alert(strTarget);	
	//alert(strTitle);	
	
	var myObject = new Object();
	myObject.theHref = strHref;
	myObject.theTarget = strTarget;
	myObject.theTitle = strTitle;
	
	var LinkTarget = window.showModalDialog("../../../Includes/InsertLink.html",myObject, "font-family:Arial;font-size:10;dialogWidth:35em;dialogHeight:25em");
	
	selectedCell.focus();
	var sel2 = document.selection.createRange();
	sel2.pasteHTML('<a href=' + LinkTarget.split(',')[1] + ' target=' + LinkTarget.split(',')[2] + '>' + LinkTarget.split(',')[0] + '</a>')
}

function DoInsertLinkFromMap(name,url,target) 
{
	if(selectedCell == null)
		setSelectedCell(document.getElementById("editDiv"));
		
	selectedCell.focus();
	var sel = document.selection.createRange();
	sel.pasteHTML("<a href=\"" + url + "\" target=\"" + target + "\">" + name + "</a>");

}

function InsertHR(size) {
	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand('inserthtml', false, '<HR>');
	}
	else
	{
		if (size != -1) {
			
			selectedCell.focus();
			var sel = document.selection.createRange();
				if (size != 0) {
					sel.pasteHTML('<HR>');
				}else{
					if (selectedCell==null || document.selection.type=="None"){
					}else{
						selectedCell.focus;
						oTextRange = document.selection.createRange();
						oTextRange.execCommand('formatBlock',"",'Normal');
					}
				}
		}
	}
}

function RollBackContent(dd)
{
	if (firefox)
		document.getElementById("editIframe").contentWindow.document.body.innerHTML = document.getElementById(dd.options[dd.selectedIndex].value).value; 
	else
		document.getElementById("editDiv").innerHTML = document.getElementById(dd.options[dd.selectedIndex].value).value; 
}

function InsertHeader(size) {
	if (firefox)
	{
		if (size > 0)
			document.getElementById("editIframe").contentWindow.document.execCommand('heading', false, '<h'+size+'>');
	
		if (size == 0)
			document.getElementById("editIframe").contentWindow.document.execCommand('formatblock', false, 'Normal');
	}
	else
	{
		if (size != -1) {
			selectedCell.focus();
			var sel = document.selection.createRange();
			if (sel.text != '') {
				if (size != 0) {
					sel.pasteHTML('<h' + size + '>' + sel.text + '</h' + size + '>');
				}else{
					if (selectedCell==null || document.selection.type=="None"){
					}else{
						selectedCell.focus;
						oTextRange = document.selection.createRange();
						oTextRange.execCommand('formatBlock',"",'Normal');
					}
				}
			}
		}
	}
	
	document.getElementById("ddHeaders").selectedIndex = 0;
}	

function InsertClass(size) {

	if (size != -1) {
		selectedCell.focus();
		var sel = document.selection.createRange();
		if (sel.text != '') {
			if (size != 0) {
				sel.pasteHTML('<span class="' + size + '">' + sel.text + '</span>');
			}else{
				if (selectedCell==null || document.selection.type=="None"){
				}else{
					selectedCell.focus;
					oTextRange = document.selection.createRange();
					oTextRange.execCommand('formatBlock',"",'Normal');
				}
			}
		}
	}
	document.getElementById("ddClass").selectedIndex = 0;
}
function InsertTemplate(indexNo) {
	var arrayOfTemplates = document.getElementById('template_values').childNodes;
	
	// Need to cator for the template Row.
	if (indexNo != 0)
	{
	    indexNo -= 1;
    	
	    if(selectedCell == null)
		    setSelectedCell(document.getElementById("editDiv"));
    		
	    selectedCell.focus();
	    var sel = document.selection.createRange();
	    sel.pasteHTML(arrayOfTemplates[indexNo].innerHTML);
	    document.getElementById("ddTemplate").selectedIndex = 0;
    }
	
	/*
	if(selectedCell == null)
		setSelectedCell(document.getElementById("editDiv"));
		
	selectedCell.focus();
	var sel = document.selection.createRange();
	sel.pasteHTML(size);
	document.getElementById("ddTemplate").selectedIndex = 0;*/
}

function InsertParagraph(size) {
	if (size != -1) {
		selectedCell.focus();
		var sel = document.selection.createRange();
		if (sel.text != '') {
			if (size != 0) {
				sel.pasteHTML('<p class="' + size + '">' + sel.text + '</p>');
			}else{
				if (selectedCell==null || document.selection.type=="None"){
				}else{
					selectedCell.focus;
					oTextRange = document.selection.createRange();
					oTextRange.execCommand('formatBlock',"",'Normal');
				}
			}
		}
	}
	document.getElementById("ddParagraph").selectedIndex = 0;
}

function InsertList(size) {
	if (size != -1) {
		selectedCell.focus();
		var sel = document.selection.createRange();
		if (sel.text != '') {
			if (size != 0) {
				sel.pasteHTML('<ul class="' + size + '"><li>' + sel.text + '</li></ul>');
			}else{
				if (selectedCell==null || document.selection.type=="None"){
				}else{
					selectedCell.focus;
					oTextRange = document.selection.createRange();
					oTextRange.execCommand('formatBlock',"",'Normal');
				}
			}
		}
	}
	document.getElementById("ddLists").selectedIndex = 0;
}

function InsertNumberedList() {
	if (size != -1) {
		selectedCell.focus();
		var sel = document.selection.createRange();
		if (sel.text != '') {
			if (size != 0) {
				sel.pasteHTML('<ol class="' + size + '"><li>' + sel.text + '</li></ol>');
			}else{
				if (selectedCell==null || document.selection.type=="None"){
				}else{
					selectedCell.focus;
					oTextRange = document.selection.createRange();
					oTextRange.execCommand('formatBlock',"",'Normal');
				}
			}
		}
	}
	document.getElementById("ddNumberedLists").selectedIndex = 0;
}

function InsertUnorderdList()
{
	if (firefox)
	{
		formatDiv('InsertUnorderedList')
	}
	else
	{
		var sel = document.selection.createRange();
	
		if (sel.text != ''){
			formatDiv('InsertUnorderedList');
			
			var listItemRegex = new RegExp("<li>","i");
			
			
			
			if (sel.htmlText.search(listItemRegex) >= 0)
				sel.parentElement().className = "plainlist";
				
		}
	}
}

var SelectedImage;

function AlignImage(alignDirection)
{
    if(document.selection.type == "Control")
    {
	    var sel = document.selection.createRange();
	
	    sel(0).align = alignDirection;
	    sel(0).className = sel(0).className.replace(' align_image_left','');
	    sel(0).className = sel(0).className.replace(' align_image_right','');
	    
	    if (alignDirection != '')
	        sel(0).className += ' align_image_' + alignDirection;
    }
    else
    {
        window.alert('Please select the image to Align.');
    }
}

function InsertFlash(FilePath,Width,Height)
{
	var HTMLtoInsert = '<DIV class=\"flashcontent\"'
						+ ' style=\"width:' + Width + '; height:' + Height + ';\"'
						+ ' id=\"' + FilePath + '\">\n'
						+ '   HTML Content If Flash is not supported.\n'
						+ '</DIV> '

	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand(
			'inserthtml', 
			false, 
			HTMLtoInsert);
	}
	else
	{
		selectedCell.focus();
		var sel = document.selection.createRange();
		sel.pasteHTML(HTMLtoInsert);
	}
}

function InsertVideo(FilePath,Width,Height,videoType)
{
	/*var HTMLtoInsert = "<object type=\"video/x-ms-wmv\" "
                      + "data=\"" + FilePath + "\" " 
                      + "width=\"" + Width + "\" height=\"" + Height + "\"> "
                      + "<param name=\"src\" " 
                      + " value=\"" + FilePath + "\" /> "
                      + "<param name=\"autostart\" value=\"true\" />"
                      + "<param name=\"controller\" value=\"true\" />"
                      + "</object>";*/
                      
    	var HTMLtoInsert = '<DIV class=\"' + videoType + '\"'
						+ ' style=\"width:' + Width + '; height:' + Height + ';\"'
						+ ' id=\"' + FilePath + '\">\n'
						+ '   &nbsp;\n'
						+ '</DIV> '

	if (firefox)
	{
		document.getElementById("editIframe").contentWindow.document.execCommand(
			'inserthtml', 
			false, 
			HTMLtoInsert);
	}
	else
	{
		selectedCell.focus();
		var sel = document.selection.createRange();
		sel.pasteHTML(HTMLtoInsert);
	}
}

function SetEditStatus()
{
	if(document.selection.type == "Text")
	{
		document.getElementById('imageJustLeft').src = "/Images/SimpleHtmlEditor/bt_wrapleft_disabled.gif";
		document.getElementById('imageJustNone').src = "/Images/SimpleHtmlEditor/bt_wrapnone_disabled.gif";
		document.getElementById('imageJustRight').src = "/Images/SimpleHtmlEditor/bt_wrapright_disabled.gif";
		
		document.getElementById('imageJustLeft').onmouseover    = new Function("");
		document.getElementById('imageJustNone').onmouseover    = new Function("");
		document.getElementById('imageJustRight').onmouseover   = new Function("");
		
		document.getElementById('imageJustLeft').onmouseout     = new Function("");
		document.getElementById('imageJustNone').onmouseout     = new Function("");
		document.getElementById('imageJustRight').onmouseout    = new Function("");
	}
	else if(document.selection.type == "Control")
	{
		document.getElementById('imageJustLeft').src = "/Images/SimpleHtmlEditor/bt_wrapleft.gif";
		document.getElementById('imageJustNone').src = "/Images/SimpleHtmlEditor/bt_wrapnone.gif";
		document.getElementById('imageJustRight').src = "/Images/SimpleHtmlEditor/bt_wrapright.gif";
		
		document.getElementById('imageJustLeft').onmouseover  = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapleft_on.gif';");
		document.getElementById('imageJustNone').onmouseover  = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapnone_on.gif';");
		document.getElementById('imageJustRight').onmouseover = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapright_on.gif';");
		
		document.getElementById('imageJustLeft').onmouseout  = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapleft.gif';");
		document.getElementById('imageJustNone').onmouseout  = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapnone.gif';");
		document.getElementById('imageJustRight').onmouseout = new Function("this.src = '/Images/SimpleHtmlEditor/bt_wrapright.gif';");					
		
		document.getElementById('imageJustLeft').onclick = new Function();
		
		LoadFormElementValues();
	}
}

function SetImageStatus()
{
	document.getElementById('imageJustLeft').style.display = "";
	document.getElementById('imageJustNone').style.display = "";
	document.getElementById('imageJustRight').style.display = "";
}

function ShowInsertLinkDialog(IFID)
{
	var strHref		= '',
		strTarget	= '',
		strTitle	= '';
		
	if (firefox)
	{
	}
	// If IE and a link is selcted load the link details.
	else if (selectedCell != null)
	{
	    selectedCell.focus();
	    _HTMLToEditSelection = document.selection.createRange();
	    
        if(document.selection.type == "Control")
        {
        window.alert('con');
            _SelectedHTMLObject = _HTMLToEditSelection(0);
            
            var aLink = FindParentLink(_SelectedHTMLObject)
            
            if (aLink != null)
            {
                strHref   = aLink.href;
                strTarget = aLink.target;
                
                if (strTitle  == '')
                    strTitle = aLink.innerText;
                    
                if (strTitle  == '')
                    strTitle = aLink.title;                    
            }
            else if (_SelectedHTMLObject.nodeName == 'IMAGE' || _SelectedHTMLObject.nodeName == 'IMG')
                strTitle = _SelectedHTMLObject.alt;
            
            
        }
        else
        {
                _SelectedHTMLObject = null;
            
	            var aLink = null;//FindParentLink(_HTMLToEditSelection.parentElement());
	            
	            if (aLink == null && _HTMLToEditSelection.htmlText != null  && _HTMLToEditSelection.htmlText != "")
	            {
		            aLink = document.createElement(_HTMLToEditSelection.htmlText);
                }
		        else
		        {
		            aLink = document.createElement("A");
                }
		            
		        if (aLink.href != null)
			        strHref = aLink.href;
		        else 
			        strHref = '';
    			
		        if (aLink.target != null) 
			        strTarget = aLink.target;
		        else 
			        strTarget = ''
			        
	            if (aLink.innerText != null && aLink.innerText != '') 
			        strTitle = aLink.innerText;
		        else 
			        strTitle = _HTMLToEditSelection.text
	    }
       
	}
	
	var url =	'/Includes/SupportPages/SimpleHTMLEditor_InsertLink.aspx?LinkTitle=' + strTitle 
				+ '&LinkTarget=' + strTarget 
				+ '&LinkHref=' + strHref
				+ '&IFID=' + IFID
				+ '&opener=iframe'
				+ "&TS=" + new Date();
				
    showPopup(550,180,url);
}

function FindParentLink(baseElement)
{
    while(baseElement != null)
    {
        if (baseElement.nodeName == 'A')
            return baseElement;
        else
            baseElement = baseElement.parentNode; 
    }
}

function InsertLink(link,target,title) {
    if (firefox)
	{
		var s = new String;
		var strhref = '<a href=\'' + link + '\' target=\'' + target + '\'>' + title + '</a>';
		document.getElementById("editIframe").contentWindow.document.execCommand('inserthtml', false, String(strhref));
	}
	else
	{
	    if (_SelectedHTMLObject == null)
	    {
			var linkElement = FindParentLink(_HTMLToEditSelection.parentElement());
			    
            if (linkElement != null)
		    {
		        linkElement.href        = link;
		        linkElement.target      = target;
                linkElement.innerText   = title;
		    }
            else
            {
                _HTMLToEditSelection.pasteHTML('<a href=' + link + ' target=' + target + '>' + title + '</a>');
            }			    
		}
		else
		{
		    var linkElement = FindParentLink(_SelectedHTMLObject);
			    
            if (linkElement == null)
            {
                window.alert(_SelectedHTMLObject.nodeName);
            
                if (_SelectedHTMLObject.nodeName == 'IMAGE' || _SelectedHTMLObject.nodeName == 'IMG')
		        {
                    var NewLink			= document.createElement("a");
                    
                    NewLink.href    = link;
		            NewLink.target  = target;
		            NewLink.title   = title;
		            
		            _SelectedHTMLObject.parentNode.insertBefore(NewLink,_SelectedHTMLObject);
		            NewLink.appendChild(_SelectedHTMLObject);
		        }
            }
            else
		    {
		        linkElement.href    = link;
		        linkElement.target  = target;
		        linkElement.title   = title;

		        if (_SelectedHTMLObject.nodeName == 'IMAGE' || _SelectedHTMLObject.nodeName == 'IMG')
		            _SelectedHTMLObject.alt = title;
                    
                _SelectedHTMLObject.parentNode.appendChild(_SelectedHTMLObject);
		    }
		}
    }
}

function AJAXResponse_UpdateHTML()
{
	if (ajaxIsRequestGood(RequestObj))
	{
		var response = 	RequestObj.responseText;
		var responseDetails = response.split('\n');
		
	}
}


function UpdateHTML()
{
    var UpdateIFrame = findIFrame();
    
    if (UpdateIFrame != null)
        UpdateIFrame.document.getElementById('HTMLUpdate').value = _ControlToEdit.innerHTML;
        
    var IForm = UpdateIFrame.document.forms[0];
    if (!IForm) {
        IForm = UpdateIFrame.document.Form1;
    }

        IForm.submit();
//    var i = 0;
//    
//    var addedItem = false;
//    
//    var data  = "moduleID=" + escape(_ModuleID) + "&"
//              + "command=" + escape('updatehtml') + "&" 
//              + "data=" + escape(_ControlToEdit.innerHTML).replace(/\+/g,'%2b');
//              
//              //* @ - _ + . /   these are chars that are not escaped.
//              //replace(/\xA3/g,'&pound;')).
//    
//    RequestObj = ajaxInitializeRequestObject();
//	RequestObj.onreadystatechange = AJAXResponse_UpdateHTML;
//	RequestObj.encoding

//    RequestObj.open('POST','/PageModules/HTMLContent/SimpleHtmlAjaxHandler.aspx',true);
//    
//    RequestObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//    RequestObj.setRequestHeader("Content-length", data.length);

//	RequestObj.send(data);
}

function AJAXResponse_RequestHTMLVersion()
{
	if (ajaxIsRequestGood(RequestObj))
	{
		var response = 	RequestObj.responseText;
		
		_ControlToEdit.innerHTML = response;	
	}
}

function RequestHTMLVersion(verion)
{
    var i = 0;
    
    var addedItem = false;
    
     var data  = "moduleID=" + escape(_ModuleID) + "&"
              + "command=" + escape('requesthtmlversion') + "&" 
              + "data=" + verion;
   
    RequestObj = ajaxInitializeRequestObject();
	RequestObj.onreadystatechange = AJAXResponse_RequestHTMLVersion;

    RequestObj.open('POST','/PageModules/HTMLContent/SimpleHtmlAjaxHandler.aspx',true);
    
    RequestObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    RequestObj.setRequestHeader("Content-length", data.length);

	RequestObj.send( data );
}

function ViewScource()
{
    var url =	'/PageModules/HTMLContent/ViewScource.htm'+ "?TS=" + new Date();
				
    showPopup(580,470,url);
    
    return false;
}

// New Call color dialogue!
function callColorDlg(){
    var url = "/PageModules/HTMLContent/colorPicker.htm" + "?TS=" + new Date();
				
    showPopup(230,210,url);
}


// Inline Editor Control Functions

function ShowEditorSection()
{
    document.getElementById('SimpleHtmlEditor_HTMLEditor').style.display = '';
    document.getElementById('SimpleHtmlEditor_FormTools').style.display = 'none';
    
}

function ShowFormSection()
{
    document.getElementById('SimpleHtmlEditor_HTMLEditor').style.display = 'none';
    document.getElementById('SimpleHtmlEditor_FormTools').style.display = '';
}


// Form Functions
var _FormInsertElementMode      = 'none';

function GetTitleForObject()
{
    var parent = _SelectedHTMLObject.parentNode;
    var child = parent.firstChild;
    
    while (child != null)
    {
        if (child.className == 'FormElementTitle')
        {
            return child.innerText;
        }
    
        child = child.nextSibling;
    }
    
    return "";
}

function SetTitleForObject()
{
    var parent = _SelectedHTMLObject.parentNode;
    var child = parent.firstChild;
    
    while (child != null)
    {
        if (child.className == 'FormElementTitle')
        {
            child.innerText = document.getElementById('FormElementTitle').value;
            return true;    
        }
    
        child = child.nextSibling;
    }
    
    return false;
}

function LoadFormElementValues()
{
    //window.alert(document.selection.createRange()(0).nodeName);

    if(document.selection.createRange()(0).nodeName == 'INPUT')
    {
	    _HTMLToEditSelection = document.selection.createRange();
	
	    _SelectedHTMLObject = _HTMLToEditSelection(0);
	    
	    document.getElementById('FormElementName').value    = _SelectedHTMLObject.name;
	    document.getElementById('FormElementValue').value   = _SelectedHTMLObject.value;
	    document.getElementById('FormElementAlt').value     = _SelectedHTMLObject.alt;
	    
        document.getElementById('FormElementTitle').value   = GetTitleForObject();
        
        _FormInsertElementMode = _SelectedHTMLObject.type;
    }
}

function SetupInsertTextbox()
{
    _FormInsertElementMode = 'text';
}

function SetupInsertCheckBox()
{
    _FormInsertElementMode = 'checkbox';
}

function SetupInsertButton()
{
    _FormInsertElementMode = 'checkbox';
}

function SetupInsertDropDown()
{
    _FormInsertElementMode = 'select';
    
    document.getElementById('FormElementButtons_Cancel').style.display = '';
    document.getElementById('FormElementButtons_Insert').style.display = 'none';
    document.getElementById('FormElementButtons_PrevSection').style.display = 'none';
    document.getElementById('FormElementButtons_NextSectoin').style.display = '';

}

function showFormElementDropDownSection()
{
    document.getElementById('FormElementDetails').style.display = 'none';
    document.getElementById('FormElementDropDownDetails').style.display = '';
    
    document.getElementById('FormElementButtons_Cancel').style.display = 'none';
    document.getElementById('FormElementButtons_PrevSection').style.display = '';
    
    return false;
}

function hideFormElementDropDownSection()
{
    document.getElementById('FormElementDetails').style.display = '';
    document.getElementById('FormElementDropDownDetails').style.display = 'none';
    
    document.getElementById('FormElementButtons_Cancel').style.display = '';
    document.getElementById('FormElementButtons_PrevSection').style.display = 'none';
    
    return false;
}

function InsertFormElement()
{
    if(document.selection.type != "button")
    {
        _SelectedHTMLObject = null;
    }
    
    selectedCell.focus();
    _HTMLToEditSelection = document.selection.createRange()

    switch(_FormInsertElementMode)
    {
        case 'text':
            InsertTextBox();
        break;
        
        case 'checkbox':
            InsertCheckBox();
        break;
        
        case 'button':
            InsertButton();
        break;
    }
    
    return false;
}

function InsertTextBox()
{
    if(_SelectedHTMLObject != null)
    {
        _SelectedHTMLObject.name     = document.getElementById('FormElementName').value;
        _SelectedHTMLObject.value    = document.getElementById('FormElementValue').value;
        _SelectedHTMLObject.alt      = document.getElementById('FormElementAlt').value;
    
    
        if (SetTitleForObject() == false)
        {
            if (_SelectedHTMLObject.parent.className == 'FormElement')
            {
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
            
               _SelectedHTMLObject.parent.insertBefore(titleSpan, _SelectedHTMLObject);
            }
            else
            {
                var parent = document.createElement("div");
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
                
                _SelectedHTMLObject.parent.insertBefore(parent, _SelectedHTMLObject);
                parent.appendChild(titleSpan);
                parent.appendChild(_SelectedHTMLObject);
            }
        }
    }
	else
	{	
	    var html = '<div class="FormElement"><span class="FormElementTitle">' + document.getElementById('FormElementTitle').value
	             + '</span><input type="text" name="' + document.getElementById('FormElementName').value + '" '
	             + 'value="' + document.getElementById('FormElementValue').value + '" '
                 + 'alt="'   + document.getElementById('FormElementAlt').value + '" /></div>';
	    
	    _HTMLToEditSelection.pasteHTML(html);
    }
}

function InsertCheckBox()
{
    if(_SelectedHTMLObject != null)
    {
        _SelectedHTMLObject.name     = document.getElementById('FormElementName').value;
        _SelectedHTMLObject.value    = document.getElementById('FormElementValue').value;
        _SelectedHTMLObject.alt      = document.getElementById('FormElementAlt').value;
    
    
        if (SetTitleForObject() == false)
        {
            if (_SelectedHTMLObject.parent.className == 'FormElement')
            {
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
            
               _SelectedHTMLObject.parent.insertBefore(titleSpan, _SelectedHTMLObject);
            }
            else
            {
                var parent = document.createElement("div");
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
                
                _SelectedHTMLObject.parent.insertBefore(parent, _SelectedHTMLObject);
                parent.appendChild(titleSpan);
                parent.appendChild(_SelectedHTMLObject);
            }
        }
    }
	else
	{	
	    var html = '<div class="FormElement"><span class="FormElementTitle">' + document.getElementById('FormElementTitle').value
	             + '</span><input type="checkbox" name="' + document.getElementById('FormElementName').value + '" '
	             + 'value="' + document.getElementById('FormElementValue').value + '" '
                 + 'alt="'   + document.getElementById('FormElementAlt').value + '" /></div>';
	    
	    _HTMLToEditSelection.pasteHTML(html);
    }
}

function InsertButton()
{
    if(_SelectedHTMLObject != null)
    {
        _SelectedHTMLObject.name     = document.getElementById('FormElementName').value;
        _SelectedHTMLObject.value    = document.getElementById('FormElementValue').value;
        _SelectedHTMLObject.alt      = document.getElementById('FormElementAlt').value;
    
    
        if (SetTitleForObject() == false)
        {
            if (_SelectedHTMLObject.parent.className == 'FormElement')
            {
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
            
               _SelectedHTMLObject.parent.insertBefore(titleSpan, _SelectedHTMLObject);
            }
            else
            {
                var parent = document.createElement("div");
                var titleSpan = document.createElement("span");
                    
                titleSpan.className = 'FormElementTitle';
                titleSpan.innerText = document.getElementById('FormElementTitle').value;
                
                _SelectedHTMLObject.parent.insertBefore(parent, _SelectedHTMLObject);
                parent.appendChild(titleSpan);
                parent.appendChild(_SelectedHTMLObject);
            }
        }
    }
	else
	{	
	    var html = '<div class="FormElement"><span class="FormElementTitle">' + document.getElementById('FormElementTitle').value
	             + '</span><input type="checkbox" name="' + document.getElementById('FormElementName').value + '" '
	             + 'value="' + document.getElementById('FormElementValue').value + '" '
                 + 'alt="'   + document.getElementById('FormElementAlt').value + '" /></div>';
	    
	    _HTMLToEditSelection.pasteHTML(html);
    }
}


