
(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
return jQuery().find(selector);return jQuery(elem);}
selector=[];}}else
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
if(value===undefined)
return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
return this.each(function(i){for(name in options)
jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)
value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)
return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)
ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])
jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)
elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)
this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)
this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
this[expando]=null;});if(events===true)
this.find("*").andSelf().each(function(i){if(this.nodeType==3)
return;var events=jQuery.data(this,"events");for(var type in events)
for(var handler in events[type])
jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)
if(isSimple.test(selector))
return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
return value;values.push(value);}}
return values;}else
return(this[0].value||"").replace(/\r/g,"");}
return undefined;}
if(value.constructor==Number)
value+='';return this.each(function(){if(this.nodeType!=1)
return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))
this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)
this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)
elems.reverse();}
var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))
obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))
scripts=scripts.add(elem);else{if(elem.nodeType==1)
scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)
jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)
elem.parentNode.removeChild(elem);}
function now(){return+new Date;}
jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!="object"&&typeof target!="function")
target={};if(length==i){target=this;--i;}
for(;i<length;i++)
if((options=arguments[i])!=null)
for(var name in options){var src=target[name],copy=options[name];if(target===copy)
continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
target[name]=copy;}
return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)
script.text=data;else
script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
jQuery.cache[id]={};if(data!==undefined)
jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
break;if(!name)
jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
elem.removeAttribute(expando);}
delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
if(callback.apply(object[name],args)===false)
break;}else
for(;i<length;)
if(callback.apply(object[i++],args)===false)
break;}else{if(length==undefined){for(name in object)
if(callback.call(object[name],name,object[name])===false)
break;}else
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))
elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)
elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
callback.call(elem);for(var name in options)
elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}
if(jQuery(elem).is(":visible"))
getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}
return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)
return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
if(name.match(/float/i))
name=styleFloat;if(!force&&style&&style[name])
ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
stack.unshift(a);for(;i<stack.length;i++)
if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
if(swap[i]!=null)
stack[i].style.display=swap[i];}
if(name=="opacity"&&ret=="")
ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')
context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)
return;if(elem.constructor==Number)
elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)
if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)
tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))
div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}
elem=jQuery.makeArray(div.childNodes);}
if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))
return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)
ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
throw"type property can't be changed";elem[name]=value;}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
return elem.getAttributeNode(name).nodeValue;return elem[name];}
if(msie&&notxml&&name=="style")
return jQuery.attr(elem.style,"cssText",value);if(set)
elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
ret[0]=array;else
while(i)
ret[--i]=array[i];}
return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)
if(array[i]===elem)
return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
if(elem.nodeType!=8)
first[pos++]=elem;}else
while(elem=second[i++])
first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}
return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)
if(!inv!=!callback(elems[i],i))
ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
ret[ret.length]=value;}
return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")
ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)
jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)
this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)
this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}
return cur;},find:function(t,context){if(typeof t!="string")
return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)
for(var c=ret[i].firstChild;c;c=c.nextSibling)
if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))
r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)
if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}
if(m=="+")break;}}
ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
if(m[1]==".")
r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)
if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}
r=tmp;}
ret=r;}
t=t.replace(re2,"");}}
if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
if(t)
ret=[];if(ret&&context==ret[0])
ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)
tmp.push(r[i]);}
return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
if(!m)
break;if(m[1]==":"&&m[2]=="not")
r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")
r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))
z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)
tmp.push(a);}
r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)
if(n.nodeType==1)
n.nodeIndex=c++;merge[id]=true;}
var add=false;if(first==0){if(node.nodeIndex==last)
add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)
add=true;if(add^not)
tmp.push(node);}
r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")
fn=fn[m[2]];if(typeof fn=="string")
fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
matched.push(cur);cur=cur[dir];}
return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])
if(cur.nodeType==1&&++num==result)
break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
r.push(n);}
return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
return;if(jQuery.browser.msie&&elem.setInterval)
elem=window;if(!handler.guid)
handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
elem.addEventListener(type,handle,false);else if(elem.attachEvent)
elem.attachEvent("on"+type,handle);}}
handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
for(var type in events)
this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
delete events[type][handler.guid];else
for(handler in events[type])
if(!parts[1]||events[type][handler].type==parts[1])
delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)
elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)
elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}
ret=null;delete events[type];}}});}
for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
if(!elem){if(this.global[type])
jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
data[0].type=type;if(exclusive)
data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
val=false;if(event)
data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
val=ret;}
if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
this.triggered=false;}
return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
return val;},fix:function(event){if(event[expando]==true)
return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
event.target=event.srcElement||document;if(event.target.nodeType==3)
event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}
if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
event.metaKey=event.ctrlKey;if(!event.which&&event.button)
event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
jQuery.ready();})();if(jQuery.browser.opera)
document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)
if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}
jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}
if(numStyles===undefined)
numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}
jQuery.ready();})();}
jQuery.event.add(window,"load",jQuery.ready);}
jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
callback=callback||function(){};var type="GET";if(params)
if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}
return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}
return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))
s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))
s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}
if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}
if(head)
head.removeChild(script);};}
if(s.dataType=="script"&&s.cache==null)
s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
if(s.global&&!jQuery.active++)
jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}
head.appendChild(script);return undefined;}
var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
xhr.open(type,s.url,s.async,s.username,s.password);else
xhr.open(type,s.url,s.async);try{if(s.data)
xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
if(s.global)
jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
if(s.ifModified&&modRes)
jQuery.lastModified[s.url]=modRes;if(!jsonp)
success();}else
jQuery.handleError(s,xhr,status);complete();if(s.async)
xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
onreadystatechange("timeout");}},s.timeout);}
try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
if(!s.async)
onreadystatechange();function success(){if(s.success)
s.success(data,status);if(s.global)
jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
function complete(){if(s.complete)
s.complete(xhr,status);if(s.global)
jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");}
return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
throw"parsererror";if(filter)
data=filter(data,type);if(type=="script")
jQuery.globalEval(data);if(type=="json")
data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)
if(a[j]&&a[j].constructor==Array)
jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")
this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)
return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}
if(opt.overflow!=null)
this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))
e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
if(parts[1])
end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}
if(!type||(typeof type=="string"&&!fn))
return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)
queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)
fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
if(timers[i].elem==this){if(gotoEnd)
timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}
return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)
q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)
return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)
if(!timers[i]())
timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)
if(this.options.curAnim[i]!==true)
done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
this.elem.style.display="block";}
if(this.options.hide)
this.elem.style.display="none";if(this.options.hide||this.options.show)
for(var p in this.options.curAnim)
jQuery.attr(this.elem.style,p,this.options.orig[p]);}
if(done)
this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
border(parent);parent=parent.parentNode;}
if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
results={top:top,left:left};}
function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}
function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}
return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
num(this,"padding"+tl)+
num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
num(this,"border"+tl+"Width")+
num(this,"border"+br+"Width")+
(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.quoteString=function(string)
{if(escapeable.test(string))
{return'"'+string.replace(escapeable,function(a)
{var c=meta[a];if(typeof c==='string'){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};$.toJSON=function(o)
{var type=typeof(o);if(type=="undefined")
return"undefined";else if(type=="number"||type=="boolean")
return o+"";else if(o===null)
return"null";if(type=="string")
{return $.quoteString(o);}
if(type=="object"&&typeof o.toJSON=="function")
return o.toJSON();if(type!="function"&&typeof(o.length)=="number")
{var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i]));}
return"["+ret.join(", ")+"]";}
if(type=="function"){throw new TypeError("Unable to convert object of type 'function' to json.");}
ret=[];for(var k in o){var name;var type=typeof(k);if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;val=$.toJSON(o[k]);if(typeof(val)!="string"){continue;}
ret.push(name+": "+val);}
return"{"+ret.join(", ")+"}";};$.evalJSON=function(src)
{return eval("("+src+")");};})(jQuery);(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}
var validator=$.data(this[0],'validator');if(validator){return validator;}
validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});this.submit(function(event){if(validator.settings.debug)
event.preventDefault();function handle(){if(validator.settings.submitHandler){validator.settings.submitHandler.call(validator,validator.currentForm);return false;}
return true;}
if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}
if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}
return handle();}else{validator.focusInvalid();return false;}});}
return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=false;var validator=$(this[0].form).validate();this.each(function(){valid|=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(){result[this]=$element.attr(this);$element.removeAttr(this);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)
settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}
var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}
var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}
return data;},push:function(t){return this.setArray(this.add(t).get());}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value);},filled:function(a){return!!$.trim(a.value);},unchecked:function(a){return!a.checked;}});$.format=function(source,params){if(arguments.length==1)
return function(){var args=$.makeArray(arguments);args.unshift(source);return $.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}
if(params.constructor!=Array){params=[params];}
$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init();};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)
this.element(element);},highlight:function(element,errorClass){$(element).addClass(errorClass);},unhighlight:function(element,errorClass){$(element).removeClass(errorClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gültiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.format("Please enter no more than {0} characters."),minlength:$.format("Please enter at least {0} characters."),rangelength:$.format("Please enter a value between {0} and {1} characters long."),range:$.format("Please enter a value between {0} and {1}."),max:$.format("Please enter a value less than or equal to {0}."),min:$.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0]);}
$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler)
$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())
$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}
return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}
if(!this.numberOfInvalids()){this.toHide.push(this.containers);}
this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}
this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}
this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)
$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)
count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus();}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))
return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().push(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}
var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value,element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}
dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}
if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method");throw e;}}
if(dependencyMismatch)
return;if(this.objectLength(rules))
this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)
return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)
return arguments[i];}
return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function")
message=message.call(this,rule.parameters,element);this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)
toToggle.push(toToggle.parents(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass);this.showLabel(error.element,error.message);}
if(this.errorList.length){this.toShow.push(this.containers);}
if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}
if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass);}}
this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+">").parent();}
if(!this.labelContainer.append(label).length)
this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}
if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}
this.toShow.push(label);},errorsFor:function(element){return this.errors().filter("[@for='"+this.idOrName(element)+"']");},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))
return this.findByName(element.name).filter(':checked').length;}
return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)
this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}
if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}
return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}
return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}
if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}
if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}
if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}
if(rules.messages){delete rules.messages;}
return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}
return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message;if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))
return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes['value'].specified)?options[0].text:options[0].value).length>0);case'input':if(this.checkable(element))
return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))
return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])
this.settings.messages[element.name]={};this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){if(response){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};errors[element.name]=response||validator.defaultMessage(element,"remote");validator.showErrors(errors);}
previous.valid=response;validator.stopRequest(element,response);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}
return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength(value,element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength(value,element)<=param;},rangelength:function(value,element,param){var length=this.getLength(value,element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))
return"dependency-mismatch";if(/[^0-9-]+/.test(value))
return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)
nDigit-=9;}
nCheck+=nDigit;bEven=!bEven;}
return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param:"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){return value==$(param).val();}}});})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}
return(pendingRequests[port]=ajax.apply(this,arguments));}
return ajax.apply(this,arguments);};})(jQuery);;(function($){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie)return false;this.addEventListener(original,$.event.special[fix].handler,true);},teardown:function(){if($.browser.msie)return false;this.removeEventListener(original,$.event.special[fix].handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})]);}});})(jQuery);jQuery.extend({createUploadIframe:function(id,uri)
{var frameId='jUploadFrame'+id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof uri=='boolean'){io.src='javascript:false';}
else if(typeof uri=='string'){io.src=uri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);return io;},createUploadForm:function(id,fileElementId,extraContent)
{var formId='jUploadForm'+id;var fileId='jUploadFile'+id;var form=$('<form  action="" method="POST" name="'+formId+'" id="'+formId+'" enctype="multipart/form-data"></form>');var oldElement=$('#'+fileElementId);var newElement=$(oldElement).clone();$(oldElement).attr('id',fileId);$(oldElement).before(newElement);$(oldElement).appendTo(form);if(extraContent&&(typeof extraContent=='object')){for(var key in extraContent){$('<input type="hidden" name="'+key+'" value="'+extraContent[key]+'" />').appendTo(form);}}
$(form).css('position','absolute');$(form).css('top','-1200px');$(form).css('left','-1200px');$(form).appendTo('body');return form;},ajaxFileUpload:function(s){s=jQuery.extend({},jQuery.ajaxSettings,s);var id=new Date().getTime();var form=jQuery.createUploadForm(id,s.fileElementId,s.extraContent);var io=jQuery.createUploadIframe(id,s.secureuri);var frameId='jUploadFrame'+id;var formId='jUploadForm'+id;if(s.global&&!jQuery.active++)
{jQuery.event.trigger("ajaxStart");}
var requestDone=false;var xml={};if(s.global)
jQuery.event.trigger("ajaxSend",[xml,s]);var uploadCallback=function(isTimeout)
{var io=document.getElementById(frameId);try
{if(io.contentWindow)
{xml.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}else if(io.contentDocument)
{xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;}}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(xml||isTimeout=="timeout")
{requestDone=true;var status;try{status=isTimeout!="timeout"?"success":"error";if(status!="error")
{var data=jQuery.uploadHttpData(xml,s.dataType);if(s.success)
s.success(data,status);if(s.global)
jQuery.event.trigger("ajaxSuccess",[xml,s]);}else
jQuery.handleError(s,xml,status);}catch(e)
{status="error";jQuery.handleError(s,xml,status,e);}
if(s.global)
jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");if(s.complete)
s.complete(xml,status);jQuery(io).unbind();setTimeout(function()
{try
{$(io).remove();$(form).remove();}catch(e)
{jQuery.handleError(s,xml,null,e);}},100);xml=null;}};if(s.timeout>0)
{setTimeout(function(){if(!requestDone)uploadCallback("timeout");},s.timeout);}
try
{var form=$('#'+formId);$(form).attr('action',s.url);$(form).attr('method','POST');$(form).attr('target',frameId);if(form.encoding)
{form.encoding='multipart/form-data';}
else
{form.enctype='multipart/form-data';}
$(form).submit();}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(window.attachEvent){document.getElementById(frameId).attachEvent('onload',uploadCallback);}
else{document.getElementById(frameId).addEventListener('load',uploadCallback,false);}
return{abort:function(){}};},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script")
jQuery.globalEval(data);if(type=="json"){data=eval("("+data+")");}
if(type=="html")
jQuery("<div>").html(data).evalScripts();return data;}});$.Jcrop=function(obj,opt)
{var obj=obj,opt=opt;if(typeof(obj)!=='object')obj=$(obj)[0];if(typeof(opt)!=='object')opt={};if(!('trackDocument'in opt))
opt.trackDocument=$.browser.msie?false:true;if(!('keySupport'in opt))
opt.keySupport=$.browser.msie?false:true;var defaults={trackDocument:false,baseClass:'jcrop',addClass:null,bgColor:'black',bgOpacity:.6,borderOpacity:.4,handleOpacity:.5,handlePad:5,handleSize:9,handleOffset:5,edgeMargin:14,aspectRatio:0,keySupport:true,cornerHandles:true,sideHandles:true,drawBorders:true,dragEdges:true,boxWidth:0,boxHeight:0,boundary:8,animationDelay:20,swingSpeed:3,watchShift:false,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){}};var options=defaults;setOptions(opt);var $img=$(obj).css({position:'absolute'});presize($img,options.boxWidth,options.boxHeight);var boundx=$img.width(),boundy=$img.height(),$div=$('<div />').width(boundx).height(boundy).addClass(cssClass('holder')).css({position:'relative',backgroundColor:options.bgColor});if(options.addClass)$div.addClass(options.addClass);$img.wrap($div);var $img2=$('<img />').attr('src',$img.attr('src')).css('position','absolute').width(boundx).height(boundy);var $img_holder=$('<div />').width(pct(100)).height(pct(100)).css({zIndex:310,position:'absolute',overflow:'hidden'}).append($img2);var $hdl_holder=$('<div />').width(pct(100)).height(pct(100)).css({zIndex:320});var $sel=$('<div />').css({position:'absolute',zIndex:300}).insertBefore($img).append($img_holder,$hdl_holder);var bound=options.boundary;var $trk=$('<div />').addClass(cssClass('tracker')).width(boundx+(bound*2)).height(boundy+(bound*2)).css({position:'absolute',top:px(-bound),left:px(-bound),zIndex:290,opacity:0}).mousedown(newSelection);var xscale,yscale;var docOffset=getPos(obj),btndown,aspectLock,lastcurs,dimmed,animating,shift_down;if('trueSize'in options)
{xscale=options.trueSize[0]/boundx;yscale=options.trueSize[1]/boundy;}
var Coords=function()
{var x1=0,y1=0,x2=0,y2=0,ox,oy;function setPressed(pos)
{var pos=rebound(pos);x2=x1=pos[0];y2=y1=pos[1];};function setCurrent(pos)
{var pos=rebound(pos);ox=pos[0]-x2;oy=pos[1]-y2;x2=pos[0];y2=pos[1];};function getOffset()
{return[ox,oy];};function moveOffset(offset)
{var ox=offset[0],oy=offset[1];if(0>x1+ox)ox-=ox+x1;if(0>y1+oy)oy-=oy+y1;if(boundy<y2+oy)oy+=boundy-(y2+oy);if(boundx<x2+ox)ox+=boundx-(x2+ox);x1+=ox;x2+=ox;y1+=oy;y2+=oy;};function getCorner(ord)
{var c=getFixed();switch(ord)
{case'ne':return[c.x2,c.y];case'nw':return[c.x,c.y];case'se':return[c.x2,c.y2];case'sw':return[c.x,c.y2];}};function getFixed()
{if(!options.aspectRatio&&!aspectLock)return getRect();var aspect=options.aspectRatio?options.aspectRatio:aspectLock,min=options.minSize,max=options.maxSize,rw=x2-x1,rh=y2-y1,rwa=Math.abs(rw),rha=Math.abs(rh),real_ratio=rwa/rha,xx,yy;if(real_ratio<aspect)
{yy=y2;w=rha*aspect;xx=rw<0?x1-w:w+x1;if(xx<0)
{xx=0;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}
else if(xx>boundx)
{xx=boundx;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}}
else
{xx=x2;h=rwa/aspect;yy=rh<0?y1-h:y1+h;if(yy<0)
{yy=0;w=Math.abs((yy-y1)*aspect);xx=rw<0?x1-w:w+x1;}
else if(yy>boundy)
{yy=boundy;w=Math.abs(yy-y1)*aspect;xx=rw<0?x1-w:w+x1;}}
return last=makeObj(flipCoords(x1,y1,xx,yy));};function rebound(p)
{if(p[0]<0)p[0]=0;if(p[1]<0)p[1]=0;if(p[0]>boundx)p[0]=boundx;if(p[1]>boundy)p[1]=boundy;return[p[0],p[1]];};function flipCoords(x1,y1,x2,y2)
{var xa=x1,xb=x2,ya=y1,yb=y2;if(x2<x1)
{xa=x2;xb=x1;}
if(y2<y1)
{ya=y2;yb=y1;}
return[Math.round(xa),Math.round(ya),Math.round(xb),Math.round(yb)];};function getRect()
{var xsize=x2-x1;var ysize=y2-y1;if(xlimit&&(Math.abs(xsize)>xlimit))
x2=(xsize>0)?(x1+xlimit):(x1-xlimit);if(ylimit&&(Math.abs(ysize)>ylimit))
y2=(ysize>0)?(y1+ylimit):(y1-ylimit);if(ymin&&(Math.abs(ysize)<ymin))
y2=(ysize>0)?(y1+ymin):(y1-ymin);if(xmin&&(Math.abs(xsize)<xmin))
x2=(xsize>0)?(x1+xmin):(x1-xmin);if(x1<0){x2-=x1;x1-=x1;}
if(y1<0){y2-=y1;y1-=y1;}
if(x2<0){x1-=x2;x2-=x2;}
if(y2<0){y1-=y2;y2-=y2;}
if(x2>boundx){var delta=x2-boundx;x1-=delta;x2-=delta;}
if(y2>boundy){var delta=y2-boundy;y1-=delta;y2-=delta;}
if(x1>boundx){var delta=x1-boundy;y2-=delta;y1-=delta;}
if(y1>boundy){var delta=y1-boundy;y2-=delta;y1-=delta;}
return makeObj(flipCoords(x1,y1,x2,y2));};function makeObj(a)
{return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]};};return{flipCoords:flipCoords,setPressed:setPressed,setCurrent:setCurrent,getOffset:getOffset,moveOffset:moveOffset,getCorner:getCorner,getFixed:getFixed};}();var Selection=function()
{var start,end,dragmode,awake,hdep=370;var borders={};var handle={};var seehandles=false;var hhs=options.handleOffset;if(options.drawBorders){borders={top:insertBorder('hline').css('top',$.browser.msie?px(-1):px(0)),bottom:insertBorder('hline'),left:insertBorder('vline'),right:insertBorder('vline')};}
if(options.dragEdges){handle.t=insertDragbar('n');handle.b=insertDragbar('s');handle.r=insertDragbar('e');handle.l=insertDragbar('w');}
options.sideHandles&&createHandles(['n','s','e','w']);options.cornerHandles&&createHandles(['sw','nw','ne','se']);function insertBorder(type)
{var jq=$('<div />').css({position:'absolute',opacity:options.borderOpacity}).addClass(cssClass(type));$img_holder.append(jq);return jq;};function dragDiv(ord,zi)
{var jq=$('<div />').mousedown(createDragger(ord)).css({cursor:ord+'-resize',position:'absolute',zIndex:zi});$hdl_holder.append(jq);return jq;};function insertHandle(ord)
{return dragDiv(ord,hdep++).css({top:px(-hhs+1),left:px(-hhs+1),opacity:options.handleOpacity}).addClass(cssClass('handle'));};function insertDragbar(ord)
{var s=options.handleSize,o=hhs,h=s,w=s,t=o,l=o;switch(ord)
{case'n':case's':w=pct(100);break;case'e':case'w':h=pct(100);break;}
return dragDiv(ord,hdep++).width(w).height(h).css({top:px(-t+1),left:px(-l+1)});};function createHandles(li)
{for(i in li)handle[li[i]]=insertHandle(li[i]);};function moveHandles(c)
{var midvert=Math.round((c.h/2)-hhs),midhoriz=Math.round((c.w/2)-hhs),north=west=-hhs+1,east=c.w-hhs,south=c.h-hhs,x,y;'e'in handle&&handle.e.css({top:px(midvert),left:px(east)})&&handle.w.css({top:px(midvert)})&&handle.s.css({top:px(south),left:px(midhoriz)})&&handle.n.css({left:px(midhoriz)});'ne'in handle&&handle.ne.css({left:px(east)})&&handle.se.css({top:px(south),left:px(east)})&&handle.sw.css({top:px(south)});'b'in handle&&handle.b.css({top:px(south)})&&handle.r.css({left:px(east)});};function moveto(x,y)
{$img2.css({top:px(-y),left:px(-x)});$sel.css({top:px(y),left:px(x)});};function resize(w,h)
{$sel.width(w).height(h);};function refresh()
{var p=Coords.getFixed();Coords.setPressed([p.x,p.y]);Coords.setCurrent([p.x2,p.y2]);};function updateVisible()
{if(awake)return update();};function update()
{var c=Coords.getFixed();resize(c.w,c.h);moveto(c.x,c.y);options.drawBorders&&borders['right'].css({left:px(c.w-1)})&&borders['bottom'].css({top:px(c.h-1)});seehandles&&moveHandles(c);awake||show();options.onChange(unscale(c));};function show()
{$sel.show();$img.css('opacity',options.bgOpacity);awake=true;};function release()
{disableHandles();$sel.hide();$img.css('opacity',1);awake=false;};function hide()
{release();$img.css('opacity',1);awake=false;};function enableHandles()
{seehandles=true;moveHandles(Coords.getFixed());$hdl_holder.show();};function disableHandles()
{seehandles=false;$hdl_holder.hide();};function animMode(v)
{(animating=v)?disableHandles():enableHandles();};function done()
{var c=Coords.getFixed();animMode(false);refresh();};disableHandles();$img_holder.append
($('<div />').addClass(cssClass('tracker')).mousedown(createDragger('move')).css({cursor:'move',position:'absolute',zIndex:360,opacity:0}));return{updateVisible:updateVisible,update:update,release:release,show:show,hide:hide,enableHandles:enableHandles,disableHandles:disableHandles,animMode:animMode,done:done};}();var Tracker=function()
{var onMove=function(){},onDone=function(){},trackDoc=options.trackDocument;if(!trackDoc)
{$trk.mousemove(trackMove).mouseup(trackUp).mouseout(trackUp);}
function toFront()
{if(trackDoc)
{$(document).mousemove(trackMove).mouseup(trackUp);}
$trk.css({zIndex:450});}
function toBack()
{if(trackDoc)
{$(document).unbind('mousemove',trackMove).unbind('mouseup',trackUp);}
$trk.css({zIndex:290});}
function trackMove(e)
{onMove(mouseAbs(e));};function trackUp(e)
{e.preventDefault();e.stopPropagation();if(btndown)
{btndown=false;onDone(mouseAbs(e));options.onSelect(unscale(Coords.getFixed()));toBack();onMove=function(){};onDone=function(){};}
return false;};function activateHandlers(move,done)
{btndown=true;onMove=move;onDone=done;toFront();return false;};function setCursor(t){$trk.css('cursor',t);};$img.before($trk);return{activateHandlers:activateHandlers,setCursor:setCursor};}();var KeyManager=function()
{var $keymgr=$('<input type="radio" />').css({position:'absolute',left:'-30px'}).keydown(parseKey).keyup(watchShift).blur(onBlur),$keywrap=$('<div />').css({position:'absolute',overflow:'hidden'}).append($keymgr);function watchKeys()
{if(options.keySupport)
{$keymgr.show();$keymgr.focus();}};function onBlur(e)
{$keymgr.hide();};function watchShift(e)
{if(!options.watchShift)return;var init_shift=shift_down,fc;shift_down=e.shiftKey?true:false;if(init_shift!=shift_down){if(shift_down&&btndown){fc=Coords.getFixed();aspectLock=fc.w/fc.h;}else aspectLock=0;Selection.update();}
e.stopPropagation();e.preventDefault();return false;};function doNudge(e,x,y)
{Coords.moveOffset([x,y]);Selection.updateVisible();e.preventDefault();e.stopPropagation();};function parseKey(e)
{if(e.ctrlKey)return true;watchShift(e);var nudge=shift_down?10:1;switch(e.keyCode)
{case 37:doNudge(e,-nudge,0);break;case 39:doNudge(e,nudge,0);break;case 38:doNudge(e,0,-nudge);break;case 40:doNudge(e,0,nudge);break;case 27:Selection.release();break;case 9:return true;}
return false;};if(options.keySupport)$keywrap.insertBefore($img);return{watchKeys:watchKeys};}();function px(n){return''+parseInt(n)+'px';};function pct(n){return''+parseInt(n)+'%';};function cssClass(cl){return options.baseClass+'-'+cl;};function getPos(obj)
{var pos=$(obj).offset();return[pos.left,pos.top];};function mouseAbs(e)
{return[(e.pageX-docOffset[0]),(e.pageY-docOffset[1])];};function myCursor(type)
{if(type!=lastcurs)
{Tracker.setCursor(type);lastcurs=type;}};function startDragMode(mode,pos)
{docOffset=getPos(obj);Tracker.setCursor(mode=='move'?mode:mode+'-resize');if(mode=='move')
return Tracker.activateHandlers(createMover(pos),doneSelect);var fc=Coords.getFixed();Coords.setPressed(Coords.getCorner(oppLockCorner(mode)));Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect);};function dragmodeHandler(mode,f)
{return function(pos){if(!options.aspectRatio&&!aspectLock)switch(mode)
{case'e':pos[1]=f.y2;break;case'w':pos[1]=f.y2;break;case'n':pos[0]=f.x2;break;case's':pos[0]=f.x2;break;}
else switch(mode)
{case'e':pos[1]=f.y+1;break;case'w':pos[1]=f.y+1;break;case'n':pos[0]=f.x+1;break;case's':pos[0]=f.x+1;break;}
Coords.setCurrent(pos);Selection.update();};};function createMover(pos)
{var lloc=pos;KeyManager.watchKeys();return function(pos)
{Coords.moveOffset([pos[0]-lloc[0],pos[1]-lloc[1]]);lloc=pos;Selection.update();};};function oppLockCorner(ord)
{switch(ord)
{case'n':return'sw';case's':return'nw';case'e':return'nw';case'w':return'ne';case'ne':return'sw';case'nw':return'se';case'se':return'nw';case'sw':return'ne';};};function createDragger(ord)
{return function(e){btndown=true;startDragMode(ord,mouseAbs(e));e.stopPropagation();e.preventDefault();return false;};};function presize($obj,w,h)
{var nw=$obj.width(),nh=$obj.height();if((nw>w)&&w>0)
{nw=w;nh=(w/$obj.width())*$obj.height();}
if((nh>h)&&h>0)
{nh=h;nw=(h/$obj.height())*$obj.width();}
xscale=$obj.width()/nw;yscale=$obj.height()/nh;$obj.width(nw).height(nh);};function unscale(c)
{return{x:parseInt(c.x*xscale),y:parseInt(c.y*yscale),x2:parseInt(c.x2*xscale),y2:parseInt(c.y2*yscale),w:parseInt(c.w*xscale),h:parseInt(c.h*yscale)};};function doneSelect(pos)
{var c=Coords.getFixed();if(c.w>options.minSelect[0]&&c.h>options.minSelect[1])
{Selection.enableHandles();Selection.done();}
else
{Selection.release();}
Tracker.setCursor('crosshair');};function newSelection(e)
{btndown=true;docOffset=getPos(obj);Selection.release();Selection.disableHandles();myCursor('crosshair');Coords.setPressed(mouseAbs(e));Tracker.activateHandlers(selectDrag,doneSelect);KeyManager.watchKeys();e.stopPropagation();e.preventDefault();return false;};function selectDrag(pos)
{Coords.setCurrent(pos);Selection.update();};function animateTo(a)
{var x1=a[0],y1=a[1],x2=a[2],y2=a[3];if(animating)return;var animto=Coords.flipCoords(x1,y1,x2,y2);var c=Coords.getFixed();var animat=initcr=[c.x,c.y,c.x2,c.y2];var interv=options.animationDelay;var x=animat[0];var y=animat[1];var x2=animat[2];var y2=animat[3];var ix1=animto[0]-initcr[0];var iy1=animto[1]-initcr[1];var ix2=animto[2]-initcr[2];var iy2=animto[3]-initcr[3];var pcent=0;var velocity=options.swingSpeed;Selection.animMode(true);var animator=function()
{return function()
{pcent+=(100-pcent)/velocity;animat[0]=x+((pcent/100)*ix1);animat[1]=y+((pcent/100)*iy1);animat[2]=x2+((pcent/100)*ix2);animat[3]=y2+((pcent/100)*iy2);if(pcent<100)animateStart();else Selection.done();if(pcent>=99.8)pcent=100;setSelect(animat);};}();function animateStart()
{window.setTimeout(animator,interv);};animateStart();};function setSelect(l)
{Coords.setPressed([l[0],l[1]]);Coords.setCurrent([l[2],l[3]]);Selection.update();};function setOptions(opt)
{if(typeof(opt)!='object')opt={};options=$.extend(options,opt);if(typeof(options.onChange)!=='function')
options.onChange=function(){};if(typeof(options.onSelect)!=='function')
options.onSelect=function(){};};function tellSelect()
{return unscale(Coords.getFixed());};function tellScaled()
{return Coords.getFixed();};function setOptionsNew(opt)
{setOptions(opt);if('setSelect'in opt){setSelect(opt.setSelect);Selection.done();}};if(typeof(opt)!='object')opt={};if('setSelect'in opt){setSelect(opt.setSelect);Selection.done();}
var xlimit=options.maxSize[0]||0;var ylimit=options.maxSize[1]||0;var xmin=options.minSize[0]||0;var ymin=options.minSize[1]||0;Tracker.setCursor('crosshair');return{animateTo:animateTo,setSelect:setSelect,setOptions:setOptionsNew,tellSelect:tellSelect,tellScaled:tellScaled};};$.fn.Jcrop=function(options)
{function attachWhenDone(from)
{var loadsrc=options.useImg||from.src;var img=new Image();var from=from;img.onload=function(){$(from).hide().after(img);from.Jcrop=$.Jcrop(img,options);};img.src=loadsrc;};if(typeof(options)!=='object')options={};this.each(function()
{if('Jcrop'in this)
{if(options=='api')return this.Jcrop;else this.Jcrop.setOptions(options);}
else attachWhenDone(this);});return this;};xp={areas:{home:{},network:{},settings:{profile:{}}}};xp.AbstractPopup=function(node,createPopupNode){var self={};var _={};var TIME_BEFORE_SHOWING=150;var TIME_BEFORE_HIDING=200;var POPUP_ARROW_MID_VERTICAL_OFFSET=13;var POPUP_ARROW_WIDTH=9;var POPUP_ARROW_EDGE_OFFSET=2;var popupNode=null;var showing=false;_.initialize=function(){$(node).parent('a').removeAttr('title');$(node).hover(function(event){_.show();},function(event){_.hide();});};_.show=function(){showing=true;if(!popupNode){popupNode=_.createPopupNode();}
setTimeout(function(){if(showing){_.showProper();}},TIME_BEFORE_SHOWING);};_.showProper=function(){$('.xj_popup').not(popupNode).each(function(i,eachPopupNode){$(eachPopupNode).hide();});var jNode=$(node);var nodeOffset=jNode.offset();var jPopupNode=$(popupNode);jPopupNode.css('left',0).css('top',0).removeClass('pop-left').removeClass('pop-right').removeClass('pop-left-bottom').removeClass('pop-right-bottom').addClass('popup').addClass('pop-left');var nodeVerticalCenter=nodeOffset.top+Math.round(jNode.height()/2);var leftSideX=function(){return nodeOffset.left+jNode.outerWidth()-POPUP_ARROW_WIDTH+POPUP_ARROW_EDGE_OFFSET;};var rightSideX=function(){return nodeOffset.left-jPopupNode.outerWidth()+POPUP_ARROW_WIDTH-POPUP_ARROW_EDGE_OFFSET;};var topSideY=function(){return nodeVerticalCenter-POPUP_ARROW_MID_VERTICAL_OFFSET;};var bottomSideY=function(){return nodeVerticalCenter-jPopupNode.outerHeight()+POPUP_ARROW_MID_VERTICAL_OFFSET;};var leftSide=true;var topSide=true;var leftX=0;var topY=0;if(leftSideX()+jPopupNode.outerWidth()<$(window).width()){leftSide=true;leftX=leftSideX();}else{leftSide=false;leftX=rightSideX();}
if(topSideY()+jPopupNode.outerHeight()<$(window).height()+$(window).scrollTop()){topSide=true;topY=topSideY();}else{topSide=false;topY=bottomSideY();}
var popupClass='pop-'+(leftSide?'left':'right')+(topSide?'':'-bottom');jPopupNode.css('left',leftX).css('top',topY);jPopupNode.removeClass('pop-left').addClass(popupClass);jPopupNode.show();};_.hide=function(){showing=false;if(!popupNode){return;}
setTimeout(function(){if(!showing){$(popupNode).hide();}},TIME_BEFORE_HIDING);};_.createPopupNode=function(){var popupNode=$(createPopupNode());popupNode.appendTo(document.body).addClass('xj_popup').css('position','absolute').hide();popupNode.hover(function(event){showing=true;},function(event){_.hide();});return popupNode[0];};_.initialize();return self;};xp.ContactSelector=function(args){var self={};var _={};var DEFAULT_ROW_COUNT_ABOVE_VIEWPORT_WITH_AVATARS=100;var DEFAULT_ROW_COUNT_BELOW_VIEWPORT_WITH_AVATARS=400;var DEFAULT_ROW_COUNT_ABOVE_VIEWPORT_WITHOUT_AVATARS=1000;var DEFAULT_ROW_COUNT_BELOW_VIEWPORT_WITHOUT_AVATARS=4000;var APPROXIMATE_ROW_HEIGHT_WITH_AVATARS=41;var APPROXIMATE_ROW_HEIGHT_WITHOUT_AVATARS=30;var contacts=args.contacts,maxSelected=args.maxSelected,selectedContactCountLabelText=args.selectedContactCountLabelText,contactSelectorCallback=args.contactSelectorCallback,showAvatars=args.showAvatars,rowCountAboveViewport=args.rowCountAboveViewport,rowCountBelowViewport=args.rowCountBelowViewport,searchInstructions=args.searchInstructions,noSearchbox=args.noSearchbox;_.initialize=function(){self=$.extend(self,xp.EntitySelector({entities:_.sort(contacts),maxSelected:maxSelected,selectedEntityCountLabelText:selectedContactCountLabelText,getEntities:contactSelectorCallback,approximateRowHeight:showAvatars?APPROXIMATE_ROW_HEIGHT_WITH_AVATARS:APPROXIMATE_ROW_HEIGHT_WITHOUT_AVATARS,rowCountAboveViewport:rowCountAboveViewport?rowCountAboveViewport:(showAvatars?DEFAULT_ROW_COUNT_ABOVE_VIEWPORT_WITH_AVATARS:DEFAULT_ROW_COUNT_ABOVE_VIEWPORT_WITHOUT_AVATARS),rowCountBelowViewport:rowCountBelowViewport?rowCountBelowViewport:(showAvatars?DEFAULT_ROW_COUNT_BELOW_VIEWPORT_WITH_AVATARS:DEFAULT_ROW_COUNT_BELOW_VIEWPORT_WITHOUT_AVATARS),render:_.render}));if(!noSearchbox){_.installSearchbox();}};self.getSelectedContacts=function(){return self.getSelectedEntities();};_.installSearchbox=function(){var searchDescriptionSection=$('<div class="search-results-title xj_search_description_section"> \
                <span class="xj_search_description"></span> \
                <a href="#" class="xj_show_everyone" onclick="xp_publish(\'ClickShowEveryone\'); return true;">'+xp.nls.html('SHOW_EVERYONE')+'</a> \
            </div>');$(self.getNode()).prepend(searchDescriptionSection);var searchForm=$('<form action="#" class="xj_search_form" onsubmit="xp_publish(\'SubmitContactSelectorSearch\'); return true;"> \
                <div class="form-search"> \
                    <label>'+xp.string.qh(searchInstructions)+'</label> \
                    <input type="text" name="q" value="" /> \
                    <button type="submit">'+xp.nls.html('SEARCH')+'</button> \
                </div> \
            </form> \
        ').submit(function(event){event.preventDefault();_.search($.trim(this.q.value));}).prependTo(self.getNode());$(self.getNode()).find('.xj_show_everyone').click(function(event){event.preventDefault();_.search('');searchForm[0].q.value='';});};_.sort=function(contacts){var sortedContacts=contacts.slice();sortedContacts.sort(function(A,B){var a=A.fullName;var b=B.fullName;if(a==null&&b==null){return 0;}else if(a==null){return 1;}else if(b==null){return-1;}else{a=a.toLowerCase();b=b.toLowerCase();}
return a>b?1:(a<b?-1:0);});return sortedContacts;};_.render=function(contacts,start){var i=start;var listItems=[];$.each(contacts,function(j,contact){listItems.push('<li><label><input type="checkbox" class="checkbox" onclick="xp.EntitySelector.instances[',self.getInstanceId(),'].checkboxClicked(this, ',i,')"',contact.selected?' checked="checked"':'',' /> ');if(showAvatars){listItems.push('<img src="',contact.avatarUrl,'" width="32" height="32" alt="" />');}
listItems.push('<span class="name">',xp.string.qh(contact.fullName),'</span>');if(contact.emailAddress){listItems.push('<span class="email">',xp.string.qh(contact.emailAddress),'</span>');}
listItems.push('</label></li>');++i;});return listItems.join('');};_.search=function(q){var contactsToDisplay=contacts;if(q.length>0){var searchTerms=q.toLowerCase().split(/\s+/);contactsToDisplay=$.grep(contacts,function(contact){if(!contact.fullText){contact.fullText=((contact.fullName||'')+' '+(contact.emailAddress||'')).toLowerCase();}
for(var i=0;i<searchTerms.length;i++){if(contact.fullText.indexOf(searchTerms[i])===-1){return false;}}
return true;});}
var model=xp.EntitySelectorModel(contactsToDisplay,contactSelectorCallback,maxSelected);self.setModel(model);if(q.length===0){$(self.getNode()).find('.xj_search_description_section').hide();}else{$(self.getNode()).find('.xj_search_description').text(xp.nls.text('SHOWING_N_FRIENDS_MATCHING_X',model.getNumEntities(),q));$(self.getNode()).find('.xj_search_description_section').show();}};_.initialize();return self;};xp.EntitySelector=function(args){var self={};var _={};var entities=args.entities,maxSelected=args.maxSelected,selectedEntityCountLabelText=args.selectedEntityCountLabelText,getEntities=args.getEntities,approximateRowHeight=args.approximateRowHeight,rowCountAboveViewport=args.rowCountAboveViewport,rowCountBelowViewport=args.rowCountBelowViewport,render=args.render;var model;var viewport;var selectedEntityCount=0;var node;var instanceId;_.initialize=function(){node=_.createNode();model=xp.EntitySelectorModel(entities,getEntities,maxSelected);viewport=xp.EntitySelectorViewport($(node).find('.xj_viewport')[0],model,render,approximateRowHeight,rowCountAboveViewport,rowCountBelowViewport);xp.EntitySelector.instances.push(self);instanceId=xp.EntitySelector.instances.length-1;_.setSelectedForAllEntities(true);$(node).find('.xj_all').click(function(event){event.preventDefault();_.setSelectedForAllEntities(true);});$(node).find('.xj_none').click(function(event){event.preventDefault();_.setSelectedForAllEntities(false);});};self.initializeWhenShown=function(){viewport.initializeWhenShown();};self.getNode=function(){return node;};self.getSelectedEntities=function(){return model.getSelectedEntities();};self.getInstanceId=function(){return instanceId;};self.setModel=function(_model){model=_model;viewport.setModel(model);_.setSelectedEntityCount(model.getSelectedEntities().length);}
self.checkboxClicked=function(checkbox,i){var entity=model.getEntity(i);entity.selected=checkbox.checked;_.setSelectedEntityCount(Math.max(0,selectedEntityCount+(entity.selected?1:-1)));};_.createNode=function(){var node=$('<div> \
            <div class="friend-selector xj_viewport"> \
                <div class="xj_full_extent"><ul></ul></div> \
            </div> \
            <div class="friend-selector-options"> \
                <p class="select-all">'+xp.nls.html('SELECT_ALL_NONE','href="#" class="xj_all" onclick="xp_publish(\'ClickSelectAll\'); return true;"','href="#" class="xj_none" onclick="xp_publish(\'ClickSelectNone\'); return true;"')+'</p> \
                <p class="count xj_selected_entity_count form-input"><span></span></p> \
            </div> \
        </div>')[0];return node;};_.setSelectedEntityCount=function(_selectedEntityCount){if(selectedEntityCountLabelText instanceof Function){selectedEntityCount=_selectedEntityCount;$(node).find('.xj_selected_entity_count').find('span').text(selectedEntityCountLabelText(selectedEntityCount));if(maxSelected&&selectedEntityCount>maxSelected){$(node).find('.xj_selected_entity_count').find('span').addClass('length-exceeded');}else{$(node).find('.xj_selected_entity_count').find('span').removeClass('length-exceeded');}}};_.setSelectedForAllEntities=function(selected){model.setSelectedForAllEntities(selected);_.setSelectedEntityCount(selected?model.getSelectedEntities().length:0);$(viewport.getUl()).find('input').each(function(i){$(this).attr('checked',model.getEntity(i).selected);});};_.initialize();return self;};xp.EntitySelector.instances=[];xp.EntitySelectorModel=function(_entities,getEntities,maxSelected){var self={};var _={};var entities=[];_.initialize=function(){if(!getEntities){getEntities=function(entities,start,end,onSuccess){onSuccess(entities.slice(start,end));};}
entities=_entities.slice();};self.getEntity=function(i){return entities[i];};self.getEntities=function(start,end,onSuccess){getEntities(entities,start,end,onSuccess);};self.getSelectedEntities=function(){return $.grep(entities,function(entity){return entity.selected;});};self.setSelectedForAllEntities=function(selected){var currentlySelected=self.getSelectedEntities().length;$.each(entities,function(i,entity){if(selected&&maxSelected&&currentlySelected>=maxSelected){return;}
if(entity.selected===selected){return;}
entity.selected=selected;currentlySelected++;});};self.getNumEntities=function(){return entities.length;};_.initialize();return self;};xp.EntitySelectorViewport=function(node,model,render,approximateRowHeight,rowCountAboveViewport,rowCountBelowViewport){var self={};var _={};var RENDERING_DELAY_AFTER_SCROLLING=200;var SCROLLBAR_POLLING_INTERVAL=50;var rowHeight;var rowHeightCalibrated=false;var ul;var ulStart=null;var ulEnd=null;var spinner;_.initialize=function(){ul=$(node).find('ul')[0];rowHeight=approximateRowHeight;};self.initializeWhenShown=function(){_.doRender();_.addOnScroll(_.doRender);};self.setModel=function(_model){model=_model;ulStart=ulEnd=null;_.doRender();_.updateScrollbarExtent();};_.doRender=function(){var requiredEntityIndexes=_.getRequiredEntityIndexes();if(!requiredEntityIndexes){return;}
_.setSpinnerVisible(true);model.getEntities(requiredEntityIndexes.start,requiredEntityIndexes.end,function(entities){$(ul).html(render(entities,requiredEntityIndexes.start));if(!rowHeightCalibrated){_.calibrateRowHeight();_.updateScrollbarExtent();rowHeightCalibrated=true;}
ulStart=requiredEntityIndexes.start;ulEnd=requiredEntityIndexes.start+ul.getElementsByTagName('li').length;ul.style.top=(requiredEntityIndexes.start*rowHeight)+'px';_.setSpinnerVisible(false);});};_.setSpinnerVisible=function(spinnerVisible){if(!spinner){spinner=$('<img src="'+xp.url.imageUrl('spinner.gif')+'" alt="" style="position: absolute; width: 20px; height: 20px; padding: 10px;" />')[0];node.appendChild(spinner);}
spinner.style.top=node.scrollTop+'px';if(spinnerVisible){$(spinner).show();}else{$(spinner).hide();}}
self.getUl=function(){return ul;};_.addOnScroll=function(callback){var timer=_.createQuiescenceTimer(RENDERING_DELAY_AFTER_SCROLLING,callback);var scrollTop=node.scrollTop;setInterval(function(){if(node.scrollHeight==0){return;}
if(scrollTop==node.scrollTop){return;}
scrollTop=node.scrollTop;timer.trigger();},SCROLLBAR_POLLING_INTERVAL);};_.createQuiescenceTimer=function(milliseconds,callback){var lastTriggerId=0;return{trigger:function(){lastTriggerId++;var triggerId=lastTriggerId;setTimeout(function(){if(triggerId==lastTriggerId){callback();}},milliseconds);}};};_.getViewportStart=function(){if(node.scrollHeight==0){return 0;}
return Math.floor(model.getNumEntities()*node.scrollTop/node.scrollHeight);};_.getViewportEnd=function(){if(node.scrollHeight==0){return 1;}
return Math.min(model.getNumEntities(),1+Math.floor(model.getNumEntities()*(node.scrollTop+node.clientHeight)/node.scrollHeight));};_.getRowCountToRetrieve=function(){return rowCountAboveViewport+Math.ceil(node.clientHeight/rowHeight)+rowCountBelowViewport;};_.getRequiredEntityIndexes=function(){if(ulStart!==null&&ulStart<=_.getViewportStart()&&_.getViewportEnd()<=ulEnd){return null;}
var indexes={};indexes.start=Math.max(0,_.getViewportStart()-rowCountAboveViewport);indexes.end=indexes.start+_.getRowCountToRetrieve();return indexes;};_.updateScrollbarExtent=function(){var fullExtentDiv=$(node).find('.xj_full_extent')[0];fullExtentDiv.style.height=(rowHeight*model.getNumEntities())+'px';};_.calibrateRowHeight=function(){var lis=ul.getElementsByTagName('li');if(lis.length==0){return;}
if(lis[0].offsetHeight<5||100<lis[0].offsetHeight){return;}
rowHeight=lis[0].offsetHeight;};_.initialize();return self;};xp.FormFocus=function(node){var self={};var _={};_.initialize=function(){var errorClass=$(node).attr('_errorClassName')?$(node).attr('_errorClassName'):'form-error';var errorInputs=$('.'+errorClass,node).find(':input, :password');if(errorInputs.length>0){$(errorInputs[0]).focus();return;}
var nonHiddenElements=[];$(':input,:password',node).each(function(){var type=$(this).attr('type').toLowerCase();if(type!=='hidden'){nonHiddenElements.push(this);}});if(nonHiddenElements.length>0){var first=nonHiddenElements[0];$(first).focus();}};_.initialize();return self;};xp.LanguageSelector=function(args){var self={};var _={};var node=args.node,currentLocale=args.currentLocale,onClickLink=args.onClickLink,onRenderMenu=args.onRenderMenu,onClickMenuItem=args.onClickMenuItem;_.initialize=function(){jNode=$(node);if(jNode.find('li').length===0){_.createListItems();}
jNode.find('.xj_label a').click(function(event){event.preventDefault();onClickLink();});jNode.find('.xj_label a').click(_.toggle);jNode.find('li span.this').click(_.toggle);jNode.find('li a').click(_.onSelect);};_.toggle=function(event){event.preventDefault();$(node).find('.xj_menu').toggle();$(node).find('.xj_label').toggleClass('menu-label-on');if($(node).find('.xj_label').hasClass('menu-label-on')){onRenderMenu();}};_.createListItems=function(){var html=[];$('#xj_language_selector li > *').each(function(i,x){x=$(x);if(x.attr('_locale')===currentLocale){html.push('<li><span class="this" _locale="'+x.attr('_locale')+'">'+x.html()+'</span></li>');}else{html.push('<li><a href="#" _locale="'+x.attr('_locale')+'">'+x.html()+'</a></li>');}});$(node).find('ul').html(html.join(''));};_.onSelect=function(event){var nextLocaleLink=$(this);var nextLocaleSpan=$('<span class="this" _locale="'+nextLocaleLink.attr('_locale')+'">'+nextLocaleLink.html()+'</span>');var previousLocaleSpan=$(node).find('li span.this');var previousLocaleLink=$('<a href="#" _locale="'+previousLocaleSpan.attr('_locale')+'">'+previousLocaleSpan.html()+'</a>');nextLocaleLink.replaceWith(nextLocaleSpan);previousLocaleSpan.replaceWith(previousLocaleLink);nextLocaleSpan.click(_.toggle);previousLocaleLink.click(_.onSelect);$(node).find('.xj_label a').text(nextLocaleSpan.text());_.toggle(event);onClickMenuItem(nextLocaleSpan.attr('_locale'));}
_.initialize();return self;};xp.LazyLoadPopup=function(node,areaName,loadStrategy,id,createPopupNode,lazyLoadComplete,ajaxArgumentsConstructor){var self;var _={};var ajaxUrl='/main/ajax?area='+areaName;var DOM_READY_POLL_RATE=200;var LOAD_ONPAGESERVE='onpageserve';var LOAD_ONDOMREADY='ondomready';var LOAD_ONMOUSEOVER='onmouseover';var contextFetched=false;var posted=false;_.initialize=function(){if(loadStrategy===LOAD_ONPAGESERVE){contextFetched=true;}else if(loadStrategy===LOAD_ONDOMREADY){if(!xp.LazyLoadPopup.onReadyHandlers[areaName]){xp.LazyLoadPopup.onReadyHandlers[areaName]=function(){var ajaxCallback=function(data){if(data.success){$.each(data.contexts,function(id,context){xp.topic.publish('xp.'+areaName+'.'+id+'.contextFetched',[data]);});}};var ONDOMREADY_CHUNK_SIZE=5;var chunkArgs=function(args,param){if(!param){return[args];}
var argsToChunk=$.evalJSON(args[param]);var chunkedArgs=[];var chunksToMake=Math.ceil(argsToChunk.length/ONDOMREADY_CHUNK_SIZE);for(var i=0;i<chunksToMake;i++){var a={};for(k in args){a[k]=args[k];}
var start=i*ONDOMREADY_CHUNK_SIZE;var end=start+ONDOMREADY_CHUNK_SIZE;a[param]=$.toJSON(argsToChunk.slice(start,end));chunkedArgs.push(a);}
return chunkedArgs;};var args=ajaxArgumentsConstructor();var param=null;if(args.subdomains){param='subdomains';}else if(args.screenNames){param='screenNames';}
var argChunks=chunkArgs(args,param);$.each(argChunks,function(i,a){a['xp_token']=xp.token;$.post(ajaxUrl,a,ajaxCallback,'json');});};$(document).ready(xp.LazyLoadPopup.onReadyHandlers[areaName]);}
xp.topic.subscribe('xp.'+areaName+'.'+id+'.contextFetched',_.populateContextData);}
self=new xp.AbstractPopup(node,_.createPopupNode);};_.createPopupNode=function(){var popupNode=createPopupNode();_.lazyLoad(popupNode);return popupNode;};_.lazyLoad=function(popupNode){if(contextFetched||loadStrategy===LOAD_ONPAGESERVE){lazyLoadComplete(popupNode);}else if(loadStrategy===LOAD_ONMOUSEOVER){if(!posted){posted=true;var args=ajaxArgumentsConstructor();args['xp_token']=xp.token;$.post(ajaxUrl,args,function(data){_.populateContextData(data);lazyLoadComplete(popupNode);},'json');}}else if(loadStrategy===LOAD_ONDOMREADY){setTimeout(function(){_.lazyLoad(popupNode);},DOM_READY_POLL_RATE);}};_.populateContextData=function(data){var idData=data.contexts[id];$.each(idData,function(key,val){val=(val instanceof String)?xp.string.qh(val):val;$(node).attr(key,val);});contextFetched=true;};_.initialize();return self;};xp.LazyLoadPopup.onReadyHandlers={};xp.NetworkSelector=function(args){var self={};var _={};var APPROXIMATE_ROW_HEIGHT_WITH_AVATARS=41;var APPROXIMATE_ROW_HEIGHT_WITHOUT_AVATARS=30;var networks=args.networks,showUrls=args.showUrls,showAvatars=args.showAvatars,showCheckboxes=args.showCheckboxes,selectedNetworkCountLabelText=args.selectedNetworkCountLabelText,networkSelectorCallback=args.networkSelectorCallback,rowCountAboveViewport=args.rowCountAboveViewport,rowCountBelowViewport=args.rowCountBelowViewport;_.initialize=function(){self=$.extend(self,xp.EntitySelector({entities:networks,maxSelected:null,selectedEntityCountLabelText:selectedNetworkCountLabelText,getEntities:networkSelectorCallback,approximateRowHeight:showAvatars?APPROXIMATE_ROW_HEIGHT_WITH_AVATARS:APPROXIMATE_ROW_HEIGHT_WITHOUT_AVATARS,rowCountAboveViewport:rowCountAboveViewport,rowCountBelowViewport:rowCountBelowViewport,render:_.render}));};self.getSelectedNetworks=function(){return self.getSelectedEntities();};_.render=function(networks,start){var i=start;var listItems=[];$.each(networks,function(j,network){listItems.push('<li id="xj_',network.subdomain,'"><label>');if(showCheckboxes){listItems.push('<input type="checkbox" class="checkbox" onclick="xp.EntitySelector.instances[',self.getInstanceId(),'].checkboxClicked(this, ',i,')"',network.selected?' checked="checked"':'',' /> ');}
if(showAvatars){listItems.push('<img id="xj_img_',network.subdomain,'" src="',network.userThumbnailUrl,'" width="32" height="32" alt="" />');}
listItems.push('<span class="name">',xp.string.qh(network.networkName),'</span>');if(showUrls){listItems.push('<span class="url">',network.networkUrl,'</span>');}
listItems.push('</label></li>');++i;});return listItems.join('');};_.initialize();return self;};(function($){$.fn.ningBindJs=function(bindArray){if(bindArray===undefined||bindArray===null||typeof bindArray!=="object"){return this;}
for(var factoryMethod in bindArray){for(var selector in bindArray[factoryMethod]){$(selector,this).each(function(i,node){try{var factory=eval(factoryMethod);if(factory.instances===undefined){factory.instances=[];}
factory.instances.push(factory(node));}catch(e){}});}}
return this;};})(jQuery);xp.PasswordVerificationDialog=function(node,args){var self={};var _={};var ajaxUrl=null;var posting=false;var dialog=null;var spinnerButton=null;var headerHtml=args.headerHtml,bodyHtml=args.bodyHtml,okLabel=args.okLabel,okBusyLabel=args.okBusyLabel,ajaxUrl=args.ajaxUrl,ajaxArgs=args.ajaxArgs,onSuccess=args.onSuccess,onError=args.onError;var formItems=args.formItems?args.formItems:[];var formLayout=args.formLayout?args.formLayout:'form-vertical';var moduleClass=args.moduleClass?(args.moduleClass+' '):'';var passwordLocation=args.passwordLocation?args.passwordLocation:'first';var confirmPasswordLabel=args.confirmPasswordLabel?args.confirmPasswordLabel:xp.nls.html('CONFIRM_YOUR_PASSWORD');_.initialize=function(){$(node).click(function(event){event.preventDefault();if(dialog===null){dialog=_.createDialog();}
_.reset(true);xp.lightbox.show(dialog);$(dialog).find('input:first').focus();});};_.createDialog=function(){var passwordItemString='<li> \
                <div class="form-label"> \
                    <label for="verify">'+confirmPasswordLabel+'</label> \
                </div> \
                <div class="form-input"> \
                    <input id="xj_password_verification" name="xj_password_verification" class="text" type="password" value=""/> \
                </div> \
            </li>';var formItemsString='';for(var i=0;i<formItems.length;i++){formItemsString+='<li> \
                    <div class="form-label"> \
                        <label for="verify">'+formItems[i].label+'</label> \
                    </div> \
                    <div class="form-input"> \
                        <input id="'+formItems[i].id+'" name="'+formItems[i].name+'" class="text" type="'+formItems[i].type+'" value=""/> \
                    </div> \
                </li> \
                ';}
var formString=((passwordLocation=='first')?passwordItemString:'')+
formItemsString+
((passwordLocation=='last')?passwordItemString:'');var dialog=$('<form class="modal"> \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module '+moduleClass+'first-child"> \
                <h3>'+headerHtml+'</h3> \
                <div class="xj_notification"></div> \
                <div class="xj_body form '+formLayout+'"> \
                    '+bodyHtml+'\
                    <ul>'+formString+'</ul> \
                    <div class="form-actions"> \
                        <button class="xj_ok" type="submit">'+xp.string.qh(okLabel)+'</button>&nbsp;<a href="#" class="xj_close">'+xp.nls.html('CANCEL')+'</a> \
                    </div> \
                </div> \
            </div> \
        </form>');spinnerButton=xp.SpinnerButton($('.xj_ok',dialog).get(0),okBusyLabel,true);dialog.appendTo(document.body);xp.form.validate(dialog[0],{submitHandler:_.onSubmit});return dialog.get(0);};_.onSubmit=function(){if(spinnerButton.isBusy()){return;}
spinnerButton.setBusy(true);var postArgs=ajaxArgs();$(dialog).find('input').each(function(i){postArgs[this.name]=this.value;});postArgs['xp_token']=xp.token;$.post(ajaxUrl,postArgs,_.handleResponse,'json');return false;};_.handleResponse=function(data){spinnerButton.setBusy(false);if(!data.success){var message=data.errorMessage?data.errorMessage:'<p>'+xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode)+'</p>';_.showNotification(false,message);if(onError instanceof Function){onError(data);}}else{_.reset(true);xp.lightbox.hide();if(onSuccess instanceof Function){onSuccess(data);}}};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.reset=function(hideNotification){if(spinnerButton){spinnerButton.setBusy(false);}
if(hideNotification){$(dialog).find('.xj_notification').hide();}
xp.form.resetValidation(dialog);};_.attr=function(attributeName){return $.trim($(node).attr(attributeName));};_.initialize();return self;};xp.PostLink=function(node){var self={};var _={};var posting=false;_.initialize=function(){var jNode=$(node);jNode.click(function(event){event.preventDefault();if(posting){return;}
if(!jNode.attr('_bodyHtml')&&!jNode.attr('_bodyText')){_.post();}else{xp.dialog.confirm({header:jNode.attr('_header')||null,bodyHtml:jNode.attr('_bodyHtml')||null,bodyText:jNode.attr('_bodyText')||null,okLabel:jNode.attr('_okLabel')||null,onOk:_.post,useCancelButton:jNode.attr('_useCancelButton')||null,cancelLabel:jNode.attr('_useCancelLabel')||null,onCancel:jNode.attr('_onCancel')||null});}});};_.post=function(){posting=true;xp.form.postSynchronously(node.getAttribute('_url'));};_.initialize();return self;};xp.SelectContactsDialog=function(args){var self={};var _={};var dialog=null;var spinnerButton;var contacts=args.contacts,showAvatars=args.showAvatars,title=args.title,successMessage=args.successMessage,description=args.description,searchInstructions=args.searchInstructions,okLabel=args.okLabel,okBusyLabel=args.okBusyLabel,cancelLabel=args.cancelLabel,selectedContactCountLabelText=args.selectedContactCountLabelText,onSuccess=args.onSuccess;var contactSelector;var maxSelected=args.maxSelected;_.initialize=function(){};self.show=function(){xp_publish('RenderSelectContacts');if(!cancelLabel){cancelLabel=xp.nls.text('CANCEL');}
var creatingDialog=dialog===null;if(creatingDialog){dialog=_.createDialog();if(successMessage){_.showNotification(true,xp.string.qh(successMessage));}}
xp.lightbox.show(dialog);if(creatingDialog){contactSelector.initializeWhenShown();}
$(dialog).find('input[@type=text]')[0].focus();xp_publish('RenderedSelectContacts');return self;};self.getNode=function(){return dialog;};_.createDialog=function(){var dialog=$('<div class="modal" > \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close" onclick="xp_publish(\'ClickXSelectContacts\'); return true;">'+xp.nls.html('CLOSE')+'</a></div> \
            <h3>'+xp.string.qh(title)+'</h3> \
            <div class="xj_notification"></div> \
            <p>'+xp.string.qh(description)+'</p> \
            <div class="form"> \
                <div class="form-actions xj_form_actions"> \
                    <button type="submit" class="xj_ok" onclick="xp_publish(\'SubmitSelectContacts\'); return true;">'+xp.string.qh(okLabel)+'</button> \
                    <a href="#" class="xj_close" onclick="xp_publish(\'ClickCancelSelectContacts\'); return true;">'+xp.string.qh(cancelLabel)+'</a> \
                </div> \
            </div> \
        </div>');contactSelector=xp.ContactSelector({contacts:contacts,showAvatars:showAvatars,selectedContactCountLabelText:selectedContactCountLabelText,searchInstructions:searchInstructions,'maxSelected':maxSelected});dialog.find('.form').prepend(contactSelector.getNode());spinnerButton=xp.SpinnerButton(dialog.find('.xj_ok')[0],okBusyLabel,true);dialog.appendTo(document.body);dialog.find('.xj_ok').click(_.onSubmit);return dialog[0];};_.onSubmit=function(event){if(spinnerButton.isBusy()){return;}
spinnerButton.setBusy(true);onSuccess(contactSelector.getSelectedContacts());};self.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.initialize();return self;};xp.SpinnerButton=function(button,busyText,insertSpinnerBeforeButton){var self={};var _={};var spinner;var busy=false;var originalText=button.tagName==='BUTTON'?$(button).text():$(button).val();_.initialize=function(){spinner=$('<div class="spinner">...</div>');if(insertSpinnerBeforeButton){spinner.insertBefore(button);}else{spinner.insertAfter(button);}
_.setSpinnerVisible(false);};self.setBusy=function(_busy){busy=_busy;var text=busy?busyText:originalText;_.setSpinnerVisible(busy);button.tagName==='BUTTON'?$(button).text(text):$(button).val(text);};self.isBusy=function(){return busy;};self.setBusyText=function(_busyText){busyText=_busyText;};_.setSpinnerVisible=function(spinnerVisible){spinner.css('opacity',spinnerVisible?1:0);};_.initialize();return self;};xp.dialog=(function(){var self={};var _={};_.dialogNode=null;self.progress=function(args){return _.showDialog(_.createProgressDialog,args);};_.createProgressDialog=function(args){var jDialogNode=$('<div class="modal modal-progress" style="display: none;" />');var bodyNode=$('<div class="module first-child"><a href="/"><img width="44" height="17" alt="'+xp.nls.html('NING')+'" src="'+xp.string.qh(xp.url.imageUrl('ning-logo-green-sm.gif'))+'" /></a><img class="progress-icon" width="24" height="24" alt="" src="'+xp.string.qh(xp.url.imageUrl('spinner-globe.gif'))+'" /><h3 class="after-logo">'+args.header+'</h3></div>');if('bodyHtml'in args||'bodyText'in args){if('bodyText'in args){args.bodyHtml=xp.string.qh(args.bodyText);}
bodyNode.append($('<p>'+args.bodyHtml+'</p>'));}
jDialogNode.append(bodyNode).appendTo(document.body).hide();return jDialogNode.get(0);};self.confirm=function(args){args.useCancelButton=args.useCancelButton==null?true:args.useCancelButton;args.bodyHtml=args.bodyHtml||xp.string.qh(args.bodyText);args.okLabel=args.okLabel||xp.nls.html('OK');args.cancelLabel=args.cancelLabel||xp.nls.html('CANCEL');return _.showDialog(_.createConfirmDialog,args);};_.createConfirmDialog=function(args){var jDialogNode=$('<div class="modal" style="margin-top: -49.5px; display: none;">'+'<div class="modal-close"><a class="xg_icon xg_icon-close xj_close" href="#">'+xp.nls.html('CLOSE')+'</a></div>'+'</div>');var bodyNode=$('<div class="module first-child" / >');if(args.header){$('<h3>'+args.header+'</h3>').appendTo(bodyNode);}
var formNode=$('<div class="form">'+'<p>'+args.bodyHtml+'</p>'+'</div>');var buttonNode=$('<div class="form-actions" />');var okButtonNode=$('<button class="xj_close" href="#">'+args.okLabel+'</button>');var onOkSpinner=null;if(args.onOkButtonLabel){onOkSpinner=xp.SpinnerButton(okButtonNode.get(0),args.onOkButtonLabel);}
buttonNode.append(okButtonNode.click(function(){if(typeof args.onOk=='function'){if(onOkSpinner){onOkSpinner.setBusy(true);}
args.onOk.call(args.onOk,_.dialogNode);}}));if(args.useCancelButton){buttonNode.append($('&nbsp;<a href="#" class="xj_close">'+args.cancelLabel+'</a>').click(function(){if(typeof args.onCancel=='function'){args.onCancel.call(args.onCancel,_.dialogNode);}}));}
buttonNode.appendTo(formNode);bodyNode.append(formNode);jDialogNode.append(bodyNode).appendTo(document.body).hide();return jDialogNode.get(0);};_.showDialog=function(dialogFunc,args){if(_.dialogNode){$(_.dialogNode).remove();}
_.dialogNode=dialogFunc.call(dialogFunc,args);xp.lightbox.show(_.dialogNode);return{hide:function(){xp.lightbox.hide();}};};return self;})();xp.form=(function(){var self={};var _={};_.validatorInitialized=false;self.validate=function(form,options){var defaultOptions={errorElement:'span',errorClass:'form-validation-msg',highlight:function(element,errorClass){$(element).parents('li:first').removeClass('form-valid').addClass('form-error');},unhighlight:function(element,errorClass){$(element).parents('li:first').removeClass('form-error');},errorPlacement:function(label,element){var hint=element.next('.form-hint');if(hint.length>0){label.insertAfter(hint);}else{label.insertAfter(element);}},success:function(span){if(!$.data(span[0],'pret-1724-workaround-applied')){span.before(' ');$.data(span[0],'pret-1724-workaround-applied',true);}
span.parents('li:first').addClass('form-valid');span.text(xp.nls.text('VALID'));}};if(!_.validatorInitialized){_.initializeValidator();}
form.validator=$(form).validate($.extend(defaultOptions,options));};_.initializeValidator=function(){$.validator.addMethod('pattern',_.validatePattern,null);$.validator.addMethod('remoteJson',_.validateRemote,null);$.validator.addMethod('emailDomain',_.validateEmailDomain,null);$.validator.addMethod('validationFunction',_.validateFunction,null);};_.validateFunction=function(value,element,result){var optionalResult=this.optional(element);if(optionalResult){return optionalResult;}
return result;};_.validatePattern=function(value,element,pattern){var optionalResult=this.optional(element);if(optionalResult){return optionalResult;}
var re=new RegExp(pattern);return re.test(value);};_.validateRemote=function(value,element,url){var optionalResult=this.optional(element);if(optionalResult){return optionalResult;}
var response=$.ajax({url:url,async:false,type:'POST',cache:false,data:'value='+xp.string.qh(value)+'&xp_token='+xp.token}).responseText;var data=eval('('+response+')');if(data&&'valid'in data){return data.valid;}else{return false;}};_.validateEmailDomain=function(value,element,emailDomains){var optionalResult=this.optional(element);if(optionalResult){return optionalResult;}
return emailDomains[value.split('@')[1].toLowerCase()];};self.resetValidation=function(form){form.validator.resetForm();$(form).find('.form-valid').removeClass('form-valid');$(form).find('.form-error').removeClass('form-error');$(form).find('.form-success-summary').removeClass('form-success-summary');$(form).find('.form-error-summary').removeClass('form-error-summary');};self.addHint=function(textInput,hint){var input=$(textInput);if(input.attr('value')==''){input.attr('value',hint);input.addClass('hint');}
input.focus(function(){if(this.value==hint){$(this).attr('value','').removeClass('hint');}}).blur(function(){if(this.value==''){$(this).attr('value',hint).addClass('hint');}});};self.addHints=function(inputNodes,useNodeText,hint){useNodeText=useNodeText||false;hint=hint||'';$(inputNodes).each(function(){self.addHint(this,useNodeText?$(this).attr('_hintText'):hint);});};self.setMaxLengthWithCount=function(inputNode,countNode,maxLength,args){if(inputNode&&countNode){if(!args){args={};}
var enforceMaxLength='enforceMaxLength'in args?args.enforceMaxLength:false;var negativeCountClass='negativeCountClass'in args?args.negativeCountClass:'length-exceeded';var onNegativeCallback=('onNegative'in args)&&(typeof args.onNegative=='function')?args.onNegative:false;var onNonNegativeCallback=('onNonNegative'in args)&&(typeof args.onNonNegative=='function')?args.onNonNegative:false;var counterFunction=('counterFunction'in args)?args.counterFunction:undefined;var _updateCountNode=function(inputNode,countNode,maxLength,enforceMaxLength,negativeCountClass){if(counterFunction){var currentLength=counterFunction.call(null,$(inputNode).val());}else{var currentLength=$(inputNode).val().length;}
if(enforceMaxLength&&(currentLength>maxLength)){$(inputNode).val($(inputNode).val().substr(0,maxLength));currentLength=maxLength;}
if(negativeCountClass.length>0){if(currentLength>maxLength){$(countNode).addClass(negativeCountClass);}else{$(countNode).removeClass(negativeCountClass);}}
var currentCount=parseInt($(countNode).html());var newCount=maxLength-currentLength;if((currentCount>=0)&&(newCount<0)&&onNegativeCallback){onNegativeCallback.call();}else if((currentCount<0)&&(newCount>=0)&&onNonNegativeCallback){onNonNegativeCallback.call();}
$(countNode).text(args.showCharsLabel?xp.nls.text('N_CHARS',newCount):newCount);};$(inputNode).bind('keyup keypress focus blur cut paste change',function(event){var key=event.which||event.keyCode;if(enforceMaxLength&&($(inputNode).val().length>=maxLength)&&(key!=8)){event.preventDefault();}
_updateCountNode(inputNode,countNode,maxLength,enforceMaxLength,negativeCountClass);});$(inputNode).bind('focus',function(event){$(countNode).css('visibility','visible');});$(inputNode).bind('blur',function(event){if(counterFunction){var currentLength=counterFunction.call(null,$(inputNode).val());}else{var currentLength=$(inputNode).val().length;}
if(currentLength<maxLength){$(countNode).css('visibility','hidden');}});}};self.postSynchronously=function(url,content){content=content||{};content.xp_token=xp.token;var form=$('<form method="post"></form>').attr('action',url);for(name in content){form.append($('<input type="hidden"/>').attr('name',name).attr('value',content[name]));}
form.appendTo(document.body).submit();};return self;})();xp.lang=(function(){var self={};var _={};self.isEmpty=function(object){var tmp={};for(var x in object){if(object[x]&&!tmp[x]){return false;}}
return true;};self.length=function(object){var length=0;var tmp={};for(var x in object){if(object[x]&&!tmp[x]){length++;}}
return length;};return self;})();xp.lightbox=(function(){var self={};var _={};var initialized=false;var currentDialog=null;var currentOnHide;_.initialize=function(){$('body').append('<div id="overlay"></div>');if($.browser.msie.version<7){$('#overlay').append('<iframe frameborder="0"></iframe>');}
$(document).keydown(function(e){if(e.which==27){self.hide();}});initialized=true;};self.show=function(dialog,onHide){self.hide();if(!initialized){_.initialize();}
if(!dialog.initialized){$('.xj_close').click(function(event){event.preventDefault();self.hide();});dialog.initialized=true;}
$('#overlay').show();$(dialog).show();self.centerVertically($(dialog));var forms=$('form',dialog);if(forms.length>0){xp.FormFocus(forms[0]);}
currentDialog=dialog;currentOnHide=onHide?onHide:function(){};};self.hide=function(){if(!currentDialog){return;}
$('#overlay').hide();$(currentDialog).hide();currentDialog=null;currentOnHide();};self.centerVertically=function(node){node.css('margin-top',-1*(node.outerHeight()/2));};return self;})();xp.nls=(function(){var self={};var _={};self.choosePluralizationForm=function(n){throw'Message catalog must override this function';};self.html=function(name){return self.text.apply(self,arguments).replace(/ & /g,' &amp; ');};self.text=function(name){var message=xp.nls.messages[name];if(!message){message=name;}
if('object'===typeof message){message=message[self.choosePluralizationForm(arguments[1])];}
for(var i=1;i<arguments.length;i++){message=message.replace(new RegExp('%'+i+'\\$s','g'),arguments[i]);}
return message;};self.messages={};return self;})();xp.reload=(function(){var self={};var _={};var RELOAD_HASH='#rlm';self.checkForHashAndReload=function(){if(window.location.hash.indexOf(RELOAD_HASH)==0){window.location.replace(window.location.href.replace(/#.*$/,''));}};self.addHashToUrl=function(){window.location.hash=RELOAD_HASH;};return self;})();xp.string=(function(){var self={};var _={};self.qh=function(s){return s.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;").replace(/'/gm,"&#39;");};return self;})();xp.timezone=(function(){var self={};var _={};self.getTimezoneInfo=function(){var now=new Date();var winter=new Date(now.getFullYear(),0,1,12,0,0);var summer=new Date(now.getFullYear(),6,1,12,0,0);var tzOffset=winter.getTimezoneOffset();var tzUseDST=(winter.getTimezoneOffset()==summer.getTimezoneOffset())?0:1;if(winter.getTimezoneOffset()-summer.getTimezoneOffset()<0){tzUseDST=-1;}
return{tzOffset:tzOffset,tzUseDST:tzUseDST};};return self;})();xp.topic=(function(){var self={};var _={};var listeners={};self.publish=function(topic,args){if(!listeners[topic]){listeners[topic]=[];}
$.each(listeners[topic],function(i,listener){args=args==null?[]:args;listener.apply(listener,args);});};self.subscribe=function(topic,listener){if(!listeners[topic]){listeners[topic]=[];}
listeners[topic].push(listener);};self.unsubscribe=function(topic,listener){if(!listeners[topic]){listeners[topic]=[];}
listeners[topic]=$.map(listeners[topic],function(otherListener){return otherListener!==listener?otherListener:null;});};return self;})();xp.url=(function(){var self={};var _={};self.cdn=function(url){if(xp.cdn){var cdnUrl=url.replace(/.*?(\/[0-9.]+)?\/xn_resources(.*)/,xp.cdn+'$1$2');if(cdnUrl!=url){cdnUrl=self.addParameter(cdnUrl,'v',xp.version);if(xp.build){cdnUrl=self.addParameter(cdnUrl,'b',xp.build);}}
return cdnUrl;}else{return url;}};self.imageUrl=function(path){return self.cdn(xp.pathBase+'/xn_resources/main/gfx/'+path);};self.addParameters=function(url,namesAndValues){$.each(namesAndValues,function(name,value){url=self.addParameter(url,name,value);});return url;}
self.addParameter=function(url,name,value){var newUrl=url.replace(new RegExp('\\b'+name+'=[^&]+'),name+'='+encodeURIComponent(value));if(newUrl!==url){return newUrl;}
var delimiter=url.indexOf('?')>-1?'&':'?';return url+delimiter+name+'='+encodeURIComponent(value);};self.getParameter=function(url,name){var queryIdx=url.indexOf('?');if((queryIdx==-1)||(queryIdx==url.length-1)){return null;}
var fragIdx=url.indexOf('#');var query=(fragIdx==-1)?url.substring(queryIdx+1):url.substring(queryIdx+1,fragIdx);var vars=query.split("&");for(var i=0;i<vars.length;i++){var pair=vars[i].split("=",2);if(decodeURIComponent(pair[0])==name){return(pair.length>=2)?decodeURIComponent(pair[1]):'';}}
return null;};return self;})();xp.areas.ChangeLanguage=function(node){var self={};var _={};var posting=false;var selectorIsOpen=false;_.initialize=function(){_.selector=$('div.xj_language_selector');$(node).click(function(event){event.preventDefault();_.toggleSelector();});$('li .xj_locale',node.parentNode).click(function(event){event.preventDefault();if(!posting&&!$(this).hasClass('xj_locale_selected')){posting=true;$.post('?area=ChangeLanguage',{xp_token:xp.token,locale:$(this).attr('_locale')},function(data){posting=false;if('success'in data&&data.success){window.location=data.target;}},'json');}
_.toggleSelector();});};_.toggleSelector=function(){selectorIsOpen^=true;selectorIsOpen?$('#footer').css('z-index',3):$('#footer').css('z-index',1);selectorIsOpen?$('#locale').css('z-index',3):$('#locale').css('z-index',1);return selectorIsOpen?_.selector.show():_.selector.hide();};_.initialize();return self;};xp.areas.ContactImport=function(){var self={};var _={};var IMPORT_STATUS_POLLING_DELAY=5000;var PROFILE_INFO_EMAIL_COUNT=300;_.initialize=function(){};self.getContacts=function(data,onSuccess,onError){_.waitForContacts(data,function(fullNamesAndEmailAddresses){_.addProfileInfo(fullNamesAndEmailAddresses,function(contacts){_.addFriendInfo(contacts,function(){onSuccess(contacts);},onError);},onError);},onError);};_.waitForContacts=function(data,onSuccess,onError){if('contacts'in data){onSuccess(data.contacts);return;}
setTimeout(function(){var data={url:'/main/ajax?area=ContactImport&action=checkImport'};xp_publish('xp.areas.ContactImport.checkImport.before',[data]);$.get(data.url,{jobId:data.jobId},function(data){if(!data.success&&data.errorHtml){onError(data.errorHtml);return;}
if(!data.success){onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
self.waitForContacts(data,onSuccess,onError);},'json');},IMPORT_STATUS_POLLING_DELAY);};_.addProfileInfo=function(fullNamesAndEmailAddresses,onSuccess,onError){var emailAddressesRemaining=[];var contactsByEmailAddress={};$.each(fullNamesAndEmailAddresses,function(emailAddress,fullName){contactsByEmailAddress[emailAddress]={fullName:fullNamesAndEmailAddresses[emailAddress],emailAddress:emailAddress};emailAddressesRemaining.push(emailAddress);});var process=function(){var emailAddresses=emailAddressesRemaining.slice(0,PROFILE_INFO_EMAIL_COUNT);emailAddressesRemaining=emailAddressesRemaining.slice(PROFILE_INFO_EMAIL_COUNT);var data={url:'/main/ajax?area=ContactImport&action=profiles'};xp_publish('xp.areas.ContactImport.profiles.before',[data]);$.post(data.url,{emailAddresses:$.toJSON(emailAddresses),xp_token:xp.token},function(data){if(!data.success&&data.errorHtml){onError(data.errorHtml);return;}
if(!data.success){onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
$.each(data.profiles,function(emailAddress,profile){contactsByEmailAddress[emailAddress]={fullName:profile.fullName,emailAddress:emailAddress,screenName:profile.screenName,avatarUrl:profile.avatarUrl};});if(emailAddressesRemaining.length>0){process();}
else{var contacts=[];$.each(contactsByEmailAddress,function(emailAddress,contact){contacts.push(contact);});onSuccess(contacts);}},'json');};process();};_.addFriendInfo=function(contacts,onSuccess,onError){var data={url:'/main/ajax?area=ContactImport&action=friends'};xp_publish('xp.areas.ContactImport.friends.before',[data]);$.get(data.url,{},function(data){if(!data.success&&data.errorHtml){onError(data.errorHtml);return;}
if(!data.success){onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
$.each(contacts,function(i,contact){contact.friend=data.friends[contact.screenName]?true:false;});onSuccess();},'json');};_.initialize();return self;};xp.areas.DeleteNetworkLink=function(node){var self={};var _={};var dialog=null;_.initialize=function(){$(document).ready(xp.reload.checkForHashAndReload);var args={headerHtml:xp.nls.html('DELETE_NETWORK_QUESTION',xp.string.qh(_.attr('_networkName'))),bodyHtml:_.attr('_networkIconHtml')+'<p>'+xp.nls.html('ARE_YOU_SURE_YOU_WANT_TO_DELETE_NETWORK',xp.string.qh(_.attr('_networkName')))+'</p>',okLabel:xp.nls.html('DELETE'),okBusyLabel:xp.nls.html('DELETING'),ajaxUrl:'/main/ajax?area=DeleteNetworkLink',ajaxArgs:function(){return{subdomain:_.attr('_subdomain')};},moduleClass:'module-leave',onSuccess:function(data){data['subdomain']=_.attr('_subdomain');xp.topic.publish('xp.areas.DeleteNetworkLink.deletedNetwork',[data]);xp.reload.addHashToUrl();}};dialog=xp.PasswordVerificationDialog(node,args);if(window.location.pathname=='/'){var subdomain=xp.url.getParameter(window.location.search,'appUrl');var subop=xp.url.getParameter(window.location.search,'sop');if(subop=='deleteApp'&&subdomain==_.attr('_subdomain')){$(node).click();}
$('.xj_close').click(function(event){event.preventDefault();if(window.document.referrer){window.location.href=window.document.referrer;}else{window.location.href='/networks/created';}});}};_.attr=function(attributeName){return $.trim($(node).attr(attributeName));};_.initialize();return self;};xp.areas.FindFriendsViaEmail=function(form){var self={};var _={};var spinnerButton;_.initialize=function(){_.initializeValidation();_.initializeUploadContactFileDialog();spinnerButton=xp.SpinnerButton($(form).find('button')[0],xp.nls.text('FINDING_FRIENDS'),true);form.emailAddress.focus();};_.initializeUploadContactFileDialog=function(){$('.xj_uploadContactFile').click(function(event){event.preventDefault();xp.areas.UploadContactFileDialog().show();});xp.topic.subscribe('xp.areas.UploadContactFileDialog.success',_.onContactImport);};_.initializeValidation=function(){xp.form.validate(form,{rules:{emailAddress:{required:true,email:true,emailDomain:$.evalJSON(form.getAttribute('_emailDomains'))},password:{required:true}},messages:{emailAddress:{required:xp.nls.html('PLEASE_ENTER_EMAIL_ADDRESS'),email:function(){return xp.nls.html('X_IS_NOT_VALID_EMAIL_ADDRESS',xp.string.qh(form.emailAddress.value));},emailDomain:xp.nls.html('SORRY_WE_DO_NOT_SUPPORT')},password:{required:function(){return xp.nls.html('PLEASE_ENTER_PASSWORD');}}},success:null,submitHandler:_.onSubmit});};_.onSubmit=function(form){if(spinnerButton.isBusy()){return;}
spinnerButton.setBusy(true);$.post('/main/ajax?area=ImportWebEmailDialog',{emailAddress:form.emailAddress.value,password:form.password.value,xp_token:xp.token},function(data){if(!data.success&&data.errorHtml){_.onError(data.errorHtml);return;}
if(!data.success){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
xp.areas.ContactImport().getContacts(data,function(contacts){_.onContactImport(contacts,_.onError);},_.onError);},'json');};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');};_.showNotification=function(success,html){var notification=$(form).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(form).find('.xj_notification').fadeIn('slow');notification.html(html);};_.onContactImport=function(contacts,onError){xp.form.resetValidation(form);if(contacts.length===0){onError(xp.nls.html('WE_DIDNT_FIND_ADDRESSES'));return;}
spinnerButton.setBusy(false);var nonFriendMembers=$.grep(contacts,function(contact){return contact.screenName&&!contact.friend;});var nonMembers=$.grep(contacts,function(contact){return!contact.screenName;});if(nonFriendMembers.length===0&&nonMembers.length===0){onError(xp.nls.html('ALL_ALREADY_FRIENDS'));return;}
if(nonFriendMembers.length>0){var dialog=xp.SelectContactsDialog({contacts:nonFriendMembers,showAvatars:true,title:xp.nls.text('ADD_FRIENDS_ON_NING'),successMessage:null,description:xp.nls.text('THESE_PEOPLE_ARE_MEMBERS'),searchInstructions:xp.nls.text('SEARCH_PEOPLE_TO_ADD'),okLabel:xp.nls.text('ADD_AS_FRIEND'),okBusyLabel:xp.nls.text('ADDING_AS_FRIEND'),cancelLabel:null,selectedContactCountLabelText:function(selectedContactCount){return xp.nls.text('ADDING_N_FRIENDS',selectedContactCount);},onSuccess:function(selectedContacts){_.post(selectedContacts,null,function(){if(nonMembers.length===0){_.onFinish(selectedContacts.length?xp.nls.text('FRIEND_REQUESTS_HAVE_BEEN_SENT'):null);}else{var dialog=xp.SelectContactsDialog({contacts:nonMembers,showAvatars:false,title:xp.nls.text('SELECT_FRIENDS_FOR_INVITATION'),successMessage:selectedContacts.length?xp.nls.text('FRIEND_REQUESTS_HAVE_BEEN_SENT'):null,description:xp.nls.text('FOLLOWING_CONTACTS_ALSO_IN'),searchInstructions:xp.nls.text('SEARCH_FRIENDS_TO_INVITE'),okLabel:xp.nls.text('INVITE'),okBusyLabel:xp.nls.text('INVITING'),cancelLabel:xp.nls.text('SKIP'),selectedContactCountLabelText:function(selectedContactCount){return xp.nls.text('INVITING_N_FRIENDS',selectedContactCount);},onSuccess:function(selectedContacts){_.sendInvitations(selectedContacts,dialog);}});dialog.show();_.addLanguageSelector(dialog);}},dialog.onError);}}).show();}else{var dialog=xp.SelectContactsDialog({contacts:nonMembers,showAvatars:false,title:xp.nls.text('SELECT_FRIENDS_FOR_INVITATION'),successMessage:null,description:xp.nls.text('THESE_FRIENDS_IN_ADDRESS_BOOK'),searchInstructions:xp.nls.text('SEARCH_FRIENDS_TO_INVITE'),okLabel:xp.nls.text('ADD_FRIENDS_TO_INVITE'),okBusyLabel:xp.nls.text('ADDING_FRIENDS_TO_INVITE'),cancelLabel:null,selectedContactCountLabelText:function(selectedContactCount){return xp.nls.text('INVITING_N_FRIENDS',selectedContactCount);},onSuccess:function(selectedContacts){_.sendInvitations(selectedContacts,dialog);}});dialog.show();_.addLanguageSelector(dialog);}};_.addLanguageSelector=function(dialog){var languageSelectorHtml=' \
            <div class="menu-language clearfix xj_language_selector" _locale="'+$(form).attr('_currentLocale')+'"> \
                <span class="menu-text">TEXT1</span> \
                <span class="menu"> \
                    <span class="menu-label xj_label"> \
                        <a href="#">'+xp.string.qh($(form).attr('_currentLocaleName'))+'</a> \
                    </span> \
                    <span class="menu-item xj_menu"> \
                        <ul></ul> \
                    </span> \
                </span> \
                <span class="menu-period">TEXT2</span>\
            </div>';languageSelectorHtml=languageSelectorHtml.replace(/>\s+</,'><');var parts=languageSelectorHtml.split(/TEXT1|TEXT2/);languageSelectorHtml=parts[0]+xp.nls.html("INVITATIONS_SENT_IN_LANGUAGE",parts[1])+parts[2];var languageSelectorNode=$(languageSelectorHtml).insertBefore($('.xj_form_actions',dialog.getNode()));xp.LanguageSelector({node:languageSelectorNode,currentLocale:$(form).attr('_currentLocale'),onClickLink:function(){},onRenderMenu:function(){},onClickMenuItem:function(locale){languageSelectorNode.attr('_locale',locale);}});};_.sendInvitations=function(contacts,dialog){var locale=$(dialog.getNode()).find('.xj_language_selector').attr('_locale');_.post(contacts,locale,function(){_.onFinish(contacts.length?xp.nls.text('YOUR_INVITES_HAVE_BEEN_SENT'):null);},dialog.onError);};_.post=function(contacts,locale,onSuccess,onError){if(contacts.length===0){onSuccess();return;}
var emailAddresses=$.map(contacts,function(contact){return contact.emailAddress;});$.post('/main/ajax?area=FindFriendsViaEmail',{emailAddresses:$.toJSON(emailAddresses),locale:locale?locale:'',xp_token:xp.token},function(data){if(!data.success&&data.errorHtml){onError(data.errorHtml);return;}
if(!data.success){onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
onSuccess();},'json');};_.onFinish=function(message){xp.lightbox.hide();if(message){_.showNotification(true,xp.string.qh(message));}};_.initialize();return self;};xp.areas.ImportFromAddressBook=function(node){var self={};var _={};_.initialize=function(){var form=$('#xj_InviteYourFriends')[0];var currentDialog;$(node).click(function(event){event.preventDefault();form.flowType.value='AddrBook';form.flowLoopCount.value=parseInt(form.flowLoopCount.value)+1;var dialog=currentDialog=xp.areas.UploadContactFileDialog();dialog.setHelpUrl(xp.url.addParameters(dialog.getHelpUrl(),{flow:'invitation',flowLoopCount:form.flowLoopCount.value}));dialog.show();var errorLoopCount=0;$.each(['xp.areas.UploadContactFileDialog.submit.before','xp.areas.ContactImport.checkImport.before','xp.areas.ContactImport.profiles.before','xp.areas.ContactImport.friends.before'],function(i,topic){xp_subscribe(topic,function(data){if(dialog!==currentDialog){return;}
data.url=xp.url.addParameters(data.url,{flow:'invitation',flowType:form.flowType.value,flowLoopCount:form.flowLoopCount.value,errorLoopCount:errorLoopCount});});});xp_subscribe('RenderImportAddrBookErr',function(){if(dialog!==currentDialog){return;}
errorLoopCount++;});});};_.initialize();return self;};xp.areas.ImportFromWebEmail=function(node){var self={};var _={};_.initialize=function(){var form=$('#xj_InviteYourFriends')[0];var currentDialog;$(node).click(function(event){event.preventDefault();form.flowType.value='WebAddrBook';form.flowLoopCount.value=parseInt(form.flowLoopCount.value)+1;var parent=$(node).parents('[@_emailDomains]');var dialog=currentDialog=xp.areas.ImportWebEmailDialog(parent.attr('_initialEmailAddress'),$.evalJSON(parent.attr('_emailDomains')));dialog.show();var errorLoopCount=0;xp_subscribe('xp.areas.ImportWebEmailDialog.submit.before',function(data){if(dialog!==currentDialog){return;}
$.extend(data,{flow:'invitation',flowType:form.flowType.value,flowLoopCount:form.flowLoopCount.value,errorLoopCount:errorLoopCount})});$.each(['xp.areas.ContactImport.checkImport.before','xp.areas.ContactImport.profiles.before','xp.areas.ContactImport.friends.before'],function(i,topic){xp_subscribe(topic,function(data){if(dialog!==currentDialog){return;}
data.url=xp.url.addParameters(data.url,{flow:'invitation',flowType:form.flowType.value,flowLoopCount:form.flowLoopCount.value,errorLoopCount:errorLoopCount});});});xp_subscribe('RenderImportWebAddrBookErr',function(){if(dialog!==currentDialog){return;}
errorLoopCount++;});xp_subscribe('xp.areas.ImportWebEmailDialog.validation.error',function(errorCause){if(dialog!==currentDialog){return;}
errorLoopCount++;xp_publish('LogInvitationEvent',['RenderImportWebAddrBookErr',null,null,errorCause,errorLoopCount])});});};_.initialize();return self;};xp.areas.ImportInstructions=function(node){var self={};var _={};_.initialize=function(){$(node).find('li > a').click(function(event){event.preventDefault();$(this).next().toggle();});};_.initialize();return self;};xp.areas.ImportWebEmailDialog=function(initialEmailAddress,emailDomains){var self={};var _={};var dialog=null;var spinnerButton;_.initialize=function(){};self.show=function(){xp_publish('RenderImportWebAddrBook');if(dialog===null){dialog=_.createDialog();}
xp.lightbox.show(dialog);$(dialog).find('input[@type=text]')[0].focus();xp_publish('RenderedImportWebAddrBook');};_.createDialog=function(){var dialog=$('<div class="modal" > \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close" onclick="xp_publish(\'ClickXImportWebAddrBook\'); return true;">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module first-child"> \
                <h3>'+xp.nls.html('IMPORT_EMAIL_ADDRESSES')+'</h3> \
                <div class="xj_notification"></div> \
                <div class="services"> \
                    <img src="'+xp.url.imageUrl('invite/yahoomail.png')+'" alt=""/> \
                    <img src="'+xp.url.imageUrl('invite/msnhotmail.png')+'" alt=""/> \
                    <img src="'+xp.url.imageUrl('invite/gmail.png')+'" alt=""/> \
                    <img src="'+xp.url.imageUrl('invite/aolmail.png')+'" alt=""/> \
                </div> \
                <div class="form form-vertical"> \
                    <form action="#" method="post" onsubmit="xp_publish(\'SubmitImportWebAddrBook\'); return true;"> \
                        <ul class="last-child"> \
                            <li > \
                                <label>'+xp.nls.html('YOUR_EMAIL_ADDRESS')+'</label> \
                                <div class="form-input"> \
                                    <input name="emailAddress" type="text" class="text" value="'+xp.string.qh(initialEmailAddress)+'" /> \
                                </div> \
                            </li> \
                            <li > \
                                <label>'+xp.nls.html('PASSWORD_COLON')+'</label> \
                                <div class="form-input"> \
                                    <input name="password" class="text" type="password" /> \
                                    <span class="form-hint">'+xp.nls.html('DONT_WORRY_WE_WONT_SAVE')+'</span> \
                                </div> \
                            </li> \
                            <li class="form-actions"> \
                                <button type="submit">'+xp.nls.html('FIND_YOUR_FRIENDS')+'</button> \
                                <a href="#" class="xj_close" onclick="xp_publish(\'ClickCancelImportWebAddrBook\'); return true;">'+xp.nls.html('CANCEL')+'</a> \
                            </li> \
                        </ul> \
                    </form> \
                </div> \
            </div> \
        </div>');spinnerButton=xp.SpinnerButton(dialog.find('button')[0],xp.nls.text('FINDING_YOUR_FRIENDS'),true);dialog.appendTo(document.body);_.initializeValidation(dialog.find('form')[0]);return dialog[0];};_.initializeValidation=function(form){var errorCause;xp.form.validate(form,{rules:{emailAddress:{required:true,email:true,emailDomain:emailDomains},password:{required:true}},messages:{emailAddress:{required:function(){errorCause='NoEmailAddr';return xp.nls.html('PLEASE_ENTER_EMAIL_ADDRESS')},email:function(){errorCause='InvalidEmailAddr';return xp.nls.html('X_IS_NOT_VALID_EMAIL_ADDRESS',xp.string.qh(form.emailAddress.value));},emailDomain:function(){errorCause='UnsupportedEmailDomain';return xp.nls.html('SORRY_WE_DO_NOT_SUPPORT');}},password:{required:function(){errorCause='NoPw';return xp.nls.html('PLEASE_ENTER_PASSWORD');}}},invalidHandler:function(event,validator){xp_publish('xp.areas.ImportWebEmailDialog.validation.error',[errorCause]);},success:null,submitHandler:_.onSubmit});};_.onSubmit=function(form){if(spinnerButton.isBusy()){return;}
spinnerButton.setBusy(true);var data={emailAddress:form.emailAddress.value,password:form.password.value,xp_token:xp.token};xp_publish('xp.areas.ImportWebEmailDialog.submit.before',[data]);$.post('/main/ajax?area=ImportWebEmailDialog',data,function(data){if(!data.success&&data.errorHtml){_.onError(data.errorHtml);return;}
if(!data.success){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
xp.areas.ContactImport().getContacts(data,function(contacts){if(contacts.length===0){_.onError(xp.nls.html('WE_DIDNT_FIND_ADDRESSES'));return;}
xp.topic.publish('xp.areas.ImportWebEmailDialog.success',[contacts]);},_.onError);},'json');};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');xp_publish('RenderImportWebAddrBookErr');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.initialize();return self;};xp.areas.InvitationLanguageSelector=function(node){var self={};var _={};_.initialize=function(){xp.LanguageSelector({node:node,currentLocale:$(node).attr('_currentLocale'),onClickLink:function(){xp_publish('LogInvitationEvent',['ClickLang']);},onRenderMenu:function(){xp_publish('LogInvitationEvent',['RenderLangMenu']);},onClickMenuItem:function(locale){$(node).parents('form:first')[0].locale.value=locale;xp_publish('LogInvitationEvent',['ClickLangMenuItem']);}});}
_.initialize();return self;};xp.areas.InviteYourFriends=function(form){var self={};var _={};_.MAX_EMAIL_ADDRESSES=100;_.initialize=function(){_.MAX_EMAIL_ADDRESSES=$(form).attr('_maxEmailAddresses');_.initializeValidation();xp.topic.subscribe('xp.areas.UploadContactFileDialog.success',_.onContactImport);xp.topic.subscribe('xp.areas.ImportWebEmailDialog.success',_.onContactImport);$(form).find('textarea')[0].focus();};_.initializeValidation=function(){xp.form.setMaxLengthWithCount($('#xj_emailAddressInput',form).find('textarea').get(0),$('#xj_emailAddress_count',form).get(0),_.MAX_EMAIL_ADDRESSES,{counterFunction:function(value){if(!value||value.length===0){return 0;}
var tokenizedAddresses=value.split(',');var numberOfAddresses=tokenizedAddresses.length;if(tokenizedAddresses[numberOfAddresses-1].length===0){numberOfAddresses--;}
return numberOfAddresses;}});xp.form.setMaxLengthWithCount($('#xj_messageInput',form).find('textarea').get(0),$('#xj_message_count',form).get(0),$(form).attr('_maxMessageLength'));var errorCause;xp.form.validate(form,{rules:{to:{required:true,validationFunction:function(node){var value=$(node).val();var tokenizedAddresses=value.split(',');var numberOfAddresses=tokenizedAddresses.length;if(tokenizedAddresses[numberOfAddresses-1].length===0){numberOfAddresses--;}
return numberOfAddresses<=_.MAX_EMAIL_ADDRESSES;}},message:{maxlength:parseInt($(form).attr('_maxMessageLength'))}},messages:{to:{required:function(){errorCause='NoEmailAddrs';return xp.nls.html('PLEASE_ENTER_EMAIL_ADDRESSES');},validationFunction:function(){errorCause='TooManyEmailAddrs';return xp.nls.html('TOO_MANY_EMAIL_ADDRESSES',_.MAX_EMAIL_ADDRESSES);}},message:{maxlength:function(){errorCause='MessageTooLong';return xp.nls.html('MESSAGE_TOO_LONG',$(form).attr('_maxMessageLength'));}}},invalidHandler:function(event,validator){form.errorLoopCount.value=(form.errorLoopCount.value?parseInt(form.errorLoopCount.value):0)+1;xp_publish('LogInvitationEvent',['ErrSubmittingInviteForm',null,null,errorCause,parseInt(form.errorLoopCount.value)]);},success:null});};_.onContactImport=function(contacts,onError){var nonMembersAndNonFriendMembers=$.grep(contacts,function(contact){return!contact.screenName||!contact.friend;});if(nonMembersAndNonFriendMembers.length===0){onError(xp.nls.html('ALL_ALREADY_MEMBERS'));return;}
xp.SelectContactsDialog({contacts:nonMembersAndNonFriendMembers,showAvatars:false,title:xp.nls.text('SELECT_FRIENDS_FOR_INVITATION'),successMessage:null,description:xp.nls.text('THESE_FRIENDS_IN_ADDRESS_BOOK'),searchInstructions:xp.nls.text('SEARCH_FRIENDS_TO_INVITE'),okLabel:xp.nls.text('ADD_FRIENDS_TO_INVITE'),okBusyLabel:xp.nls.text('ADDING_FRIENDS_TO_INVITE'),cancelLabel:null,selectedContactCountLabelText:function(selectedContactCount){return selectedContactCount<=_.MAX_EMAIL_ADDRESSES?xp.nls.text('INVITING_N_FRIENDS',selectedContactCount):xp.nls.html('YOU_CAN_ONLY_INVITE',_.MAX_EMAIL_ADDRESSES);},maxSelected:_.MAX_EMAIL_ADDRESSES,onSuccess:function(selectedContacts){xp.lightbox.hide();var to=$.trim(form.to.value);if(to.length>0){to+=', ';}
to+=$.map(selectedContacts,function(contact){return contact.emailAddress;}).join(', ');form.to.value=to;}}).show();};_.initialize();return self;};xp.areas.LeaveNetworkLink=function(node){var self={};var _={};var dialog=null;_.initialize=function(){$(document).ready(xp.reload.checkForHashAndReload);var args={headerHtml:xp.nls.html('LEAVE_X',xp.string.qh(_.attr('_networkName'))),bodyHtml:_.attr('_networkIconHtml')+'<p>'+xp.nls.html('ARE_YOU_SURE_LEAVE_X',xp.string.qh(_.attr('_networkName')))+'</p>',okLabel:xp.nls.html('LEAVE'),okBusyLabel:xp.nls.html('LEAVING'),ajaxUrl:'/main/ajax?area=LeaveNetworkLink',ajaxArgs:function(){return{subdomain:_.attr('_subdomain')};},moduleClass:'module-leave',onSuccess:function(data){data['subdomain']=_.attr('_subdomain');xp.topic.publish('xp.areas.LeaveNetworkLink.leftNetwork',[data]);xp.reload.addHashToUrl();}};dialog=xp.PasswordVerificationDialog(node,args);};_.attr=function(attributeName){return $.trim($(node).attr(attributeName));};_.initialize();return self;};xp.areas.settings.NetworkSettings=function(node){var self={};var _={};_.initialize=function(){xp.topic.subscribe('xp.areas.LeaveNetworkLink.leftNetwork',_.leftOrDeletedNetwork);xp.topic.subscribe('xp.areas.DeleteNetworkLink.deletedNetwork',_.leftOrDeletedNetwork);};_.leftOrDeletedNetwork=function(data){if(data.success){$('#xj_networkListing_'+data.subdomain).fadeOut("slow",function(){$('#xj_networkListing_'+data.subdomain).remove();});}};_.initialize();return self;};xp.areas.Profile=function(node){var self={};var _={};var showingDetails=false;_.initialize=function(){$('a.xj_details_toggle_link',node).click(function(event){event.preventDefault();showingDetails^=true;var statusDiv=$('div.xj_profile_details',node);if(showingDetails){statusDiv.show();}else{statusDiv.hide();}});};_.initialize();return self;};xp.areas.RecommendNetworkLink=function(node){var self={};var _={};var spinnerButton;var dialog=null;_.initialize=function(){$(node).click(function(event){event.preventDefault();if(dialog===null){dialog=_.createDialog();}
_.reset(true);xp.lightbox.show(dialog);$(dialog).find('select')[0].focus();});};_.createDialog=function(){var dialog=$('<form class="modal"> \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close">'+xp.nls.html('CLOSE')+'</a></div> \
            <h3>'+xp.nls.html('RECOMMEND_A_SOCIAL_NETWORK_TO_USER',xp.string.qh($(node).attr('_fullName')))+'</h3> \
            <div class="xj_notification"></div> \
            <div class="xj_body form form-horizontal"> \
                <ul> \
                    <li> \
                        <div class="form-label"> \
                            <label>'+xp.nls.html('SOCIAL_NETWORK')+'</label> \
                        </div> \
                        <div class="form-input"> \
                            <select name="subdomain"> \
                            </select> \
                        </div> \
                    </li> \
                    <li> \
                        <div class="form-label"> \
                            <label>'+xp.nls.html('ADD_MESSAGE')+'</label> \
                        </div> \
                        <div class="form-input"> \
                            <textarea name="message" rows="8"></textarea> \
                        </div> \
                        <div class="form-hint"><span class="char-limit xj_remaining_count"></span></div> \
                    </li> \
                    <li class="form-actions"> \
                        <button type="submit">'+xp.nls.html('SEND')+'</button> \
                        <a href="#" class="xj_close">'+xp.nls.html('CANCEL')+'</a> \
                    </li> \
                </ul> \
            </div> \
        </form>');spinnerButton=xp.SpinnerButton(dialog.find('button')[0],xp.nls.text('SENDING'),true);xp.form.setMaxLengthWithCount(dialog.find('textarea')[0],dialog.find('.xj_remaining_count')[0],$(node).attr('_maxMessageLength'));var select=dialog.find('select');$.each($.evalJSON(node.getAttribute('_networksToRecommend')),function(subdomain,name){select.append('<option value="'+subdomain+'">'+xp.string.qh(name)+'</option>');});dialog.appendTo(document.body);xp.form.validate(dialog[0],{rules:{message:{maxlength:parseInt($(node).attr('_maxMessageLength'))}},messages:{message:{maxlength:xp.nls.html('ENTER_NO_MORE',$(node).attr('_maxMessageLength'))}},success:null,submitHandler:_.onSubmit});return dialog[0];};_.onSubmit=function(form){if(spinnerButton.isBusy()){return;}
spinnerButton.setBusy(true);var content={screenName:$(node).attr('_screenName'),subdomain:dialog.subdomain.value,message:dialog.message.value,xp_token:xp.token};$.post('/main/ajax?area=RecommendNetworkLink',content,function(data){spinnerButton.setBusy(false);if(!data.success&&data.errorHtml){_.showNotification(false,'<p>'+data.errorHtml+'</p>');return;}
if(!data.success){_.showNotification(false,'<p>'+xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode)+'</p>');return;}
$(dialog).find('option[@value='+content.subdomain+']').remove();_.reset(false);if($(dialog).find('option').length>0){_.showNotification(true,'<p>'+xp.nls.html('SOCIAL_NETWORK_RECOMMENDATION_SENT')+'</p><p>'+xp.nls.html('RECOMMEND_ANOTHER_SOCIAL_NETWORK_TO_USER',xp.string.qh($(node).attr('_fullName')))+'</p>');}else{_.showNotification(true,'<p>'+xp.nls.html('SOCIAL_NETWORK_RECOMMENDATION_SENT')+'</p>');var networksUrl='/networks';$(dialog).find('.xj_body').replaceWith('<p><a href="'+xp.string.qh(networksUrl)+'">'+xp.nls.html('VIEW_AND_JOIN_USERS_SOCIAL_NETWORKS',xp.string.qh($(node).attr('_fullName')))+'</a></p>');}},'json');};_.reset=function(hideNotification){if(spinnerButton){spinnerButton.setBusy(false);}
if(hideNotification){$(dialog).find('.xj_notification').hide();}
dialog.message.value='';$(dialog.message).trigger('change');xp.form.resetValidation(dialog);};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.initialize();return self;};xp.areas.RemoveAsFriendLink=function(node){var self={};var _={};_.initialize=function(){if(!$(node).attr('_disableHover')){$(node).parent().hover(function(){$(node).show();},function(){$(node).hide();});}
$(node).click(function(event){event.preventDefault();xp.dialog.confirm({header:xp.nls.text('REMOVE_AS_FRIEND'),bodyText:xp.nls.text('THIS_WILL_REMOVE_USER_AS_YOUR_FRIEND',$(node).attr('_fullName')),okLabel:xp.nls.text('REMOVE'),onOk:function(){xp.form.postSynchronously('?area=RemoveAsFriendLink',{screenName:$(node).attr('_screenName'),target:window.location});}});});};_.initialize();return self;};xp.areas.SignIn=function(form){var self={};var _={};_.initialize=function(){xp.form.validate(form,{});};_.initialize();return self;};xp.areas.SignUp=function(form){var self={};var _={};_.initialize=function(){xp.form.validate(form,{});};_.initialize();return self;};xp.areas.UploadContactFileDialog=function(){var self={};var _={};var dialog=null;var spinnerButton;var fileId;var helpUrl='/main/importinstructions';_.initialize=function(){fileId='xj_file_'+xp.areas.UploadContactFileDialog.lastFileIdNumber++;};self.show=function(){xp_publish('RenderImportAddrBook');if(dialog===null){dialog=_.createDialog();}
xp.lightbox.show(dialog);$(dialog).find('input[@type=file]')[0].focus();xp_publish('RenderedImportAddrBook');};self.setHelpUrl=function(newHelpUrl){helpUrl=newHelpUrl;};self.getHelpUrl=function(){return helpUrl;};_.createDialog=function(){var dialog=$('<div class="modal" > \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close" onclick="xp_publish(\'ClickXImportAddrBook\'); return true;">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module first-child"> \
                <h3>'+xp.nls.html('IMPORT_ADDRESS_BOOK')+'</h3> \
                <div class="xj_notification"></div> \
                <p>'+xp.nls.html('MICROSOFT_OUTLOOK_APPLE_MAIL')+'</p> \
                <p><a href="#" class="xj_help" onclick="xp_publish(\'ClickImportAddrBookHelp\'); return true;">'+xp.nls.html('HOW_TO_CREATE_CONTACT_FILE')+'</a></p> \
                <div class="form form-vertical"> \
                    <form action="#"> \
                        <ul class="last-child"> \
                            <li> \
                                <label>'+xp.nls.html('BROWSE_FOR_FILE')+'</label> \
                                <div class="form-input"> \
                                    <input type="file" name="file" id="'+fileId+'" /> \
                                    <span class="form-hint">'+xp.nls.html('UPLOAD_A_CSV')+'</span> \
                                </div> \
                            </li> \
                            <li class="form-actions"> \
                                <button type="submit">'+xp.nls.html('FIND_YOUR_FRIENDS')+'</button> \
                                <a href="#" class="xj_close" onclick="xp_publish(\'ClickCancelImportAddrBook\'); return true;">'+xp.nls.html('CANCEL')+'</a> \
                            </li> \
                        </ul> \
                    </form> \
                </div> \
            </div> \
        </div>');dialog.find('.xj_help').click(function(event){event.preventDefault();var newWindow=window.open(helpUrl,'xj_import_instructions','height=400,width=315,resizable=no,toolbar=no,location=no,scrollbars=yes');newWindow.focus();});spinnerButton=xp.SpinnerButton(dialog.find('button')[0],xp.nls.text('FINDING_YOUR_FRIENDS'),true);dialog.appendTo(document.body);dialog.find('form')[0].onsubmit=_.onSubmit;return dialog[0];};_.onSubmit=function(form){xp_publish('SubmitImportAddrBook');if(spinnerButton.isBusy()){return false;}
spinnerButton.setBusy(true);var data={url:'/main/ajax?area=UploadContactFileDialog&xp_token='+encodeURIComponent(xp.token)};xp_publish('xp.areas.UploadContactFileDialog.submit.before',[data]);$.ajaxFileUpload({url:data.url,secureuri:false,fileElementId:fileId,dataType:'json',success:function(data,status){if(!data.success&&data.errorHtml){_.onError(data.errorHtml);return;}
if(!data.success){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
xp.areas.ContactImport().getContacts(data,function(contacts){if(contacts.length===0){_.onError(xp.nls.html('WE_DIDNT_FIND_ADDRESSES'));return;}
xp.topic.publish('xp.areas.UploadContactFileDialog.success',[contacts,_.onError]);},_.onError);},error:function(data,status,e){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',2073041220));}});return false;};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');xp_publish('RenderImportAddrBookErr');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.initialize();return self;};xp.areas.UploadContactFileDialog.lastFileIdNumber=0;xp.areas.home.ProfileInfoLightbox=function(node){var self={};var _={};var posting=false;_.onReadyState=function(data,status){posting=false;if('success'in data&&data.success){xp.topic.publish('xp.areas.home.ProfileInfoLightbox.close');if('target'in data){window.location=data.target;}}else{if('errorHtml'in data){_.displayErrors(data.errorHtml);}}};_.onSubmit=function(e){e.preventDefault();if(posting){return;}
_.clearErrors();posting=true;var postData=xp.areas.settings.profile.Location.instances[0].getLocation();postData.gender=_.form[0].gender.value;postData.xp_token=xp.token;postData.isNewUser=_.isNewUser;var url='/main/ajax?area=Home_ProfileInfoLightbox';if(!_.isNewUser){postData.name=$.trim(_.form[0].name.value);$.post(url,postData,_.onReadyState,'json');}else{for(var key in postData){postData[key]=xp.string.qh(postData[key]);}
$.ajaxFileUpload({url:url,secureuri:false,fileElementId:'welcome-pic',extraContent:postData,dataType:'json',success:_.onReadyState,error:_.onReadyState});}};_.initialize=function(){_.form=$('form',node);_.isNewUser=$(node).attr('_isNewUser');$('.xj_close',node).click(function(e){e.preventDefault();xp.topic.publish('xp.areas.home.ProfileInfoLightbox.close');});_.form.submit(_.onSubmit);xp.topic.subscribe('xp.areas.home.ProfileInfoLightbox.clearError',_.clearError);};_.clearErrors=function(){$('div.form-input',node).removeClass('form-error');$('div.xj_errors',node).hide();$('div.xj_errors > ul',node).html('');};_.clearError=function(name){var inputs=$(':input[name='+name+']',node);inputs.parents('div:first').removeClass('form-error');var errorCount=$('div.xj_errors > ul > li',node).length;var lis=$('div.xj_errors li[_attachedTo='+name+']',node);lis.remove();if(lis.length>=errorCount){$('div.xj_errors',node).hide();}};_.displayErrors=function(errorHtml){var errorContainer=$('div.xj_errors > ul',node);for(var nodeName in errorHtml){var message=errorHtml[nodeName];if(nodeName!='zipcode'){$(':input[name='+nodeName+']',node).parents('div:first').addClass('form-error');}else{xp.areas.settings.profile.Location.instances[0].setError(nodeName);}
errorContainer.append('<li _attachedTo="'+xp.string.qh(nodeName)+'">'+message+'</li>');}
if(errorContainer.html().length>0){errorContainer.parent('div:first').show();}};_.initialize();return self;};xp.areas.home.ProfileInfoLightboxLauncher=function(node){var self={};var _={};var showing=false;var fetching=false;_.initialize=function(){if(fetching){return;}
var isNewUser=$(node).attr('_isNewUser')?true:false;fetching=true;$.post('/main/ajax?area=Home_ProfileInfoLightboxLauncher',{xp_token:xp.token,isNewUser:isNewUser?'1':'0'},function(data){fetching=false;if('success'in data){$('body').append(data.html);_.lightboxDiv=$('div.xj_Home_ProfileInfoLightbox')[0];xp.areas.home.ProfileInfoLightbox.instances=[xp.areas.home.ProfileInfoLightbox(_.lightboxDiv)];_.locationDiv=$('li.xj_Settings_Profile_Location',_.lightboxDiv)[0];if(_.locationDiv){xp.areas.settings.profile.Location.instances=[xp.areas.settings.profile.Location(_.locationDiv)];}
_.showLightboxDiv();xp.topic.subscribe('xp.areas.home.ProfileInfoLightbox.open',_.showLightboxDiv);xp.topic.subscribe('xp.areas.home.ProfileInfoLightbox.close',_.hideLightboxDiv);}},'json');};_.showLightboxDiv=function(){showing=true;xp.lightbox.show(_.lightboxDiv,_.setLightboxDivHidden);};_.setLightboxDivHidden=function(){showing=false;};_.hideLightboxDiv=function(){xp.lightbox.hide(_.lightboxDiv);};_.initialize();return self;};xp.areas.network.NetworkList=function(node){var self={};var _={};_.initialize=function(){xp.topic.subscribe('xp.areas.DeleteNetworkLink.deletedNetwork',_.leftOrDeletedNetwork);};_.leftOrDeletedNetwork=function(data){if(data.success){$('#xj_networkListing_'+data.subdomain,node).fadeOut("slow",function(){$('#xj_networkListing_'+data.subdomain).remove();});}};_.initialize();return self;};xp.areas.settings.EmailNotificationsSettings=function(form){var self={};var _={};_.initialize=function(){xp.form.validate(form,{});};_.initialize();return self;};xp.areas.settings.MyNetworksAndMe=(function(){var self={};var _={};var dialog=null;var showAvatar=true;var showCheckbox=false;var showUrl=false;var preHeaderHtml='';var headerHtml='';var bodyHtml='';var networkSelector=null;var callback=null;var callbackArgs=0;var minBazelVersion='3.14';var ROW_COUNT_ABOVE_VIEWPORT=10;var ROW_COUNT_BELOW_VIEWPORT=20;_.createAndShowDialog=function(data){if(data.success){if(data.networks.length){dialog=_.createDialog(data);xp.lightbox.show(dialog);}else{callbackArgs['networks']=[];callback(callbackArgs);}}else{var errorMessage=data.errorMessage?data.errorMessage:xp.nls.html('TRY_LATER_ERROR_CODE',data.errorCode);_.showNotification(data.success,errorMessage);}};_.createDialog=function(data){var _dialog=$('<form class="modal"> \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module first-child"> \
                '+preHeaderHtml+' \
                <h3>'+headerHtml+'</h3> \
                '+bodyHtml+' \
                <div class="xj_notification"></div> \
                <div class="form add-photo-select"> \
                    <div class="form-actions"> \
                        <button class="xj_ok" type="submit">'+xp.nls.html('ADD')+'</button> \
                        <a href="#" class="xj_close">'+xp.nls.html('CANCEL')+'</a> \
                    </div> \
                </div> \
            </div> \
        </form>');spinnerButton=xp.SpinnerButton($('.xj_ok',_dialog).get(0),xp.nls.text('ADDING'),true);spinnerButton.setBusy(true);_dialog.appendTo(document.body);_.createNetworkSelector(_dialog,data.networks);_dialog[0].onsubmit=_.onSubmit;$('.xj_close',_dialog).click(function(event){_.deleteTemporary(_dialog);});return _dialog[0];};_.createNetworkSelector=function(_dialog,networks){networkSelector=xp.NetworkSelector({networks:networks,showUrls:showUrl,showAvatars:showAvatar,showCheckboxes:showCheckbox,networkSelectorCallback:_.networkSelectorCallback,selectedNetworkCountLabelText:function(selectedNetworkCount){return xp.nls.text('ITEMS_SELECTED',selectedNetworkCount);},rowCountAboveViewport:ROW_COUNT_ABOVE_VIEWPORT,rowCountBelowViewport:ROW_COUNT_BELOW_VIEWPORT});$(networkSelector.getNode()).prependTo(_dialog.find('.form'));networkSelector.initializeWhenShown();spinnerButton.setBusy(false);spinnerButton.setBusyText(xp.nls.text('SENDING'));};_.getNetworksToAugment=function(networks,start,end){var networksToAugment=[];var networksBySubdomain={};for(var i=start;i<end&&i<networks.length;i++){var c=networks[i];if(c.valueSet!='1'&&!c.augmentationStarted){networksBySubdomain[c.subdomain]=c;networksToAugment.push(c.subdomain);}}
return{'networksToAugment':networksToAugment,'networksBySubdomain':networksBySubdomain};};_.networkSelectorCallback=function(networks,start,end,onSuccess){onSuccess(networks.slice(start,end));var ret=_.getNetworksToAugment(networks,start,end);if(ret.networksToAugment.length==0){return;}
$.each(ret.networksToAugment,function(i,subdomain){ret.networksBySubdomain[subdomain].augmentationStarted=true;});var args={action:'getUserDetails',networks:ret.networksToAugment.join(',')};var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_MyNetworksAndMe&xp_token='+encodeURIComponent(xp.token)+'&minBazelVersion='+encodeURIComponent(minBazelVersion)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');$.post(ajaxUrl,args,function(data){if(data.success){$.each(data.networks,function(i,details){network=ret.networksBySubdomain[details.subdomain];network.userName=details.userName;network.userThumbnailUrl=details.userThumbnailUrl;network.valueSet=details.valueSet;});}else{var errorMessage=data.errorMessage?data.errorMessage:xp.nls.html('TRY_LATER_ERROR_CODE',data.errorCode);_.showNotification(data.success,errorMessage);}},'json');};_.onSubmit=function(){var networks=networkSelector.getSelectedNetworks();var selected=$.map(networks,function(network,i){return network.subdomain;});xp.lightbox.hide();callbackArgs['networks']=selected;callback(callbackArgs);return false;};_.deleteTemporary=function(){var contentId=callbackArgs['uploadedContentId'];var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_Profile_ModifyAndSavePhoto&xp_token='+encodeURIComponent(xp.token)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');var args={'action':'deleteTemporary','contentId':contentId};$.post(ajaxUrl,args,function(data){window.location.reload();});}
_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};self.show=function(args,cb,cbArgs){showAvatar=args.showAvatar?args.showAvatar:false;showCheckbox=args.showCheckbox?args.showCheckbox:false;showUrl=args.showUrl?args.showUrl:false;preHeaderHtml=args.preHeaderHtml?args.preHeaderHtml:'';headerHtml=args.headerHtml?args.headerHtml:'';bodyHtml=args.bodyHtml?args.bodyHtml:'';excludeSubdomain=args.excludeSubdomain?args.excludeSubdomain:'';minBazelVersion=args.minBazelVersion?args.minBazelVersion:'3.14';var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_MyNetworksAndMe&xp_token='+encodeURIComponent(xp.token)+'&minBazelVersion='+encodeURIComponent(minBazelVersion)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');callback=cb;callbackArgs=cbArgs;$.post(ajaxUrl,{'action':'getAllNetworks','excludeSubdomain':excludeSubdomain},_.createAndShowDialog,'json');};return self;})();xp.areas.settings.OptOut=function(node){var self={};var _={};var posting=false;var url="/settings/optout?area=Settings_OptOut";_.postBlockEmailsFromUser=function(){posting=true;var content={"action":"blockEmailsFromUser","code":_.code};xp.form.postSynchronously(url,content);}
_.blockEmailsFromUser=function(event){event.preventDefault();xp.dialog.confirm({header:xp.nls.text("BLOCK_X",_.senderName),bodyText:xp.nls.text("THIS_WILL_BLOCK_ALL_MESSAGES"),okLabel:xp.nls.text("BLOCK"),onOk:_.postBlockEmailsFromUser});};_.postUnsubscribeAllEmails=function(){posting=true;var content={"action":"unsubscribeAllEmails","code":_.code};xp.form.postSynchronously(url,content);};_.unsubscribeAllEmails=function(event){event.preventDefault();xp.dialog.confirm({header:xp.nls.text("UNSUBSCRIBE"),bodyText:xp.nls.text("ARE_YOU_SURE_UNSUBSCRIBE_NING_EMAILS"),okLabel:xp.nls.text("OK"),onOk:_.postUnsubscribeAllEmails});};_.initialize=function(){_.code=$(node).attr("_code");_.senderName=$(node).attr("_senderName");$("#xj_block_link").bind("click",_.blockEmailsFromUser);$("#xj_unsubscribe_link").bind("click",_.unsubscribeAllEmails);};_.initialize();return self;};xp.areas.settings.profile.AccountSettings=function(form){var self={};var _={};_.initialize=function(){xp.form.validate(form,{});};_.initialize();return self;};xp.areas.settings.profile.AddPhotoFromComputer=function(node){var self={};var _={};var spinnerButton;var dialog=null;_.initialize=function(){$(node).click(function(event){event.preventDefault();_.showDialog();});};_.showDialog=function(){if(dialog===null){dialog=_.createDialog();}
var notification=$(dialog).find('.xj_notification');notification.html('');notification.removeClass('form-success-summary').removeClass('form-error-summary');xp.lightbox.show(dialog);$(dialog).find('input[@type=file]')[0].focus();};_.createDialog=function(){var dialog=$('<div class="modal" > \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module first-child"> \
                <h3>'+xp.nls.html('ADD_PHOTO_FROM_YOUR_COMPUTER')+'</h3> \
                <div class="xj_notification"></div> \
                <div class="form form-vertical"> \
                    <form action="#"> \
                        <ul> \
                            <li> \
                                <label>'+xp.nls.html('BROWSE_TO_JPEG')+'</label> \
                                <div class="form-input"> \
                                    <input type="file" name="file" id="xj_AddPhotoFromComputer_File" /> \
                                </div> \
                            </li> \
                        </ul> \
                        <div class="form-actions"> \
                            <button type="submit">'+xp.nls.html('ADD')+'</button> \
                            <a class="xj_close" href="#">'+xp.nls.html('CANCEL')+'</a> \
                        </div> \
                    </form> \
                </div> \
            </div> \
        </div>');spinnerButton=xp.SpinnerButton(dialog.find('button')[0],xp.nls.text('UPLOADING_FILE'),true);dialog.appendTo(document.body);dialog.find('form')[0].onsubmit=_.onSubmit;return dialog[0];};_.onSubmit=function(event){if(spinnerButton.isBusy()){return false;}
var debugParam=xp.url.getParameter(window.location.search,'debug');spinnerButton.setBusy(true);$.ajaxFileUpload({url:'/main/ajax?area=Settings_Profile_AddPhotoFromComputer&xp_token='+encodeURIComponent(xp.token)+(debugParam?'&debug='+encodeURIComponent(debugParam):''),secureuri:false,fileElementId:'xj_AddPhotoFromComputer_File',dataType:'json',success:function(data,status){if(!data.success&&data.errorHtml){_.onError(data.errorHtml);return;}
if(!data.success){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode));return;}
xp.areas.settings.profile.ManipulatePhoto.showDialog(data.uploadedUrl,data.uploadedContentId,$(node).attr('_subdomain'),true,_.showNetworkSelection,{});spinnerButton.setBusy(false);},error:function(data,status,e){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',1433783295));}});return false;};_.showNetworkSelection=function(args){if(typeof(args)=='string'){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',1084100428));}else if(args.error){var errorHtml=xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',args.errorCode);_.onError(errorHtml);}else{var params={'preHeaderHtml':'<img class="thumbnail" width="48" height="48" src="'+args.uploadedUrl+'" />','headerHtml':xp.nls.html('YOUR_PHOTO_WAS_SUCCESSFULLY_ADDED'),'bodyHtml':xp.nls.html('WOULD_YOU_LIKE_TO_USE_THIS_PROFILE_PHOTO'),'excludeSubdomain':$(node).attr('_subdomain'),'minBazelVersion':node.getAttribute('_minBazelVersion'),'showAvatar':true,'showCheckbox':true,'showWww':true};var callbackArgs={'uploadedUrl':args.uploadedUrl,'uploadedContentId':args.uploadedContentId};xp.areas.settings.MyNetworksAndMe.show(params,_.saveAvatarPhoto,callbackArgs);}};_.saveAvatarPhoto=function(args){xp.areas.settings.profile.SavePhoto().saveAvatarPhoto(args,spinnerButton);};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};_.initialize();return self;};xp.areas.settings.profile.ChangeEmailLink=function(node){var self={};var _={};var dialog=null;_.initialize=function(){var errorLoopCount=0;var args={headerHtml:xp.nls.html('CHANGE_EMAIL'),bodyHtml:'<p>'+xp.nls.html('YOU_WILL_NEED_TO_VERIFY')+'</p>',okLabel:xp.nls.html('CHANGE'),okBusyLabel:xp.nls.html('CHANGING'),ajaxUrl:'/main/ajax?area=Settings_Profile_ChangeEmailLink',ajaxArgs:function(){xp_publish('LogEmailVerification',['SubmitChangeEmailForm']);return{errorLoopCount:errorLoopCount};},formItems:[{'label':xp.nls.html('NEW_EMAIL'),'id':'xj_newEmail','name':'xj_newEmail','type':'text'},{'label':xp.nls.html('RE_ENTER_NEW_EMAIL'),'id':'xj_newEmail2','name':'xj_newEmail2','type':'text'}],formLayout:'form-horizontal',passwordLocation:'last',confirmPasswordLabel:xp.nls.html('PASSWORD'),onSuccess:function(data){if(data.location){window.location=data.location;}else{var confirmation=$('<div class="form-success-summary"><p>'+xp.nls.html('EMAIL_CHANGED')+'</p></div><div>');$('div.form:first').before(confirmation);confirmation.css('display','block');confirmation.fadeOut('slow');$('#xj_emailAddress').html(data.newEmail);}},onError:function(data){xp_publish('LogEmailVerification',['RenderChangeEmailErr']);errorLoopCount++;}};dialog=xp.PasswordVerificationDialog(node,args);$(node).click(function(event){xp_publish('LogEmailVerification',['RenderChangeEmailLightbox']);});};_.initialize();return self;};xp.areas.settings.profile.ChangePasswordLink=function(node){var self={};var _={};var dialog=null;_.initialize=function(){var args={headerHtml:xp.nls.html('CHANGE_PASSWORD'),bodyHtml:'',okLabel:xp.nls.html('CHANGE'),okBusyLabel:xp.nls.html('CHANGING'),ajaxUrl:'/main/ajax?area=Settings_Profile_ChangePasswordLink',ajaxArgs:function(){return{};},formItems:[{'label':xp.nls.html('NEW_PASSWORD'),'id':'xj_newPassword','name':'xj_newPassword','type':'password'},{'label':xp.nls.html('CONFIRM_NEW_PASSWORD'),'id':'xj_newPassword2','name':'xj_newPassword2','type':'password'}],formLayout:'form-horizontal',confirmPasswordLabel:xp.nls.html('CURRENT_PASSWORD'),onSuccess:function(data){var confirmation=$('<div class="form-success-summary"><p>'+xp.nls.html('PASSWORD_CHANGED')+'</p></div><div>');$('div.form:first').before(confirmation);confirmation.css('display','block');confirmation.fadeOut('slow');}};dialog=xp.PasswordVerificationDialog(node,args);};_.initialize();return self;};xp.areas.settings.profile.EditPhoto=function(node){var self={};var _={};var spinnerButton;var dialog=null;var callback=null;var callbackArgs=null;_.initialize=function(){$(node).click(function(event){event.preventDefault();var editPhotoUrl=$(node).attr('_imgSrc');if($.browser.msie){editPhotoUrl=xp.url.addParameter(editPhotoUrl,''+new Date().getTime(),'1');}
xp.areas.settings.profile.ManipulatePhoto.showDialog(editPhotoUrl,null,$(node).attr('_subdomain'),false,_.showNetworkSelection,{'editPhotoUrl':editPhotoUrl});});};_.showNetworkSelection=function(args){if(!args.success){var errorHtml=xp.nls.html('OOPS_THAT_DID_NOT_WORK_ERROR_CODE',args.errorCode);_.onError(errorHtml);}else{if(args.uploadedUrl){var params={'preHeaderHtml':'<img class="thumbnail" width="48" height="48" src="'+args.uploadedUrl+'" />','headerHtml':xp.nls.html('YOUR_PHOTO_WAS_SUCCESSFULLY_ADDED'),'bodyHtml':xp.nls.html('WOULD_YOU_LIKE_TO_USE_THIS_PROFILE_PHOTO'),'excludeSubdomain':$(node).attr('_subdomain'),'minBazelVersion':node.getAttribute('_minBazelVersion'),'showAvatar':true,'showCheckbox':true,'showWww':true};var callbackArgs={'uploadedUrl':args.uploadedUrl,'uploadedContentId':args.uploadedContentId,'networks':args.networks};xp.areas.settings.MyNetworksAndMe.show(params,_.saveAvatarPhoto,callbackArgs);}else{var errorHtml=xp.nls.html('OOPS_THAT_DID_NOT_WORK_ERROR_CODE',1098813947);_.onError(errorHtml);}}};_.saveAvatarPhoto=function(args){xp.areas.settings.profile.SavePhoto().saveAvatarPhoto(args,spinnerButton);};_.initialize();return self;};xp.areas.settings.profile.InfoSettings=function(form){var self={};var _={};_.initialize=function(){xp.form.validate(form,{rules:{aboutMe:{maxlength:parseInt($(form.aboutMe).attr('_maxlength'))},fullName:{required:true}},messages:{aboutMe:{maxlength:xp.nls.html('ENTER_NO_MORE',$(form.aboutMe).attr('_maxlength'))},fullName:xp.nls.html('PLEASE_ENTER_NAME')},success:null});xp.form.setMaxLengthWithCount(form.aboutMe,$('#xj_aboutMe_count'),$(form.aboutMe).attr('_maxlength'));};_.initialize();return self;};xp.areas.settings.profile.Location=function(node){var self={};var _={};var posting=false;_.initialize=function(){_.countrySelector=$('#welcome-country',node);_.locationDiv=$('#welcome-location',node);_.zipcodeInput=$('#welcome-zip',node);_.labelForZipcode=$('#welcome-label-zipcode',node);_.labelForPostalcode=$('#welcome-label-postalcode',node);_.usLocationDiv=$('#welcome-us-location',node);_.otherLocationDiv=$('#welcome-other-location',node);_.usCitySpan=$('#welcome-us-city',node);_.otherCityInput=$('#welcome-other-city',node);_.notificationNode=$('.xj_notification',node);_.lastUsZipcode=(_.countrySelector.val()==='US')?_.zipcodeInput.val():'';_.countrySelector.change(_.resetLocationForm);_.zipcodeInput.keyup(function(e){if(_.countrySelector.val()==='US'){if(_.zipcodeInput.val().length==5){_.populateUsCityStateFromPostalCode();}else{_.setUSCityState('');_.lastUsZipcode='';}}});_.zipcodeInput.blur(function(e){_.populateUsCityStateFromPostalCode();});_.initLocationForm({'reset':false});};_.resetLocationForm=function(){_.initLocationForm({'reset':true});};_.initLocationForm=function(args){var reset=('reset'in args)?args.reset:false;var userInUs=_.countrySelector.val()==='US';if(userInUs){_.locationDiv.show();_.otherLocationDiv.hide();_.usLocationDiv.show();_.zipcodeInput.show();_.zipcodeInput.attr('maxlength','5');_.labelForZipcode.show();_.labelForPostalcode.hide();if(($.trim(_.zipcodeInput.val()).length==0)||reset){_.usLocationDiv.hide();}else{_.usLocationDiv.show();}}else if(_.countrySelector.val().length>=1){_.zipcodeInput.removeAttr('maxlength');_.locationDiv.show();_.otherLocationDiv.show();_.zipcodeInput.show();_.labelForZipcode.hide();_.labelForPostalcode.show();_.usLocationDiv.hide();}else{_.locationDiv.hide();_.otherLocationDiv.hide();_.usLocationDiv.hide();reset=true;}
if(reset){_.zipcodeInput.val('');_.lastUsZipcode='';_.usCitySpan.text('');_.otherCityInput.val('');}};_.populateUsCityStateFromPostalCode=function(){var zipcode=_.zipcodeInput.val();if(zipcode.match(/^\d{5}$/)&&(zipcode!==_.lastUsZipcode)){if(posting){return;}
_.lastUsZipcode=zipcode;_.zipcodeInput.attr('disabled','disabled');posting=true;$.post('/main/ajax?area=Settings_Profile_Location',{xp_token:xp.token,zipcode:zipcode},function(data){posting=false;if('success'in data&&data.success){_.setUSCityState(data.location);xp.topic.publish('xp.areas.home.ProfileInfoLightbox.clearError',[_.zipcodeInput.attr('name')]);}else{_.setUSCityState('');if(data.errorMessage){_.showNotification(data.success,data.errorMessage);}}
_.zipcodeInput.removeAttr('disabled');},'json');}};_.setUSCityState=function(loc){_.usCitySpan.text(loc);_.otherCityInput.val(loc);if($.trim(loc).length==0){_.usLocationDiv.hide();}else{_.usLocationDiv.show();}};self.getLocation=function(){var country=_.countrySelector.val();if(country.length<1){return{country:country};}
var zipcode=_.zipcodeInput.val();var location=_.otherCityInput.val();return{country:country,zipcode:zipcode,location:location};};self.setError=function(name){$(':input[name='+name+']',node).parents('div:first').addClass('form-error');};self.clearError=function(name){var inputs=name?$(':input[name='+name+']',node):$(':input',node);inputs.parents('div:first').removeClass('form-error');};_.showNotification=function(success,html){if(success){_.notificationNode.addClass('form-success-summary').removeClass('form-error-summary');}
else{_.notificationNode.addClass('form-error-summary').removeClass('form-success-summary');}
_.notificationNode.fadeIn('slow');_.notificationNode.html(html);};_.initialize();return self;};xp.areas.settings.profile.ManipulatePhoto=(function(){var self={};var _={};var spinnerButton;var dialog=null;var callback=null;var callbackArgs=null;var deleteTemporaryOnCancel=false;var uploadedUrl=null;var contentId=null;var subdomain=null;self.showDialog=function(imgSrc,imgContentId,networkName,deleteTempOnCancel,cb,cbArgs){callback=cb;callbackArgs=cbArgs;uploadedUrl=imgSrc;contentId=imgContentId;subdomain=networkName;deleteTemporaryOnCancel=deleteTempOnCancel;dialog=_.createDialog();xp.lightbox.show(dialog);var img=new Image();$(img).attr('src',uploadedUrl).load(function(){_.replaceImageInDialog(this.width,this.height);});};_.createDialog=function(){var _dialog=$('<div id="modal-crop" class="modal" > \
            <div class="modal-close"><a href="#" class="xg_icon xg_icon-close xj_close">'+xp.nls.html('CLOSE')+'</a></div> \
            <div class="module first-child"> \
                <h3>'+xp.nls.html('EDIT_YOUR_PHOTO')+'</h3> \
                <div class="xj_notification"></div> \
                <div class="form form-vertical"> \
                    <form action="#"> \
                        <input type="hidden" name="uploadedUrl" value="'+encodeURIComponent(uploadedUrl)+'" /> \
                        <input type="hidden" name="contentId"   value="'+(contentId?encodeURIComponent(contentId):'')+'" /> \
                        <input type="hidden" class="tlx" name="tlx" value="" /> \
                        <input type="hidden" class="tly" name="tly" value="" /> \
                        <input type="hidden" class="brx" name="brx" value="" /> \
                        <input type="hidden" class="bry" name="bry" value="" /> \
                        <input type="hidden" class="w"   name="w"   value="" /> \
                        <input type="hidden" class="h"   name="h"   value="" /> \
                        <p class="clearfix"> \
                            <a href="#" class="rotate-left">'+xp.nls.html('ROTATE_LEFT')+'</a> \
                            <a href="#" class="rotate-right">'+xp.nls.html('ROTATE_RIGHT')+'</a> \
                        </p> \
                        <div class="form-actions"> \
                            <button type="submit">'+xp.nls.html('APPLY')+'</button> \
                            <a class="xj_close" href="#">'+xp.nls.html('CANCEL')+'</a> \
                        </div> \
                    </form> \
                </div> \
            </div> \
        </div>');spinnerButton=xp.SpinnerButton(_dialog.find('button')[0],xp.nls.text('APPLYING'),true);_dialog.appendTo(document.body);_dialog.find('form')[0].onsubmit=_.onSubmit;$('.rotate-left',_dialog).click(function(event){_.rotateImage(event,'-90');});$('.rotate-right',_dialog).click(function(event){_.rotateImage(event,'90');});if(deleteTemporaryOnCancel){$('.xj_close',_dialog).click(function(event){_.deleteTemporary($('form',_dialog));});}
return _dialog[0];};_.replaceImageInDialog=function(imgWidth,imgHeight){$('.crop-image',dialog).remove();$('form',dialog).prepend('<div class="crop-image"> \
            <img class="cropbox" src="'+uploadedUrl+'"  width="'+imgWidth+'" height="'+imgHeight+'"/> \
            </div>');var cropDimension=Math.min(imgWidth,imgHeight);var tlx=Math.round(0.5*(imgWidth-cropDimension));var tly=Math.round(0.5*(imgHeight-cropDimension));var brx=tlx+cropDimension;var bry=tly+cropDimension;$(function(){$('.cropbox').Jcrop({onSelect:_.addCoords,setSelect:[tlx,tly,brx,bry],aspectRatio:1});});_.addCoords({'x':tlx,'y':tly,'x2':brx,'y2':bry,'w':brx-tlx,'h':bry-tly});$('input[@name="uploadedUrl"]').val(uploadedUrl);$('input[@name="contentId"]').val(contentId?contentId:'');_.adjustLayout(imgWidth);};_.adjustLayout=function(imgWidth){var moduleWidth=$(dialog).find('.module:first').width();var paddingLeft=Math.round((moduleWidth-imgWidth)/2.0);$(dialog).find('.crop-image:first').css('padding-left',paddingLeft+'px');xp.lightbox.centerVertically($(dialog));};_.rotateImage=function(event,rotation){event.preventDefault();var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_Profile_ModifyAndSavePhoto&xp_token='+encodeURIComponent(xp.token)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');var args={'action':'rotatePhoto','rotation':rotation,'uploadedUrl':uploadedUrl,'contentId':contentId?contentId:''};$.ajax({'type':'POST','url':ajaxUrl,'data':args,'dataType':'json','success':function(data,status){if(data.success){if(data.uploadedUrl){uploadedUrl=data.uploadedUrl;contentId=data.contentId;var img=new Image();$(img).attr('src',uploadedUrl).load(function(){_.replaceImageInDialog(this.width,this.height);});}else{var errorHtml=data.errorMessage?data.errorMessage:xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',830937968);_.onError(errorHtml);}}else{var errorHtml=data.errorMessage?data.errorMessage:xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode);_.onError(errorHtml);}},'error':function(data,status,e){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',210147589));}});};_.deleteTemporary=function(form){var contentId=$('input[@name="contentId"]',form).val();if(contentId){var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_Profile_ModifyAndSavePhoto&xp_token='+encodeURIComponent(xp.token)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');var args={'action':'deleteTemporary','contentId':contentId};$.post(ajaxUrl,args,function(data){window.location.reload();});}}
_.addCoords=function(coords){$(dialog).find('.tlx').val(coords.x);$(dialog).find('.tly').val(coords.y);$(dialog).find('.brx').val(coords.x2);$(dialog).find('.bry').val(coords.y2);$(dialog).find('.w').val(coords.w);$(dialog).find('.h').val(coords.h);};_.onSubmit=function(event){if(spinnerButton.isBusy()){return false;}
spinnerButton.setBusy(true);var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_Profile_ModifyAndSavePhoto&xp_token='+encodeURIComponent(xp.token)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');var form=$('form',dialog);var args={'action':'cropPhotoAndSave','subdomain':subdomain};$(form).find('input').each(function(i){args[this.name]=this.value;});$.ajax({'type':'POST','url':ajaxUrl,'data':args,'dataType':'json','success':function(data,status){if(data.success){if(data.uploadedUrl){uploadedUrl=data.uploadedUrl;for(var arg in data){callbackArgs[arg]=data[arg];}
callback(callbackArgs);}else{var errorHtml=xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',1008472125);_.onError(errorHtml);}}else{var errorHtml=data.errorMessage?data.errorMessage:xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode);_.onError(errorHtml);}},'error':function(data,status,e){_.onError(xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',2011270780));}});return false;};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};return self;})();xp.areas.settings.profile.SavePhoto=function(){var self={};var _={};var spinnerButton;var dialog=null;self.saveAvatarPhoto=function(args,spinner){spinnerButton=spinner;if(spinnerButton){spinnerButton.setBusy(false);}
if(args.networks.length){dialog=xp.dialog.progress({'header':xp.nls.html('SAVING'),'bodyHtml':xp.nls.html('PLEASE_WAIT_WHILE_PHOTOS_ADDED')});var debugParam=xp.url.getParameter(window.location.search,'debug');var ajaxUrl='/main/ajax?area=Settings_Profile_ModifyAndSavePhoto&xp_token='+encodeURIComponent(xp.token)+
(debugParam?'&debug='+encodeURIComponent(debugParam):'');var postParams={'action':'saveToNetworks','contentId':args.uploadedContentId,'networks':args.networks.join(',')};$.ajax({'type':'POST','url':ajaxUrl,'data':postParams,'dataType':'json','success':_.avatarPhotoAdded,'error':function(data,status,e){_.avatarPhotoAddError({'errorCode':28632901});}});}else{_.avatarPhotoAdded({'success':true});}};_.avatarPhotoAdded=function(data){if(data.success&&(!data.failedNetworks||data.failedNetworks.length==0)){window.location.reload();}else{_.avatarPhotoAddError(data);}};_.avatarPhotoAddError=function(data){dialog.hide();var errorMessage='';var reloadPage=false;if(data.errorCode){errorMessage=xp.nls.html('SORRY_PROBLEM_OCCURRED_TRY_LATER',data.errorCode);}else{var failedNetworksHtml=[];for(var k=0;k<data.failedNetworks.length;k++){var network=data.failedNetworks[k];failedNetworksHtml.push('<a href="'+network.networkUrl+'">'+network.networkName+'</a>');}
errorMessage=xp.nls.html('SORRY_COULD_NOT_ADD_PHOTO_TO',failedNetworksHtml.join(', '));reloadPage=true;}
dialog=xp.dialog.confirm({'header':xp.nls.html('FAILED'),'bodyHtml':'<div class="xj_notification form-error-summary" style="display: block">'+errorMessage+'</div>','onOk':function(){dialog.hide();dialog=null;if(reloadPage){window.location.reload();}},'useCancelButton':false});};_.onError=function(errorHtml){spinnerButton.setBusy(false);_.showNotification(false,'<p>'+errorHtml+'</p>');};_.showNotification=function(success,html){var notification=$(dialog).find('.xj_notification');if(success){notification.addClass('form-success-summary').removeClass('form-error-summary');}
else{notification.addClass('form-error-summary').removeClass('form-success-summary');}
$(dialog).find('.xj_notification').fadeIn('slow');notification.html(html);};return self;};xp_publish('LogPageView',['EndOfJs'])
xp.nls.choosePluralizationForm=function(n){return n==1?'f1':'f2';};jQuery.extend(xp.nls.messages,{"TOO_MANY_EMAIL_ADDRESSES":"You can only invite up to %1$s friends at a time.","YOU_CAN_ONLY_INVITE":"You can only invite up to %1$s friends","N_CHARS":{"f1":"1 char","f2":"%1$s chars"},"JOIN":"Join","ALL_ALREADY_MEMBERS":"All of your contacts are already members of Ning.","ALL_ALREADY_FRIENDS":"All of your contacts are already friends with you on Ning.","SHOWING_N_FRIENDS_MATCHING_X":"Showing %1$s friends matching \"%2$s\".","IMPORT_EMAIL_ADDRESSES":"Import Email Addresses","YOUR_EMAIL_ADDRESS":"Your Email Address:","PASSWORD":"Password","PASSWORD_COLON":"Password:","DONT_WORRY_WE_WONT_SAVE":"Don't worry, we won't save your password and you'll get a chance to choose which friends to invite.","REQUEST_INVITATION":"Request Invitation","PLEASE_ENTER_NAME":"Please enter a name.","PLEASE_ENTER_EMAIL_ADDRESSES":"Please enter one or more email addresses.","MESSAGE_TOO_LONG":"Your message is too long. Please use less than %1$s characters.","WE_DIDNT_FIND_ADDRESSES":"We didn't find any addresses in the address book we imported.","CLOSE":"Close","ADD_FRIENDS_ON_NING":"Add Friends On Ning","THESE_PEOPLE_ARE_MEMBERS":"These people are members of Ning and in your address book. Choose which friends you want to add as friends below.","SEARCH_PEOPLE_TO_ADD":"Search People to Add:","FRIEND_REQUESTS_HAVE_BEEN_SENT":"Friend requests have been sent.","YOUR_INVITES_HAVE_BEEN_SENT":"Your invites have been sent.","FOLLOWING_CONTACTS_ALSO_IN":"The following contacts are also in your address book but not members of Ning. Maybe you'd like to invite them also.","INVITE":"Invite","INVITING":"Inviting...","SKIP":"Skip","FINDING_FRIENDS":"Finding Friends...","RECOMMEND_A_SOCIAL_NETWORK_TO_USER":"Recommend a Ning Network to %1$s","SOCIAL_NETWORK_RECOMMENDATION_SENT":"Your Ning Network recommendation has been sent!","RECOMMEND_ANOTHER_SOCIAL_NETWORK_TO_USER":"Recommend another Ning Network to  %1$s below, or click Cancel.","SOCIAL_NETWORK":"Ning Network:","ADD_MESSAGE":"Add a message:","VIEW_AND_JOIN_USERS_SOCIAL_NETWORKS":"View and join %1$s’s Ning Networks","ENTER_NO_MORE":"Please enter no more than %1$s characters.","PLEASE_ENTER_EMAIL_ADDRESS":"Please enter an email address","X_IS_NOT_VALID_EMAIL_ADDRESS":"%1$s is not a valid email address","PLEASE_ENTER_PASSWORD":"Please enter your password","INVITATIONS_SENT_IN_LANGUAGE":"Your invitations will be sent in %1$s.","SORRY_WE_DO_NOT_SUPPORT":"Sorry, we don't support the web address book for your email address","VALID":"Valid!","ADD_AS_FRIEND":"Add as Friend","ADDING_AS_FRIEND":"Adding as Friend...","SORRY_PROBLEM_OCCURRED_TRY_LATER":"We're sorry – a problem occurred. Please try again later (%1$s).","SORRY_COULD_NOT_ADD_PHOTO_TO":"Sorry, we couldn't add your photo to %1$s. Please try again later.","IMPORT_ADDRESS_BOOK":"Import Address Book","MICROSOFT_OUTLOOK_APPLE_MAIL":"Microsoft Outlook, Apple Mail, .CSV, etc.","HOW_TO_CREATE_CONTACT_FILE":"How to create a contact file","BROWSE_FOR_FILE":"Browse For File:","UPLOAD_A_CSV":"Upload a .csv or .vcf ﬁle exported from Microsoft Outlook or Apple Address book.","FIND_YOUR_FRIENDS":"Find Your Friends","FINDING_YOUR_FRIENDS":"Finding Your Friends...","TRY_LATER_ERROR_CODE":"Please try again later (%1$s).","YOU_WILL_NEED_TO_VERIFY":"You will need to verify your new email address before this change takes effect.","ADD":"Add","ADDING":"Adding...","CANCEL":"Cancel","REMOVE_AS_FRIEND":"Remove as Friend","THIS_WILL_REMOVE_USER_AS_YOUR_FRIEND":"This will remove %1$s as your friend across all of your Ning Networks.","REMOVE":"Remove","OK":"Ok","SEARCH":"Search","SHOW_EVERYONE":"Show everyone","SELECT_ALL_NONE":"Select: <a %1$s>All</a>, <a %2$s>None</a>","INVITING_N_FRIENDS":{"f1":"Inviting %1$s friend","f2":"Inviting %1$s friends"},"ADDING_N_FRIENDS":{"f1":"Inviting %1$s friend","f2":"Inviting %1$s friends"},"SELECT_FRIENDS_FOR_INVITATION":"Select Friends For Your Invitation","THESE_FRIENDS_IN_ADDRESS_BOOK":"These friends are in your address book. We can send invites to the friends you select below.","SEARCH_FRIENDS_TO_INVITE":"Search Friends to Invite:","ADD_FRIENDS_TO_INVITE":"Add Friends to Invite","ADDING_FRIENDS_TO_INVITE":"Adding Friends to Invite...","ENTER_NO_MORE":"You can not enter more than %1$s characters.","LEAVE_X":"Leave %1$s?","ARE_YOU_SURE_LEAVE_X":"<p>Are you sure you want to leave <strong>%1$s</strong> and delete all your content? This process may take a few minutes.</p>","DELETE":"Delete","LEAVE":"Leave","ADD_PHOTO_FROM_YOUR_COMPUTER":"Add a Photo From Your Computer","BROWSE_TO_JPEG":"Browse to a JPEG, GIF or PNG on your computer:","UPLOADING_FILE":"Uploading File","OOPS_THAT_DID_NOT_WORK_ERROR_CODE":"Oops... that did not work (%1$s).","YOUR_PHOTO_WAS_SUCCESSFULLY_ADDED":"Your photo was successfully added","WOULD_YOU_LIKE_TO_USE_THIS_PROFILE_PHOTO":"Would you like to use this profile photo on any of your Ning Networks?","ITEMS_SELECTED":{"f1":"1 item selected","f2":"%1$s items selected"},"SAVING":"Saving...","PLEASE_WAIT_WHILE_PHOTOS_ADDED":"Please wait while we add your new photo...","DELETING":"Deleting...","LEAVING":"Leaving...","SEND":"Send","SENDING":"Sending...","DELETE_NETWORK_QUESTION":"Delete %1$s?","ARE_YOU_SURE_YOU_WANT_TO_DELETE_NETWORK":"Are you sure you want to delete <strong>%1$s</strong>? This process may take a few minutes. ","CONFIRM_YOUR_PASSWORD":"Confirm Your Password","CHANGE_PASSWORD":"Change Password","CURRENT_PASSWORD":"Current Password","NEW_PASSWORD":"New Password","CONFIRM_NEW_PASSWORD":"Confirm New Password","PASSWORD_CHANGED":"Your password was changed successfully.","CHANGE_EMAIL":"Change Email","NEW_EMAIL":"New Email Address","RE_ENTER_NEW_EMAIL":"Retype Email Address","EMAIL_CHANGED":"Your email was changed successfully.","CHANGE":"Change","CHANGING":"Changing...","APPLY":"Apply","APPLYING":"Applying...","EDIT_YOUR_PHOTO":"Edit Your Photo","ROTATE_LEFT":"Rotate Left","ROTATE_RIGHT":"Rotate Right","FAILED":"Failed","NING":"Ning","BLOCK_X":"Block %1$s?","THIS_WILL_BLOCK_ALL_MESSAGES":"This will block all future messages and invitations from this person on Ning.com. You may still receive emails from this person on Ning Networks. Would you like to proceed?","BLOCK":"Block","UNSUBSCRIBE":"Unsubscribe?","ARE_YOU_SURE_UNSUBSCRIBE_NING_EMAILS":"Are you sure you want to unsubscribe from Ning.com emails? You may still receive emails from members of Ning Networks.",'':''});