var wyswygupdate = "" ;

function HandleEnterPress(e, sender, target)
{
	var iKeyCode;
	if (!e) var e = window.event;
	if (e.keyCode) iKeyCode = e.keyCode;
	else if (e.which) iKeyCode = e.which;

	if (iKeyCode == 13)
	{
		target.click();
		return false;
	}
	
	return true;
	
}
function cupid_SmartScroller_GetCoords()
{
    var scrollX, scrollY;
    
    if (document.all)
    {
        if (!document.documentElement.scrollLeft)
        scrollX = document.body.scrollLeft;
        else
        scrollX = document.documentElement.scrollLeft;
            
        if (!document.documentElement.scrollTop)
        scrollY = document.body.scrollTop;
        else
        scrollY = document.documentElement.scrollTop;
    }   
    else
    {
        scrollX = window.pageXOffset;
        scrollY = window.pageYOffset;
    }

    document.forms[1].xCoordHolder.value = scrollX;
    document.forms[1].yCoordHolder.value = scrollY;
}

function cupid_SmartScroller_Scroll()
{
    var scrollX = document.forms[1].xCoordHolder.value;
    var scrollY = document.forms[1].yCoordHolder.value;
    window.scrollTo(scrollX, scrollY);
}

window.onload = cupid_SmartScroller_Scroll;
window.onscroll = cupid_SmartScroller_GetCoords;
window.onkeypress = cupid_SmartScroller_GetCoords;
window.onclick = cupid_SmartScroller_GetCoords;

// WYSIWYG CODE

function onContentPaste()
{
	var frame=this;
	frame.focus();
	//alert(frame.document.body.innerHTML);
	setTimeout("cleanContent()", 50 );
}

function cleanContent()
{
	/*alert(frameId);
	var frame=eval(frameId);
	alert(frame);
	frame.focus();
	///var format=eval( frame.id+'_Format' );
	var frameWindow = document.frames[frame.id];
  var cont = frameWindow.document.body.innerHTML;*/
  
  // get rid of xml headers
  
  var frameWindow = currentFrame;
  var cont = frameWindow.document.body.innerHTML;
  // alert("here");
  cont = cont.replace((new RegExp("<\\?xml[^>]*>","ig")),"");
  
  // get rid of namespaced tags
  cont = cont.replace((new RegExp("<\/?[a-z]+:[^>]*>","ig")),"");
  
  // get rid of style attributes
  cont = cont.replace((new RegExp("(<[^>]+) style=\"[^\"]*\"([^>]*>)","ig")),"$1 $2");
  cont = cont.replace((new RegExp("(<[^>]+) class=[^ |^>]*([^>]*>)","ig")),"$1 $2");
  
  // get rid of spans
  cont = cont.replace((new RegExp("<span[^>]*>","ig")),"");
  cont = cont.replace((new RegExp("<\/span>","ig")),"");
  
  // get rid of divs
  cont = cont.replace((new RegExp("<div[^>]*>","ig")),"");
  cont = cont.replace((new RegExp("<\/div>","ig")),"");
  
  // get rid of insertions
  cont = cont.replace((new RegExp("<ins[^>]*>","ig")),"");
  cont = cont.replace((new RegExp("<\/ins>","ig")),"");
  
  // get rid of dels, including inner text
  cont = cont.replace((new RegExp("<del(?:.|\s)*?</del>","ig")),"");
  
  // get rid of comment links, including inner text, and footer comments
  cont = cont.replace((new RegExp("<a language=javascript(?:.|\s)*?</a>","ig")),"");
  cont = cont.replace((new RegExp("<hr align=left width=\"33%\" size=1>","ig")),"");
  
  
  // get rid of font tags
  cont = cont.replace((new RegExp("<font[^>]*>","ig")),"");
  cont = cont.replace((new RegExp("<\/font>","ig")),"");
  
  // get rid of empty paras
  cont = cont.replace((new RegExp("<p[^>]*>&nbsp;<\/p>","ig")),"");
  cont = cont.replace("·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;","&middot;");
  cont = cont.replace("‘","'");
  cont = cont.replace("’","'");
  cont = cont.replace("&nbsp;"," ");

  frameWindow.document.body.innerHTML=cont;
}

