
var CSS_PARENT_LISTING_CLASSES=new Array("listingOdd","listingEven");var CSS_LISTING_CLASSES=new Array("subListingOdd","subListingEven");var _USER_AGENT=navigator.userAgent.toLowerCase();var isIE=(0<=_USER_AGENT.indexOf('msie'));var isSafari=(0<=_USER_AGENT.indexOf('safari'));var isNetscape=(navigator.appName=="Netscape");var trDisplayValue=isIE?'block':'table-row';var DISPLAY_TBODY=isIE?'block':'table-row-group';var REG_COMMA=/,/g;var REG_CARRIAGE_RETURN=/\n\r/g;var REG_NEW_LINE=/\n/g;function alternateCssParentListingClasses(index)
{return CSS_PARENT_LISTING_CLASSES[index%2];}
function alternateCssListingClasses(index)
{return CSS_LISTING_CLASSES[index%2];}
function centerElement(positionee)
{var topper=((undefined!=document.documentElement)&&document.documentElement.scrollTop)?document.documentElement:document.body;var clientWidth=(undefined!=window.innerWidth)?window.innerWidth:topper.clientWidth;var clientHeight=(undefined!=window.innerHeight)?window.innerHeight:topper.clientHeight;var x=(((clientWidth-positionee.offsetWidth)/2)+topper.scrollLeft);var y=(((clientHeight-positionee.offsetHeight)/2)+topper.scrollTop);positionee.style.position='absolute';positionee.style.left=x+'px';positionee.style.top=y+'px';}
function getDocumentBodySize()
{return new CoordInfo(document.body.offsetWidth,document.body.offsetHeight);}
function getElementAbsoluteCoord(elem)
{var value=new CoordInfo(0,0);var i=0;while((undefined!=elem)&&(null!=elem))
{var clientLeft=0;var clientTop=0;if((0>elem.offsetLeft)&&(undefined!=elem.offsetParent)&&(undefined!=elem.offsetParent.clientLeft))
clientLeft=elem.offsetParent.clientLeft;if((0>elem.offsetTop)&&(undefined!=elem.offsetParent)&&(undefined!=elem.offsetParent.clientTop))
clientTop=elem.offsetParent.clientTop;value.x+=(elem.offsetLeft+clientLeft);value.y+=(elem.offsetTop+clientTop);elem=elem.offsetParent;}
return value;}
function listAttributes(map)
{var output='{ ';for(var id in map)
{var value=map[id];if('function'==typeof(value))
value='function';else if(('string'==typeof(value))&&(20<value.length))
value=value.substr(0,20)+'...';output+=id+': '+value+'; ';}
return output+'}';}
function outputSortDirIconImg(fieldName,sortedOn,sortedDir,isSubListing)
{var source=outputSortDirIconSource(fieldName,sortedOn,sortedDir,isSubListing);if(undefined==source)
return'';return'<span class="'+source+'">&nbsp;&nbsp;&nbsp;</span>';}
function outputSortDirIconSource(fieldName,sortedOn,sortedDir,isSubListing)
{if(fieldName!=sortedOn)
return undefined;if(FIELD_ASCENDING==sortedDir)
return isSubListing?'ascendingIconSub':'ascendingIcon';return isSubListing?'descendingIconSub':'descendingIcon';}
function outputWorklistTitle(value)
{var pageNavInfo=value.pageNavInfo;if(undefined==pageNavInfo)
pageNavInfo=new PageNavInfo(value.totalRecords,value.pages,value.currentPage,value.pageSize);return outputPageTitle(value.plural,pageNavInfo,value.records.length,value.singular);}
function outputPageTitle(caption,pageInfo,numberOfValues,singularCaption)
{var output='';if(undefined!=singularCaption)
{output=pageInfo.totalRecords+' ';if(1==pageInfo.totalRecords)
output+=singularCaption;else
output+=caption;}
else
output=caption;if(1<pageInfo.totalPages)
{var startRecord=((pageInfo.currentPage-1)*pageInfo.pageSize)+1;output+=" ("+startRecord;if(1<numberOfValues)
output+=" through "+((startRecord+numberOfValues)-1)+")";else
output+=")";}
return output;}
function outputParentPaging(pageInfo,action)
{return outputPaging(pageInfo,action,'listingPaging');}
function outputPaging(pageInfo,action,cssAnchor)
{var output='';if(undefined==cssAnchor)
cssAnchor='normal';if(1>=pageInfo.totalPages)
return output;output+='Page: ';if(1<pageInfo.currentPage)
output+='<a href="'+action+(pageInfo.currentPage-1)+')" style="font-weight: bold;" class="'+cssAnchor+'">prev</a> &nbsp;';output+='<select onChange="'+action+' this.value)">';for(i=1;i<=pageInfo.totalPages;i++)
{var selected=(i!=pageInfo.currentPage)?'':' selected';output+='<option value="'+i+'"'+selected+' style="font-weight: bold;">'+i+'</option>';}
output+='</select>';if(pageInfo.totalPages>pageInfo.currentPage)
output+='&nbsp<a href="'+action+(pageInfo.currentPage+1)+')" style="font-weight: bold;" class="'+cssAnchor+'">next</a>';return output;}
function outputParentPagingAsLinks(pageInfo,action)
{return outputPagingAsLinks(pageInfo,'8',action,'paging');}
function outputPagingAsLinks(pageInfo,maxLinks,action,cssAnchor)
{var output='';if(maxLinks==undefined)
maxLinks=8;if(undefined==cssAnchor)
cssAnchor='paging';if(1>=pageInfo.totalPages)
return output;if(pageInfo.totalPages<=maxLinks){output+='<div class="'+cssAnchor+'">';output+='<ul class="pageList">';if(1<pageInfo.currentPage)
output+='<li><a href="'+action+(pageInfo.currentPage-1)+')"> &lt;&lt; prev</a></li>';for(i=1;i<=pageInfo.totalPages;i++)
{if(i==pageInfo.currentPage){output+='<li><span class="curr">'+i+'</span></li>';}else{output+='<li><a href="'+action+(i)+')">'+i+'</a></li>';}}
if(pageInfo.totalPages>pageInfo.currentPage)
output+='<li><a href="'+action+(pageInfo.currentPage+1)+')">next &gt;&gt;</a></li>';output+='</ul>';output+='</div>';}
else{var halfMaxLinks=parseInt(maxLinks/2);var startIndex=undefined;var endIndex=undefined;if((pageInfo.currentPage-halfMaxLinks)<1){startIndex=1;endIndex=maxLinks;}
else if((pageInfo.currentPage+halfMaxLinks)>pageInfo.totalPages){endIndex=pageInfo.totalPages;startIndex=endIndex-maxLinks+1;}
else{startIndex=pageInfo.currentPage-halfMaxLinks;endIndex=pageInfo.currentPage+halfMaxLinks-1;}
output+='<div class="'+cssAnchor+'">';output+='<ul class="pageList">';if(1<pageInfo.currentPage)
output+='<li><a href="'+action+(pageInfo.currentPage-1)+')"> &lt;&lt; prev</a></li>';for(i=startIndex;i<=endIndex;i++)
{if(i==pageInfo.currentPage){output+='<li><span class="curr">'+i+'</span></li>';}else{output+='<li><a href="'+action+(i)+')">'+i+'</a></li>';}}
if(pageInfo.totalPages>pageInfo.currentPage)
output+='<li><a href="'+action+(pageInfo.currentPage+1)+')">next &gt;&gt;</a></li>';output+='</ul>';output+='</div>';}
return output;}
function outputSelectOptions(name,options,selectedItem,header,onChange)
{var _onChange=(undefined==onChange)?'':' onChange="'+onChange+';"';var output='<select id="'+name+'" name="'+name+'"'+_onChange+'>';if(undefined!=header)
output+='<option value="">'+header+'</option>';for(var i=0;i<options.length;i++)
{var selected=(selectedItem==options[i].getId())?' selected':'';output+='<option value="'+options[i].getId()+'"'+selected+'>'+options[i].getValue()+'</option>';}
output+='</select>';return output;}
function outputSelectList(name,listItemInfo,selectedItem,header,onChange,tabindex)
{var _onChange=(undefined==onChange)?'':' onChange="'+onChange+';"';var _tabindex=(undefined==tabindex)?'':' tabindex="'+tabindex+'"';var output='<select id="'+name+'" name="'+name+'"'+_onChange+_tabindex+'>';if(undefined!=header)
output+='<option value="">'+header+'</option>';var count=(undefined!=listItemInfo)?listItemInfo.ids.length:0;for(var i=0;i<count;i++)
{var selected=(selectedItem==listItemInfo.ids[i])?' selected':'';output+='<option value="'+listItemInfo.ids[i]+'"'+selected+'>'+listItemInfo.values[i]+'</option>';}
output+='</select>';return output;}
function outputRadioList(name,listItemInfo,selectedItem)
{var count=(undefined!=listItemInfo)?listItemInfo.ids.length:0;var output='';for(var i=0;i<count;i++)
{var checked=(selectedItem==listItemInfo.ids[i])?' checked ':'';output+='<input type="radio" name="'+name+'" value="'+listItemInfo.ids[i]+'" '+checked+'>'+listItemInfo.values[i]+'&nbsp;&nbsp;';}
return output;}
function parseInputDate(whenString){return Formatter.fromInputDate(whenString);}
function formatInputDate(date){return Formatter.toInputDate(date);}
function populateSelectListWithHeader(select,listItemInfo,header)
{var options=select.options;var ids=listItemInfo.ids;var values=listItemInfo.values;options.length=0;if(0<header.length)
options[0]=new Option(header,'',false,false);for(i=0;i<ids.length;i++)
options[options.length]=new Option(values[i],ids[i],false,false);}
function populateSelectList(select,warningSection,listItemInfo)
{var options=select.options;var ids=listItemInfo.ids;var values=listItemInfo.values;options.length=0;for(i=0;i<ids.length;i++)
options[i]=new Option(values[i],ids[i],false,false);if(0==warningSection.length)
return;var message=createListItemInfoWarning(listItemInfo);if(0==message.length)
return;document.getElementById(warningSection).innerHTML=message;}
function createListItemInfoWarning(listItemInfo)
{var message='';var ids=listItemInfo.ids;var totalRecords=listItemInfo.totalRecords;if(0==totalRecords)
message='No matches found';else if(0==ids.length)
message='Too many matches - '+totalRecords;else if(totalRecords>ids.length)
message='Displaying '+ids.length+' of '+totalRecords+' matches';else if(1==totalRecords)
message='Found 1 match';else
message='Found '+totalRecords+' matches';return message;}
function positionBelowElement(positionee,elem)
{var coord=getElementAbsoluteCoord(elem);coord.y+=elem.offsetHeight;positionee.style.position='absolute';positionee.style.left=coord.x+'px';positionee.style.top=coord.y+'px';}
function positionRightAndAboveElement(positionee,elem)
{var coord=getElementAbsoluteCoord(elem);coord.x+=elem.offsetWidth
coord.y-=positionee.offsetHeight;positionee.style.position='absolute';positionee.style.left=coord.x+'px';positionee.style.top=coord.y+'px';}
function positionLeftAndBelowElement(positionee,elem)
{var coord=getElementAbsoluteCoord(elem);coord.y+=elem.offsetHeight;coord.x=coord.x+elem.offsetWidth-positionee.offsetWidth;if(0>coord.x)
coord.x=0;positionee.style.position='absolute';positionee.style.left=coord.x+'px';positionee.style.top=coord.y+'px';}
function scrollToTopOf(elem)
{var topper=((undefined!=document.documentElement)&&document.documentElement.scrollTop)?document.documentElement:document.body;var clientHeight=(undefined!=window.innerHeight)?window.innerHeight:topper.clientHeight;var coord=getElementAbsoluteCoord(elem);if((topper.scrollTop>coord.y)||((topper.scrollTop+clientHeight)<coord.y))
window.scrollTo(0,coord.y);}
function validateChecked(checkBox,singular,plural)
{var message='';if(undefined==checkBox)
message='There are no '+plural+' to select.';else if(undefined==checkBox.length)
{if(!checkBox.checked)
message='You have not selected the '+singular+'. Please do so before continuing.';}
else
{var checked=false;for(i=0;i<checkBox.length;i++)
if(checked=checkBox[i].checked)
break;if(!checked)
message='You have not selected any '+plural+'. Please do so before continuing.';}
if(0==message.length)
return true;window.alert(message);return false;}
function toDisplayable(value)
{if((undefined==value)||(0==value.length))
return'';else if(typeof(value)=='boolean')
return(value)?'Yes':'No';return value;}
function fromDisplayable(value)
{if(''==value)
return undefined;return value;}
function rewriteUrlParam(url,param,newValue)
{var pos=url.indexOf(param);if(0>pos)
{if(undefined==newValue)
return url;var paramSep=(0>url.indexOf('?'))?'?':'&';url+=paramSep+param+'='+newValue;return url;}
var endParam=url.indexOf('=',pos+1);if(0>endParam)
return undefined;var newUrl='';if(undefined==newValue)
newUrl=url.substr(0,pos-1);else
newUrl=url.substr(0,endParam+1)+newValue;pos=url.indexOf('&',endParam+1);if(0<=pos)
{var paramSep=(0>newUrl.indexOf('?'))?'?':'&';newUrl+=paramSep;newUrl+=url.substr(pos+1);}
return newUrl;}
function toggleIconLegend(thisItem,containerId)
{if(0<=thisItem.innerHTML.indexOf('&lt;'))
{thisItem.innerHTML=TITLE_ICON_LEGEND+' &gt;&gt;';document.getElementById(containerId).style.display='none';}
else
{thisItem.innerHTML=TITLE_ICON_LEGEND+' &lt;&lt;';thisElement=document.getElementById(containerId);thisElement.style.display=trDisplayValue;}}
function toHttpParameter(name,value,conjunction)
{if((undefined==value)||(0==value.length))
return'';if(undefined==conjunction)
conjunction='&';return conjunction+name+'='+value;}
function getPageParam(page,conjunction)
{return toHttpParameter(FIELD_PAGE,page,conjunction);}
function parseIntX(value)
{if(undefined==value)
return undefined;return parseInt(value.replace(REG_COMMA,''));}
function parseFloatX(value)
{if(undefined==value)
return undefined;return parseFloat(value.replace(REG_COMMA,''));}
function LTrim(value)
{var re=/\s*((\S+\s*)*)/;return value.replace(re,"$1");}
function RTrim(value)
{var re=/((\s*\S+)*)\s*/;return value.replace(re,"$1");}
function trim(value)
{return LTrim(RTrim(value));}
function trimToLength(str,len)
{if((undefined==str)||(0==str.length))
return'';if(str.length<len)
return str;return str.substring(0,len-1)+'...';}
function exists(data)
{if((data==undefined)||(data==null)||(data=='')||(data.replace&&(trim(data)=='')))
return false;return true;}
function fromLongText(value)
{return value.replace(REG_CARRIAGE_RETURN,'<br />').replace(REG_NEW_LINE,'<br />');}
function validateEmail(str)
{var at="@";var dot=".";var lat=str.indexOf(at);var lstr=str.length;var ldot=str.indexOf(dot);if(str.indexOf(at)==-1){window.alert("Invalid E-mail ID");return false;}
if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr){window.alert("Invalid E-mail ID");return false;}
if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr){window.alert("Invalid E-mail ID");return false;}
if(str.indexOf(at,(lat+1))!=-1){window.alert("Invalid E-mail ID");return false;}
if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot){window.alert("Invalid E-mail ID");return false;}
if(str.indexOf(dot,(lat+2))==-1){window.alert("Invalid E-mail ID");return false;}
if(str.indexOf(" ")!=-1){window.alert("Invalid E-mail ID");return false;}
return true;}
function isInt(value){if(value){return value.match(/^[1-9]\d*$/)?true:false;}else{return false;}}
function isFloat(value){if(value){return value.match(/^[1-9]*\d*\.?\d*$/)?true:false;}else{return false;}}

function ajaxHelperHandleReadyStateChange(req,callback)
{if(4!=req.readyState)
return;try
{var value=eval(req.responseText);callback.handleRequestData(value);}
catch(error)
{if(error.isNotAuthenticatedException&&window.handleNotAuthenticated)
handleNotAuthenticated(error);else if(callback.handleRequestError)
callback.handleRequestError(error);else
window.alert(error.message?error.message:error);}
if(window.onajaxcall)
window.onajaxcall(callback,value);}
function AjaxHelper(){}
AjaxHelper.prototype.CONTENT_TYPE_POST='application/x-www-form-urlencoded';AjaxHelper.prototype.CONTENT_TYPE_XML='text/xml; charset=utf-16';AjaxHelper.prototype.getRequester=function()
{if(window.XMLHttpRequest)
return new XMLHttpRequest();return new ActiveXObject("Microsoft.XMLHTTP");}
AjaxHelper.prototype.handleCall=function(req,data,url)
{req.send(data);if(200==req.status)
return eval(req.responseText);var error='HTTP error ('+req.status+') ';if(undefined!=req.statusText)
error+=req.statusText+' - ';error+=url;throw error;}
AjaxHelper.prototype.asynchCall=function(url,callback)
{var req=this.getRequester();req.open('GET',url,true);req.onreadystatechange=function(){ajaxHelperHandleReadyStateChange(req,callback);}
req.send(null);}
AjaxHelper.prototype.synchCall=function(url)
{var req=this.getRequester();req.open('GET',url,false);return this.handleCall(req,null,url);}
AjaxHelper.prototype.synchPostForm=function(url,theForm)
{var data='';for(var i=0;i<theForm.elements.length;i++)
{var item='';var element=theForm.elements[i];var type=element.type;type=(undefined==type)?undefined:type.toLowerCase();if(('checkbox'==type)||('radio'==type))
{if(undefined!=element.length)
{for(var j=0;j<element.length;j++)
if(element[j].checked)
item=element[j].name+'='+element[j].value;}
else if(element.checked)
item=element.name+'='+element.value;}
else
item=element.name+'='+escape(element.value);if(0==item.length)
continue;if(0<data.length)
data+='&';data+=item;}
return this.synchPostData(url,data,this.CONTENT_TYPE_POST);}
AjaxHelper.prototype.createPostMapData=function(map)
{var data='';for(var id in map)
{var value=map[id];if(undefined==value)
continue;else if(value.length&&(typeof(value)!='string'))
{for(var i=0;i<value.length;i++)
{if(0<data.length)
data+='&';data+=id+'='+encodeURIComponent(value[i]);}}
else
{if(0<data.length)
data+='&';if(value.getTime)
value=value.getTime();data+=id+'='+encodeURIComponent(value);}}
return data;}
AjaxHelper.prototype.synchPostMap=function(url,map)
{var data=this.createPostMapData(map);return this.synchPostData(url,data,this.CONTENT_TYPE_POST);}
AjaxHelper.prototype.asynchPostMap=function(url,map,callback)
{var data=this.createPostMapData(map);var req=this.getRequester();req.open('POST',url,true);req.setRequestHeader('Content-Type',this.CONTENT_TYPE_POST);req.onreadystatechange=function(){ajaxHelperHandleReadyStateChange(req,callback);}
req.send(data);}
AjaxHelper.prototype.synchPostXml=function(url,data)
{return this.synchPostData(url,data,this.CONTENT_TYPE_XML);}
AjaxHelper.prototype.synchPostData=function(url,data,contentType)
{var req=this.getRequester();req.open('POST',url,false);req.setRequestHeader('Content-Type',contentType);return this.handleCall(req,data,url);}
AjaxHelper.prototype.login=function(userName,password)
{return this.loginTo(userName,password,'/auth/ajaxAuth');}
AjaxHelper.prototype.loginWithoutLog=function(userName,password)
{return this.loginTo(userName,password,'/auth/ajaxAuthWithoutLog');}
AjaxHelper.prototype.loginTo=function(userName,password,page)
{userName=userName.toLowerCase();var loginInfo=this.synchCall(this.rootPath+page);if(loginInfo.isSuccess)
{loginInfo.isAlreadyLoggedIn=true;return loginInfo;}
var data='j_username='+userName+'&j_password='+password;loginInfo=this.synchPostData(this.rootPath+'/j_security_check',data,this.CONTENT_TYPE_POST);return loginInfo;}
AjaxHelper.prototype.logout=function()
{return this.synchCall(this.rootPath+'/ajaxLogout');}
AjaxHelper.prototype.touch=function()
{return this.synchCall(this.rootPath+'/auth/ajaxAuth');}
AjaxHelper.prototype.accessRSA=function(userName,password,tokenCode,nextTokenCode)
{var value={userName:userName,password:password,tokenCode:tokenCode,nextTokenCode:nextTokenCode};return this.synchPostMap(this.servicePath+'/auth/accessRSA',value);}
AjaxHelper.prototype.toQueryString=function(existing,name,param)
{if(undefined==param)
return existing;if((undefined==existing)||(0==existing.length))
existing='?';else
existing+='&';return existing+name+'='+param;}
AjaxHelper.prototype.toXml=function(map)
{var data='<data count="1"><item>';for(var id in map)
{var value=map[id];if(undefined==value)
continue;data+='<'+id+'>';if(undefined!=this.cdataElements[id])
data+='<![CDATA['+value+']]>';else
data+=value;data+='</'+id+'>';}
return data+'</item></data>';}
AjaxHelper.prototype.makeUnique=function(queryString)
{return this.toQueryString(queryString,'UNIQUETIMESTAMP',(new Date()).getTime());}
AjaxHelper.prototype.convertChar=function(v)
{if(!v)
return undefined;var o='';for(var i=0;i<v.length;i++)
{var c=v.charCodeAt(i);if(150<=c)
o+='&#'+c+';';else
o+=v.charAt(i);}
return o;}
AjaxHelper.prototype.convertAll=function(map)
{var value;for(var id in this.cdataElements)
if(undefined!=(value=map[id]))
map[id]=this.convertChar(value);return map;}
function AjaxDataHandler(callback,criteria)
{this.callback=callback;this.criteria=criteria;}
AjaxDataHandler.prototype.handleRequestData=function(value)
{if(value==undefined)
value=new Object();value.criteria=this.criteria;this.callback.doValue(value);}
AjaxDataHandler.prototype.handleRequestError=function(error)
{var b=this.criteria.body;var m=error.message?error.message:error;if(b)
b.innerHTML=m;else
window.alert(m);}

