/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/
*/

if(!Ektron.SelectionRange)(function()
{Ektron.SelectionRange=function SelectionRange(settings)
{var m_settings=$ektron.extend({window:window,onexception:null},settings);this.onexception=m_settings.onexception;var m_range=null;this.getContainerElement=SelectionRange_getContainerElement;this.getStartElement=SelectionRange_getStartElement;this.getEndElement=SelectionRange_getEndElement;this.getElements=SelectionRange_getElements;this.indent=SelectionRange_indent;this.outdent=SelectionRange_outdent;this.orderedList=SelectionRange_orderedList;this.unorderedList=SelectionRange_unorderedList;this.getDomRange=function SelectionRange_getDomRange()
{if(m_range)return m_range;try
{var win=m_settings.window;var doc=win.document;var sel=null;if(win.getSelection)
{sel=win.getSelection();}
else
{sel=doc.selection;}
if(sel.createRange)
{try
{m_range=sel.createRange();}
catch(ex)
{sel.clear();m_range=sel.createRange();}}
else if(sel.getRangeAt&&sel.rangeCount>0)
{m_range=sel.getRangeAt(0);}
else
{m_range=doc.createRange();}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(null),ex,arguments);}
return m_range;};this.moveToNode=function SelectionRange_moveToNode(node)
{var bDone=false;try
{$ektron(node).each(function()
{if(3==this.nodeType)
{var doc=this.ownerDocument;if(doc.createRange)
{m_range=doc.createRange();m_range.selectNode(this);m_range.collapse(true);var sel=doc.defaultView.getSelection();sel.removeAllRanges();sel.addRange(m_range);}
else if(doc.body.createTextRange)
{var me=this;var parent=this.parentNode;m_range=doc.body.createTextRange();m_range.moveToElementText(parent);m_range.collapse(true);m_range.move("character",1);m_range.move("character",-1);$ektron(parent).contents().each(function()
{if(me==this)return false;if(3==this.nodeType)
{m_range.move("character",this.nodeValue.length);}});m_range.select();}
bDone=true;}
else if(1==this.nodeType)
{$ektron(this).contents().each(arguments.callee);}
if(bDone)return false;});if(!bDone)
{Ektron.OnException.diagException(new Error("Failed to move cursor to element."),arguments);}}
catch(ex)
{return Ektron.OnException(this,null,ex,arguments);}};this.execCommand=function SelectionRange_execCommand(commandName,UIFlag,value)
{try
{var bUIFlag=(true==UIFlag);if("undefined"==typeof value)value="";return m_settings.window.document.execCommand(commandName,bUIFlag,value);}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}};};Ektron.SelectionRange.onexception=Ektron.OnException.diagException;function SelectionRange_getContainerElement()
{var elem=null;try
{var range=this.getDomRange();if(range.commonAncestorContainer)
{elem=range.commonAncestorContainer;if(elem.nodeType!=1)elem=elem.parentNode;}
else if(range.parentElement)
{elem=range.parentElement();if("LI"==elem.tagName)
{var rngElem=elem.ownerDocument.body.createTextRange();rngElem.moveToElementText(elem);while(range.inRange(rngElem)&&!range.isEqual(rngElem))
{elem=elem.parentNode;rngElem.moveToElementText(elem);}}}
else if(range.commonParentElement)
{elem=range.commonParentElement();}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(null),ex,arguments);}
return elem;}
function SelectionRange_getStartElement()
{var elem=null;try
{var range=this.getDomRange();if(range.startContainer)
{elem=range.startContainer;if(elem.nodeType!=1)elem=elem.parentNode;}
else if(range.parentElement)
{var rng=range.duplicate();rng.collapse(true);elem=rng.parentElement();}
else if(range.item&&range.length>0)
{elem=range.item(0);}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(null),ex,arguments);}
return elem;}
function SelectionRange_getEndElement()
{var elem=null;try
{var range=this.getDomRange();if(range.endContainer)
{elem=range.endContainer;if(elem.nodeType!=1)elem=elem.parentNode;}
else if(range.parentElement)
{var rng=range.duplicate();rng.collapse(false);elem=rng.parentElement();}
else if(range.item&&range.length>0)
{elem=range.item(range.length-1);}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(null),ex,arguments);}
return elem;}
function SelectionRange_getElements(tags)
{var objElems=null;try
{var range=this.getDomRange();var containerElem=this.getContainerElement();var bIsListItemTags=(mc_oListItemTags==tags);var rngElem=null;var rngStart=null;var rngEnd=null;if(range.inRange)
{rngElem=containerElem.ownerDocument.body.createTextRange();rngStart=range.duplicate();rngStart.collapse(true);rngEnd=range.duplicate();rngEnd.collapse(false);}
$ektron(containerElem).find("*").each(function()
{try
{if(!(this.tagName in tags))return;var bAddElem=false;if(range.isPointInRange)
{if(bIsListItemTags)
{if(range.isPointInRange(this,0))
{var parent=this.parentNode;var bParentStartInRange=range.isPointInRange(parent,0);var bParentEndInRange=range.isPointInRange(parent,parent.childNodes.length);if(!bParentStartInRange||!bParentEndInRange)
{bAddElem=true;}}}
else
{if(range.isPointInRange(this,0)||(this.childNodes&&range.isPointInRange(this,this.childNodes.length)))
{var parent=this.parentNode;var bParentStartInRange=range.isPointInRange(parent,0);var bParentEndInRange=range.isPointInRange(parent,parent.childNodes.length);if(!bParentStartInRange&&!bParentEndInRange)
{bAddElem=true;}}}}
else if(range.inRange)
{if(bIsListItemTags)
{rngElem.moveToElementText(this);rngElem.collapse(true);if(range.inRange(rngElem))
{var parent=this.parentNode;rngElem.moveToElementText(parent);if(!range.inRange(rngElem)||parent==containerElem)
{bAddElem=true;}}}
else
{rngElem.moveToElementText(this);var bContainsStart=rngElem.inRange(rngStart);var bContainsEnd=rngElem.inRange(rngEnd);if(range.inRange(rngElem)||(bContainsStart&&!bContainsEnd)||(!bContainsStart&&bContainsEnd))
{var parent=this.parentNode;rngElem.moveToElementText(parent);if(rngElem.inRange(range))
{bAddElem=true;}}}}
if(bAddElem)
{if(null==objElems)
{objElems=$ektron(this);}
else
{objElems=objElems.add(this);}}}
catch(ex)
{Ektron.OnException.diagException(ex,arguments);}});}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(null),ex,arguments);}
return objElems;}
function SelectionRange_indent()
{try
{var startElem=this.getStartElement();var endElem=this.getEndElement();var startTag="";var endTag="";var startObj=null;var endObj=null;if(!startElem||!endElem)return false;var bodyElem=startElem.ownerDocument.body;startObj=$ektron(startElem).closest(mc_sIndentableTags);startObj=p_preferListItem(startObj);if(startElem!=endElem)
{endObj=$ektron(endElem).closest(mc_sIndentableTags);endObj=p_preferListItem(endObj);}
else
{endObj=startObj;}
startElem=startObj.get(0);startTag=startElem?startElem.tagName:"";endElem=endObj.get(0);endTag=endElem?endElem.tagName:"";if(startElem!=endElem)
{if(startTag in mc_oTableCellTags)
{startObj=startObj.closest("table");startElem=startObj.get(0);startTag=startElem?startElem.tagName:"";}
if(endTag in mc_oTableCellTags)
{endObj=endObj.closest("table");endElem=endObj.get(0);endTag=endElem?endElem.tagName:"";}}
if(startElem!=endElem)
{if((startTag in mc_oBlockTags)||(endTag in mc_oBlockTags))
{var objElems=this.getElements(mc_oBlockTags);if(objElems&&objElems.length>0)
{objElems.wrapAll("<blockquote></blockquote>");startElem=objElems[0];}
else
{Ektron.OnException.diagException(new Error("No block elements in selection range."),arguments);}}
else if((startTag in mc_oListItemTags)&&(endTag in mc_oListItemTags))
{var objElems=startObj.add(this.getElements(mc_oListItemTags)).add(endObj);p_nestListItems(objElems);}
else
{startElem=bodyElem;$ektron(bodyElem).wrapInner("<blockquote></blockquote>");}}
else
{if(startTag in mc_oBlockTags)
{if("true"==startElem.getAttribute("contenteditable"))
{startObj.wrapInner("<blockquote></blockquote>");}
else
{startObj.wrap("<blockquote></blockquote>");}}
else if(startTag in mc_oListItemTags)
{p_nestListItems(startObj);}
else if(startTag in mc_oTableCellTags)
{startObj.wrapInner("<blockquote></blockquote>");}
else
{startElem=bodyElem;$ektron(bodyElem).wrapInner("<blockquote></blockquote>");}}
if(startElem)this.moveToNode(startElem);}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}
return true;}
function SelectionRange_outdent()
{try
{var startElem=this.getStartElement();var endElem=this.getEndElement();var startObj=null;var endObj=null;var startTag="";var endTag="";if(!startElem||!endElem)return false;startObj=$ektron(startElem).closest(mc_sOutdentableTags);if(startElem!=endElem)
{endObj=$ektron(endElem).closest(mc_sOutdentableTags);}
else
{endObj=startObj;}
startElem=startObj.get(0);startTag=startElem?startElem.tagName:"";endElem=endObj.get(0);endTag=endElem?endElem.tagName:"";if((startTag in mc_oListItemTags)&&(endTag in mc_oListItemTags))
{var objElems=startObj.add(this.getElements(mc_oListItemTags)).add(endObj);var childNode=p_unnestListItems(objElems).get(0);if(childNode)this.moveToNode(childNode);}
else
{var objElems=this.getElements(mc_oBlockquoteTags);if(!objElems||0==objElems.length)
{if((startTag in mc_oBlockquoteTags)&&(endTag in mc_oBlockquoteTags))
{objElems=startObj.add(endObj);}
else if(startTag in mc_oBlockquoteTags)
{objElems=startObj;}
else if(endTag in mc_oBlockquoteTags)
{objElems=endObj;}}
if(objElems&&objElems.length>0)
{var childNode=objElems.unwrap().get(0);if(childNode)this.moveToNode(childNode);}}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}
return true;}
function SelectionRange_orderedList()
{try
{if(!p_changeListType.call(this,"UL","OL"))
{return this.execCommand(RadEditorNamespace.RADCOMMAND_INSERT_ORDERED_LIST);}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}
return true;}
function SelectionRange_unorderedList()
{try
{if(!p_changeListType.call(this,"OL","UL"))
{return this.execCommand(RadEditorNamespace.RADCOMMAND_INSERT_UNORDERED_LIST);}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}
return true;}
function p_changeListType(fromTag,toTag)
{var bChanged=false;try
{var startElem=this.getStartElement();var endElem=this.getEndElement();if(!startElem||!endElem)return false;var objList=$ektron(startElem).closest("OL,UL");var listElem=objList.get(0);if(!listElem)return false;if(startElem!=endElem)
{endElem=$ektron(endElem).closest("OL,UL").get(0);if(listElem!=endElem)return false;}
var strListTag=listElem?listElem.tagName:"";if(fromTag==strListTag)
{var objNewList=$ektron(listElem.ownerDocument.createElement(toTag));objNewList.append(objList.contents());objList.after(objNewList).remove();this.moveToNode(startElem);bChanged=true;}}
catch(ex)
{return Ektron.OnException(this,Ektron.OnException.returnValue(false),ex,arguments);}
return bChanged;}
function p_preferListItem(obj)
{try
{if(obj.is(mc_sBlockTags))
{var objItem=obj.closest(mc_sListItemTags);if(1==objItem.length)
{var bDone=false;var bFoundText=false;var objElemBlock=obj.get(0);objItem.each(function()
{if(objElemBlock==this)
{bDone=true;}
else if(3==this.nodeType)
{bFoundText=true;bDone=true;}
else if(1==this.nodeType)
{$ektron(this).contents().each(arguments.callee);}
if(bDone)return false;});if(!bFoundText)
{obj=objItem;}}}}
catch(ex)
{Ektron.OnException.diagException(ex,arguments);}
return obj;}
function p_nestListItems(objListItems)
{return objListItems.each(function nestListItem()
{try
{var objItem=$ektron(this);var objList=objItem.parent();var sItemTagName=this.tagName;var sListTagName=this.parentNode.tagName;var objPrev=objItem.prev();if(objPrev&&1==objPrev.length)
{var objPrevChild=objPrev.children(":last");if(objPrevChild.is(mc_oListItemTags[sItemTagName]))
{objPrevChild.append(objItem);}
else
{var newList=$ektron(this.parentNode.cloneNode(false));newList.removeAttr("id");objPrev.append(newList.append(objItem));}}
else
{var newItem=$ektron(this.cloneNode(false));newItem.removeAttr("id");var newList=$ektron(this.parentNode.cloneNode(false));newList.removeAttr("id");objList.prepend(newItem.append("&#160;").append(newList.append(objItem)));}}
catch(ex)
{Ektron.OnException.diagException(ex,arguments);}});}
function p_unnestListItems(objListItems)
{var ret=[];objListItems.each(function unnestListItem()
{try
{var objItem=$ektron(this);var objList=objItem.parent();var sItemTagName=this.tagName;var objNextOuterListItem=objList.closest(sItemTagName);if(objNextOuterListItem&&1==objNextOuterListItem.length)
{p_nestListItems(objItem.nextAll());objItem.insertAfter(objNextOuterListItem);ret=ret.concat(this);}
else
{var objItemContents=objItem.contents();p_nestListItems(objItem.empty().nextAll());objList.after(objItem.contents());objItem.remove();objItem=objList;var objPara=null;objItemContents.each(function()
{var objContent=$ektron(this);if(objContent.is(mc_sBlockTags))
{if(objPara)
{objItem.after(objPara);ret=ret.concat(objPara.get(0));objItem=objPara;objPara=null;}
objItem.after(objContent);ret=ret.concat(this);objItem=objContent;}
else
{if(!objPara)
{objPara=$ektron("<p></p>",this.ownerDocument);}
objPara.append(objContent);if(p_isBlank(objPara))
{objPara.remove();objPara=null;}}});if(objPara)
{objItem.after(objPara);ret=ret.concat(objPara.get(0));}}
if(0==objList.children().length)
{objList.remove();}
if(objNextOuterListItem&&1==objNextOuterListItem.length)
{if(p_isBlank(objNextOuterListItem))
{objNextOuterListItem.remove();objNextOuterListItem=null;}}}
catch(ex)
{Ektron.OnException.diagException(ex,arguments);}});return objListItems.pushStack(ret);}
function p_isBlank(objItem)
{var bIsBlank=false;try
{if(objItem.contents().length<=1)
{var strText=$ektron.trim(objItem.text());if(""==strText||"&#160;"==strText||"&nbsp;"==strText)
{bIsBlank=true;}}}
catch(ex)
{Ektron.OnException.diagException(ex,arguments);}
return bIsBlank;}
Ektron.SelectionRange.isBlockTag=function isBlockTag(sTagName)
{if(!sTagName)return false;return(sTagName in mc_oBlockTags);};function PropertyArray()
{this.merge=function PropertyArray_merge()
{for(var i=0;i<arguments.length;i++)
{var obj=arguments[i];if(typeof obj!="object")throw new TypeError("Arguments must be objects. Argument["+i+"] = '"+typeof obj+"'");$ektron.extend(this,obj);}
return this;};this.add=function PropertyArray_add()
{for(var i=0;i<arguments.length;i++)
{var prop=arguments[i];if(typeof prop!="string")throw new TypeError("Arguments must be strings. Argument["+i+"] = '"+typeof prop+"'");this[prop]=true;}
return this;};this.empty=function PropertyArray_empty()
{for(var p in this)
{var val=this[p];if("number"==typeof val||"string"==typeof val||"boolean"==typeof val)
{delete this[p];}}
return this;};this.join=function PropertyArray_join(separator)
{var a=[];for(var p in this)
{var val=this[p];if("number"==typeof val||"string"==typeof val||("boolean"==typeof val&&val))
{a.push(p);}}
return a.join(separator);};this.toString=this.join;}
var mc_oBlockTags={P:"*",DIV:"*",TABLE:"*",FIELDSET:"*",CENTER:"*",H1:"*",H2:"*",H3:"*",H4:"*",H5:"*",H6:"*",BLOCKQUOTE:"*",CENTER:"*",HR:"*",PRE:"*",ADDRESS:"*",OL:"LI",UL:"LI",DIR:"LI",MENU:"LI",DL:"DT,DD",NOFRAMES:"*",ISINDEX:"*",FORM:"*"};var mc_sBlockTags=(new PropertyArray()).merge(mc_oBlockTags).join(",");var mc_oBlockquoteTags={BLOCKQUOTE:"*"};var mc_oListItemTags={LI:"OL,UL,DIR,MENU",DT:"DL",DD:"DL"};var mc_sListItemTags=(new PropertyArray()).merge(mc_oListItemTags).join(",");var mc_oTableCellTags={TD:"TABLE",TH:"TABLE"};var mc_sIndentableTags=(new PropertyArray()).merge(mc_oBlockTags,mc_oListItemTags,mc_oTableCellTags).join(",");var mc_sOutdentableTags=(new PropertyArray()).merge(mc_oBlockquoteTags,mc_oListItemTags).join(",");})();