function onBlur( frame, controlId )
{
	var control=eval( 'document.all.'+controlId);
	var doc=frame.document;
	var cont=doc.body.innerHTML;
	cont = cont.replace((new RegExp("<p[^>]*>&nbsp;<\/p>","ig")),"");
	cont = cont.replace((new RegExp("<p[^>]*><\/p>","ig")),"");
	doc.body.innerHTML=cont;
	control.value=cont;
} 

function onLoadReadOnly( frame, controlId )
{
	var doc=frame.document;
	var control=eval( 'document.all.'+controlId);
	doc.createStyleSheet('../css/default.css');
	doc.body.className='wysiwyg';
	doc.body.style.margin='2px';
	var value=control.value;
	if (value=='') value='<p></p>';
	value=value.replace('src="/','src=');
	doc.body.innerHTML=value;
} 

function onLoadWriteable( frame, controlId )
{
	var doc=frame.document;
	var control=eval( 'document.all.'+controlId);
	doc.createStyleSheet('../css/default.css');
	doc.body.className='wysiwyg';
	doc.body.style.margin='2px';
	doc.body.contentEditable=true;
	//alert(controlId);
	if (control != null)
	{
		var value=control.value;
		if (value=='') value='<p></p>';

		value=value.replace('src="/','src=');
		value=value.replace('<IMG ', '<img onresizestart="return false" ');
		value=value.replace('<img ', '<img onresizestart="return false" ');
		doc.body.innerHTML=value;
	}
	else
	{
		//Take Note of those values not rendered
		wyswygupdate = wyswygupdate + "," + controlId ;
		
	}

	doc.body.onpaste=onContentPaste;

/*
	frame.id+'_Format'='WYSIWYG';
	*/
} 

function updatefield()
		{
	
			//alert(wyswygupdate);
			if (wyswygupdate != null)
			{
				if (wyswygupdate.length > 0)
				{
					var wfields = wyswygupdate.split(",");
					for(i = 0; i<wfields.length;i++)
					{
						if (wfields[i] != "undefined" && wfields[i] != "" && wfields[i] != null)
						{
							frmctl = wfields[i] + "WYSIWYG";
							if (document.all(frmctl) != null && document.all(wfields[i]) != null)
							{
								onLoadWriteableLocal(frmctl,wfields[i])
							}
						}
					}
				}
			}
		}
	
	
	function onLoadWriteableLocal( framein, controlId )
	{
		//alert("WriteLocal " + frame + " " + controlId);
		
		
		var frame = window.frames[framein]
		
		var doc=frame.document;
		
		var control=eval( 'document.all.'+controlId);
		doc.createStyleSheet('../css/default.css');
		doc.body.className='wysiwyg';
		doc.body.style.margin='2px';
		doc.body.contentEditable=true;
		//alert(controlId);
		if (control != null)
		{
			var value=control.value;
			//alert(value);
			if (value=='') value='<p></p>';

			value=value.replace('src="/','src=');
			value=value.replace('<IMG ', '<img onresizestart="return false" ');
			value=value.replace('<img ', '<img onresizestart="return false" ');
			doc.body.innerHTML=value;
		}
		
		
				
	} 
	
var currentFrame = null;	
function focusFrame( frame, fieldId )
{
	//alert("here");

	currentFrame=frame;
}



// audit window code

function openAuditDialogue( entityName, primaryKey )
{
	window.showModalDialog("Audit/AuditDialog.aspx?entityName="+entityName+"&primaryKey="+primaryKey,self,"dialogHeight:550px;dialogWidth:750px;center:yes;resizable:yes;status:no");
}