function PinkCommonCalls(rootPath)
{this.rootPath=rootPath;if(undefined==this.rootPath)
this.rootPath='/common';this.servicePath=this.rootPath+'/ajax';this.cdataElements=new Array();this.cdataElements[FIELD_COMMENTS]=true;this.cdataElements['comp_description']=true;this.cdataElements['comp_general_comments']=true;this.cdataElements['comp_officer_comments']=true;this.cdataElements['comp_service_provider_comments']=true;this.cdataElements['comp_security_comments']=true;}
PinkCommonCalls.prototype=new AjaxHelper();PinkCommonCalls.prototype.acceptUserAgreement=function(value)
{return this.synchPostMap(this.servicePath+'/member/AcceptUserAgreement',value);}
PinkCommonCalls.prototype.getOfficer=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetOfficer.json',{id:id},callback);}
PinkCommonCalls.prototype.addAccountContact=function(companyId,officerId,callback)
{this.asynchPostMap(this.servicePath+'/admins/AddAccountContact.json',{companyId:companyId,officerId:officerId},callback);}
PinkCommonCalls.prototype.getActiveAlertUsers=function(callback){if(callback==undefined)
return this.synchCall(this.servicePath+'/member/GetActiveAlertUsers.json');this.asynchCall(this.servicePath+'/member/GetActiveAlertUsers.json',callback);}
PinkCommonCalls.prototype.getAutoSuggestCompanySymbol=function(id,callback){if(callback==undefined)
return this.synchCall(this.servicePath+'/GetAutoSuggestCompanySymbol.json?id?='+id);this.asynchCall(this.servicePath+'/GetAutoSuggestCompanySymbol.json?id='+id,callback);}
PinkCommonCalls.prototype.addOfficerToService=function(compServiceId,officerId,callback)
{this.asynchPostMap(this.servicePath+'/admins/AddOfficerToService.json',{compServiceId:compServiceId,officerId:officerId},callback);}
PinkCommonCalls.prototype.addOfficerToMktReportService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/AddOfficerToMktReportService.json',value,callback);}
PinkCommonCalls.prototype.addServiceProviderContactToService=function(compServiceId,serviceProviderContactId,callback)
{this.asynchPostMap(this.servicePath+'/admins/AddServiceProviderContactToService.json',{compServiceId:compServiceId,serviceProviderContactId:serviceProviderContactId},callback);}
PinkCommonCalls.prototype.addUserRoleCompany=function(userId,roleId,companyId)
{return this.synchPostMap(this.servicePath+'/admins/AddUserRoleCompany',new UserRoleCompany(userId,roleId,companyId));}
PinkCommonCalls.prototype.changeIssuerProfile=function(currentPassword,emailAddress,newPassword,confirmPassword)
{var map=new Array();map[FIELD_CURRENT_PASSWORD]=currentPassword;map[FIELD_EMAIL_ADDRESS]=emailAddress;map[FIELD_PASSWORD]=newPassword;map[FIELD_PASSWORD_CONFIRM]=confirmPassword;return this.synchPostMap(this.servicePath+'/member/ChangeIssuerProfile',map);}
PinkCommonCalls.prototype.changeMyPassword=function(value)
{return this.synchPostMap(this.servicePath+'/quote/ChangeMyPassword',value);}
PinkCommonCalls.prototype.changePassword=function(theForm)
{return this.synchPostForm(this.servicePath+'/admin/ChangePassword',theForm);}
PinkCommonCalls.prototype.changeCompanyServiceStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeCompanyServiceStatus.json',value,callback);}
PinkCommonCalls.prototype.changeContactAddressStatus=function(companyId,hasContactAddress,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeContactAddressStatus.json',{companyId:companyId,hasContactAddress:hasContactAddress},callback);}
PinkCommonCalls.prototype.changeCustomerActivation=function(value)
{return this.synchPostMap(this.servicePath+'/admins/SetCustomerActivation',value);}
PinkCommonCalls.prototype.changeSecurityServiceStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeSecurityServiceStatus.json',value,callback);}
PinkCommonCalls.prototype.changeUserActivation=function(value)
{return this.synchPostMap(this.servicePath+'/admins/SetUserActivation',value);}
PinkCommonCalls.prototype.changeUserRoleCompanyStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeUserRoleCompanyStatus.json',value,callback);}
PinkCommonCalls.prototype.changeDailyReportStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeDailyReportStatus.json',value,callback);}
PinkCommonCalls.prototype.changeWeeklyReportStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeWeeklyReportStatus.json',value,callback);}
PinkCommonCalls.prototype.changeHtmlEmailStatus=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/ChangeHtmlEmailStatus.json',value,callback);}
PinkCommonCalls.prototype.confirmRegistration=function(theForm)
{return this.synchPostForm(this.servicePath+'/ConfirmRegistration',theForm);}
PinkCommonCalls.prototype.countMyCompanies=function(name)
{return this.synchCall(this.servicePath+'/member/CountMyCompanies'+
toHttpParameter(FIELD_COMPANY_NAME,name,'?'));}
PinkCommonCalls.prototype.countSecuritiesByCountry=function(callback,filter){this.asynchPostMap(this.servicePath+'/CountSecuritiesByCountry',filter,callback);}
PinkCommonCalls.prototype.countSecuritiesByType=function(callback){this.asynchCall(this.servicePath+'/CountSecuritiesByType',callback);}
PinkCommonCalls.prototype.countSecuritiesByVenue=function(callback){this.asynchCall(this.servicePath+'/CountSecuritiesByVenue',callback);}
PinkCommonCalls.prototype.defaultCustomerLocation=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/DefaultCustomerLocation.json',value,callback);}
PinkCommonCalls.prototype.deleteAccountContact=function(companyId,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteAccountContact.json',{companyId:companyId},callback);}
PinkCommonCalls.prototype.deleteCompanyService=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteCompanyService.json',{id:id},callback);}
PinkCommonCalls.prototype.deleteCustomerLocation=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteCustomerLocation.json',value,callback);}
PinkCommonCalls.prototype.deleteMarketMakerService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admin/DeleteMarketMakerService.json',value,callback);}
PinkCommonCalls.prototype.deleteMktReportUser=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteMktReportUser.json',value,callback);}
PinkCommonCalls.prototype.deleteSecurityService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteSecurityService.json',value,callback);}
PinkCommonCalls.prototype.deleteUserRoleCompany=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/DeleteUserRoleCompany.json',value,callback);}
PinkCommonCalls.prototype.deleteUserRoleCustomer=function(id)
{return this.synchCall(this.servicePath+'/admins/DeleteUserRoleCustomer'+
toHttpParameter(FIELD_ID,id,'?'));}
PinkCommonCalls.prototype.forgotPassword=function(emailAddress)
{var map=new Array();map[FIELD_EMAIL_ADDRESS]=emailAddress;return this.synchPostMap(this.servicePath+'/ForgotPassword',map);}
PinkCommonCalls.prototype.generatePasscode=function(size,callback)
{this.asynchPostMap(this.servicePath+'/admin/GeneratePasscode.json',{id:size},callback);}
PinkCommonCalls.prototype.getAdvanceCompanies=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetAdvanceCompanies.json',filter,callback);}
PinkCommonCalls.prototype.getAdvanceCompaniesByUser=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/member/GetAdvanceCompaniesByUser.json',filter,callback);}
PinkCommonCalls.prototype.getAdvancedSecuritySearchPO=function(onlyOtc,callback)
{var url=this.servicePath+'/GetAdvancedSecuritySearchPO?onlyOtc='+onlyOtc;if(callback==undefined)
return this.synchCall(url);else
return this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getAdvancedSecuritySearchWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetAdvancedSecuritySearchWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getAnticipatedPiggybackWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetAnticipatedPiggybackWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getBaseUrls=function(callback)
{var url=this.servicePath+'/GetBaseUrls';if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getBlueSkyInfo=function(params,callback)
{this.asynchPostMap(this.servicePath+'/member/GetBlueSkyInfo.json',params,callback);}
PinkCommonCalls.prototype.getCaveatEmptorChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetCaveatEmptorChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getCompany=function(id)
{return this.synchCall(this.servicePath+'/member/GetCompany'+
toHttpParameter(FIELD_ID,id,'?'));}
PinkCommonCalls.prototype.getCompanyAccount=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCompanyAccount.json',{id:id},callback);}
PinkCommonCalls.prototype.getCompanyNameChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetCompanyNameChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getCompanyProfile=function(companyId,securityId,callback)
{var queryString=this.toQueryString('',FIELD_COMPANY,companyId);queryString=this.toQueryString(queryString,FIELD_SECURITY,securityId);this.asynchCall(this.servicePath+'/GetCompanyProfile'+queryString,callback);}
PinkCommonCalls.prototype.getCompanyProfilePO=function(countryId,callback)
{var queryString=this.toQueryString('',FIELD_COUNTRY,countryId);var url=this.servicePath+'/GetCompanyProfilePO'+queryString;if(undefined!=callback)
this.asynchCall(url,callback);else
return this.synchCall(url);}
PinkCommonCalls.prototype.getCompanySimple=function(id)
{return this.synchCall(this.servicePath+'/GetCompanySimple'+
toHttpParameter(FIELD_ID,id,'?'));}
PinkCommonCalls.prototype.getCompanyUsers=function(compServiceId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCompanyUsers.json',{id:compServiceId},callback);}
PinkCommonCalls.prototype.getCompanyUserWorklist=function(filter,callback)
{return this.asynchPostMap(this.servicePath+'/admins/GetCompanyUserWorklist',filter,callback);}
PinkCommonCalls.prototype.getCompaniesAsListItemsByName=function(name)
{return this.synchCall(this.servicePath+'/admins/GetCompanies?'+FIELD_COMPANY_NAME+'='+name);}
PinkCommonCalls.prototype.getCompaniesSimple=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/member/GetCompaniesSimple.json',filter,callback);}
PinkCommonCalls.prototype.getCompanyWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetCompanyWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getContactAddressStatus=function(companyId)
{return this.synchCall(this.servicePath+'/admins/GetContactAddressStatus'+
toHttpParameter(FIELD_COMPANY,companyId,'?'));}
PinkCommonCalls.prototype.getCountries=function(dataHandler){if(dataHandler!=undefined)
return this.asynchCall(this.servicePath+'/GetCountries',dataHandler);else
return this.synchCall(this.servicePath+'/GetCountries');}
PinkCommonCalls.prototype.getCustomer=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomer.json',{id:id},callback);}
PinkCommonCalls.prototype.getCustomerLocation=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerLocation.json',{id:id},callback);}
PinkCommonCalls.prototype.getCustomerLocationPage=function(countryId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerLocationPage.json',{id:countryId},callback);}
PinkCommonCalls.prototype.getCustomerLocationWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerLocationWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getCustomerPage=function(countryId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerPage.json',{id:countryId},callback);}
PinkCommonCalls.prototype.getCustomers=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomers',filter,callback);}
PinkCommonCalls.prototype.getCustomerUser=function(id,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerUser.json',{id:id},callback);}
PinkCommonCalls.prototype.getCustomerUserPage=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerUserPage.json',filter,callback);}
PinkCommonCalls.prototype.getCustomerUserStatus=function(callback)
{var url=this.servicePath+'/member/GetCustomerUserStatus';if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getCustomerWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getCustomerUserWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetCustomerUserWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getDefaultCanDistribute=function(companyId)
{return this.synchCall(this.servicePath+'/member/GetDefaultCanDistribute'+
toHttpParameter(FIELD_COMPANY,companyId,'?'));}
PinkCommonCalls.prototype.getDeletedSymbolWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetDeletedSymbolWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getDividendWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetDividendWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getExcludedOfficers=function(companyId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetExcludedOfficers.json',{id:companyId},callback);}
PinkCommonCalls.prototype.getExcludedRoles=function(companyId,userId)
{var queryString=this.toQueryString('',FIELD_COMPANY,companyId);queryString=this.toQueryString(queryString,FIELD_USER,userId);return this.synchCall(this.servicePath+'/admins/GetExcludedRoles'+queryString);}
PinkCommonCalls.prototype.getExcludedSecurityRoles=function(securityId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetExcludedSecurityRoles.json',{id:securityId},callback);}
PinkCommonCalls.prototype.getFootnoteMaster=function(callback)
{this.asynchCall(this.servicePath+'/member/GetFootnoteMaster.json',callback);}
PinkCommonCalls.prototype.getMarketMakerWorklist=function(filter,callback){return this.asynchPostMap(this.servicePath+'/quote/GetMarketMakerWorklist',filter,callback);}
PinkCommonCalls.prototype.getMarketMakerLocationWorklist=function(parentId,callback){return this.asynchCall(this.servicePath+'/quote/GetMarketMakerLocationWorklist'+this.toQueryString('','parentId',parentId),callback);}
PinkCommonCalls.prototype.getMktReportUsers=function(securityId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetMktReportUsers.json',{id:securityId},callback);}
PinkCommonCalls.prototype.getMMIDs=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/quote/GetMMIDs',filter,callback);}
PinkCommonCalls.prototype.getGlobalInfo=function(callback)
{this.asynchCall(this.servicePath+'/admin/GetGlobalInfo.json',callback);}
PinkCommonCalls.prototype.getHistoryPriceWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/quote/GetHistoryPriceWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getMyCompanies=function(name)
{return this.synchCall(this.servicePath+'/member/GetMyCompanies'+
toHttpParameter(FIELD_COMPANY_NAME,name,'?'));}
PinkCommonCalls.prototype.getMyCompaniesAsListItems=function(name)
{return this.synchCall(this.servicePath+'/member/GetMyCompaniesAsListItems'+
toHttpParameter(FIELD_COMPANY_NAME,name,'?'));}
PinkCommonCalls.prototype.getMyCustomerRoles=function(callback)
{this.asynchCall(this.servicePath+'/quote/GetMyCustomerRoles',callback);}
PinkCommonCalls.prototype.getMyCustomerUser=function(callback)
{this.asynchCall(this.servicePath+'/quote/GetMyCustomerUser',callback);}
PinkCommonCalls.prototype.getCompSymbolInfo=function(symbol,callback)
{this.asynchPostMap(this.servicePath+'/GetCompSymbolInfo.json',{symbol:symbol},callback);}
PinkCommonCalls.prototype.getCompSymbolsAsListItems=function(name,pageSize,callback)
{var queryString=this.toQueryString('',FIELD_NAME,name);queryString=this.toQueryString(queryString,FIELD_LIMIT,pageSize);var url=this.servicePath+'/GetCompSymbolsAsListItems'+queryString;if(undefined!=callback)
this.asynchCall(url,callback);else
return this.synchCall(url);}
PinkCommonCalls.prototype.getLevel2SecuritiesWorklist=function(page,pageSize,callback)
{return this.asynchPostMap(this.servicePath+'/GetLevel2SecuritiesWorklist.json',{page:page,pageSize:pageSize},callback);}
PinkCommonCalls.prototype.getMarketMakerServicePage=function(value,callback)
{this.asynchCall(this.servicePath+'/admin/GetMarketMakerServicePage.json',callback);}
PinkCommonCalls.prototype.getMarketMakerServices=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admin/GetMarketMakerServices.json',filter,callback);}
PinkCommonCalls.prototype.getNewListingsWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetNewListingsWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getOpenCloseTraderWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/quote/GetOpenCloseTraderWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getPiggybackQualifiedWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetPiggybackQualifiedWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getPlinkAdMMWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/quote/GetPlinkAdMMWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getPlinkWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/quote/GetPlinkWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getQuoteBlock=function(securityId,symbol)
{var queryString=this.toQueryString('',FIELD_SECURITY,securityId);queryString=this.toQueryString(queryString,FIELD_SYMBOL,symbol);return this.synchCall(this.servicePath+'/GetQuoteBlock'+queryString);}
PinkCommonCalls.prototype.getQXNarrowWorklist=function(page,pageSize,callback)
{this.asynchPostMap(this.servicePath+'/GetQXNarrowWorklist.json',{page:page,pageSize:pageSize},callback);}
PinkCommonCalls.prototype.getQXSecurities=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetQXSecurities.json',filter,callback);}
PinkCommonCalls.prototype.getQXSecurityBySymbol=function(symbol,callback)
{this.asynchPostMap(this.servicePath+'/GetQXSecurityBySymbol.json',{symbol:symbol},callback);}
PinkCommonCalls.prototype.getReportingServiceProviderContacts=function(companyId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetReportingServiceProviderContacts.json',{id:companyId},callback);}
PinkCommonCalls.prototype.getRevokedSuspendedWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetRevokedSuspendedWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getRoles=function(callback)
{this.asynchCall(this.servicePath+'/admins/GetRoles',callback);}
PinkCommonCalls.prototype.getSecurities=function(companyId,callback)
{this.asynchPostMap(this.servicePath+'/member/GetSecurities.json',{id:companyId},callback);}
PinkCommonCalls.prototype.getSecuritiesAsListItems=function(companyId)
{return this.synchCall(this.servicePath+'/member/GetSecuritiesAsListItems?'+FIELD_COMPANY+'='+companyId);}
PinkCommonCalls.prototype.getSecuritiesByCompAndSecServiceRole=function(companyId,secServiceRoleId,callback)
{var url=this.servicePath+'/member/GetSecuritiesByCompAndSecServiceRole?'+FIELD_COMPANY+'='+companyId+'&'+FIELD_ROLE_ID+'='+secServiceRoleId;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getSecurityInfo=function(symbol,callback)
{var url=this.servicePath+'/GetSecurityInfo?symbol='+symbol;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getSecurityInfoByCusip=function(cusip,callback)
{var url=this.servicePath+'/GetSecurityInfo?cusip='+cusip;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getSecurityInfoById=function(securityId,callback)
{var url=this.servicePath+'/GetSecurityInfo?id='+securityId;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getSecurityServices=function(securityId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetSecurityServices.json',{id:securityId},callback);}
PinkCommonCalls.prototype.getSecurityServicesPage=function(securityId,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetSecurityServicesPage.json',{id:securityId},callback);}
PinkCommonCalls.prototype.getSecurityIdFromSearchString=function(searchString,callback)
{var url=this.servicePath+'/GetSecurityIdFromSearchString.json'+toHttpParameter('id',searchString,'?');if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getServiceProvider=function(id,callback)
{this.asynchPostMap(this.servicePath+'/GetServiceProvider',{id:id},callback);}
PinkCommonCalls.prototype.getServiceProviderWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetServiceProviderWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getShoHistoryDatesAsListItems=function(pageSize,callback)
{var queryString=this.toQueryString('',FIELD_LIMIT,pageSize);var url=this.servicePath+'/GetShoHistoryDatesAsListItems'+queryString;this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getShoHistoryWorklist=function(criteria,callback)
{this.asynchPostMap(this.servicePath+'/GetShoHistoryWorklist.json',criteria,callback);}
PinkCommonCalls.prototype.getShortInterestDatesAsListItems=function(pageSize,callback)
{var queryString=this.toQueryString('',FIELD_LIMIT,pageSize);var url=this.servicePath+'/GetShortInterestDatesAsListItems'+queryString;this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getShortInterestWorklist=function(criteria,callback)
{this.asynchPostMap(this.servicePath+'/GetShortInterestWorklist.json',criteria,callback);}
PinkCommonCalls.prototype.getSplitsWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetSplitsWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getStatesAsListItemsByCountry=function(countryId,callback)
{var url=this.servicePath+'/GetStates?'+FIELD_COUNTRY+'='+countryId;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getStatesWithHeader=function(countryId,callback)
{this.asynchPostMap(this.servicePath+'/GetStatesWithHeader.json',{id:countryId},callback);}
PinkCommonCalls.prototype.getStatesXAsListItemsByCountry=function(countryId,callback)
{var url=this.servicePath+'/GetStatesX?'+FIELD_COUNTRY+'='+countryId;if(undefined==callback)
return this.synchCall(url);this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getSymbolAndNameChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetSymbolAndNameChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getSymbolChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetSymbolChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getTierChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetTierChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getTierInfoBySymbol=function(symbol)
{return this.synchCall(this.servicePath+'/GetTierInfo?'+FIELD_SYMBOL+'='+symbol);}
PinkCommonCalls.prototype.getTiersAsListItems=function(callback)
{this.asynchCall(this.servicePath+'/GetTiersAsListItems',callback);}
PinkCommonCalls.prototype.getTiersXAsListItems=function(callback)
{this.asynchCall(this.servicePath+'/GetTiersXAsListItems',callback);}
PinkCommonCalls.prototype.getTierSecurityStatsWorklist=function(callback)
{this.asynchCall(this.servicePath+'/GetTierSecurityStatsWorklist.json',callback);}
PinkCommonCalls.prototype.getTimeAndSalesAnalytics=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetTimeAndSalesAnalytics.json',filter,callback);}
PinkCommonCalls.prototype.getTimeAndSalesFilterOptions=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetTimeAndSalesFilterOptions.json',filter,callback);}
PinkCommonCalls.prototype.getTimeAndSalesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetTimeAndSalesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getTradeStatSummary=function(tierGroupId,callback)
{this.asynchCall(this.servicePath+'/GetTradeStatSummary.json?tierGroupId='+tierGroupId,callback);}
PinkCommonCalls.prototype.getTradeStatsWorklist=function(filter,callback)
{return this.asynchPostMap(this.servicePath+'/GetTradeStatsWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getTransferAgent=function(id,callback)
{return this.asynchPostMap(this.servicePath+'/GetTransferAgent.json',{id:id},callback);}
PinkCommonCalls.prototype.getTransferAgentWorklist=function(filter,callback)
{return this.asynchPostMap(this.servicePath+'/GetTransferAgentWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getUserAdmin=function(id,callback)
{var url=this.servicePath+'/admin/GetUserAdmin';if(undefined!=id)
url+='?'+FIELD_ID+'='+id;this.asynchCall(url,callback);}
PinkCommonCalls.prototype.getUserAdminEntryInfo=function(filter,callback)
{return this.asynchPostMap(this.servicePath+'/admins/GetUserAdminEntryInfo',filter,callback);}
PinkCommonCalls.prototype.getUserInfoByUser=function(userId)
{return this.synchCall(this.servicePath+'/admin/GetUserInfo?'+FIELD_USER+'='+userId);}
PinkCommonCalls.prototype.getUserMin=function(callback)
{this.asynchCall(this.servicePath+'/member/GetUserMin.json',callback);}
PinkCommonCalls.prototype.getUserProfile=function(callback)
{this.asynchCall(this.servicePath+'/GetUserProfile',callback);}
PinkCommonCalls.prototype.getUserProfileEntryInfo=function(callback)
{return this.asynchCall(this.servicePath+'/GetUserProfileEntryInfo',callback);}
PinkCommonCalls.prototype.getUserRoleCompanyWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetUserRoleCompanyWorklist',filter,callback);}
PinkCommonCalls.prototype.getUserRoleCustomerPage=function(callback)
{this.asynchCall(this.servicePath+'/admins/GetUserRoleCustomerPage',callback);}
PinkCommonCalls.prototype.getUserRoleCustomerWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/admins/GetUserRoleCustomerWorklist',filter,callback);}
PinkCommonCalls.prototype.getUserScreenNames=function(screenName)
{return this.synchCall(this.servicePath+'/member/GetUserScreenNames?'+FIELD_SCREEN_NAME+'='+screenName);}
PinkCommonCalls.prototype.getUserSearchFilterPage=function(value,callback)
{return this.asynchPostMap(this.servicePath+'/admins/GetUserSearchFilterPage',value,callback);}
PinkCommonCalls.prototype.getUserWorklist=function(filter,callback)
{return this.asynchPostMap(this.servicePath+'/admin/GetUserWorklist',filter,callback);}
PinkCommonCalls.prototype.getVenueBySymbol=function(symbol)
{return this.synchCall(this.servicePath+'/GetVenue?'+FIELD_SYMBOL+'='+symbol);}
PinkCommonCalls.prototype.getVenueChangesWorklist=function(filter,callback)
{this.asynchPostMap(this.servicePath+'/GetVenueChangesWorklist.json',filter,callback);}
PinkCommonCalls.prototype.getVenuesAsListItems=function(callback)
{this.asynchCall(this.servicePath+'/GetVenuesAsListItems',callback);}
PinkCommonCalls.prototype.hasAccount=function(symbol)
{var queryString=this.toQueryString('',FIELD_SYMBOL,symbol);return this.synchCall(this.servicePath+'/HasAccount'+queryString);}
PinkCommonCalls.prototype.hasPrivileges=function(){return this.synchCall(this.servicePath+'/HasPrivileges');}
PinkCommonCalls.prototype.hasSecurityService=function(securityId,roleId)
{return this.synchCall(this.servicePath+'/member/HasSecurityService?'+FIELD_SECURITY+'='+securityId+'&'+FIELD_ROLE_ID+'='+roleId);}
PinkCommonCalls.prototype.hasService=function(companyId,roleId)
{return this.synchCall(this.servicePath+'/admins/HasService?'+FIELD_COMPANY+'='+companyId+'&'+FIELD_ROLE_ID+'='+roleId);}
PinkCommonCalls.prototype.hasUserToken=function(userName)
{return this.synchCall(this.servicePath+'/HasUserToken'+this.toQueryString('',FIELD_USER_NAME,userName));}
PinkCommonCalls.prototype.isExternalUser=function(){return this.synchCall(this.servicePath+'/IsExternalUser');}
PinkCommonCalls.prototype.listCustomerLocations=function(customerId,callback)
{this.asynchPostMap(this.servicePath+'/admins/ListCustomerLocations.json',{id:customerId},callback);}
PinkCommonCalls.prototype.setAdditionalEmails=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetAdditionalEmails.json',value,callback);}
PinkCommonCalls.prototype.setCompanyAccount=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCompanyAccount.json',this.convertAll(value),callback);}
PinkCommonCalls.prototype.logRequest=function(applicationId,uri,symbol)
{var map=new Object();map[FIELD_APPLICATION_ID]=applicationId;map[FIELD_URI]=uri;map[FIELD_SYMBOL]=symbol;this.asynchPostMap(this.servicePath+'/LogRequest',map,this);}
PinkCommonCalls.prototype.handleRequestData=function(value){}
PinkCommonCalls.prototype.setCompanyService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCompanyService.json',value,callback);}
PinkCommonCalls.prototype.setCompanyUser=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCompanyUser.json',value,callback);}
PinkCommonCalls.prototype.setCustomer=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCustomer.json',value,callback);}
PinkCommonCalls.prototype.setCustomerLocation=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCustomerLocation.json',value,callback);}
PinkCommonCalls.prototype.setCustomerUser=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetCustomerUser.json',value,callback);}
PinkCommonCalls.prototype.setGlobalInfo=function(value,callback)
{return this.asynchPostMap(this.servicePath+'/admin/SetGlobalInfo.json',value,callback);}
PinkCommonCalls.prototype.setMarketMakerService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admin/SetMarketMakerService.json',value,callback);}
PinkCommonCalls.prototype.setSecurityService=function(value,callback)
{this.asynchPostMap(this.servicePath+'/admins/SetSecurityService.json',value,callback);}
PinkCommonCalls.prototype.setUserActivation=function(theForm)
{return this.synchPostForm(this.servicePath+'/admin/SetUserActivation',theForm);}
PinkCommonCalls.prototype.setUserAdmin=function(theForm)
{return this.synchPostForm(this.servicePath+'/admin/SetUserAdmin',theForm);}
PinkCommonCalls.prototype.setUserCredentials=function(value,callback)
{this.asynchPostMap(this.servicePath+'/member/SetUserCredentials.json',value,callback);}
PinkCommonCalls.prototype.setUserProfile=function(theForm)
{return this.synchPostForm(this.servicePath+'/SetUserProfile',theForm);}
PinkCommonCalls.prototype.setUserRoleCustomer=function(value)
{return this.synchPostMap(this.servicePath+'/admins/SetUserRoleCustomer',value);}
PinkCommonCalls.prototype.submitUserSignUpForm=function(signupform)
{return this.synchPostMap(this.servicePath+'/UserSignUpForm',signupform);}
PinkCommonCalls.prototype.updateCompanyProfile=function(map)
{var data='<data count="1"><item>';for(var id in map)
{var value=map[id];if((undefined==value)||(0<id.indexOf(' '))||(0<id.indexOf(',')))
continue;data+='<'+id+'><![CDATA['+map[id]+']]></'+id+'>';}
data+='</item></data>';return this.synchPostXml(this.servicePath+'/UpdateCompanyProfile',data);}
PinkCommonCalls.prototype.updateCustomers=function(value)
{return this.synchPostXml(this.servicePath+'/admins/UpdateCustomers',value);}
PinkCommonCalls.prototype.updateUsers=function(value)
{return this.synchPostXml(this.servicePath+'/admins/UpdateUsers',value);}

function AnchorList(body)
{this.body=body;}
AnchorList.prototype.run=function(criteria,body)
{if(undefined!=body)
criteria.body=body;else if(undefined==criteria.body)
criteria.body=this.body;criteria.body.innerHTML='';var ids=criteria.listItems.ids;var values=criteria.listItems.values;if(undefined!=criteria.defaultValue)
criteria.body.appendChild(this.outputItem(undefined,criteria.defaultValue,criteria));var separator=criteria.separator;for(var i=0;i<ids.length;i++)
{if((undefined!=separator)&&criteria.body.hasChildNodes())
criteria.body.appendChild(document.createTextNode(separator));criteria.body.appendChild(this.outputItem(ids[i],values[i],criteria));}}
AnchorList.prototype.onClick=function(ev)
{var me=this.myCallback;var criteria=this.myCriteria;var id=this.myId;var value=this.myValue;criteria.callback.handleAnchorSelect(id,value,criteria);criteria.selectedItem=id;me.run(criteria);return false;}
AnchorList.prototype.outputItem=function(id,value,criteria)
{var output;if(criteria.selectedItem==id)
{output=document.createElement('span');output.className='selected';output.appendChild(document.createTextNode(value));}
else
{output=document.createElement('a');output.href='javascript:void(null);';output.myCallback=this;output.myCriteria=criteria;output.myId=id;output.myValue=value;output.onclick=this.onClick;output.className='normal';output.appendChild(document.createTextNode(value));}
return output;}
function AnchorListCriteria(listItems,selectedItem,callback,defaultValue,separator)
{this.listItems=listItems;this.selectedItem=selectedItem;this.callback=callback;this.defaultValue=defaultValue;this.separator=separator;}

function Calendar(body,callback)
{this.body=body;this.callback=callback;this.isOpen=false;}
Calendar.CSS_CONTAINER='calendarContainer';Calendar.prototype.CSS_INPUT='calendarField';Calendar.getInstance=function(callback)
{if(!this.body)
{var elem=this.body=document.createElement('div');elem.className=Calendar.CSS_CONTAINER;document.body.insertBefore(elem,document.body.firstChild);}
return new Calendar(this.body,callback);}
Calendar.prototype.MONTHS=['January','February','March','April','May','June','July','August','September','October','November','December'];Calendar.prototype.LAST_DAYS=[31,28,31,30,31,30,31,31,30,31,30,31];Calendar.prototype.DAYS=['Sun','Mon','Tues','Wed','Thur','Fri','Sat'];Calendar.prototype.getDaysInMonth=function(month,year)
{if(1!=month)
return this.LAST_DAYS[month];var offset=(0==(year%4))?1:0;return this.LAST_DAYS[month]+offset;}
Calendar.prototype.createField=function(name,value)
{var o=InputField.genTextBox(name,10,12);o.className=this.CSS_INPUT;if(value)
{o.myDate=value;o.value=Formatter.toInputDate(value);}
var me=this;o.onfocus=function(ev){if(this.myDate)me.doWhen(this.myDate,this);else me.doNow(this);};o.onchange=function(ev)
{try
{var v=this.value;if(0==v.length)
this.myDate=undefined;else
this.myDate=Formatter.fromInputDate(v);if(me.callback&&me.callback.handleCalendarSelect)
me.callback.handleCalendarSelect(this.myDate,this);}
catch(error)
{window.alert(error);var a=this;setTimeout(function(){a.focus();},200);}}
return o;}
Calendar.prototype.doNow=function(offsetElem,body)
{var now=new Date();this.run(new CalendarCriteria(new Date(now.getFullYear(),now.getMonth(),now.getDate()),offsetElem),body);}
Calendar.prototype.doWhen=function(when,offsetElem,body)
{this.run(new CalendarCriteria(when,offsetElem),body);}
Calendar.prototype.doString=function(whenString,offsetElem,body)
{this.doWhen(Formatter.fromInputDate(whenString),offsetElem,body);}
Calendar.prototype.run=function(criteria,body)
{if(undefined!=body)
criteria.body=body;else if(undefined==criteria.body)
criteria.body=this.body;var elem=criteria.offsetElem;elem.myCalendar=this;elem.onkeydown=this.offsetElem_onKeyDown;this.addEventListener(elem,'blur',this.scheduleClose);criteria.body.innerHTML='';criteria.body.appendChild(this.generate(criteria,this));this.open();positionLeftAndBelowElement(criteria.body,criteria.offsetElem);this.criteria=criteria;}
Calendar.prototype.generate=function(value,callback)
{var output=document.createElement('table');var tr,td,cells,rows=0;output.border=1;output.cellSpacing=0;output.cellPadding=2;tr=output.insertRow(rows++);tr.className='calendarCaption';td=tr.insertCell(0);td.colSpan=this.DAYS.length;td.appendChild(this.genHeader(value,callback));tr=output.insertRow(rows++);tr.className='calendarHeader';for(var i=0;i<this.DAYS.length;i++)
{td=tr.insertCell(i);td.className='calendarHeader';td.appendChild(document.createTextNode(this.DAYS[i]));}
var today=value.when.getDate();var when=new Date(value.when.getTime());when.setDate(1);var dayOffset=when.getDay();tr=output.insertRow(rows++);cells=0;if(0<dayOffset)
{td=tr.insertCell(cells++);td.colSpan=dayOffset;td.innerHTML='&nbsp;';td.className='calendarDay';}
var daysInMonth=this.getDaysInMonth(when.getMonth(),when.getFullYear());for(var i=1;i<=daysInMonth;i++)
{if(this.DAYS.length<=dayOffset)
{dayOffset=0;tr=output.insertRow(rows++);cells=0;}
var cssClass='calendarDay';if(today==i)
cssClass='calendarSelected';td=tr.insertCell(cells++);td.className=cssClass;td.appendChild(this.createAnchor(i,this.handleSelection,value,callback,i));dayOffset++;}
if(this.DAYS.length>dayOffset)
{td=tr.insertCell(cells++);td.colSpan=this.DAYS.length-dayOffset;td.innerHTML='&nbsp;';td.className='calendarDay';}
tr=output.insertRow(rows++);tr.className='calendarFooter';td=tr.insertCell(0);td.colSpan=this.DAYS.length;td.appendChild(this.genFooter(value,callback));return output;}
Calendar.prototype.genHeader=function(value,callback)
{var output=document.createElement('table');output.border=0;output.cellSpacing=0;output.cellPadding=0;output.style.width='100%';var tr,td,rows=0;tr=output.insertRow(rows++);td=tr.insertCell(0);td.style.width='50%';td.className='calendarCaption';td.appendChild(this.createAnchor('&lt;',callback.changeMonth,value,callback,-1));td.appendChild(this.createSpace());td.appendChild(document.createTextNode(this.MONTHS[value.when.getMonth()]));td.appendChild(this.createSpace());td.appendChild(this.createAnchor('&gt;',callback.changeMonth,value,callback,1));td=tr.insertCell(1);td.style.width='50%';td.className='calendarCaption';td.appendChild(this.createAnchor('&lt;',callback.changeYear,value,callback,-1));td.appendChild(this.createSpace());td.appendChild(document.createTextNode(value.when.getFullYear()));td.appendChild(this.createSpace());td.appendChild(this.createAnchor('&gt;',callback.changeYear,value,callback,1));return output;}
Calendar.prototype.genFooter=function(value,callback)
{var output=document.createElement('table');output.border=0;output.cellSpacing=0;output.cellPadding=0;output.style.width='100%';var tr,td,rows=0;tr=output.insertRow(rows++);td=tr.insertCell(0);td.style.width='50%';td.className='calendarFooter';td.appendChild(this.createAnchor('Today',callback.handleToday,value,callback));td=tr.insertCell(1);td.style.width='50%';td.className='calendarFooter';td.appendChild(this.createAnchor('Close',callback.handleClose,value,callback));return output;}
Calendar.prototype.createAnchor=function(caption,action,value,callback,extra)
{var output=document.createElement('a');output.href='javascript:void(null)';output.myCalendar=callback;output.myRecord=value;output.myExtra=extra;output.innerHTML=caption;this.addEventListener(output,'click',callback.cancelClose);this.addEventListener(output,'click',action);this.addEventListener(output,'blur',callback.scheduleClose);return output;}
Calendar.prototype.createSpace=function()
{var output=document.createElement('span');output.innerHTML='&nbsp;&nbsp;';return output;}
Calendar.prototype.changeMonth=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;var me=that.myCalendar;var criteria=that.myRecord;var tick=that.myExtra;criteria.when.setMonth(criteria.when.getMonth()+tick);me.run(criteria);}
Calendar.prototype.changeYear=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;var me=that.myCalendar;var criteria=that.myRecord;var tick=that.myExtra;criteria.when.setFullYear(criteria.when.getFullYear()+tick);me.run(criteria);}
Calendar.prototype.handleSelection=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;var me=that.myCalendar;var criteria=that.myRecord;criteria.when.setDate(that.myExtra);me.handleSelection_(criteria);}
Calendar.prototype.handleSelection_=function(criteria)
{this.close();var w=criteria.when;var e=criteria.offsetElem;e.myDate=w;this.callback.handleCalendarSelect(w,e);}
Calendar.prototype.handleToday=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;var me=that.myCalendar;var criteria=that.myRecord;criteria.when=new Date();me.handleSelection_(criteria);}
Calendar.prototype.handleClose=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;that.myCalendar.close();}
Calendar.prototype.open=function()
{this.continueWithClose=false;if(this.isOpen)
return;this.body.style.display='block';this.isOpen=true;if(undefined!=this.callback.handleCalendarOpen)
this.callback.handleCalendarOpen();}
Calendar.prototype.close=function()
{if(!this.isOpen)
return;this.body.style.display='none';this.isOpen=false;if(undefined!=this.callback.handleCalendarClose)
this.callback.handleCalendarClose();}
Calendar.prototype.cancelClose=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;that.myCalendar.continueWithClose=false;}
Calendar.prototype.scheduleClose=function(ev)
{var that=(this.myCalendar)?this:event.srcElement;var me=that.myCalendar;me.continueWithClose=true;window.setTimeout(function(){if(me.continueWithClose)me.close();},1000);}
Calendar.prototype.addEventListener=function(target,type,action)
{if(target.addEventListener)
target.addEventListener(type,action,false);else
target.attachEvent('on'+type,action);}
Calendar.prototype.offsetElem_onKeyDown=function(ev)
{if(KEY_ESCAPE==getKeyCode(ev))
{this.myCalendar.close();return false;}
return true;}
function CalendarCriteria(when,offsetElem)
{this.when=when;this.offsetElem=offsetElem;}

function ActivationStatus(count,activated)
{this.count=count;this.activated=activated;}
function ActivationStatusValue(ids,newStatus)
{this.ids=ids;this.newStatus=newStatus;}
function AdvancedSecuritySearchPO(venueOptions,issueTypeOptions,localeOptions,tierOptions,countryOptions,typeOptions)
{this.venueOptions=venueOptions;this.issueTypeOptions=issueTypeOptions;this.localeOptions=localeOptions;this.tierOptions=tierOptions;this.countryOptions=countryOptions;this.typeOptions=typeOptions;}
function BaseUrlsInfo(pinkCommon,pinkSheets,pinkForums,otciqBaseUrl,otcqxBaseUrl,content,syndicate,otcquote,hist)
{this.pinkCommon=pinkCommon;this.pinkSheets=pinkSheets;this.pinkForums=pinkForums;this.otciqBaseUrl=otciqBaseUrl;this.otcqxBaseUrl=otcqxBaseUrl;this.content=content;this.syndicate=syndicate;this.otcquote=otcquote;this.hist=hist;}
function ChangedCompanyServiceStatus(id,isActive)
{this.id=id;this.isActive=isActive;}
function ChangedContactAddressStatus(companyId,isActive)
{this.companyId=companyId;this.isActive=isActive;}
function ChangedSecurityServiceStatus(id,isActive)
{this.id=id;this.isActive=isActive;}
function ChangedUserRoleCompanyStatus(id,isActive)
{this.id=id;this.isActive=isActive;}
function ChangedDailyReportStatus(id,isDailyReport)
{this.id=id;this.isDailyReport=isDailyReport;}
function ChangedWeeklyReportStatus(id,isWeeklyReport)
{this.id=id;this.isWeeklyReport=isWeeklyReport;}
function ChangedHtmlEmailStatus(id,isHtmlEmailFormat)
{this.id=id;this.isHtmlEmailFormat=isHtmlEmailFormat;}
function CompanyProfileItem(id,name,city,state,zip,countryId,country,address1,address2,address3,website,phone,fax,businessDesc,stateOfIncorporation,stateOfIncorporation2,countryOfIncorporation,yearOfIncorporation,officers,fiscalYearEnd,edgarFilingStatus,cik,auditStatus,companyNotes,email,numberOfEmployees,numberOfEmployeesAsOf,primarySicCode,businessIndicator,auditor,investorRelationFirm,legalCounsel,dad,pal,securities,unableToContact,estimatedMarketCap,estimatedMarketCapAsOfDate,otherContacts,isShell,countryOfIncorporationName,isBankThrift,isNonBankRegulated,regulatoryAgencyId,regulatoryAgencyName,deregistered,deregistrationDate,filingCycle,researchReports)
{this.id=id;this.name=name;this.city=city;this.state=state;this.zip=zip;this.countryId=countryId;this.country=country;this.address1=address1;this.address2=address2;this.address3=address3;this.website=website;this.phone=phone;this.fax=fax;this.businessDesc=businessDesc;this.stateOfIncorporation=stateOfIncorporation;this.stateOfIncorporation2=stateOfIncorporation2;this.countryOfIncorporation=countryOfIncorporation;this.yearOfIncorporation=yearOfIncorporation;this.officers=officers;this.fiscalYearEnd=fiscalYearEnd;this.edgarFilingStatus=edgarFilingStatus;this.cik=cik;this.auditStatus=auditStatus;this.companyNotes=companyNotes;this.email=email;this.numberOfEmployees=numberOfEmployees;this.numberOfEmployeesAsOf=numberOfEmployeesAsOf;this.primarySicCode=primarySicCode;this.businessIndicator=businessIndicator;this.auditor=auditor;this.investorRelationFirm=investorRelationFirm;this.legalCounsel=legalCounsel;this.dad=dad;this.pal=pal;this.securities=securities;this.unableToContact=unableToContact;this.estimatedMarketCap=estimatedMarketCap;this.estimatedMarketCapAsOfDate=estimatedMarketCapAsOfDate;this.otherContacts=otherContacts;this.isShell=isShell;this.countryOfIncorporationName=countryOfIncorporationName;this.isBankThrift=isBankThrift;this.isNonBankRegulated=isNonBankRegulated;this.regulatoryAgencyId=regulatoryAgencyId;this.regulatoryAgencyName=regulatoryAgencyName;this.deregistered=deregistered;this.deregistrationDate=deregistrationDate;this.filingCycle=filingCycle;this.researchReports=researchReports;}
function CompanyNoteItem(note)
{this.note=note;}
function CompanyProfileCriteria(companyId,securityId)
{this.securityId=securityId;this.companyId=companyId;}
CompanyProfileCriteria.prototype.getKey=function(){return(undefined!=companyId)?companyId:securityId;}
function CompanyProfilePO(countries,states,businessStages,regulatoryAgencies,securityManuals,sicCodes,titles,filingCycles)
{this.countries=countries;this.states=states;this.businessStages=businessStages;this.regulatoryAgencies=regulatoryAgencies;this.securityManuals=securityManuals;this.sicCodes=sicCodes;this.titles=titles;this.filingCycles=filingCycles;}
function CompanySimple(id,name,city,stateName,countryName,location,primarySecurityId,primarySymbol,primaryExchange,accountNo)
{this.id=id;this.compId=id;this.name=name;this.city=city;this.stateName=stateName;this.countryName=countryName;this.location=location;this.primarySecurityId=primarySecurityId;this.primarySymbol=primarySymbol;this.primaryExchange=primaryExchange;this.accountNo=accountNo;this.symbol=primarySymbol;}
CompanySimple.prototype.getId=function(){return this.id;}
CompanySimple.prototype.getValue=function()
{var output=this.name;if(undefined!=this.location)
output+=', '+this.location;return output;}
function CompSymbolValue(symbol,companyName)
{this.symbol=symbol;this.companyName=companyName;}
function CompanyUserInfo(id,userId,fullName,emailAddress,title,phone,isUserRoleActive,tokenId)
{this.id=id;this.userId=userId;this.fullName=fullName;this.emailAddress=emailAddress;this.title=title;this.phone=phone;this.isUserRoleActive=isUserRoleActive;this.tokenId=tokenId;}
function CompanyUserWorklist(singular,plural,records,pageNavInfo)
{this.singular=singular;this.plural=plural;this.records=records;this.pageNavInfo=pageNavInfo;}
function CompanyWorklist(singular,plural,records,pageNavInfo,sortOn,sortDir)
{this.singular=singular;this.plural=plural;this.records=records;this.pageNavInfo=pageNavInfo;this.sortOn=sortOn;this.sortDir=sortDir;}
function CustomerPage(states,countries,serviceTypes)
{this.states=states;this.countries=countries;this.serviceTypes=serviceTypes;}
function CustomerUserStatus(accountNo,approachingEndDate,pastEndDate,pastExtensionDate,endDate,extensionDate,daysToEndDate,daysToExtensionDate,endDateX,extensionDateX,nasdaqAgreementVersion,agreed)
{this.accountNo=accountNo;this.approachingEndDate=approachingEndDate;this.pastEndDate=pastEndDate;this.pastExtensionDate=pastExtensionDate;this.endDate=endDate;this.extensionDate=extensionDate;this.daysToEndDate=daysToEndDate;this.daysToExtensionDate=daysToExtensionDate;this.endDateX=endDateX;this.extensionDateX=extensionDateX;this.nasdaqAgreementVersion=nasdaqAgreementVersion;this.agreed=agreed;}
function GlobalInfoValue(id,name,pinkSheetsBaseUrl,pinkContentBaseUrl,pinkCommonBaseUrl,pinkForumsBaseUrl,adminEmailAddress,supportEmailAddress,issuerAlertsEmailAddress,issuerServicesEmailAddress,analyzeLegacyDbInterval,otciqBaseUrl,otcqxBaseUrl,infoEmailAddress,tradingServicesEmailAddress,syndicateBaseUrl,syndicateTitle,customerWarningDays,nasdaqAgreementVersion,otcquoteBaseUrl,histBaseUrl,showOtcqxAd,otcqxAdDays)
{this.id=id;this.name=name;this.pinkSheetsBaseUrl=pinkSheetsBaseUrl;this.pinkContentBaseUrl=pinkContentBaseUrl;this.pinkCommonBaseUrl=pinkCommonBaseUrl;this.pinkForumsBaseUrl=pinkForumsBaseUrl;this.adminEmailAddress=adminEmailAddress;this.supportEmailAddress=supportEmailAddress;this.issuerAlertsEmailAddress=issuerAlertsEmailAddress;this.issuerServicesEmailAddress=issuerServicesEmailAddress;this.analyzeLegacyDbInterval=analyzeLegacyDbInterval;this.otciqBaseUrl=otciqBaseUrl;this.otcqxBaseUrl=otcqxBaseUrl;this.infoEmailAddress=infoEmailAddress;this.tradingServicesEmailAddress=tradingServicesEmailAddress;this.syndicateBaseUrl=syndicateBaseUrl;this.syndicateTitle=syndicateTitle;this.customerWarningDays=customerWarningDays;this.nasdaqAgreementVersion=nasdaqAgreementVersion;this.otcquoteBaseUrl=otcquoteBaseUrl;this.histBaseUrl=histBaseUrl;this.showOtcqxAd=showOtcqxAd;this.otcqxAdDays=otcqxAdDays;}
function CoordInfo(x,y)
{this.x=x;this.y=y;}
function Credentials(userName,password)
{this.userName=userName;this.password=password;}
function ForgotPassword(emailAddress)
{this.emailAddress=emailAddress;}
function ListItemInfo(ids,values,totalRecords)
{this.ids=ids;this.values=values;this.totalRecords=totalRecords;}
function ListItemExt(id,name,iconSource,comments)
{this.id=id;this.name=name;this.iconSource=iconSource;this.comments=comments;}
function ListQXSecurityInfo(singular,plural,sortOn,sortDir,pageNavInfo,records)
{this.singular=singular;this.plural=plural;this.sortOn=sortOn;this.sortDir=sortDir;this.pageNavInfo=pageNavInfo;this.records=records;}
function LoginInfo(userName,isSuccess,isFailure,isPending,isAuthorizationFailure)
{this.userName=userName;this.isSuccess=isSuccess;this.isFailure=isFailure;this.isPending=isPending;this.isAuthorizationFailure=isAuthorizationFailure;}
function MarketMakerFilter(name,nameAndId,searchType,sortOn,sortDir,page,pageSize,mmId,symbol)
{this.name=name;this.nameAndId=nameAndId;this.searchType=searchType;this.sortOn=sortOn;this.sortDir=sortDir;this.page=page;this.pageSize=pageSize;this.mmId=mmId;this.symbol=symbol;}
function MarketMakerValue(id,market,name,mmId,phone1,phone2,fax,contact,emailAddress,address1,address2,address3,city,stateId,zip,countryId,usFirm,suspended,companyName,companyPhone,companyFax,companyEmailAddress,techName,techPhone,techFax,techEmailAddress,removeUns,nasdaqForm){this.id=id;this.market=market;this.name=name;this.mmId=mmId;this.phone1=phone1;this.phone2=phone2;this.fax=fax;this.contact=contact;this.emailAddress=emailAddress;this.address1=address1;this.address2=address2;this.address3=address3;this.city=city;this.stateId=stateId;this.zip=zip;this.countryId=countryId;this.usFirm=usFirm;this.suspended=suspended;this.companyName=companyName;this.companyPhone=companyPhone;this.companyFax=companyFax;this.companyEmailAddress=companyEmailAddress;this.techName=techName;this.techPhone=techPhone;this.techFax=techFax;this.techEmailAddress=techEmailAddress;this.removeUns=removeUns;this.nasdaqForm=nasdaqForm;}
function MarketMakerWorklist(singular,plural,pageNavInfo,records,sortOn,sortDir){this.singular=singular;this.plural=plural;this.pageNavInfo=pageNavInfo;this.records=records;this.sortOn=sortOn;this.sortDir=sortDir;}
function MarketMakerLocationValue(id,address1,address2,address3,city,contact,complianceEmailAddress,complianceFax,complianceName,compliancePhone,countryId,emailAddress,fax,mmlid,name,nasdaqLocation,phone1,phone2,quotationAccount,stateId,suspnd,techEmailAddress,techFax,techName,techPhone,zip){this.id=id;this.address1=address1;this.address2=address2;this.address3=address3;this.city=city;this.contact=contact;this.complianceEmailAddress=complianceEmailAddress;this.contactFax=complianceFax;this.contactName=complianceName;this.contactPhone=compliancePhone;this.countryId=countryId;this.emailAddress=emailAddress;this.fax=fax;this.mmlid=mmlid;this.name=name;this.nasdaqLocations=nasdaqLocation;this.phone1=phone1;this.phone2=phone2;this.quotationAccount=quotationAccount;this.stateId=stateId;this.suspnd=suspnd;this.techEmailAddress=techEmailAddress;this.techfax=techFax;this.techName=techName;this.techPhone=techPhone;this.zip=zip;}
function MarketMakerLocationWorklist(singular,plural,pageNavInfo,records,sortOn,sortDir){this.singular=singular;this.plural=plural;this.pageNavInfo=pageNavInfo;this.records=records;this.sortOn=sortOn;this.sortDir=sortDir;}
function MktReportUserValue(id,secId,officerId,officerName,officerEmail,isWeeklyReport,isDailyReport,isHtmlEmailFormat,additionalEmails)
{this.id=id;this.secId=secId;this.officerId=officerId;this.officerName=officerName;this.officerEmail=officerEmail;this.isWeeklyReport=isWeeklyReport;this.isDailyReport=isDailyReport;this.isHtmlEmailFormat=isHtmlEmailFormat;this.additionalEmails=additionalEmails;}
function NotAuthenticatedException(message)
{this.isNotAuthenticatedException=true;this.message=message;}
NotAuthenticatedException.prototype.toString=function(){return this.message;}
function NotAuthorizedException(message)
{this.isNotAuthorizedException=true;this.message=message;}
NotAuthorizedException.prototype.toString=function(){return this.message;}
function OfficerItem(name,title,title1,title2,title3,email,phone,isPrimaryContact)
{this.name=name;this.title=title;this.title1=title1;this.title2=title2;this.title3=title3;this.email=email;this.phone=phone;this.isPrimaryContact=isPrimaryContact;}
OfficerItem.prototype.toString=function()
{var value=this.name;if(undefined!=this.title)
value+=' ('+this.title+')';return value;}
function PageInfo(title,url)
{this.title=title;this.url=url;}
function PageNavInfo(totalRecords,totalPages,currentPage,pageSize)
{this.totalRecords=totalRecords;this.totalPages=totalPages;this.currentPage=currentPage;this.pageSize=pageSize;}
function QuoteBlockValue(securityId,typeId,comments,startDate,endDate)
{this.securityId=securityId;this.typeId=typeId;this.comments=comments;this.startDate=startDate;this.endDate=endDate;}
function QXNarrowWorklist(singular,plural,records,pageNavInfo)
{this.singular=singular;this.plural=plural;this.records=records;this.pageNavInfo=pageNavInfo;}
function QXSecurityInfo(companyId,securityId,companyName,symbol,tier,dad,pal,industry,region,marketCap,lastSale,startDate)
{this.companyId=companyId;this.securityId=securityId;this.companyName=companyName;this.symbol=symbol;this.tier=tier;this.dad=dad;this.pal=pal;this.region=region;this.industry=industry;this.marketCap=marketCap;this.lastSale=lastSale;this.startDate=startDate;}
function ResearchReportValue(firmName,url)
{this.firmName=firmName;this.url=url;}
function RoleValue(id,name,isActive,isCompanyService,isSecurityService,isCustomerService)
{this.id=id;this.name=name;this.isActive=isActive;this.isCompanyService=isCompanyService;this.isSecurityService=isSecurityService;this.isCustomerService=isCustomerService;}
function RoleWorklist(records){this.records=records;}
function SecurityProfileItem(secId,symbol,issueName,issueType,outstandingShares,outstandingSharesAsOfDate,authorizedShares,authorizedSharesAsOfDate,publicFloat,publicFloatAsOfDate,numberOfShareHolders,numberOfShareHoldersAsOfDate,currentCapitalChange,currentCapitalChangeExDate,currentCapitalChangeRecordDate,currentCapitalChangePayDate,dividendNote,dividendAmount,dividendExDate,dividendPayDate,dividendRecordDate,securityNotes,transferAgents,tier,className,tierId,isOtcQX,isCaveatEmptor,categoryId,category,feId,feName,feIsQualified,feTier,feSymbol,authorizedSharesUnlimited,numOfBeneficialShareholders,numOfBeneficialShareholdersAsOfDate,isOtc)
{this.secId=secId;this.issueName=issueName;this.symbol=symbol;this.issueType=issueType;this.outstandingShares=outstandingShares;this.outstandingSharesAsOfDate=outstandingSharesAsOfDate;this.authorizedShares=authorizedShares;this.authorizedSharesAsOfDate=authorizedSharesAsOfDate;this.publicFloat=publicFloat;this.publicFloatAsOfDate=publicFloatAsOfDate;this.numberOfShareHolders=numberOfShareHolders;this.numberOfShareHoldersAsOfDate=numberOfShareHoldersAsOfDate;this.currentCapitalChange=currentCapitalChange;this.currentCapitalChangeExDate=currentCapitalChangeExDate;this.currentCapitalChangeRecordDate=currentCapitalChangeRecordDate;this.currentCapitalChangePayDate=currentCapitalChangePayDate;this.dividendNote=dividendNote;this.dividendAmount=dividendAmount;this.dividendExDate=dividendExDate;this.dividendPayDate=dividendPayDate;this.dividendRecordDate=dividendRecordDate;this.securityNotes=securityNotes;this.transferAgents=transferAgents;this.tier=tier;this.className=className;this.tierId=tierId;this.isOtcQX=isOtcQX;this.isCaveatEmptor=isCaveatEmptor;this.categoryId=categoryId;this.category=category;this.feId=feId;this.feName=feName;this.feIsQualified=feIsQualified;this.feTier=feTier;this.feSymbol=feSymbol;this.authorizedSharesUnlimited=authorizedSharesUnlimited;this.numOfBeneficialShareholders=numOfBeneficialShareholders;this.numOfBeneficialShareholdersAsOfDate=numOfBeneficialShareholdersAsOfDate;this.isOtc=isOtc;}
SecurityProfileItem.prototype.toString=function(){return this.issueName+' ('+this.symbol+')';}
function SecurityNoteItem(note)
{this.note=note;}
function SecurityInfo(secId,compId,companyName,issueName,symbol,primaryVenue,isOtc,isPinkSheets,statusName,className,tierId,tierName,isOtcQX,isCaveatEmptor,piggyBacked,noPar,parValue,parValueX,precisionIrUrl,cusip)
{this.secId=secId;this.compId=compId;this.companyName=companyName;this.issueName=issueName;this.symbol=symbol;this.primaryVenue=primaryVenue;this.primaryMarket=primaryVenue;this.venue=primaryVenue;this.isOtc=isOtc;this.isPinkSheets=isPinkSheets;this.statusName=statusName;this.className=className;this.tierId=tierId;this.tierName=tierName;this.isOtcQX=isOtcQX;this.isCaveatEmptor=isCaveatEmptor;this.piggyBacked=piggyBacked;this.noPar=noPar;this.parValue=parValue;this.parValueX=parValueX;this.precisionIrUrl=precisionIrUrl;this.cusip=cusip;}
function SecurityServiceInfo(id,roleId,roleName,startDate,endDate,isActive,startDateJs,endDateJs,secId,symbol,token)
{this.id=id;this.roleId=roleId;this.roleName=roleName;this.startDate=startDate;this.endDate=endDate;this.isActive=isActive;this.startDateJs=startDateJs;this.endDateJs=endDateJs;this.secId=secId;this.symbol=symbol;this.token=token;}
function ServiceProviderItem(id,name,address1,address2,address3,city,state,zip,country,location,website,fax,phone,contact1,contact1Email,contact2,contact2Email,contact3,contact3Email,email,isPublic,countryId)
{this.id=id;this.name=name;this.address1=address1;this.address2=address2;this.address3=address3;this.city=city;this.state=state;this.stateId=state;this.zip=zip;this.country=country;this.countryId=countryId;this.location=location;this.website=website
this.fax=fax;this.phone=phone;this.contact1=contact1;this.contact1Email=contact1Email;this.contact2=contact2;this.contact2Email=contact2Email;this.contact3=contact3;this.contact3Email=contact3Email;this.email=email;this.isPublic=isPublic;}
function ServiceProviderWorklistFilter(type,isDadPal,sortOn,sortDir,page,pageSize)
{this.type=type;this.isDadPal=isDadPal;this.sortOn=sortOn;this.sortDir=sortDir;this.page=page;this.pageSize=pageSize;}
function SecurityFilterValue(searchTypeId,symbol,companyName,page,limit)
{this.searchTypeId=searchTypeId;this.symbol=symbol;this.companyName=companyName;this.page=page;this.limit=limit;}
function ShortInterestFilter(positionDate,securityId,symbol,page,pageSize,sortOn,sortDir)
{this.positionDateX=positionDate;if(undefined!=positionDate)
this.positionDate=positionDate.getTime();this.securityId=securityId;this.symbol=symbol;this.page=page;this.pageSize=pageSize;this.sortOn=sortOn;this.sortDir=sortDir;}
function SignUpFormValue(accountType,companyName,firstName,lastName,address1,address2,city,stateId,zip,countryId,phone1,phone2,emailAddress,fax){this.accountType=accountType;this.companyName=companyName;this.firstName=firstName;this.lastName=lastName;this.address1=address1;this.address2=address2;this.city=city;this.stateId=stateId;this.zip=zip;this.countryId=countryId;this.phone1=phone1;this.phone2=phone2;this[FIELD_EMAIL_ADDRESS]=emailAddress;this.fax=fax;}
function SummaryValue(id,name,count){this.id=(id==undefined)?name:id;this.name=name;this.count=count;}
function SummaryValueList(records){this.records=records;}
function TierInfoItem(symbol,tierId,tierName)
{this.symbol=symbol;this.tierId=tierId;this.tierName=tierName;}
function TradeStatFilter(pageSize,sortOn,priceMin,tierGroupId)
{this.pageSize=pageSize;this.sortOn=sortOn;this.priceMin=priceMin;this.tierGroupId=tierGroupId;}
function TransferAgentItem(id,name,address1,address2,address3,city,state,zip,countryId,isPublic,country)
{this.id=id;this.name=name;this.address1=address1;this.address2=address2;this.address3=address3;this.city=city;this.state=state;this.zip=zip;this.country=country;this.countryId=countryId;this.isPublic=isPublic;}
function UserAgreementValue(id,userId,versionId,isProfessional,createdDate,name,createdDateX)
{this.id=id;this.userId=userId;this.versionId=versionId;this.isProfessional=isProfessional;this.createdDate=createdDate;this.name=name;this.createdDateX=createdDateX;}
function UserInfo(id,email,screenName,titleId,titleName,firstName,middleName,lastName,suffixId,suffixName,genderId,genderName,city,stateId,stateName,countryId,countryName,jobTitle,phone,fax,profile,isActive,comments,createdDate,creatorId,creatorName,lastModifiedDate,lastModifierId,lastModifierName,deactivationDate,deactivatorId,deactivatorName,roleCompanies)
{this.id=id;this.email=email;this.screenName=screenName;this.titleId=titleId;this.titleName=titleName;this.firstName=firstName;this.middleName=middleName;this.lastName=lastName;this.suffixId=suffixId;this.suffixName=suffixName;this.genderId=genderId;this.genderName=genderName;this.city=city;this.stateId=stateId;this.stateName=stateName;this.countryId=countryId;this.countryName=countryName;this.jobTitle=jobTitle;this.phone=phone;this.fax=fax;this.profile=profile;this.isActive=isActive;this.comments=comments;this.createdDate=createdDate;this.creatorId=creatorId;this.creatorName=creatorName;this.lastModifiedDate=lastModifiedDate;this.lastModifierId=lastModifierId;this.lastModifierName=lastModifierName;this.deactivationDate=deactivationDate;this.deactivatorId=deactivatorId;this.deactivatorName=deactivatorName;this.roleCompanies=roleCompanies;}
function UserProfileEntryInfo(countryOptions,educationLevelOptions,genderOptions,incomeLevelOptions,industryOptions,maritalStatusOptions,suffixOptions,titleOptions,occupationOptions,stateOptions,tradingFreqOptions,tradingLevelOptions)
{this.countryOptions=countryOptions;this.educationLevelOptions=educationLevelOptions;this.genderOptions=genderOptions;this.incomeLevelOptions=incomeLevelOptions;this.industryOptions=industryOptions;this.maritalStatusOptions=maritalStatusOptions;this.suffixOptions=suffixOptions;this.titleOptions=titleOptions;this.occupationOptions=occupationOptions;this.stateOptions=stateOptions;this.tradingFreqOptions=tradingFreqOptions;this.tradingLevelOptions=tradingLevelOptions;}
function UserProfileInfo(userId,industryId,industryName,companyName,occupationId,occupationName,incomeLevelId,incomeLevelName,tradingFreqId,tradingFreqName,educationLevelId,educationLevelName,maritalStatusId,maritalStatusName,tradingLevelId,tradingLevelName,sizeOfPortfolio,numberOfSecurities,birthDate,defaultEmailPostReply,privacy)
{this.userId=userId;this.industryId=industryId;this.industryName=industryName;this.companyName=companyName;this.occupationId=occupationId;this.occupationName=occupationName;this.incomeLevelId=incomeLevelId;this.incomeLevelName=incomeLevelName;this.tradingFreqId=tradingFreqId;this.tradingFreqName=tradingFreqName;this.educationLevelId=educationLevelId;this.educationLevelName=educationLevelName;this.maritalStatusId=maritalStatusId;this.maritalStatusName=maritalStatusName;this.tradingLevelId=tradingLevelId;this.tradingLevelName=tradingLevelName;this.sizeOfPortfolio=sizeOfPortfolio;this.numberOfSecurities=numberOfSecurities;this.birthDate=birthDate;this.defaultEmailPostReply=defaultEmailPostReply;this.privacy=privacy;}
function UserProfileValue(id,screenName,jobTitle,phone,email,fax,titleId,firstName,middleName,lastName,suffixId,genderId,address1,address2,address3,city,stateId,countryId,postalCode,softraxLocationId,industryId,companyName,occupationId,incomeLevelId,tradingFreqId,birthDate,defaultEmailPostReply,maritalStatusId,educationLevelId,tradingLevelId,sizeOfPortfolio,numberOfSecurities,privacy,comments,creatorId,createdDate,creatorName,lastModifierId,lastModifiedDate,lastModifierName,deactivatorId,deactivationDate,deactivatorName,stateName,countryName,fullName,customerName)
{this.id=id;this.screenName=screenName;this.jobTitle=jobTitle;this.phone=phone;this.email=email;this.fax=fax;this.titleId=titleId;this.firstName=firstName;this.middleName=middleName;this.lastName=lastName;this.suffixId=suffixId;this.genderId=genderId;this.address1=address1;this.address2=address2;this.address3=address3;this.city=city;this.stateId=stateId;this.countryId=countryId;this.postalCode=postalCode;this.softraxLocationId=softraxLocationId;this.industryId=industryId;this.companyName=companyName;this.occupationId=occupationId;this.incomeLevelId=incomeLevelId;this.tradingFreqId=tradingFreqId;this.birthDate=birthDate;this.defaultEmailPostReply=defaultEmailPostReply;this.maritalStatusId=maritalStatusId;this.educationLevelId=educationLevelId;this.tradingLevelId=tradingLevelId;this.sizeOfPortfolio=sizeOfPortfolio;this.numberOfSecurities=numberOfSecurities;this.privacy=privacy;this.comments=comments;this.creatorId=creatorId;this.createdDate=createdDate;this.creatorName=creatorName;this.lastModifierId=lastModifierId;this.lastModifiedDate=lastModifiedDate;this.lastModifierName=lastModifierName;this.deactivatorId=deactivatorId;this.deactivationDate=deactivationDate;this.deactivatorName=deactivatorName;this.stateName=stateName;this.countryName=countryName;this.fullName=fullName;this.customerName=customerName;}
function UserProfilePrivacyInfo(userId,industry,educationLevel,gender,maritalStatus,companyName,occupation,jobTitle,incomeLevel,birthDate,phone,fax)
{this.userId=userId;this.industry=industry;this.educationLevel=educationLevel;this.gender=gender;this.maritalStatus=maritalStatus;this.companyName=companyName;this.occupation=occupation;this.jobTitle=jobTitle;this.incomeLevel=incomeLevel;this.birthDate=birthDate;this.phone=phone;this.fax=fax;}
function UserRoleCompany(userId,roleId,compId)
{this.userId=userId;this.roleId=roleId;this.compId=compId;}
function UserRoleCompanyWorklistFilter(userId,onlyServices,page,pageSize,sortOn,sortDir)
{this.userId=userId;this.onlyServices=onlyServices;this.page=page;this.pageSize=pageSize;this.sortOn=sortOn;this.sortDir=sortDir;}
function UserRoleCompanyInfo(id,userId,roleId,roleName,compId,companyName,startDate,endDate,isActive)
{this.id=id;this.userId=userId;this.roleId=roleId;this.roleName=roleName;this.compId=compId;this.companyName=companyName;this.startDate=startDate;this.endDate=endDate;this.isActive=isActive;}
function UserRoleCompanyWorklist(singular,plural,pageNavInfo,records,sortOn,sortDir)
{this.singular=singular;this.plural=plural;this.pageNavInfo=pageNavInfo;this.records=records;this.sortOn=sortOn;this.sortDir=sortDir;}
function UserRoleCustomerFilter(userId,page,pageSize,sortOn,sortDir)
{this.userId=userId;this.page=page;this.pageSize=pageSize;this.sortOn=sortOn;this.sortDir=sortDir;}
function UserRoleCustomerPage(roles,serviceTypes)
{this.roles=roles;this.serviceTypes=serviceTypes;}
function UserRoleCustomerValue(id,userId,roleId,startDate,endDate,extensionDate,serviceTypeId,isActive,roleName,serviceTypeName,startDateX,endDateX,extensionDateX)
{this.id=id;this.userId=userId;this.roleId=roleId;this.startDate=startDate;this.endDate=endDate;this.extensionDate=extensionDate;this.serviceTypeId=serviceTypeId;this.isActive=isActive;this.roleName=roleName;this.serviceTypeName=serviceTypeName;this.startDateX=startDateX;this.endDateX=endDateX;this.extensionDateX=extensionDateX;}
function UserRoleCustomerWorklist(singular,plural,pageNavInfo,records,sortOn,sortDir)
{this.singular=singular;this.plural=plural;this.pageNavInfo=pageNavInfo;this.records=records;this.sortOn=sortOn;this.sortDir=sortDir;}
function UserProfileViewInfo(userId,screenName,genderName,jobTitle,phone,fax,industryName,companyName,occupationName,incomeLevelName,tradingFreqName,educationLevelName,maritalStatusName,tradingLevelName,sizeOfPortfolio,numberOfSecurities,birthDate,createdDate)
{this.userId=userId;this.screenName=screenName;this.genderName=genderName;this.jobTitle=jobTitle;this.phone=phone;this.fax=fax;this.industryName=industryName;this.companyName=companyName;this.occupationName=occupationName;this.incomeLevelName=incomeLevelName;this.tradingFreqName=tradingFreqName;this.educationLevelName=educationLevelName;this.maritalStatusName=maritalStatusName;this.tradingLevelName=tradingLevelName;this.sizeOfPortfolio=sizeOfPortfolio;this.numberOfSecurities=numberOfSecurities;this.birthDate=birthDate;this.createdDate=createdDate;}
function UserSearchFilter(emailAddress,screenName,firstName,lastName,companyName,roleId,countryId,stateId,city,customerName,onlyCustomers)
{this.emailAddress=emailAddress;this.screenName=screenName;this.firstName=firstName;this.lastName=lastName;this.companyName=companyName;this.roleId=roleId;this.countryId=countryId;this.stateId=stateId;this.city=city;this.customerName=customerName;this.onlyCustomers=onlyCustomers;}
function UserSearchFilterPage(filter,roleOptions,countryOptions,stateOptions)
{this.filter=filter;this.roleOptions=roleOptions;this.countryOptions=countryOptions;this.stateOptions=stateOptions;}
function UserWorklistItem(id,emailAddress,name,companyName,location,isActive)
{this.id=id;this.emailAddress=emailAddress;this.name=name;this.companyName=companyName;this.location=location;this.isActive=isActive;}
function UserWorklistValue(singular,plural,pageNavInfo,records,sortOn,sortDir)
{this.singular=singular;this.plural=plural;this.pageNavInfo=pageNavInfo;this.records=records;this.sortOn=sortOn;this.sortDir=sortDir;}
function ValidationException(message,field,caption,value)
{this.isOk=false;this.isError=true;this.isValidationException=true;this.message=message;this.field=field;this.caption=caption;this.value=value;window.lastPinkException=this;}
ValidationException.prototype.toString=function(){return this.message;}
function WebSuccessInfo(payload,redirectUrl)
{this.isOk=true;this.isError=false;this.payload=payload;this.redirectUrl=redirectUrl;}

var APPLICATION_ID_OTCIQ='IQ';var APPLICATION_ID_OTCQX='QX';var APPLICATION_ID_PINKSHEETS='PS';var APPLICATION_ID_OTCQUOTE='QTE';var APPLICATION_ID_CORP='CORP';var ARRAY_SEARCH_TYPE={'values':['Contains','Starts With'],'ids':['contains','startswith']};var CAPTION_ABUSE='Abuse';var CAPTION_ABUSES='Abuses';var CAPTION_ACCOUNT_NO='Account No.';var CAPTION_ACCOUNT_CONTACT='Account Contact';var CAPTION_ACCOUNTANT='Accountant';var CAPTION_ACTIVE='Active';var CAPTION_ADD='Add';var CAPTION_ADDRESS='Address';var CAPTION_ADMIN_EMAIL_ADDRESS='Admin. E-mail Address';var CAPTION_ADMINISTRATIVE='Administrative';var CAPTION_ADMINISTRATOR='Administrator';var CAPTION_ALL='All';var CAPTION_AMOUNT='Amount';var CAPTION_ANALYZE_LEGACY_DB_INTERVAL='Analyze Legacy DB Interval';var CAPTION_ANALYZE_LEGACY_DB_INTERVAL_UNIT='milliseconds';var CAPTION_ASCENDING='FIFO';var CAPTION_AUDITED_DESIGNATION='Audited Or Unaudited Designation';var CAPTION_AUDITOR='Auditor';var CAPTION_AUTHOR='Author';var CAPTION_AUTHORIZED_SHARES='Authorized Shares';var CAPTION_BILLING_FREQUENCY='Billing Frequency';var CAPTION_BIRTH_DATE='Birth Date';var CAPTION_BLUE_SKY_STATUS='Blue Sky Status';var CAPTION_BUSINESS_DESC='Business Description';var CAPTION_BUSINESS_INDICATOR='Business Indicator';var CAPTION_BUSINESS_STAGE='Business Stage';var CAPTION_BY='by';var CAPTION_CANCEL='Cancel';var CAPTION_CATEGORY='Category';var CAPTION_CATEGORIES='Categories';var CAPTION_CAVEAT_EMPTOR='Caveat Emptor';var CAPTION_CHANGE='Change';var CAPTION_CIK='CIK';var CAPTION_CITY='City';var CAPTION_CLASS='Class';var CAPTION_CLASS_NOTES='Security Notes';var CAPTION_COLLAPSE='Collapse';var CAPTION_COUNTRY_OF_INCORPORATION='Country Of Incorporation';var CAPTION_COMMENTS='Comments';var CAPTION_COMPANY='Company';var CAPTION_COMPANY_AUDITOR='Company Auditor';var CAPTION_COMPANY_CONTACT='Company Contact';var CAPTION_COMPANY_INVESTOR_RELATION_FIRM='Investor Relations Firm';var CAPTION_COMPANY_LEGAL_COUNSEL='Legal Counsel';var CAPTION_COMPANY_NAME='Company Name';var CAPTION_COMPANY_NOTES='Company Notes';var CAPTION_COMPANY_OFFICERS='Company Officers';var CAPTION_COMPANY_SERVICE='Company Service';var CAPTION_COMPANY_SERVICES='Company Services';var CAPTION_COMPANY_TYPE='Company Type';var CAPTION_COMPANIES='Companies';var CAPTION_CONTACT='Contact';var CAPTION_CONTACT_INFO='Contact Information';var CAPTION_COUNTRY='Country';var CAPTION_CREATE='Create';var CAPTION_CREATED_DATE='Created On';var CAPTION_CREATED='Created';var CAPTION_CREATOR='Creator';var CAPTION_CREDIT_CARD_EXP_DATE='Credit Card Exp. Date';var CAPTION_CURRENT_CAPITAL_CHANGE='Current Capital Change';var CAPTION_CURRENT_PASSWORD='Current Password';var CAPTION_CUSTOMER='Customer';var CAPTION_CUSTOMERS='Customers';var CAPTION_CUSTOMER_NAME=CAPTION_CUSTOMER+' Name';var CAPTION_DAD_PAL='DAD/PAL';var CAPTION_DAD='DAD';var CAPTION_DATA_NOT_AVAILABLE='Data Not Available';var CAPTION_DEACTIVATION_DATE='Deactivated On';var CAPTION_DEACTIVATOR='Deactivator';var CAPTION_DEAR='Dear';var CAPTION_DEFAULT_EMAIL_POST_REPLY='By Default E-mail Post Replies';var CAPTION_DELETE='Delete';var CAPTION_DESCRIPTION='Description';var CAPTION_DESCENDING='LIFO';var CAPTION_DISCLOSURE_CATEGORY='Disclosure Category';var CAPTION_DIVIDEND='Dividend';var CAPTION_DIVIDENDS='Dividends';var CAPTION_DIVIDEND_DETAILS='Dividend Details';var CAPTION_DOLLAR_UNIT='$';var CAPTION_DONT_KNOW='Don\'t Know';var CAPTION_EDGAR_FILING_STATUS='SEC Reporting Status';var CAPTION_EDIT='Edit';var CAPTION_EDUCATION_LEVEL='Education';var CAPTION_EFFECTIVE_DATE='Effective Date';var CAPTION_ELIGIBLE_DATE='Eligible Date';var CAPTION_EMAIL='E-mail';var CAPTION_EMAIL_ADDRESS='E-mail Address';var CAPTION_EMPTY='Empty';var CAPTION_END_DATE='End Date';var CAPTION_ESTIMATED_MARKET_CAP='Estimated Market Cap';var CAPTION_EXERCISE_DATE='Exercise Date';var CAPTION_EXPAND='Expand';var CAPTION_EXPAND_COLLAPSE='Expand/Collapse';var CAPTION_EXPANDED='Expanded';var CAPTION_EXPIRED='Expired';var CAPTION_EXTENSION_DATE='Extension Date';var CAPTION_EX_DATE='Ex-Date';var CAPTION_FAX='Fax';var CAPTION_FAX_NUMBER='Fax Number';var CAPTION_FISCAL_YEAR_END='Fiscal Year End';var CAPTION_FIND='Find';var CAPTION_FIRST_NAME='First Name';var CAPTION_FLOAT='Float(shares)';var CAPTION_FOLLOW_UP='Follow Up';var CAPTION_FORUM='Forum';var CAPTION_FORUMS='Forums';var CAPTION_GENDER='Gender';var CAPTION_GLOBAL_INFO='Global Settings';var CAPTION_GREY_MARKET='Grey Market';var CAPTION_ID='ID';var CAPTION_INACTIVE='Inactive';var CAPTION_INCOME_LEVEL='Income Level';var CAPTION_INDUSTRY='Industry';var CAPTION_INDUSTRY_CLASSIFICATION=CAPTION_INDUSTRY+' Classification';var CAPTION_INFO_EMAIL_ADDRESS='Info E-mail Address';var CAPTION_INFORMATION='Information';var CAPTION_IP_ADDRESS='IP Address';var CAPTION_IS_ACTIVE='Is Active?';var CAPTION_ISSUER_ALERTS_EMAIL_ADDRESS='Issuer Alerts E-mail Address';var CAPTION_ISSUER_SERVICES_EMAIL_ADDRESS='Issuer Services E-mail Address';var CAPTION_JOB_TITLE='Job Title';var CAPTION_JURISDICTION_OF_INCORPORATION='Jurisdiction Of Incorporation';var CAPTION_KEY='Key';var CAPTION_LAST_MODIFIER='Last Modifier';var CAPTION_LAST_NAME='Last Name';var CAPTION_LAST_UPDATED='Last Updated';var CAPTION_LOCATION='Location';var CAPTION_LOCATIONS='Locations';var CAPTION_LOGIN='Login';var CAPTION_LOGIN_NAME='E-mail Address';var CAPTION_LOGOUT='Logout';var CAPTION_MARITAL_STATUS='Marital Status';var CAPTION_MAIN_SIC_CODE='Main SIC Code';var CAPTION_MARKET_MAKER='Market Maker';var CAPTION_ME='Me';var CAPTION_MEMBER_SINCE='Member Since';var CAPTION_MIDDLE_NAME='Middle Name';var CAPTION_MMID='MMID';var CAPTION_NA='N/A';var CAPTION_NAME='Name';var CAPTION_NAME_SUFFIX='Name Suffix';var CAPTION_NAME_TITLE='Title';var CAPTION_NEXT_TOKEN_CODE='Next Token Code';var CAPTION_NO_PAR='No Par';var CAPTION_NONE='None';var CAPTION_NON_US_EXCHANGE_LISTING='Non-U.S. Exchange Listing';var CAPTION_NOTE='Note';var CAPTION_NUMBER_OF_SECURITIES='Number of Different Stocks Invested';var CAPTION_NUMBER_OF_EMPLOYEES='Number of Employees';var CAPTION_NUMBER_OF_COMPANY_LOC='Number of Company Locations';var CAPTION_NUMBER_OF_SHARE_HOLDERS='Number of Shareholders of Record';var CAPTION_NUMBER_OF_BENEFICIAL_SHARE_HOLDERS='Number of Beneficial Shareholders';var CAPTION_OCCUPATION='Occupation';var CAPTION_OFFICER='Officer';var CAPTION_ONLY='Only';var CAPTION_ORDER_BY='Order By';var CAPTION_OTC='OTC';var CAPTION_OTCIQ_BASE_URL='OTCIQ Base URL';var CAPTION_OTCQX_BASE_URL='OTCQX Base URL';var CAPTION_OUTSTANDING_SHARES='Outstanding Shares';var CAPTION_OTHER_COMPANY_CONTACTS='Other Company Contacts';var CAPTION_PAL='PAL';var CAPTION_PAR_VALUE='Par Value';var CAPTION_PASSWORD='Password';var CAPTION_PASSWORD_CONFIRM='Password Confirmation';var CAPTION_PASSWORD_NEW='New Password';var CAPTION_PAY_DATE='Pay Date';var CAPTION_PHONE='Phone';var CAPTION_PHONE_NUMBER='Phone Number';var CAPTION_PINK_COMMON_BASE_URL='Pink Common Base URL';var CAPTION_PINK_CONTENT_BASE_URL='Pink Content Base URL';var CAPTION_PINK_FORUMS_BASE_URL='Pink Forums Base URL';var CAPTION_PINK_SHEETS_BASE_URL='Pink Sheets Base URL';var CAPTION_PORTFOLIO='Portfolio';var CAPTION_POSTAL_CODE='Postal Code';var CAPTION_PRECISION_IR_URL='Precision IR URL';var CAPTION_PRICE='Price';var CAPTION_PRIMARY_SIC='Primary SIC';var CAPTION_PRIVATE='Private';var CAPTION_PROFILE='Profile';var CAPTION_PUBLIC='Public';var CAPTION_QUALIFIED_EXCHANGE='Qualified Exchange';var CAPTION_READ_LESS='<< Less';var CAPTION_READ_MORE='More >>';var CAPTION_RECORD_DATE='Record Date';var CAPTION_REGISTER='Register';var CAPTION_REGISTRATION_CONFIRM_CODE='Registration Confirmation Code';var CAPTION_REGISTRATION_CONFIRM_IMAGE='Registration Confirmation Image';var CAPTION_REGISTRATION_CONSENT='Registration Consent';var CAPTION_REINSTATE='Reinstate';var CAPTION_REPORTED_BY='Reported By';var CAPTION_REPORTED_ON='Reported On';var CAPTION_REQUIRED='* ';var CAPTION_RESET='Reset';var CAPTION_RESPONDED_BY='Responded By';var CAPTION_RESPONDED_ON='Responded On';var CAPTION_RESPOND='Respond';var CAPTION_RESPONSE='Response';var CAPTION_ROLE='Role';var CAPTION_ROLES='Roles';var CAPTION_ROLE_COMPANY='Role/Company';var CAPTION_ROLES_COMPANIES='Roles/Companies';var CAPTION_SCHEDULED_DATE='Scheduled Date';var CAPTION_SCREEN_NAME='Screen Name';var CAPTION_SEARCH='Search';var CAPTION_SEARCH_TYPE='Search Type';var CAPTION_SECURITY='Security';var CAPTION_SECURITY_TYPE='Security Type';var CAPTION_SECURITIES='Securities';var CAPTION_SEDAR_FILING_STATUS='Sedar Filing Status';var CAPTION_SEND_NOTIFICATION='Send Notification?';var CAPTION_SENTIMENT='Sentiment';var CAPTION_SENTIMENT_NONE='Do Not Disclose';var CAPTION_SERVICE='Service';var CAPTION_SERVICES='Services';var CAPTION_SERVICE_PROVIDER_CONTACT='Service Provider Contact';var CAPTION_SERVICE_TYPE='Service Type';var CAPTION_SHO='SHO';var CAPTION_SHORT_INTEREST='Short Interest';var CAPTION_SIC_CODE='SIC Code';var CAPTION_SIZE_OF_PORTFOLIO='Size of Portfolio';var CAPTION_SIZE_OF_PORTFOLIO_UNIT='$';var CAPTION_SOFTRAX_ID='SofTrax No.';var CAPTION_SOFTRAX_LOCATION_ID='SofTrax Location No.';var CAPTION_SPLIT='Split';var CAPTION_SPLITS='Splits';var CAPTION_START_DATE='Start Date';var CAPTION_STATE='State';var CAPTION_STATE_OF_INCORPORATION='State Of Incorporation';var CAPTION_STATE_EXT='State/Province/Region';var CAPTION_STATUS='Status';var CAPTION_STOCK='Stock';var CAPTION_SUBMIT='Submit';var CAPTION_SUBMITTING='Submitting ... Please wait';var CAPTION_SUMMARY='Summary';var CAPTION_SUPPORT='Support';var CAPTION_SUPPORT_EMAIL_ADDRESS='Support E-mail Address';var CAPTION_SYMBOL='Symbol';var CAPTION_SYNDICATE_BASE_URL='Syndicate Base URL';var CAPTION_SYNDICATE_TITLE='Syndicate Title';var CAPTION_THANK_YOU='Thank You';var CAPTION_TIER='Tier';var CAPTION_TITLE='Title';var CAPTION_TODAY='Today';var CAPTION_TOKEN='Token';var CAPTION_TOKEN_CODE='Token Code';var CAPTION_TOKEN_SERIAL_NO='Token Serial No.';var CAPTION_TRADING_FREQUENCY='Trading Frequency';var CAPTION_TRADING_LEVEL='Trading Level';var CAPTION_TRADING_SERVICES_EMAIL_ADDRESS='Trading Services E-mail Address';var CAPTION_TRADING_SYMBOL='Trading Symbol';var CAPTION_TRANSFER_AGENT='Transfer Agent';var CAPTION_TWITTER_URL='Twitter URL';var CAPTION_TYPE='Type';var CAPTION_UPDATE='Update';var CAPTION_UNLIMITED='Unlimited';var CAPTION_USER='User';var CAPTION_USERS='Users';var CAPTION_USER_NAME='Login Name';var CAPTION_VENUE='Venue';var CAPTION_VOLUME='Volume';var CAPTION_WEB_SERVICE_PASSCODE='Web Service Passcode';var CAPTION_WEBSITE='Website';var CAPTION_WORKLIST='Worklist';var CAPTION_YEAR_OF_INCORPORATION='Year Of Incorporation';var CAPTION_YESTERDAY='Yesterday';var FIELD_ABUSE='abuseId';var FIELD_ACCOUNT_TYPE='accountType';var FIELD_ACTION='action';var FIELD_ACTION_DATE='actionDate';var FIELD_ACTIVE='active';var FIELD_ACCOUNT_NO='accountNo';var FIELD_AD_SPACE='adSpaceId';var FIELD_ADDITIONAL_EMAILS='additionalEmails';var FIELD_ADDRESS_1='address1';var FIELD_ADDRESS_2='address2';var FIELD_ADDRESS_3='address3';var FIELD_ADMIN_EMAIL_ADDRESS='adminEmailAddress';var FIELD_ANALYZE_LEGACY_DB_INTERVAL='analyzeLegacyDbInterval';var FIELD_APP_SECTION='appSection';var FIELD_APP_SUB_SECTION='appSubSection';var FIELD_APPLICATION_ID='applicationId';var FIELD_ASCENDING='ASC';var FIELD_BACK_URL='back';var FIELD_BIRTH_DATE='birthDate';var FIELD_CAPTION='caption';var FIELD_CITY='city';var FIELD_CLASS='class';var FIELD_COMMENTS='comments';var FIELD_COMPANY='companyId';var FIELD_COMPANY_NAME='companyName';var FIELD_COMPANY_SERVICE='compServiceId';var FIELD_CONTACT_ID='contactId';var FIELD_COUNTRY='countryId';var FIELD_CREATED_DATE='createdDate';var FIELD_CREATOR='creatorId';var FIELD_CREDIT_CARD_EXP_DATE='creditCardExpDate';var FIELD_CURRENT_PASSWORD='currentPassword';var FIELD_DEFAULT_EMAIL_POST_REPLY='defaultEmailPostReply';var FIELD_DESCENDING='DESC';var FIELD_DOLLAR_VOLUME='dollarVolume';var FIELD_EDUCATION_LEVEL='educationLevelId';var FIELD_ELIGIBLE_DATE='eligibleDate';var FIELD_EMAIL_ADDRESS='emailAddress';var FIELD_END_DATE='endDate';var FIELD_EXERCISE_DATE='exerciseDate';var FIELD_EXPANDED='expanded';var FIELD_EXTENSION_DATE='extensionDate';var FIELD_FALSE='0';var FIELD_FAX_NUMBER='fax';var FIELD_FIRST_NAME='firstName';var FIELD_FOLLOW_UP='followUp';var FIELD_FORM_HANDLER_ERROR='formHandlerError';var FIELD_FORM_HANDLER_OK='formHandlerOK';var FIELD_GAIN='gain';var FIELD_GENDER='genderId';var FIELD_GLOBAL_INFO='globalInfoId';var FIELD_HAS_CONTACT_ADDRESS='hasContactAddress';var FIELD_ID='id';var FIELD_INFO_EMAIL_ADDRESS='infoEmailAddress';var FIELD_INCOME_LEVEL='incomeLevelId';var FIELD_INDUSTRY='industryId';var FIELD_IS_ACTIVE='isActive';var FIELD_IS_DAILY_REPORT='isDailyReport';var FIELD_IS_HTML_EMAIL_FORMAT='isHtmlEmailFormat';var FIELD_IS_WEEKLY_REPORT='isWeeklyReport';var FIELD_ISSUE_NAME='issueName';var FIELD_ISSUER_ALERTS_EMAIL_ADDRESS='issuerAlertsEmailAddress';var FIELD_ISSUER_SERVICES_EMAIL_ADDRESS='issuerServicesEmailAddress';var FIELD_JOB_TITLE='jobTitle';var FIELD_JSP_NAME='jspName';var FIELD_LAST_NAME='lastName';var FIELD_LIMIT='limit';var FIELD_LOCATION='location';var FIELD_LOSS='loss';var FIELD_MARITAL_STATUS='maritalStatusId';var FIELD_MIDDLE_NAME='middleName';var FIELD_NAME='name';var FIELD_NAME_SUFFIX='nameSuffix';var FIELD_NAME_TITLE='nameTitle';var FIELD_NEXT_TOKEN_CODE='nextTokenCode';var FIELD_NUMBER_OF_SECURITIES='numberOfSecurities';var FIELD_OCCUPATION='occupationId';var FIELD_OFFICER='officerId';var FIELD_OTCIQ_BASE_URL='otciqBaseUrl';var FIELD_OTCQX_BASE_URL='otcqxBaseUrl';var FIELD_PAGE='page';var FIELD_PASSWORD='password';var FIELD_PASSWORD_CONFIRM='passwordConfirm';var FIELD_PHONE_NUMBER='phone';var FIELD_PHONE_1='phone1';var FIELD_PHONE_2='phone2';var FIELD_PINK_COMMON_BASE_URL='pinkCommonBaseUrl';var FIELD_PINK_FORUMS_BASE_URL='pinkForumsBaseUrl';var FIELD_PINK_SHEETS_BASE_URL='pinkSheetsBaseUrl';var FIELD_POSITION_DATE='positionDate';var FIELD_POSTAL_CODE='postalCode';var FIELD_PRICE='price';var FIELD_PRICE_NET='priceNet';var FIELD_PRICE_PCT='pricePct';var FIELD_REGISTRATION_CONFIRM_CODE='registrationConfirmCode';var FIELD_REGISTRATION_CONFIRM_IMAGE='registrationConfirmationImage';var FIELD_REGISTRATION_CONSENT='registrationConsent';var FIELD_RESPONSE='response';var FIELD_ROLE='role';var FIELD_ROLE_ID='roleId';var FIELD_SCREEN_NAME='screenName';var FIELD_SEARCH_BY='searchBy';var FIELD_SEARCH_TYPE='searchTypeId';var FIELD_SEARCH_VALUE='searchValue';var FIELD_SECURITY='securityId';var FIELD_SECURITY_SERVICE='secServiceId';var FIELD_SEND_NOTIFICATION='sendNotification';var FIELD_SENTIMENT='sentimentId';var FIELD_SERVICE_PROVIDER_CONTACT='serviceProviderContact';var FIELD_SERVICE_TYPE='serviceType';var FIELD_SHOW_AD_FOOTER_2='showAdFooter2';var FIELD_SIZE_OF_PORTFOLIO='sizeOfPortfolio';var FIELD_SOFTRAX_ID='softraxId';var FIELD_SOFTRAX_LOCATION_ID='softraxLocationId';var FIELD_SORT_DIR='sortDir';var FIELD_SORT_ON='sortOn';var FIELD_START_DATE='startDate';var FIELD_STATE='stateId';var FIELD_STATUS='statusId';var FIELD_SUMMARY='summary';var FIELD_SUPPORT_EMAIL_ADDRESS='supportEmailAddress';var FIELD_SYMBOL='symbol';var FIELD_TIER='tier';var FIELD_TITLE='title';var FIELD_TOKEN='token';var FIELD_TOKEN_CODE='tokenCode';var FIELD_TOKEN_SERIAL_NO='tokenId';var FIELD_TRADE='trade';var FIELD_TRADING_FREQUENCY='tradingFreqId';var FIELD_TRADING_LEVEL='tradingLevelId';var FIELD_TRADING_SERVICES_EMAIL_ADDRESS='tradingServicesEmailAddress';var FIELD_TRUE='1';var FIELD_URI='uri';var FIELD_USER='userId';var FIELD_USER_ROLE_COMPANY='userRoleCompanyId';var FIELD_USER_ROLE_COMPANY_COUNT='userRoleCompanyCount';var FIELD_USER_NAME='userName';var FIELD_VOLUME='volume';var FIELD_ZIP='zip';var ICON_ASCENDING_BLACK='/icons/ascending_black.gif';var ICON_DIR='/icons';var ICON_CALENDAR='/icons/cal.gif';var ICON_COLLAPSE='/icons/collapse.gif';var ICON_CHECK_MARK='/icons/checkmark.gif';var ICON_CHECK_MARK_OFF='/icons/checkmark_off.gif';var ICON_DESCENDING_BLACK='/icons/descending_black.gif';var ICON_DELETE='/icons/delete.gif';var ICON_EDIT='/icons/edit.png';var ICON_EXPAND='/icons/expand.gif';var ICON_PLACEHOLDER='/icons/placeholder.gif';var ICON_PS_HOMEPAGE='/icons/ps_homepage.png';var ICON_QX_HOMEPAGE='/icons/qx_homepage.png';var ICON_USER_ACTIVE='/icons/user_active.png';var ICON_USER_INACTIVE='/icons/user_inactive.png';var MAX_LEN_ACCOUNT_NO=20;var MAX_LEN_ADDRESS=100;var MAX_LEN_ADMIN_EMAIL_ADDRESS=100;var MAX_LEN_ANALYZE_LEGACY_DB_INTERVAL=10;var MAX_LEN_CITY=64;var MAX_LEN_COMMENTS_USER=2048;var MAX_LEN_COMPANY_NAME=75;var MAX_LEN_CREDIT_CARD_EXP_DATE=7;var MAX_LEN_EMAIL_ADDRESS=100;var MAX_LEN_FAX_NUMBER=35;var MAX_LEN_FIRST_NAME=25;var MAX_LEN_HIST_BASE_URL=64;var MAX_LEN_JOB_TITLE=50;var MAX_LEN_LAST_NAME=32;var MAX_LEN_LOGIN_NAME=100;var SIZE_LOGIN_NAME=50;var SIZE_DATES=10;var MAX_LEN_MIDDLE_NAME=25;var MAX_LEN_MMID=10;var MAX_LEN_NUMBER_OF_SECURITIES=5;var MAX_LEN_OTCIQ_BASE_URL=64;var MAX_LEN_OTCQUOTE_BASE_URL=64;var MAX_LEN_OTCQX_BASE_URL=64;var MAX_LEN_PASSWORD=10;var MIN_LEN_PASSWORD=6;var MAX_LEN_PHONE_NUMBER=35;var MAX_LEN_PINK_COMMON_BASE_URL=64;var MAX_LEN_PINK_FORUMS_BASE_URL=64;var MAX_LEN_PINK_SHEETS_BASE_URL=64;var MAX_LEN_POSTAL_CODE=16;var MAX_LEN_PRECISION_IR_URL=64;var MAX_LEN_REGISTRATION_CONFIRM_CODE=32;var MAX_LEN_REGISTRATION_CONSENT=5000;var MAX_LEN_SCREEN_NAME=20;var MAX_LEN_SIZE_OF_PORTFOLIO=12;var MAX_LEN_SOFTRAX_ID=32;var MAX_LEN_SOFTRAX_LOCATION_ID=32;var MAX_LEN_SUPPORT_EMAIL_ADDRESS=100;var MAX_LEN_SYMBOL=6;var MAX_LEN_SYNDICATE_BASE_URL=64;var MAX_LEN_SYNDICATE_TITLE=100;var MAX_LEN_TOKEN_CODE=6;var MAX_LEN_TOKEN_SERIAL_NO=15;var PAGE_SIZE_WORKLIST=20;var PAGE_SIZE_SUBLISTING=10;var PAGE_SIZE_LARGE=50;var TIER_INTL_PREMIER_QX='International PremierQX';var TIER_INTL_PRIME_QX='International PrimeQX';var TIER_PRIME_QX='PrimeQX';var TIER_PREMIER_QX='PremierQX';var TIER_NO_TIER='No Tier';var TITLE_ABUSE_REPORT='Abuse Report';var TITLE_ABUSE_REPORT_RESPONSE='Abuse Report Response';var TITLE_ADMINISTRATIVE_INFORMATION='Administrative Information';var TITLE_CHANGE_PASSWORD='Change Password';var TITLE_COMPANY='Pink OTC Markets';var TITLE_CUSTOMER_ADD=CAPTION_ADD+' '+CAPTION_CUSTOMER;var TITLE_CUSTOMER_EDIT=CAPTION_EDIT+' '+CAPTION_CUSTOMER;var TITLE_CUSTOMER_SEARCH=CAPTION_SEARCH+' '+CAPTION_CUSTOMER;var TITLE_DISCLOSURE_CATEGORY='Disclosure '+CAPTION_CATEGORY;var TITLE_EDIT_GLOBAL_INFO='Edit Global Settings';var TITLE_EDIT_USER_PROFILE='Edit My Profile';var TITLE_FIND_USER='Find a User';var TITLE_FORGOT_PASSWORD='Forgot Password';var TITLE_FORUMS_HOME='OTC Discussion Forums';var TITLE_ICON_LEGEND='Icon Legend';var TITLE_LOGIN='Login';var TITLE_NOT_AUTHORIZED='Not Authorized';var TITLE_OTC_MARKET_TIER='OTC Market Tier';var TITLE_REGISTER_USER='Register Me';var TITLE_REGISTRATION_CONFIRMATION='Confirm Registration';var TITLE_REGISTRATION_SUBMISSION='Registration Submission';var TITLE_REPORT_ABUSE='Report Abuse';var TITLE_ROLES_COMPANIES_INFORMATION='Roles/Companies Information';var TITLE_SHORT_POSITION='Short Position';var TITLE_SHORT_POSITIONS='Short Positions';var TITLE_THRESHOLD_SECURITY='Threshold '+CAPTION_SECURITY;var TITLE_THRESHOLD_SECURITIES='Threshold '+CAPTION_SECURITIES;var TITLE_TRADING_PROFILE='Trading Profile';var TITLE_USER_ACCOUNT_CHANGE_NOTIFICATION='Pink Sheets User Account Change Notification';var TITLE_USER_ACTIVE='Active User';var TITLE_USER_ADD='Add User';var TITLE_USER_EDIT='Edit User';var TITLE_USER_INACTIVE='Inactive User';var TITLE_USER_INFORMATION='User Information';var TITLE_USER_PROFILE='User Profile';var TITLE_USER_WORKLIST='User Worklist';var TITLE_VOLUNTARY_INFORMATION='Voluntary Information';var TITLE_YOUR_TRADING_PROFILE='Your Trading Profile';var FORMAT_CREDIT_CARD_EXP='mm/yyyy';var ROLE_ID_FINANCIAL_REPORT='OSIF';var ROLE_ID_PRESS_RELEASE='OSIP';var ROLE_ID_REAL_TIME_LEVEL_2='RTL2';var ROLE_ID_OTC_MARKET_REPORT='OMR';var ROLE_ID_EXTERNAL_LEVEL_2_QUOTE='EL2Q';var COLOR_POSITIVE='green';var COLOR_NEGATIVE='red';var COUNTRY_USA='USA';var COUNTRY_NAME_USA='United States';var COUNTRY_DEFAULT=COUNTRY_USA;var DISCLAIMER_COMPANY_INFO='The information provided here has been obtained from publicly available sources as well as directly from issuers in some cases.';var ISSUE_TYPE_ID_BOND='b';var MESSAGE_TOKEN_SUSPECT='Your account is in a suspect state due to prior login failures. Please wait until your token code changes. '+'Then key the new token into the field, Token Code. Wait another minute and key the next token code into the new field, Next Token Code. '+'Finally, submit.';var TIER_NO_INFO=22;var VENUE_EXCHANGES_CODE='EXCH';var VENUE_EXCHANGES_NAME='All Exchanges';var VENUE_PINK_SHEETS_CODE='PS';var VENUE_YELLOW_SHEETS_CODE='YS';var TRADE_CATEGORY_ADJUSTED='A';var TRADE_CATEGORY_UNADJUSTED='U';var FILE_EXTENSION_CSV='csv';var FILE_EXTENSION_EXCEL='xls';var SERVICE_TYPE_PAID='P';

function ContentWindow(options)
{this.options=(undefined==options)?this.DEFAULT_OPTIONS:options;}
ContentWindow.prototype.DEFAULT_OPTION='height=500,width=700,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes';ContentWindow.prototype.run=function(criteria,body)
{var name='contentsWindow'+criteria.contents.length;var opened=window.open("",name,this.options);opened.document.open();opened.document.write(criteria.contents);opened.document.close();opened.document.title=criteria.title;var links=window.document.getElementsByTagName('link');var openedBody=opened.document.getElementsByTagName('head');if(0==openedBody.length)
openedBody=opened.document.body;else
openedBody=openedBody[0];for(var i=0;i<links.length;i++)
{var link=links[i];var newLink=opened.document.createElement(link.tagName);newLink.rel=link.rel;newLink.href=link.href;newLink.type=link.type;openedBody.insertBefore(newLink,openedBody.firstChild);}
return opened;}
ContentWindow.prototype.runInline=function(criteria,body)
{criteria.body.innerHTML='';criteria.body.appendChild(criteria.contents);}
function ContentWindowInfo(title,contents,body)
{this.title=title;this.contents=contents;this.body=body;}
ContentWindowInfo.prototype.getName=function(){return this.title;}

var Cookies=new Object();Cookies.getValue=function(name)
{var value=document.cookie.match('(^|;) ?'+name+'=([^;]*)(;|$)');if(value)
return unescape(value[2]);return undefined;}
Cookies.setValue=function(name,value,expires,path)
{var item=name+"="+escape(value);if(expires)
item+="; expires="+expires.toGMTString();if(path)
item+="; path="+escape(path);document.cookie=item;}
Cookies.deleteValue=function(name,path)
{Cookies.setValue(name,'',new Date(0),path);}
if(undefined==window.btoa)
{window.btoa=function(input)
{var output="";for(var i=0;i<input.length;i++)
output+=String.fromCharCode(input.charCodeAt(i)+1);return output;};window.atob=function(input)
{var output="";for(var i=0;i<input.length;i++)
output+=String.fromCharCode(input.charCodeAt(i)-1);return output;};}

function DecorateRSSLink(commonCaller)
{this.init=false;this.commonCaller=commonCaller;}
DecorateRSSLink.prototype.run=function(callback,body)
{if(!this.init)
this.commonCaller.getBaseUrls(new AjaxDataHandler(this,body));else
this.decorate(body);}
DecorateRSSLink.prototype.decorate=function(body){var i,span,info;var elems=!body?document.getElementsByTagName('span'):body.getElementsByTagName('span');for(i=0;i<elems.length;i++)
{span=elems[i];if(info=this.INFO[span.className])
{if(span.isDecorated)continue;span.innerHTML='';this.createLink(span,info);span.isDecorated=true;}}}
DecorateRSSLink.prototype.createLink=function(span,info)
{span.appendChild(img=document.createElement('img'));img.src=this.ICON;img.title=info.title;var a=document.createElement('a');a.href=info.url;a.target='_new';a.appendChild(document.createTextNode(this.TEXT));span.appendChild(a);}
DecorateRSSLink.prototype.doValue=function(value)
{this.init=true;this.INFO.rssNR.url=value.syndicate+'/rss.xml';this.INFO.rssPR.url=value.syndicate+'/rssPinkNews.xml';this.INFO.rssPC.url=value.syndicate+'/rssPendingChanges.xml';this.decorate(value.criteria);}
DecorateRSSLink.prototype.ICON='/content/doc/ps/logos/rss/small.gif';DecorateRSSLink.prototype.INFO={rssNR:{title:'The Pink OTC Markets RSS feed only includes filings published via the OTC Disclosure and News Service.'},rssPR:{title:'The Pink OTC Markets RSS feed only includes news stories published via the OTC Disclosure and News Service.'},rssPC:{title:'The Pink OTC Markets RSS feed only includes pending corporate actions to be published via the OTC Disclosure and News Service.'}};DecorateRSSLink.prototype.TEXT='Subscribe';

function DecorateSymbols(caller,doc,iconPath)
{this.caller=caller;this.doc=(undefined==doc)?window.document:doc;this.cache=new Array();this.cache['']={};this.iconPath=(undefined==iconPath)?'/content/doc/ps/tier/icon/':iconPath;this.iconCaveatEmptor=new Image();this.iconCaveatEmptor.src=this.iconPath+'caveat_emptor.gif';}
DecorateSymbols.prototype.URL_GUIDE='/pink/otcguide/investors_market_tiers.jsp';DecorateSymbols.prototype.createImage=function(tierId)
{var value=new Image();value.src=this.iconPath+tierId+'.gif';return value;}
DecorateSymbols.prototype.doAll=function(){this.run(undefined,this.doc.body);}
DecorateSymbols.prototype.doSection=function(body){this.run(undefined,body);}
DecorateSymbols.prototype.run=function(criteria,body)
{var elements=body.getElementsByTagName('a');for(var i=0;i<elements.length;i++)
{var elem=elements[i];if(elem.myRecord&&!elem.psDecorated)
this.getSecurityInfo(elem.myRecord,elem);}}
DecorateSymbols.prototype.generate=function(value,elem)
{if(elem.psDecorated)
return;elem.psDecorated=true;elem.psSecurityInfo=value;var icon=undefined;var title=undefined;if(undefined!=value)
{if(value.isCaveatEmptor)
{icon=this.iconCaveatEmptor;title=CAPTION_CAVEAT_EMPTOR;}
else if(value.tierId)
{icon=this.createImage(value.tierId);if(undefined!=icon)
title=value.tierName;}}
var cell=elem.parentNode;var cellIndex=cell.cellIndex;var row=cell.parentNode;var td=row.insertCell(cellIndex);td.className=cell.className;td.style.width='1%';if(undefined!=icon)
{var img=this.doc.createElement('img');img.border=0;img.src=icon.src;img.title=title;img.alt=title;var a=this.doc.createElement('a');a.href=this.URL_GUIDE;a.appendChild(img);td.appendChild(a);}
this.fixTable(row.parentNode,cellIndex);}
DecorateSymbols.prototype.fixTable=function(table,cellIndex)
{if(table.psDecorated)
return;table.psDecorated=true;var rows=table.rows;for(var i=0;i<rows.length;i++)
{var row=rows[i];if((row.className=='listingHeader')||row.fixMissingSymbolAnchor)
{var cell=row.insertCell(cellIndex);cell.className=row.className;cell.style.width='1%';}
else if(row.cells[0].colSpan>1)
row.cells[0].colSpan++;}}
DecorateSymbols.prototype.cacheValue=function(symbol,value){this.cache[symbol]=value;}
DecorateSymbols.prototype.getSecurityInfo=function(record,elem)
{var bySymbol=(undefined!=record.symbol);var symbol=(bySymbol)?RTrim(record.symbol):record.securityId;if(undefined==symbol)
return;var value=this.cache[symbol];if(undefined!=value)
this.generate(value,elem);else
{var callback=new DecorateSymbolsCallback(elem,this,symbol);if(bySymbol)
this.caller.getSecurityInfo(symbol,callback);else
this.caller.getSecurityInfoById(symbol,callback);}}
function DecorateSymbolsCallback(elem,callback,symbol)
{this.elem=elem;this.callback=callback;this.symbol=symbol;}
DecorateSymbolsCallback.prototype.handleRequestData=function(value)
{this.callback.cacheValue(this.symbol,value);this.callback.generate(value,this.elem);}
DecorateSymbolsCallback.prototype.handleRequestError=function(error)
{if(window.console)console.log(error);}

function DecorateMarketMaker(caller){this.caller=caller;}
DecorateMarketMaker.prototype.VIEW_MM_CSS='viewMM';DecorateMarketMaker.prototype.run=function(callback,table){var row,cell,a,rows=table.rows;row=rows[0];cell=row.insertCell(row.cells.length);cell.className=row.className;cell.appendChild(document.createTextNode('Market Makers'));for(var rowNum=1;rowNum<rows.length;rowNum++){row=rows[rowNum];cell=row.insertCell(row.cells.length);cell.className=row.className+' '+this.VIEW_MM_CSS;var record=row.myRecord;if(CAPTION_GREY_MARKET==record.venueName)
continue;var symbol=record.symbol;a=document.createElement('a');a.innerHTML='View Market Makers';a.mySymbol=symbol;a.myCallback=callback;a.href='javascript:void(null);';a.onclick=function(ev){this.myCallback.openMarketMakers(this.mySymbol);return false;}
cell.appendChild(a);}}

function DhtmlHistory()
{this.currentId=undefined;this.intervalId=undefined;this.history=new Array();this.isStarted=false;}
DhtmlHistory.prototype.BLANK_PAGE='/common/blank.htm?';DhtmlHistory.prototype.start=function()
{if(window.isSafari||this.isStarted)
return;var me=this;if(document.all)
{this.iframe=document.createElement('iframe');this.iframe.src=this.BLANK_PAGE;this.iframe.style.display='none';document.body.insertBefore(this.iframe,document.body.firstChild);}
else
{this.intervalId=window.setInterval(function(){me.poll()},100);}
this.isStarted=true;}
DhtmlHistory.prototype.stop=function()
{if(!this.isStarted)
return;if(undefined!=this.iframe)
{document.body.removeChild(this.iframe);this.iframe=undefined;}
else if(undefined!=this.intervalId)
{window.clearInterval(this.intervalId);this.intervalId=undefined;}
this.isStarted=false;}
DhtmlHistory.prototype.clear=function(){this.history=new Array();}
DhtmlHistory.prototype.add=function(id,callback,method,args)
{if(!this.isStarted)
return;this.currentId=id;if(this.iframe)
this.iframe.src=this.BLANK_PAGE+id;else
window.location.hash=id;this.history[id]=new DhtmlHistoryItem(id,callback,method,args);}
DhtmlHistory.prototype.poll=function()
{this.handleHashChange(window.location.hash);}
DhtmlHistory.prototype.handleNewPage=function(newLocation)
{this.handleHashChange(newLocation.search);}
DhtmlHistory.prototype.handleHashChange=function(value)
{var hash=this.cleanHash(value);if((undefined==this.currentId)||(this.currentId==hash))
return;if(''==hash)
{window.history.back();return;}
var item=this.history[hash];if(undefined==item)
return;this.currentId=hash;item.callback[item.method](item.args);}
DhtmlHistory.prototype.cleanHash=function(value)
{if((undefined==value)||(0==value.length)||(('#'!=value.charAt(0))&&('?'!=value.charAt(0))))
return value;if(1==value.length)
return'';return value.substr(1);}
function DhtmlHistoryItem(id,callback,method,args)
{this.id=id;this.callback=callback;this.method=method;this.args=args;}

var Elements={}
Elements.addBreak=function(o)
{var a=document.createElement('br');o.appendChild(a);return a;}
Elements.addHR=function(o,className)
{this.addElem(o,'hr',className);}
Elements.addSpace=function(o)
{o.appendChild(document.createTextNode(' '));}
Elements.addSpan=function(o,className,text)
{return this.addElem(o,'span',className,text);}
Elements.addText=function(o,v)
{o.appendChild(document.createTextNode(v));}
Elements.addDiv=function(o,className,text)
{return this.addElem(o,'div',className,text);}
Elements.addElem=function(o,elemName,className,text)
{var e=document.createElement(elemName);if(className)
e.className=className;if(text)
e.innerHTML=Formatter.toDisplayable(text);o.appendChild(e);return e;}
Elements.genAnchor=function(elem,onclick,css)
{var a=document.createElement('a');a.href='javascript:void(null)';a.onclick=onclick;if(elem)
{var t=typeof(elem);if(('string'==t)||('number'==t))
a.innerHTML=elem;else
a.appendChild(elem);}
if(css)
a.className=css;return a;}
Elements.genImage=function(src,title)
{var o=document.createElement('img');o.src=src;if(title)
o.title=title;return o;}
Elements.genWidget=function()
{var o=document.createElement('div');o.className='widgetPackage';return o;}
Elements.addEventListener=function(target,type,action)
{if(target.addEventListener)
target.addEventListener(type,action,false);else
target.attachEvent('on'+type,action);}

var FORMAT_DATE_INPUT='MM/DD/YYYY';function Formatter(){}
Formatter.SHORT_MONTHS=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];Formatter.LONG_DAYS=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];Formatter.SHORT_DAYS=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];Formatter.CAPTION_BYTES='Bytes';Formatter.ABBR_KILOBYTE='KB';Formatter.ABBR_MEGABYTE='MB';Formatter.ABBR_GIGABYTE='GB';Formatter.KILOBYTE=1024;Formatter.MEGABYTE=1024*1024;Formatter.GIGABYTE=1024*1024*1024;Formatter.toDisplayable=function(value)
{if((undefined==value)||(0==value.length))
return'';else if(typeof(value)=='boolean')
return(value)?'Yes':'No';return value;}
Formatter.toList=function(v)
{if(!v||(0==v.length))
return'';var a=v[0];for(var i=1;i<v.length;i++)
a+=', '+v[i];return a;}
Formatter.fromList=function(v)
{if(undefined==v)
return undefined;v=trim(v);if(0==v.length)
return undefined;v=v.split(',');var m,a=[];for(var i=0;i<v.length;i++)
{m=trim(v[i]);if(0<m.length)
a[a.length]=m;}
if(0==a.length)
return undefined;return a;}
Formatter.toWebsite=function(url,caption)
{var a=document.createElement('a');if(url!=undefined)
{url=(url.toLowerCase().substr(0,4)!='http')?'http://'+url:url;if(undefined==caption)
caption=url;a.href=url;a.target='_blank';a.appendChild(document.createTextNode(caption));}
return a;}
Formatter.toEmail=function(email){var a=document.createElement('a');if(email!=undefined){var emailUrl='mailto:'+email;a.href=emailUrl;a.target='_blank';a.appendChild(document.createTextNode(email));}
return a;}
Formatter.appendTextNode=function(output,value)
{output.appendChild(document.createTextNode(value));output.appendChild(document.createElement('br'));}
Formatter.toLocation=function(v)
{var o=v.city;var f=function(n)
{if(o)
o+=', '+n;else
o=n;}
if(v.stateId)
f(v.stateId);if(v.country&&(COUNTRY_DEFAULT!=v.countryId))
f(v.country);return o;}
Formatter.toAddress=function(value)
{var add1=value.address1;var add2=value.address2;var add3=value.address3;var city=value.city;var state=value.stateId;var zip=value.zip;var country=value.country;var countryId=value.countryId;if(!exists(add1)&&!exists(add2)&&!exists(add3)&&!exists(city)&&!exists(state)&&!exists(zip)&&!exists(country))
return undefined;var output=document.createElement('span');output.className='address';if(exists(add1))
Formatter.appendTextNode(output,add1);if(exists(add2))
Formatter.appendTextNode(output,add2);if(exists(add3))
Formatter.appendTextNode(output,add3);if(exists(city))
{output.appendChild(document.createTextNode(city));if(state!=undefined)
output.appendChild(document.createTextNode(', '));else if(zip!=undefined)
output.appendChild(document.createTextNode(' '));else
output.appendChild(document.createElement('br'));}
if(exists(state))
Formatter.appendTextNode(output,state+' '+toDisplayable(zip));else if(exists(zip))
Formatter.appendTextNode(output,zip);if(exists(country)&&(countryId!=COUNTRY_DEFAULT))
Formatter.appendTextNode(output,country);return output;}
Formatter.fromInputDate=function(whenString)
{var values=whenString.split('/');if(2>values.length)
throw'parseInputDate: "'+whenString+'" is not a valid date (MM/DD/YYYY).';var month=parseInt(values[0],10);var day=parseInt(values[1],10);if(isNaN(month)||(1>month)||(12<month))
throw'parseInputDate: "'+whenString+'" - month part is not valid (MM/DD/YYYY).';if(isNaN(day)||(1>day)||(31<day))
throw'parseInputDate: "'+whenString+'" - day part is not valid (MM/DD/YYYY).';month--;if(3>values.length)
{return new Date((new Date()).getFullYear(),month,day);}
else
{var year=parseInt(values[2]);if(isNaN(year)||(0>year))
throw'parseInputDate: "'+whenString+'" - year part is not valid (MM/DD/YYYY).';if(51>year)
year+=2000;else if(100>year)
year+=1900;return new Date(year,month,day);}}
Formatter.fromCCDate=function(whenString)
{var values=whenString.split('/');if(2>values.length)
throw'parseInputDate: "'+whenString+'" is not a valid date (MM/YYYY).';var month=parseInt(values[0],10);var year=parseInt(values[1],10);if(isNaN(month)||(1>month)||(12<month))
throw'parseInputDate: "'+whenString+'" - month part is not valid (MM/YYYY).';if(isNaN(year)||(0>year))
throw'parseInputDate: "'+whenString+'" - year part is not valid (MM/YYYY).';if(51>year)
year+=2000;else if(100>year)
year+=1900;return new Date(year,month,-1);}
Formatter.fromInputTime=function(whenString){var values=whenString.split(':');var hour,minute,second;hour=minute=second=0;hour=parseInt(values[0],10);if(isNaN(hour)||(0>hour)||(23<hour))
throw'fromInputTime: "'+whenString+'" - hour part is not a valid time (HH:MM:SS).';if(values.length>1){minute=parseInt(values[1],10);if(isNaN(minute)||(0>minute)||(59<minute))
throw'fromInputTime: "'+whenString+'" - minute part is not a valid time (HH:MM:SS).';if(values.length>2){second=parseInt(values[2],10);if(isNaN(second)||(0>second)||(59<second))
throw'fromInputTime: "'+whenString+'" - second part is not a valid time (HH:MM:SS).';}}
var time=new Date();time.setHours(hour);time.setMinutes(minute);time.setSeconds(second);return time;}
Formatter.toInputDate=function(date)
{return(date.getMonth()+1)+'/'+date.getDate()+'/'+date.getFullYear();}
Formatter.toUTCInputDate=function(date)
{return(date.getUTCMonth()+1)+'/'+date.getUTCDate()+'/'+date.getUTCFullYear();}
Formatter.toCCDate=function(date)
{return(date.getUTCMonth()+1)+'/'+date.getUTCFullYear();}
Formatter.prePad=function(num,digits)
{var value=num+'';for(i=value.length;i<digits;i++)
value='0'+value;return value;}
Formatter.toDate=function(date)
{if(undefined==date)
return undefined;return this.SHORT_MONTHS[date.getUTCMonth()]+' '+date.getUTCDate()+', '+date.getUTCFullYear();}
Formatter.toSimpleDate=function(date){return this.toDate(date);}
Formatter.toFullDate=function(date)
{if(undefined==date)
return undefined;return this.LONG_DAYS[date.getUTCDay()]+', '+this.SHORT_MONTHS[date.getUTCMonth()]+' '+date.getUTCDate()+', '+date.getUTCFullYear();}
Formatter.toDateTime=function(date)
{if(undefined==date)
return undefined;return this.SHORT_MONTHS[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear()+' '+this.prePad(date.getHours(),2)+':'+this.prePad(date.getMinutes(),2)+':'+this.prePad(date.getSeconds(),2);}
Formatter.toDateTime2=function(date)
{if(undefined==date)
return undefined;var hours=date.getHours();var hours_=(hours==0)?12:(hours>12)?hours-12:hours;return this.SHORT_MONTHS[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear()+' '+this.prePad(hours_,2)+':'+this.prePad(date.getMinutes(),2)+(hours<12?' AM':' PM');}
Formatter.toTimestamp=function(date)
{if(undefined==date)
return undefined;var hours=date.getHours();var hours_=(hours==0)?12:(hours>12)?hours-12:hours;return this.SHORT_DAYS[date.getDay()]+', '+this.SHORT_MONTHS[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear()+' '+this.prePad(hours_,2)+':'+this.prePad(date.getMinutes(),2)+':'+this.prePad(date.getSeconds(),2)+' '+(hours<12?'AM':'PM');}
Formatter.toTime=function(date)
{if(undefined==date)
return undefined;var hours=date.getHours();var hours_=(hours==0)?12:(hours>12)?hours-12:hours;return hours_+':'+this.prePad(date.getMinutes(),2)+' '+(hours<12?'AM':'PM');}
Formatter.toNumber=function(value,places)
{if(undefined==value)
return undefined;return this.toNumber_(value,places);}
Formatter.toNumber_=function(value,places,maxPlaces)
{value+='';x=value.split('.');x1=x[0];x2=x.length>1?x[1]:'';if(places)
{if(maxPlaces)
{var l=x2.length;if(l>maxPlaces)
{places=maxPlaces;x2=x2.substr(0,places);}
else if(l>places)
places=l;}
while(x2.length<places)
x2+='0';}
if(0<x2.length)
x2='.'+x2;var rgx=/(\d+)(\d{3})/;while(rgx.test(x1))
x1=x1.replace(rgx,'$1'+','+'$2');return x1+x2;}
Formatter.toRoundedNumber=function(value,places)
{if(undefined==value)
return undefined;return this.toRoundedNumber_(value,places);}
Formatter.toRoundedNumber_=function(value,places)
{var div=Math.pow(10,places);return this.toNumber_(Math.round(value*div)/div,places)}
Formatter.toPercent=function(value)
{if(undefined==value)
return undefined;return this.toRoundedNumber_(value,2);}
Formatter.toPercentX=function(value)
{if(undefined==value)
return undefined;return this.toRoundedNumber_(value*100,2);}
Formatter.toPrice=function(value)
{if(undefined==value)
return undefined;return this.toNumber_(value,2,5);}
Formatter.toVolume=function(value)
{if(undefined==value)
return undefined;return this.toNumber_(Math.round(value));}
Formatter.toFileSize=function(size)
{var _size=parseFloat(size),unit;if(this.KILOBYTE>size)
unit=this.CAPTION_BYTES;else if(this.MEGABYTE>size)
{_size/=this.KILOBYTE;unit=this.ABBR_KILOBYTE;}
else if(this.GIGABYTE>size)
{_size/=this.MEGABYTE;unit=this.ABBR_MEGABYTE;}
else
{_size/=this.GIGABYTE;unit=this.ABBR_GIGABYTE;}
return this.toRoundedNumber(_size,1)+' '+unit;}

function InputField(doc)
{this.doc=(undefined==doc)?window.document:doc;}
InputField.doc=window.document;InputField.prototype.generate=InputField.generate=function(name,type,isChecked)
{if(this.doc.all)
{var checked=isChecked?' checked':'';return this.doc.createElement('<input name="'+name+'" type="'+type+'"'+checked+' />');}
var output=this.doc.createElement('input');if(window.isSafari)output.id=name;output.name=name;output.type=type;output.checked=isChecked;return output;}
InputField.prototype.genButton=InputField.genButton=function(name,caption,onclick)
{var output=this.generate(name,'button');output.value=caption;if(undefined!=onclick)
output.onclick=onclick;return output;}
InputField.prototype.genButtonX=InputField.genButtonX=function(name,caption,onclick,cssClass)
{var output=this.genButton(name,'',onclick);output.className=cssClass;return output;}
InputField.prototype.genCheckBox=InputField.genCheckBox=function(name,value,isChecked)
{var output=this.generate(name,'checkbox',isChecked);output.value=value;return output;}
InputField.prototype.genFileInput=InputField.genFileInput=function(name,maxLength,size)
{var output=this.generate(name,'file');if(undefined!=maxLength)
{output.maxLength=maxLength;output.size=size;}
return output;}
InputField.prototype.genHidden=InputField.genHidden=function(name,value)
{var output=this.generate(name,'hidden');if(undefined!=value)
output.value=value;return output;}
InputField.prototype.genImage=InputField.genImage=function(name,src,onclick){var output=this.generate(name,'image');output.src=src;if(undefined!=onclick)
output.onclick=onclick;return output;}
InputField.prototype.genMultiPartForm=InputField.genMultiPartForm=function(action,target)
{var output;if(document.all)
output=document.createElement('<form method="post" enctype="multipart/form-data" />');else
{output=document.createElement('form');output.method='post';output.enctype='multipart/form-data';}
output.action=action;if(undefined!=target)
output.target=target;return output;}
InputField.prototype.genPassword=InputField.genPassword=function(name,maxLength,size)
{var output=this.generate(name,'password');output.maxLength=maxLength;output.size=size;return output;}
InputField.prototype.genRadio=InputField.genRadio=function(name,value,isChecked)
{var output=this.generate(name,'radio',isChecked);output.value=value;return output;}
InputField.prototype.genReset=InputField.genReset=function(name,caption)
{var output=this.generate(name,'reset');output.value=caption;return output;}
InputField.prototype.genSubmit=InputField.genSubmit=function(name,caption)
{var output=this.generate(name,'submit');output.value=caption;return output;}
InputField.prototype.genSubmitX=InputField.genSubmitX=function(name,caption,cssClass)
{var output=this.genSubmit(name,'');output.className=cssClass;return output;}
InputField.prototype.genTextArea=InputField.genTextArea=function(name,cols,rows)
{var output=undefined;if(this.doc.all)
{output=this.doc.createElement('<textarea name="'+name+'" />');}
else
{var output=this.doc.createElement('textarea');if(window.isSafari)output.id=name;output.name=name;}
if(undefined!=cols)output.cols=cols;if(undefined!=rows)output.rows=rows;return output;}
InputField.prototype.genTextBox=InputField.genTextBox=function(name,maxLength,size)
{var o=this.generate(name,'text');if(maxLength)
o.maxLength=maxLength;if(size)
o.size=size;return o;}

var KEY_NULL=0;var KEY_BACKSPACE=8;var KEY_TAB=9;var KEY_ENTER=13;var KEY_ESCAPE=27;var KEY_SPACE=32;var KEY_PAGE_UP=33;var KEY_PAGE_DOWN=34;var KEY_END=35;var KEY_HOME=36;var KEY_LEFT=37;var KEY_UP=38;var KEY_RIGHT=39;var KEY_DOWN=40;var KEY_PAREN_OPEN=40;var KEY_PAREN_CLOSED=41;var KEY_PLUS=43;var KEY_HYPHEN=45;var KEY_ZERO=48;var KEY_NINE=57;var KeyCode=new Object();function getKeyCode(ev)
{if(window.event)
return window.event.keyCode;if(ev)
return ev.keyCode;return undefined;}
KeyCode.getDown=getKeyCode;KeyCode.getUp=getKeyCode;KeyCode.getPress=function(ev)
{if(window.event)
return window.event.keyCode;if(ev)
return ev.which;return undefined;}
KeyCode.isPhoneCode=function(keyCode)
{return((KEY_SPACE==keyCode)||(KEY_PAREN_OPEN==keyCode)||(KEY_PAREN_CLOSED==keyCode)||(KEY_HYPHEN==keyCode)||(KEY_PLUS==keyCode)||((KEY_ZERO<=keyCode)&&(KEY_NINE>=keyCode))||(KEY_ENTER==keyCode)||(KEY_BACKSPACE==keyCode)||(KEY_NULL==keyCode))}

function LoginFormDOM(callback)
{this.callback=callback;this.hasUserToken=false;this.isNextTokenMode=false;}
LoginFormDOM.prototype.open=function(userName,offset)
{var canRegisterUser=(undefined!=this.callback.handleRegisterUser);var canForgotPassword=(undefined!=this.callback.handleForgotPassword);var value={userName:userName,canRegisterUser:canRegisterUser,canForgotPassword:canForgotPassword};if(undefined==this.body)
{this.body=document.createElement('div');this.body.style.padding='0px';this.body.style.position='absolute';this.body.style.zIndex=200;this.body.appendChild(this.generate(value,this));document.body.insertBefore(this.body,document.body.firstChild);if(this.callback.handlePostGenerate)
this.callback.handlePostGenerate(this);}
this.body.style.display='block';if(undefined==offset)
centerElement(this.body);else
positionBelowElement(this.body,offset);this.passwordField.value='';this.tokenCodeField.value='';this.nextTokenCodeField.value='';this.handleUserNameChange(userName);this.userNameField.focus();}
LoginFormDOM.prototype.close=function()
{if(undefined!=this.body)
this.body.style.display='none';}
LoginFormDOM.prototype.handleSubmit=function(ev)
{try
{var me=this.myCallback;var userName=this.userName.value;var password=this.password.value;if(!me.callback.doLogin(userName,password))
{window.alert('Invalid '+CAPTION_USER_NAME+' or '+CAPTION_PASSWORD+'.');this.userName.focus();return false;}
if(!me.hasUserToken)
{me.callback.handlePostLogin();me.close();return false;}
var nextTokenCode=me.isNextTokenMode?this.nextTokenCode.value:undefined;if(me.callback.doToken(userName,password,this.tokenCode.value,nextTokenCode))
{me.callback.handlePostLogin();me.close();if(me.isNextTokenMode)
{me.trNextTokenCode.style.display='none';me.isNextTokenMode=false;}}
else
{window.alert('Invalid '+CAPTION_TOKEN_CODE+'.');this.tokenCode.focus();}}
catch(error)
{if(error.isNextCodeRequired)
{window.alert(MESSAGE_TOKEN_SUSPECT);me.isNextTokenMode=true;me.trNextTokenCode.style.display=trDisplayValue;this.tokenCode.value='';this.tokenCode.focus();}
else
{if(error.message)error=error.message;window.alert(error);}}
return false;}
LoginFormDOM.prototype.handleCancel=function(ev){this.myCallback.close();}
LoginFormDOM.prototype.handleRegisterUser=function(ev){this.myCallback.callback.handleRegisterUser();}
LoginFormDOM.prototype.handleForgotPassword=function(ev)
{var me=this.myCallback;var value=me.userNameField.value;if(0==value.length)
{window.alert('Please provide your '+CAPTION_LOGIN_NAME+'.');me.userNameField.focus();return false;}
this.myCallback.callback.handleForgotPassword(value);}
LoginFormDOM.prototype.handleUserNameChange=function(userName)
{if(undefined==userName)
return;this.hasUserToken=((0<userName.length)&&(this.callback.hasUserToken(userName)));this.trTokenCode.style.display=this.hasUserToken?trDisplayValue:'none';}
LoginFormDOM.prototype.userName_onBlur=function(ev)
{var me=this.myCallback;if(me.callback.hasUserToken)
me.handleUserNameChange(this.value);}
LoginFormDOM.prototype.generate=function(value,callback)
{var inputField=new InputField();var output=document.createElement('form');output.className='widgetPackage';output.onsubmit=callback.handleSubmit;output.myCallback=callback;output.myRecord=value;var table=this.bodyContainer=document.createElement('table');table.cellSpacing=0;table.className='loginForm';var tr,td,input,rows=0;tr=table.insertRow(rows++);td=tr.insertCell(0);td.className='detailCaption';td.appendChild(document.createTextNode(CAPTION_USER_NAME));td=tr.insertCell(1);td.className='detailValue';td.appendChild(this.userNameField=inputField.genTextBox('userName',MAX_LEN_LOGIN_NAME,20));this.userNameField.myCallback=callback;this.userNameField.onblur=callback.userName_onBlur;if(undefined!=value.userName)
this.userNameField.value=value.userName;tr=table.insertRow(rows++);td=tr.insertCell(0);td.className='detailCaption';td.appendChild(document.createTextNode(CAPTION_PASSWORD));td=tr.insertCell(1);td.className='detailValue';td.appendChild(this.passwordField=inputField.genPassword('password',MAX_LEN_PASSWORD,MAX_LEN_PASSWORD));this.trTokenCode=tr=table.insertRow(rows++);tr.style.display='none';td=tr.insertCell(0);td.className='detailCaption';td.appendChild(document.createTextNode(CAPTION_TOKEN_CODE));td=tr.insertCell(1);td.className='detailValue';td.appendChild(this.tokenCodeField=inputField.genTextBox('tokenCode',MAX_LEN_TOKEN_CODE,MAX_LEN_TOKEN_CODE));this.trNextTokenCode=tr=table.insertRow(rows++);tr.style.display='none';td=tr.insertCell(0);td.className='detailCaption';td.appendChild(document.createTextNode(CAPTION_NEXT_TOKEN_CODE));td=tr.insertCell(1);td.className='detailValue';td.appendChild(this.nextTokenCodeField=inputField.genTextBox('nextTokenCode',MAX_LEN_TOKEN_CODE,MAX_LEN_TOKEN_CODE));tr=table.insertRow(rows++)
td=tr.insertCell(0);td.colSpan=2;var button=inputField.genSubmit('ok','OK');td.appendChild(button);td.appendChild(document.createTextNode('  '));button=inputField.genButton('cancel',CAPTION_CANCEL,callback.handleCancel);button.myCallback=callback;button.myRecord=value;td.appendChild(button);if(value.canRegisterUser||value.canForgotPassword)
{tr=table.insertRow(rows++);td=tr.insertCell(0);td.colSpan=2;td.style.textAlign='center';if(value.canRegisterUser)
{button=document.createElement('a');button.myCallback=callback;button.myRecord=value;button.onclick=callback.handleRegisterUser;button.href='javascript:void(null)';button.appendChild(document.createTextNode(TITLE_REGISTER_USER));td.appendChild(button);td.appendChild(document.createTextNode('  '));}
if(value.canForgotPassword)
{button=document.createElement('a');button.myCallback=callback;button.myRecord=value;button.onclick=callback.handleForgotPassword;button.href='javascript:void(null)';button.appendChild(document.createTextNode(TITLE_FORGOT_PASSWORD));td.appendChild(button);}}
output.appendChild(table);return output;}

var ModalDialog=new Object();ModalDialog.CSS_SHIELD='modalShield';ModalDialog.CSS_POPUP='modalDialog';ModalDialog.shield=undefined;ModalDialog.popup=new Array();ModalDialog.ZINDEX=100;ModalDialog.open=function(caption,body)
{this.genShield();this.altSelectLists(true);this.run(new ModalDialogCriteria(caption),body);}
ModalDialog.close=function()
{if(undefined==this.shield)
return;document.body.removeChild(this.popup.pop());if(0==this.popup.length)
{this.shield.style.display='none';this.altSelectLists(false);}}
ModalDialog.run=function(criteria,body)
{var output=this.getPopup();var table=document.createElement('table');table.className=this.CSS_POPUP;table.cellSpacing=0;var tr=table.insertRow(0);tr.className='modalDialogHeader';var td=tr.insertCell(0);td.className='modalDialogCaption';td.appendChild(document.createTextNode(criteria.caption));td=tr.insertCell(1);td.className='modalDialogActions';var a=document.createElement('a');a.href='javascript:void(null);';a.myCallback=this;a.onclick=this.close_onClick;a.appendChild(document.createTextNode('X'));td.appendChild(a);tr=table.insertRow(1);td=tr.insertCell(0);td.className='modalDialogContainer';td.colSpan=2;td.appendChild(body);output.innerHTML='';output.appendChild(table);output.style.display='block';centerElement(output);return output;}
ModalDialog.genShield=function()
{if(undefined==this.shield)
{var coords=getDocumentBodySize();this.shield=this.genBody(this.CSS_SHIELD);this.shield.style.width=coords.x+'px';this.shield.style.height=coords.y+'px';}
this.shield.style.display='block';}
ModalDialog.getPopup=function()
{var output=this.genBody(this.CSS_POPUP);output.style.zIndex=this.ZINDEX+this.popup.length;this.popup.push(output);return output;}
ModalDialog.genBody=function(className)
{var output=document.createElement('div');output.className=className;document.body.insertBefore(output,document.body.firstChild);return output;}
ModalDialog.altSelectLists=function(hide)
{if(!document.all)
return;var items=document.body.getElementsByTagName('select');var newValue=(hide)?'hidden':'visible';for(var i=0;i<items.length;i++)
items[i].style.visibility=newValue;}
ModalDialog.close_onClick=function(ev)
{this.myCallback.close();}
function ModalDialogCriteria(caption){this.caption=caption;}

function PagingListDOM(imagesPath,cssAnchor)
{this.imagesPath=imagesPath;this.cssAnchor=cssAnchor;}
PagingListDOM.prototype.DEFAULT_ANCHOR_CSS='listingPaging';PagingListDOM.prototype.generate=function(value,callback)
{var output=document.createElement('span');output.style.padding='0px';output.textAlign='right';var pageNavInfo=this.toPageNavInfo(value);if(1>=pageNavInfo.totalPages)
return output;var anchorCss=(undefined!=this.cssAnchor)?this.cssAnchor:this.DEFAULT_ANCHOR_CSS;output.appendChild(document.createTextNode('Page: '));if(1<pageNavInfo.currentPage)
{output.appendChild(this.createAnchor('prev',-1,callback,anchorCss,value));output.appendChild(document.createTextNode(' '));}
var select=document.createElement('select');select.onchange=callback.handlePaging;select.myCallback=callback;select.myRecord=value;for(i=1;i<=pageNavInfo.totalPages;i++)
{var option=new Option(i,i,(i==pageNavInfo.currentPage));select.options[i-1]=option;}
select.selectedIndex=(pageNavInfo.currentPage-1);output.appendChild(select);if(pageNavInfo.totalPages>pageNavInfo.currentPage)
{output.appendChild(document.createTextNode(' '));output.appendChild(this.createAnchor('next',1,callback,anchorCss,value));}
return output;}
PagingListDOM.prototype.toPageNavInfo=function(value)
{if(undefined!=value.pageNavInfo)
return value.pageNavInfo;return new PageNavInfo(value.totalRecords,value.pages,value.currentPage,value.pageSize);}
PagingListDOM.prototype.createAnchor=function(caption,direction,callback,css,value)
{var output=document.createElement('a');output.appendChild(document.createTextNode(caption));output.href='javascript:void(null);';output.pagingDir=direction;output.className=css;output.onclick=callback.handlePaging;output.style.fontWeight='bold';output.myCallback=callback;output.myRecord=value;return output;}

function PagingLinksDOM(imagesPath,cssAnchor,maxLinks)
{this.imagesPath=imagesPath;this.cssAnchor=cssAnchor;this.maxLinks=maxLinks;}
PagingLinksDOM.prototype.DEFAULT_ANCHOR_CSS='paging';PagingLinksDOM.prototype.DEFAULT_MAX_LINKS=8;PagingLinksDOM.prototype.generate2=function(value,callback){if(value.pages<=8)
return this.generate(value,callback);var output=document.createElement('div');var anchorCss=(undefined!=this.cssAnchor)?this.cssAnchor:this.DEFAULT_ANCHOR_CSS;var maxLinks=(undefined!=this.maxLinks)?this.maxLinks:this.DEFAULT_MAX_LINKS;output.className=anchorCss;var pageNavInfo=this.toPageNavInfo(value);if(1>=pageNavInfo.totalPages)
return output;var ul=document.createElement('ul');ul.className='pageList';var start=1;var end=pageNavInfo.totalPages;var middle=Math.round(pageNavInfo.totalPages/2);if(1<start)
ul.appendChild(this.createAnchor('<< first',undefined,callback,value,0));if(1<pageNavInfo.currentPage)
ul.appendChild(this.createAnchor('< prev',-1,callback,value));var prev=0;for(var i=start;i<=end;i++)
{if((i!=start)&&(i!=end)&&(i!=start+1)&&(i!=end-1)&&(i!=pageNavInfo.currentPage)&&(i!=pageNavInfo.currentPage+1)&&(i!=pageNavInfo.currentPage-1)&&(i!=middle)&&(i!=middle+1)&&(i!=middle-1))
continue;var li;if(i!=(prev+1)){li=document.createElement('li');var span=document.createElement('span');span.innerHTML=' ... ';li.appendChild(span);ul.appendChild(li);}
prev=i;if(i==pageNavInfo.currentPage)
{li=document.createElement('li');var span=document.createElement('span');span.className='curr';span.innerHTML=i;li.appendChild(span);}
else
li=this.createAnchor(i,undefined,callback,value,i-1);ul.appendChild(li);}
if(pageNavInfo.totalPages>pageNavInfo.currentPage)
ul.appendChild(this.createAnchor('next >',1,callback,value));if(pageNavInfo.totalPages>end)
ul.appendChild(this.createAnchor('last >>',undefined,callback,value,pageNavInfo.totalPages-1));output.appendChild(ul);return output;}
PagingLinksDOM.prototype.generate=function(value,callback)
{var output=document.createElement('div');var anchorCss=(undefined!=this.cssAnchor)?this.cssAnchor:this.DEFAULT_ANCHOR_CSS;var maxLinks=(undefined!=this.maxLinks)?this.maxLinks:this.DEFAULT_MAX_LINKS;output.className=anchorCss;var pageNavInfo=this.toPageNavInfo(value);if(1>=pageNavInfo.totalPages)
return output;var ul=document.createElement('ul');ul.className='pageList';var start=1;var end=pageNavInfo.totalPages;if(maxLinks<pageNavInfo.totalPages)
{start=pageNavInfo.currentPage-Math.floor(maxLinks/2);if(1>start)
start=1;end=start+maxLinks-1;if(end>pageNavInfo.totalPages)
{end=pageNavInfo.totalPages;start=end-maxLinks+1;}}
if(1<start)
ul.appendChild(this.createAnchor('<< first',undefined,callback,value,0));if(1<pageNavInfo.currentPage)
ul.appendChild(this.createAnchor('< prev',-1,callback,value));for(var i=start;i<=end;i++)
{var li;if(i==pageNavInfo.currentPage)
{li=document.createElement('li');var span=document.createElement('span');span.className='curr';span.innerHTML=i;li.appendChild(span);}
else
li=this.createAnchor(i,undefined,callback,value,i-1);ul.appendChild(li);}
if(pageNavInfo.totalPages>pageNavInfo.currentPage)
ul.appendChild(this.createAnchor('next >',1,callback,value));if(pageNavInfo.totalPages>end)
ul.appendChild(this.createAnchor('last >>',undefined,callback,value,pageNavInfo.totalPages-1));output.appendChild(ul);return output;}
PagingLinksDOM.prototype.toPageNavInfo=function(value)
{if(undefined!=value.pageNavInfo)
return value.pageNavInfo;return new PageNavInfo(value.totalRecords,value.pages,value.currentPage,value.pageSize);}
PagingLinksDOM.prototype.createAnchor=function(caption,direction,callback,value,selectedIndex)
{var anchor=document.createElement('a');anchor.appendChild(document.createTextNode(caption));anchor.href='javascript:void(null);';anchor.pagingDir=direction;anchor.onclick=callback.handlePaging;anchor.myCallback=callback;anchor.myRecord=value;anchor.selectedIndex=selectedIndex;var output=document.createElement('li');output.appendChild(anchor);return output;}

var PreLoader=new Object();PreLoader.TIMEOUT=1000;PreLoader.start=function(data)
{var me=this;setTimeout(function(){me.load(data)},this.TIMEOUT);}
PreLoader.load=function(sources)
{var head=this.getHead();for(var i=0;i<sources.length;i++)
head.appendChild(this.createScript(sources[i]));}
PreLoader.getHead=function()
{if(undefined!=this.head_)
return this.head_;var heads=document.getElementsByTagName('head');if((undefined==heads)||(0==heads.length))
throw'Could not find document head to load scripts.';return(this.head_=heads[0]);}
PreLoader.createScript=function(src)
{var elem=document.createElement('script');elem.type='text/javascript';elem.language='JavaScript';elem.src=src;return elem;}

function ProgressBar(caption)
{this.caption=caption;}
ProgressBar.prototype.INTERVAL=2000;ProgressBar.prototype.MAX_INTERVALS=20;ProgressBar.prototype.run=function(criteria)
{var me=this;criteria.progressBarBody=document.createElement('blockquote');criteria.progressBarBody.innerHTML=this.caption+' ...'+'<span id="loadingImage"/>';criteria.body.innerHTML='';criteria.body.appendChild(criteria.progressBarBody);criteria.progressBarOn=true;criteria.progressBarCount=0;criteria.progressBarIntervalId=window.setInterval(function(){me.handleInterval(criteria);},this.INTERVAL);}
ProgressBar.prototype.turnOff=function(criteria)
{if(!criteria.progressBarOn)
return;window.clearInterval(criteria.progressBarIntervalId);criteria.progressBarIntervalId=undefined;criteria.progressBarOn=false;}
ProgressBar.prototype.handleInterval=function(criteria)
{if(!criteria.progressBarOn)
return;if(this.MAX_INTERVALS<=criteria.progressBarCount)
{this.turnOff(criteria);return;}
criteria.progressBarBody.innerHTML=criteria.progressBarBody.innerHTML+'.';criteria.progressBarCount++;}

function RSAAuthValue(userName,pin,code,newPin)
{this.userName=userName;this.pin=pin;this.code=code;this.newPin=newPin;}
function RSAAuthException(message,isAccessDenied,isNewPinRequired,isNextCodeRequired,isPinRejected)
{this.message=message;this.isAccessDenied=isAccessDenied;this.isNewPinRequired=isNewPinRequired;this.isNextCodeRequired=isNextCodeRequired;this.isPinRejected=isPinRejected;}
RSAAuthException.prototype.toString=function(){this.message;}

function SelectListDOM(){}
SelectListDOM.create=function(name,id)
{if(document.all)
return document.createElement('<select name="'+name+'" />');var output=document.createElement('select');if(window.isSafari&&(undefined==id))
output.id=name;output.name=name;return output;}
SelectListDOM.populate=function(options,value)
{for(var i=0;i<value.ids.length;i++)
options[options.length]=new Option(value.values[i],value.ids[i]);}
SelectListDOM.prototype.generate=function(name,value,header,id,onChange,css)
{var output=SelectListDOM.create(name,id);if(undefined!=id)output.id=id;if(undefined!=onChange)output.onchange=onChange;if(undefined!=css)output.className=css;var options=output.options;if(undefined!=header)
options[0]=new Option(header,'');SelectListDOM.populate(options,value);return output;}
var SelectList={};SelectList.create=SelectListDOM.create;SelectList.generate=function(name,value,header,id,onChange,css)
{var o=SelectListDOM.create(name,id);if(id)o.id=id;if(onChange)o.onchange=onChange;if(css)o.className=css;var options=o.options;if(undefined!=header)
options[0]=new Option(header,'');this.populate(options,value);return o;}
SelectList.populate=function(options,value)
{var r=value.records;for(var i=0;i<r.length;i++)
options[options.length]=new Option(r[i].caption,r[i].id);}

function Tabbers(args){this.init(args);}
Tabbers.prototype.init=function(args)
{for(var arg in args){this[arg]=args[arg];}
if(this.body)
this.run(this.body);}
Tabbers.prototype.CSS_MAIN="tabber";Tabbers.prototype.CSS_ACTIVE='active';Tabbers.prototype.CSS_BODY="tabberBody";Tabbers.prototype.run=function(body)
{if(!document.getElementsByTagName){return false;}
if(undefined==body)
body=this.body;var defaultTab=(undefined==this.defaultTab)?0:this.defaultTab;if(body.id)
this.id=body.id;this.tabs=new Array();var ul=document.createElement("div");ul.className=this.CSS_MAIN;body.appendChild(ul);for(var i=0;i<this.titles.length;i++)
{var t=new Object();t.body=document.createElement('div');t.body.className=this.CSS_BODY;t.body.style.display='none';t.headingText=this.titles[i];t.isAvailable=((undefined!=t.headingText)&&(0<t.headingText.length));t.li=document.createElement("span");t.isEmpty=true;this.tabs[i]=t;var anchor=document.createElement("a");anchor.appendChild(document.createTextNode(t.headingText));anchor.href="javascript:void(null);";anchor.title=t.headingText;anchor.onclick=this.navClick;anchor.tabber=this;anchor.tabberIndex=i;if(this.ids)
anchor.id=this.ids[i];t.li.appendChild(anchor);ul.appendChild(t.li);body.appendChild(t.body);}
if(typeof this.onLoad=='function'){this.onLoad({tabber:this,index:defaultTab,tab:this.tabs[defaultTab]});}
this.setActiveTab(defaultTab);return this;};Tabbers.prototype.navClick=function(ev)
{var a=this;var self=a.tabber;var index=a.tabberIndex;if(!self){return false;}
a.blur();return self.doTab(index);};Tabbers.prototype.hideContents=function()
{for(var i=0;i<this.tabs.length;i++)
this.tabs[i].body.style.display='none';}
Tabbers.prototype.hideContent=function(index){this.tabs[index].body.style.display='none';}
Tabbers.prototype.showContent=function(index){this.tabs[index].body.style.display='block';}
Tabbers.prototype.hideTab=function(index)
{if(this.activeTab==index)
{var newIndex=(0==index)?index+1:index-1;this.doTab(newIndex);}
else
this.hideContent(index);this.tabs[index].li.style.display='none';}
Tabbers.prototype.showTab=function(index){this.tabs[index].li.style.display='inline';}
Tabbers.prototype.deactivateTabs=function()
{for(var i=0;i<this.tabs.length;i++)
this.tabs[i].li.className='';}
Tabbers.prototype.deactivateTab=function(index){this.tabs[index].li.className='';}
Tabbers.prototype.activateTab=function(index){this.tabs[index].li.className=this.CSS_ACTIVE;}
Tabbers.prototype.markEmpty=function(index)
{if(this.tabs[index])
this.tabs[index].isEmpty=true;}
Tabbers.prototype.doTab=function(index)
{if(!this.tabs[index].isAvailable){return false;}
if(typeof this.onClick=='function')
{var theTab=this.tabs[index];if(index==this.activeTab)
theTab.isEmpty=true;var onClickArgs={'tabber':this,'index':index,'tab':theTab};this.onClick(onClickArgs);}
this.setActiveTab(index);return false;}
Tabbers.prototype.setActiveTab=function(index)
{if(undefined!=this.activeTab)
{this.deactivateTab(this.activeTab);this.hideContent(this.activeTab);}
this.activateTab(index);this.showContent(index);this.activeTab=index;}

function TimeEntryDOM()
{this.selectList=new SelectListDOM();this.fields=new Array();}
TimeEntryDOM.prototype.HOURS={'ids':[0,1,2,3,4,5,6,7,8,9,10,11],'values':['12','01','02','03','04','05','06','07','08','09','10','11']};TimeEntryDOM.prototype.MINUTES={'ids':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],'values':['00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59']};TimeEntryDOM.prototype.AM_PM={'ids':[0,1],'values':['AM','PM']};TimeEntryDOM.prototype.generate=function(model)
{var hour=0;var minute=0;var amPm=0;if(undefined!=model.value)
{hour=model.value.getHours();if(11<hour)
{hour-=12;amPm=1;}
minute=model.value.getMinutes();}
var items=this.fields[model.name]=new Array();var elem,output=document.createElement('span');output.className='widgetPackage';output.appendChild(elem=items['hour']=this.selectList.generate(model.name+'Hour',this.HOURS));elem.value=hour;elem.disabled=model.disabled;output.appendChild(document.createTextNode(' : '));output.appendChild(elem=items['minute']=this.selectList.generate(model.name+'Minute',this.MINUTES));elem.value=minute;elem.disabled=model.disabled;output.appendChild(document.createTextNode(' '));output.appendChild(elem=items['amPm']=this.selectList.generate(model.name+'AmPm',this.AM_PM));elem.value=amPm;elem.disabled=model.disabled;output.appendChild(document.createTextNode(' EST'));return output;}
TimeEntryDOM.prototype.get=function(name)
{var items=this.fields[name];if(undefined==items)
return undefined;var hour=parseInt(items['hour'].value);var minute=parseInt(items['minute'].value);var amPm=parseInt(items['amPm'].value);hour=(amPm*12)+hour;return new Date(0,0,0,hour,minute,0,0);}
function TimeEntryValue(name,value,disabled)
{this.name=name;this.value=value;this.disabled=(undefined==disabled)?false:disabled;}

function DropdownAnchors()
{}
DropdownAnchors.prototype.CLOSE_WAIT=500;DropdownAnchors.prototype.CSS_MAIN='dropdownAnchors';DropdownAnchors.prototype.run=function(criteria,body)
{criteria.body=body;body.innerHTML='';body.appendChild(criteria.myCaption=this.generate(criteria));}
DropdownAnchors.prototype.generate=function(value)
{var output=document.createElement('div');var caption=value.defaultValue;output.className=this.CSS_MAIN;output.innerHTML=caption;output.onmouseover=this.caption_onMouseOver;output.onmouseout=this.caption_onMouseOut;output.myValue=value;output.myCallback=this;return output;}
DropdownAnchors.prototype.open=function(value)
{if(this.cancelClose(value))
return;var popup=this.getPopup(value);ModalDialog.altSelectLists(true);popup.style.display='block';positionBelowElement(popup,value.myCaption);value.isOpened=true;}
DropdownAnchors.prototype.close=function(value)
{value.closeTimeoutId=undefined;value.isOpened=false;this.getPopup().style.display='none';ModalDialog.altSelectLists(false);}
DropdownAnchors.prototype.scheduleClose=function(value)
{if(!value.isOpened||(undefined!=value.closeTimeoutId))
return;var me=this;value.closeTimeoutId=window.setTimeout(function(){me.close(value);},this.CLOSE_WAIT);}
DropdownAnchors.prototype.cancelClose=function(value)
{if(undefined==value.closeTimeoutId)
return false;window.clearTimeout(value.closeTimeoutId);value.closeTimeoutId=undefined;return true;}
DropdownAnchors.prototype.handleSelect=function(li)
{var value=li.myValue;if(undefined!=value.lastSelectedItem)
value.lastSelectedItem.className='';li.className='selected';value.lastSelectedItem=li;value.callback.handleAnchorSelect(li.myId,li.myCaption,value);value.myCaption.innerHTML=li.myCaption;this.close(value);}
DropdownAnchors.prototype.getPopup=function(value)
{if(undefined==this.popup)
{var popup=this.popup=document.createElement('ul');popup.className=this.CSS_MAIN;popup.myValue=value;popup.myCallback=this;popup.onmouseover=this.ul_onMouseOver;popup.onmouseout=this.ul_onMouseOut;var listItems=value.listItems;for(var i=0;i<listItems.ids.length;i++)
{var id=listItems.ids[i];var caption=listItems.values[i];var li=document.createElement('li');li.innerHTML=caption;li.myId=id;li.myCaption=caption;li.myValue=value;li.myCallback=this;li.onmouseover=this.listItem_onMouseOver;li.onmouseout=this.listItem_onMouseOut;li.onmousedown=this.listItem_onMouseDown;if(value.selectedItem==id)
{li.className='selected';value.lastSelectedItem=li;}
popup.appendChild(li);}
document.body.insertBefore(popup,document.body.firstChild);}
else if(undefined!=value)
value.lastSelectedItem.className='selected';return this.popup;}
DropdownAnchors.prototype.caption_onMouseOver=function(ev)
{this.myCallback.open(this.myValue);}
DropdownAnchors.prototype.caption_onMouseOut=function(ev)
{this.myCallback.scheduleClose(this.myValue);}
DropdownAnchors.prototype.ul_onMouseOver=function(ev)
{this.myCallback.cancelClose(this.myValue);}
DropdownAnchors.prototype.ul_onMouseOut=function(ev)
{this.myCallback.scheduleClose(this.myValue);}
DropdownAnchors.prototype.listItem_onMouseOver=function(ev)
{this.myPriorClassName=this.className;this.className='over';}
DropdownAnchors.prototype.listItem_onMouseOut=function(ev)
{this.className=this.myPriorClassName;this.myPriorClassName=undefined;}
DropdownAnchors.prototype.listItem_onMouseDown=function(ev)
{this.myCallback.handleSelect(this);}

function FancyAnchorList(body)
{this.body=body;}
FancyAnchorList.prototype.CSS_MAIN='fancyAnchorList';FancyAnchorList.prototype.CSS_ACTIVE='selected';FancyAnchorList.prototype.run=function(criteria,body)
{if(undefined!=body)
criteria.body=body;else if(undefined==criteria.body)
criteria.body=this.body;var ids=criteria.listItems.ids;var values=criteria.listItems.values;var li,output=document.createElement('div');output.className=this.CSS_MAIN;if(undefined!=criteria.defaultValue)
{li=document.createElement('span');li.appendChild(this.outputItem(undefined,criteria.defaultValue,criteria));output.appendChild(li);}
for(var i=0;i<ids.length;i++)
{var id=ids[i];li=document.createElement('span');if(criteria.selectedItem==id)
li.className=this.CSS_ACTIVE;li.appendChild(this.outputItem(id,values[i],criteria));output.appendChild(li);}
criteria.body.innerHTML='';criteria.body.appendChild(output);}
FancyAnchorList.prototype.setSelectedItem=function(criteria,newValue)
{criteria.callback.handleAnchorSelect(newValue,undefined,criteria);criteria.selectedItem=newValue;this.run(criteria);}
FancyAnchorList.prototype.onClick=function(ev)
{var me=this.myCallback;var criteria=this.myCriteria;var id=this.myId;var value=this.myValue;criteria.callback.handleAnchorSelect(id,value,criteria);criteria.selectedItem=id;me.run(criteria);return false;}
FancyAnchorList.prototype.outputItem=function(id,value,criteria)
{var output;output=document.createElement('a');output.href='javascript:void(null);';output.myCallback=this;output.myCriteria=criteria;output.myId=id;output.myValue=value;output.onclick=this.onClick;output.appendChild(document.createTextNode(value));return output;}

function CascadingAnchorList(body)
{this.body=body;}
CascadingAnchorList.prototype.CSS_MAIN='cascadingAnchorList';CascadingAnchorList.prototype.CSS_SUB='cascadingAnchorListSubmenu'
CascadingAnchorList.prototype.CSS_ACTIVE='selected';CascadingAnchorList.prototype.run=function(criteria,body)
{if(undefined!=body)
criteria.body=body;else if(undefined==criteria.body)
criteria.body=this.body;var ids=criteria.listItems.ids;var values=criteria.listItems.values;var submenus=criteria.submenus;var li,output=document.createElement('div');output.className=this.CSS_MAIN;this.subLists=new Object();for(var i=0;i<ids.length;i++)
{var id=ids[i];var submenu=submenus[id];li=document.createElement('span');if(criteria.selectedItem==id)
li.className=this.CSS_ACTIVE;var result=this.outputItem(id,values[i],submenu,criteria)
li.appendChild(result);if(result.subList!=undefined){this.subLists[id]=result.subList;var submenuBody=result.submenuBody;li.appendChild(submenuBody);var subCriteria={'listItems':submenu,'callback':this,'parent':result,'selectedItem':criteria.subMenuId};result.subList.run(subCriteria,submenuBody);if(criteria.selectedItem!=id)submenuBody.style.display='none';}
output.appendChild(li);}
criteria.body.innerHTML='';criteria.body.appendChild(output);}
CascadingAnchorList.prototype.setSelectedItem=function(criteria,newValue,caption)
{criteria.callback.handleAnchorSelect(newValue,caption,criteria);criteria.selectedItem=newValue;this.run(criteria);}
CascadingAnchorList.prototype.onClick=function(ev)
{var me=this.myCallback;var criteria=this.myCriteria;var id=this.myId;var value=this.myValue;criteria.subMenuId=undefined;criteria.subMenuValue=undefined;if(this.submenuBody!=undefined){this.submenuBody.style.display='block';}
criteria.callback.handleAnchorSelect(id,value,criteria);criteria.selectedItem=id;me.run(criteria);return false;}
CascadingAnchorList.prototype.handleAnchorSelect=function(id,value,criteria){var parent=criteria.parent;var callback=parent.myCriteria.callback;parent.myCriteria.subMenuId=id;parent.myCriteria.subMenuValue=value;parent.myCriteria.selectedValue=parent.myValue;callback.handleAnchorSelect(id,value,criteria);}
CascadingAnchorList.prototype.outputItem=function(id,value,submenu,criteria)
{var output;output=document.createElement('a');output.href='javascript:void(null);';output.myCallback=this;output.myCriteria=criteria;output.myId=id;output.myValue=value;output.onclick=this.onClick;output.appendChild(document.createTextNode(value));var submenuBody=output.submenuBody=document.createElement('div');if(submenu!=undefined){output.subList=new FancyAnchorList(submenuBody);output.subList.CSS_MAIN=this.CSS_SUB;}
return output;}

function DetailDOM(){}
DetailDOM.prototype.createForm=function(criteria,callback)
{var o=document.createElement('form');if(callback)
{o.onsubmit=function(ev){callback.handleSubmit(criteria,this);if(o.myActions)
{o.myActions.style.display='none';o.myWaitMessage.style.display='block';}
return false;};}
return o;}
DetailDOM.prototype.createTable=function()
{var o=document.createElement('table');o.className='detail';return o;}
DetailDOM.prototype.createRow=function(t){return t.insertRow(t.rows.length);}
DetailDOM.prototype.createHeader=function(t,caption,colSpan)
{var r=this.createRow(t);var o=r.insertCell(r.cells.length);r.className=o.className='detailHeader';o.innerHTML=caption+':';if(colSpan)
o.colSpan=colSpan;return o;}
DetailDOM.prototype.createCaption=function(r,caption)
{var o=r.insertCell(r.cells.length);o.className='detailCaption';o.innerHTML=caption;return o;}
DetailDOM.prototype.createValue=function(r,value)
{var o=r.insertCell(r.cells.length);o.className='detailValue';if(value)
o.innerHTML=value;return o;}
DetailDOM.prototype.createField=function(r,elem,value)
{var o=r.insertCell(r.cells.length);o.className='detailValue';o.appendChild(elem);if(value)
elem.value=value;return o;}
DetailDOM.prototype.createAction=function(t,form,colSpan)
{var e,c,o=this.createRow(t);c=o.insertCell(0);c.colSpan=(colSpan?colSpan:2);c.className='detailAction';form.myActions=Elements.addDiv(c);e=form.myWaitMessage=Elements.addDiv(c);e.innerHTML=CAPTION_SUBMITTING;e.style.display='none';return o;}

function WorklistDOM(){}
WorklistDOM.prototype.CSS_TABLE='listing';WorklistDOM.prototype.CSS_CAPTION='listingCaption';WorklistDOM.prototype.CSS_HEADER='listingHeader';WorklistDOM.prototype.CSS_TOTALS='listingTotals';WorklistDOM.prototype.COLOR_FLICKER='#F03B6D';WorklistDOM.prototype.NO_DATA_FOUND='No data found';WorklistDOM.prototype.createSymbolAnchor=function(record,callback)
{var output=document.createElement('a');output.href='javascript:void(null);';output.innerHTML=(undefined!=record.symbol)?record.symbol:record.securityId;output.onclick=callback.gotoQuote;output.myRecord=record;output.myCallback=callback;return output;}
WorklistDOM.prototype.createHeaderCell=function(row,index,caption,sortOn,sortDefaultDir,value,callback)
{var output=row.insertCell(index);output.className=this.CSS_HEADER;output.style.whiteSpace='nowrap';if(undefined==sortOn)
{output.innerHTML=caption;return output;}
var anchor=document.createElement('a');anchor.className=this.CSS_HEADER;anchor.myCallback=callback;anchor.myValue=value;anchor.mySortOn=sortOn;anchor.mySortDefaultDir=sortDefaultDir;anchor.innerHTML=caption;anchor.onclick=callback.handleSort;anchor.href='javascript:void(null);';output.appendChild(anchor);if(value.sortOn==sortOn)
{output.appendChild(document.createTextNode(' '));var elem=document.createElement('span');elem.className=(FIELD_ASCENDING==value.sortDir)?'ascendingIcon':'descendingIcon';elem.innerHTML='&nbsp;&nbsp;&nbsp;';output.appendChild(elem);}
return output;}
WorklistDOM.prototype.createHeaderNum=function(row,index,caption,sortOn,sortDefaultDir,value,callback)
{var o=this.createHeaderCell(row,index,caption,sortOn,sortDefaultDir,value,callback);o.style.textAlign='right';return o;}
WorklistDOM.prototype.createDetailCell=function(row,index,value)
{var output=row.insertCell(index);output.className=row.className;output.innerHTML=value;return output;}
WorklistDOM.prototype.createDetailNum=function(row,index,value)
{var o=this.createDetailCell(row,index,value);o.style.textAlign='right';return o;}
WorklistDOM.prototype.createNoDataFound=function(value,callback)
{var o=document.createElement('div');o.className='widgetSection';o.innerHTML=this.NO_DATA_FOUND;return o;}
WorklistDOM.prototype.getRowCss=function(index)
{return alternateCssParentListingClasses(index);}
WorklistDOM.prototype.getTitle=function(value)
{return outputWorklistTitle(value);}
WorklistDOM.prototype.flicker=function(elem)
{var bgcolor=elem.style.backgroundColor;elem.style.backgroundColor=this.COLOR_FLICKER;window.setTimeout(function(){elem.style.backgroundColor=bgcolor;},500);}
WorklistDOM.prototype.toSub=function()
{this.CSS_TABLE='subListing';this.CSS_CAPTION='subListingCaption';this.CSS_HEADER='subListingHeader';this.getRowCss=function(index){return alternateCssListingClasses(index);};}

function WorklistSimple(captionLoading)
{if(undefined!=captionLoading)
this.CAPTION_LOADING=captionLoading;this.progressBar=new ProgressBar(this.CAPTION_LOADING);}
WorklistSimple.prototype.CAPTION_LOADING='Loading';WorklistSimple.prototype.filter=function(filter,body){this.run({filter:filter},body);}
WorklistSimple.prototype.run=function(criteria,body)
{if(undefined!=body)
criteria.body=body;else if(undefined==criteria.body)
criteria.body=this.body;this.progressBar.run(criteria);var filter=criteria.filter?criteria.filter:criteria;if(!filter.pageSize&&this.pageSize)
filter.pageSize=this.pageSize;this.makeCall(filter,new AjaxDataHandler(this,criteria));}
WorklistSimple.prototype.doValue=function(value)
{var filter;var criteria=filter=value.criteria;this.progressBar.turnOff(criteria);if(criteria.filter)
filter=criteria.filter;filter.sortOn=value.sortOn;filter.sortDir=value.sortDir;criteria.body.innerHTML='';var output=this.viewer.generate(value,this);criteria.body.appendChild(output);if(this.callback&&this.callback.handlePostLoad)
this.callback.handlePostLoad(value,output);}
WorklistSimple.prototype.handlePaging=function(ev)
{var filter,me=this.myCallback;var criteria=filter=this.myRecord.criteria;if(criteria.filter)
filter=criteria.filter;if(!filter.page)
filter.page=1;if(this.pagingDir)
filter.page+=this.pagingDir;else
filter.page=this.selectedIndex+1;me.run(criteria);}
WorklistSimple.prototype.handleSort=function(ev)
{var filter,me=this.myCallback;var criteria=filter=this.myValue.criteria;if(criteria.filter)
filter=criteria.filter;var sortOn=this.mySortOn;var sortDir=this.mySortDefaultDir;if((sortOn==filter.sortOn)&&filter.sortDir)
filter.sortDir=(FIELD_DESCENDING==filter.sortDir)?FIELD_ASCENDING:FIELD_DESCENDING;else
{filter.sortOn=sortOn;filter.sortDir=sortDir;}
me.run(criteria);}
