var PP=new function(){this.init=function(cr,tp,rp,fp,lp,sp,dc,qs,se,li){this.contextRoot=cr;this.templatePath=tp;this.relativePath=rp;this.fullPath=fp;this.localPath=lp;this.staticPrefix=sp;this.documentRoot=dc;this.staticExtensions=se.split(',');this.queryString=new PP.Ajax.QueryString(qs);if(this.Login)
this.Login.loggedIn=li;if(this.documentRoot=='/')
this.documentRoot='';if(this.contextRoot=='/')
this.contextRoot='';if(this.templatePath=='/')
this.templatePath='';}
this.resolveUrl=function(url){var result;if(url.charAt(0)=='/'){result=this.contextRoot+url;}
else if(url.charAt(0)=='~'&&url.charAt(1)=='/'){result=this.contextRoot+this.templatePath+url.substring(1);}
else if(url.charAt(0)=='.'&&url.charAt(1)=='/'){result=this.contextRoot+this.documentRoot+url.substring(1);}
else{var path=window.location.pathname;if(path.indexOf('/')>-1){path=path.substring(0,path.lastIndexOf('/'))+'/';}
result=path+url;}
return result;}
this.getElementById=function(e){if(typeof(e)=='string'){if(document.getElementById)e=document.getElementById(e);else if(document.all)e=document.all[e];else e=null;}
return e;}
this.getControlById=function(id){return this.getElementById('_emCtrl_'+id);}
this.getAjaxElementById=function(id){return this.getElementById('_emElement_'+id);}};PP.Util=new function(){this.repopulateSelect=function(e,v,l){e=PP.getElementById(e);var nodes=[];for(var i=0;i<e.childNodes.length;i++)
nodes[i]=e.childNodes[i];for(var i=0;i<nodes.length;i++)
e.removeChild(nodes[i]);if(e&&v){for(var i=0;i<v.length;i++){var o=document.createElement('option');o.value=v[i];o.innerHTML=l[i];e.appendChild(o);}}}
this.preloadImages=function(){if(document.images){for(i=0;i<arguments.length;i++)
if(typeof(arguments[i])=='string'){var img=new Image();img.src=arguments[i];}}}
this.clickParentLink=function(img){var node=img;while(node&&!PP.Util.equalsIgnoreCase(node.nodeName,'A')){node=node.parentNode;}
if(node&&node.click)
return node.click();return true;}
this.clickChildLink=function(node){var a=node.getElementsByTagName('a');if(a&&a.length>0){if(a[0].onclick){if(a[0].onclick()){window.location=a[0].href;}}
else{window.location=a[0].href;}}
return true;}
this.cancelEvent=function(event){if(event.stopPropagation){event.stopPropagation();}
else{event.cancelBubble=true;}}
this.getScrollX=function(){if(typeof(window.pageYOffset)=='number'){return window.pageXOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){return document.body.scrollLeft;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){return document.documentElement.scrollLeft;}else{return 0;}}
this.getScrollY=function(){if(typeof(window.pageYOffset)=='number'){return window.pageYOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){return document.body.scrollTop;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){return document.documentElement.scrollTop;}else{return 0;}}
this.textBoxDefault=function(e,defaultValue,clear,passwrd){e=PP.getElementById(e);if(!e.xtbdos)e.xtbdos="PP.Util.textBoxDefault('"+e.id+"','"+defaultValue+"',true,"+passwrd+")";if(clear){PP.Util.addClass(e,'xHasValue');if(e.value==defaultValue)
e.value='';if(passwrd)
e.type='password';}
else{if(e.value==''){PP.Util.removeClass(e,'xHasValue');if(passwrd)
e.type='text';e.value=defaultValue;}
else if(e.value!=defaultValue){PP.Util.addClass(e,'xHasValue');}}}
this.clearTextBoxDefaults=function(frm){var inputs=frm.getElementsByTagName('INPUT');for(i=0;i<inputs.length;i++){if(inputs[i].type=='text'){if(inputs[i].xtbdos){eval(inputs[i].xtbdos);}}}}
this.formatNumber=function(num){num=String(num);var cpy='';for(var i=0;i<num.length;i++){if((num.length-i)%3==0&&i>0)
cpy+=',';cpy+=num.charAt(i);}
return cpy;}
this.trim=function(str){if(typeof(str)!='string')return str;return str.replace(/(^\s+)|(\s+$)/g,'');}
this.hasClass=function(e,cls){e=PP.getElementById(e);if(!e||typeof(e.className)!='string')return false;var regex=new RegExp("(^|\\s)"+cls+"(\\s|$)");return regex.test(e.className);}
this.addClass=function(e,cls){e=PP.getElementById(e);if(!e)return;if(!this.hasClass(e,cls)){e.className=e.className.replace(/\s*$/,' ');e.className+=' '+cls;}}
this.removeClass=function(e,cls){e=PP.getElementById(e);if(!e)return;if(this.hasClass(e,cls)){e.className=e.className.replace(new RegExp('(^|\\s)'+cls+'(\\s|$)'),' ');e.className=e.className.replace(/\s(\s+)/,' ');}}
this.toggleClass=function(e,cls){if(PP.Util.hasClass(e,cls)){PP.Util.removeClass(e,cls);}
else{PP.Util.addClass(e,cls);}}
this.equalsIgnoreCase=function(str1,str2){return typeof(str1)=='string'&&typeof(str2)=='string'&&str1.toLowerCase()==str2.toLowerCase();}
this.attachEvent=function(elmt,evt,fun){var wrapper=function(e){if(!e)e=window.event;var result=fun(e);if(result==false&&e&&e.preventDefault)
e.preventDefault();return result;}
if(elmt.addEventListener)
elmt.addEventListener(evt,wrapper,false);else if(elmt.attachEvent)
elmt.attachEvent('on'+evt,wrapper);}
this.loadScript=function(url){if(document.createElement&&document.getElementsByTagName){var script=document.createElement('script');var head=document.getElementsByTagName('head');if(script&&head.length){script.src=url;head[0].appendChild(script);}}}
this.getCookie=function(name){var value=null,search=name+"=";if(document.cookie.length>0){var offset=document.cookie.indexOf(search);if(offset!=-1){offset+=search.length;var end=document.cookie.indexOf(";",offset);if(end==-1)end=document.cookie.length;value=unescape(document.cookie.substring(offset,end));}}
return value;}
this.setCookie=function(name,value,expire,path){document.cookie=name+"="+escape(value)+
((!expire)?"":("; expires="+expire.toGMTString()))+"; path="+((!path)?"/":path);}
this.deleteCookie=function(name,path){if(PP.Util.getCookie(name)){document.cookie=name+"="+"; path="+((!path)?"/":path)+"; expires="+new Date(0).toGMTString();}}
this.getElementLeft=function(e){e=PP.getElementById(e);if(!e)return 0;var leftPos=e.offsetLeft;var parent=e.offsetParent;while(parent!=null){leftPos+=parent.offsetLeft;parent=parent.offsetParent;}
return leftPos;}
this.getElementTop=function(e){e=PP.getElementById(e);if(!e)return 0;var topPos=e.offsetTop;var parent=e.offsetParent;while(parent!=null){topPos+=parent.offsetTop;parent=parent.offsetParent;}
return topPos;}
this.getElementRight=function(e){return PP.Util.getElementLeft(e)+PP.Util.getElementWidth(e);}
this.getElementBottom=function(e){return PP.Util.getElementTop(e)+PP.Util.getElementHeight(e);}
this.getElementWidth=function(e){e=PP.getElementById(e);if(!e)return 0;if(e.offsetWidth)return e.offsetWidth;if(e.style.pixleWidth)return e.style.pixleWidth;return 0;}
this.getElementHeight=function(e){e=PP.getElementById(e);if(!e)return 0;if(e.offsetHeight)return e.offsetHeight;if(e.style.pixleHeight)return e.style.pixleHeight;return 0;}
this.getDocumentWidth=function(){var width=PP.Util.getElementWidth(document.body);if(window.innerWidth>width)
width=window.innerWidth;if(document.body.clientWidth)
width=document.body.clientWidth;if(document.documentElement.clientWidth>width)
width=document.documentElement.clientWidth;return width;}
this.getDocumentHeight=function(){var height=PP.Util.getElementHeight(document.body);if(document.body.scrollHeight>height)
height=document.body.scrollHeight;if(document.documentElement.clientHeight>height)
height=document.documentElement.clientHeight;if(window.innerHeight>height)
height=window.innerHeight;if(document.body.clientHeight)
width=document.body.clientHeight;return height;}
this.base36Decode=function(str)
{if(str.length%6>0)
return"";var block;var ch;var buf='';for(i=0;i<str.length;i+=6)
{block=str.substring(i,i+6);ch=parseInt(block,36);buf+=String.fromCharCode((ch&0xFF));if((ch&0xFF00)>0)
buf+=String.fromCharCode((ch&0xFF00)>>>8);if((ch&0xFF0000)>0)
buf+=String.fromCharCode((ch&0xFF0000)>>>16);if((ch&0xFF000000)>0)
buf+=String.fromCharCode((ch&0xFF000000)>>>24);}
return buf;}
this.base36Encode=function(chrs)
{var buf='';var ch=0,tmp;var buffered=0;for(i=0;i<chrs.length;i++)
{tmp=(chrs.charCodeAt(i)&0xFF)<<(buffered*8);ch+=tmp;buffered++;if(buffered==4||i==chrs.length-1)
{buf+=PP.Util.padLeft(new Number(ch).toString(36),"0",6);ch=0;buffered=0;}}
return buf;}
this.padLeft=function(str,ch,len)
{while(str.length<len)
str=ch+str;return str;}
this.getFieldValue=function(fld,d){if(typeof(fld)=='string'){var tmp=PP.Util.getControlById(fld);if(tmp==null)
tmp=PP.getElementById(fld);fld=tmp;}
if(fld){if(PP.Util.equalsIgnoreCase(fld.tagName,'SELECT')){return fld.options[fld.selectedIndex].value;}
else if(PP.Util.equalsIgnoreCase(fld.tagName,'INPUT')&&PP.Util.equalsIgnoreCase(fld.type,'RADIO')){return fld.checked;}
else if(PP.Util.equalsIgnoreCase(fld.tagName,'INPUT')&&PP.Util.equalsIgnoreCase(fld.type,'CHECKBOX')){return fld.checked;}
else{return(fld.value?fld.value:d);}}
return d;}
this.setFieldValue=function(fld,v){if(typeof(fld)=='string'){var tmp=PP.Util.getControlById(fld);if(tmp==null)
tmp=PP.getElementById(fld);fld=tmp;}
if(fld){if(PP.Util.equalsIgnoreCase(fld.tagName,'SELECT')){fld.selectedIndex=0;for(i=0;i<fld.options.length;i++){if(fld.options[i].value==v){fld.selectedIndex=i;break;}}}
else{fld.value=v;}}}
this.createClosure=function(obj,fun){if(!window.__cxClosures){window.__cxClosures={id:0,objects:[],functions:[],aguments:[]}}
var id;var args;if(arguments.length>0){args=[];for(var i=2;i<arguments.length;i++)
args[i-2]=arguments[i];}
id=(window.__cxClosures.id++);window.__cxClosures.objects[id]=obj;window.__cxClosures.functions[id]=fun;window.__cxClosures.aguments[id]=args;obj=null;fun=null;return function(){var args;if(window.__cxClosures.aguments[id]){args=[];for(var i=0;i<window.__cxClosures.aguments[id].length;i++){args[i]=window.__cxClosures.aguments[id][i];}
args[args.length]=arguments;}
else{args=arguments;}
return window.__cxClosures.functions[id].apply(window.__cxClosures.objects[id],args);}}
this.switchTab=function(tab){var tabs=[];var panes=[];var links=document.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(PP.Util.hasClass(links[i],'xTAB'))
tabs[tabs.length]=links[i];}
var divs=document.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if(PP.Util.hasClass(divs[i],'xPANE'))
panes[panes.length]=divs[i];}
for(var i=0;i<tabs.length;i++){if(tabs[i].id!=tab+'Tab')
PP.Util.removeClass(tabs[i],'xTAB_active');if(tabs[i].id==tab+'Tab'){PP.Util.addClass(tabs[i],'xTAB_active');tabs[i].blur();}}
for(var i=0;i<panes.length;i++){if(panes[i].id!=tab+'Pane')
PP.Util.removeClass(panes[i],'xPANE_active');if(panes[i].id==tab+'Pane')
PP.Util.addClass(panes[i],'xPANE_active');}
PP.Mapping.checkResizeMaps();PP.Util.resetVideos();return false;}
this.resetVideos=function(){var objects=document.getElementsByTagName('object');for(var i=0;i<objects.length;i++){var parent=objects[i].parentNode;if(!parent.parentNode||parent.parentNode.className!='__propvideo')
continue;var innerHtml=parent.innerHTML;parent.innerHTML='';parent.innerHTML=innerHtml;}
var objects=document.getElementsByTagName('embed');for(var i=0;i<objects.length;i++){var parent=objects[i].parentNode;if(!parent.parentNode||parent.parentNode.className!='__propvideo')
continue;var innerHtml=parent.innerHTML;parent.innerHTML='';parent.innerHTML=innerHtml;}}
this.displayElement=function(e,d){e=PP.getElementById(e);if(e){e.style.display=d;}}
this.getCaretPosition=function(e){var sel,rng,r2,i=-1;if(typeof e.selectionStart=="number"){i=e.selectionStart;}
else if(document.selection&&e.createTextRange){sel=document.selection;if(sel){rgn=sel.createRange();var bookmark=rgn.getBookmark();i=bookmark.charCodeAt(2)-2;}}else{e.onkeyup=null;e.onclick=null;}
return i;}
this.setCaretPosition=function(e,pos)
{if(e.setSelectionRange){e.focus();e.setSelectionRange(pos,pos);}
else if(e.createTextRange){var range=e.createTextRange();range.collapse(true);range.moveEnd('character',pos);range.moveStart('character',pos);range.select();}}
this.onImagesLoaded=function(e,callback){e=PP.getElementById(e);if(e){var imgs=e.getElementsByTagName('img');var allLoaded=true;for(var i=0;i<imgs.length&&allLoaded;i++){if(!imgs[i].complete)
allLoaded=false;}
if(!allLoaded){setTimeout(function(){PP.Util.onImagesLoaded(e,callback);},10);}
else{callback();}}}
this.attachEvent(document,'mousemove',function(e){var tempX,tempY;e=(e||window.event);if(e.pageX||e.pageY){tempX=e.pageX;tempY=e.pageY;}
if(document.all&&e){var de=document.documentElement;var b=document.body;tempX=e.clientX+(b?b.scrollLeft:de.scrollLeft)-(de.clientLeft||0);tempY=e.clientY+(b?b.scrollTop:de.scrollTop)-(de.clientTop||0);}
if(tempX<0){tempX=0}
if(tempY<0){tempY=0}
PP.Util.mouseX=tempX;PP.Util.mouseY=tempY;return true});this.getMouseX=function(){return this.mouseX;}
this.getMouseY=function(){return this.mouseY;}
this.tablePage=0;this.nextPage=function(pageSize){if(!PP.Util.setPage(PP.Util.tablePage+1,pageSize)){PP.Util.tablePage++;}}
this.prevPage=function(pageSize){if(!PP.Util.setPage(PP.Util.tablePage-1,pageSize)){PP.Util.tablePage--;}}
this.setPage=function(page,pageSize){var table=document.getElementById('pagedTable');var tbody=table.getElementsByTagName('tbody')[0];var rows=tbody.getElementsByTagName('tr');var tfoot=table.getElementsByTagName('tfoot')[0];if(rows.length>pageSize)
tfoot.style.visibility='visible';var start=page*pageSize;var end=start+pageSize;if(rows.length<=start||start<0){return true;}
if(start==0){PP.Util.addClass('pagePrev','disabled');}
else{PP.Util.removeClass('pagePrev','disabled');}
if(end>=rows.length){PP.Util.addClass('pageNext','disabled');}
else{PP.Util.removeClass('pageNext','disabled');}
if(end>rows.length)
end=rows.length;document.getElementById('pageStart').innerHTML=(start+1);document.getElementById('pageEnd').innerHTML=end;for(var x=0;x<rows.length;x++){if(x<end&&x>=start)
rows[x].style.display='';else
rows[x].style.display='none';}
return false;}
this.av=function(frm){var inputs=frm.getElementsByTagName('input');var token='';for(var i=0;i<inputs.length;i++){if(inputs[i].name=='_avcrumba'){token=inputs[i].value;}}
for(var i=0;i<inputs.length;i++){if(inputs[i].name=='_avcrumbb'){inputs[i].value=token;}}}
this.scrollToElement=function(e){e=PP.getElementById(e);var y=PP.Util.getElementTop(e);window.scroll(0,y);}
this.isValidMouseOverOutEvent=function(event,element){if(event.type!='mouseout'&&event.type!='mouseover')return false;var reltg=event.relatedTarget?event.relatedTarget:event.type=='mouseout'?event.toElement:event.fromElement;while(reltg&&reltg!=element)
reltg=reltg.parentNode;return(reltg!=element);}};PP.Ajax=new function(){this.getLastUri=function(){if(this.lastUri)
return this.lastUri;return window.location.pathname+window.location.search;}
this.loadElement=function(uri,element,callback,loading,htmle,notAccessible){var originalUri=uri;if(!notAccessible)
this.lastUri=uri;if(typeof(uri)=='string')
uri=PP.resolveUrl(uri);uri=this.buildRequest(uri);uri.uri.query.setValue('__e',element);if(!htmle)htmle=PP.getAjaxElementById(element);var div;if(loading){htmle.style.position='relative';var loadingDiv=document.createElement('div');loadingDiv.style.position='absolute';loadingDiv.style.zIndex=99;loadingDiv.style.top='-5px';loadingDiv.style.left='-5px';loadingDiv.style.width=PP.Util.getElementWidth(htmle)+'px';var height=PP.Util.getElementHeight(htmle);var e=PP.getElementById('xLoadingBottom');if(e){height=PP.Util.getElementTop(e);}
loadingDiv.style.height=height+'px';loadingDiv.style.paddingTop='10px';loadingDiv.style.paddingLeft='10px';loadingDiv.className='xLoading';loadingDiv.innerHTML='loading';htmle.appendChild(loadingDiv);}
return this.loadContent(uri,htmle,function(res,req,e){e.style.position='';if(PP.tracker){PP.tracker._trackPageview(PP.Ajax.resolveUrl(originalUri.href));PP.tracker._trackEvent("Ajax",element);}
if(div){document.body.removeChild(div);}
if(req.getResponseHeader('X-ClosePopup')){PP.Popup.hide();}
if(callback)callback(res,req);});}
this.sendRequest=function(uri,callback){if(typeof(callback)!='function'||!uri)return false;if(uri.PPAjaxUri!=true&&uri.PPAjaxRequest!=true){uri=new PP.Ajax.Uri(uri);}
if(uri.PPAjaxRequest!=true){uri=new PP.Ajax.Request(uri);}
uri.uri.query.setValue('_ts',new Date().getTime());var req=this.createXmlHttpRequest();req.open(uri.getMethod(),uri.uri.toString(),true);for(var header in uri.headers){if(header.toLowerCase()=='content-type'){if(req.overrideMimeType){req.overrideMimeType(uri.headers[header]);}}
req.setRequestHeader(header,uri.headers[header]);}
req.onreadystatechange=function(){if(req.readyState==4){var res=new PP.Ajax.Response();res.xmlhttpreq=req;res.status=req.status;res.statusText=req.statusText;res.responseText=req.responseText;if(req.responseXML)
res.responseXML=req.responseXML;callback(res,req);}}
req.send((uri.getMethod()=='POST'?uri.body:null));return false;}
this.loadContent=function(uri,e,callback){e=PP.getElementById(e);if(!e)return false;return this.sendRequest(uri,function(response,req){if(response.status==200){PP.Ajax.setInnerHTML(e,response.responseText+'<div style="clear:both"></div>');if(callback)callback(response,req,e);}
else
{uri.uri.query.removeKey('__e');}});}
this.buildRequest=function(e){if(e.PPAjaxRequest)
return e;var stre=e;e=PP.getElementById(e);if(e&&e.tagName){if(e.tagName=='A'){return new PP.Ajax.Request(this.resolveUrl(e.href));}
else if(e.tagName=='FORM'){var req=new PP.Ajax.Request(this.resolveUrl(e.action));req.method=e.method.toUpperCase();if(!req.method||req.method==''){req.method='GET';}
if(req.method=='GET'){req.uri.query=this.buildQSFromForm(e);}
else if(req.method=='POST'){req.setHeader('Content-Type','application/x-www-form-urlencoded');req.body=this.buildQSFromForm(e).toString();}
return req;}
return null;}
else if(!e){e=stre;return new PP.Ajax.Request(e);}
return null;}
this.buildQSFromForm=function(form){form=PP.getElementById(form);if(!form.tagName||form.tagName!='FORM')
return null;var qs=new PP.Ajax.QueryString();this.addElementsToQS(form.childNodes,qs);return qs;}
this.addElementsToQS=function(elements,qs){for(var i=0;i<elements.length;i++){var e=elements[i];if(e.tagName&&(e.tagName.toLowerCase()=='input'||e.tagName.toLowerCase()=='textarea')){if(e.type.toLowerCase()=='checkbox'||e.type.toLowerCase()=='radio'){if(!e.checked)continue;}
if(e.name&&e.name!=''){qs.addValue(e.name,(e.value?e.value:''));}}
else if(e.tagName&&e.tagName=='SELECT'){for(var j=0;j<e.options.length;j++){if(j==e.selectedIndex){qs.addValue(e.name,e.options[j].value);}}}
else if(e.childNodes){this.addElementsToQS(e.childNodes,qs);}}}
this.Request=function(uri){this.PPAjaxRequest=true;this.headers=[];this.uri;this.method;this.body;this.timeout;this.setHeader=function(key,value){var found=key;for(var k in this.headers){if(k.toLowerCase()==key.toLowerCase()){found=k;break;}}
this.headers[found]=value;}
this.getMethod=function(){if(!this.method)
return'GET';else
return this.method.toUpperCase();}
this.headers['Content-Type']='text/plain';this.headers['Cache-Control']='no-cache';if(uri)this.uri=(uri.PPAjaxUri==true?uri:new PP.Ajax.Uri(uri));}
this.Response=function(){this.PPAjaxResponse=true;this.status;this.statusText;this.responseText;this.responseXML;this.getHeader=function(key){return(this.xmlhttpreq?this.xmlhttpreq.getResponseHeader(key):'');}}
this.Uri=function(uri){this.PPAjaxUri=true;this.protocol;this.host;this.port;this.path;this.query;this.toString=function(){if(this.all)
return this.all;var str='';if(this.protocol&&this.host){str+=this.protocol+'://'+this.host;if(this.port){str+=':'+this.port;}}
var path='/';if(this.path&&this.path.length>0&&this.path.charAt(0)!='/')
path='/'+this.path;else
path=this.path;str+=path;if(this.query&&this.query.pairs.length>0)
str+='?'+this.query;return str;}
var uriRegex=/^((([^:\/]+):\/\/)([^:\/]+)(:([0-9]{1,5})){0,1}){0,1}(\/[^$\?]*){0,1}(\?(.*)){0,1}$/;var match=uriRegex.exec(uri);if(match){this.protocol=match[3];this.host=match[4];if(match[6])this.port=Number(match[6]);this.path=match[7];this.query=new PP.Ajax.QueryString(match[9]);}
else{this.all=uri;}}
this.QueryString=function(qs){if(qs&&qs.charAt(0)=='?')
qs=qs.substring(1);this.PPAjaxQueryString=true;this.pairs=[];this.getValue=function(key){var pair=this.getPair(key);return(pair?pair.value:null);}
this.getPair=function(key){for(var i in this.pairs){if(this.pairs[i].key==key){return this.pairs[i];}}
return null;}
this.setValue=function(key,value){key=String(key);value=String(value);if(value==null)
this.removeKey(key);else{var pair=this.getPair(key);if(pair)
pair.value=value;else
this.addValue(key,value);}}
this.addValue=function(key,value){if(key!=null&&key.length>0&&value!=null){this.pairs[this.pairs.length]={key:key,value:value};}}
this.removeKey=function(key){var newPairs=[];for(var i in this.pairs){var p=this.pairs[i];if(key!=p.key){newPairs[newPairs.length]=p;}}
this.pairs=newPairs;}
if(typeof(qs)=='string'){var qsPairs=qs.split('&');for(var i=0;i<qsPairs.length;i++){var key;var value;var eqIndex=qsPairs[i].indexOf('=');if(eqIndex>0){key=unescape(qsPairs[i].substring(0,eqIndex).replace(/\+/g,' '));value=unescape(qsPairs[i].substring(eqIndex+1).replace(/\+/g,' '));}
else{key=unescape(qsPairs[i]);value='';}
this.addValue(key,value);}}
this.toString=function(){var str='';for(var i in this.pairs){if(str.length>0)
str+='&';var pair=this.pairs[i];str+=escape(pair.key)+'='+escape(pair.value);}
return str;}}
this.resolveUrl=function(path){if(typeof(path)!='string'||PP.Util.trim(path).length==0)
return null;var winPath=window.location.toString();winPath=winPath.replace(/[A-Za-z]+:\/\/[^\/]+/g,'');var newPath=path.replace(/[A-Za-z]+:\/\/[^\/]+/g,'');if(newPath.charAt(0)!='/'){newPath=winPath.substring(0,winPath.lastIndexOf('/')+1)+newPath;return newPath;}
return newPath;}
this.setInnerHTML=function(e,html){e=PP.getElementById(e);e.innerHTML='<span style="display:none;">&nbsp;</span>'+html;if(!PP.Ajax.innerHTMLSupportsJS){var d=e.getElementsByTagName('script');var t=d.length;for(var x=0;x<t;x++){var newScript=document.createElement('script');newScript.type="text/javascript";newScript.text=d[x].text;e.appendChild(newScript);}
for(var y=0;y<t;y++){d[y].parentNode.removeChild(d[y]);}}}
this.downloadFile=function(url){if(!url)
return null;var req=this.createXmlHttpRequest();req.open('GET',url.toString(),false);req.send(null);return req.responseText;}
this.createXmlHttpRequest=function(){var reqObj=null;try{reqObj=new XMLHttpRequest();}
catch(e){try{reqObj=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){if(window.createRequest){try{reqObj=window.createRequest();}
catch(e){}}}}
return reqObj;}
this.init=function(){this.HistorySupport.initiate();this.innerHTMLSupportsJS=false;var e=document.createElement("div");document.body.appendChild(e);e.innerHTML='<script type="text/javascript">this.innerHTMLSupportsJS = true;<\/script>';document.body.removeChild(e);}
this.elements=[];this.registerElement=function(id,uri){this.elements[id]={id:id,e:PP.getAjaxElementById(id),uri:uri};}
this.getElement=function(id){return this.elements[id];}
this.reloadElement=function(id,loading,callback){var e=this.getElement(id);if(e){if(this.loadElement(e.uri,e.id,callback,loading)){return true;}}
return true;}};PP.Ajax.HistorySupport=new function(){this.useIFrame=false;this.iFrame=null;this.onhash=null;this.lastHash='';this.browser=null;this.running=false;this.isSupported=function(){return this.browser;}
this.go=function(hash,resetScroll){if(!this.isSupported())
return true;if(resetScroll){window.scrollTo(0,0);}
if(this.useIFrame){this.iFrame.src='/_templates/_shared/docs/hash.jsp?t='+(new Date().getTime())+'&hash='+escape(hash);}
else{window.location.hash=hash;}
return false;}
this.checkHash=function(){if(PP.Ajax.HistorySupport.lastHash!=window.location.hash){PP.Ajax.HistorySupport.doHash();PP.Ajax.HistorySupport.lastHash=window.location.hash;}}
this.doHash=function(hash){if(!hash){hash=window.location.hash;var location=String(window.location);if(location.indexOf('#')>-1){hash=location.substring(location.indexOf('#')+1);}}
if(this.onhash){this.onhash(hash);}}
this.initiate=function(){var userAgent='';if(navigator.userAgent)
userAgent=navigator.userAgent.toUpperCase();if(userAgent.indexOf("MSIE 7")>-1)
this.browser="ie7";else if(userAgent.indexOf("MSIE 6")>-1)
this.browser="ie6";else if(userAgent.indexOf("FIREFOX")>-1)
this.browser="firefox";else if(userAgent.indexOf("SAFARI")>-1)
this.browser="safari";else if(window.opera)
this.browser="opera";if(!this.isSupported())
return;if(this.browser=="ie6"||this.browser=="ie7"||this.browser=="opera")
this.useIFrame=true;if(this.useIFrame){this.iFrameInit=false;this.iFrame=document.createElement('iframe');this.iFrame.style.display='none';this.iFrame.src=PP.resolveUrl('/_templates/_shared/docs/hash.jsp');window.PPHistorySupport=this;document.body.appendChild(this.iFrame);if(window.location.hash){this.doHash();}}
else{PP.Ajax.HistorySupport.hashInterval=setInterval(PP.Ajax.HistorySupport.checkHash,200);}}
this.defaultElement=null;this.onhash=function(hash){if(!hash){if(!this.defaultElement){window.location.reload();return;}
else{hash=this.defaultElement+'?';}}
if(hash.indexOf('?')>0){var elements=hash.substring(0,hash.indexOf('?')).split(",");var qs=new PP.Ajax.QueryString(hash.substring(hash.indexOf('?')+1));for(var i=0;i<elements.length;i++){if(elements[i]){PP.Ajax.loadElement(window.location.pathname+'?'+qs,elements[i],null,true,null);}}}}};PP.Popup=new function(){this.visible=false;PP.Util.attachEvent(window,'keydown',function(e){if(e.keyCode==27||e.charCode==27){PP.Popup.hide();}});this.showWithFormQS=function(uri,htmle,element,title,width,height){while(htmle.tagName!='FORM'){htmle=htmle.parentNode;}
if(htmle){this.show(uri+'?'+PP.Ajax.buildQSFromForm(htmle),element,title,width,height);}
return false;}
this.show=function(uri,width,height){if(!this.visible){this.visible=true;var selects=document.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].style.visibility='hidden';}
this.bg=document.createElement('div');this.bg.style.position='absolute';this.bg.style.top='0px';this.bg.style.left='0px';this.bg.style.width=PP.Util.getDocumentWidth()+'px';this.bg.style.height=PP.Util.getDocumentHeight()+'px';this.bg.style.zIndex=991;this.bg.className='xPopup_bg';document.body.appendChild(this.bg);var loading=document.createElement('div');loading.className="xPopup_loader";this.bg.appendChild(loading);var box=document.createElement('div');box.className='popupWrapper';loading.appendChild(box);var dtl=document.createElement('div');dtl.className='popup_tl';box.appendChild(dtl);var dt=document.createElement('div');dt.className='popup_t';box.appendChild(dt);var dtr=document.createElement('div');dtr.className='popup_tr';box.appendChild(dtr);var cw=document.createElement('div');cw.className='contentWrapper';box.appendChild(cw);var dbl=document.createElement('div');dbl.className='popup_bl';box.appendChild(dbl);var db=document.createElement('div');db.className='popup_b';box.appendChild(db);var dbr=document.createElement('div');dbr.className='popup_br';box.appendChild(dbr);this.scrollY=PP.Util.getScrollY();window.scrollTo(PP.Util.getScrollX(),0);this.width=width;this.height=height;return PP.Ajax.loadElement(uri,'popup_wrapper',PP.Util.createClosure(this,function(res){this.handleButtons(this.bg);PP.Util.removeClass(this.content,'xPup_loading');PP.Popup.reposition();}),false,this.bg,true);}}
this.handleButtons=function(htmle){var links=htmle.getElementsByTagName("A");for(var l=0;l<links.length;l++){if(PP.Util.hasClass(links[l],'xPUP_closeBtn')){PP.Util.attachEvent(links[l],'click',function(){PP.Popup.hide();return false;});}
else if(PP.Util.hasClass(links[l],'xPUP_ajaxBtn')){PP.Util.attachEvent(links[l],'click',PP.Util.createClosure(this,function(uri,htmle){return PP.Ajax.loadElement(uri,'xPopup',PP.Util.createClosure(this,function(htmle){return this.handleButtons(htmle);},htmle),false);},links[l],htmle));}}
var btns=htmle.getElementsByTagName("INPUT");for(var l=0;l<btns.length;l++){if(PP.Util.hasClass(btns[l],'xPUP_closeBtn')&&(btns[l].type=='button'||btns[l].type=='submit')){PP.Util.attachEvent(btns[l],'click',function(){PP.Popup.hide();return false;});}}
btns=htmle.getElementsByTagName("BUTTON");for(var l=0;l<btns.length;l++){if(PP.Util.hasClass(btns[l],'xPUP_closeBtn')&&(btns[l].type=='button'||btns[l].type=='submit')){PP.Util.attachEvent(btns[l],'click',function(){PP.Popup.hide();return false;});}}}
this.reposition=function(){if(this.visible){this.bg.style.width=PP.Util.getDocumentWidth()+'px';this.bg.style.height=PP.Util.getDocumentHeight()+'px';}}
this.hide=function(){if(this.visible){this.visible=false;window.scrollTo(PP.Util.getScrollX(),this.scrollY);this.scrollY=null;var selects=document.getElementsByTagName('select');for(var i=0;i<selects.length;i++){selects[i].style.visibility='visible';}
document.body.removeChild(this.bg);this.bg=null;return false;}}
PP.Util.attachEvent(window,'resize',function(){PP.Popup.reposition();});this.handleForm=function(res){if(res.getHeader('x-propertypal-closepopup')=='true'){PP.Popup.hide();if(PP.Popup.oncomplete){PP.Popup.oncomplete();}}}};PP.Search=new function(){this.currentDiv=null;this.initTb=function(tb,dt){tb=PP.getElementById(tb);if(tb){tb.setAttribute('autocomplete','off');PP.Util.attachEvent(tb,'focus',PP.Util.createClosure(this,function(tb){PP.Search.openSuggestions(tb);},tb));PP.Util.attachEvent(tb,'blur',PP.Util.createClosure(this,function(tb){PP.Search.lastQuery='';if(this.currentDiv){var t=PP.Util.getElementTop(this.currentDiv);var b=PP.Util.getElementBottom(this.currentDiv);var l=PP.Util.getElementLeft(this.currentDiv);var r=PP.Util.getElementRight(this.currentDiv);var mx=PP.Util.getMouseX();var my=PP.Util.getMouseY();if(!(my>=t&&my<=b&&mx>=l&&mx<=r)){var parent=this.currentDiv.parentNode;parent.removeChild(this.currentDiv);this.currentDiv=null;}}},tb));PP.Util.attachEvent(tb,'keydown',PP.Util.createClosure(this,this.keypress,tb));PP.Util.attachEvent(tb,'click',PP.Util.createClosure(this,this.keypress,tb,true));}
this.initTbDefaultText(tb,dt);PP.Util.attachEvent(tb,'change',PP.Util.createClosure(this,function(){var radiusSelect=PP.getControlById('hradius');if(radiusSelect)radiusSelect.value='0';}));}
this.initTbDefaultText=function(tb,dt){tb=PP.getElementById(tb);if(tb.value=='')tb.value=dt;if(tb.value==dt)PP.Util.addClass(tb,'xTbDef');PP.Util.attachEvent(tb,'focus',PP.Util.createClosure(this,function(tb,text){if(tb.value==text){tb.value='';PP.Util.removeClass(tb,'xTbDef');}},tb,dt));PP.Util.attachEvent(tb,'blur',PP.Util.createClosure(this,function(tb,text){if(tb.value==''){tb.value=text;PP.Util.addClass(tb,'xTbDef');}},tb,dt));PP.Util.attachEvent(tb.form,'submit',PP.Util.createClosure(this,function(tb,text){if(tb.value==text){tb.value='';}},tb,dt));}
this.openSuggestions=function(tb){if(!this.currentDiv){var top=PP.Util.getElementBottom(tb)+1;var left=PP.Util.getElementLeft(tb);var outerDiv=document.createElement('div');outerDiv.className='xHelper';outerDiv.style.position='absolute';outerDiv.style.top=(top+'px');outerDiv.style.left=(left+'px');outerDiv.style.display='none';outerDiv.style.zIndex='99';PP.Util.attachEvent(outerDiv,'click',PP.Util.createClosure(this,function(tb){PP.Util.setCaretPosition(tb,PP.Util.getCaretPosition(tb));},tb));this.currentDiv=outerDiv;document.body.appendChild(outerDiv);}}
this.keypress=function(tb,click){if(this.keyTimeout){clearTimeout(this.keyTimeout);}
this.keyTimeout=setTimeout(PP.Util.createClosure(this,function(tb,click){var st=PP.Util.getFieldValue(tb.form.st,'');var pt=PP.Util.getFieldValue(tb.form.pt,'');if(PP.Search.lastQuery!=tb.value&&tb.value.length>2){PP.Ajax.loadContent(PP.resolveUrl('~/data/suggestions')+'?q='+escape(tb.value)
+'&p='+PP.Util.getCaretPosition(tb)+'&id='+tb.id+'&pt='+pt+'&st='+st+'&click='+click,this.currentDiv,function(res,req){if(req.getResponseHeader('X-NoSuggestions')=='true'){if(PP.Search.currentDiv){PP.Search.currentDiv.style.display='none';}}
else{if(PP.Search.currentDiv){PP.Search.currentDiv.style.display='block';}}});}
else if(PP.Search.lastQuery!=tb.value){if(PP.Search.currentDiv){PP.Search.currentDiv.style.display='none';}}
PP.Search.lastQuery=tb.value;},tb,click),50);}
this.changeSearchType=function(st,form){var minPrice=document.getElementById(form.id+"_minPrice");var maxPrice=document.getElementById(form.id+"_maxPrice");st=String(st);if(st!='sale'&&st!='rent'){st=st.split(",")[0];}
var labels=PP.Search.data.st[st].lpl;var values=PP.Search.data.st[st].lpv;minPrice.disabled=false;minPrice.innerHTML='';for(var i=0;i<labels.length;i++){var o1=document.createElement('option');o1.value=values[i];o1.innerHTML=labels[i];minPrice.appendChild(o1);}
minPrice.selectedIndex=0;var labels2=PP.Search.data.st[st].upl;var values2=PP.Search.data.st[st].upv;maxPrice.disabled=false;maxPrice.innerHTML='';for(var i=0;i<labels2.length;i++){var o1=document.createElement('option');o1.value=values2[i];o1.innerHTML=labels2[i];maxPrice.appendChild(o1);}
maxPrice.selectedIndex=0;var inputs=document.getElementsByTagName("input");for(var i=0;i<inputs.length;i++){if(inputs[i].name=='sta'&&PP.Util.hasClass(inputs[i],st)){inputs[i].style.display='';inputs[i].disabled=false;inputs[i].checked=false;var lbl=document.getElementById(inputs[i].id+"_label");if(lbl)lbl.style.display='';}
else if(inputs[i].name=='sta'){inputs[i].style.display='none';inputs[i].disabled=true;var lbl=document.getElementById(inputs[i].id+"_label");if(lbl)lbl.style.display='none';}}}
this.changePropertyType=function(pt,form){var unit1Select=document.getElementById(form.id+"_unit1");var unit1Label=document.getElementById(form.id+"_unit1Label");if(pt.length>1){unit1Select.style.visibility='hidden';unit1Label.style.visibility='hidden';unit1Select.innerHTML='<option value="">N/A</option>';}
else{pt=String(pt);var name=PP.Search.data.pt[pt].u1n;var labels=PP.Search.data.pt[pt].u1l;var values=PP.Search.data.pt[pt].u1v;if(name==''||name==null){unit1Select.style.visibility='hidden';unit1Label.style.visibility='hidden';unit1Select.innerHTML='<option value="">N/A</option>';}
else{unit1Select.style.visibility='visible';unit1Label.style.visibility='visible';unit1Select.innerHTML='';unit1Label.innerHTML=name;for(var i=0;i<labels.length;i++){var o1=document.createElement('option');o1.value=values[i];o1.innerHTML=labels[i];unit1Select.appendChild(o1);}}}}
this.priceMouseOver=function(s){if(!this.tip){var st;var selects=s.form.getElementsByTagName('select');for(var i=0;i<selects.length;i++){if(selects[i].name=='st'){st=selects[i];break;}}
if(st&&st.options[st.selectedIndex].value!='sale'&&st.options[st.selectedIndex].value!='rent'){this.tip=document.createElement('div');this.tip.className='xPriceTip';this.tip.innerHTML='You must choose sale or rent before you can use the price search.';this.tip.style.position='absolute';document.body.appendChild(this.tip);this.tip.style.top=PP.Util.getElementBottom(st)+'px';this.tip.style.left=PP.Util.getElementLeft(st)+(PP.Util.getElementWidth(st)/2)-
(PP.Util.getElementWidth(this.tip)/2)+'px';}}}
this.priceMouseOut=function(s){if(this.tip){document.body.removeChild(this.tip);this.tip=null;}}
this.setSearch=function(search,id,caretPos){var e=PP.getElementById(id);e.value=search;PP.Util.setCaretPosition(e,caretPos);if(PP.Search.currentDiv){PP.Search.currentDiv.style.display='none';}}
this.openAdvanced=function(link){var form=link.parentNode;while(form!=null&&form.tagName.toLowerCase()!='form'){form=form.parentNode;}
if(form==null)
return true;var qs=PP.Ajax.buildQSFromForm(form);if(qs.getValue('q')==this.defText)
qs.setValue('q','');if(qs)qs='?'+qs;window.location=PP.resolveUrl('~/advanced'+qs);return false;}
this.changeSort=function(sel){window.location=sel.value;return false;}
this.changeRadius=function(e,qs,sel){if(!e||PP.Ajax.HistorySupport.go(e+'?'+qs+'&radius='+sel.options[sel.selectedIndex].value)){window.location=window.location.pathname+'?'+qs+(qs?'&':'')+'radius='+sel.options[sel.selectedIndex].value;}
else{var hradius=PP.getControlById('hradius');if(hradius)hradius.value=sel.options[sel.selectedIndex].value;}
return false;}
this.selectSearch=function(sel){var form=sel.form;var search,action,pt,st,stLabel,stSelect;if(sel.tagName=='INPUT'&&sel.type=='radio'){var masterId=sel.form.id+"_searchSelect";var allRadios=document.getElementsByTagName('input');for(var i=0;i<allRadios.length;i++){var type=allRadios[i].type;var id=allRadios[i].id;if(allRadios[i]!=sel&&id.length>=masterId.length&&id.substring(0,masterId.length)==masterId){allRadios[i].checked=false;}}
search=sel.value;}
else{search=sel.options[sel.selectedIndex].value;}
action=PP.Search.data.paths[search].uri;form.action=action;pt=PP.Search.data.paths[search].pt;st=PP.Search.data.paths[search].st;stLabel=document.getElementById(form.id+"_searchTypeLabel");stSelect=document.getElementById(form.id+"_searchType");if(st.length==1){if(stLabel){stLabel.style.visibility='hidden';}
if(stSelect){stSelect.style.visibility='hidden';stSelect.disabled=true;}
this.changeSearchType(st,form);}
else{if(stLabel){stLabel.style.visibility='visible';}
if(stSelect){stSelect.style.visibility='visible';stSelect.disabled=false;}
this.changeSearchType('sale',form);}
this.changePropertyType(pt,form);}};PP.User=new function(){this.reload=[];this.loggedIn=false;this.onLogin=null;this.handleForm=function(res,req){var closePopup=req.getResponseHeader('X-ClosePopup');if(closePopup=='true'){PP.Popup.hide();PP.Ajax.reloadElement('loginArea',false);PP.Ajax.reloadElement('search');PP.Ajax.reloadElement('property',true);PP.User.loggedIn=true;if(PP.User.onLogin){PP.User.onLogin();}}
else{PP.Popup.reposition();PP.User.loggedIn=false;}
return false;}
this.handleSaveSearchForm=function(res,req){var closePopup=req.getResponseHeader('X-ClosePopup');if(closePopup=='true'){PP.Popup.hide();PP.Ajax.reloadElement('loginArea',false);PP.Ajax.reloadElement('save_search_button',true);}
else{PP.Popup.reposition();}
return false;}
this.login=function(signup){if(!this.loggedIn){if(signup)
return PP.Popup.show(PP.resolveUrl('~/login?a=signup'),'loginFormWrapper','',420);else
return PP.Popup.show(PP.resolveUrl('~/login'),'loginFormWrapper','',420);}
return false;}
this.logout=function(){if(this.loggedIn){return PP.Ajax.sendRequest(PP.resolveUrl('~/login'),function(){PP.User.loggedIn=false;PP.Ajax.reloadElement('loginArea',true);PP.Ajax.reloadElement('search',true);PP.Ajax.reloadElement('property',true);});}
return false;}
this.registerReload=function(id){this.reload[this.reload.length]=id;}
this.clickShortlistBtn=function(btn,lpc,reloadList,showText){if(this.loggedIn&&!btn.notClickable){btn.notClickable=true;var e=PP.getElementById("property_"+lpc);if(PP.Util.hasClass(btn,'addshortlist')){PP.Ajax.downloadFile('/~shortlist?p='+lpc+'&a=add');if(!reloadList){PP.Util.removeClass(btn,'addshortlist');PP.Util.addClass(btn,'delshortlist');PP.Util.addClass(e,'savedProperty');if(showText){btn.innerHTML='<span>Delete from Shortlist</span>';}}}
else{PP.Ajax.downloadFile('/~shortlist?p='+lpc+'&a=del');if(!reloadList){PP.Util.removeClass(btn,'delshortlist');PP.Util.addClass(btn,'addshortlist');PP.Util.removeClass(e,'savedProperty');if(showText){btn.innerHTML='<span>Add to Shortlist</span>';}}}
if(reloadList){PP.Ajax.reloadElement('loginArea',false);btn.notClickable=false;return PP.Ajax.reloadElement('search',true,function(){addRoundedCorners();});}
else{btn.notClickable=false;return PP.Ajax.reloadElement('loginArea');}}
else{this.onLogin=PP.Util.createClosure(this,this.clickShortlistBtn,btn,lpc,reloadList,showText);this.login();return false;}
return false;}
this.clickSaveSearchButton=function(btn,save){if(this.loggedIn&&!save){return PP.Ajax.loadElement(btn,'save_search_button',function(res,req){PP.Ajax.reloadElement('loginArea');},false);}
else if(this.loggedIn&&save){return PP.Popup.show(btn,'saveSearch',null,400,null,true);}
else{this.onLogin=PP.Util.createClosure(this,this.clickSaveSearchButton,btn,save);this.login();return false;}}};PP.Animation=new function(){this.animate=function(el,newLeft,newTop,newWidth,newHeight,time,callback){var el=PP.getElementById(el);if(!el)return;var cLeft=el.offsetLeft;var cTop=el.offsetTop;var cWidth=PP.Util.getElementWidth(el);var cHeight=PP.Util.getElementHeight(el);if(newLeft==null)newLeft=cLeft;if(newTop==null)newTop=cTop;if(newWidth==null)newWidth=cWidth;if(newHeight==null)newHeight=cHeight;var totalFrames=1;if(time>0)
totalFrames=time/20;var fLeft=newLeft-cLeft;if(fLeft!=0)
fLeft/=totalFrames;var fTop=newTop-cTop;if(fTop!=0)
fTop/=totalFrames;var fWidth=newWidth-cWidth;if(fWidth!=0)
fWidth/=totalFrames;var fHeight=newHeight-cHeight;if(fHeight!=0)
fHeight/=totalFrames;PP.Animation.doFrame(el,cLeft,newLeft,fLeft,cTop,newTop,fTop,cWidth,newWidth,fWidth,cHeight,newHeight,fHeight,callback);}
this.doFrame=function(el,cLeft,nLeft,fLeft,cTop,nTop,fTop,cWidth,nWidth,fWidth,cHeight,nHeight,fHeight,callback){var el=PP.getElementById(el);if(!el)return;cLeft=PP.Animation.moveSingleVal(cLeft,nLeft,fLeft);cTop=PP.Animation.moveSingleVal(cTop,nTop,fTop);cWidth=PP.Animation.moveSingleVal(cWidth,nWidth,fWidth);cHeight=PP.Animation.moveSingleVal(cHeight,nHeight,fHeight);el.style.left=Math.round(cLeft)+'px';el.style.top=Math.round(cTop)+'px';el.style.width=Math.round(cWidth)+'px';el.style.height=Math.round(cHeight)+'px';if(cLeft==nLeft&&cTop==nTop&&cHeight==nHeight&&cWidth==nWidth)
{if(callback!=null)
callback();return;}
setTimeout('PP.Animation.doFrame("'+el.id+'",'+cLeft+','+nLeft+','+fLeft+','
+cTop+','+nTop+','+fTop+','+cWidth+','+nWidth+','+fWidth+','
+cHeight+','+nHeight+','+fHeight+','+callback+')',20);}
this.moveSingleVal=function(currentVal,finalVal,frameAmt){if(frameAmt==0||currentVal==finalVal)
return finalVal;currentVal+=frameAmt;if((frameAmt>0&&currentVal>=finalVal)||(frameAmt<0&&currentVal<=finalVal))
{return finalVal;}
return currentVal;}};PP.ImgSlider=new function(){this.component;this.slider;this.currentImg;this.imgWrapper;this.thumbPrev;this.thumbNext;this.init=function(){if(!this.component){this.component=document.getElementById('xImgSlider');var divs=this.component.getElementsByTagName('DIV');for(var i=0;i<divs.length;i++){if(PP.Util.hasClass(divs[i],'xImgSlider_all')){this.slider=divs[i];continue;}
if(PP.Util.hasClass(divs[i],'xImgSlider_photo')){this.imgWrapper=divs[i];continue;}}
var spans=this.component.getElementsByTagName('SPAN');for(var i=0;i<spans.length;i++){if(PP.Util.hasClass(spans[i],'xImgSlider_currentImg')){this.currentImg=spans[i];continue;}}
var a=this.component.getElementsByTagName('A');for(var i=0;i<a.length;i++){if(PP.Util.hasClass(a[i],'xImgSlider_thumbPrev')){this.thumbPrev=a[i];continue;}
if(PP.Util.hasClass(a[i],'xImgSlider_thumbNext')){this.thumbNext=a[i];continue;}}}}
this.navPhotos=function(dir){this.init();var prev,next,current;var links=this.slider.getElementsByTagName('A');for(var i=0;i<links.length;i++){if(PP.Util.hasClass(links[i],'xImgSlider_currentThumb')){current=links[i];if(links.length-1>i){next=links[i+1];}
else{next=links[0];}
if(i==0){prev=links[links.length-1];}
else{prev=links[i-1];}}}
if(dir>0){next.onclick();}
else if(dir<0){prev.onclick();}}
this.switchPhoto=function(a,src,idx){this.init();var wrapper=this.slider.parentNode;if(idx){if(this.currentImg){this.currentImg.innerHTML=idx;}}
if(PP.Util.getElementRight(a)>PP.Util.getElementRight(wrapper)){var diff=(PP.Util.getElementLeft(a)-PP.Util.getElementWidth(wrapper))/PP.Util.getElementWidth(wrapper);PP.ImgSlider.slideThumbs(Math.ceil(diff));}
else if(PP.Util.getElementLeft(a)<PP.Util.getElementLeft(wrapper)){var diff=(PP.Util.getElementLeft(wrapper)-PP.Util.getElementLeft(a))/PP.Util.getElementWidth(wrapper);PP.ImgSlider.slideThumbs(-(Math.ceil(diff)));}
var img=document.createElement('IMG');img.src=src;PP.Util.addClass(this.imgWrapper,'xImgSlider_loading');var inactive=this.slider.getElementsByTagName('A');for(var i=0;i<inactive.length;i++){PP.Util.removeClass(inactive[i],'xImgSlider_currentThumb');}
PP.Util.addClass(a,'xImgSlider_currentThumb');setTimeout(function(){PP.ImgSlider.doSwitchPhoto(img);},10);}
this.doSwitchPhoto=function(img){if(img.complete){var currentWidth=img.width;var ratio=570/currentWidth;var newWidth=currentWidth*ratio;if(newWidth<currentWidth){img.width=newWidth;img.height=img.height*ratio;}
if(img.height<425){var pad=(425-img.height)/2;img.style.marginTop=pad+'px';img.style.marginBottom=pad+'px';}
PP.Util.removeClass(this.imgWrapper,'xImgSlider_loading');this.imgWrapper.innerHTML='';this.imgWrapper.appendChild(img);}
else{setTimeout(function(){PP.ImgSlider.doSwitchPhoto(img);},10);}}
this.slideThumbs=function(dir,a){this.init();if(this.slider){var wrapper=this.slider.parentNode;if(a)
a.blur();var current=this.slider.xCurrentPos;if(!current)current=0;current+=dir;var newLeft=(-((5*92)*current));if(newLeft>0){return false;}
if((-newLeft)>=PP.Util.getElementWidth(this.slider)){return false;}
this.slider.xCurrentPos=current;this.slider.style.position='absolute';PP.Animation.animate(this.slider,newLeft,0,null,null,300);if(newLeft>=0){PP.Util.addClass(this.thumbPrev,'xImgSlider_inactive');PP.Util.addClass(this.thumbPrev,'xImgSlider_previnactive');}
else{PP.Util.removeClass(this.thumbPrev,'xImgSlider_inactive');PP.Util.removeClass(this.thumbPrev,'xImgSlider_previnactive');}
if(((-newLeft)+(5*92))>=PP.Util.getElementWidth(this.slider)){PP.Util.addClass(this.thumbNext,'xImgSlider_inactive');PP.Util.addClass(this.thumbNext,'xImgSlider_nextinactive');}
else{PP.Util.removeClass(this.thumbNext,'xImgSlider_inactive')
PP.Util.removeClass(this.thumbNext,'xImgSlider_nextinactive');;}}
return false;}};