var g_browser=new RBrowserDetector();function GetElementTargetFromEvent(event)
{if(g_browser.msie)return window.event.srcElement;else return event.target;}
function $()
{var elements=new Array();for(var i=0;i<arguments.length;i++)
{var element=arguments[i];if(typeof element=='string')
{if(document.getElementById)
{element=document.getElementById(element);}
else if(document.all)
{element=document.all[element];}}
elements.push(element);}
if(arguments.length==1&&elements.length>0)
{return elements[0];}
else
{return elements;}}
function $C(strElementType)
{return document.createElement(strElementType);}
function $I(instanceId)
{return RegisterControl.statics.getInstance().getInstanceById(instanceId);}
function IsNullOrUndefined(item)
{if(item==null||item==undefined)return true;else return false;}
function StopPropagationFromEvent(event)
{if(event.stopPropagation)
{event.stopPropagation();}
else if(!window.event.cancelBubble)
{window.event.cancelBubble=true;}}
function ExtractIFrameBody(iFrameElement)
{var doc=null;if(iFrameElement.contentDocument)
{doc=iFrameElement.contentDocument;}
else if(iFrameElement.contentWindow)
{doc=iFrameElement.contentWindow.document;}
else if(iFrameElement.document)
{doc=iFrameElement.document;}
else
{alert("Error: could not find iFrame document");return null;}
return doc.body;}
function InsertAfter(parent,node,referenceNode)
{parent.insertBefore(node,referenceNode.nextSibling);}
function PrependChild(parent,node)
{parent.insertBefore(node,parent.firstChild);}
function GetElementsByClassName(className)
{var results=[];var regEx=new RegExp('\\b'+className+'\\b');var allElements=document.getElementsByTagName("*");for(var i=0,j=allElements.length;i<j;i++)
if(regEx.test(allElements[i]['className']))
results.push(allElements[i]);return results;}
function SetClassName(element,strClassName)
{var tokenArray=tokenize(element["className"],' ',true);for(var i=0;i<tokenArray.length;i++)
{if(tokenArray[i]==strClassName)break;}
if(i==tokenArray.length)
{tokenArray[tokenArray.length]=strClassName;element["className"]=tokenArray.join(' ');}}
function UnsetClassName(element,strClassName)
{var bModified=false;var tokenArray=tokenize(element["className"],' ',true);for(var i=0;i<tokenArray.length;i++)
{if(tokenArray[i]==strClassName)
{bModified=true;tokenArray[i]='';}}
if(bModified)
{element["className"]=tokenArray.join(' ');}}
function IsClassName(element,strClassName)
{var bExists=false;var tokenArray=tokenize(element["className"],' ',true);for(var i=0;i<tokenArray.length;i++)
{if(tokenArray[i]==strClassName)
{bExists=true;break;}}
return bExists;}
function ObjectToJsonString(obj)
{if(obj==null)return null;switch(typeof(obj))
{case'object':{var strJson="";for(key in obj){strJson+=", ["+key+"]: ["+obj[key]+"]";}
if(strJson.length>0)
{strJson=strJson.substring(2);}
return strJson;}
default:return""+obj;}}
function IsCursorAtStart(inputNode,doc)
{if(IsNullOrUndefined(doc))
doc=document;var retval=false;if(!document.selection)
{if(inputNode.selectionStart<=0)
retval=true;}
else
{var inputRange=inputNode.createTextRange();var range=doc.selection.createRange();if(inputRange.compareEndPoints("StartToStart",range)==0)
retval=true;}
return retval;}
function IsCursorAtEnd(inputNode,doc)
{if(IsNullOrUndefined(doc))
doc=document;var retval=false;if(!document.selection)
{if(inputNode.selectionEnd>=inputNode.value.length)
retval=true;}
else
{var inputRange=inputNode.createTextRange();var range=doc.selection.createRange();if(inputRange.compareEndPoints("EndToEnd",range)==0)
retval=true;}
return retval;}
function GetCaretPosition(inputNode,doc)
{var caretPos=0;if(document.selection)
{inputNode.focus();var sel=document.selection.createRange();sel.moveStart('character',-inputNode.value.length);caretPos=sel.text.length;}
else if(inputNode.selectionStart||inputNode.selectionStart=='0')
caretPos=inputNode.selectionStart;return caretPos;}
function SetCaretPosition(inputNode,pos)
{if(inputNode.setSelectionRange)
{inputNode.focus();inputNode.setSelectionRange(pos,pos);}
else if(inputNode.createTextRange)
{var range=inputNode.createTextRange();range.collapse(true);range.moveEnd('character',pos);range.moveStart('character',pos);range.select();}}
function swap(array,index1,index2)
{var tmp1=array[index1];var tmp2=array[index2];array[index1]=tmp2;array[index2]=tmp1;}
function partition(array,begin,end,pivot,compareFuncContext,compareFunc)
{swap(array,pivot,end-1);var pivotValueIndex=end-1;var store=begin;for(var ix=begin;ix<end-1;++ix)
{if(compareFunc(compareFuncContext,array,ix,pivotValueIndex))
{swap(array,store,ix);++store;}}
swap(array,end-1,store);return store;}
function qsort(array,begin,end,compareFuncContext,compareFunc)
{if(end-1>begin)
{var pivot=begin+Math.floor(Math.random()*(end-begin));pivot=partition(array,begin,end,pivot,compareFuncContext,compareFunc);qsort(array,begin,pivot,compareFuncContext,compareFunc);qsort(array,pivot+1,end,compareFuncContext,compareFunc);}}
function QuickSort(array,compareFuncContext,compareFunc)
{qsort(array,0,array.length,compareFuncContext,compareFunc);}
function CreateXMLHttpRequest()
{try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
try{return new XMLHttpRequest();}catch(e){}
return null;}
if(typeof(Sys)!="undefined"&&Sys.Application){Sys.Application.notifyScriptLoaded();}