Array.prototype.swap=function(i,j)
{var tmp=this[i];this[i]=this[j];this[j]=tmp;};Array.prototype.filter=function(item_predicat)
{var filtered=[];var j=0;for(var i=0,len=this.length;i<len;i++)
{if(item_predicat(this[i]))
{filtered[j]=this[i];j++;}}
return filtered;};Array.prototype.fill=function(enumarable)
{if(enumarable==null){return this;}
for(var i=0,len=enumarable.length;i<len;i++){this[i]=enumarable[i];}
return this;};Array.prototype.first=function()
{return this[0];};Array.prototype.last=function()
{return this[this.length-1];};Array.prototype.copy=function()
{return this.slice(0);};Array.prototype.contains=function(pValue)
{for(var i=0,len=this.length;i<len;i++)
{if(this[i]==pValue){return true;}}
return false;};Array.prototype.implode=Array.prototype.join;Array.prototype.max=function()
{if(this.length==0){return false;}
var max=this[0];for(var i=1,len=this.length;i<len;i++)
{max=Math.max(max,this[i]);}
return max;};Array.prototype.merge=Array.prototype.concat;
String.prototype.toInt=function(radix)
{if(typeof(radix)=="undefined"){radix=10;}else{radix=parseInt(radix,10);}
return parseInt(this,radix);};String.prototype.isEmpty=function()
{return(this.length===0);};String.prototype.trim=function(str)
{return this.ltrim(str).rtrim(str);};String.prototype.ltrim=function(str)
{if(typeof(str)=="undefined"){str="\\s";}
return this.replace(new RegExp("^("+str+")+"),"");};String.prototype.rtrim=function(str)
{if(typeof(str)=="undefined"){str="\\s";}
return this.replace(new RegExp("("+str+")+$"),"");};String.prototype.left=function(index)
{return this.substring(0,index);};String.prototype.right=function(index)
{return this.substring(index);};String.prototype.startsWith=function(match)
{return(this.toLowerCase().substring(0,match.length)==match.toLowerCase());};String.prototype.endsWith=function(match)
{return(this.toLowerCase().substring(this.length-match.length)==match.toLowerCase());};String.prototype.ucwords=function()
{return this.replace(/^(.)|\s(.)/g,function($1){return $1.toUpperCase();});};String.prototype.removeChars=function(characters)
{characters=characters||" ";var regex=new RegExp("["+characters+"]","g");return this.replace(regex,"");};String.prototype.phrases=function(splitter)
{var ret_phrases=[];ret_phrases[0]=this;var j=1;for(var i=0,len=this.length;i<len;i++)
{if(this.charAt(i)==splitter)
{ret_phrases[j]=this.substring(i+1);j++;}}
return ret_phrases;};String.prototype.toNodes=function()
{var container=document.createElement('div');var data=this.trim();var type="other";if(data.substring(0,3).toLowerCase()=="<td")
{data="<table><tbody><tr>"+data+"</tr></tbody></table>";type="cell";}
else if(data.substring(0,3).toLowerCase()=="<tr")
{data="<table><tbody>"+data+"</tbody></table>";type="row";}
else if(data.substring(0,6).toLowerCase()=="<tbody")
{data="<table>"+data+"</table>";type="tbody";}
container.innerHTML=data;switch(type)
{case"cell":return[container.getElementsByTagName("table")[0].tBodies[0].rows[0].cells[0]];case"row":return[container.getElementsByTagName("table")[0].tBodies[0].rows[0]];case"tbody":return[container.getElementsByTagName("table")[0].tBodies[0]];default:var array=[];return array.fill(container.childNodes);}};function get_location(str)
{var slash="/";if(str.match(/\\/)){slash="\\";}
return str.substring(0,str.lastIndexOf(slash)+1);}
function filterBold(str)
{return str.filterTags('b');}
String.prototype.stripHTML=function()
{return this.replace(/(<([^>]+)>)/gi,"")};String.prototype.filterTags=function(tag)
{var startTag='<'+tag+'>';var endTag='</'+tag+'>';var strLow=this.toLowerCase();var startIndex=strLow.indexOf(startTag);if(startIndex===-1){return this;}
var endIndex=strLow.indexOf(endTag,startIndex+startTag.length);if(endIndex===-1){return this;}
return this.substring(0,startIndex)+
this.substring(startIndex+startTag.length,endIndex)+
this.substring(endIndex+endTag.length);};String.prototype.setBold=function(phrase)
{if(phrase.isEmpty()){return this;}
var lower_case=this.toLowerCase();var start=-1;while((start=lower_case.indexOf(phrase,start+1))!=-1)
{if(start===0||lower_case.charAt(start-1)===" "){return this.substring(0,start)+'<b>'+this.substr(start,phrase.length)+'</b>'+this.substring(start+phrase.length);}}
return this;};function json_replacechar(match)
{if(match=="["){return"&jbl;";}else if(match=="]"){return"&jbr;";}else if(match=="{"){return"&jpl;";}else if(match=="}"){return"&jpr;";}else if(match==","){return"&jcm;";}}
String.prototype.sanitise4JSON=function()
{var re=/[\]\[\}\{,]/g;return this.replace(re,function(m){return json_replacechar(m);});};String.prototype.toSanitisedHTML=function()
{return this.replace(/\&/g,"&amp;").replace(/\"/g,"&quot;").replace(/\'/g,"&#039;").replace(/\</g,"&lt;").replace(/\>/g,"&gt;");};String.prototype.toSanitisedText=function()
{return this.replace(/\&amp\;/g,"&").replace(/\&quot\;/g,'"').replace(/\&#039\;/g,"'").replace(/\&lt\;/g,"<").replace(/\&gt\;/g,">");};function replacechar(match)
{if(match=="<"){return"&lt;";}else if(match==">"){return"&gt;";}else if(match=="\""){return"&quot;";}else if(match=="'"){return"&#039;";}else if(match=="&"){return"&amp;";}}
String.prototype.enrichURL=function()
{return this.replace(/(^|[^'">])((ftp|http|https):\/\/(\S+))(\b|$)/gi,"$1<a href=\"$2\" rel=\"nofollow\">$2</a>");};String.prototype.explode=String.prototype.split;
(function(){var global=this;global.$$=global.SI=global.SIL=function()
{var TEXT_NODE=3;var VERY_BIG_INT=9999999;var LIBS={};var _insertAt=function(pParent,pNode,pIndex)
{var parent_tag=SI.isDefinedAndNotNull(pParent.tagName)?pParent.tagName.toLowerCase():null;var node_tag=SI.tagName(pNode).toLowerCase();var row_prop=null;var cell_prop=null;if(parent_tag=="table")
{if(pParent.tBodies.length>0&&pParent.tBodies[0].rows.length>0)
{row_prop=pParent.tBodies[0].rows[0];if(row_prop.cells.length>0){cell_prop=row_prop.cells[0];}}}
else if(parent_tag=="tbody")
{if(pParent.rows.length>0)
{row_prop=pParent.rows[0];if(row_prop.cells.length>0){cell_prop=row_prop.cells[0];}}}
else if(parent_tag=="tr")
{if(pParent.cells.length>0){cell_prop=pParent.cells[0];}}
if(parent_tag=="table")
{if(node_tag!="tbody")
{if(pParent.tBodies.length===0)
{var rows=pParent.rows;var tbody=document.createElement("tbody");pParent.appendChild(tbody);for(var i=0,length=rows.length;i<length;i++)
{tbody.appendChild(rows[i]);}}
pParent=pParent.tBodies[pParent.tBodies.length-1];parent_tag="tbody";}}
if(parent_tag=="tbody")
{if(node_tag!="tr")
{var row=(pParent.rows.length>0)?pParent.rows[0]:null;var new_row;if(pIndex=="last"||pParent.rows.length<pIndex+1)
{new_row=pParent.insertRow(-1);}
else
{new_row=pParent.insertRow(pIndex);}
if(SI.isDefinedAndNotNull(row_prop)){SI.cloneProperties(row_prop,new_row,["class","style"]);}
pParent=new_row;parent_tag="tr";}}
if(parent_tag=="tr")
{if(node_tag!="td")
{var cell=(pParent.cells.length>0)?pParent.cells[0]:null;var new_cell;if(pIndex=="last"||pParent.cells.length<pIndex+1)
{new_cell=pParent.insertCell(-1);}
else
{new_cell=pParent.insertCell(pIndex);}
if(SI.isDefinedAndNotNull(cell_prop)){SI.cloneProperties(cell_prop,new_cell,["class","style"]);}
pParent=new_cell;parent_tag="td";}}
if(parent_tag=="ul")
{if(node_tag!="li")
{var list_item=(pParent.childNodes.length>0)?pParent.childNodes[0]:null;var new_list_item=document.createElement("li");if(pIndex=="last"||pParent.childNodes.length<pIndex+1)
{pParent.appendChild(new_list_item);}
else
{pParent.insertBefore(new_list_item,pParent.childNodes[pIndex]);}
if(SI.isDefinedAndNotNull(list_item)){SI.cloneProperties(list_item,new_list_item,["class","style"]);}
pParent=new_list_item;parent_tag="li";}}
if(pIndex=="last"||pParent.childNodes.length<pIndex+1)
{pParent.appendChild(pNode);}
else
{pParent.insertBefore(pNode,SI.getChildElements(pParent.childNodes)[pIndex]);}
return pParent;};return{namespace:function(pNamespace)
{var path=pNamespace.split(".");var current_path=global;for(var i=0,len=path.length;i<len;i++)
{if(!this.isDefined(current_path[path[i]])){current_path[path[i]]={};}
current_path=current_path[path[i]];}
return current_path;},register:function(pNamespace,pShortName,pLibrary,pFlush)
{pFlush=this.getDefaultValue(pFlush,false);pShortName=this.getDefaultValue(pShortName,pNamespace);if(pFlush||this.isUndefinedOrNull(LIBS[pNamespace]))
{this.namespace(pNamespace);eval(pNamespace+" = pLibrary;");LIBS[pNamespace]=pLibrary;if(pShortName!=pNamespace)
{this.register(pShortName,null,pLibrary,pFlush);}}
return LIBS[pNamespace];},isDefinedNamespace:function(pNamespace)
{var path=pNamespace.split(".");var current_path=global;for(var i=0,len=path.length;i<len;i++)
{if(!this.isDefined(current_path[path[i]])){return false;}
current_path=current_path[path[i]];}
return current_path;},get:function(pElement,pContainer)
{if(this.isUndefinedOrNull(pElement)){return null;}
if(this.typeOf(pElement)!="string")
{return pElement;}
else
{if(this.isArray(pContainer))
{for(var i=0,length=pContainer.length;i<length;i++)
{var element=this.get(pElement,pContainer[i]);if(this.isDOMElement(element))
{return element;}}}
pContainer=(this.isDefinedAndNotNull(pContainer))?(this.get(pContainer)||document):document;if(pContainer==document)
{return document.getElementById(pElement);}
else
{var elements=pContainer.all||pContainer.getElementsByTagName("*");for(var i=0,length=elements.length;i<length;i++)
{if(elements[i].id==pElement){return elements[i];}}
return null;}}},typeOf:function(value)
{var s=typeof(value);if(s=='object')
{if(value)
{if(value instanceof Array||(!(value instanceof Object)&&(Object.prototype.toString.call((value))=='[object Array]')||typeof(value.length)=='number'&&typeof(value.splice)!='undefined'&&typeof(value.propertyIsEnumerable)!='undefined'&&!value.propertyIsEnumerable('splice')))
{return'array';}
if(!(value instanceof Object)&&(Object.prototype.toString.call((value))=='[object Function]'||typeof(value.call)!='undefined'&&typeof(value.propertyIsEnumerable)!='undefined'&&!value.propertyIsEnumerable('call')))
{return'function';}}
else
{return'null';}}else if(s=='function'&&typeof(value.call)=='undefined'){return'object';}
return s;},appendChild:function(pParent,pNode)
{return this.insertAt(pParent,pNode,"last");},prependChild:function(pParent,pNode)
{return this.insertAt(pParent,pNode,0);},insertAt:function(pParent,pNode,pIndex,pFadeInTimeout)
{pParent=this.get(pParent);pIndex=(!SI.isUndefinedOrNull(pIndex)&&(pIndex=="last"||(this.isNumber(pIndex)&&pIndex>=0)))?pIndex:0;if(this.isArray(pNode))
{var new_parent=pParent;for(var i=0,length=pNode.length;i<length;i++)
{new_parent=this.insertAt(pParent,pNode[i],pIndex,pFadeInTimeout);pIndex=(pIndex=="last")?"last":pIndex+1;pParent=new_parent;}
return pParent;}
pNode=this.get(pNode);if(!this.isDOMElement(pParent)||!this.isDOMElement(pNode))
{return null;}
if(this.isNumber(pFadeInTimeout)&&pFadeInTimeout>0)
{SI.Vis.hide(pNode);}
pParent=_insertAt(pParent,pNode,pIndex);if(this.isNumber(pFadeInTimeout)&&pFadeInTimeout>0)
{SI.Vis.fadeIn(pNode,pFadeInTimeout);}
return pParent;},insertAfter:function(pRefNode,pNode)
{if(this.isArrayOrNodeList(pRefNode))
{pRefNode=pRefNode[pRefNode.length-1];return this.insertAfter(pRefNode,pNode);}
if(this.isArrayOrNodeList(pNode))
{for(var i=0,len=pNode.length;i<len;i++){this.insertAfter(pRefNode,pNode[i]);}
return pNode;}
pRefNode=this.get(pRefNode);pNode=this.get(pNode);if(!this.isDOMElement(pRefNode)||!this.isDOMElement(pNode))
{return null;}
pRefNode.parentNode.insertBefore(pNode,pRefNode.nextSibling);return pNode;},insertBefore:function(pRefNode,pNode)
{if(this.isArrayOrNodeList(pNode))
{for(var i=0,len=pNode.length;i<len;i++){this.insertAfter(pRefNode,pNode[i]);}
return pNode;}
pRefNode=this.get(pRefNode);pNode=this.get(pNode);if(!this.isDOMElement(pRefNode)||(!this.isDOMElement(pNode)&&this.isDefinedAndNotNull(pNode)))
{return null;}
pRefNode.parentNode.insertBefore(pNode,pRefNode);return pNode;},getChildElements:function(pElementOrChildNodes,pMax)
{if(SI.isUndefinedOrNull(pElementOrChildNodes)){return null;}
if(this.isString(pElementOrChildNodes)||SI.isUndefinedOrNull(pElementOrChildNodes.length))
{pElementOrChildNodes=this.get(pElementOrChildNodes);if(!this.isDOMElement(pElementOrChildNodes)){return null;}else{pElementOrChildNodes=pElementOrChildNodes.childNodes;}}
if(SI.isUndefinedOrNull(pElementOrChildNodes)||SI.isUndefinedOrNull(pElementOrChildNodes.length)){return null;}
pMax=SI.MATH.min(pMax,VERY_BIG_INT);var elements=[];var elements_count=0;for(var i=0,length=pElementOrChildNodes.length;i<length;i++)
{if(pElementOrChildNodes[i].nodeType!=TEXT_NODE){elements[elements_count]=pElementOrChildNodes[i];elements_count++;if(elements_count==pMax){break;}}}
return elements;},firstChildElement:function(pElementOrChildNodes)
{var element=this.getChildElements(pElementOrChildNodes,1);if(SI.isDefinedAndNotNull(element)&&SI.isDefinedAndNotNull(element.length)&&element.length>0){return element[0];}
return null;},getByClassName:function(pClassName,pTag,pContainer)
{if(this.isArray(pContainer))
{var elements=[];for(var i=0,length=pContainer.length;i<length;i++)
{elements=elements.concat(this.getByClassName(pClassName,pTag,pContainer[i]));}
return elements;}
pClassName=pClassName.trim();var tag=pTag||"*";var elm=this.get(pContainer)||document;var elements=(tag=="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag);if(pClassName==""){return elements;}
return this.filterElements(elements,function(e){return UI.Style.hasClassName(e,pClassName);});},getByAttribute:function(pAtt,pTag,pContainer)
{if(this.isArray(pContainer))
{var elements=[];for(var i=0,length=pContainer.length;i<length;i++)
{elements=elements.concat(this.getByAttribute(pAtt,pTag,pContainer[i]));}
return elements;}
var len_j=pAtt.length,j=0;for(j=0;j<len_j;j++)
{pAtt[j].name=pAtt[j].name.trim();if(this.isString(pAtt[j].value)){pAtt[j].value=pAtt[j].value.trim();}}
var tag=pTag||"*";var elm=this.get(pContainer)||document;var elements=(tag=="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag);return this.filterElements(elements,function(element)
{for(j=0;j<len_j;j++)
{if(element.getAttribute(pAtt[j].name)!=pAtt[j].value&&element[pAtt[j].name]!=pAtt[j].value){return false;}}
return true;});},getByAttributePredicate:function(pAtt,pTag,pContainer)
{if(this.isArray(pContainer))
{var elements=[];for(var i=0,length=pContainer.length;i<length;i++)
{elements=elements.concat(this.getByAttribute(pAtt,pTag,pContainer[i]));}
return elements;}
var len_j=pAtt.length,j=0;for(j=0;j<len_j;j++)
{pAtt[j].name=pAtt[j].name.trim();if(this.isString(pAtt[j].value)){pAtt[j].value=pAtt[j].value.trim();}}
var tag=pTag||"*";var elm=this.get(pContainer)||document;var elements=(tag=="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag);return this.filterElements(elements,function(element)
{for(j=0;j<len_j;j++)
{if(!pAtt[j].value(element.getAttribute(pAtt[j].name))&&!pAtt[j].value(element[pAtt[j].name])){return false;}}
return true;});},getByName:function(pName,pTag,pContainer)
{var tag=pTag||"*";var elm=this.get(pContainer)||document;var elements=(tag=="*"&&elm.all)?elm.all:elm.getElementsByTagName(tag);return SI.filterElements(elements,function(element){return(element.name==pName);});},getByTagName:function(pTag,pContainer)
{pContainer=this.get(pContainer);if(!this.isDOMElement(pContainer)){pContainer=document;}
return pContainer.getElementsByTagName(pTag);},getOuterHTML:function(pElement)
{var outerHTML;if(this.isArray(pElement))
{outerHTML="";for(var i=0,length=pElement.length;i<length;i++)
{outerHTML+=this.getOuterHTML(pElement[i]);}
return outerHTML;}
var element=this.get(pElement);if(!this.isDOMElement(element)){return"";}
var new_parent=document.createElement('div');new_parent.appendChild(element.cloneNode(true));outerHTML=new_parent.innerHTML;new_parent.removeChild(new_parent.childNodes[0]);return outerHTML;},setAttr:function(pObject,pAttr,pValue)
{var obj=this.get(pObject);if(this.isDOMElement(obj)){obj[pAttr]=pValue;}},cloneSecurityToken:function(pContainer)
{var container=this.get(pContainer);container.appendChild(this.get('__sircleit_ts').cloneNode(true));container.appendChild(this.get('__sircleit_token').cloneNode(true));},cloneProperties:function(pFrom,pTo,pProperties)
{if(SI.isUndefinedOrNull(pProperties)||SI.isUndefinedOrNull(pProperties.length)||this.isString(pProperties))
{return;}
pFrom=this.get(pFrom);pTo=this.get(pTo);if(!this.isDOMElement(pFrom)||!this.isDOMElement(pTo))
{return;}
for(var i=0,length=pProperties.length;i<length;i++)
{if(pProperties[i]=="class"&&BL.ClientInfo.browser=="Explorer"&&parseInt(BL.ClientInfo.version,10)<8)
{pProperties[i]="className";}
if(SI.isUndefinedOrNull(pFrom.getAttribute(pProperties[i]))||pFrom.getAttribute(pProperties[i]).isEmpty())
{if(pTo.getAttribute(pProperties[i])){pTo.removeAttribute(pProperties[i]);}}
else
{pTo.setAttribute(pProperties[i],pFrom.getAttribute(pProperties[i]));}}},cloneObject:function(pObject)
{return JSON.parse(JSON.stringify(pObject));},getAncestor:function(pElement,pPredicate)
{pElement=this.get(pElement);do
{if(pPredicate(pElement)){return pElement;}
pElement=pElement.parentNode;}
while(pElement);return null;},isAncestor:function(pItem,pAncestor)
{pItem=this.get(pItem);pAncestor=this.get(pAncestor);if(!this.isDOMElement(pItem)||!this.isDOMElement(pAncestor)){return false;}
while(pItem.parentNode)
{if(pItem==pAncestor){return true;}
pItem=pItem.parentNode;}
return false;},filterElements:function(pItems,pPredicate,pCallback)
{if(!this.isNotEmptyArrayOrNodeList(pItems))
{return pItems;}
var has_callback=this.isCallable(pCallback);var filtered=[];for(var i=0,length=pItems.length;i<length;i++)
{if(pPredicate(pItems[i]))
{if(has_callback){filtered.push(pCallback(pItems[i]));}else{filtered.push(pItems[i]);}}}
return filtered;},manipulateElements:function(pItems,pPredicate,pMatchHandler,pDisMatchHandler)
{if(!this.isNotEmptyArrayOrNodeList(pItems)){return;}
var has_match_handler=this.isCallable(pMatchHandler);var has_dismatch_handler=this.isCallable(pDisMatchHandler);var matched=[];var dismatched=[];for(var i=0,length=pItems.length;i<length;i++)
{if(pPredicate(pItems[i]))
{if(has_match_handler){pMatchHandler(pItems[i]);}
matched.push(pItems[i]);}
else
{if(has_dismatch_handler){pDisMatchHandler(pItems[i]);}
dismatched.push(pItems[i]);}}
return{matched:matched,dismatched:dismatched};},foreach:function(pEnumerable,pCallback,pObject)
{var use_object=SI.isDefinedAndNotNull(pObject);if(this.isArrayOrNodeList(pEnumerable))
{if(use_object)
{for(var i=0,length=pEnumerable.length;i<length;i++){pCallback(pEnumerable[i],pObject);}}
else
{for(var i=0,length=pEnumerable.length;i<length;i++){pCallback(pEnumerable[i]);}}}
else if(this.isDefinedAndNotNull(pEnumerable))
{if(use_object)
{for(var property in pEnumerable){pCallback(property,pObject);}}
else
{for(var property in pEnumerable){pCallback(property);}}}},reverse:function(pEnumerable)
{if(this.isArray(pEnumerable))
{return pEnumerable.reverse();}
else if(this.isNodeList(pEnumerable))
{return[].fill(pEnumerable).reverse();}
else
{return pEnumerable;}},getKeys:function(pObject,pPredicate)
{var array=[];if(SI.isCallable(pPredicate))
{for(var a in pObject){if(pPredicate(a)){array.push(a);}}}
else
{for(var a in pObject){array.push(a);}}
return array;},getProperty:function(pProperty,pItems)
{if(!this.isArray(pItems)||this.typeOf(pProperty)!="string")
{return pItems;}
var property_values=[];for(var i=0,length=pItems.length;i<length;i++)
{property_values.push(pItems[i][pProperty]);}
return property_values;},isDefined:function(pObject)
{return(typeof(pObject)!="undefined");},isNull:function(pObject)
{return(pObject===null);},isDefinedAndNotNull:function(pObject)
{return(pObject!=null);},isUndefinedOrNull:function(pObject)
{return(pObject==null);},isString:function(pObject)
{return(typeof(pObject)=="string");},isBoolean:function(pObject)
{return(typeof(pObject)=="boolean");},isNumber:function(pObject)
{return(typeof(pObject)=="number");},isNumeric:function(pObject)
{return!isNaN(parseFloat(pObject));},isCallable:function(fun)
{return(this.typeOf(fun)=="function");},isArray:function(pObject)
{return(this.isDefinedAndNotNull(pObject)&&this.typeOf(pObject)=="array");},isNotEmptyArray:function(pObject)
{return(this.isArray(pObject)&&pObject.length>0);},isNodeList:function(pObject)
{return(SI.isDefinedAndNotNull(pObject)&&this.isNumber(pObject.length)&&(this.typeOf(pObject.item)=="function"||(BL.ClientInfo.browser=="Explorer"&&this.typeOf(pObject.item)=="object")));},isNotEmptyNodeList:function(pObject)
{return(this.isNodeList(pObject)&&pObject.length>0);},isArrayOrNodeList:function(pObject)
{return(this.isArray(pObject)||this.isNodeList(pObject));},isNotEmptyArrayOrNodeList:function(pObject)
{return((this.isArray(pObject)||this.isNodeList(pObject))&&pObject.length>0);},getDefaultValue:function(pObject,pDefault)
{return((this.isDefinedAndNotNull(pObject))?pObject:pDefault);},isDOMElement:function(pObject)
{return(pObject!=null&&pObject.nodeType!=null);},isComment:function(pObject)
{return(pObject!=null&&pObject.nodeType==8);},isTextNode:function(pNode)
{return(pNode!=null&&pNode.nodeType==3);},isCDataNode:function(pNode)
{return(pNode!=null&&pNode.nodeType==4);},tagName:function(pElement)
{if(!this.isDefined(pElement)){return"undefined";}else if(this.isNull(pElement)){return"null";}else if(this.isDefined(pElement.tagName)){return pElement.tagName;}else if(this.isComment(pElement)){return"comment";}else if(this.isTextNode(pElement)){return"text";}else if(this.isCDataNode(pElement)){return"cdata";}
else
{return"undefined";}},isExist:function(pObject)
{return this.isDOMElement(this.get(pObject));},remove:function(pElement,pFadeOutTimeout,pAfterRemove,pBeforeRemove)
{if(this.isNotEmptyArrayOrNodeList(pElement))
{for(var i=pElement.length-1;i>=0;i--){this.remove(pElement[i],pFadeOutTimeout,pAfterRemove,pBeforeRemove);}
return;}
pElement=this.get(pElement);if(this.isDOMElement(pElement)){if(this.isNumber(pFadeOutTimeout)&&pFadeOutTimeout>0)
{SI.Vis.fadeOut(pElement,pFadeOutTimeout,function()
{if(SI.isCallable(pBeforeRemove))
{pBeforeRemove();}
pElement.parentNode.removeChild(pElement);if(SI.isCallable(pAfterRemove))
{pAfterRemove();}});}
else
{if(SI.isCallable(pBeforeRemove))
{pBeforeRemove();}
pElement.parentNode.removeChild(pElement);if(SI.isCallable(pAfterRemove))
{pAfterRemove();}}}},generatePlaceHolder:function(pElement)
{pElement=this.get(pElement);if(!this.isDOMElement(pElement)){return null;}
var place_holder=document.createElement("div");if(SI.isDefinedAndNotNull(pElement.id)&&!pElement.id.isEmpty()){place_holder.id=pElement.id+"_ph";}
place_holder.style.width=UI.Dimensions.width(pElement)+"px";place_holder.style.height=UI.Dimensions.height(pElement)+"px";place_holder.style.display="block";place_holder.innerHTML="&nbsp;";return place_holder;},alternate:function(pItems)
{if(!this.isArray(pItems)&&(this.isString(pItems)||this.isDOMElement(pItems)))
{pItems=this.getChildElements(pItems);}
if(SI.isUndefinedOrNull(pItems)||this.isString(pItems)||SI.isUndefinedOrNull(pItems.length))
{return;}
for(var i=0,length=pItems.length;i<length;i++)
{if(this.isDOMElement(pItems[i]))
{UI.Style.removeClassName(pItems[i],(i%2==1)?"even":"odd");UI.Style.addClassName(pItems[i],(i%2===0)?"even":"odd");}}},goToAnchor:function(pAnchor)
{var cur=window.top.location.href;window.top.location=cur.substr(0,cur.lastIndexOf("#"))+"#"+pAnchor;},guid:function()
{var date=new Date();return date.getTime();}};}();if(SI.isCallable(window.siAsyncInit)){window.siAsyncInit();}})();
(function(){SI.register("SI.BL.FBConnect","BL.FBConnect",function()
{var extended_permissions=["email","read_friendlists","user_birthday","user_hometown","user_location","publish_stream"];var success_resp=function(pObject,pResponseData)
{if(pResponseData.msg=="true")
{Controls.Dialog.setLoadMessage("Connecting...","fb_registration");BL.Page.forward("http://www.sircleit.com/page/start/fbconnect/");}
else
{Controls.Dialog.setLoadMessage("Registering... (5-15 sec)","fb_registration");BL.FBConnect.register(true);return;}};var success_register=function()
{BL.Page.forward("http://www.sircleit.com/page/start/fbconnect/");};return{ACTION_POST:"post",ACTION_REPLY:"reply",ACTION_VOTE:"vote",login:function()
{BL.Action.invoke({secure:true,perms:"email",action:{url:"http://www.sircleit.com/action/fbfastreg/"}});},connect:function()
{var extended_permissions_str=extended_permissions.implode(",");BL.Timer.pauseAll(true);FB.login(function(response)
{BL.Timer.resumeAll();if(response.session)
{Controls.Dialog.open("fb_registration",{title:"Connect with Facebook",loadMessage:"Validating Facebook Permissions...",preLoad:function(afterLoad)
{var user_id=response.session.uid;var query=FB.Data.query("SELECT "+extended_permissions_str+" FROM permissions WHERE uid={0}",user_id);query.wait(function(rows)
{if(!SI.isNotEmptyArray(rows))
{Controls.Dialog.close("fb_registration");Controls.Dialog.error("Couldn't fetch your Facebook extended permissions. Please try again in a couple of seconds.",{title:"Facebook Permissions Error",autoHide:10000});return;}
var missing_permissions="";SI.foreach(extended_permissions,function(permission)
{if(rows[0][permission]==0){missing_permissions+=(!missing_permissions.isEmpty()?", ":"")+permission.replace("_"," ").ucwords();}});if(!missing_permissions.isEmpty())
{Controls.Dialog.close("fb_registration");Controls.Dialog.error("In order to use SircleIt you must allow the extended permissions (<b>"+missing_permissions+"</b>).",{title:"Facebook Permissions Error",autoHide:10000});return;}
Controls.Dialog.setLoadMessage("Validating Facebook Information...","fb_registration");BL.AJAX.request("http://www.sircleit.com/action/is_reg_fb_user/",{secure:false,success:success_resp,failure:function()
{Controls.Dialog.close("fb_registration");}});});}});}
else
{}},{perms:extended_permissions_str});},register:function(pParallel)
{BL.AJAX.request("http://www.sircleit.com/action/fbregister/",{data:[],timeout:25000,success:success_register,failure:function()
{Controls.Dialog.close("fb_registration");},parallel:pParallel});}};}());})();
function set_caret_to_end(obj)
{var obj_ref=SI.get(obj);if(SI.Vis.isVisible(obj_ref)&&obj_ref.focused!==true){if(obj_ref.setSelectionRange)
{obj_ref.focus();var len=obj_ref.value.length;obj_ref.setSelectionRange(len,len);}
else if(obj_ref.createTextRange)
{var range=obj_ref.createTextRange();range.collapse(false);range.select();}}}
(function(){SI.register("SI.BL.User","BL.User",function()
{var guid;var first;var last;var external;return{init:function(pGuid,pFirst,pLast,pExternalId)
{guid=pGuid;first=pFirst;last=pLast;external=pExternalId;},getGuid:function()
{return guid;},getExternalId:function()
{return external;},getFirst:function()
{return first;},getLast:function()
{return last;},getName:function()
{return first+" "+last;},isLoggedIn:function()
{return Controls.Entity.isValidGuid(guid);}};}());})();
(function(){SI.register("SI.MATH",null,function()
{return{min:function(x,y)
{if(SI.isUndefinedOrNull(y)){return x;}
if(SI.isUndefinedOrNull(x)){return y;}
if(y>=x){return x;}
return y;},max:function(x,y)
{if(SI.isUndefinedOrNull(y)){return x;}
if(SI.isUndefinedOrNull(x)){return y;}
if(y<=x){return x;}
return y;}};}());})();
(function(){SI.namespace("SI.BL.Sorting").QSort=function()
{var qsort=function(pArray,pEqualsOp,pBegin,pEnd)
{if(pArray==null||pArray.length==0)
return;if(pBegin==null||pEnd==null)
qsort(pArray,pEqualsOp,0,pArray.length);if(pBegin<pEnd-1)
{var pivot=pBegin+Math.floor(Math.random()*(pEnd-pBegin));pivot=partition(pArray,pEqualsOp,pBegin,pEnd,pivot);qsort(pArray,pEqualsOp,pBegin,pivot);qsort(pArray,pEqualsOp,pivot+1,pEnd);}};var partition=function(pArray,pEqualsOp,pBegin,pEnd,pPivot)
{var pivot_val=pArray[pPivot];pArray.swap(pPivot,pEnd-1);var store=pBegin;for(var i=pBegin;i<pEnd-1;i++)
{if(pEqualsOp(pArray[i],pivot_val)){pArray.swap(store,i);store++;}}
pArray.swap(pEnd-1,store);return store;};return{sort:function(pArray,pEqualsOp)
{return qsort(pArray,pEqualsOp);}};}();SI.namespace("Sorting").QSort=SI.BL.Sorting.QSort;})();
(function(){SI.register("SI.BL.Validation","BL.Validation",function()
{return{email:function(pStr)
{return /^(apps\+)?([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/.test(pStr);},password:function(pStr)
{return /^[a-zA-z0-9._@#$%^&\+=*-]{8,32}$/.test(pStr);}};}());})();
(function(){SI.register("SI.BL.ClientInfo","BL.ClientInfo",function()
{var _browser="";var _version="";var _OS="";var _browsersData=[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}];var _OSData=[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}];var init=function()
{var browser=search_string(_browsersData);_browser=(SI.isDefinedAndNotNull(browser))?browser.identity:"unknown";_version=search_version(navigator.userAgent,browser.versionSearch||browser.identity)||search_version(navigator.appVersion,browser.versionSearch||browser.identity)||"an unknown version";_OS=search_string(_OSData).identity||"unknown";if(_browser=="Explorer"&&_version=="8"&&SI.isDefinedAndNotNull(document.documentMode)){_version=document.documentMode;}};var search_string=function(pData)
{for(var i=0,len=pData.length;i<len;i++)
{var data_string=pData[i].string;var data_prop=pData[i].prop;if(data_string)
{if(data_string.indexOf(pData[i].subString)!=-1){return pData[i];}}
else if(data_prop){return pData[i];}}};var search_version=function(pDataString,pVersionSearchString){var index=pDataString.indexOf(pVersionSearchString);if(index===-1){return;}
return parseFloat(pDataString.substring(index+pVersionSearchString.length+1));};init();return{browser:_browser,version:_version,OS:_OS};}());})();
(function(){SI.register("SI.BL.AJAX","BL.AJAX",function()
{var in_process=false;var in_process_requests={};var in_process_count=0;var on_success=function(data,textStatus,pOptions)
{process_response(data,textStatus,pOptions);};var on_failure=function(XMLHttpRequest,textStatus,errorThrown,onAfter,pData)
{Controls.Dialog.error(errorThrown);if(SI.isCallable(onAfter)){onAfter(pData);}};var process_response=function(pResponse,textStatus,pOptions)
{if(SI.isUndefinedOrNull(pResponse)||pResponse.trim()===""){return;}
var response_obj=JSON.parse(pResponse);if(SI.isUndefinedOrNull(response_obj)){return;}
if(response_obj.success===true)
{if(SI.isCallable(pOptions.beforeRender))
{pOptions.beforeRender(pOptions.object,response_obj);}
if(pOptions.autoRender){BL.Render.toHTML(response_obj.data,pOptions.render);}
if(SI.isCallable(pOptions.success))
{pOptions.success(pOptions.object,response_obj);}}
else
{var done_process=false;if(SI.isCallable(pOptions.failure))
{done_process=pOptions.failure(pOptions.object,response_obj);}
if(pOptions.messageOnError&&!done_process)
{if(SI.isString(response_obj.msg)&&response_obj.msg.trim()!=""){Controls.Dialog.error(response_obj.msg);}}}
if(SI.isCallable(pOptions.after)){pOptions.after(pOptions.object,response_obj);}};return{hook:function(pObject,pHook,pType)
{if(SI.isUndefinedOrNull(pHook)){return pObject;}
pType=SI.getDefaultValue(pType,"function");if(pType=="function")
{if(SI.isCallable(pHook))
{var old_handler=pObject;return function()
{var ret1,ret2;if(SI.isCallable(old_handler)){ret1=old_handler.apply(this,arguments);}
ret2=pHook.apply(this,arguments);if(!SI.isBoolean(ret1)){return ret2;}else if(!SI.isBoolean(ret2)){return ret1;}else{return(ret1&&ret2);}};}}
else
{var handler,item1=pObject,item2=pHook;if(SI.isCallable(pObject)){handler=pObject;item1=pHook;}else if(SI.isCallable(pHook)){item1=pHook;item2=pObject;}
if(SI.isCallable(handler))
{var old_handler=handler;return function()
{var data=old_handler.apply(this,arguments);return data.merge((SI.isCallable(item1)?item1.apply(this,arguments):item1));};}
else
{if(SI.isUndefinedOrNull(item1)){return item2;}else if(SI.isUndefinedOrNull(item2)){return item1;}else{return item1.merge(item2);}}}},selectResponseData:function(pResponseObject,pType)
{if(!SI.isNotEmptyArray(pResponseObject.data)){return false;}
for(var i=0,len=pResponseObject.data.length;i<len;i++)
{if(pResponseObject.data[i].type==pType){return pResponseObject.data[i].data;}}
return false;},formSerialize:function(pForm,pSanitise)
{var form=null;if(SI.isString(pForm))
{form=$("#"+pForm);}
else if(SI.isDOMElement(pForm)&&pForm.tagName.toLowerCase()=="form")
{form=$(pForm);}
return this.arraySerialize(form.formToArray(),pSanitise);},arraySerialize:function(pArray,pSanitise)
{if(pSanitise===true)
{for(var i=0,length=pArray.length;i<length;i++){pArray[i].value=pArray[i].value.toString().toSanitisedHTML();}}
return $.param(pArray);},request:function(pUrl,pOptions)
{pOptions=SI.getDefaultValue(pOptions,{});pOptions.id=SI.getDefaultValue(pOptions.id,"");pOptions.id=pUrl+"_"+pOptions.id;pOptions.type=SI.getDefaultValue(pOptions.type,"POST");pOptions.object=SI.getDefaultValue(pOptions.object,null);pOptions.success=SI.getDefaultValue(pOptions.success,null);pOptions.failure=SI.getDefaultValue(pOptions.failure,null);pOptions.after=SI.getDefaultValue(pOptions.after,null);pOptions.secure=SI.getDefaultValue(pOptions.secure,true);pOptions.sanitise=SI.getDefaultValue(pOptions.sanitise,true);pOptions.parallel=SI.getDefaultValue(pOptions.parallel,false);pOptions.timeout=SI.getDefaultValue(pOptions.timeout,20000);pOptions.beforeRender=SI.getDefaultValue(pOptions.beforeRender,null);pOptions.messageOnError=SI.getDefaultValue(pOptions.messageOnError,true);pOptions.autoRender=SI.getDefaultValue(pOptions.autoRender,true);pOptions.render=SI.getDefaultValue(pOptions.render,{});pOptions.render.index=SI.getDefaultValue(pOptions.render.index,0);if(SI.isCallable(pOptions.render.index)){pOptions.render.index=pOptions.render.index(pOptions.object);}
pOptions.render.templateContainer=SI.getDefaultValue(pOptions.render.templateContainer,document);if(SI.isCallable(pOptions.render.templateContainer)){pOptions.render.templateContainer=pOptions.render.templateContainer(pOptions.object);}
pOptions.render.target=SI.getDefaultValue(pOptions.render.target,null);if(SI.isCallable(pOptions.render.target)){pOptions.render.target=pOptions.render.target(pOptions.object);}
pOptions.render.prefix=SI.getDefaultValue(pOptions.render.prefix,"");if(SI.isCallable(pOptions.render.prefix)){pOptions.render.prefix=pOptions.render.prefix(pOptions.object);}
pOptions.render.glue=SI.getDefaultValue(pOptions.render.glue,null);if(SI.isCallable(pOptions.render.glue)){pOptions.render.glue=pOptions.render.glue(pOptions.object);}
var request_data="";if(pOptions.secure)
{request_data=$("#security_form").formSerialize();}
if(SI.isDefinedAndNotNull(pOptions.form))
{if(SI.isCallable(pOptions.form)){pOptions.form=pOptions.form(pOptions.object);}
var serialized=this.formSerialize(pOptions.form,pOptions.sanitise);if(request_data.trim()!=""&&serialized.trim()!=""){request_data+="&";}
request_data+=serialized;}
if(SI.isDefinedAndNotNull(pOptions.data))
{if(SI.isCallable(pOptions.data)){pOptions.data=pOptions.data(pOptions.object);}
var serialized=this.arraySerialize(pOptions.data,pOptions.sanitise);if(request_data.trim()!=""&&serialized.trim()!=""){request_data+="&";}
request_data+=serialized;}
if((typeof(in_process_requests[pOptions.id])||in_process_requests[pOptions.id]===0)&&(in_process_count===0||pOptions.parallel))
{in_process=true;if(typeof(in_process_requests[pOptions.id])!="numeric")
{in_process_requests[pOptions.id]=0;}
in_process_requests[pOptions.id]++;in_process_count++;$.ajax({type:"POST",url:pUrl,data:request_data,success:function(data,textStatus){on_success(data,textStatus,pOptions);in_process=false;in_process_requests[pOptions.id]--;in_process_count--;},error:function(XMLHttpRequest,textStatus,errorThrown){on_failure(XMLHttpRequest,textStatus,errorThrown,pOptions.after,pOptions.object);in_process=false;in_process_requests[pOptions.id]--;in_process_count--;}});}},upload:function(pFileUploadId,pUrl,pOnSuccess,pOnFailure,pOnAfter,pData)
{if(!in_process)
{in_process=true;$.ajaxFileUpload({url:pUrl,secureuri:false,fileElementId:pFileUploadId,additionalElements:['__sircleit_ts','__sircleit_token'],success:function(data,textStatus){on_success(data,textStatus,0,null,null,pOnSuccess,pOnFailure,pOnAfter);in_process=false;},error:function(XMLHttpRequest,textStatus,errorThrown){on_failure(XMLHttpRequest,textStatus,errorThrown,pOnAfter,pData);in_process=false;}});}
return false;}};}());})();
(function(){SI.register("SI.Events",null,function()
{var EVENTS={};var initiate_event=function(pEventId)
{if(SI.isUndefinedOrNull(EVENTS[pEventId]))
{EVENTS[pEventId]={};}};return{addListner:function(element,event_name,handler,capture)
{capture=SI.getDefaultValue(capture,false);if(SI.isDefinedAndNotNull(element.addEventListener))
{element.addEventListener(event_name,handler,capture);}
else if(SI.isDefinedAndNotNull(element.attachEvent))
{element.attachEvent("on"+event_name,handler);}},removeListner:function(element,event_name,handler)
{if(SI.isDefinedAndNotNull(element.addEventListener))
{element.removeEventListener(event_name,handler,false);}
else if(SI.isDefinedAndNotNull(element.attachEvent))
{element.detachEvent("on"+event_name,handler);}},stopPropagation:function(e)
{if(!e){e=window.event;}
if(e.preventDefault){e.preventDefault();}
if(e.stopPropagation){e.stopPropagation();}
if(e.returnValue){e.returnValue=false;}
if(e.stop){e.stop();}},subscribe:function(pEventId,pEventHandler,pSubscriberId)
{initiate_event(pEventId);pSubscriberId=SI.getDefaultValue(pSubscriberId,SI.guid());EVENTS[pEventId][pSubscriberId]=pEventHandler;},unsubscribe:function(pEventId,pSubscriberId)
{if(SI.isUndefinedOrNull(EVENTS[pEventId])){return;}
if(SI.isUndefinedOrNull(pSubscriberId))
{delete EVENTS[pEventId];}
else
{if(SI.isDefinedAndNotNull(EVENTS[pEventId][pSubscriberId]))
{delete EVENTS[pEventId][pSubscriberId];}}},publish:function(pEventId,pData)
{if(SI.isUndefinedOrNull(EVENTS[pEventId])){return;}
for(var subscriber in EVENTS[pEventId])
{EVENTS[pEventId][subscriber](pData);}}};}());})();
(function(){SI.register("SI.BL.Action","BL.Action",function()
{$(document).ready(function(){Controls.Dialog.init("fb_registration",{type:Controls.Dialog.TYPE_BOX,message:"DUMMY",modal:true,width:"500px",outEffect:Controls.Dialog.EFFECT_FADE,ver:200});});var _invoke=function(pOptions)
{var stack={params:pOptions.params,fbsession:pOptions.fbsession};if(SI.isCallable(pOptions.validate)&&!pOptions.validate(stack)){return;}
if(SI.isCallable(pOptions.prepare)){pOptions.prepare(stack);}
if(SI.isDefinedAndNotNull(pOptions.hook))
{if(SI.isCallable(pOptions.hook.success))
{pOptions.action.options.success=BL.AJAX.hook(pOptions.hook.success,pOptions.action.options.success,"function");}
if(SI.isCallable(pOptions.hook.after))
{pOptions.action.options.after=BL.AJAX.hook(pOptions.action.options.after,pOptions.hook.after,"function");}
if(SI.isDefinedAndNotNull(pOptions.hook.data))
{pOptions.action.options.data=BL.AJAX.hook(pOptions.action.options.data,pOptions.hook.data,"data");}}
stack.object=pOptions.action.options.object;pOptions.action.options.object=stack;BL.AJAX.request(pOptions.action.url,pOptions.action.options);if(SI.isCallable(pOptions.after)){pOptions.after(stack);}};var _success_login_handler=function(pStack,pResponseObject)
{SI.foreach(pResponseObject.data,function(entity){if(entity.type=="user")
{if(!entity.data.is_new){BL.Page.refresh();}
else
{BL.AJAX.request("http://www.sircleit.com/action/register/fbfinalize/",{parallel:true});}
var uid=entity.data.guid;BL.User.init(uid,entity.data.first,entity.data.last,pStack.fbsession.uid);SI.foreach(SI.getByAttribute([{name:"uid",value:"-1"}]),function(elem){elem.setAttribute("uid",uid);if(elem.tagName.toLowerCase()=="img"){elem.src=Controls.User.profilePic(uid,Controls.User.getProfilePicSize(elem));}});SI.get("logged_first_name").innerHTML=BL.User.getFirst();UI.Vis.show("logout_but");BL.Render.clearCache();}
else if(entity.type=="token")
{BL.Page.setSecurityToken(entity.data.ts,entity.data.token);}
else if(entity.type=="votes")
{}});};var _after_login_handler=function(pStack,pResponseObject)
{Controls.Dialog.close("fb_registration");};return{secureInvoke:function(pOptions)
{pOptions.action.options=SI.getDefaultValue(pOptions.action.options,{});BL.Timer.pauseAll(true);FB.login(function(response)
{BL.Timer.resumeAll();if(response.session)
{Controls.Dialog.open("fb_registration",{title:"Connect with Facebook",loadMessage:"Validating Facebook Information...",preLoad:function(afterLoad)
{SI.Vis.hide("signin");SI.foreach(SI.getByAttribute([{name:"uid",value:"-1"}],"img"),function(pic){pic.src="https://graph.facebook.com/"+response.session.uid+"/picture";});var replies_guids=Controls.Entity.getGuid(Controls.Reply.get());var replies_guids_data=[];SI.foreach(replies_guids,function(guid){replies_guids_data.push({name:"replies_guids[]",value:guid});});pOptions.hook={success:_success_login_handler,after:_after_login_handler,data:replies_guids_data};pOptions.fbsession=response.session;_invoke(pOptions);}});}},{perms:pOptions.perms});},invoke:function(pOptions)
{if(pOptions.secure===true&&!BL.User.isLoggedIn())
{this.secureInvoke(pOptions);}
else
{_invoke(pOptions);}}};}());})();
(function(){SI.register("SI.BL.Page","BL.Page",function()
{return{setSecurityToken:function(pTimestamp,pToken)
{SI.get("__sircleit_ts").value=pTimestamp;SI.get("__sircleit_token").value=pToken;},forward:function(pTarget)
{pTarget=SI.getDefaultValue(pTarget,"http://www.sircleit.com");if(!this.inFrame())
{top.location=pTarget;}
else
{var iframe=window.parent.document.getElementById("si_post_win");if(SI.isDOMElement(iframe))
{iframe.src=pTarget;SI.Vis.hide("si_external_post_container");SI.Vis.show(window.parent.document.getElementById("si_post_loader"));iframe.style.height="30px";}
else
{top.location=pTarget;}}},refresh:function()
{this.forward(window.location);},inFrame:function()
{return(top!=window);}};}());})();
(function(){SI.register("SI.BL.Timer.State","Timer.State",function()
{return{RUN:"run",PAUSE:"pause",conflict:function(pState1,pState2)
{if(pState1==this.PAUSE||pState2==this.PAUSE){return this.PAUSE;}
return this.RUN;}}}());SI.register("SI.BL.Timer","BL.Timer",function()
{var timers={};var timers_state=Timer.State.RUN;var block=false;var start=function(pCallback,pDuration,pState,pGuid)
{var callback=function(){pCallback();start(pCallback,pDuration,pState,pGuid);};var state=Timer.State.conflict(pState,timers_state);timers[pGuid]={state:state,start:new Date(),duration:pDuration,left:pDuration,callback:callback};if(state==Timer.State.RUN)
{var id=setTimeout(callback,pDuration);timers[pGuid].id=id;}};return{start:function(pCallback,pDuration,pState)
{if(!SI.isCallable(pCallback)){return false;}
pState=SI.getDefaultValue(pState,Timer.State.RUN);var guid=SI.guid();start(pCallback,pDuration,pState,guid);return guid;},pause:function(pId)
{var timer=timers[pId];if(SI.isUndefinedOrNull(timer)){return;}
if(timer.state!=Timer.State.RUN){return;}
if(timers_state==Timer.State.PAUSE&&block==true){return;}
timer.left=Math.max(1,timer.duration-(new Date()-timer.start));timer.state=Timer.State.PAUSE;clearTimeout(timer.id);},resume:function(pId)
{var timer=timers[pId];if(SI.isUndefinedOrNull(timer)){return;}
if(timer.state!=Timer.State.PAUSE){return;}
if(timers_state==Timer.State.PAUSE&&block==true){return;}
timer.id=setTimeout(timer.callback,timer.left);timer.start=new Date();timer.duration=timer.left;timer.state=Timer.State.RUN;},stop:function(pId)
{var timer=timers[pId];if(SI.isUndefinedOrNull(timer)){return;}
clearTimeout(timer.id);delete timers[pId];},pauseAll:function(pBlocking)
{if(timers_state!=Timer.State.RUN){return;}
timers_state=Timer.State.PAUSE;block=SI.getDefaultValue(pBlocking,false);for(var h in timers){this.pause(h);}},resumeAll:function()
{if(timers_state!=Timer.State.PAUSE){return;}
timers_state=Timer.State.RUN;block=false;for(var h in timers){this.resume(h);}}};}());})();
(function(){SI.register("SI.UI.Friends","UI.Friends",function()
{return{remove:function(pGuid,pLoggedUserGuid)
{BL.AJAX.request("http://www.sircleit.com/action/friends/remove/",{data:[{name:"guid",value:pGuid}],success:function(){SI.remove(pLoggedUserGuid+"_friend_"+pGuid);}});}};}());})();
function show_menu(trigger,open_event,before_open_fn,open_fn,close_event,close_fn,menu_id,hor_pos,ver_pos,e)
{var menu=SI.get(menu_id);if(!SI.Vis.isVisible(menu))
{if(menu==null||menu.style==null)
return;menu.style.position="absolute";position_object(trigger,menu,hor_pos,ver_pos);if(close_event=="onmouseout")
add_menu_mouse_out_event(trigger,menu,close_fn);else
add_window_resize_event(trigger,menu,hor_pos,ver_pos);if(before_open_fn!=null)
before_open_fn();SI.Vis.show(menu);if(open_fn!=null)
open_fn();}}
function hide_menu(trigger,close_event,close_fn,menu_id,e)
{var menu=document.getElementById(menu_id);if(SI.Vis.isVisible(menu))
{if(close_event=="onmouseout")
{if(trigger.timeout_id!=null){clearTimeout(trigger.timeout_id);}
trigger.timeout_id=setTimeout(function(){if(trigger.prevent_close!=true&&!UI.Mouse.isInside(trigger)&&!UI.Mouse.isInside(menu)){$(menu).fadeOut(500,function(){SI.Vis.hide(menu);});close_fn();}},800);}
else
{SI.Vis.hide(menu);close_fn();}}}
function inverse_menu_state(trigger,open_close_event,before_open_fn,open_fn,close_fn,menu_id,hor_pos,ver_pos,e)
{var menu=document.getElementById(menu_id);if(menu==null)
return false;if(!SI.Vis.isVisible(menu))
{show_menu(trigger,open_close_event,before_open_fn,open_fn,open_close_event,close_fn,menu_id,hor_pos,ver_pos,e);return true;}
else
{hide_menu(trigger,open_close_event,close_fn,menu_id,e);return false;}}
function position_object(relative_item,item,hor_pos,ver_pos)
{var pos=UI.Dimensions.position(relative_item);if(hor_pos=="center"){if(ver_pos=="top"){item.style.top=pos.top-UI.Dimensions.height(item)+"px";item.style.left=pos.left+"px";}else if(ver_pos=="bottom"){item.style.top=pos.top+UI.Dimensions.height(relative_item)+"px";item.style.left=pos.left+"px";}else if(ver_pos=="middle"){item.style.top=pos.top-(UI.Dimensions.height(item)-UI.Dimensions.height(relative_item))/2+"px";item.style.left=pos.left-(UI.Dimensions.width(item)-UI.Dimensions.width(relative_item))/2+"px";}}else{if(ver_pos=="top"){item.style.top=pos.top-UI.Dimensions.height(item)+UI.Dimensions.height(relative_item)+"px";}else if(ver_pos=="bottom"){item.style.top=pos.top+"px";}else if(ver_pos=="middle"){item.style.top=pos.top-(UI.Dimensions.height(item)-UI.Dimensions.height(relative_item))/2+"px";}
if(hor_pos=="left"){item.style.left=pos.left-UI.Dimensions.width(item)+"px";}else if(hor_pos=="right"){item.style.left=pos.left+UI.Dimensions.width(relative_item)+"px";}}}
function add_menu_mouse_out_event(trigger,menu,close_fn)
{if(menu.modified_onmouseout==null||menu.modified_onmouseout==false)
{menu.modified_onmouseout=true;SI.Events.addListner(menu,"mouseout",function(e)
{if(menu.timeout_id!=null){clearTimeout(menu.timeout_id);}
menu.timeout_id=setTimeout(function(){if(trigger.prevent_close!=true&&!UI.Mouse.isInside(trigger)&&!UI.Mouse.isInside(menu)){$(menu).fadeOut(500,function(){SI.Vis.hide(menu);});close_fn();}},800);},false);}}
function add_window_resize_event(trigger,menu,hor_pos,ver_pos)
{if(menu.modified_win_resize==null||menu.modified_win_resize==false)
{menu.modified_win_resize=true;SI.Events.addListner(window,"resize",function(){position_object(trigger,menu,hor_pos,ver_pos);},false);}}
(function(){SI.register("SI.UI.Controls.PotentialFriend","Controls.PotentialFriend",function()
{var potential_found=function(pPotentialForm,pResponseObj)
{var potential_user_guid=pResponseObj.data[0].data.guid;SI.get('viewed_potential').value+=','+potential_user_guid;SI.remove(pPotentialForm);var sircles_data=SI.manipulateElements(pResponseObj.data,function(element){return element.type=="potential_sircle";},function(sircle){sircle.data["users"]=[potential_user_guid];}).matched;UI.Sircle.enrichList("potential_mysircles","pu_",sircles_data);};var no_more_potential=function(pPotentialForm,pResponseObj)
{setTimeout(function(){SI.remove(pPotentialForm.parentNode);var advisor=SI.get('friends_advisor_widget');if(advisor.getElementsByTagName('li').length==0){SI.remove(advisor);}},1000);return true;};var successful_request=function(pGuid,pResponseObj)
{var sircles_data=null;var friend_data=null;for(var i=0,length=pResponseObj.data.length;i<length;i++)
{if(pResponseObj.data[i].type=="sircles")
{sircles_data=pResponseObj.data[i].data.sircles;}
else if(pResponseObj.data[i].type=="user")
{friend_data=pResponseObj.data[i].data;}}
if(friend_data!=null&&SI.isArray(sircles_data)&&sircles_data.length>0)
{for(var i=0,length=sircles_data.length;i<length;i++)
{Sircles.Pub.publish(Sircles.Pub.EVENT_ADD_MEMBER,{sircle:{guid:sircles_data[i].guid,name:sircles_data[i].name},member:{guid:friend_data.guid,firstName:friend_data.first_name,lastName:friend_data.last_name}});}}
Controls.PotentialFriend.getNext(pGuid);Controls.Dialog.info(pResponseObj.msg);};var request_failure=function(pGuid,pResponseObj)
{$('#add_potential_'+pGuid).fadeIn(1000);};return{getNext:function(pGuid)
{document.body.appendChild(SI.get('potential_mysircles_menu'));var potential_form=SI.get('add_potential_'+pGuid);BL.AJAX.request("http://www.sircleit.com/action/friends/getpotential/",{data:[{name:'guids',value:'['+SI.get('viewed_potential').value+']'}],object:potential_form,parallel:true,success:potential_found,failure:no_more_potential,after:function(){SI.remove('add_potential_'+pGuid+"_ph");},render:{target:{targets:{potential_friend:{target:potential_form.parentNode}}}}});},cancel:function(pGuid)
{BL.AJAX.request("http://www.sircleit.com/action/friends/removepotential/",{data:[{name:'guid',value:pGuid}]});var potential_form=$('#add_potential_'+pGuid);var place_holder=SI.generatePlaceHolder(potential_form[0]);potential_form.fadeOut(1000,function(){potential_form[0].parentNode.appendChild(place_holder);Controls.PotentialFriend.getNext(pGuid);});},add:function(pGuid)
{SI.get('add_'+pGuid+'_trigger').onclick();var potential_form=$('#add_potential_'+pGuid);var place_holder=SI.generatePlaceHolder(potential_form[0]);potential_form.fadeOut(1000,function(){potential_form[0].parentNode.appendChild(place_holder);BL.AJAX.request("http://www.sircleit.com/action/requests/friendship/",{form:"add_potential_"+pGuid,object:pGuid,success:successful_request,failure:request_failure});});},newSircle:function(pSircleName,pBold)
{pSircleName=pSircleName.trim();var title=pSircleName;if(pBold){title="<b>"+title+"</b>";}
var sircle_label=UI.Sircle.findLabel(pSircleName,'potential_mysircles');var sircle_guid;if(sircle_label!=null)
{sircle_guid=sircle_label.id.ltrim("pu_").rtrim("_sircle_label");}
else
{sircle_guid=SI.guid();BL.Render.toHTML([{type:"potential_sircle",data:{guid:sircle_guid,name:title,value:UI.Sircle.SIRCLE_NEW_PREFIX+pSircleName}}],{target:"potential_mysircles"});}
UI.Checkbox.check("pu_"+sircle_guid+"_sircle",true);sircle_list_item=SI.get("pu_"+sircle_guid+"_sircle_container").parentNode;if(sircle_label!=null)
{UI.Style.addClassName(sircle_list_item,"original");}
else
{sircle_list_item.className="list-item original";}
SI.insertAt(sircle_list_item.parentNode.parentNode,sircle_list_item.parentNode,0);SI.Vis.show(sircle_list_item);}};}());SI.register("SI.UI.Controls.PotentialSircle","Controls.PotentialSircle",function()
{var successful_request=function(pGuid,pResponseObj)
{var sircle_data,friend_data;for(var i=0,length=pResponseObj.data.length;i<length;i++)
{if(pResponseObj.data[i].type=="sircle")
{sircle_data=pResponseObj.data[i].data;}
else if(pResponseObj.data[i].type=="user")
{friend_data=pResponseObj.data[i].data;}}
Sircles.Pub.publish(Sircles.Pub.EVENT_ADD_MEMBER,{sircle:{guid:sircle_data.guid,name:sircle_data.name},member:{guid:friend_data.guid,firstName:friend_data.first_name,lastName:friend_data.last_name}});Controls.PotentialSircle.getNext(pGuid);};var request_failure=function(pRequestGuid,pResponseObj)
{$('#friend2sircle_'+pRequestId).fadeIn(1000);};var potential_found=function(pPotentialContainer,pResponseObj)
{var potential_friend_guid=pResponseObj.data[0].data.friend_guid;var potential_canonic=pResponseObj.data[0].data.sircle_canonic;potential_canonic=potential_canonic.toSanitisedHTML();SI.get('friends_viewed_potential_sircles').value+=",["+potential_friend_guid+",'"+potential_canonic+"']";}
var no_more_potential=function(pPotentialContainer,pResponseObj)
{setTimeout(function(){SI.remove(pPotentialContainer.parentNode);var advisor=SI.get("sircles_advisor_widget");if(advisor.getElementsByTagName('li').length==0){SI.remove(advisor);}},1000);return true;};return{getNext:function(pRequestId)
{var potential_container=SI.get("friend2sircle_"+pRequestId);BL.AJAX.request("http://www.sircleit.com/action/sircles/getpotential/",{data:[{name:"potential",value:'['+SI.get('friends_viewed_potential_sircles').value+']'}],sanitise:false,parallel:true,object:potential_container,success:potential_found,failure:no_more_potential,after:function(){SI.remove("friend2sircle_"+pRequestId+"_ph");},render:{target:{targets:{friend_potential_sircle:{target:potential_container.parentNode}}}}});},cancel:function(pRequestId,pFriendGuid,pSircleGuid)
{BL.AJAX.request("http://www.sircleit.com/action/sircles/removepotential/",{data:[{name:'friend_guid',value:pFriendGuid},{name:'sircle_guid',value:pSircleGuid}]});var potential_sircle=$('#friend2sircle_'+pRequestId);var place_holder=SI.generatePlaceHolder(potential_sircle[0]);potential_sircle.fadeOut(1000,function(){potential_sircle[0].parentNode.appendChild(place_holder);Controls.PotentialSircle.getNext(pRequestId);});},add:function(pRequestId,pFriendGuid,pSircleGuid)
{var potential_sircle=$('#friend2sircle_'+pRequestId);var place_holder=SI.generatePlaceHolder(potential_sircle[0]);potential_sircle.fadeOut(500,function(){BL.AJAX.request("http://www.sircleit.com/action/friends/addtosircle/",{data:[{name:'friend_guid',value:pFriendGuid},{name:'sircle_guid',value:pSircleGuid}],sanitise:false,parallel:true,object:pRequestId,success:successful_request,failure:request_failure});potential_sircle[0].parentNode.appendChild(place_holder);});}};}());})();
(function(){SI.register("SI.UI.Controls.SirclesManager","Controls.SirclesManager",function()
{var organized_sircles=function()
{var organized_sircles=[];var sircles_sections=SI.get("sircles_accordion").childNodes;for(var i=0,length=sircles_sections.length;i<length;i++)
{var sircle_guid=SI.getByName("section[]","input",sircles_sections[i])[0].value;var friends_guids=SI.getProperty("value",SI.getByName("friend[]","input",sircles_sections[i]));organized_sircles[i]={guid:sircle_guid,members:friends_guids};}
return organized_sircles;};var find_sircle_label=function(pSirclesList,pSircleName)
{var sircles=SI.get(pSirclesList).getElementsByTagName("h3");pSircleName=pSircleName.toLowerCase();for(var i=0,length=sircles.length;i<length;i++)
{if(sircles[i].innerHTML.trim().toLowerCase()==pSircleName){return sircles[i];}}
return null;};return{clear:function()
{SI.remove(SI.getByClassName("potential","li","sircles_accordion"));SI.foreach(SI.getByClassName("potential","div","sircles_accordion"),function(user){SI.remove(user.parentNode);});SI.remove("clear_suggestion");},organize:function()
{SI.Vis.show("categorization_loader");BL.AJAX.request("http://www.sircleit.com/action/sircles/organize/",{data:[{name:"sircles",value:JSON.stringify(organized_sircles())}],success:function()
{BL.Page.forward("http://www.sircleit.com/page/wall/");},after:function()
{SI.Vis.hide("categorization_loader");}});},newSircle:function(pSircleName)
{pSircleName=pSircleName.trim();var sircle_label=find_sircle_label("sircles_accordion",pSircleName);if(sircle_label!=null)
{var section_header=SI.getAncestor(sircle_label,function(item){return item.id.endsWith("_section_header");});SI.prependChild(section_header.parentNode.parentNode,section_header.parentNode);var sircle_guid=section_header.id.rtrim("_section_header");UI.Folder.expandSection("sircles_accordion",sircle_guid+"_section_header");}
else
{UI.Folder.slideUp(SI.get("sircles_accordion"));var current_time=new Date();sircle_guid=current_time.getSeconds()+""
+current_time.getHours()+""
+current_time.getMinutes();BL.Render.toHTML([{type:"sircle_folder",data:{guid:sircle_guid,name:pSircleName,value:UI.Sircle.SIRCLE_NEW_PREFIX+pSircleName}}],{target:"sircles_accordion",index:0});UI.Style.replaceClassName(sircle_guid+"_sircle_folder","folder_template","folder");UI.Folder.setupAccordion(SI.get("sircles_accordion"),sircle_guid+"_section_header");UI.Folder.setupFolder(SI.get(sircle_guid+"_sircle_folder"));}},remove:function(pSircleGuid)
{SI.remove(SI.get(pSircleGuid+"_section_header").parentNode,500);},rename:function(pSircleGuid,pSircleName)
{var sircle_header=SI.getByTagName("h3",pSircleGuid+"_section_header")[0];if(sircle_header.innerHTML.trim()==pSircleName.trim())
{return;}
var sircle_label=find_sircle_label("sircles_accordion",pSircleName);if(sircle_label!=null)
{Controls.Dialog.error("You already have a sircle named <b>&quot;"+pSircleName+"&quot;</b>.");}
else
{if(SI.getByName("section[]","input",pSircleGuid+"_section_header")[0].value!=pSircleGuid)
{sircle_header.innerHTML=pSircleName;}
else
{BL.AJAX.request("http://www.sircleit.com/action/sircles/rename/",{data:[{name:"guid",value:pSircleGuid},{name:"name",value:pSircleName}],success:function()
{sircle_header.innerHTML=pSircleName;}});}}}};}());})();
(function(){SI.register("SI.UI.Folder","UI.Folder",function()
{var getTemplateHtml=function(pFolderId,pTemplateName){return $('#'+pFolderId+'_template_'+pTemplateName).html();}
var getTemplateClone=function(pFolderId,pTemplateName){return $('#'+pFolderId+'_template_'+pTemplateName).clone();}
var removeItem=function(pItem){$(pItem).remove();}
var hideItem=function(pItem){$(pItem).css('display','none');}
var setFocusedFolder=function(pFolder){$('div.folder').removeClass('focused');$(pFolder).addClass('focused');}
var itemSelectHandler=function(pItem,pIsSelect){pIsSelect?$(pItem).addClass('selected'):$(pItem).removeClass('selected');}
var isItemSelected=function(pItem){return $(pItem).hasClass('selected');}
var getSelectedItems=function(pFolder){return $(pFolder).find('li.folder_item.selected');}
var removeAllSelectedItems=function(pFolderId){getSelectedItems($('#'+pFolderId)).each(function(){removeItem(this);});}
var getItemsCount=function(pFolderId){return $('#'+pFolderId+' li.folder_item:visible').length;}
var moveSelectionToIndex=function(pFolderId,pNewIndex){UI.Folder.clearSelectionInFolder(pFolderId);itemSelectHandler($('#'+pFolderId+' li.folder_item:visible:eq('+pNewIndex+')'),true);$('#'+pFolderId).data('last_selected_index',pNewIndex);}
var moveSelectionLeft=function(pFolderId){var lastSelectedIndex=$('#'+pFolderId).data('last_selected_index');if(lastSelectedIndex>0){moveSelectionToIndex(pFolderId,lastSelectedIndex-1);}}
var moveSelectionRight=function(pFolderId){var lastSelectedIndex=$('#'+pFolderId).data('last_selected_index'),itemsCount=getItemsCount(pFolderId);if(lastSelectedIndex<itemsCount-1){moveSelectionToIndex(pFolderId,lastSelectedIndex+1);}}
var moveSelectionUp=function(pFolderId){var jqFolder=$('#'+pFolderId),lastSelectedIndex=jqFolder.data('last_selected_index'),itemsOnRow=jqFolder.data('items_on_row');if(lastSelectedIndex>itemsOnRow-1){moveSelectionToIndex(pFolderId,lastSelectedIndex-itemsOnRow);}}
var moveSelectionDown=function(pFolderId){var jqFolder=$('#'+pFolderId),lastSelectedIndex=jqFolder.data('last_selected_index'),itemsOnRow=jqFolder.data('items_on_row'),itemsCount=getItemsCount(pFolderId);if(lastSelectedIndex<itemsCount-itemsOnRow){moveSelectionToIndex(pFolderId,lastSelectedIndex+itemsOnRow);}}
var calculateMaxRows=function(pFolder){var jqFolder=$(pFolder);var maxRowsInput=jqFolder.find('input[name="max_rows"]')[0];if(maxRowsInput)return parseInt(maxRowsInput.value);var jqItem=jqFolder.find('li.folder_item:first'),itemWidth=parseInt(jqItem.width())+
parseInt(jqItem.css('margin-left'))+
parseInt(jqItem.css('margin-right')),folderWidth=jqFolder.width();return Math.floor(folderWidth/itemWidth);}
var handleKeyPress=function(pFolderId,pKey){var lastKeyPressTime=$(document).data('last_key_press_time'),currentTime=new Date().getTime(),timeDiff=currentTime-lastKeyPressTime,lastPrefix=(timeDiff<1000)?$(document).data('prefix_selection'):'',prefix=lastPrefix+String.fromCharCode(pKey);selectItemByPrefix(pFolderId,prefix);$(document).data('prefix_selection',prefix);$(document).data('last_key_press_time',currentTime);}
var selectItemByPrefix=function(pFolderId,pPrefix){pPrefix=pPrefix.toLowerCase();var matchingItems=$('#'+pFolderId+' .byPrefix').filter(function(i){var tag=this.tagName,jqItem=$(this),value="";if("INPUT"===tag){value=jqItem.val();}
else if("DIV"===tag){value=jqItem.html();}
return(value.match("^"+pPrefix)==pPrefix);});if(matchingItems.length>0){var jqItem=$(matchingItems[0]).parent(),jqFolderItems=jqItem.parent().children('li.folder_item'),index=jqFolderItems.index(jqItem);moveSelectionToIndex(pFolderId,index);}}
var addSeperatorsToFolder=function(pFolder){var jqFolder=$(pFolder);var folderId=jqFolder.attr('id');var itemsCount=getItemsCount(folderId);var itemsOnRow=jqFolder.data('items_on_row');var items=jqFolder.find('li.folder_item:visible');for(var i=0;i!=itemsCount;i++){var seperator=((i+1)%itemsOnRow)?'<li class="seperator seperator_center"/>':'<li class="seperator seperator_right"/>';$(seperator).insertAfter(items[i]).droppable(dropOnSeperatorOptions);}}
var buildHelper=function(pItem,pTemplateKind,pEnabled,pMultipleItems){var jqItem=$(pItem),itemType=jqItem.attr('item_type'),sourceFolder=jqItem.parents('div.folder'),sourceFolderId=sourceFolder.attr('id');if(!pEnabled){return getTemplateHtml(sourceFolderId,pTemplateKind+'_disabled');}
else
{var helper=getTemplateHtml(sourceFolderId,'item_'+itemType+'_'+pTemplateKind);var load_func=$('#'+sourceFolderId+'_template_'+'item_'+itemType+'_'+pTemplateKind+'_load').attr('value');var items=getSelectedItems(sourceFolder);eval("helper = "+load_func+"(items, helper);");return('<div id="'+pTemplateKind+'_template">'+helper+'</div>');}}
var isItemExistsInFolder=function(itemId,folderId){return $('#'+folderId).find('#'+itemId).length>0;}
var canAddItemToFolder=function(jqItem,jqFolder){if(!jqFolder.is('.drop_enabled')){return false;}
var itemId=jqItem.attr('id'),canAdd=true;jqFolder.find('li.folder_item').each(function(){var jqCurrentItem=$(this);if(jqCurrentItem.attr('id')==itemId){canAdd=false;return false;}
var itemUniversalIdentifier=jqItem.find('input[name="universal_identifier[]"]')[0].value;if(itemUniversalIdentifier==jqCurrentItem.find('input[name="universal_identifier[]"]')[0].value){canAdd=false;return false;}})
return canAdd;}
var draggableOptions={refreshPositions:true,addClasses:false,cursorAt:{left:0,top:0},cursor:'default',zIndex:2700,opacity:0.7,helper:function(){var jqDraggable=$(this),jqSourceFolder=jqDraggable.parents('div.folder'),dragEnabled=true,dragMultiple=false;if(!jqSourceFolder.is('.drag_enabled')){dragEnabled=false;}
else if(isItemSelected(jqDraggable)){var jqSelectedItems=getSelectedItems(jqSourceFolder);if(jqSelectedItems.length>1){dragMultiple=true;}
jqSelectedItems.each(function(){if(!$(this).is('.drag_enabled')){dragEnabled=false;return false;}});}
else{if(!jqDraggable.is('.drag_enabled')){dragEnabled=false;}}
var dragHelper=buildHelper(this,'drag',dragEnabled,dragMultiple);jqDraggable.data('drag_multiple',dragMultiple);jqDraggable.data('drag_helper',dragHelper);jqDraggable.data('drag_enabled',dragEnabled);return $(dragHelper).attr('id','drag_helper');},start:function(event,ui){var jqDraggable=$(this),jqSourceFolder=jqDraggable.parents('div.folder'),sourceFolderId=jqSourceFolder.attr('id');jqDraggable.data('source_folder_id',sourceFolderId);if(!jqDraggable.data('drag_enabled')){return;}
var dragMultiple=jqDraggable.data('drag_multiple'),isCopyOnDrag=jqSourceFolder.is('.copy_on_drag'),items=[];if(isItemSelected(jqDraggable)){items=getSelectedItems(jqSourceFolder);}
else{UI.Folder.clearSelectionInFolder(sourceFolderId);itemSelectHandler(this,true);items=$(this);}
jqDraggable.data('items',items);jqDraggable.data('is_copy_on_drag',isCopyOnDrag);jqDraggable.data('drop_enabled_helper',buildHelper(this,'drop',true,dragMultiple));jqDraggable.data('drop_disabled_helper',buildHelper(this,'drop',false,dragMultiple));jqDraggable.data('was_dropped_successfully',false);$('div.folder.drop_enabled').filter(function(){var folderId=this.id;return((!isCopyOnDrag||folderId!=sourceFolderId));}).each(function(){if(canAddItemToFolder(jqDraggable,$(this))){addSeperatorsToFolder(this);}});},stop:function(){var jqDraggable=$(this),items=jqDraggable.data('items'),dragEnabled=jqDraggable.data('drag_enabled'),isCopyOnDrag=jqDraggable.data('is_copy_on_drag'),dropSuccess=jqDraggable.data('was_dropped_successfully'),sourceFolderId=jqDraggable.data('source_folder_id');if(dragEnabled&&!isCopyOnDrag&&dropSuccess){$(items).each(function(){$(this).remove();});}
jqDraggable.removeData('items');jqDraggable.removeData('drag_enabled');jqDraggable.removeData('is_copy_on_drag');jqDraggable.removeData('was_dropped_successfully');jqDraggable.removeData('source_folder_id');jqDraggable.removeData('drag_multiple');jqDraggable.removeData('drag_helper');jqDraggable.removeData('drop_enabled_helper');jqDraggable.removeData('drop_disabled_helper');$('li.seperator').remove();}};var dropOnFolderEvent=function(jqDestFolder,ui){var jqDraggable=$(ui.draggable),jqFolderItems=jqDestFolder.find('ul.folder_items');jqDestFolder.find('li.seperator:last').removeClass('seperator_visible');jqDestFolder.data('last_selected_index',jqDestFolder.find('li.folder_item').length);var clearedPreviousSelection=false;$(jqDraggable.data('items')).each(function(){if(canAddItemToFolder($(this),jqDestFolder)){if(!clearedPreviousSelection){UI.Folder.clearSelectionInFolder(jqDestFolder.attr('id'));clearedPreviousSelection=true;}
var jqClonedItem=$(this).clone();itemSelectHandler(jqClonedItem,true);UI.Folder.setupItem(jqClonedItem,jqDestFolder.attr('id')).appendTo(jqFolderItems);}});jqDraggable.data('was_dropped_successfully',true);}
var dropOnFolderOptions={tolerance:'pointer',addClasses:false,accept:function(draggable){if(!draggable.data('drag_enabled')){return false;}
if(draggable.is('.copy_on_drag')){return(this.id!=draggable.data('source_folder_id'));}
return true;},drop:function(event,ui){dropOnFolderEvent($(this),ui);},out:function(event,ui){ui.helper.html($(ui.draggable.data('drag_helper')));$(this).find('li.seperator:last').removeClass('seperator_visible');},over:function(event,ui){var jqDraggable=$(ui.draggable);if($(this).is('.drop_enabled')){setFocusedFolder(this);ui.helper.html(jqDraggable.data('drop_enabled_helper'));$(this).find('li.seperator:last').addClass('seperator_visible');}
else{ui.helper.html(jqDraggable.data('drop_disabled_helper'));}}};var dropOnSeperatorOptions={greedy:'true',hoverClass:'seperator_visible',tolerance:'pointer',addClasses:false,drop:function(event,ui){var jqLocation=$(this),jqDestFolder=$(this).parents('div.folder');jqDestFolder.find('li.seperator_visible').removeClass('seperator_visible');var droppedIndex=jqDestFolder.find('li.seperator').index(this)+1;jqDestFolder.data('last_selected_index',droppedIndex);var clearedPreviousSelection=false;$(ui.draggable.data('items')).each(function(){if(canAddItemToFolder($(this),jqDestFolder)){if(!clearedPreviousSelection){UI.Folder.clearSelectionInFolder(jqDestFolder.attr('id'));clearedPreviousSelection=true;}
var jqClonedItem=$(this).clone();itemSelectHandler(jqClonedItem,true);UI.Folder.setupItem(jqClonedItem,jqDestFolder.attr('id')).insertBefore(jqLocation);}});$(ui.draggable).data('was_dropped_successfully',true);},over:function(event,ui){ui.helper.html($(ui.draggable.data('drop_enabled_helper')));}};var dropOnAccordionOptions={over:function(event,ui){var parentId=this.parentNode.parentNode.id,jqFolder=$(this).next(),jqDraggable=$(ui.draggable),sourceFolderId=$(ui.draggable).data('source_folder_id');if(jqFolder.is('div.folder')){if(jqFolder.is(':hidden')){$('#'+parentId+' div.folder:visible:not(#'+sourceFolderId+')').slideUp('fast');jqFolder.slideDown('fast');}
if(!jqDraggable.data('drag_enabled')){return;}
else if(canAddItemToFolder(jqDraggable,jqFolder)){ui.helper.html(jqDraggable.data('drop_enabled_helper'));addSeperatorsToFolder(jqFolder);}
else{ui.helper.html(jqDraggable.data('drop_disabled_helper'));}}},drop:function(event,ui){var jqFolder=$(this).next(),jqDraggable=$(ui.draggable);if(canAddItemToFolder(jqDraggable,jqFolder)){dropOnFolderEvent(jqFolder,ui);}},out:function(event,ui){ui.helper.html($(ui.draggable.data('drag_helper')));$(this).find('li.seperator:last').removeClass('seperator_visible');}};var dropOnContainerOptions={greedy:'true',hoverClass:'container_highlight',tolerance:'pointer',addClasses:false,accept:function(draggable){return draggable.data('drag_enabled');},drop:function(event,ui){}};var mouseDownHandler=function(event){var jqFolder=$(this).parents('div.folder'),folderId=jqFolder.attr('id'),isCtrl=event.ctrlKey,isShift=event.shiftKey;event.stopPropagation();setFocusedFolder(jqFolder);jqFolder.data('optional_drag',false);var clickedItemIndex=jqFolder.find('li.folder_item').index(this);if(isShift){UI.Folder.clearSelectionInFolder(folderId);var i=jqFolder.data('last_selected_index'),j=clickedItemIndex,low=(i<j)?i:j,high=(i>j)?i:j;jqFolder.find('li.folder_item').filter(function(index){return(index>=low&&index<=high);}).each(function(){itemSelectHandler(this,true);});}
else{if(isCtrl){itemSelectHandler(this,!isItemSelected(this));}
else
{if(!isItemSelected($(this)))
{UI.Folder.clearSelectionInFolder(folderId);itemSelectHandler(this,true);}
else
{jqFolder.data('optional_drag',true);}}
jqFolder.data('last_selected_index',clickedItemIndex);}};var mouseClickHandler=function(event)
{var jqFolder=$(this).parents('div.folder'),folderId=jqFolder.attr('id');event.stopPropagation();if(jqFolder.data('optional_drag')==true)
{UI.Folder.clearSelectionInFolder(folderId);itemSelectHandler(this,true);jqFolder.data('optional_drag',false);}}
var keyboardHandler=function(event){event.stopPropagation();var key=event.charCode?event.charCode:event.keyCode?event.keyCode:0,jqFolder=$('div.folder.focused');if(!jqFolder.is('.keyboard_enabled')){return;}
var folderId=jqFolder.attr('id');if(key>=65&&key<=90){handleKeyPress(folderId,key);}
else switch(key){case 13:var lastSelectedIndex=jqFolder.data('last_selected_index'),jqContainer=jqFolder.find('.folder_item:eq('+lastSelectedIndex+')'),containerId=jqContainer.attr('id');if(isItemSelected(jqContainer)&&jqContainer.is('.container')){openContainer(folderId,containerId);}
case 27:UI.Folder.clearSelectionInFolder(folderId);break;case 45:loadItemData(folderId);break;case 37:moveSelectionLeft(folderId);return false;case 39:moveSelectionRight(folderId);return false;case 38:moveSelectionUp(folderId);return false;case 40:moveSelectionDown(folderId);return false;case 46:if(jqFolder.is('.remove_enabled')){removeAllSelectedItems(folderId);}
break;case 113:break;case 115:break;}};return{setupFolder:function(pFolder)
{var folderId=pFolder.id,jqFolder=$(pFolder);jqFolder.data('last_selected_index',0);if(!jqFolder.is('.drag_enabled')){jqFolder.find('li.folder_item').each(function(){$(this).removeClass('drag_enabled');});}
jqFolder.data('items_on_row',calculateMaxRows(pFolder));jqFolder.css('width',parseInt(jqFolder.css('width'))+UI.Scrollbar.width());jqFolder.mousedown(function(){setFocusedFolder(pFolder);}).mousedown(function(){UI.Folder.clearSelectionInFolder(pFolder.id);});if(jqFolder.is('.drop_enabled')){jqFolder.droppable(dropOnFolderOptions);}
if(jqFolder.parents('ul.accordion').length==0){jqFolder.show();}},setupItem:function(pItem,pFolderId)
{var jqItem=$(pItem);jqItem.attr('unselectable','on');jqItem.mousedown(mouseDownHandler);jqItem.click(mouseClickHandler);jqItem.draggable(draggableOptions);if(jqItem.is('.container')){var containerId=jqItem.attr('id');if(jqItem.is('.drop_enabled')){jqItem.droppable(dropOnContainerOptions);}
jqItem.dblclick(function(){openContainer(pFolderId,containerId);});}
return jqItem;},setupAccordion:function(pAccordion,pSectionId)
{var jqAccordion=$(pAccordion);var search_for='div.section_header';if(typeof(pSectionId)=="string")
{search_for="#"+pSectionId;}
jqAccordion.find(search_for).droppable(dropOnAccordionOptions).click(function(){var parentId=this.parentNode.parentNode.id,jqFolder=$(this).next();if(jqFolder.is('.folder')){if(jqFolder.is(':hidden')){$('#'+parentId+' div.folder:visible').slideUp('fast');jqFolder.slideDown('fast');setFocusedFolder(jqFolder);}
else if(jqFolder.is(':visible')){jqFolder.slideUp('fast');}}});},slideUp:function(pAccordion,pSectionId)
{var jqAccordion=$(pAccordion);jqAccordion.find("div.section_header").each(function(){var parentId=this.parentNode.parentNode.id,jqFolder=$(this).next();if(jqFolder.is('.folder')){if(jqFolder.is(':visible')){jqFolder.slideUp('fast');}}});},expandSection:function(pAccordion,pSectionId)
{var jqAccordion=$(pAccordion);var section=$("#"+pSectionId)[0];var parentId=section.parentNode.parentNode.id;var jqFolder=$(section).next();if(jqFolder.is('.folder')){if(jqFolder.is(':hidden')){$('#'+parentId+' div.folder:visible').slideUp('fast');jqFolder.slideDown('fast');setFocusedFolder(jqFolder);}
else if(jqFolder.is(':visible')){}}},setupPage:function(){setFocusedFolder($(".folder:first"));$('div.folder').each(function(){UI.Folder.setupFolder(this);var folderId=$(this).attr('id');$(this).find('li.folder_item').each(function(){UI.Folder.setupItem(this,folderId);});});$(document).keydown(keyboardHandler);$('ul.accordion').each(function(){UI.Folder.setupAccordion(this)});},removeAllItems:function(pFolderId){$('#'+pFolderId+' li.folder_item:visible').each(function(){removeItem(this);});},clearSelectionInFolder:function(pFolderId){getSelectedItems($('#'+pFolderId)).each(function(){if(isItemSelected(this)){itemSelectHandler(this,false);}});},add:function(pFolderId,pItemData){var itemType=pItemData.item_type,itemTemplate=$('#'+pFolderId+'_template_item_'+itemType).clone(),loadHandler=$('#'+pFolderId+'_template_'+itemType+'_load_handler').val();eval(loadHandler+'(itemTemplate, pItemData);');setupItem(itemTemplate,pFolderId);itemTemplate.appendTo('#'+pFolderId+' .folder_items');},addItems:function(pFolderId,pContainerData){$(pContainerData).each(function(){UI.Folder.add(pFolderId,this);});},showLoadingAnimation:function(pFolderId){return getTemplateClone(pFolderId,'container_loading').attr('id',pFolderId+'_containr_loading').appendTo('#'+pFolderId+' > ul.folder_items');},showLoadingItem:function(pFolderId){return getTemplateClone(pFolderId,'loading_item').addClass('folder_item').appendTo('#'+pFolderId+' > ul.folder_items');},removeLoadingItem:function(pLoadingItem){pLoadingItem.remove();},removeLoadingAnimation:function(pFolderId){$('#'+pFolderId+'_containr_loading').remove();},sort:function(pFolderId,pEquals,pIsAcceding){var items_list=$('#'+pFolderId+' > ul.folder_items'),items=list.children('li.folder_item').get();items.sort(function(a,b){var a_type=$(a).attr('item_type'),b_type=$(b).attr('item_type');if(a_type==b_type){return eval(pEquals[a_type]+'(a,b);');}
for(var item_type in pEquals){if(item_type==a_type)return 1;if(item_type==b_type)return-1;}
return 0;})
if(!pIsAcceding){items.reverse();}
$.each(items,function(index,item){items_list.append(item);});},filter:function(pFolderId,pPredicates,pValue){$('#'+pFolderId+' li.folder_item:visible').each(function(){var itemType=$(this).attr('item_type'),predicate=pPredicates[itemType];if(eval(predicate+'(this, pValue);')){hideItem(this);}});}};}());function loadItemData(folderId){var loadingItem=UI.Folder.showLoadingItem(folderId);$.ajax({type:"GET",url:"views/default/controls/folder/getItemData.php",async:true,dataType:'json',cache:false,success:function(itemData){UI.Folder.add(folderId,itemData);UI.Folder.removeLoadingItem(loadingItem);}});};sircleLoadHandler=function(pItemControl,pItemData){var jqItemControl=$(pItemControl);jqItemControl.attr('id',pItemData.item_id).addClass("folder_item");jqItemControl.attr('item_type',pItemData.item_type);jqItemControl.attr('container_id',pItemData.container_id);if(pItemData.is_draggable){jqItemControl.addClass('drag_enabled');}
if(pItemData.is_container){jqItemControl.addClass('container');}};userLoadHandler=upLoadHandler=sircleLoadHandler;openContainer=function(pFolderId,pContainerId){UI.Folder.removeAllItems(pFolderId);UI.Folder.showLoadingAnimation(pFolderId);$.ajax({type:"GET",url:"views/default/controls/folder/getContainerData.php",async:true,dataType:'json',cache:false,data:"container="+pContainerId,success:function(itemsData){UI.Folder.removeLoadingAnimation(pFolderId);UI.Folder.addItems(pFolderId,itemsData);}});}
sircleStartsWith=function(pItemControl,pValue){return false;}
userStartsWith=function(pItemControl,pValue){return true;}
sircleEquals=userEquals=function(a,b){return-1;}
function prepareDrag(pSelectedItems,pTemplate)
{var user_guid=new RegExp("\\$folder_user_guid\\$","gi");var drag_item='<div style="position: relative; top: 0; left: 0;">';var top_margin=5;var left_margin=5;for(var i=0,length=pSelectedItems.length;i<length;i++)
{drag_item+='<div style="position: absolute; top: '+(i*top_margin)+'px; left: '+(i*left_margin)+'px; z-index: 100;">'+
pTemplate.replace(user_guid,SI.getByName("universal_identifier[]","input",pSelectedItems[i])[0].value)+'</div>';}
drag_item+='</div>';return drag_item;}
$(window).load(function(){UI.Folder.setupPage();if(SI.isDOMElement(SI.get("sircles_accordion")))
{UI.Folder.expandSection("sircles_accordion",$('#sircles_accordion div.section_header:first')[0].id);SI.Vis.hide("categorization_init_loader");SI.Vis.show("sircles_organization","",1000);}});})();
(function(){SI.register("SI.UI.Controls.Charts","Controls.Charts",function()
{return{get:function(pContainer)
{var charts=SI.getByClassName("chart","div",pContainer);return(charts.length==1)?charts.first():charts;},isChart:function(pChart)
{return(SI.isDOMElement(pChart)&&UI.Style.hasClassName(pChart,"chart"));}};}());})();
(function(){SI.register("SI.UI.Controls.Charts.Column","Charts.Column",function()
{return{MIN_COLUMN_HEIGHT:3,get:function(pContainer)
{return Controls.Charts.get(pContainer);},isColumnChart:function(pChart)
{return(Controls.Charts.isChart(pChart)&&UI.Style.hasClassName(pChart,"column"));},getColumn:function(pChart,pColumnId)
{var column=SI.getByClassName("c"+(parseInt(pColumnId)+1),"div",pChart);return(SI.isNotEmptyArrayOrNodeList(column))?column[0]:null;},isColumn:function(pColumn)
{return(SI.isDOMElement(pColumn)&&UI.Style.hasClassName(pColumn,"chart-column"));},getColumns:function(pChart)
{return SI.getByClassName("chart-column","div",pChart);},columnsCount:function(pChart)
{return SI.getByClassName("chart-column","div",pChart).length;},addValue:function(pChart,pColumnId,pValue)
{if(!SI.isDOMElement(pChart)){return;}
var column=this.getColumn(pChart,pColumnId);if(column==null){return;}
var column_height=column.style.height.endsWith("%")?parseInt(column.style.height):0;var unit_diff=this.getUnitDiff(pChart);var new_height=SI.MATH.max(0,SI.MATH.min(100,column_height+unit_diff*pValue));new_height=(new_height<2)?this.MIN_COLUMN_HEIGHT+"px":new_height+"%";this.setColumnValue(column,Math.max(0,this.getColumnValue(column)+pValue));$(column).animate({height:new_height},500);},getColumnValue:function(pColumn)
{if(!this.isColumn(pColumn)){return;}
var y_cord=SI.getByClassName("y","div",pColumn);return(SI.isNotEmptyArrayOrNodeList(y_cord))?parseInt(y_cord[0].innerHTML):null;},setColumnValue:function(pColumn,pValue)
{if(!this.isColumn(pColumn)){return;}
var y_cord=SI.getByClassName("y","div",pColumn);if(SI.isNotEmptyArrayOrNodeList(y_cord)){y_cord[0].innerHTML=pValue;}},getColumnLabel:function(pColumn)
{if(!this.isColumn(pColumn)){return;}
var x_cord=SI.getByClassName("x","div",pColumn);return(SI.isNotEmptyArrayOrNodeList(x_cord))?x_cord[0].innerHTML:null;},setColumnLabel:function(pColumn,pLabel)
{if(!this.isColumn(pColumn)){return;}
var x_cord=SI.getByClassName("x","div",pColumn);if(SI.isNotEmptyArrayOrNodeList(x_cord)){x_cord[0].innerHTML=pLabel;}},getUnitDiff:function(pChart)
{var diff=SI.getByClassName("diff","input",pChart);return(SI.isNotEmptyArrayOrNodeList(diff))?parseInt(diff[0].value):null;},setUnitDiff:function(pChart,pDiff)
{var diff=SI.getByClassName("diff","input",pChart);if(SI.isNotEmptyArrayOrNodeList(diff)){diff[0].value=pDiff;}},removeLastColumn:function(pChart)
{pChart=this.get(pChart);if(!this.isColumnChart(pChart))return;var columns=this.getColumns(pChart);var cur_columns_num=columns.length;if(cur_columns_num<=2){return;}
var new_columns_num=cur_columns_num-1;SI.remove(columns.last());UI.Style.replaceClassName(pChart,"n"+cur_columns_num,"n"+new_columns_num);var inner_width=pChart.style.width.toInt();var column_width=UI.Style.get(columns.first(),"width").toInt();var total_columns_width=column_width*new_columns_num;var columns_space=Math.floor((inner_width-total_columns_width)/(new_columns_num+1));for(var i=0;i<new_columns_num;i++){columns[i].style.left=(i*(columns_space+column_width)+columns_space)+"px";}},updateColumns:function(pChart,pColumnsValues,pSelectedColumn,pExtraUnits,pMinValue)
{pChart=this.get(pChart);if(!this.isColumnChart(pChart))return;pSelectedColumn=SI.getDefaultValue(pSelectedColumn,-1);pExtraUnits=SI.getDefaultValue(pExtraUnits,1);pMinValue=SI.getDefaultValue(pMinValue,0);var columns=this.getColumns(pChart);var max_cid=SI.getKeys(pColumnsValues,SI.isNumeric).max();var columns_num=Math.min(max_cid+1,columns.length);var max_value=0;var max_value_column=-999;for(var i=0;i<columns_num;i++)
{if(max_value<pColumnsValues[i])
{max_value=pColumnsValues[i];max_value_column=i;}
else if(max_value==pColumnsValues[i]&&pSelectedColumn==max_value_column)
{pSelectedColumn=i;}}
if(pSelectedColumn!==max_value_column){max_value+=pExtraUnits;}
var normalized_max_value=Math.max(1,max_value-pMinValue);for(var i=0;i<columns_num;i++)
{var column_height=Math.ceil(((Math.min(Math.max(0,pColumnsValues[i]),max_value)-0)/normalized_max_value)*100);column_height=(column_height>0)?column_height+"%":"2px";columns[i].style.height=column_height;this.setColumnValue(columns[i],pColumnsValues[i]);}
this.setUnitDiff(pChart,Math.floor(100/normalized_max_value));}};}());})();
(function(){SI.register("SI.UI.Controls.Text","Controls.Text",function()
{return{autoHeight:function(pTextInput,pMin)
{var input=SI.get(pTextInput);if(input==null||input.style==null){return;}
if(input.value!=input.prevValue||input.prevHeight!=input.style.height)
{if(BL.ClientInfo.browser!="Explorer"){input.style.height="1px";}
input.style.height=SI.MATH.max(input.scrollHeight,pMin)+"px";input.prevValue=input.value;input.prevHeight=input.style.height;}}};}());})();
(function(){SI.register("SI.UI.Controls.Topics","Controls.Topics",function()
{var recent_timer_id={};var recent_post_guid={};var recent_post_id={};var locked={"0":false,"1":false};var POSTS_PER_DIRECTION=10;var recent_post_delay={"0":5000,"1":7000};var postRender=function(pData,pResponseObj,pView)
{pView=SI.getDefaultValue(pView,"public");if(SI.isNotEmptyArray(pResponseObj.data))
{for(var i=0,length_i=pResponseObj.data.length;i<length_i;i++){Post.Publish.postRender(pResponseObj.data[i].type,pResponseObj.data[i].data,[pView]);}}};var load_request_options=function(pView)
{var options={parallel:true,after:function()
{SI.Vis.hide(pView+"_posts_loader");},render:{prefix:pView+"_",glue:{all_sircle:document.createTextNode(', ')},target:{targets:{post:{target:pView+"_posts",targets:{reply:{target:pView+"_$post_guid$_replies"},all_sircle:{target:pView+"_$post_guid$_post_sircles"}}},post_poll:{target:pView+"_posts",targets:{reply:{target:pView+"_$post_poll_guid$_replies"},answers:{target:pView+"_$post_poll_guid$_answers"},my_answers:{target:pView+"_$post_poll_guid$_answers"},all_sircle:{target:pView+"_$post_poll_guid$_post_sircles"}}},post_link:{target:pView+"_posts",targets:{reply:{target:pView+"_$post_link_guid$_replies"},all_sircle:{target:pView+"_$post_link_guid$_post_sircles"}}}}}}};if(pView=="recent")
{options.render.data=0;options.render.show={effect:"grow",time:700};options.success=function(pObj,pResponseObj)
{switch(pObj.post_subtype_id)
{case Controls.Post.POST_SUBTYPE_DEFAULT:SI.remove(SI.getByClassName("post","div","recent_posts").last());break;case Controls.Post.POST_SUBTYPE_POLL:SI.remove(SI.getByClassName("post","div","recent_poll_container").last());break;}
postRender(pObj,pResponseObj,"recent");recent_post_id[pObj.post_subtype_id]=(pObj.last_id+1)%(POSTS_PER_DIRECTION*2);recent_post_guid[pObj.post_subtype_id]=pResponseObj.data[0].data.guid;};}
else if(pView=="public")
{options.render.data="last";options.success=postRender;}
return options;};var public_request_options=load_request_options("public");var recent_request_options={"0":load_request_options("recent"),"1":load_request_options("recent")};return{load:function(pOptions)
{SI.Vis.show("public_posts_loader");if(SI.isDefinedAndNotNull(pOptions.form))
{public_request_options.form=pOptions.form;}
else if(SI.isDefinedAndNotNull(pOptions.guids))
{var topics_guids=[];for(var i=0,length=pOptions.guids.length;i<length;i++)
{topics_guids[i]={name:"ftopic[]",value:pOptions.guids[i]};}
public_request_options.data=topics_guids;}
var old_posts=SI.get("public_posts");old_posts.innerHTML="";BL.AJAX.request("http://www.sircleit.com/action/post/getpublic/",public_request_options);},loadRecent:function(pLastId,pLastGuid,pPostSubtypeId)
{pLastId=SI.getDefaultValue(pLastId,0);pLastGuid=SI.getDefaultValue(pLastGuid,false);pPostSubtypeId=SI.getDefaultValue(pPostSubtypeId,Controls.Post.POST_SUBTYPE_DEFAULT);recent_request_options[pPostSubtypeId].data=[{name:"prev_id",value:pLastId},{name:"prev_guid",value:pLastGuid},{name:"type",value:pPostSubtypeId}];recent_request_options[pPostSubtypeId].object={last_id:pLastId,post_subtype_id:pPostSubtypeId};switch(pPostSubtypeId)
{case Controls.Post.POST_SUBTYPE_DEFAULT:recent_request_options[pPostSubtypeId].render.target.targets.post_poll.target="recent_posts";recent_request_options[pPostSubtypeId].render.show={effect:"grow",time:700};break;case Controls.Post.POST_SUBTYPE_POLL:recent_request_options[pPostSubtypeId].render.target.targets.post_poll.target="recent_poll_container";recent_request_options[pPostSubtypeId].render.show={};break;}
BL.AJAX.request("http://www.sircleit.com/action/post/getnextpublic/",recent_request_options[pPostSubtypeId]);},pauseRecentAnimation:function(pPostSubtypeId)
{pPostSubtypeId=SI.getDefaultValue(pPostSubtypeId,Controls.Post.POST_SUBTYPE_DEFAULT);if(SI.isUndefinedOrNull(recent_timer_id[pPostSubtypeId])){return;}
BL.Timer.pause(recent_timer_id[pPostSubtypeId]);},continueRecentAnimation:function(pPostSubtypeId)
{pPostSubtypeId=SI.getDefaultValue(pPostSubtypeId,Controls.Post.POST_SUBTYPE_DEFAULT);if(SI.isUndefinedOrNull(recent_timer_id[pPostSubtypeId])){return;}
BL.Timer.resume(recent_timer_id[pPostSubtypeId]);},startRecentAnimation:function(pPostSubtypeId,pPostId,pPostGuid)
{pPostSubtypeId=SI.getDefaultValue(pPostSubtypeId,Controls.Post.POST_SUBTYPE_DEFAULT);recent_post_id[pPostSubtypeId]=pPostId;recent_post_guid[pPostSubtypeId]=pPostGuid;recent_timer_id[pPostSubtypeId]=BL.Timer.start(function(){Controls.Topics.loadRecent(recent_post_id[pPostSubtypeId],recent_post_guid[pPostSubtypeId],pPostSubtypeId);},recent_post_delay[pPostSubtypeId]);}};}());})();
(function(){SI.register("SI.UI.Controls.Sircles.Pub","Sircles.Pub",function()
{var legal_events;var first_use=true;var init=function()
{if(first_use)
{legal_events=[SI.UI.Controls.Sircles.Pub.EVENT_ADD_MEMBER,SI.UI.Controls.Sircles.Pub.EVENT_REMOVE_MEMBER,SI.UI.Controls.Sircles.Pub.EVENT_RENAME_SIRCLE,SI.UI.Controls.Sircles.Pub.EVENT_DELETE_SIRCLE,SI.UI.Controls.Sircles.Pub.EVENT_NEW_SIRCLE];first_use=false;}};var legal_event_gaurd=function(pEventId)
{if(!legal_events.contains(pEventId)){throw"Illegal event";}};return{EVENT_ADD_MEMBER:"addMember",EVENT_REMOVE_MEMBER:"removeMember",EVENT_RENAME_SIRCLE:"renameSircle",EVENT_DELETE_SIRCLE:"deleteSircle",EVENT_NEW_SIRCLE:"newSircle",subscribe:function(pEventId,pEventHandler,pSubscriberId)
{init();legal_event_gaurd(pEventId)
SI.Events.subscribe(pEventId,pEventHandler,pSubscriberId);},publish:function(pEventId,pData)
{init();legal_event_gaurd(pEventId)
SI.Events.publish(pEventId,pData);}};}());})();
(function(){SI.register("SI.UI.Controls.Sircles.List","Sircles.List",function()
{var LISTS={};var GUID="list_"+SI.guid();$(document).ready(function(){Sircles.Pub.subscribe(Sircles.Pub.EVENT_ADD_MEMBER,Sircles.List.addMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_REMOVE_MEMBER,Sircles.List.removeMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_RENAME_SIRCLE,Sircles.List.renameSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_DELETE_SIRCLE,Sircles.List.deleteSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_NEW_SIRCLE,Sircles.List.newSircle,GUID);if(SI.isDOMElement(SI.get("mysircles"))){Sircles.List.subscribe("mysircles","");}
if(SI.isDOMElement(SI.get("potential_mysircles"))){Sircles.List.subscribe("potential_mysircles","pu_");}
if(SI.isDOMElement(SI.get("potential_mysircles"))){Sircles.List.subscribe("potential_mysircles","pu_");}});var new_sircle=function(pListId,pSircleData)
{var list=SI.get(pListId);if(!SI.isDOMElement(list)){return;}
var sircle=SI.get(LISTS[pListId]+pSircleData.guid+"_sircle",list);if(SI.isDOMElement(sircle)){return;}
BL.Render.toHTML([{type:"sircle",data:{guid:pSircleData.guid,name:pSircleData.name,value:pSircleData.guid}}],{target:list});};var rename_sircle=function(pListId,pSircleData)
{var list=SI.get(pListId);if(!SI.isDOMElement(list)){return;}
var sircle_label=SI.get(LISTS[pListId]+pSircleData.guid+"_sircle_label",list);if(!SI.isDOMElement(sircle_label)){return;}
sircle_label.innerHTML=pSircleData.name;};var delete_sircle=function(pListId,pSircleData)
{var list=SI.get(pListId);if(!SI.isDOMElement(list)){return;}
var sircle=SI.get(LISTS[pListId]+pSircleData.guid+"_sircle",list);if(!SI.isDOMElement(sircle)){return;}
var list_item=SI.getAncestor(sircle,function(element){return UI.Style.hasClassName(element,"list-item");});SI.remove(list_item);};return{subscribe:function(pListId,pSirclePrefix)
{LISTS[pListId]=pSirclePrefix;},addMember:function(pData)
{SI.foreach(LISTS,new_sircle,pData.sircle);},removeMember:function(pData)
{},renameSircle:function(pSircleData)
{SI.foreach(LISTS,rename_sircle,pSircleData);},deleteSircle:function(pSircleData)
{SI.foreach(LISTS,delete_sircle,pSircleData);},newSircle:function(pSircleData)
{SI.foreach(LISTS,new_sircle,pSircleData);}};}());})();
(function(){SI.register("SI.UI.Controls.Sircles.ListMembers","Sircles.ListMembers",function()
{var LISTS={};var GUID="list_members_"+SI.guid();$(document).ready(function(){Sircles.Pub.subscribe(Sircles.Pub.EVENT_ADD_MEMBER,Sircles.ListMembers.addMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_REMOVE_MEMBER,Sircles.ListMembers.removeMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_RENAME_SIRCLE,Sircles.ListMembers.renameSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_DELETE_SIRCLE,Sircles.ListMembers.deleteSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_NEW_SIRCLE,Sircles.ListMembers.newSircle,GUID);});var add_member=function(pListId,pData)
{if(LISTS[pListId]!=pData.sircle.guid){return;}
var list=SI.get(pListId);if(!SI.isDOMElement(list)){return;}
var member=SI.get(pData.sircle.guid+"_friends_user_"+pData.member.guid,list);if(SI.isDOMElement(member)){return;}
BL.Render.toHTML([{type:"sircle_member",data:{guid:pData.member.guid,name:pData.member.firstName+" "+pData.member.lastName,sircle_guid:pData.sircle.guid}}],{target:list});};var remove_member=function(pListId,pData)
{if(LISTS[pListId]!=pData.sircle.guid){return;}
var list=SI.get(pListId);if(!SI.isDOMElement(list)){return;}
var member=SI.get(pData.sircle.guid+"_friends_user_"+pData.member.guid,list);if(!SI.isDOMElement(member)){return;}
var list_item=SI.getAncestor(member,function(element){return UI.Style.hasClassName(element,"list-item");});SI.remove(list_item);};var delete_sircle=function(pListId,pSircleData)
{if(LISTS[pListId]!=pSircleData.guid){return;}
SI.remove(pListId+"_menu");};return{subscribe:function(pDialogId,pSircleGuid)
{LISTS[pDialogId]=pSircleGuid;},addMember:function(pData)
{SI.foreach(LISTS,add_member,pData);},removeMember:function(pData)
{SI.foreach(LISTS,remove_member,pData);},renameSircle:function(pSircleData)
{},deleteSircle:function(pSircleData)
{SI.foreach(LISTS,delete_sircle,pSircleData);},newSircle:function(pSircleData)
{}};}());})();
(function(){SI.register("SI.UI.Controls.Sircles.DialogMembers","Sircles.DialogMembers",function()
{var DIALOGS={};var GUID="dialog_members_"+SI.guid();$(document).ready(function(){Sircles.Pub.subscribe(Sircles.Pub.EVENT_ADD_MEMBER,Sircles.DialogMembers.addMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_REMOVE_MEMBER,Sircles.DialogMembers.removeMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_RENAME_SIRCLE,Sircles.DialogMembers.renameSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_DELETE_SIRCLE,Sircles.DialogMembers.deleteSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_NEW_SIRCLE,Sircles.DialogMembers.newSircle,GUID);Sircles.DialogMembers.subscribe("sircle_dialog");});var add_member=function(pDialogId,pData)
{var dialog=SI.get(pDialogId);if(!SI.isDOMElement(dialog)){return;}
var member=SI.get("dialog_sircle_member_"+pData.member.guid,dialog);if(!SI.isDOMElement(member))
{var friends_list=SI.getByTagName("ul",dialog)[0];BL.Render.toHTML([{type:"mutual_friend",data:{guid:pData.member.guid,name:pData.member.firstName+" "+pData.member.lastName}}],{prefix:"sircle_dialog_",target:friends_list});member=SI.get("dialog_sircle_member_"+pData.member.guid,dialog);}
UI.Style.addClassName(member,pData.sircle.guid);};var remove_member=function(pDialogId,pData)
{var dialog=SI.get(pDialogId);if(!SI.isDOMElement(dialog)){return;}
var member=SI.get("dialog_sircle_member_"+pData.member.guid,dialog);UI.Style.removeClassName(member,pData.sircle.guid);};var delete_sircle=function(pDialogId,pSircleData)
{var dialog=SI.get(pDialogId);if(!SI.isDOMElement(dialog)){return;}
var friends=SI.getByTagName("li",dialog);for(var i=0,len=friends.length;i<len;i++){UI.Style.removeClassName(friends[i],pSircleData.guid);}};return{subscribe:function(pDialogId)
{DIALOGS[pDialogId]=true;},addMember:function(pData)
{SI.foreach(DIALOGS,add_member,pData)},removeMember:function(pData)
{SI.foreach(DIALOGS,remove_member,pData)},renameSircle:function(pSircleData)
{},deleteSircle:function(pSircleData)
{SI.foreach(DIALOGS,delete_sircle,pSircleData)},newSircle:function(pSircleData)
{}};}());})();
(function(){SI.register("SI.UI.Controls.Posts.Link","Posts.Link",function()
{var LINKS={byMember:{},bySircle:{}};var GUID="post_link_"+SI.guid();$(document).ready(function(){Sircles.Pub.subscribe(Sircles.Pub.EVENT_ADD_MEMBER,Posts.Link.addMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_REMOVE_MEMBER,Posts.Link.removeMember,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_RENAME_SIRCLE,Posts.Link.renameSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_DELETE_SIRCLE,Posts.Link.deleteSircle,GUID);Sircles.Pub.subscribe(Sircles.Pub.EVENT_NEW_SIRCLE,Posts.Link.newSircle,GUID);});var add_member=function(pView,pData)
{if(!["friend"].contains(pView)){return;}
var sircles_container=SI.get(pView+"_"+pData.post_guid+"_post_sircles");if(SI.isUndefinedOrNull(sircles_container)){return;}
var link=SI.getByAttribute([{name:"sid",value:pData.data.sircle.guid}],"a",pView+"_"+pData.post_guid+"_post");if(SI.isNotEmptyArrayOrNodeList(link)){return;}
BL.Render.toHTML([{type:"all_sircle",data:{guid:pData.data.sircle.guid,name:pData.data.sircle.name,post_guid:pData.post_guid}}],{prefix:pView+"_",target:sircles_container});if(SI.getChildElements(sircles_container).length>1)
{var link=SI.getByAttribute([{name:"sid",value:pData.data.sircle.guid}],"a",sircles_container);if(!SI.isNotEmptyArrayOrNodeList(link)){return;}
link=link[0];SI.appendChild(link.parentNode,document.createTextNode(', '));}};var remove_member=function(pView,pData)
{if(!["friend"].contains(pView)){return;}
var link=SI.getByAttribute([{name:"sid",value:pData.data.sircle.guid}],"a",pView+"_"+pData.post_guid+"_post");if(!SI.isNotEmptyArrayOrNodeList(link)){return;}
link=link[0].parentNode;if(SI.isTextNode(link.nextSibling))
{SI.remove(link.nextSibling);}
else if(SI.isTextNode(link.prevSibling))
{SI.remove(link.prevSibling);}
SI.remove(link);};var rename_sircle=function(pView,pData)
{var link=SI.getByAttribute([{name:"sid",value:pData.data.guid}],"a",pView+"_"+pData.post_guid+"_post");if(!SI.isNotEmptyArrayOrNodeList(link)){return;}
link=link[0];link.innerHTML=pData.data.name;};var delete_sircle=function(pView,pData)
{var link=SI.getByAttribute([{name:"sid",value:pData.data.guid}],"a",pView+"_"+pData.post_guid+"_post");if(!SI.isNotEmptyArrayOrNodeList(link)){return;}
link=link[0].parentNode;if(SI.isTextNode(link.nextSibling))
{SI.remove(link.nextSibling);}
else if(SI.isTextNode(link.prevSibling))
{SI.remove(link.prevSibling);}
SI.remove(link);};return{subscribe:function(pPostOwnerGuid,pPostGuid,pView,pSircleGuid)
{if(SI.isUndefinedOrNull(LINKS.byMember[pPostOwnerGuid])){LINKS.byMember[pPostOwnerGuid]={};}
if(SI.isUndefinedOrNull(LINKS.byMember[pPostOwnerGuid][pPostGuid])){LINKS.byMember[pPostOwnerGuid][pPostGuid]=[];}
LINKS.byMember[pPostOwnerGuid][pPostGuid].push(pView);if(SI.isDefinedAndNotNull(pSircleGuid))
{if(SI.isUndefinedOrNull(LINKS.bySircle[pSircleGuid])){LINKS.bySircle[pSircleGuid]={};}
if(SI.isUndefinedOrNull(LINKS.bySircle[pSircleGuid][pPostGuid])){LINKS.bySircle[pSircleGuid][pPostGuid]=[];}
LINKS.bySircle[pSircleGuid][pPostGuid].push(pView);}},addMember:function(pData)
{if(SI.isDefinedAndNotNull(LINKS.byMember[pData.member.guid]))
{SI.foreach(LINKS.byMember[pData.member.guid],function(pPostGuid)
{SI.foreach(LINKS.byMember[pData.member.guid][pPostGuid],add_member,{data:pData,post_guid:pPostGuid});});}},removeMember:function(pData)
{if(SI.isDefinedAndNotNull(LINKS.byMember[pData.member.guid]))
{SI.foreach(LINKS.byMember[pData.member.guid],function(pPostGuid)
{SI.foreach(LINKS.byMember[pData.member.guid][pPostGuid],remove_member,{data:pData,post_guid:pPostGuid});});}},renameSircle:function(pSircleData)
{if(SI.isDefinedAndNotNull(LINKS.bySircle[pSircleData.guid]))
{SI.foreach(LINKS.bySircle[pSircleData.guid],function(pPostGuid)
{SI.foreach(LINKS.bySircle[pSircleData.guid][pPostGuid],rename_sircle,{data:pSircleData,post_guid:pPostGuid});});}},deleteSircle:function(pSircleData)
{if(SI.isDefinedAndNotNull(LINKS.bySircle[pSircleData.guid]))
{SI.foreach(LINKS.bySircle[pSircleData.guid],function(pPostGuid)
{SI.foreach(LINKS.bySircle[pSircleData.guid][pPostGuid],delete_sircle,{data:pSircleData,post_guid:pPostGuid});});}},newSircle:function(pSircleData)
{}};}());})();
(function(){SI.register("SI.UI.Controls.Entity","Controls.Entity",function()
{var get_attribute=function(pEntity,pAttr)
{if(SI.isNotEmptyArrayOrNodeList(pEntity))
{var attr_values=[];for(var i=0,len=pEntity.length;i<len;i++)
{var attr=get_attribute(pEntity[i],pAttr);if(attr!==false){attr_values.push(attr);}}
return attr_values;}
if(!SI.isDOMElement(pEntity)){return false;}
pEntity=SI.getAncestor(pEntity,function(e){return SI.isDefinedAndNotNull(pEntity.getAttribute(pAttr));});return SI.isDefinedAndNotNull(pEntity)?pEntity.getAttribute(pAttr):false;};var identity=function(i){return i;};return{ENTITY_POST:"post",ENTITY_REPLY:"reply",get:function(pDetails,pContainer)
{pDetails=SI.getDefaultValue(pDetails,{});var criteria=[];if(SI.isDefinedAndNotNull(pDetails.guid)){criteria.push({name:"g",value:pDetails.guid.toString()});}
if(SI.isDefinedAndNotNull(pDetails.type)){criteria.push({name:"t",value:pDetails.type.toString()});}
if(SI.isDefinedAndNotNull(pDetails.subType)){criteria.push({name:"s",value:pDetails.subType.toString()});}
if(SI.isDefinedAndNotNull(pDetails.view)){criteria.push({name:"v",value:pDetails.view.toString()});}else if(SI.isDefinedAndNotNull(pDetails.prefix)){criteria.push({name:"v",value:pDetails.prefix.toString().trim("_")});}
if(SI.isDefinedAndNotNull(pDetails.innerType)){criteria.push({name:"i",value:pDetails.innerType.toString()});}
var entities=SI.getByAttribute(criteria,"div",pContainer);if(SI.isCallable(pDetails.selector))
{for(var i=0,len=entities.length;i<len;i++){entities[i]=pDetails.selector(entities[i]);}}
return entities;},getFirst:function(pDetails,pContainer)
{var entities=this.get(pDetails,pContainer);if(SI.isNotEmptyArrayOrNodeList(entities))
{return entities[0];}},isValidGuid:function(pGuid)
{return(SI.isNumeric(pGuid)&&pGuid.toString().toInt()>=0);},getViews:function(pDetails,pContainer)
{if(SI.isCallable(pDetails.selector)){pDetails.selector=null;}
var entities=this.get(pDetails,pContainer);var views={};if(SI.isNotEmptyArrayOrNodeList(entities))
{for(var i=0,len=entities.length;i<len;i++){views[this.getView(entities[i])]="DUMMY";}}
return SI.getKeys(views);},getPrefixes:function(pDetails,pContainer)
{if(SI.isCallable(pDetails.selector)){pDetails.selector=null;}
var entities=this.get(pDetails,pContainer);var prefixes={};if(SI.isNotEmptyArrayOrNodeList(entities))
{for(var i=0,len=entities.length;i<len;i++){prefixes[this.getView(entities[i])+"_"]="DUMMY";}}
return SI.getKeys(prefixes);},firstView:function(pDetails,pContainer)
{if(SI.isCallable(pDetails.selector)){pDetails.selector=null;}
var entities=this.get(pDetails,pContainer);if(SI.isNotEmptyArrayOrNodeList(entities))
{for(var i=0,len=entities.length;i<len;i++){return this.getView(entities[i]);}}},getGuid:function(pEntity)
{return get_attribute(pEntity,"g");},getType:function(pEntity)
{return get_attribute(pEntity,"t");},getSubType:function(pEntity)
{return get_attribute(pEntity,"s");},getInnerType:function(pEntity)
{return get_attribute(pEntity,"i");},getView:function(pEntity)
{return get_attribute(pEntity,"v");},getData:function(pDetails,pContainer)
{var selector=identity;if(SI.isCallable(pDetails.selector)){selector=pDetails.selector;pDetails.selector=null;}
var entities=this.get(pDetails,pContainer);var data=[];var cview;for(var i=0,len=entities.length;i<len;i++)
{cview=this.getView(entities[i]);data.push({cont:entities[i],elem:selector(entities[i]),guid:this.getGuid(entities[i]),type:this.getType(entities[i]),subType:this.getSubType(entities[i]),innerType:this.getInnerType(entities[i]),view:cview,prefix:cview+"_"});}
return data;},foreach:function(pDetails,pHandler,pContainer)
{if(!SI.isCallable(pHandler)){return;}
SI.foreach(this.getData(pDetails,pContainer),pHandler);},foreachView:function(pDetails,pHandler,pContainer)
{if(!SI.isCallable(pHandler)){return;}
SI.foreach(this.getViews(pDetails,pContainer),pHandler);},remove:function(pDetails,pContainer)
{SI.remove(this.get(pDetails,pContainer));},hide:function(pDetails,pContainer,pTimeout,pCallback)
{SI.Vis.hide(this.get(pDetails,pContainer),pTimeout,pCallback);},show:function(pDetails,pContainer,pDisplay,pTimeout,pCallback)
{SI.Vis.show(this.get(pDetails,pContainer),pDisplay,pTimeout,pCallback);}};}());})();
(function(){SI.register("SI.UI.Controls.Post","Controls.Post",function()
{return{POST_SUBTYPE_DEFAULT:0,POST_SUBTYPE_POLL:1,POST_SUBTYPE_LINK:2,get:function(pPostDetails,pContainer)
{pPostDetails.type=Controls.Entity.ENTITY_POST;return Controls.Entity.get(pPostDetails,pContainer);},incReplies:function(pPostGuid,pPrefix)
{var counter=SI.get(pPrefix+pPostGuid+"_replies_num");if(counter!=null)
{counter.innerHTML=counter.innerHTML.toInt()+1;SI.Vis.show(pPrefix+pPostGuid+"_replies_num_container");}},decReplies:function(pPostGuid,pPrefix)
{var counter=SI.get(pPrefix+pPostGuid+"_replies_num");if(counter!=null)
{counter.innerHTML=counter.innerHTML.toInt()-1;if(counter.innerHTML=="0"){SI.Vis.hide(pPrefix+pPostGuid+"_replies_num_container");}}},setRepliesNum:function(pPostGuid,pPrefix,pNum)
{var counter=SI.get(pPrefix+pPostGuid+"_replies_num");if(SI.isDOMElement(counter))
{counter.innerHTML=pNum;SI.Vis.set(pPrefix+pPostGuid+"_replies_num_container",(pNum>0));}},getRepliesCount:function(pPostGuid)
{var view=Controls.Entity.firstView({guid:pPostGuid});if(SI.isUndefinedOrNull(view)){return;}
return this.getContainedRepliesCount(SI.get(view+"_"+pPostGuid+"_post"),0);},getContainedRepliesCount:function(pContainer,pStartDepth)
{var visible_level_replies=SI.filterElements(SI.getByClassName("d"+pStartDepth,"div",pContainer),function(e){return SI.Vis.isVisible(e);});pStartDepth++;var count=visible_level_replies.length;SI.foreach(visible_level_replies,function(reply){count+=Controls.Post.getContainedRepliesCount(reply,pStartDepth);});return count;},updateRepliesCount:function(pPostGuid)
{var replies_count=this.getRepliesCount(pPostGuid);if(SI.isUndefinedOrNull(replies_count)){return;}
Controls.Entity.foreach({guid:pPostGuid},function(post){Controls.Post.setRepliesNum(pPostGuid,post.view+"_",replies_count);});}};}());})();
(function(){SI.register("SI.UI.Controls.Reply","Controls.Reply",function()
{var prefixes=["my_","friend_","public_","everyone_","profile_","external_","recent_"];var reply_oldest_equ_fn=function(pReply1,pReply2)
{var date1=Date.parse(SI.getByClassName("timestamp","abbr",SI.getByClassName("header","div",pReply1)[0])[0].title);var date2=Date.parse(SI.getByClassName("timestamp","abbr",SI.getByClassName("header","div",pReply2)[0])[0].title);return date1-date2;};var reply_newest_equ_fn=function(pReply1,pReply2)
{return reply_oldest_equ_fn(pReply2,pReply1);};var reply_vote_equ_fn=function(pReply1,pReply2)
{var rank1=SI.getByTagName("span",SI.getByClassName("rank","div",pReply1)[0])[0].innerHTML.toInt();var rank2=SI.getByTagName("span",SI.getByClassName("rank","div",pReply2)[0])[0].innerHTML.toInt();return rank2-rank1;};var order_by_hierarchy=function(pPost,pReplies,pDepth,pRepliesContainer,pEvalFunc)
{if(!SI.isNotEmptyArrayOrNodeList(pReplies)){return;}
var sorted=[].fill(pReplies).sort(pEvalFunc);SI.foreach(sorted,function(reply){SI.appendChild(pRepliesContainer,reply);});SI.foreach(pReplies,function(reply)
{var replies_container=SI.getByClassName("replies-container","div",reply)[0];var next_depth_replies=SI.getByClassName("d"+(pDepth+1),"div",reply);order_by_hierarchy(pPost,next_depth_replies,pDepth+1,replies_container,pEvalFunc)});};return{get:function(pReplyDetails,pContainer)
{pReplyDetails=SI.getDefaultValue(pReplyDetails,{});pReplyDetails.type=Controls.Entity.ENTITY_REPLY;return Controls.Entity.get(pReplyDetails,pContainer);},getPost:function(pReplyGuid)
{var replies=Controls.Entity.get({guid:pReplyGuid});if(!SI.isNotEmptyArrayOrNodeList(replies)){return false;}
return SI.getAncestor(replies[0],function(e){return UI.Style.hasClassName(e,"post");});},add:function(pPostGuid,pInitiatorPrefix,pAppend)
{BL.Action.invoke({secure:true,perms:"email",params:{post_guid:pPostGuid,init_prefix:pInitiatorPrefix,append:pAppend},validate:function(pStack)
{var s=pStack;var p=s.params;s.reply_submit=SI.get(p.init_prefix+p.post_guid+"_post_reply_submit");s.reply_input=SI.get(p.init_prefix+p.post_guid+"_reply_input");var reply_length=s.reply_input.value.length;if(reply_length>512)
{Controls.Dialog.error("Your reply length is "+reply_length+", it is longer than the maximum length (512 characters).");return false;}
return true;},prepare:function(pStack)
{var s=pStack;var p=s.params;s.reply_submit.disabled='disabled';s.reply_input.maxHeight=25;s.reply_to=SI.get(p.init_prefix+p.post_guid+"_post_reply_to");s.target_container=p.init_prefix+p.post_guid+"_replies";if(!s.reply_to.value.trim().isEmpty())
{var inner_replies_containers=SI.getByClassName("replies-container","div",p.init_prefix+s.reply_to.value+"_reply");if(inner_replies_containers.length>0){s.target_container=inner_replies_containers[0];}}
s.loader=SI.get(p.init_prefix+'reply_loader');if(pAppend==true)
{SI.appendChild(s.target_container,s.loader);}
else
{SI.prependChild(s.target_container,s.loader);}
SI.Vis.show(s.loader);SI.Vis.show(p.init_prefix+p.post_guid+"_replies");},action:{url:"http://www.sircleit.com/action/reply/text/",options:{form:function(pStack){return pStack.params.init_prefix+pStack.params.post_guid+"_post_reply";},success:function(pStack,pResponseObject)
{var s=pStack;var p=s.params;var reply_data=BL.AJAX.selectResponseData(pResponseObject,"reply");var reply_guid=reply_data.guid;s.reply_input.value='Write a reply...';s.reply_input.style.color="rgb(141,141,141)";Controls.Text.autoHeight(s.reply_input,s.reply_input.maxHeight);var new_reply=SI.get(p.init_prefix+reply_guid+"_reply");var depth=0;if(!s.reply_to.value.isEmpty())
{var ancestor_reply_container=SI.getAncestor(new_reply.parentNode,function(element){return UI.Style.hasClassName(element,"reply");});if(SI.isDefinedAndNotNull(ancestor_reply_container))
{for(var i=0;i<20;i++)
{if(UI.Style.hasClassName(ancestor_reply_container,"d"+i))
{depth=i+1;break;}}}}
var ref_entity_guid=(!s.reply_to.value.isEmpty())?s.reply_to.value:pPostGuid;Controls.Entity.foreach({guid:ref_entity_guid},function(entity){SI.Vis.hide(entity.prefix+pPostGuid+"_post_reply");var replies_container=SI.getByClassName("replies-container","div",entity.elem)[0];var index=(entity.view=="my"||entity.view=="profile"||entity.view=="everyone")?0:"last";if(entity.prefix!=p.init_prefix)
{BL.Render.toHTML(reply_data,{target:replies_container,prefix:entity.prefix,index:index});}
var reply=SI.get(entity.prefix+reply_guid+"_reply");UI.Style.removeClassName(reply,"d0");UI.Style.addClassName(reply,"d"+depth);Controls.Post.incReplies(pPostGuid,entity.prefix);SI.Vis.show(entity.prefix+reply_guid+"_reply_delete");SI.remove(entity.prefix+reply_guid+"_reply_like");SI.remove(entity.prefix+reply_guid+"_reply_dislike");var rank=SI.get(entity.prefix+reply_guid+"_reply_rank");if(SI.isDOMElement(rank)){rank.innerHTML="0";}});},failure:function(pStack)
{pStack.reply_input.focus();},after:function(pStack)
{SI.Vis.hide(pStack.loader);SI.appendChild(document.body,pStack.loader);pStack.reply_submit.disabled='';pStack.reply_input.disabled='';},render:{target:function(pStack){return pStack.target_container;},prefix:function(pStack){return pStack.params.init_prefix;},index:function(pStack){return((pStack.params.append==true)?"last":0);}}}},after:function(pStack)
{pStack.reply_input.disabled='disabled';}});},hideUndo:function(pReplyGuid)
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.remove(reply.elem);SI.remove(reply.prefix+pReplyGuid+"_undo");});},undoRemove:function(pReplyGuid)
{var post_guid=Controls.Entity.getGuid(Controls.Reply.getPost(pReplyGuid));Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.Vis.hide(reply.prefix+pReplyGuid+"_undo");SI.Vis.show(reply.elem);var replies_num_elem=SI.get(reply.prefix+post_guid+"_replies_num");if(SI.isDOMElement(replies_num_elem))
{var inner_replies_count=SI.getByClassName("reply","div",reply.elem).length+1;Controls.Post.setRepliesNum(post_guid,reply.prefix,inner_replies_count+replies_num_elem.innerHTML.toInt());}});BL.AJAX.request("http://www.sircleit.com/action/undelete/",{data:[{name:"guid",value:pReplyGuid}],success:function()
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.remove(reply.prefix+pReplyGuid+"_undo");});},failure:function()
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.Vis.hide(reply.elem);SI.Vis.show(reply.prefix+pReplyGuid+"_undo");});},after:function()
{Controls.Post.updateRepliesCount(post_guid);}});},remove:function(pReplyGuid)
{var post_guid=Controls.Entity.getGuid(Controls.Reply.getPost(pReplyGuid));Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.Vis.hide(reply.elem);var reply_input=SI.get(reply.prefix+post_guid+"_post_reply",reply.elem)
if(SI.isDOMElement(reply_input))
{SI.Vis.hide(reply_input);SI.appendChild(SI.get(reply.prefix+post_guid+"_replies"),reply_input)}
SI.insertAfter(reply.elem,('<div id="'+reply.view+'_'+pReplyGuid+'_undo" class="reply-container undo small center italic"><div class="content"><a onclick="Controls.Reply.undoRemove('+pReplyGuid+');">Undo Deletion</a> or <a onclick="Controls.Reply.hideUndo('+pReplyGuid+');">Hide</a></div></div>').toNodes());var replies_num_elem=SI.get(reply.prefix+post_guid+"_replies_num");if(SI.isDOMElement(replies_num_elem))
{var inner_replies_count=SI.getByClassName("reply","div",reply.elem).length+1;Controls.Post.setRepliesNum(post_guid,reply.prefix,replies_num_elem.innerHTML.toInt()-inner_replies_count);}});BL.AJAX.request("http://www.sircleit.com/action/delete/",{data:[{name:"guid",value:pReplyGuid}],failure:function()
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){SI.remove(reply.view+"_"+pReplyGuid+"_undo");SI.Vis.show(reply.elem);});},after:function()
{Controls.Post.updateRepliesCount(post_guid);}});},vote:function(pReplyGuid,pLike,pPrefix)
{pPrefix=SI.getDefaultValue(pPrefix,"my_");BL.Action.invoke({secure:true,perms:"email",params:{reply_guid:pReplyGuid,like:pLike,prefix:pPrefix},prepare:function(pStack)
{var s=pStack;var p=s.params;s.vote=Controls.Vote.get({guid:p.reply_guid,prefix:p.prefix})[0];var selected=(p.like)?Controls.Vote.isLike(s.vote):Controls.Vote.isDislike(s.vote);var rank_diff=0;var vote_handler;if(selected)
{rank_diff=(p.like)?-1:1;vote_handler=Controls.Vote.unvote;p.like="unvote";}
else
{rank_diff=(Controls.Vote.isSet(s.vote,!p.like)?2:1)*(p.like?1:-1);vote_handler=Controls.Vote.setLike;}
var new_reply_rank=Controls.Vote.getRankValue(s.vote)+rank_diff;new_reply_rank=(new_reply_rank>0)?"+"+new_reply_rank:new_reply_rank;Controls.Vote.foreach({guid:p.reply_guid},function(vote){vote_handler.call(Controls.Vote,vote.elem,p.like);Controls.Vote.setRankValue(vote.elem,new_reply_rank);});},action:{url:"http://www.sircleit.com/action/reply/vote/",options:{data:function(pStack)
{return[{name:"guid",value:pStack.params.reply_guid},{name:"like",value:pStack.params.like}];},success:function(pStack,pResponseObject)
{},failure:function(pStack,pResponseObject)
{}}}});},isReplyType:function(pType)
{return(pType=="reply");},parseDescription:function(pDescriptionNode)
{var desc_data="";SI.foreach(pDescriptionNode.childNodes,function(node){if(SI.isTextNode(node)){desc_data+=node.data;}else{desc_data+=node.innerHTML;}});return desc_data;},showUpdateBox:function(pReplyGuid,pView)
{var reply=this.get({guid:pReplyGuid,view:pView});if(!SI.isNotEmptyArrayOrNodeList(reply)){return;}
reply=reply[0];var desc_container=SI.getByClassName("description-container","div",reply)[0];var desc_width=UI.Dimensions.width(desc_container),desc_height=UI.Dimensions.height(desc_container);var desc=SI.getByClassName("description","span",reply)[0];var desc_data=this.parseDescription(desc);var desc_input=document.createElement("textarea");desc_input.style.width=(desc_width-10)+"px";desc_input.style.height=desc_height+"px";desc_input.innerHTML=desc_data.trim();desc_input.id=pView+"_"+pReplyGuid+"_desc_input";desc_input.onblur=function(e){Controls.Reply.updateDescription(pReplyGuid,this.value.trim());SI.remove(this);SI.Vis.show(desc_container);};desc_input.onkeypress=function(e){if(UI.Keyboard.isEnter(e))
{this.onblur(e);}
else if(UI.Keyboard.isEscape(e))
{SI.remove(this);SI.Vis.show(desc_container);}};SI.Vis.hide(desc_container);SI.prependChild(desc_container.parentNode,desc_input);$(desc_input).expandable({within:1,by:1});desc_input.focus();desc_input.select();},updateDescription:function(pReplyGuid,pDescription)
{var prev_desc="";var prev_desc_data="";Controls.Entity.foreach({guid:pReplyGuid},function(reply){var desc=SI.getByClassName("description","span",reply.elem)[0];if(prev_desc_data.isEmpty())
{prev_desc=desc.innerHTML;prev_desc_data=Controls.Reply.parseDescription(desc);if(prev_desc_data==pDescription){return;}}
desc.innerHTML=pDescription;});BL.AJAX.request("http://www.sircleit.com/action/reply/updatedesc/",{data:[{name:'guid',value:pReplyGuid},{name:'desc',value:pDescription}],success:function(pObject,pReceivedData)
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){var desc=SI.getByClassName("description","span",reply.elem)[0];desc.innerHTML=pReceivedData.msg;});},failure:function()
{Controls.Entity.foreach({guid:pReplyGuid},function(reply){var desc=SI.getByClassName("description","span",reply.elem)[0];desc.innerHTML=prev_desc;});}});},postRender:function(pReplyType,pReplyData,pPostData,pViews)
{if(this.isReplyType(pReplyType))
{var specified_views=SI.isNotEmptyArray(pViews);Controls.Entity.foreach({guid:pReplyData.guid},function(reply){if(!specified_views||!pViews.contains(reply.view)){return;}
if(UI.View.isPublic(reply.view))
{if(pPostData.owner_guid!=BL.User.getGuid()&&pReplyData.owner_guid!=BL.User.getGuid())
{SI.remove(reply.prefix+reply.guid+"_delete");}
if(pReplyData.best){UI.Style.addClassName(reply.elem,"best");}
var reply_like=SI.get(reply.prefix+reply.guid+"_reply_like");var reply_dislike=SI.get(reply.prefix+reply.guid+"_reply_dislike");if(pReplyData.owner_guid==BL.User.getGuid())
{SI.remove(reply_like);SI.remove(reply_dislike);}
else
{if(pReplyData.like!=null)
{var selected_like=(pReplyData.like)?reply_like:reply_dislike;UI.Style.addClassName(selected_like,"selected");selected_like.title="Click here to undo vote";}}}});}},expand:function(pPostGuid,pReplyGuid,pPrefix)
{var reply_body=SI.getByClassName("body","div",pPrefix+pReplyGuid+"_reply")[0];SI.Vis.inverse(reply_body);var inner_replies_count=SI.getByClassName("reply","div",reply_body).length;},reply:function(pPostGuid,pReplyGuid,pPrefix,pOrder)
{pOrder=SI.getDefaultValue(pOrder,"DESC").toUpperCase();SI.Vis.show(pPrefix+pPostGuid+"_replies");var reply_input=SI.get(pPrefix+pPostGuid+"_reply_input");var reply_input_form=SI.get(pPrefix+pPostGuid+"_post_reply");var reply_to=SI.get(pPrefix+pPostGuid+"_post_reply_to");if(!SI.Vis.isVisible(reply_input_form)||reply_to.value!=pReplyGuid)
{reply_to.value=pReplyGuid;reply_input.value="";reply_input.onblur();var replies_container=(pReplyGuid!="")?SI.getByClassName("replies-container","div",pPrefix+pReplyGuid+"_reply")[0]:SI.get(pPrefix+pPostGuid+"_replies");if(pOrder=="DESC"){SI.prependChild(replies_container,reply_input_form);}else{SI.appendChild(replies_container,reply_input_form);}
SI.Vis.show(reply_input_form);}
var scroll_top=UI.Scrollbar.top();reply_input.focus();if(scroll_top!=UI.Scrollbar.top())
{SI.getByName(pPrefix+pPostGuid+"_reply","a")[0];SI.goToAnchor(pPrefix+pPostGuid+"_reply");}},ORGANIZE_CURRENT:"",ORGANIZE_OLDEST:"oldest",ORGANIZE_NEWEST:"newest",ORGANIZE_VOTES:"votes",organizeReplies:function(pPostGuid,pType,pPrefix)
{if(pType==this.ORGANIZE_CURRENT){return;}
var post=SI.get(pPrefix+pPostGuid+"_post");SI.foreach([this.ORGANIZE_OLDEST,this.ORGANIZE_NEWEST,this.ORGANIZE_VOTES],function(type){UI.Style.removeClassName(pPrefix+pPostGuid+"_"+type,"selected");});UI.Style.addClassName(pPrefix+pPostGuid+"_"+pType,"selected");var eval_func;switch(pType)
{case this.ORGANIZE_VOTES:eval_func=reply_vote_equ_fn;break;case this.ORGANIZE_OLDEST:eval_func=reply_oldest_equ_fn;break;case this.ORGANIZE_NEWEST:default:eval_func=reply_newest_equ_fn;}
var replies_container=SI.getByClassName("replies-container","div",post)[0];var replies=SI.getByClassName("d0","div",post);order_by_hierarchy(post,replies,0,replies_container,eval_func);this.ORGANIZE_CURRENT=pType;}};}());})();
(function(){SI.register("SI.UI.Sircle","UI.Sircle",function()
{return{SIRCLE_NEW_PREFIX:"new_",isExistByName:function(pName,pSirclesContainer)
{pSirclesContainer=SI.get(pSirclesContainer);if(!SI.isDOMElement(pSirclesContainer)){return false;}
pName=pName.trim().toLowerCase();if(pName.isEmpty()){return false;}
var items=SI.getByClassName("list-item","td",pSirclesContainer);for(var i=0,length=items.length;i<length;i++)
{var label=get_item_label(items[i]);if(label.innerHTML.trim().toLowerCase().filterTags("b")==pName){return true;}}
return false;},isExistByGuid:function(pGuid,pSirclesContainer)
{pSirclesContainer=SI.get(pSirclesContainer);if(!SI.isDOMElement(pSirclesContainer)){return false;}
pGuid=parseInt(pGuid,10);var items=SI.getByClassName("list-item","td",pSirclesContainer);for(var i=0,length=items.length;i<length;i++)
{var checkbox=SI.getByTagName("input",items[i])[0];if(checkbox.value==pGuid)
{return true;}}
return false;},findLabel:function(pName,pSirclesContainer)
{var sircles=SI.filterElements(SI.get(pSirclesContainer).getElementsByTagName("span"),function(element){return element.id.endsWith("_sircle_label");});pName=pName.toLowerCase();for(var i=0,length=sircles.length;i<length;i++)
{if(sircles[i].innerHTML.trim().toLowerCase()==pName){return sircles[i];}}
return null;},findNew:function(pSirclesContainer,pName)
{var sircles=SI.getByName("sircle[]","input",pSirclesContainer);pName=(this.SIRCLE_NEW_PREFIX+pName).toLowerCase();for(var i=0,length=sircles.length;i<length;i++)
{if(sircles[i].value.toLowerCase()==pName){return sircles[i];}}
return null;},newSircle:function(pName,pBold,pSirclesContainer,pTemplateId,pIdPrefix,pIdSuffix,pTemplatePrefix)
{pName=pName.trim();var title=pName;if(pBold){title="<b>"+title+"</b>";}
var sircle_label=this.findLabel(pName,pSirclesContainer);var sircle_guid;if(SI.isDefinedAndNotNull(sircle_label))
{sircle_guid=sircle_label.id.match(/[0-9]+/)[0];}
else
{sircle_guid=SI.guid();BL.Render.toHTML([{type:pTemplateId,data:{guid:sircle_guid,name:title,value:UI.Sircle.SIRCLE_NEW_PREFIX+pName}}],{target:pSirclesContainer,prefix:pTemplatePrefix});}
UI.Checkbox.check(pIdPrefix+sircle_guid+pIdSuffix,true);sircle_list_item=SI.get(pIdPrefix+sircle_guid+pIdSuffix+"_container").parentNode;if(SI.isDefinedAndNotNull(sircle_label))
{UI.Style.addClassName(sircle_list_item,"original");}
else
{sircle_list_item.className="list-item original";}
SI.insertAt(sircle_list_item.parentNode.parentNode,sircle_list_item.parentNode,0);SI.Vis.show(sircle_list_item);},enrichList:function(pSirclesListId,pSirclesPrefix,pSirclesData,pTemplatePrefix)
{pTemplatePrefix=SI.getDefaultValue(pTemplatePrefix,"");var ancestor_predicate=function(element){return(element.tagName.toLowerCase()=="td"&&UI.Style.hasClassName(element,"list-item"));};for(var i=0,length=pSirclesData.length;i<length;i++)
{var potential_sircle=pSirclesData[i].data;var sircle_list_item=null;if(potential_sircle.value==potential_sircle.guid)
{var sircle=SI.get(pSirclesPrefix+potential_sircle.guid+"_sircle_container");if(SI.isDefinedAndNotNull(sircle))
{sircle_list_item=sircle.parentNode;}
else
{var existing_potential_sircle=this.findNew(pSirclesListId,potential_sircle.name);existing_potential_sircle.value=potential_sircle.guid;sircle_list_item=SI.getAncestor(existing_potential_sircle,ancestor_predicate);var sircle_item=SI.firstChildElement(sircle_list_item);var sircle_item_outer_string=SI.getOuterHTML(sircle_item);var temp_id=existing_potential_sircle.id.ltrim(pSirclesPrefix).rtrim("_sircle");sircle_item_outer_string=sircle_item_outer_string.replace(new RegExp(temp_id,"gi"),potential_sircle.guid);var new_sircle_item=sircle_item_outer_string.toNodes()[0];sircle_list_item.removeChild(sircle_item);sircle_list_item.appendChild(new_sircle_item);}}
else
{var existing_potential_sircle=this.findNew(pSirclesListId,potential_sircle.name);if(SI.isDefinedAndNotNull(existing_potential_sircle))
{sircle_list_item=SI.getAncestor(existing_potential_sircle,ancestor_predicate);}
else
{BL.Render.toHTML([pSirclesData[i]],{target:pSirclesListId,prefix:pTemplatePrefix});sircle_list_item=SI.get(pSirclesPrefix+potential_sircle.guid+"_sircle_container").parentNode;sircle_list_item.className="list-item";}}
var potential_users_guids=potential_sircle.users;for(var j=0,length_j=potential_users_guids.length;j<length_j;j++)
{UI.Style.addClassName(sircle_list_item,potential_users_guids[j]);}}},addUser2Sircle:function(pUser,pSircle)
{if(!this.isExistByGuid(pSircle.guid,"mysircles"))
{BL.Render.toHTML([{type:"sircle",data:{guid:pSircle.guid,name:pSircle.name,value:pSircle.guid}}],{target:"mysircles"});}
else
{if(SI.isExist(pSircle.guid+"_friends_menu"))
{if(SI.filterElements(SI.getByTagName("input",pSircle.guid+"_friends"),function(userCheckbox){return userCheckbox.value==pUser.guid;}).length===0)
{BL.Render.toHTML([{type:"sircle_member",data:{guid:pUser.guid,name:pUser.name,sircle_guid:pSircle.guid}}],{target:pSircle.guid+"_friends"});var all_selected=UI.Checkbox.isChecked(pSircle.guid+"_friends_select_all");if(all_selected){UI.Checkbox.check(pSircle.guid+"_friends_user_"+pUser.guid);}
var friends_counter=SI.get(pSircle.guid+"_friends_counter");var selected_users_data=JSON.parse(friends_counter.value);if(!all_selected){friends_counter.value="["+selected_users_data[0]+","+(selected_users_data[1]+1)+"]";}else{friends_counter.value="["+(selected_users_data[1]+1)+","+(selected_users_data[1]+1)+"]";}}}}}};}());})();
(function(){SI.register("SI.UI.Controls.User","Controls.User",function()
{return{profilePic:function(pGuid,pSize)
{return"http://www.sircleit.com/profile/pic/$guid$/$size$.jpg".replace('$guid$',pGuid).replace('$size$',pSize);},getProfilePicSize:function(pProfilePic)
{return pProfilePic.getAttribute("s");}};}());})();
(function(){SI.register("SI.UI.Controls.Vote","Controls.Vote",function()
{var like_title="Click here to like this reply",dislike_title="Click here to dislike this reply",undo_title="Click here to undo vote";var selector=function(pContainer)
{return SI.getByClassName("vote","div",pContainer)[0];};return{get:function(pDetails,pContainer)
{pDetails.selector=selector;return Controls.Entity.get(pDetails,pContainer);},foreach:function(pDetails,pHandler,pContainer)
{pDetails.selector=selector;return Controls.Entity.foreach(pDetails,pHandler,pContainer);},getRank:function(pVote)
{return SI.getByTagName("span",SI.getByClassName("rank","div",pVote)[0])[0];},getRankValue:function(pVote)
{return this.getRank(pVote).innerHTML.trim().toInt();},setRankValue:function(pVote,pRank)
{this.getRank(pVote).innerHTML=pRank;},getLike:function(pVote)
{return SI.getByClassName("like","div",pVote)[0];},getDislike:function(pVote)
{return SI.getByClassName("dislike","div",pVote)[0];},isSet:function(pVote,pLike)
{return(pLike)?this.isLike(pVote):this.isDislike(pVote);},isLike:function(pVote)
{return Att.Selectivity.isSelected(this.getLike(pVote));},isDislike:function(pVote)
{return Att.Selectivity.isSelected(this.getDislike(pVote));},setLike:function(pVote,pLike)
{return(pLike)?this.like(pVote):this.dislike(pVote);},like:function(pVote)
{var like=this.getLike(pVote),dislike=this.getDislike(pVote);Att.Selectivity.select(like);Att.Selectivity.unselect(dislike);like.title=undo_title;dislike.title=dislike_title;},dislike:function(pVote)
{var like=this.getLike(pVote),dislike=this.getDislike(pVote);Att.Selectivity.select(this.getDislike(pVote));Att.Selectivity.unselect(this.getLike(pVote));like.title=like_title;dislike.title=undo_title;},unvote:function(pVote)
{var like=this.getLike(pVote),dislike=this.getDislike(pVote);Att.Selectivity.unselect(this.getLike(pVote));Att.Selectivity.unselect(this.getDislike(pVote));like.title=like_title;dislike.title=dislike_title;}};}());})();
(function(){SI.register("SI.UI.Controls.Post.Publish","Post.Publish",function()
{var get_posted_sircles=function(pPostGuid)
{var all_sircles_data=[];var topics_data=[];var sircles_data=[];var found_private=false;var is_all_friends=SI.getByName("sircle_all");is_all_friends=SI.isNotEmptyArrayOrNodeList(is_all_friends)?is_all_friends[0].checked:false;if(is_all_friends)
{all_sircles_data[0]={type:"all_sircle",data:{name:"Friends",guid:pPostGuid}};found_private=true;}
else
{var friends_sircles=SI.getByName("sircle[]","input","mysircles_menu");if(SI.isNotEmptyArrayOrNodeList(is_all_friends))
{for(var i=0,length=friends_sircles.length;i<length;i++)
{if(friends_sircles[i].checked)
{var sircle_guid=friends_sircles[i].value;var sircle_name=SI.get(sircle_guid+"_sircle_label").innerHTML.filterTags("b").trim();var counter=SI.get(sircle_guid+"_friends_counter");if(counter!=null)
{var stat=JSON.parse(counter.value);var total=stat[1];var selected=stat[0];}
if(counter==null||selected==total)
{all_sircles_data.push({type:"all_sircle",data:{guid:sircle_guid,name:sircle_name,post_guid:pPostGuid}});sircles_data.push({type:"all_sircle",data:{guid:sircle_guid,name:sircle_name,post_guid:pPostGuid}});}
else
{var get_checked=selected<=total/2;var sircle_friends=document.getElementsByName(sircle_guid+"_friends[]");var friends_data=[];for(var j=0,friends_len=sircle_friends.length;j<friends_len;j++)
{if(sircle_friends[j].checked==get_checked)
{var friend_guid=sircle_friends[j].value;var friend_name=SI.get(sircle_guid+"_friends_user_"+friend_guid+'_label').innerHTML.filterTags("b").trim();friends_data.push({type:"user_profile_link",data:{guid:friend_guid,name:friend_name}});}}
var sircle_detailing;var sircle_detailing_type;if(friends_data.length==1)
{sircle_detailing_type="user_sircle";sircle_detailing={guid:sircle_guid,name:sircle_name,type:(get_checked)?"only":"except",user_guid:friends_data[0].data.guid,user_name:friends_data[0].data.name,post_guid:pPostGuid};}
else
{sircle_detailing_type="users_sircle";sircle_detailing={guid:sircle_guid,name:sircle_name,type:(get_checked)?"include":"except",total:total,selected:selected,items:friends_data,post_guid:pPostGuid};}
all_sircles_data.push({type:sircle_detailing_type,data:sircle_detailing});sircles_data.push({type:sircle_detailing_type,data:sircle_detailing});}
found_private=true;}}}}
var found_public=false;var topics=SI.getByName("topic[]");if(SI.isNotEmptyArrayOrNodeList(topics))
{for(var i=0,length=topics.length;i<length;i++)
{if(topics[i].checked)
{var sircle_guid=topics[i].value;var container=SI.getAncestor(topics[i],function(e){return(UI.Style.hasClassName(e,"checkbox-container")||UI.Style.hasClassName(e,"new-checkbox-container"));});var sircle_name=(SI.getByClassName("label","*",container)[0]).innerHTML.filterTags("b").trim();all_sircles_data.push({type:"all_sircle",data:{guid:sircle_guid,name:sircle_name,post_guid:pPostGuid}});topics_data.push({type:"all_sircle",data:{guid:sircle_guid,name:sircle_name,post_guid:pPostGuid}});found_public=true;}}}
var post_target;if(!found_public&&found_private)
{post_target="private";}
else if(found_public&&!found_private)
{post_target="public";}
else
{post_target="both";}
return{target:post_target,all:all_sircles_data,sircles:sircles_data,topics:topics_data};};var render_to_public=function(pPostData,pPostGuid,pTopics)
{var shown_topics=SI.getByName("ftopic[]");var topics_map={};for(var i=0,length=shown_topics.length;i<length;i++)
{if(shown_topics[i].checked){topics_map[shown_topics[i].value]=true;}}
var show_on_public=false;for(var i=0,length=pTopics.length;i<length;i++)
{if(topics_map[pTopics[i].data.guid.toString()]==true)
{show_on_public=true;break;}}
if(show_on_public)
{if(SI.isUndefinedOrNull(pPostData[0].data.items)){pPostData[0].data.items=[];}
pPostData[0].data.items=pPostData[0].data.items.concat(pTopics);BL.Render.toHTML(pPostData,{prefix:"public_",glue:{all_sircle:document.createTextNode(', ')},target:{targets:{post:{target:"public_posts",targets:{reply:{target:"public_$post_guid$_replies"},all_sircle:{target:"public_$post_guid$_post_sircles"}}},post_poll:{target:"public_posts",targets:{reply:{target:"public_$post_poll_guid$_replies"},answers:{target:"public_$post_poll_guid$_answers"},my_answers:{target:"public_$post_poll_guid$_answers"},all_sircle:{target:"public_$post_poll_guid$_post_sircles"}}},post_link:{target:"public_posts",targets:{reply:{target:"public_$post_link_guid$_replies"},all_sircle:{target:"public_$post_link_guid$_post_sircles"}}}}}});}};var clear_post_box=function()
{var post_input=SI.get('post_input');post_input.value='';if(SI.isCallable(post_input.onblur)){post_input.onblur();}else{Input.Titled.hideLabel(post_input);}}
var render_sircles=function(pView,pPostGuid,pSircles)
{var glue=document.createTextNode(', ');BL.Render.toHTML(pSircles.all,{prefix:pView+"_",index:'last',target:pView+'_'+pPostGuid+'_post_sircles',glue:{all_sircle:glue,user_sircle:glue,users_sircle:glue,user_profile_link:glue},glueSame:false});for(var i=0,len=pSircles.sircles.length;i<len;i++)
{UI.Style.setClassName(pView+"_"+pPostGuid+"_"+pSircles.sircles[i].data.guid+"_sircle","sircle-link-friends");}
for(var i=0,len=pSircles.topics.length;i<len;i++)
{UI.Style.setClassName(pView+"_"+pPostGuid+"_"+pSircles.topics[i].data.guid+"_sircle","sircle-link-public");}
switch(pSircles.target)
{case"private":UI.Style.setClassName(pView+"_"+pPostGuid+"_post_type_icon","friends sicon-16x16");break;case"public":UI.Style.setClassName(pView+"_"+pPostGuid+"_post_type_icon","society sicon-16x16");break;case"both":UI.Style.setClassName(pView+"_"+pPostGuid+"_post_type_icon","both sicon-16x16");break;}
if(pSircles.target=="public"||pSircles.target=="both")
{try
{if(SI.isDefinedAndNotNull(addthis))
{addthis.toolbox("#"+pView+"_"+pPostGuid+"_share");SI.Vis.show(pPrefix+"_"+pPostGuid+"_share_container");}}catch(err){}}};var uncheck_post_targets=function()
{if(UI.Checkbox.check('select_all_friends'))
{filter('mysircles','td','list-item',starts_with_predicat,'');auto_width('mysircles_container',100);}
var checked_sircles=document.getElementsByName("sircle[]");for(var i=0,length=checked_sircles.length;i<length;i++)
{if(UI.Checkbox.isChecked(checked_sircles[i].value+"_sircle")){SI.get(checked_sircles[i].value+"_sircle_container").onclick();}}
UI.Checkbox.checkAll(this,"mysircles_menu",false);UI.Checkbox.checkAll(this,"public_sircles_menu",false);};return{post:function(pAdditionalData,pView)
{if(SI.isUndefinedOrNull(pView))
{pView=(SI.isDOMElement(SI.get("my_posts")))?"my":"profile";}
BL.Action.invoke({secure:true,perms:"email,publish_stream",params:{view:pView},prepare:function(pStack)
{Post.Extras.prePost();},action:{url:"http://www.sircleit.com/action/post/text/",options:{form:'post_form',data:pAdditionalData,success:function(pStack,pReceivedData)
{var s=pStack;var p=s.params;var post_guid=pReceivedData.data[0].data.guid;BL.AJAX.request("http://www.sircleit.com/action/post/fb/",{data:[{name:"guid",value:post_guid}],parallel:true,messageOnError:false});var post_sircles=get_posted_sircles(post_guid);render_sircles(p.view,post_guid,post_sircles);if(post_sircles.target=="both"||post_sircles.target=="public")
{render_to_public(pReceivedData.data,post_guid,post_sircles.topics);}
clear_post_box();uncheck_post_targets();Post.Publish.postRender(pReceivedData.data[0].type,pReceivedData.data[0].data);Post.Extras.close();},after:function(pStack)
{SI.Vis.hide(pStack.params.view+'_post_loader');},render:{prefix:function(pStack){return pStack.params.view+'_';},target:function(pStack)
{var view=pStack.params.view;return{targets:{post:{target:view+'_posts'},post_poll:{target:view+'_posts',targets:{my_answers:{target:view+"_$post_poll_guid$_answers"}}},post_link:{target:view+'_posts'}}}}}}},after:function(pStack)
{var trig=SI.get("sircleit_btn_trigger");if(SI.isDOMElement(trig)){SI.get("sircleit_btn_trigger").onclick();}
SI.prependChild(pStack.params.view+'_posts',pStack.params.view+'_post_loader');SI.Vis.show(pStack.params.view+'_post_loader');}});},postRender:function(pPostType,pPostData,pViews)
{var owns_post=(pPostData.owner_guid==BL.User.getGuid());var specified_views=SI.isNotEmptyArray(pViews);Controls.Entity.foreach({guid:pPostData.guid},function(post){if(!specified_views||!pViews.contains(post.view)){return;}
if(UI.View.isPublic(post.view)||UI.View.isRecent(post.view))
{if(owns_post){SI.Vis.show(post.prefix+post.guid+"_edit_menu_trigger");}else{SI.remove(post.prefix+post.guid+"_edit_menu_trigger");}
try
{if(SI.isDefinedAndNotNull(addthis)){addthis.toolbox("#"+post.prefix+post.guid+"_share");}else{SI.Vis.hide(post.prefix+post.guid+"_share_container");}}catch(err){}
SI.Vis.set(post.prefix+post.guid+"_replies_num_container",(pPostData.replies_count>0));if(pPostData.replies_count>0)
{for(var j=0,length_j=pPostData.items.length;j<length_j;j++){Controls.Reply.postRender(pPostData.items[j].type,pPostData.items[j].data,pPostData,[post.view]);}}}});Post.Extras.postRender(pPostType,pPostData,pViews);}};}());SI.register("SI.UI.Controls.Post.Extras","Post.Extras",function()
{var prefix="extra_";var open_extra="";return{openedExtra:function()
{return open_extra;},open:function(pId)
{SI.Vis.hide('post_extras');SI.Vis.show(prefix+pId,"",500);SI.get("post_type").value=pId;var extra_module=SI.isDefinedNamespace("SI.UI.Controls.Post.Extras."+pId.ucwords());if(extra_module!==false&&SI.isCallable(extra_module.open)){extra_module.open();}
open_extra=pId;},close:function(pId)
{pId=SI.getDefaultValue(pId,open_extra);if(pId.isEmpty())return;SI.Vis.hide(prefix+pId);SI.Vis.show('post_extras');SI.get("post_type").value="";var extra_module=SI.isDefinedNamespace("SI.UI.Controls.Post.Extras."+pId.ucwords());if(extra_module!==false&&SI.isCallable(extra_module.close))
{extra_module.close();}
open_extra="";},prePost:function(pId)
{pId=SI.getDefaultValue(pId,open_extra);var extra_module=SI.isDefinedNamespace("SI.UI.Controls.Post.Extras."+pId.ucwords());if(extra_module!==false&&SI.isCallable(extra_module.prePost))
{extra_module.prePost();}},postRender:function(pPostType,pPostData,pViews)
{var extra_identifier=pPostType.ltrim("post");if(extra_identifier.isEmpty())return;extra_identifier=extra_identifier.ltrim("_");var extra_module=SI.isDefinedNamespace("SI.UI.Controls.Post.Extras."+extra_identifier.ucwords());if(extra_module!==false&&SI.isCallable(extra_module.postRender))
{extra_module.postRender(pPostType,pPostData,pViews);}}};}());SI.register("SI.UI.Controls.Post.Extras.Poll","Extras.Poll",function()
{var init_optional_answer_input=function(pAnswerInput)
{pAnswerInput.value="";pAnswerInput.onblur();pAnswerInput.style.height="13px";};return{addAnswer:function()
{var poll_answers=SI.getByName("poll_answer[]");var new_answer_id=poll_answers.length+1;if(new_answer_id>=3){SI.Vis.hide('extra_poll_add_answer');}
var first_answer_container_html=SI.getOuterHTML(Input.Titled.getContainer(poll_answers.first()));first_answer_container_html=first_answer_container_html.replace(/Answer 1/g,"Answer "+new_answer_id);var new_answer=first_answer_container_html.toNodes().first();var new_answer_input=Input.Titled.getInput(new_answer);SI.Vis.show(Input.Titled.getLabel(new_answer));new_answer_input.id="poll_answer"+new_answer_id;UI.Style.addClassName(new_answer_input,"fleft");SI.appendChild(new_answer,('<a onclick="SI.remove(Input.Titled.getContainer(SI.get(\''+new_answer_input.id+'\'))); SI.Vis.show(\'extra_poll_add_answer\');"><i class="close sicon-11x11 fright"></i></a>').toNodes().first());SI.insertAfter(Input.Titled.getContainer(poll_answers.last()),new_answer);new_answer_input.style.width=(UI.Dimensions.width(new_answer_input)-20)+"px";$(new_answer_input).expandable({within:1,by:1});},close:function()
{SI.Vis.show("extra_poll_add_answer");var poll_answers=SI.getByName("poll_answer[]");for(var i=0,len=poll_answers.length;i<len;i++)
{var input_container=Input.Titled.getContainer(poll_answers[i]);if(i<=1){poll_answers[i].value="";SI.Vis.show(Input.Titled.getLabel(input_container));}else{SI.remove(input_container);}}},postRender:function(pPostType,pPostData,pViews)
{var owns_post=(pPostData.owner_guid==BL.User.getGuid());var specified_views=SI.isNotEmptyArray(pViews);Controls.Entity.foreach({guid:pPostData.guid},function(post){if(specified_views&&!pViews.contains(post.view)){return;}
var answers_container=SI.getByClassName("answers","div",post.prefix+post.guid+"_post")[0];if(SI.getKeys(pPostData.votes,SI.isNumeric).max()==1)
{if(!owns_post){SI.remove(SI.getByClassName("radio-container","*",answers_container).last());}else{SI.remove(SI.getChildElements(answers_container).last());}
Charts.Column.removeLastColumn(post.view+"_"+post.guid+"_post");}
if(UI.View.isPublic(post.view)||UI.View.isRecent(post.view))
{Charts.Column.updateColumns(post.prefix+post.guid+"_post",pPostData.votes,pPostData.logged_vote,((!owns_post)?1:0));if(!owns_post)
{if(pPostData.logged_vote>=0)
{var radio=SI.getByClassName("radio-container","*",answers_container)[pPostData.logged_vote];UI.Radio.check(radio,true);Reply.Poll.updateReplyGuid(radio,pPostData.guid,pPostData.logged_vote_guid,pPostData.logged_vote,[post.prefix]);radio.title="Click here to undo vote";}}}});}};}());SI.register("SI.UI.Controls.Post.Extras.Link","Extras.Link",function()
{var LINK_TYPES_STR=["","video","sound","img"];return{LINK_TYPE_PAGE:0,LINK_TYPE_VIDEO:1,LINK_TYPE_SOUND:2,LINK_TYPE_IMG:3,get:function(pPostDetails,pContainer)
{pPostDetails.subType=Controls.Post.POST_SUBTYPE_LINK;return Controls.Post.get(pPostDetails,pContainer);},attach:function(pUrl)
{SI.Vis.hide("link_input");SI.Vis.show("link_loader");BL.AJAX.request("http://www.sircleit.com/action/post/getlinkdata/",{data:[{name:'url',value:pUrl}],success:function(pObject,pReceivedData)
{SI.get("link_title").innerHTML=pReceivedData.data[0].data.title;SI.get("link_description").innerHTML=pReceivedData.data[0].data.description;SI.get("link_address").innerHTML=pReceivedData.data[0].data.address;if(!pReceivedData.data[0].data.thumb.isEmpty()){SI.get("link_thumb").style.height="40px";UI.Img.attachLoader("link_thumb",pReceivedData.data[0].data.thumb,"link_thumb",1,function(){SI.get("link_thumb").style.height="";});}else{SI.Vis.hide("link_thumbs");}
SI.Vis.show("link_metadata");},failure:function()
{SI.Vis.show("link_input");},after:function()
{SI.Vis.hide("link_loader");}});},close:function()
{SI.Vis.show("link_input");SI.Vis.hide("link_loader");SI.Vis.hide("link_metadata");var input_address=SI.get("link_input_address");input_address.value="";SI.Vis.show(Input.Titled.getLabel(Input.Titled.getContainer(input_address)));SI.get("link_title").innerHTML="";SI.get("link_description").innerHTML="";SI.get("link_address").innerHTML="";},prePost:function()
{SI.get("link_title_hidden").value=SI.get("link_title").innerHTML.stripHTML();SI.get("link_description_hidden").value=SI.get("link_description").innerHTML.stripHTML();SI.get("link_thumb_hidden").value=SI.get("link_thumb").src;},postRender:function(pPostType,pPostData,pViews)
{if(pPostData.link_type!=this.LINK_TYPE_VIDEO)
{Controls.Entity.foreach({guid:pPostData.guid},function(post){SI.remove(post.prefix+post.guid+"_post_video_container");var thumb_link=SI.get(post.prefix+post.guid+"_post_thumb_link");thumb_link.onclick="";thumb_link.href=SI.get(post.prefix+post.guid+"_post_url").href;thumb_link.target="_blank";thumb_link.rel="nofollow";SI.remove(SI.getByClassName("play","i",thumb_link));});}
if(!LINK_TYPES_STR[pPostData.link_type].isEmpty())
{var extra_module=SI.isDefinedNamespace("SI.UI.Controls.Post.Extras.Link."+LINK_TYPES_STR[pPostData.link_type].ucwords());if(extra_module!==false&&SI.isCallable(extra_module.postRender))
{extra_module.postRender(pPostType,pPostData,pViews);}}}};}());SI.register("SI.UI.Controls.Post.Extras.Link.Video","Link.Video",function()
{return{get:function(pPostDetails,pContainer)
{pPostDetails.innerType=Extras.Link.LINK_TYPE_VIDEO;return Controls.Post.get(pPostDetails,pContainer);},play:function(pVideoId,pPostGuid,pView,pScale,pWidth,pHeight)
{pScale=SI.getDefaultValue(pScale,1);pWidth=SI.getDefaultValue(pWidth,425);pHeight=SI.getDefaultValue(pHeight,425);pWidth=pWidth*pScale;pHeight=pHeight*pScale;SI.get(pView+"_"+pPostGuid+"_post_video_container").innerHTML='<embed type="application/x-shockwave-flash" '+'src="http://www.youtube.com/v/'+pVideoId+'&autoplay=1&key=AI39si6qNLrJJQIqujgL3TU3JHAtPb62O2NB2FyF_XYiWZDquLmRk4cYHD7_ZyKh6fZBNBCd4ptx1YjUHWG22eTjudreW80GUw" '+'type="application/x-shockwave-flash" bgcolor="#FFFFFF" scale="noscale" allowscriptaccess="never" allowfullscreen="false" '+'flashvars="width='+pWidth+'&height='+pHeight+'" '+'salign="tl" wmode="opaque" quality="high"'+'width="'+pWidth+'" '+'height="'+pHeight+'"></embed>';SI.Vis.hide(pView+"_"+pPostGuid+"_post_thumb_link");var content=SI.get(pView+"_"+pPostGuid+"_post_content");content.prevWidth=content.style.width;content.style.marginLeft=0;SI.get(pView+"_"+pPostGuid+"_post_content").style.width="";},toSnapshot:function(pPostGuid,pView)
{if(SI.Vis.isVisible(pView+"_"+pPostGuid+"_post_thumb_link")){return;}
SI.get(pView+"_"+pPostGuid+"_post_video_container").innerHTML="";var content=SI.get(pView+"_"+pPostGuid+"_post_content");content.style.width=content.prevWidth;content.style.marginLeft="110px";SI.Vis.show(pView+"_"+pPostGuid+"_post_thumb_link");}};}());})();
(function(){SI.register("SI.UI.Controls.Post.Edit","Post.Edit",function()
{return{hideUndo:function(pPostGuid)
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.remove(post.elem);SI.remove(post.prefix+pPostGuid+"_undo");});},undoRemove:function(pPostGuid)
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.Vis.hide(post.prefix+pPostGuid+"_undo");SI.Vis.show(post.elem);});BL.AJAX.request("http://www.sircleit.com/action/undelete/",{data:[{name:"guid",value:pPostGuid}],success:function()
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.remove(post.prefix+pPostGuid+"_undo");});},failure:function()
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.Vis.hide(post.elem);SI.Vis.show(post.prefix+pPostGuid+"_undo");});}});},remove:function(pPostGuid)
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.Vis.hide(post.elem);SI.insertAfter(post.elem,('<div id="'+post.view+'_'+pPostGuid+'_undo" class="undo small center italic bc2 pad1 mar1-bottom"><div class="content"><a onclick="Post.Edit.undoRemove('+pPostGuid+');">Undo Deletion</a> or <a onclick="Post.Edit.hideUndo('+pPostGuid+');">Hide</a></div></div>').toNodes());});BL.AJAX.request("http://www.sircleit.com/action/delete/",{data:[{name:'guid',value:pPostGuid}],failure:function()
{Controls.Entity.foreach({guid:pPostGuid},function(post){SI.remove(post.view+"_"+pPostGuid+"_undo");SI.Vis.show(post.elem);});}});},reAsk:function(pPostGuid)
{var post=Controls.Post.get({guid:pPostGuid});SI.Vis.hide(post,1000);setTimeout(function(){BL.AJAX.request("http://www.sircleit.com/action/post/reask/",{data:[{name:'guid',value:pPostGuid}],success:function()
{for(var i=0,len=post.length;i<len;i++)
{SI.prependChild(Controls.Entity.getView(post[i])+"_posts",post[i]);}},after:function()
{SI.Vis.show(post,SI.Vis.DEFAULT_DISPLAY,1000);}});},1000);},showUpdateBox:function(pPostGuid,pView)
{var post=Controls.Post.get({guid:pPostGuid,view:pView});if(!SI.isNotEmptyArrayOrNodeList(post)){return;}
post=post[0];var desc=SI.getByClassName("description","div",post)[0];var desc_width=UI.Dimensions.width(desc);if(pView=="everyone")
{desc=desc;}
else
{desc=SI.getByTagName("a",desc)[0];}
var desc_input=document.createElement("textarea");desc_input.style.width=(desc_width-10)+"px";desc_input.style.height=UI.Dimensions.height(desc)+"px";desc_input.innerHTML=desc.innerHTML.trim();desc_input.id=pView+"_"+pPostGuid+"_desc_input";desc_input.onblur=function(e){Post.Edit.updateDescription(pPostGuid,this.value.trim());SI.remove(this);SI.Vis.show(desc);};desc_input.onkeypress=function(e){if(UI.Keyboard.isEnter(e))
{this.onblur(e);}
else if(UI.Keyboard.isEscape(e))
{SI.remove(this);SI.Vis.show(desc);}};SI.Vis.hide(desc);SI.prependChild(desc.parentNode,desc_input);$(desc_input).expandable({within:1,by:1});desc_input.focus();desc_input.select();},updateDescription:function(pPostGuid,pDescription)
{var prev_desc="";Controls.Entity.foreach({guid:pPostGuid},function(post){var desc=SI.getByClassName("description","div",post.elem)[0];if(!UI.View.isEveryone(post.view)){desc=SI.getByTagName("a",desc)[0];}
if(prev_desc.isEmpty())
{prev_desc=desc.innerHTML;if(prev_desc==pDescription){return;}}
desc.innerHTML=pDescription;});BL.AJAX.request("http://www.sircleit.com/action/post/updatedesc/",{data:[{name:'guid',value:pPostGuid},{name:'desc',value:pDescription}],success:function(pObject,pReceivedData)
{Controls.Entity.foreach({guid:pPostGuid},function(post){var desc=SI.getByClassName("description","div",post.elem)[0];if(!UI.View.isEveryone(post.view)){desc=SI.getByTagName("a",desc)[0];}
desc.innerHTML=pReceivedData.msg;});},failure:function()
{Controls.Entity.foreach({guid:pPostGuid},function(post){var desc=SI.getByClassName("description","div",post.elem)[0];if(UI.View.isEveryone(post.view)){desc=SI.getByTagName("a",desc)[0];}
desc.innerHTML=prev_desc;});}});}};}());})();
(function(){SI.register("SI.UI.Controls.Reply.Poll","Reply.Poll",function()
{var prefixes=["friend_","public_","profile_","everyone_","external_","recent_"];return{check:function(pIsChecked,pRadio,pRadioInput,pPrevSelectedRadio,pParams)
{if(pIsChecked)
{Reply.Poll.select(pParams[0],pParams[1],pRadio,pPrevSelectedRadio);pRadio.title="Click here to undo vote";}
else
{Reply.Poll.unselect(pParams[2],pParams[0],pParams[1],pRadio);pRadio.title="Click here to vote";}
if(SI.isDOMElement(pPrevSelectedRadio))
{pPrevSelectedRadio.title="Click here to vote";}},select:function(pPostGuid,pInitiatorPrefix,pRadio,pPrevSelectedRadio)
{BL.Action.invoke({secure:true,perms:"email",params:{post_guid:pPostGuid,init_prefix:pInitiatorPrefix,radio:pRadio,prev_radio:pPrevSelectedRadio},prepare:function(pStack)
{var s=pStack;var p=s.params;s.selected_answer=UI.Radio.value(p.radio).toInt();s.prev_selected_answer=SI.isDOMElement(p.prev_radio)?UI.Radio.value(p.prev_radio).toInt():-1;s.posts=Controls.Entity.getData({guid:p.post_guid});SI.foreach(s.posts,function(post){UI.Radio.check(post.prefix+post.guid+"_post_answer_"+s.selected_answer,true);var chart=Charts.Column.get(post.elem);Charts.Column.addValue(chart,s.selected_answer,1);if(s.prev_selected_answer>=0)
{Charts.Column.addValue(chart,s.prev_selected_answer,-1);}});},action:{url:"http://www.sircleit.com/action/reply/text/",options:{form:function(pStack){return pStack.params.init_prefix+pStack.params.post_guid+"_post_vote";},success:function(pStack,pResponseObject)
{var reply_guid=pResponseObject.data[0].data.guid;Reply.Poll.updateReplyGuid(pStack.params.radio,pStack.params.post_guid,reply_guid,pStack.selected_answer,Controls.Entity.getViews({guid:pStack.params.post_guid}));},failure:function(pStack,pResponseObject)
{var s=pStack;var p=s.params;SI.foreach(s.posts,function(post){var chart=Charts.Column.get(post.elem);Charts.Column.addValue(chart,s.selected_answer,-1);if(s.prev_selected_answer>=0)
{Charts.Column.addValue(chart,s.prev_selected_answer,1);UI.Radio.check(post.prefix+post.guid+"_post_answer_"+s.prev_selected_answer,true);}
else
{UI.Radio.check(post.prefix+post.guid+"_post_answer_"+s.selected_answer,false);}});}}}});},unselect:function(pReplyGuid,pPostGuid,pInitiatorPrefix,pRadio)
{var unselected_answer=parseInt(UI.Radio.value(pRadio));var fprefixes=SI.filterElements(Controls.Entity.getPrefixes({guid:pPostGuid}),function(prefix){return SI.isDOMElement(SI.get(prefix+pPostGuid+"_post_answer_"+unselected_answer));});SI.foreach(fprefixes,function(prefix)
{UI.Radio.check(prefix+pPostGuid+"_post_answer_"+unselected_answer,false);var chart=Charts.Column.get(prefix+pPostGuid+"_post");Charts.Column.addValue(chart,unselected_answer,-1);});BL.AJAX.request("http://www.sircleit.com/action/delete/",{data:[{name:"guid",value:pReplyGuid}],failure:function()
{SI.foreach(fprefixes,function(prefix)
{UI.Radio.check(prefix+pPostGuid+"_post_answer_"+unselected_answer,true);});var chart=Charts.Column.get(prefix+pPostGuid+"_post");Charts.Column.addValue(chart,unselected_answer,1);}});},updateReplyGuid:function(pRadio,pPostGuid,pReplyGuid,pSelectedAnswer,pPrefixes)
{var onclick=pRadio.getAttribute("onclick");var start=onclick.indexOf("[");var end=onclick.indexOf("]");var cur_params=eval(onclick.substring(start,end+1));var new_on_click=onclick.substring(0,start)+"["+cur_params[0]+",'"+cur_params[1]+"',"+pReplyGuid+"]"+
onclick.substring(end+1);SI.foreach(pPrefixes,function(prefix)
{var radio=SI.get(prefix+pPostGuid+"_post_answer_"+pSelectedAnswer);if(SI.isDOMElement(radio)){radio.setAttribute("onclick",new_on_click);}});}};}());})();
(function(){SI.register("SI.UI.Controls.Complex.Dialogs.Sircle","Dialogs.Sircle",function()
{var prefix_len="dialog_sircle_member_".length;$(document).ready(function(){Controls.Dialog.init("sircle_dialog",{type:Controls.Dialog.TYPE_BOX,content:"sircle_dialog_content",modal:true,width:"500px",outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"save",label:"Save Sircle",type:Controls.Button.TYPE_LOGIN,handlers:{process:save_sircle}},{id:"cancel",label:"Cancel",type:Controls.Button.TYPE_CANCEL,handlers:{process:clear_unsaved_changes}}]});});var save_sircle=function()
{var sircle_guid=Dialogs.Sircle.currentSircle;var add_members=SI.getByClassName("add","li","members_list");var remove_members=SI.getByClassName("remove","li","members_list");if(add_members.length==0&&remove_members.length==0)
{Controls.Dialog.close("sircle_dialog");return;}
var data_object=[];data_object.push({name:"guid",value:sircle_guid});for(var i=0,len=add_members.length;i<len;i++){data_object.push({name:"add[]",value:add_members[i].id.right(prefix_len)});}
for(var i=0,len=remove_members.length;i<len;i++){data_object.push({name:"remove[]",value:remove_members[i].id.right(prefix_len)});}
BL.AJAX.request("http://www.sircleit.com/action/sircles/save/",{data:data_object,parallel:true,success:function()
{var sircle_name=Controls.Dialog.getTitle("sircle_dialog").trim();for(var i=0,len=add_members.length;i<len;i++)
{var user_guid=add_members[i].id.right(prefix_len);var user_name=SI.getByClassName("user-name","span",add_members[i])[0].innerHTML.trim().filterTags("b");var first_name=user_name.left(user_name.indexOf(" "));var last_name=user_name.right(user_name.indexOf(" "));Sircles.Pub.publish(Sircles.Pub.EVENT_ADD_MEMBER,{sircle:{guid:sircle_guid,name:sircle_name},member:{guid:user_guid,firstName:first_name,lastName:last_name}});UI.Style.replaceClassName(add_members[i],"add",sircle_guid);}
for(var i=0,len=remove_members.length;i<len;i++){var user_guid=remove_members[i].id.right(prefix_len);var user_name=SI.getByClassName("user-name","span",remove_members[i])[0].innerHTML.trim().filterTags("b");var first_name=user_name.left(user_name.indexOf(" "));var last_name=user_name.right(user_name.indexOf(" "));Sircles.Pub.publish(Sircles.Pub.EVENT_REMOVE_MEMBER,{sircle:{guid:sircle_guid,name:sircle_name},member:{guid:user_guid,firstName:first_name,lastName:last_name}});UI.Style.removeClassName(remove_members[i],"remove");UI.Style.removeClassName(remove_members[i],sircle_guid);}},after:function()
{}});};var clear_unsaved_changes=function()
{var add_members=SI.getByClassName("add","li","members_list");var remove_members=SI.getByClassName("remove","li","members_list");for(var i=0,len=add_members.length;i<len;i++){UI.Style.removeClassName(add_members[i],"add");}
for(var i=0,len=remove_members.length;i<len;i++){UI.Style.removeClassName(remove_members[i],"remove");}}
var select_specified_sircle=function(pSircleGuid)
{SI.manipulateElements(SI.getByTagName("li","members_list"),function(listItem)
{return UI.Style.hasClassName(listItem,pSircleGuid);},function(listItem)
{UI.Style.addClassName(listItem,"selected");},function(listItem)
{UI.Style.removeClassName(listItem,"selected");});};var update_selected_num=function()
{SI.get("selected_filter").innerHTML="Selected ("+SI.getByClassName("selected","li","members_list").length+")";};var load_sircle=function(pGuid)
{SI.get('selected_filter').value='';select_specified_sircle(pGuid);Dialogs.Sircle.filter("members_list","li",Dialogs.Sircle.ALL,"");update_selected_num();Dialogs.Sircle.currentSircle=pGuid;}
return{ALL:"",SELECTED:"selected",CURRENT:"_",IS_LOADED:false,currentSircle:-1,showDialog:function(pSircleName,pGuid)
{Controls.Dialog.open('sircle_dialog',{title:pSircleName,preLoad:function(loadBox){Dialogs.Sircle.load(pGuid,loadBox);}});},filter:function(pContainer,pItemTag,pSelectedGroup,pFilterBy)
{pFilterBy=SI.getDefaultValue(pFilterBy,"").toLowerCase().toSanitisedHTML();pSelectedGroup=SI.getDefaultValue(pSelectedGroup,this.ALL);if(pSelectedGroup!=this.CURRENT)
{var selected_filter=SI.getByClassName("selected","a","sircle_filters")[0];UI.Style.removeClassName(selected_filter,"selected");switch(pSelectedGroup)
{case this.ALL:UI.Style.addClassName("all_filter","selected");break;case this.SELECTED:UI.Style.addClassName("selected_filter","selected");break;}}
var all_users=SI.getByTagName(pItemTag,pContainer);SI.manipulateElements(all_users,function(listItem)
{var sub_phrases=SI.getByClassName('user-name','*',listItem)[0].innerHTML.trim().filterTags("b").toLowerCase().phrases(" ");for(var i=0,length=sub_phrases.length;i<length;i++)
{if(sub_phrases[i].trim()!=""&&sub_phrases[i].startsWith(pFilterBy)){return true;}}
return false;},function(listItem)
{SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b").setBold(pFilterBy);SI.Vis.show(listItem);},function(listItem)
{SI.Vis.hide(listItem);SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b");});if(pSelectedGroup!=this.ALL)
{SI.Vis.hide(SI.filterElements(all_users,function(element){return!UI.Style.hasClassName(element,"selected");}));}
this.order();this.CURRENT=pSelectedGroup;},load:function(pGuid,pCallbackHandler,pFlush)
{pFlush=SI.getDefaultValue(pFlush,false);if(pFlush||!this.IS_LOADED)
{var friends_list=SI.getByTagName("ul","members_list")[0];SI.Vis.hide(friends_list);SI.remove(friends_list.childNodes);BL.AJAX.request("http://www.sircleit.com/action/friends/get/",{data:[],success:function(pObject,pReceivedData)
{BL.AJAX.request("http://www.sircleit.com/action/sircles/get/",{data:[],parallel:true,success:function(pObject,pReceivedData)
{var memberships=pReceivedData.data[0].data.memberships;for(var user_guid in memberships)
{var friend_item=SI.get("dialog_sircle_member_"+user_guid);UI.Style.clearClassName(friend_item);for(var i=0,len=memberships[user_guid].length;i<len;i++)
{UI.Style.addClassName(friend_item,memberships[user_guid][i]);}}
load_sircle(pGuid);Dialogs.Sircle.IS_LOADED=true;},after:function()
{SI.Vis.show(friends_list);if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}}});},failure:function()
{SI.Vis.show(friends_list);},render:{prefix:"sircle_dialog_",target:friends_list}});}
else
{load_sircle(pGuid);if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}}},select:function(pFriendItem)
{UI.Style.switchClassName(pFriendItem,"selected","");var is_selected=UI.Style.hasClassName(pFriendItem,"selected");if(is_selected)
{if(UI.Style.hasClassName(pFriendItem,"remove"))
{UI.Style.removeClassName(pFriendItem,"remove");}
else if(!UI.Style.hasClassName(pFriendItem,"add"))
{UI.Style.addClassName(pFriendItem,"add");}}
else
{if(UI.Style.hasClassName(pFriendItem,"add"))
{UI.Style.removeClassName(pFriendItem,"add");}
else if(!UI.Style.hasClassName(pFriendItem,"remove"))
{UI.Style.addClassName(pFriendItem,"remove");}}
if(Dialogs.Sircle.CURRENT==Dialogs.Sircle.SELECTED)
{SI.Vis.set(pFriendItem,is_selected,"",500);}
update_selected_num();},sort:function()
{SI.foreach([].fill(SI.getByTagName("li","members_list")).sort(function(friendItem1,friendItem2)
{var friend1_name=SI.getByClassName("user-name","span",friendItem1)[0].innerHTML;var friend2_name=SI.getByClassName("user-name","span",friendItem2)[0].innerHTML;return(friend1_name>friend2_name)?-1:((friend1_name==friend2_name)?0:1);}),function(friendItem){SI.prependChild(SI.getByTagName("ul","members_list")[0],friendItem);});},order:function()
{this.sort();SI.foreach(SI.reverse(SI.getByClassName("selected","li","members_list")),function(friendItem){SI.prependChild(SI.getByTagName("ul","members_list")[0],friendItem);});}};}());})();
(function(){SI.register("SI.UI.Controls.Complex.Dialogs.Friends","Dialogs.Friends",function()
{var current_user_guid="";$(document).ready(function(){Controls.Dialog.init("friends_dialog",{type:Controls.Dialog.TYPE_BOX,content:"friends_dialog_content",modal:true,width:"404px",outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"close",label:"Close",type:Controls.Button.TYPE_CANCEL,handlers:{process:function(){if(SI.Vis.isVisible("dialog_sircles_menu"))
{var open_menu_trigger=SI.get("dialog_add_"+SI.get('dialog_sircles_friend_guid').value+"_trigger");if(SI.isDOMElement(open_menu_trigger))
{SI.Ability.enable(open_menu_trigger);open_menu_trigger.onclick(e);SI.Ability.remove(open_menu_trigger);}}}}}]});SI.Events.addListner(document,"click",function(e){if(SI.Vis.isVisible("dialog_sircles_menu")&&!Controls.Dialog.isOpen("dialog")){var dialog_user_guid=SI.get('dialog_sircles_friend_guid').value;if(!SI.isAncestor(UI.Mouse.getTargetItem(e),"dialog_sircles_menu")&&!SI.isAncestor(UI.Mouse.getTargetItem(e),"dialog_add_user_"+dialog_user_guid))
{SI.get("dialog_add_"+dialog_user_guid+"_trigger").onclick(e);}}},false);});var successful_load=function(pSelectedGroup,pResponseObj)
{if(SI.isArray(pResponseObj.data))
{var sircles_data=SI.filterElements(pResponseObj.data,function(element){return element.type=="potential_sircle";});UI.Sircle.enrichList("dialog_sircles","daf_",sircles_data,"dialog_");}
SI.get('friends_filter').value='';Dialogs.Friends.filter('friends_list','li',pSelectedGroup,'');};return{EVERYONE:"",MUTUAL:"mutual",UNFAMILIAR:"stranger",LOGGED:"logged",CURRENT:"_",FRIENDS_OWNER:current_user_guid,showDialog:function(pName,pGuid,pSelectedGroup)
{Controls.Dialog.open('friends_dialog',{title:pName+' Friends',preLoad:function(loadBox){Dialogs.Friends.load(pGuid,pSelectedGroup,loadBox);}});},filter:function(pContainer,pItemTag,pSelectedGroup,pFilterBy)
{pFilterBy=SI.getDefaultValue(pFilterBy,"").toLowerCase().toSanitisedHTML();pSelectedGroup=SI.getDefaultValue(pSelectedGroup,this.EVERYONE);if(pSelectedGroup!=this.CURRENT)
{var selected_filter=SI.getByClassName("selected","a","friends_filters")[0];UI.Style.removeClassName(selected_filter,"selected");switch(pSelectedGroup)
{case this.EVERYONE:UI.Style.addClassName("everyone_filter","selected");break;case this.MUTUAL:UI.Style.addClassName("mutual_filter","selected");break;case this.UNFAMILIAR:UI.Style.addClassName("unfamiliar_filter","selected");break;}}
var all_users=SI.getByClassName(this.EVERYONE,pItemTag,pContainer);SI.manipulateElements(all_users,function(listItem)
{var sub_phrases=SI.getByClassName('user-name','*',listItem)[0].innerHTML.trim().filterTags("b").toLowerCase().phrases(" ");for(var i=0,length=sub_phrases.length;i<length;i++)
{if(sub_phrases[i].trim()!=""&&sub_phrases[i].startsWith(pFilterBy)){return true;}}
return false;},function(listItem)
{SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b").setBold(pFilterBy);SI.Vis.show(listItem);},function(listItem)
{SI.Vis.hide(listItem);SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b");});if(pSelectedGroup!=this.EVERYONE)
{switch(pSelectedGroup)
{case this.MUTUAL:SI.Vis.hide(SI.getByClassName(this.UNFAMILIAR,pItemTag,pContainer));SI.Vis.hide(SI.getByClassName(this.LOGGED,pItemTag,pContainer));break;case this.UNFAMILIAR:SI.Vis.hide(SI.getByClassName(this.MUTUAL,pItemTag,pContainer));SI.Vis.hide(SI.getByClassName(this.LOGGED,pItemTag,pContainer));break;}}
SI.alternate(SI.filterElements(all_users,function(element){return SI.Vis.isVisible(element);}));this.CURRENT=pSelectedGroup;},load:function(pGuid,pSelectedGroup,pCallbackHandler)
{pSelectedGroup=SI.getDefaultValue(pSelectedGroup,this.EVERYONE);if(pGuid==current_user_guid)
{SI.get('friends_filter').value='';this.filter('friends_list','li',pSelectedGroup,'');if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}
if(SI.getByTagName("li","friends_list").length==0)
{Controls.Dialog.close("friends_dialog",{outEffect:Controls.Dialog.EFFECT_NONE});Controls.Dialog.error("User don't have any friends yet.",{title:"Information"});}}
else
{SI.appendChild("friends_list","dialog_sircles_menu");var friends_items_container=SI.getByTagName("ul","friends_list")[0];SI.remove(SI.getByClassName(this.MUTUAL,"li",friends_items_container));SI.remove(SI.getByClassName(this.UNFAMILIAR,"li",friends_items_container));SI.remove(SI.getByClassName(this.LOGGED,"li",friends_items_container));BL.AJAX.request("http://www.sircleit.com/action/friends/get/",{data:[{name:'guid',value:pGuid}],object:pSelectedGroup,parallel:true,success:successful_load,after:function(pSelectedGroup,pResponseObj)
{if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}
if(SI.getByTagName("li","friends_list").length==0)
{Controls.Dialog.close("friends_dialog",{outEffect:Controls.Dialog.EFFECT_NONE});Controls.Dialog.error("User don't have any friends yet.",{title:"Information"});}},render:{prefix:"dialog_",target:{targets:{potential_friend:{target:friends_items_container},requested_friend:{target:friends_items_container},mutual_friend:{target:friends_items_container},logged_friend:{target:friends_items_container}}}}});current_user_guid=pGuid;}}};}());})();
(function(){SI.register("SI.UI.Controls.Complex.Dialogs.Poll","Dialogs.Poll",function()
{var current_poll_guid="";$(document).ready(function(){Controls.Dialog.init("poll_dialog",{type:Controls.Dialog.TYPE_BOX,content:"poll_dialog_content",modal:true,width:"434px",outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"close",label:"Close",type:Controls.Button.TYPE_CANCEL,handlers:{process:function(e){if(SI.Vis.isVisible("dialog_sircles_menu"))
{var open_menu_trigger=SI.get("dialog_add_"+SI.get('dialog_sircles_friend_guid').value+"_trigger");if(SI.isDOMElement(open_menu_trigger))
{SI.Ability.enable(open_menu_trigger);open_menu_trigger.onclick(e);SI.Ability.remove(open_menu_trigger);}}}}}]});SI.Events.addListner(document,"click",function(e){if(SI.Vis.isVisible("dialog_sircles_menu")&&!Controls.Dialog.isOpen("dialog")){var dialog_user_guid=SI.get('dialog_sircles_friend_guid').value;if(!SI.isAncestor(UI.Mouse.getTargetItem(e),"dialog_sircles_menu")&&!SI.isAncestor(UI.Mouse.getTargetItem(e),"dialog_add_user_"+dialog_user_guid))
{SI.get("dialog_add_"+dialog_user_guid+"_trigger").onclick(e);}}},false);});var successful_load=function(pOption,pResponseObj)
{if(SI.isArray(pResponseObj.data)&&SI.isExist("dialog_sircles"))
{var sircles_data=SI.filterElements(pResponseObj.data,function(element){return element.type=="potential_sircle";});UI.Sircle.enrichList("dialog_sircles","daf_",sircles_data,"dialog_");}
SI.get('poll_users_filter').value='';Dialogs.Poll.filter('poll_users_list','li',pOption);};return{CURRENT_VOTE:"_",CURRENT_ONLY_FRIENDS:"_",showDialog:function(pGuid,pOption,pOptionsNum)
{for(var i=1;i<=3;i++){SI.Vis.set("option"+i+"_filter",i<=pOptionsNum);}
Controls.Dialog.open('poll_dialog',{title:"Poll Votes",preLoad:function(loadBox){Dialogs.Poll.load(pGuid,pOption,loadBox);}});},filter:function(pContainer,pItemTag,pOption,pFilterBy,pOnlyFriends)
{pOption=SI.getDefaultValue(pOption,1);pFilterBy=SI.getDefaultValue(pFilterBy,"").toLowerCase().toSanitisedHTML();pOnlyFriends=SI.getDefaultValue(pOnlyFriends,false);if(pOption!=this.CURRENT_VOTE)
{var selected_filter=SI.getByClassName("selected","a","poll_users_filters")[0];UI.Style.removeClassName(selected_filter,"selected");UI.Style.addClassName("option"+pOption+"_filter","selected");}
if(pOnlyFriends!=this.CURRENT_ONLY_FRIENDS){UI.New_Checkbox.check("only_friends_votes",pOnlyFriends);}
var all_users=SI.getByTagName(pItemTag,pContainer);SI.manipulateElements(all_users,function(listItem)
{var sub_phrases=SI.getByClassName('user-name','*',listItem)[0].innerHTML.trim().filterTags("b").toLowerCase().phrases(" ");for(var i=0,length=sub_phrases.length;i<length;i++)
{if(sub_phrases[i].trim()!=""&&sub_phrases[i].startsWith(pFilterBy)){return true;}}
return false;},function(listItem)
{SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b").setBold(pFilterBy);SI.Vis.show(listItem);},function(listItem)
{SI.Vis.hide(listItem);SI.getByClassName('user-name','*',listItem)[0].innerHTML=SI.getByClassName('user-name','*',listItem)[0].innerHTML.filterTags("b");});for(var i=1;i<=3;i++)
{if(i!=pOption){SI.Vis.hide(SI.getByClassName("c"+i,pItemTag,pContainer));}}
if(pOnlyFriends){SI.Vis.hide(SI.getByClassName("stranger",pItemTag,pContainer));}
SI.alternate(SI.filterElements(all_users,function(element){return SI.Vis.isVisible(element);}));this.CURRENT_VOTE=pOption;this.CURRENT_ONLY_FRIENDS=pOnlyFriends;},load:function(pGuid,pOption,pCallbackHandler)
{pOption=SI.getDefaultValue(pOption,1);if(pGuid==current_poll_guid)
{SI.get('poll_users_filter').value='';this.filter('poll_users_list','li',pOption);if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}
if(SI.getByTagName("li","poll_users_list").length==0)
{Controls.Dialog.close("poll_dialog",{outEffect:Controls.Dialog.EFFECT_NONE});Controls.Dialog.error("Poll don't have any votes yet.",{title:"Information"});}}
else
{SI.appendChild("poll_users_list","dialog_sircles_menu");var friends_items_container=SI.getByTagName("ul","poll_users_list")[0];SI.remove(SI.getByTagName("li",friends_items_container));BL.AJAX.request("http://www.sircleit.com/action/post/poll/getvotes/",{data:[{name:'guid',value:pGuid}],object:pOption,parallel:true,success:successful_load,after:function(pOption,pResponseObj)
{if(SI.isCallable(pCallbackHandler)){pCallbackHandler();}
if(SI.getByTagName("li","poll_users_list").length==0)
{Controls.Dialog.close("poll_dialog",{outEffect:Controls.Dialog.EFFECT_NONE});Controls.Dialog.error("Poll don't have any votes yet.",{title:"Information"});}},render:{prefix:"poll_dialog_",target:{targets:{friend:{target:friends_items_container},requested:{target:friends_items_container},stranger:{target:friends_items_container}}}}});current_poll_guid=pGuid;}}};}());})();
function initiate_sircle_users_list(sircle_id)
{if(document.getElementById(sircle_id+'_friends_menu')==null)
{create_sircle_users_list(sircle_id);Sircles.ListMembers.subscribe(sircle_id+"_friends",sircle_id);}}
function create_sircle_users_list(sircle_id)
{var sircles_menus=document.getElementById('sircles_menus');var menu_template=SI.get('$sircle_id$_friends_menu');var new_menu=menu_template.cloneNode(true);var new_menu_str=SI.getOuterHTML(new_menu);new_menu_str=new_menu_str.replace(/\$sircle_id\$/gi,sircle_id);sircles_menus.appendChild(SI.getChildElements(new_menu_str.toNodes())[0]);begin_get_and_insert_sircle_friends(sircle_id);}
function begin_get_and_insert_sircle_friends(sircle_id)
{SI.get(sircle_id+"_friends_menu_content").innerHTML+='<div id="'+sircle_id+'_loader" style="text-align: center;"><br/ ><img src="http://img.sircleit.com/graphics/default/loaders/2.gif" alt="" /><br/ ><br/ ></div>';var friendsJSON=$.ajax({type:"GET",url:"http://www.sircleit.com/action/get_friends/",data:$("#security_form").formSerialize()+"&sircle_id="+sircle_id,async:true,success:function(friends){document.getElementById(sircle_id+"_friends_menu_content").removeChild(document.getElementById(sircle_id+'_loader'));SI.Vis.show(sircle_id+"_friends_select_all_container");SI.Vis.show(sircle_id+"_friends_filter");insert_friends_to_list(sircle_id,JSON.parse(friends));var is_checked_sircle=UI.Checkbox.isChecked(sircle_id+"_sircle");var users_num=UI.Checkbox.checkAll(null,document.getElementById(sircle_id+'_friends_menu'),is_checked_sircle)-1;document.getElementById(sircle_id+"_friends_counter").value='['+((is_checked_sircle)?users_num:'0')+','+users_num+']';auto_width(sircle_id+'_friends_container',UI.Dimensions.width(SI.get(sircle_id+"_friends_menu_content"))-12);}});}
function insert_friends_to_list(sircle_id,sircle_friends)
{var user_items_parent=document.getElementById(sircle_id+'_friends').getElementsByTagName('tbody')[0];var list_item_template=user_items_parent.getElementsByTagName('td')[0];var user_item_template=document.getElementById('$sircle_id$_friends_user_$friend_id$_container');var user_item_template_str=SI.getOuterHTML(user_item_template);user_item_template_str=user_item_template_str.replace(/display:[ ]none/i,"").replace(/user\[\]/);user_items_parent.deleteRow(0);for(var i=0,len=sircle_friends.length;i<len;i++)
{var new_user_item=user_item_template_str;new_user_item=new_user_item.replace(/\$friend_id\$/gi,sircle_friends[i].id);new_user_item=new_user_item.replace(/\$friend_name\$/gi,sircle_friends[i].name);new_user_item=new_user_item.replace(/\$sircle_id\$/gi,sircle_id);var row=user_items_parent.insertRow(-1);var cell=row.insertCell(-1);SI.cloneProperties(list_item_template,cell,["class","style"]);cell.innerHTML=new_user_item;}}
function update_checked(sircle_id,diff)
{var selected_users_counter=document.getElementById(sircle_id+'_friends_counter');var selected_users=JSON.parse(selected_users_counter.value);selected_users[0]+=diff;selected_users_counter.value='['+selected_users[0]+','+selected_users[1]+']';if(selected_users[0]==0)
return-1;else if(selected_users[0]<selected_users[1])
return 0;else
return 1;}
function sort_list(list_id)
{var elements=[];var list_cells=SI.getByClassName("list-item","td",list_id);for(var i=0,length=list_cells.length;i<length;i++){elements[i]=list_cells[i].parentNode;}
if(elements.length>0)
{var checkboxes_states=save_checkboxes_states(elements);var elements_container=elements[0].parentNode;var checked_elements=elements.filter(checked_predicat);var unchecked_elements=elements.filter(unchecked_predicat);Sorting.QSort.sort(checked_elements,item_equal);Sorting.QSort.sort(unchecked_elements,item_equal);clear_childs(elements_container);fill_childs(elements_container,checked_elements);fill_childs(elements_container,unchecked_elements);update_checkboxes_states(elements,checkboxes_states);}}
function checked_predicat(item)
{return item.getElementsByTagName("input")[0].checked;}
function unchecked_predicat(item)
{return!checked_predicat(item);}
function save_checkboxes_states(checkboxes_containers)
{var states=[];for(var i=0,len=checkboxes_containers.length;i<len;i++){states[i]=checkboxes_containers[i].getElementsByTagName("input")[0].checked;}
return states;}
function update_checkboxes_states(checkboxes_containers,states)
{for(var i=0,len=checkboxes_containers.length;i<len;i++)
{checkboxes_containers[i].getElementsByTagName("input")[0].checked=states[i];}}
function fill_childs(container,inner_elements)
{for(var i=0,len=inner_elements.length;i<len;i++)
container.appendChild(inner_elements[i]);}
function clear_childs(element)
{while(element.childNodes[0]!=null)
element.removeChild(element.childNodes[0]);}
function item_equal(item1,item2)
{return get_item_label(item1).innerHTML.toLowerCase()<=get_item_label(item2).innerHTML.toLowerCase();}
function update_filtered_skills()
{var checked_skills=SI.getByAttribute([{name:"checked",value:true}],"input","public_sircles_menu");var selected_skills="";SI.foreach(checked_skills,function(checkbox){if(!selected_skills.isEmpty()){selected_skills+=", ";}
selected_skills+=SI.get(checkbox.id+"_label").innerHTML;});if(selected_skills.isEmpty()){selected_skills="None";}
SI.get("filter_skills").value=selected_skills.stripHTML().toSanitisedText();}
function hide_items(items_container,item_tag,item_class,filter_value)
{manipulate_list(items_container,item_tag,item_class,hide_item,filter_value);}
function hide_item(items_container,class_name)
{if(UI.Style.hasClassName(items_container,"original")||UI.Style.hasClassName(items_container,class_name))
{UI.Style.removeClassName(items_container,"hidden");}
else
{UI.Style.addClassName(items_container,"hidden");}}
function filter_and_bold(items_container,item_tag,item_class,filter_value)
{filter_value=filter_value.toLowerCase().toSanitisedHTML();manipulate_list(items_container,item_tag,item_class,filter_and_bold_item,filter_value);}
function filter_and_bold_item(items_container,phrase)
{unbold_phrase(items_container);if(set_item_visibility(items_container,{predicat:starts_with_predicat,value:phrase}))
bold_phrase(items_container,phrase);}
function bold_items_phrase(items_container,item_tag,item_class,phrase)
{manipulate_list(items_container,item_tag,item_class,bold_phrase,phrase);}
function bold_phrase(item_container,phrase)
{var item=get_item_label(item_container);item.innerHTML=item.innerHTML.setBold(phrase);}
function unbold_items_phrase(items_container,item_tag,item_class)
{manipulate_list(items_container,item_tag,item_class,unbold_phrase,null);}
function unbold_phrase(item_container)
{var item=get_item_label(item_container);item.innerHTML=item.innerHTML.filterTags("b");}
function starts_with_predicat(item_container,filter_value)
{var item=get_item_label(item_container);var words=item.innerHTML.phrases(" ");for(var i=0,len=words.length;i<len;i++)
if(!words[i].trim().isEmpty()&&words[i].startsWith(filter_value))
return true;return false;}
function is_list_item(obj)
{return(obj!=null&&obj.className=="list_item");}
function get_item_label(item_container)
{return item_container.getElementsByTagName("span")[0];}
(function(){SI.register("SI.UI.Controls.Dialog","Controls.Dialog",function()
{var dialogs={};var open_dialogs={};var open_count=0;var dialogs_container;var modals=[];var default_info_id;var default_confirm_id;var default_error_id;var default_input_id;var get_dialog=function(pDialogId)
{return((typeof(pDialogId)!="string")?"dialog":pDialogId);};var build_bar=function(pDialogId,pOptions)
{var bar=document.createElement("div");bar.id=pDialogId;bar.className="dialog bar";bar.style.display="none";var win=document.createElement("div");win.className="win";win.style.width=pOptions.width;switch(pOptions.hor)
{case"left":bar.className+=" left";break;case"right":bar.className+=" right";break;case"center":default:win.className+=" center-me";break;}
var data=document.createElement("div");data.className="data";var content=document.createElement("div");content.className="content";if(SI.isDefinedAndNotNull(pOptions.content))
{pOptions.content=SI.get(pOptions.content);SI.Vis.show(pOptions.content);SI.appendChild(content,pOptions.content);}
else if(SI.isString(pOptions.message))
{content.innerHTML=pOptions.message;}
SI.appendChild(data,content);SI.appendChild(data,'<i class="left"></i><i class="right"></i>'.toNodes());SI.appendChild(win,data);SI.appendChild(win,'<div class="footer"><i class="left"></i><i class="right"></i></div>'.toNodes());SI.appendChild(win,('<div class="close" onclick="Controls.Dialog.close(\''+pDialogId+'\'); SI.Events.stopPropagation(event);">x</div>').toNodes());SI.appendChild(bar,win);return bar;};var build_box=function(pDialogId,pOptions)
{var box=document.createElement("div");box.id=pDialogId;box.className="dialog box";box.style.display="none";var win=document.createElement("div");win.className="win";win.style.width=pOptions.width;switch(pOptions.hor)
{case"left":box.className+=" left";break;case"right":box.className+=" right";break;case"center":default:win.className+=" center-me";break;}
var data=document.createElement("div");data.className="data";SI.appendChild(data,'<div class="loader"><img src="http://img.sircleit.com/graphics/default/loaders/5.gif" alt="" title="Loading..." /><span class="middle">Loading...</span></div>'.toNodes());var data_container=document.createElement("div");data_container.className="container";SI.appendChild(data_container,('<div class="title">'+pOptions.title+'</div>').toNodes());var content=document.createElement("div");content.className="content";if(SI.isDefinedAndNotNull(pOptions.content))
{pOptions.content=SI.get(pOptions.content);SI.Vis.show(pOptions.content);SI.appendChild(content,pOptions.content);}
else if(SI.isString(pOptions.message))
{content.innerHTML=pOptions.message;}
SI.appendChild(data_container,content);var close_button_id;var buttons=document.createElement("div");buttons.className="buttons";pOptions.buttons=SI.getDefaultValue(pOptions.buttons,[]);for(var i=0,len=pOptions.buttons.length;i<len;i++)
{if(SI.isString(pOptions.buttons[i].id)){pOptions.buttons[i].id=pDialogId+"_"+pOptions.buttons[i].id;}
var button=Controls.Button.build(pOptions.buttons[i]);Controls.Dialog.setButtonOnClick(button,pOptions.buttons[i].handlers,pDialogId);if(pOptions.buttons[i].type==Controls.Button.TYPE_CANCEL){close_button_id=Controls.Button.getId(button);}
SI.appendChild(buttons,button);}
if(pOptions.buttons.length==0)
{buttons.style.display="none";}
SI.appendChild(data_container,buttons);SI.appendChild(data,data_container);SI.appendChild(data,'<i class="left"></i><i class="right"></i>'.toNodes());SI.appendChild(win,'<div class="header"><i class="left"></i><i class="right"></i></div>'.toNodes());SI.appendChild(win,data);SI.appendChild(win,'<div class="footer"><i class="left"></i><i class="right"></i></div>'.toNodes());var close_onclick=SI.isDefinedAndNotNull(close_button_id)?"(Controls.Button.getOnClick('"+close_button_id+"'))(event);":"Controls.Dialog.close('"+pDialogId+"'); SI.Events.stopPropagation(event);";SI.appendChild(win,('<div class="close" onclick="'+close_onclick+'">x</div>').toNodes());SI.appendChild(box,win);return box;};var update_dialog=function(pDialogId,pOptions)
{if(SI.isUndefinedOrNull(pOptions)){return;}
var dialog_options=dialogs[pDialogId].options;var dialog=dialogs[pDialogId].control;if(dialog_options.type==Controls.Dialog.TYPE_BOX)
{if(SI.isString(pOptions.title)){Controls.Dialog.setTitle(pOptions.title,pDialogId);}
if(SI.isString(pOptions.loadMessage)){Controls.Dialog.setLoadMessage(pOptions.loadMessage,pDialogId);}}
if(SI.isDefinedAndNotNull(pOptions.autoHide))
{dialogs[pDialogId].options.autoHide=pOptions.autoHide;}
if(SI.isString(pOptions.message))
{Controls.Dialog.setMessage(pOptions.message,pDialogId);}
else if(SI.isDefinedAndNotNull(pOptions.content))
{var content=SI.getByClassName("content","div",dialog)[0];content.innerHTML="";SI.appendChild(content,pOptions.content);}};var get_middle_top=function(pDialogHeight)
{var body_height=UI.Dimensions.height(document.body);var screen_height=UI.Screen.height();var ref_height=body_height;if(body_height==0){ref_height=screen_height;}else if(screen_height==0){ref_height=body_height;}else{ref_height=Math.min(body_height,screen_height);}
if(ref_height==0)
{return 200;}
else
{return((ref_height-pDialogHeight)/2)+(!BL.Page.inFrame()?0:UI.Scrollbar.top());}};var before_load=function(pDialogId)
{var dialog_options=dialogs[pDialogId].options;var dialog=dialogs[pDialogId].control;var dialog_height=UI.Dimensions.height(dialog);dialog.style.height=dialog_height+"px";var animate_options;if(SI.isNumber(dialog_options.ver))
{dialog.style.top=dialog_options.ver+"px";}
else
{switch(dialog_options.ver)
{case"top":dialog.style.top=(dialog_options.inEffect!=Controls.Dialog.EFFECT_FLY)?0:-dialog_height+"px";dialog.style.bottom="";animate_options={top:0};break;case"bottom":dialog.style.bottom=(dialog_options.inEffect!=Controls.Dialog.EFFECT_FLY)?0:-dialog_height+"px";dialog.style.top="";animate_options={bottom:0};break;case"middle":dialog.style.top=get_middle_top(dialog_height)+"px";dialog.style.bottom="";break;}}
if(dialog_options.type==Controls.Dialog.TYPE_BOX)
{SI.Vis.hide(SI.getByClassName("container","div",dialog)[0]);SI.Vis.hide(SI.getByClassName("close","div",dialog)[0]);SI.Vis.show(SI.getByClassName("loader","div",dialog)[0]);}
if(dialog_options.modal){Controls.Dialog.showModal(dialog.style.zIndex-1);}
switch(dialog_options.inEffect)
{case Controls.Dialog.EFFECT_FLY:SI.Vis.show(dialog);$(dialog).animate(animate_options,500);break;case Controls.Dialog.EFFECT_FADE:SI.Vis.show(dialog,SI.Vis.DEFAULT_DISPLAY,500);break;case Controls.Dialog.EFFECT_NONE:default:SI.Vis.show(dialog);break;}};var after_load=function(pDialogId,pOptions)
{var dialog_options=dialogs[pDialogId].options;var dialog=dialogs[pDialogId].control;if(dialog_options.type==Controls.Dialog.TYPE_BOX)
{SI.Vis.hide(SI.getByClassName("loader","div",dialog)[0]);SI.Vis.show(SI.getByClassName("container","div",dialog)[0]);SI.Vis.show(SI.getByClassName("close","div",dialog)[0]);}
if(dialog_options.autoHide)
{dialogs[pDialogId].options.autoHideId=setTimeout(function()
{Controls.Dialog.close(pDialogId);},dialog_options.autoHide);}};return{TYPE_BOX:"box",TYPE_BAR:"bar",EFFECT_NONE:"none",EFFECT_FADE:"fade",EFFECT_FLY:"fly",init:function(pDialogId,pOptions)
{pOptions.hor=SI.getDefaultValue(pOptions.hor,"center");pOptions.type=SI.getDefaultValue(pOptions.type,this.TYPE_BOX);pOptions.modal=SI.getDefaultValue(pOptions.modal,false);pOptions.autoHide=SI.getDefaultValue(pOptions.autoHide,false);pOptions.title=SI.getDefaultValue(pOptions.title,pDialogId.ucwords());pOptions.inEffect=SI.getDefaultValue(pOptions.inEffect,this.EFFECT_NONE);pOptions.outEffect=SI.getDefaultValue(pOptions.outEffect,this.EFFECT_NONE);if(pOptions.autoHide){Math.max(1000,pOptions.autoHide);}
var dialog;switch(pOptions.type)
{case this.TYPE_BOX:pOptions.width=SI.getDefaultValue(pOptions.width,"400px");pOptions.ver=SI.getDefaultValue(pOptions.ver,"middle");dialog=build_box(pDialogId,pOptions);break;case this.TYPE_BAR:pOptions.width=SI.getDefaultValue(pOptions.width,"700px");pOptions.ver=SI.getDefaultValue(pOptions.ver,"top");dialog=build_bar(pDialogId,pOptions);break;}
if(SI.isUndefinedOrNull(dialogs_container)){dialogs_container=document.createElement("div");dialogs_container.className="si-elem";SI.prependChild(document.body,dialogs_container);}
SI.prependChild(dialogs_container,dialog);dialogs[pDialogId]={options:pOptions,control:dialog};},open:function(pDialogId,pOptions)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])){return;}
if(SI.isDefinedAndNotNull(dialogs[pDialogId].options.autoHideId))
{clearTimeout(dialogs[pDialogId].options.autoHideId);dialogs[pDialogId].options.autoHideId=null;}
var dialog_options=dialogs[pDialogId].options;var dialog=dialogs[pDialogId].control;UI.Style.removeClassName(dialog,"disabled");dialog.style.zIndex=Controls.Dialog.getHighestZIndex()+2;update_dialog(pDialogId,pOptions);before_load(pDialogId);if(SI.isDefinedAndNotNull(pOptions)&&SI.isCallable(pOptions.preLoad))
{pOptions.preLoad(function(){after_load(pDialogId,pOptions);});}
else
{after_load(pDialogId,pOptions);}
open_dialogs[pDialogId]=true;setTimeout(function(){open_count++;if(SI.isDefinedAndNotNull(BL)&&SI.isDefinedAndNotNull(BL.Timer)){BL.Timer.pauseAll();}},10);},close:function(pDialogId,pOptions)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])){return;}
var dialog_options=dialogs[pDialogId].options;var dialog=dialogs[pDialogId].control;UI.Style.addClassName(dialog,"disabled");var animate_options;switch(dialog_options.ver)
{case"top":animate_options={top:-UI.Dimensions.height(dialog)};break;case"bottom":animate_options={bottom:-UI.Dimensions.height(dialog)};break;};pOptions=SI.getDefaultValue(pOptions,{});var out_effect=SI.getDefaultValue(pOptions.outEffect,dialog_options.outEffect);switch(out_effect)
{case this.EFFECT_FLY:$(dialog).animate(animate_options,500);break;case this.EFFECT_FADE:SI.Vis.hide(dialog,500);break;case this.EFFECT_NONE:default:SI.Vis.hide(dialog);break;}
if(dialog_options.modal){Controls.Dialog.hideModal();}
open_dialogs[pDialogId]=false;setTimeout(function(){open_count--;if(open_count==0)
{if(SI.isDefinedAndNotNull(BL)&&SI.isDefinedAndNotNull(BL.Timer)){BL.Timer.resumeAll();}}},10);},setMessage:function(pMessage,pDialogId)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])){return;}
SI.getByClassName("content","div",dialogs[pDialogId].control)[0].innerHTML=pMessage;},setTitle:function(pTitle,pDialogId)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])||dialogs[pDialogId].options.type!=this.TYPE_BOX){return;}
SI.getByClassName("title","div",dialogs[pDialogId].control)[0].innerHTML=pTitle;},setLoadMessage:function(pMessage,pDialogId)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])||dialogs[pDialogId].options.type!=this.TYPE_BOX){return;}
SI.getByTagName("span",SI.getByClassName("loader","div",dialogs[pDialogId].control)[0])[0].innerHTML=pMessage;},getButton:function(pButtonId,pDialogId)
{return SI.get(pDialogId+"_"+pButtonId);},setButtonLabel:function(pButton,pLabel)
{if(SI.isUndefinedOrNull(pButton)){return;}
Controls.Button.setLabel(pButton,pLabel);},getButtonOnClick:function(pHandlers,pDialogId)
{pHandlers=SI.getDefaultValue(pHandlers,{});return function(e)
{if(SI.Ability.isDisabled(this)){return;}
var stack={};var valid=true;if(SI.isCallable(pHandlers.validate)){valid=pHandlers.validate(e,stack);}
if(!valid){return;}
Controls.Dialog.close(pDialogId);if(SI.isCallable(pHandlers.process)){pHandlers.process(e,stack);}
SI.Events.stopPropagation(e);};},setButtonOnClick:function(pButton,pHandlers,pDialogId)
{if(SI.isUndefinedOrNull(pButton)){return;}
Controls.Button.setOnClick(pButton,this.getButtonOnClick(pHandlers,pDialogId));},error:function(pError,pOptions)
{if(!SI.isString(pError)||pError.trim()==""){return;}
pOptions=SI.getDefaultValue(pOptions,{});pOptions.title=SI.getDefaultValue(pOptions.title,"Error");pOptions.message=pError;if(SI.isUndefinedOrNull(default_error_id))
{default_error_id="error_"+SI.guid();this.init(default_error_id,{type:Controls.Dialog.TYPE_BOX,modal:false,outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"ok",label:"O.K",type:Controls.Button.TYPE_LOGIN}],autoHide:4000});}
this.open(default_error_id,pOptions);},info:function(pInfo,pTitle)
{if(!SI.isString(pInfo)||pInfo.trim()==""){return;}
if(!SI.isString(pTitle)){pTitle="Information";}
if(SI.isUndefinedOrNull(default_info_id))
{default_info_id="info_"+SI.guid();this.init(default_info_id,{type:Controls.Dialog.TYPE_BAR,inEffect:Controls.Dialog.EFFECT_FLY,outEffect:Controls.Dialog.EFFECT_FADE,autoHide:5000});}
this.setTitle(pTitle,default_info_id);this.setMessage(pInfo,default_info_id);this.open(default_info_id);},confirm:function(pMessage,pHandler,pData,pConfirmButton,pTitle)
{if(!SI.isString(pTitle)){pTitle="Confirmation";}
if(!SI.isString(pConfirmButton)){pTitle="O.K";}
if(SI.isUndefinedOrNull(default_confirm_id))
{default_confirm_id="confirm_"+SI.guid();this.init(default_confirm_id,{type:Controls.Dialog.TYPE_BOX,modal:true,outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"cancel",label:"Cancel",type:Controls.Button.TYPE_CANCEL},{id:"ok",label:pConfirmButton,type:Controls.Button.TYPE_LOGIN}]});}
this.setTitle(pTitle,default_confirm_id);this.setMessage(pMessage,default_confirm_id);var ok_but=this.getButton("ok",default_confirm_id);this.setButtonLabel(ok_but,pConfirmButton);if(SI.isCallable(pHandler)){this.setButtonOnClick(ok_but,{process:function(){pHandler(pData);}},default_confirm_id)}else{this.setButtonOnClick(ok_but,{},default_confirm_id)}
this.open(default_confirm_id);},input:function(pMessage,pHandler,pData,pInputInitValue,pInputButton,pTitle)
{if(!SI.isString(pTitle)){pTitle="Input";}
if(!SI.isString(pInputButton)){pInputButton="O.K";}
if(!SI.isString(pInputInitValue)){pInputInitValue="";}
if(SI.isUndefinedOrNull(default_input_id))
{default_input_id="input_"+SI.guid();this.init(default_input_id,{type:Controls.Dialog.TYPE_BOX,modal:true,outEffect:Controls.Dialog.EFFECT_FADE,buttons:[{id:"cancel",label:"Cancel",type:Controls.Button.TYPE_CANCEL},{id:"ok",label:pInputButton,type:Controls.Button.TYPE_LOGIN}],content:('<div id="'+default_input_id+'_msg"></div><div class="pad1-right"><input id="'+default_input_id+'_input" type="text" class="fwidth" /></div>').toNodes()});}
this.setTitle(pTitle,default_input_id);SI.get(default_input_id+"_msg").innerHTML=pMessage;var input_element=SI.get(default_input_id+"_input");input_element.value=pInputInitValue;var ok_but=this.getButton("ok",default_input_id);this.setButtonLabel(ok_but,pInputButton);if(SI.isCallable(pHandler)){this.setButtonOnClick(ok_but,{process:function(){pHandler(input_element.value,pData);}},default_input_id)}else{this.setButtonOnClick(ok_but,{},default_input_id)}
this.open(default_input_id);setTimeout(function(){input_element.focus();input_element.select();},10);},isOpen:function(pDialogId)
{if(typeof(pDialogId)=="undefined")
{return(open_count>0);}
return(open_dialogs[pDialogId]!=null&&open_dialogs[pDialogId]);},showModal:function(pZIndex)
{var modal=document.createElement("div");modal.className="modal";SI.Vis.hide(modal);SI.prependChild(dialogs_container,modal);if(SI.isDefinedAndNotNull(pZIndex)){modal.style.zIndex=pZIndex;}
modal.style.height=Math.max(UI.Dimensions.height(document.body),UI.Screen.height())+"px";document.getElementsByTagName("html")[0].style.overflow="hidden";modals.push(modal);SI.Vis.show(modal);},hideModal:function()
{SI.Vis.hide(modals.pop());if(modals.length==0){document.getElementsByTagName("html")[0].style.overflow="";}},getTitle:function(pDialogId)
{if(SI.isUndefinedOrNull(dialogs[pDialogId])){return;}
return SI.getByClassName("title","div",dialogs[pDialogId].control)[0].innerHTML;},getHighestZIndex:function()
{var elems=SI.getByTagName("*");var highest=0;SI.foreach(elems,function(e){var zindex=UI.Style.get(e,"z-index");if(zindex!="auto"&&zindex>highest){highest=zindex;}});return highest;}};}());})();
function auto_width(list,min_width)
{if(list==null)
return;var list_obj=SI.get(list);if(list_obj==null||list_obj.style==null)
return;list_obj.style.width='auto';var new_width=UI.Dimensions.width(list_obj);if(UI.Scrollbar.isExist(list_obj))
{new_width+=UI.Scrollbar.width();}
if(min_width!=null&&parseInt(min_width)>0&&parseInt(min_width)>new_width)
new_width=parseInt(min_width);list_obj.style.width=new_width+"px";}
function manipulate_list(items_container,item_tag,item_class,onitem_fn,parameters)
{if(items_container==null)
return;var items=SI.getByClassName(item_class,item_tag,items_container);for(var i=0,len=items.length;i<len;i++)
{onitem_fn(items[i],parameters,i);}}
function filter(items_container,item_tag,item_class,item_predicat,filter_value)
{manipulate_list(items_container,item_tag,item_class,set_item_visibility,{predicat:item_predicat,value:filter_value});}
function set_item_visibility(item_container,params)
{return SI.Vis.set(item_container,params.predicat(item_container,params.value));}
(function(){SI.register("SI.UI.Controls.Steps","Controls.Steps",function()
{return{currentStep:function(pSteps)
{var steps=this.getSteps(pSteps);for(var i=0,length=steps.length;i<length;i++)
{if(steps[i].className=="current"){return i;}}
return steps.length;},getSteps:function(pSteps)
{return SI.getChildElements(pSteps);},next:function(pSteps)
{var steps=this.getSteps(pSteps);var current_index=this.currentStep(pSteps);if(current_index==steps.length-1)
{return;}
else
{if(current_index-1>=0){steps[current_index-1].className="done";}
steps[current_index].className="lastDone";steps[current_index+1].className="current";}},prev:function(pSteps)
{var steps=this.getSteps(pSteps);var current_index=this.currentStep(pSteps);if(current_index==0)
{return;}
else
{if(current_index-2>=0){steps[current_index-2].className="lastDone";}
steps[current_index-1].className="current";steps[current_index].className="next";}}};}());})();
(function(){SI.register("SI.UI.Controls.Wizard","Controls.Wizard",function()
{var jump=function(pWizard,pJumps)
{var screens=SI.UI.Controls.Wizard.getScreens(pWizard);var current_index=SI.UI.Controls.Wizard.currentScreen(pWizard);var new_selected=current_index+pJumps;if(current_index==-1||new_selected<0||new_selected>=screens.length){return;}
SI.Vis.hide(screens[current_index]);SI.Vis.show(screens[new_selected]);};return{currentScreen:function(pWizard)
{var screens=this.getScreens(pWizard);for(var i=0,length=screens.length;i<length;i++)
{if(SI.Vis.isVisible(screens[i])){return i;}}
return-1;},getScreens:function(pWizard)
{return SI.getChildElements(SI.getByClassName("wizard-screen-container","div",pWizard)[0]);},next:function(pWizard,pJumps)
{pJumps=(typeof(pJumps)=="number")?pJumps:1;jump(pWizard,pJumps);},prev:function(pWizard,pJumps)
{pJumps=(typeof(pJumps)=="number")?-pJumps:-1;jump(pWizard,pJumps);},goTo:function(pWizard,pScreenNumber)
{var screens=this.getScreens(pWizard);if(screens.length==0){return;}
pScreenNumber=SI.MATH.min(screens.length-1,SI.MATH.max(0,pScreenNumber));var current_index=this.currentScreen(pWizard);SI.Vis.hide(screens[current_index]);SI.Vis.show(screens[pScreenNumber]);}};}());})();
(function(){SI.register("SI.UI.Controls.Menu.Edit","Menu.Edit",function()
{return{show:function(pEntityGuid,pView,e)
{SI.foreach(SI.getByClassName("edit-menu","div"),function(menu){if(menu.id!=pView+"_"+pEntityGuid+"_edit_menu"){SI.Vis.hide(menu);}});SI.Vis.inverse(pView+"_"+pEntityGuid+"_edit_menu");if(SI.Vis.isVisible(pView+"_"+pEntityGuid+"_edit_menu"))
{Button.Menu.attachBodyHide(pView+"_"+pEntityGuid+"_edit_menu",pView+"_"+pEntityGuid+"_edit_menu_trigger");SI.Events.stopPropagation(e);return false;}}};}());})();
(function(){SI.register("SI.UI.Login","UI.Login",function()
{return{login:function()
{SI.cloneSecurityToken("login_form");SI.get("login_form").submit();},onEnterLogin:function(e)
{if(UI.Keyboard.keyCode(e)==13)
{this.login();return false;}
return true;}};}());})();
(function(){SI.register("SI.BL.Render","BL.Render",function()
{var PROPERTY_REGEX_CACHE={};var TEMPLATES_CACHE={};var CONTAINERS_CACHE=[];var get_template=function(pContainer,pPrefix,pType)
{var container_id=-1;for(var i=0,len=CONTAINERS_CACHE.length;i<len;i++)
{if(CONTAINERS_CACHE[i]==pContainer){container_id=i;}}
if(container_id==-1)
{CONTAINERS_CACHE.push(pContainer);container_id=CONTAINERS_CACHE.length-1;TEMPLATES_CACHE[container_id]={};}
if(SI.isUndefinedOrNull(TEMPLATES_CACHE[container_id][pPrefix+pType]))
{var template_item=SI.get(pPrefix+pType+"_template",pContainer);if(SI.isUndefinedOrNull(template_item)){template_item=SI.get(pPrefix+pType+"_template");}
if(SI.isUndefinedOrNull(template_item)){template_item=SI.get(pType+"_template");}
TEMPLATES_CACHE[container_id][pPrefix+pType]=SI.getOuterHTML(SI.getChildElements(template_item));}
return TEMPLATES_CACHE[container_id][pPrefix+pType];};var find_target_id=function(pItemType,pTargets)
{if(SI.isDefinedAndNotNull(pTargets[pItemType]))
{return pItemType;}
else if(SI.isDefinedAndNotNull(pTargets["default"]))
{return"default";}
else
{return false;}};var get_targets_copy=function(pTargets)
{return(SI.isDefinedAndNotNull(pTargets))?SI.cloneObject(pTargets):null;};var update_targets_properties=function(pTargets,pPropertyId,pPropertyValue)
{if(SI.isDefinedAndNotNull(pTargets))
{for(var item_type in pTargets)
{if(SI.isString(pTargets[item_type].target))
{pTargets[item_type].target=pTargets[item_type].target.replace(PROPERTY_REGEX_CACHE[pPropertyId],pPropertyValue);}
if(SI.isDefinedAndNotNull(pTargets[item_type].targets))
{update_targets_properties(pTargets[item_type].targets,pPropertyId,pPropertyValue);}}}};return{clearCache:function()
{TEMPLATES_CACHE={};CONTAINERS_CACHE=[];},toHTML:function(pData,pOptions)
{if(SI.isUndefinedOrNull(pData)||SI.isUndefinedOrNull(pData.length)||pData.length===0)
{return;}
pOptions=SI.getDefaultValue(pOptions,{});pOptions.index=SI.getDefaultValue(pOptions.index,0);pOptions.templateContainer=SI.getDefaultValue(SI.get(pOptions.templateContainer),document);pOptions.show=SI.getDefaultValue(pOptions.show,{});pOptions.show.effect=SI.getDefaultValue(pOptions.show.effect,"fade");pOptions.show.time=SI.getDefaultValue(pOptions.show.time,1000);pOptions.target=SI.get(pOptions.target);if(!SI.isDefinedAndNotNull(pOptions.target)||(!SI.isDefinedAndNotNull(pOptions.target.targets)&&!SI.isDOMElement(pOptions.target)))
{return;}
pOptions.prefix=SI.getDefaultValue(pOptions.prefix,"");pOptions.glue=SI.getDefaultValue(pOptions.glue,null);pOptions.glueSame=SI.getDefaultValue(pOptions.glueSame,true);for(var i=0,length_i=pData.length;i<length_i;i++)
{var item=pData[i];var type=item.type;var target=pOptions.target;var target_id=false;if(SI.isDefinedAndNotNull(pOptions.target.targets))
{target_id=find_target_id(type,pOptions.target.targets);if(target_id!==false)
{target=SI.get(pOptions.target.targets[target_id].target);}
else
{continue;}}
var targets_clone={};if(SI.isDefinedAndNotNull(pOptions.target.targets)){targets_clone.targets=get_targets_copy(pOptions.target.targets[target_id].targets);}
var template_outer=get_template(pOptions.templateContainer,pOptions.prefix,type);var item_data=item.data;var found_inner_items=false;for(var property in item_data)
{if(property=="items")
{found_inner_items=true;}
else
{var property_value=item_data[property];var property_id=type+"_"+property;if(SI.isUndefinedOrNull(PROPERTY_REGEX_CACHE[property_id])){PROPERTY_REGEX_CACHE[property_id]=new RegExp("\\$"+property_id+"\\$","gi");}
template_outer=template_outer.replace(PROPERTY_REGEX_CACHE[property_id],property_value);update_targets_properties(targets_clone.targets,property_id,property_value);property_id=type+"1_"+property;if(SI.isUndefinedOrNull(PROPERTY_REGEX_CACHE[property_id]))
{PROPERTY_REGEX_CACHE[property_id]=new RegExp("\\$"+property+"\\$","gi");}
template_outer=template_outer.replace(PROPERTY_REGEX_CACHE[property_id],property_value);update_targets_properties(targets_clone.targets,property_id,property_value);}}
var rendered_data=template_outer.toNodes();if(rendered_data.length===0){continue;}
SI.Vis.hide(rendered_data);SI.insertAt(target,rendered_data,pOptions.index);switch(pOptions.show.effect)
{case"fade":SI.Vis.fadeIn(rendered_data,pOptions.show.time);break;case"grow":$(rendered_data).css('opacity',0);SI.Vis.show(rendered_data);var height,original_height;if(SI.isNotEmptyArrayOrNodeList(rendered_data))
{SI.foreach(rendered_data,function(node){calc_height=UI.Dimensions.height(node);original_height=node.style.height;node.style.height="0";$(node).animate({height:calc_height},pOptions.show.time,function(){node.style.height=original_height;$(node).animate({opacity:1},pOptions.show.time);});});}
else
{calc_height=UI.Dimensions.height(rendered_data);original_height=rendered_data.style.height;rendered_data.style.height="0";$(rendered_data).animate({height:calc_height},'slow',function(){rendered_data.style.height=original_height;$(rendered_data).animate({opacity:1},pOptions.show.time);});}
break;}
if(SI.isDefinedAndNotNull(pOptions.glue)&&i<length_i-1&&SI.isDefinedAndNotNull(pOptions.glue[type]))
{var add_glue=false;if(!pOptions.glueSame)
{add_glue=true;}
else
{for(var j=i+1,length_j=pData.length;j<length_j;j++)
{if(pData[j].type==type)
{add_glue=true;}}}
if(add_glue){SI.insertAfter(rendered_data,pOptions.glue[type].cloneNode(true));}}
if(found_inner_items)
{var target_container=SI.getByClassName(type+"_items_container","*",rendered_data);if(target_container.length===0)
{target_container=rendered_data[0];}
else
{target_container=target_container[0];}
var new_target=target_container;if(SI.isDefinedAndNotNull(targets_clone.targets))
{targets_clone.targets["default"]={target:target_container};new_target=targets_clone;}
this.toHTML(item_data.items,{index:"last",target:new_target,prefix:pOptions.prefix,glue:pOptions.glue,glueSame:pOptions.glueSame});}}}};}());})();
$(document).ready(function(){var profile_pics=SI.getByClassName("loading","div",document.body);SI.foreach(profile_pics,function(pic)
{var pic_img=SI.getByTagName("img",pic)[0];var new_pic_img=pic_img.cloneNode(false);SI.insertBefore(pic_img,new_pic_img);new_pic_img.onload=function(){UI.Style.removeClassName(pic,"loading");};new_pic_img.src=pic_img.src;SI.remove(pic_img);});});
(function(){SI.register("SI.UI.View","UI.View",function()
{return{MY:"my",FRIEND:"friend",PUBLIC:"public",PROFILE:"profile",EVERYONE:"everyone",RECENT:"recent",EXTERNAL:"external",is:function(pView,pRequiredView)
{return(pView.toLowerCase()==pRequiredView.toLowerCase());},isMy:function(pView)
{return(pView.toLowerCase()==this.MY);},isFriend:function(pView)
{return(pView.toLowerCase()==this.FRIEND);},isPublic:function(pView)
{return(pView.toLowerCase()==this.PUBLIC);},isProfile:function(pView)
{return(pView.toLowerCase()==this.PROFILE);},isEveryone:function(pView)
{return(pView.toLowerCase()==this.EVERYONE);},isRecent:function(pView)
{return(pView.toLowerCase()==this.RECENT);},isExternal:function(pView)
{return(pView.toLowerCase()==this.EXTERNAL);}};}());})();
(function(){SI.register("SI.UI.Keyboard","UI.Keyboard",function()
{return{isEnter:function(e)
{return(this.keyCode(e)==13);},isEscape:function(e)
{var esc=(window.event)?27:e.DOM_VK_ESCAPE;return(this.keyCode(e)==esc);},keyCode:function(e)
{return((e&&e.which)?e.which:event.keyCode);}};}());})();
(function(){SI.register("SI.UI.Mouse","UI.Mouse",function()
{var cur_pos={x:0,y:0};$().mousemove(function(e){cur_pos=UI.Mouse.pos(e);});return{pos:function(e)
{var output={};var posx=0;var posy=0;if(!e){e=window.event;}
if(SI.isDefinedAndNotNull(e))
{if(SI.isDefinedAndNotNull(e.pageX)&&SI.isDefinedAndNotNull(e.pageY)){posx=e.pageX;posy=e.pageY;}else if(SI.isDefinedAndNotNull(e.clientX)&&SI.isDefinedAndNotNull(e.clientY)){posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;}}
output.x=posx;output.y=posy;return output;},isInside:function(item,diff)
{diff=SI.getDefaultValue(diff,0);var pos=UI.Dimensions.position(item);if(cur_pos.x<pos.left-diff||cur_pos.x>pos.left+UI.Dimensions.width(item)+diff||cur_pos.y<pos.top-diff||cur_pos.y>pos.top+UI.Dimensions.height(item)+diff)
{return false;}else{return true;}},getTargetItem:function(e)
{return(e&&e.target)||(event&&event.srcElement);}};}());})();
(function(){SI.register("SI.UI.Screen","UI.Screen",function()
{return{width:function()
{return top.innerWidth!=null?top.innerWidth:top.document.documentElement&&top.document.documentElement.clientWidth?top.document.documentElement.clientWidth:top.document.body!=null?top.document.body.clientWidth:null;},height:function()
{return top.innerHeight!=null?top.innerHeight:top.document.documentElement&&top.document.documentElement.clientHeight?top.document.documentElement.clientHeight:top.document.body!=null?top.document.body.clientHeight:null;},top:function()
{return typeof top.pageYOffset!='undefined'?top.pageYOffset:top.document.documentElement&&top.document.documentElement.scrollTop?top.document.documentElement.scrollTop:top.document.body.scrollTop?top.document.body.scrollTop:0;},left:function()
{return typeof top.pageXOffset!='undefined'?top.pageXOffset:top.document.documentElement&&top.document.documentElement.scrollLeft?top.document.documentElement.scrollLeft:top.document.body.scrollLeft?top.document.body.scrollLeft:0;}};}());})();
(function(){SI.register("SI.UI.Scrollbar","UI.Scrollbar",function()
{var scroll_bar_dim=null;var get_scrollbar_dim=function()
{var inner=document.createElement('p');inner.style.width="100%";inner.style.height="200px";var outer=document.createElement('div');outer.style.position="absolute";outer.style.top="0px";outer.style.left="0px";outer.style.visibility="hidden";outer.style.width="200px";outer.style.height="150px";outer.style.overflow="hidden";outer.appendChild(inner);document.body.appendChild(outer);var w1=inner.offsetWidth;var h1=inner.offsetHeight;outer.style.overflow='scroll';var w2=inner.offsetWidth;var h2=inner.offsetHeight;if(w1==w2){w2=outer.clientWidth;}
if(h1==h2){h2=outer.clientHeight;}
document.body.removeChild(outer);var ret={};ret.width=w1-w2;ret.height=h1-h2;return ret;};return{isExist:function(container)
{var scroll_top=container.scrollTop;var is_exist=false;container.scrollTop=1;if(container.scrollTop>0){is_exist=true;}
container.scrollTop=scroll_top;return is_exist;},height:function()
{if(SI.isUndefinedOrNull(scroll_bar_dim)){scroll_bar_dim=get_scrollbar_dim();}
return scroll_bar_dim.height;},width:function()
{if(SI.isUndefinedOrNull(scroll_bar_dim)){scroll_bar_dim=get_scrollbar_dim();}
return scroll_bar_dim.width;},top:function()
{return SI.MATH.max(top.pageYOffset,SI.MATH.max((top.document.documentElement?top.document.documentElement.scrollTop:0),top.document.body.scrollTop));},scrollTop:function(obj,container)
{obj=SI.get(obj);container=SI.get(container);var obj_visible=SI.Vis.isVisible(obj);var con_visible=(SI.isDefinedAndNotNull(container))?SI.Vis.isVisible(container):true;if(!obj_visible){SI.Vis.savePosition(obj);SI.Vis.hideOnSide(obj);}
if(!con_visible){SI.Vis.savePosition(container);SI.Vis.hideOnSide(container);}
obj.scrollTop=0;if(!obj_visible){SI.Vis.hide(obj);SI.Vis.recoverPosition(obj);}
if(!con_visible){SI.Vis.hide(container);SI.Vis.recoverPosition(container);}}};}());})();
(function(){SI.register("SI.UI.Input.Titled","Input.Titled",function()
{return{getContainer:function(pChild)
{return SI.getAncestor(pChild,function(elem){return UI.Style.hasClassName(elem,"titled-input");});},getLabel:function(pContainer)
{return SI.getByClassName("label","*",pContainer)[0];},getInput:function(pContainer)
{return SI.getByClassName("input","*",pContainer)[0];},focus:function(pContainer)
{this.getInput(pContainer).focus();},hideLabel:function(pInput,pForce)
{SI.Vis.set(this.getLabel(this.getContainer(pInput)),(!pForce&&(pInput.value=="")));}};}());})();
(function(){SI.register("SI.UI.Table","UI.Table",function()
{return{alternate:function(pTable)
{var pTable=SI.get(pTable);if(pTable==null||pTable.tagName.toLowerCase()!="table"){return;}
for(var i=0,length_i=pTable.tBodies.length;i<length_i;i++)
{SI.alternate(pTable.tBodies[i].rows);}}};}());})();
(function(){SI.register("SI.UI.Controls.Button","Controls.Button",function()
{return{TYPE_LOGIN:"login",TYPE_CANCEL:"cancel",TYPE_SUBMIT:"submit",build:function(pOptions)
{pOptions.type=SI.getDefaultValue(pOptions.type,this.TYPE_LOGIN);pOptions.label=SI.getDefaultValue(pOptions.label,"");var button_container=document.createElement("span");button_container.className="button "+pOptions.type;if(SI.isString(pOptions.id)){button_container.id=pOptions.id;}
var button=document.createElement("input");button.type="button";button.className="text";button.value=pOptions.label;if(SI.isCallable(pOptions.onclick)){button.onclick=pOptions.onclick;}
SI.appendChild(button_container,button);return button_container;},getId:function(pButton)
{pButton=SI.get(pButton);if(!SI.isDOMElement(pButton)){return;}
return pButton.id;},setLabel:function(pButton,pLabel)
{pButton=SI.get(pButton);if(!SI.isDOMElement(pButton)){return;}
SI.getByClassName("text","input",pButton)[0].value=pLabel;},setOnClick:function(pButton,pOnClickHandler)
{pButton=SI.get(pButton);if(!SI.isDOMElement(pButton)){return;}
SI.getByClassName("text","input",pButton)[0].onclick=pOnClickHandler;},getOnClick:function(pButton)
{pButton=SI.get(pButton);if(!SI.isDOMElement(pButton)){return;}
return SI.getByClassName("text","input",pButton)[0].onclick;}};}());SI.register("SI.UI.Controls.Button.Menu","Button.Menu",function()
{return{attachBodyHide:function(pMenu,pTrigger,pCallback)
{if(!SI.isExist(pMenu)){return;}
var hide_menu=function(e)
{var target_item=UI.Mouse.getTargetItem(e);if(!SI.isAncestor(target_item,pTrigger)&&!SI.isAncestor(target_item,pMenu))
{SI.Vis.hide(pMenu);if(SI.isCallable(pCallback)){pCallback(e);}}
if(!SI.isAncestor(target_item,pMenu))
{SI.Events.removeListner(document,"click",hide_menu);}};setTimeout(function(){SI.Events.addListner(document,"click",hide_menu);},200);}};}());})();
(function(){SI.register("SI.UI.Checkbox","UI.Checkbox",function()
{return{check:function(id,checked)
{var checkbox=SI.get(id);if(SI.isUndefinedOrNull(checkbox)){return;}
if(SI.isUndefinedOrNull(checked)){checked=!checkbox.checked;}
if(checked===true||checked===false){checkbox.checked=checked;}else{checkbox.checked=true;}
var checkbox_img=SI.getByClassName("checkbox","div",id+"_container")[0];if(checked===true){UI.Style.removeClassName(checkbox_img,"unchecked");UI.Style.removeClassName(checkbox_img,"semi-checked");UI.Style.addClassName(checkbox_img,"checked");}else if(checked===false){UI.Style.removeClassName(checkbox_img,"checked");UI.Style.removeClassName(checkbox_img,"semi-checked");UI.Style.addClassName(checkbox_img,"unchecked");}else{UI.Style.removeClassName(checkbox_img,"checked");UI.Style.removeClassName(checkbox_img,"unchecked");UI.Style.addClassName(checkbox_img,"semi-checked");}
return checked;},isChecked:function(checkbox)
{if(SI.isUndefinedOrNull(checkbox)){return;}
checkbox=SI.get(checkbox);if(SI.isUndefinedOrNull(checkbox)){return;}
if(SI.isUndefinedOrNull(checkbox.checked)){return false;}
return checkbox.checked;},checkAll:function(trigger,checkboxes_container,checked)
{if(SI.isUndefinedOrNull(checkboxes_container)){return 0;}
var changed_cnt=0;var con_length="_container".length;var checkboxes_containers=[];if(typeof(checkboxes_container)=="object"&&SI.isDefinedAndNotNull(checkboxes_container)&&SI.isDefinedAndNotNull(checkboxes_container.length))
{checkboxes_containers=checkboxes_container;}
else
{checkboxes_containers[0]=checkboxes_container;}
for(var j=0,con_len=checkboxes_containers.length;j<con_len;j++)
{var container=SI.get(checkboxes_containers[j]);if(SI.isDefinedAndNotNull(container))
{var checkboxes=SI.getByClassName("checkbox-container","div",checkboxes_containers[j]);for(var i=0,len=checkboxes.length;i<len;i++)
{if(checkboxes[i]!=trigger)
{var checkbox_id=checkboxes[i].id.substring(0,checkboxes[i].id.length-con_length);if(this.isChecked(checkbox_id)!=checked){this.check(checkbox_id,checked);}
changed_cnt++;}}}}
return changed_cnt;},count:function(checkboxes_container,checked)
{if(SI.isUndefinedOrNull(checkboxes_container)){return 0;}
var changed_cnt=0;var con_length="_container".length;var checkboxes_containers=[];if(typeof(checkboxes_container)=="object"&&SI.isDefinedAndNotNull(checkboxes_container)&&SI.isDefinedAndNotNull(checkboxes_container.length))
{checkboxes_containers=checkboxes_container;}
else
{checkboxes_containers[0]=checkboxes_container;}
for(var j=0,con_len=checkboxes_containers.length;j<con_len;j++)
{var container=SI.get(checkboxes_containers[j]);if(SI.isDefinedAndNotNull(container))
{var checkboxes=SI.getByClassName("checkbox-container","div",checkboxes_containers[j]);for(var i=0,len=checkboxes.length;i<len;i++)
{var checkbox_id=checkboxes[i].id.substring(0,checkboxes[i].id.length-con_length);if(this.isChecked(checkbox_id)==checked){changed_cnt++;}}}}
return changed_cnt;}};}());SI.register("SI.UI.New_Checkbox","UI.New_Checkbox",function()
{return{getInput:function(pContainer)
{return SI.getByTagName("input",pContainer)[0];},getLabel:function(pContainer)
{return SI.getByClassName("label","*",pContainer)[0];},getIcon:function(pContainer)
{return SI.getByTagName("i",pContainer)[0];},check:function(pContainer,pChecked,pCallback,pObject)
{pContainer=SI.get(pContainer);if(SI.isUndefinedOrNull(pContainer)){return;}
var checkbox_input=this.getInput(pContainer);if(SI.isUndefinedOrNull(pChecked)){pChecked=!checkbox_input.checked;}
checkbox_input.checked=pChecked;var checkbox_icon=this.getIcon(pContainer);if(pChecked==true)
{UI.Style.removeClassName(checkbox_icon,"unchecked");UI.Style.removeClassName(checkbox_icon,"semi-checked");UI.Style.addClassName(checkbox_icon,"checked");}
else if(pChecked==false)
{UI.Style.removeClassName(checkbox_icon,"checked");UI.Style.removeClassName(checkbox_icon,"semi-checked");UI.Style.addClassName(checkbox_icon,"unchecked");}
else
{UI.Style.addClassName(checkbox_icon,"semi-checked");UI.Style.removeClassName(checkbox_icon,"checked");UI.Style.removeClassName(checkbox_icon,"unchecked");}
if(SI.isCallable(pCallback))
{var checkbox_label=this.getLabel(pContainer);pCallback(pChecked,pContainer,checkbox_input,checkbox_label,checkbox_icon,pObject);}
return pChecked;},isChecked:function(pContainer)
{pContainer=SI.get(pContainer);if(SI.isUndefinedOrNull(checkbox)){return;}
return this.getInput(pContainer).checked;}};}());})();
(function(){SI.register("SI.UI.Radio","UI.Radio",function()
{return{check:function(id,checked,pCallback,pObject)
{var radio=SI.get(id);if(!SI.isDefinedAndNotNull(radio)){return;}
var radio_input=SI.getByTagName("input",radio)[0];if(!SI.isDefinedAndNotNull(checked)){checked=!radio_input.checked;}
var prev_radio=null;if(checked)
{var containing_form=SI.getAncestor(radio,function(element){return(element.tagName.toLowerCase()=="form");});var other_radio=SI.getByName(radio_input.name,"input",containing_form);for(var i=0,len=other_radio.length;i<len;i++)
{if(other_radio[i]!=radio_input&&other_radio[i].checked)
{prev_radio=other_radio[i].parentNode;other_radio[i].checked=false;var img=SI.getByTagName("i",other_radio[i].parentNode)[0];UI.Style.removeClassName(img,"checked");UI.Style.addClassName(img,"unchecked");break;}}}
radio_input.checked=checked;var radio_img=SI.getByTagName("i",radio)[0];if(checked==true){UI.Style.removeClassName(radio_img,"unchecked");UI.Style.addClassName(radio_img,"checked");}else if(checked==false){UI.Style.removeClassName(radio_img,"checked");UI.Style.addClassName(radio_img,"unchecked");}
if(SI.isCallable(pCallback))
{pCallback(checked,radio,radio_input,prev_radio,pObject);}
return checked;},isChecked:function(pRadio)
{pRadio=SI.get(pRadio);if(!SI.isDOMElement(pRadio)){return;}
return SI.getByTagName("input",pRadio)[0].checked;},value:function(pRadio)
{var pRadio=SI.get(pRadio);if(!SI.isDOMElement(pRadio)){return;}
return SI.getByTagName("input",pRadio)[0].value;}};}());})();
(function(){SI.register("SI.UI.Img","UI.Img",function()
{return{isImage:function(pNode)
{return(SI.isDOMElement(pNode)&&pNode.tagName.toLowerCase()=="img");},attachLoader:function(pImg,pSrc,pLoaderContainer,pLoaderId,pAfterLoad)
{pImg=SI.get(pImg);if(!this.isImage(pImg)){return;}
pLoaderContainer=SI.getDefaultValue(SI.get(pLoaderContainer),pImg.parentNode);UI.Style.addClassName(pLoaderContainer,"loading");if(SI.isDefinedAndNotNull(pLoaderId)){UI.Style.addClassName(pLoaderContainer,"l"+pLoaderId);}
var new_img=pImg.cloneNode(false);SI.insertBefore(pImg,new_img);if(pLoaderContainer==pImg){pLoaderContainer=new_img;}
new_img.onload=function()
{if(SI.isCallable(pAfterLoad)){pAfterLoad(new_img);}
UI.Style.removeClassName(pLoaderContainer,"loading");if(SI.isDefinedAndNotNull(pLoaderId)){UI.Style.removeClassName(pLoaderContainer,"l"+pLoaderId);}};new_img.src=pSrc;SI.remove(pImg);}};}());})();
(function(){SI.register("SI.UI.Expander","UI.Expander",function()
{return{expand:function(id,expanded)
{var expander=SI.get(id);if(expander==null){return;}
expanded=SI.getDefaultValue(expanded,!UI.Style.hasClassName(expander,"expanded"));if(expanded==true){UI.Style.setClassName(expander,"expander expanded");}else{UI.Style.setClassName(expander,"expander collapsed");}
return expanded;},isExpanded:function(expander)
{if(expander==null){return;}
var expander=SI.get(expander);if(expander==null){return;}
return UI.Style.hasClassName(expander,"expanded");},expandAll:function(trigger,expanders_container,expanded)
{if(SI.isDOMElement(trigger)&&UI.Style.hasClassName(trigger,"expander-container"))
{trigger=SI.getByClassName("expander","div",trigger)[0];}
else if(!SI.isDOMElement(trigger)||!UI.Style.hasClassName(trigger,"expander"))
{trigger=null;}
var expanders=SI.getByClassName("expander","div",expanders_container);for(var i=0,len=expanders.length;i<len;i++)
{if(expanders[i]!=trigger){this.expand(expanders[i].id,expanded);}}}};}());})();
(function(){SI.register("SI.UI.Color","UI.Color",function()
{return{equals:function(pColor1,pColor2)
{if(pColor1==pColor2){return true;}
if(typeof(pColor1)!="string"||typeof(pColor2)!="string"){return false;}
pColor1=this.canonColor(pColor1);pColor2=this.canonColor(pColor2);return(pColor1==pColor2);},hex2RGB:function(pHex)
{if(typeof(pHex)=="undefined"){return"rgb(0,0,0)";}
else
{pHex=(pHex.charAt(0)=="#")?pHex.substring(1,7):pHex;return"rgb("+
parseInt(pHex.substring(0,2),16)+","+
parseInt(pHex.substring(2,4),16)+","+
parseInt(pHex.substring(4,6),16)+")";}},canonColor:function(pColor)
{if(typeof(pColor)!="string"){return null;}
pColor=pColor.trim();if(pColor.startsWith("rgb"))
{return pColor.removeChars(" ");}
else if(pColor.startsWith("("))
{return"rgb"+pColor.removeChars(" ");}
else if(pColor.startsWith("#"))
{return this.hex2RGB(pColor);}
else
{return null;}}};}());})();
(function(){SI.register("SI.UI.Dimensions","UI.Dimensions",function()
{var auto_resize_div=document.createElement("span");auto_resize_div.style.position="absolute";auto_resize_div.style.height="auto";auto_resize_div.style.width="auto";auto_resize_div.style.visibility="hidden";return{position:function(obj)
{return{left:$(SI.get(obj)).offset().left,top:$(SI.get(obj)).offset().top};},width:function(obj){obj=SI.get(obj);if(!SI.isDOMElement(obj)){return;}
if(!SI.Vis.isVisible(obj))
{var prev_position={position:obj.style.position,left:obj.style.left,top:obj.style.top};obj.style.position="fixed";obj.style.top="-1000px";obj.style.left="-1000px";SI.Vis.show(obj);var width=this.width(obj);obj.style.position=prev_position.position;obj.style.top=prev_position.top;obj.style.left=prev_position.left;SI.Vis.hide(obj);return width;}
return SI.MATH.max(obj.clientWidth,SI.MATH.max(obj.scrollWidth,SI.MATH.max(obj.offsetWidth,obj.pixelWidth)));},height:function(obj){obj=SI.get(obj);if(!SI.isDOMElement(obj)){return;}
if(!SI.Vis.isVisible(obj))
{var prev_position={position:obj.style.position,left:obj.style.left,top:obj.style.top};obj.style.position="fixed";obj.style.top="-1000px";obj.style.left="-1000px";SI.Vis.show(obj);var height=this.height(obj);obj.style.position=prev_position.position;obj.style.top=prev_position.top;obj.style.left=prev_position.left;SI.Vis.hide(obj);return height;}
return SI.MATH.max(obj.clientHeight,SI.MATH.max(obj.scrollHeight,SI.MATH.max(obj.offsetHeight,obj.pixelHeight)));},stringWidth:function(parent,val)
{auto_resize_div.innerHTML=val;document.body.appendChild(auto_resize_div);if(SI.isDefinedAndNotNull(parent.style)){auto_resize_div.style.fontName=parent.style.fontName;auto_resize_div.style.fontSize=parent.style.fontSize;auto_resize_div.style.fontWeight=parent.style.fontWeight;}
return this.width(auto_resize_div);}};}());})();
(function(){SI.register("SI.UI.Style","UI.Style",function()
{var CLASS_NAMES_REGEX_CACHE=[];var get_class_regex=function(pClassName)
{pClassName=pClassName.toString().trim();if(SI.isUndefinedOrNull(CLASS_NAMES_REGEX_CACHE[pClassName])){CLASS_NAMES_REGEX_CACHE[pClassName]=new RegExp("(\\s|^)"+pClassName+"(\\s|$)");}
return CLASS_NAMES_REGEX_CACHE[pClassName];};return{hasStyle:function(pObject)
{return(SI.isDefinedAndNotNull(pObject)&&SI.isDefinedAndNotNull(pObject.style));},get:function(pObject,pStyleProperty)
{var obj_ref=SI.get(pObject);var computed_style;if(SI.isDefinedAndNotNull(obj_ref.currentStyle))
{pStyleProperty=pStyleProperty.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase();});computed_style=obj_ref.currentStyle[pStyleProperty];}
else if(window.getComputedStyle)
{computed_style=document.defaultView.getComputedStyle(obj_ref,null).getPropertyValue(pStyleProperty);}
return computed_style;},clearClassName:function(pObject)
{this.setClassName(pObject,"");},setClassName:function(pObject,pClassName)
{if(pClassName=="sign-but 1")
{debugger;}
pObject=SI.get(pObject);if(!SI.isDOMElement(pObject)||!SI.isDefinedAndNotNull(pClassName)){return;}
pObject.className=pClassName.toString();},hasClassName:function(pObject,pClassName)
{pObject=SI.get(pObject);return(SI.isDOMElement(pObject)&&SI.isDefinedAndNotNull(pClassName)&&get_class_regex(pClassName).test(pObject.className));},addClassName:function(pObject,pClassName)
{pObject=SI.get(pObject);if(!SI.isDOMElement(pObject)||!SI.isDefinedAndNotNull(pClassName)){return;}
pClassName=pClassName.toString();if(!this.hasClassName(pObject,pClassName)){pObject.className+=" "+pClassName;}},removeClassName:function(pObject,pClassName)
{pObject=SI.get(pObject);if(!SI.isDOMElement(pObject)||!SI.isDefinedAndNotNull(pClassName)){return;}
pClassName=pClassName.toString();if(this.hasClassName(pObject,pClassName)){pObject.className=pObject.className.replace(get_class_regex(pClassName)," ").trim();}},replaceClassName:function(pObject,pFromClassName,pToClassName)
{pObject=SI.get(pObject);if(!SI.isDOMElement(pObject)||!SI.isDefinedAndNotNull(pFromClassName)||!SI.isDefinedAndNotNull(pToClassName)){return;}
pFromClassName=pFromClassName.toString();pToClassName=pToClassName.toString();if(this.hasClassName(pObject,pFromClassName)){pObject.className=pObject.className.replace(get_class_regex(pFromClassName)," ").trim();if(!pToClassName.trim().isEmpty()){pObject.className+=" "+pToClassName;}}},switchClassName:function(pObject,pClassName1,pClassName2)
{pObject=SI.get(pObject);if(!SI.isDOMElement(pObject)||!SI.isDefinedAndNotNull(pClassName1)||!SI.isDefinedAndNotNull(pClassName2)||(pClassName1.trim().isEmpty()&&pClassName2.trim().isEmpty()))
{return;}
pClassName1=pClassName1.toString();pClassName2=pClassName2.toString();if(pClassName2.trim().isEmpty())
{pClassName2=pClassName1;pClassName1="";}
if(pClassName1.trim().isEmpty())
{if(this.hasClassName(pObject,pClassName2))
{this.removeClassName(pObject,pClassName2);}
else
{this.addClassName(pObject,pClassName2);}}
else
{if(this.hasClassName(pObject,pClassName1))
{this.replaceClassName(pObject,pClassName1,pClassName2);}
else if(this.hasClassName(pObject,pClassName2))
{this.replaceClassName(pObject,pClassName2,pClassName1);}}}};}());})();
(function(){SI.register("SI.UI.Visibility","SI.Vis",function()
{var hide=function(obj)
{obj.style.display="none";if(obj.tagName.toLowerCase()=="td"&&obj.parentNode.tagName.toLowerCase()=="tr"&&obj.parentNode.cells.length==1)
{obj.parentNode.style.display="none";}};var show=function(obj,display)
{obj.style.display=display;UI.Style.removeClassName(obj,"hidden");if(obj.tagName.toLowerCase()=="td"&&obj.parentNode.tagName.toLowerCase()=="tr"&&obj.parentNode.cells.length==1)
{obj.parentNode.style.display=display;UI.Style.removeClassName(obj.parentNode,"hidden");}};return{DEFAULT_DISPLAY:"",set:function(obj,visible,display,pTimeout,pCallback)
{display=SI.getDefaultValue(display,this.DEFAULT_DISPLAY);pTimeout=SI.getDefaultValue(pTimeout,0);if(SI.isArrayOrNodeList(obj))
{for(var i=0,length=obj.length;i<length;i++){this.set(obj[i],visible,display,pTimeout,pCallback);}
return visible;}
var obj=SI.get(obj);if(!UI.Style.hasStyle(obj))
return false;if(visible)
{if(pTimeout==0)
{show(obj,display);if(SI.isCallable(pCallback)){pCallback(obj);}}
else
{this.fadeIn(obj,pTimeout,function(){show(obj,display);if(SI.isCallable(pCallback)){pCallback(obj);}});}}
else
{if(pTimeout==0)
{hide(obj);if(SI.isCallable(pCallback)){pCallback(obj);}}
else
{this.fadeOut(obj,pTimeout,function(){hide(obj);if(SI.isCallable(pCallback)){pCallback(obj);}});}}
return visible;},inverse:function(obj,pTimeout,pCallback)
{if(SI.isArrayOrNodeList(obj))
{for(var i=0,length=obj.length;i<length;i++){this.inverse(obj[i],pTimeout,pCallback);}
return obj;}
var obj=SI.get(obj);if(!UI.Style.hasStyle(obj)){return obj;}
if(this.isVisible(obj)){this.hide(obj,pTimeout,pCallback);}else{this.show(obj,this.DEFAULT_DISPLAY,pTimeout,pCallback);}
return obj;},hide:function(obj,pTimeout,pCallback)
{return this.set(obj,false,this.DEFAULT_DISPLAY,pTimeout,pCallback);},show:function(obj,display,pTimeout,pCallback)
{return this.set(obj,true,display,pTimeout,pCallback);},isVisible:function(obj)
{var obj=SI.get(obj);if(!UI.Style.hasStyle(obj)){return false;}
return(UI.Style.get(obj,'display')!="none");},hideOnSide:function(obj)
{var obj=SI.get(obj);if(!UI.Style.hasStyle(obj)){return;}
obj.style.position="absolute";obj.style.left="-10000px";this.show(obj);},savePosition:function(obj)
{var obj=SI.get(obj);if(!UI.Style.hasStyle(obj)){return;}
obj.style.prev_position=obj.style.position;obj.style.prev_left=obj.style.left;obj.style.prev_top=obj.style.top;},recoverPosition:function(obj)
{var obj=SI.get(obj);if(!UI.Style.hasStyle(obj)){return;}
obj.style.position=obj.style.prev_position;obj.style.left=obj.style.prev_left;obj.style.top=obj.style.prev_top;obj.style.prev_position=obj.style.prev_left=obj.style.prev_top='';},fadeIn:function(pElement,pTimeout,pCallback)
{if(SI.isArrayOrNodeList(pElement))
{for(var i=0,len=pElement.length;i<len;i++)
{if(i<len-1){SI.Vis.fadeIn(pElement[i],pTimeout);}else{SI.Vis.fadeIn(pElement[i],pTimeout,pCallback);}}}
pElement=SI.get(pElement);if(SI.isDOMElement(pElement))
{$(pElement).stop(true,true).fadeIn(pTimeout,pCallback);}},fadeOut:function(pElement,pTimeout,pCallback)
{if(SI.isArrayOrNodeList(pElement))
{for(var i=0,len=pElement.length;i<len;i++)
{if(i<len-1){SI.Vis.fadeOut(pElement[i],pTimeout);}else{SI.Vis.fadeOut(pElement[i],pTimeout,pCallback);}}}
pElement=SI.get(pElement);if(SI.isDOMElement(pElement))
{$(pElement).stop(true,true).fadeOut(pTimeout,pCallback);}}};}());})();
(function(){var fmodule="SI.UI.Attributes.Ability",smodule="SI.Ability";SI.register(fmodule,smodule,function()
{return{remove:function(pElement)
{pElement=SI.get(pElement);UI.Style.removeClassName(pElement,"disabled");UI.Style.removeClassName(pElement,"enabled");},disable:function(pElement)
{pElement=SI.get(pElement);UI.Style.removeClassName(pElement,"enabled");UI.Style.addClassName(pElement,"disabled");},enable:function(pElement)
{pElement=SI.get(pElement);UI.Style.removeClassName(pElement,"disabled");UI.Style.addClassName(pElement,"enabled");},isDisabled:function(pElement)
{pElement=SI.get(pElement);if(!SI.isDOMElement(pElement)){return false;}
do
{if(UI.Style.hasClassName(pElement,"disabled")){return true;}
else if(UI.Style.hasClassName(pElement,"enabled")){return false;}
pElement=pElement.parentNode;}
while(pElement);return false;},isEnabled:function(pElement)
{return!this.isDisabled(pElement);}};}());})();
(function(){SI.register("SI.UI.Attributes.Selectivity","Att.Selectivity",function()
{return{select:function(pElement)
{UI.Style.addClassName(pElement,"selected");},unselect:function(pElement)
{UI.Style.removeClassName(pElement,"selected");},isSelected:function(pElement)
{return UI.Style.hasClassName(pElement,"selected");}};}());})();
(function(){SI.register("SI.UI.Animation","UI.Anim",function()
{var executing={};return{start:function(pElement,pParams,pDuration,pEasing,pCallback)
{pElement=SI.get(pElement);if(SI.isUndefinedOrNull(pElement)){return;}
this.stop(pElement);executing[this.hash(pElement)]=pElement;$(pElement).startAnimation(pElement,pParams,pDuration,pEasing,function(){if(SI.isCallable(pCallback)){pCallback();}
UI.Anim.removeFromHash(pElement);});},pause:function(pObjet)
{pElement=SI.get(pElement);if(SI.isUndefinedOrNull(pElement)){return;}
$(pElement).pauseAnimation();},resume:function(pObjet)
{pElement=SI.get(pElement);if(SI.isUndefinedOrNull(pElement)){return;}
$(pElement).resumeAnimation();},stop:function(pElement)
{pElement=SI.get(pElement);if(SI.isUndefinedOrNull(pElement)){return;}
$(pElement).stop();delete executing[this.hash(pElement)];},pauseAll:function()
{for(var h in executing){this.pause(executing[h]);}},resumeAll:function()
{for(var h in executing){this.resume(executing[h]);}},hash:function(pElement)
{pElement=SI.get(pElement);if(SI.isUndefinedOrNull(pElement)){return SI.guid();}
if(!SI.isString(pElement.id)||pElement.id.isEmpty())
{pElement.id=SI.guid();}
return pElement.id;}};}());})();

