
$(document).ready(function()
{if(typeof SoftServe=="undefined")SoftServe={};if(typeof SoftServe.Common=="undefined")SoftServe.Common={};SoftServe.Common.Encoding={UTF8:{prepare:function(value){value=value.replace(/\&/g,"&amp;");value=value.replace(/\</g,"&lt;");value=value.replace(/\>/g,"&gt;");value=value.replace(/\"/g,"&quot;");return value;},encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;},decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return string;}}};SoftServe.Common.Validator={isValidXML:function(_xml){try{if(window.ActiveXObject){var doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(_xml);if(doc.parseError.errorCode==0){return true;}}
else{var parser=new DOMParser();var doc=parser.parseFromString(_xml,"text/xml");return doc.documentElement.nodeName!="parsererror";}}
catch(error){return false;}
return false;}};String.prototype.utf8_encode=function(){return SoftServe.Common.Encoding.UTF8.prepare(this);};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.widget=="undefined")pbx_flickr.widget={};if(typeof pbx_flickr.widget.config=="undefined")pbx_flickr.widget.config={};if(typeof pbx_flickr.widget.lang=="undefined")pbx_flickr.widget.lang={};if(typeof pbx_flickr.flickr=="undefined")pbx_flickr.flickr={};if(typeof pbx_flickr.flickr.config=="undefined")pbx_flickr.flickr.config={};pbx_flickr.widget.config={allImportedRedirectUrl:'/my/album/upload/progress',crossDomainProxy:['/xmlrpcproxy','X-Proxy-Request'],babelProxy:['/form','X-Proxy-Request'],babelServiceUrl:pbx.config.flickrXmlrpcService,babelSessionCode:'',maxPhotosSelect:100,progressRefreshInterval:4000,allowedExtentions:['jpg'],requestHeader:'Content-Type',requestValue:'application/x-www-form-urlencoded',liveVersion:'',ftpUploadHost:''};pbx_flickr.flickr.flickrAuthType={web:'web',win:'win'};pbx_flickr.flickr.config={flickrApiKey:pbx.config.flickrApiKey,flickrSecret:pbx.config.flickrSecret,flickrServiceUrl:'http://api.flickr.com/services/rest/',authOkUrl:'flickr',authFailUrl:'/my/album/upload',authType:pbx_flickr.flickr.flickrAuthType.web,selectedCssClass:"selected",unSelectedCssClass:"unSelected",get_apiSig:function(query){query.sort();var qs=[];for(var i=0;i<query.length;i++){qs.push(query[i].replace(/=/,''));}
var beforeMd5=this.flickrSecret+qs.join('');return pbx_flickr.common.md5.hex_md5(beforeMd5);},get_apiSigByFrob:function(frob,perms){return pbx_flickr.common.md5.hex_md5(this.flickrSecret+'api_key'+this.flickrApiKey+'frob'+frob+'perms'+perms);}};pbx_flickr.widget.lang={authButton:'Authorize the widget',pageName:'Upload your photos: transfer photos from your Flickr account',widgetStep1:'1. Choose album to upload photos',warningNotLoggedInText:'Warning: You are not Logged In as Member at Photobox site. You can import images only to Clipboard',warningNonPowerUser:'You are not logged in as a power user. Your imported files will be of small size and might not be suitable for print.',warningMessageFromServer:'Unknown server error',selectAlbumTitle:'Choose your album',createNewAlbumTitle:'Create a new album',selectAlbumEmptyOption:'choose',selectAlbumHint:'select your album',widgetStep2:'2. Choose photos from your flickr account',tab1:'My photostream',tab2:'My sets',selectPhotosetHint:'select set',addAllButton:'Add all',addRandom10Button:'Add random 10',clearAllButton:'Clear all',importButton:'Transfer to my PhotoBox account',selectedPhotosHolderText:'Click on pictures above to add up to 100 photos here.<br>These photos will be transferred to your<br>PhotoBox account',widgetStep3:'3. Uploading selected photos into your PhotoBox account',widgetStep3NonLoggedIn:'2. Uploading selected photos into your PhotoBox account',widgetStep3Message:'The selected photos are currently being uploaded to PhotoBox. Depending on the size of the selected photos you may have to wait for some little while. Once the photos uploaded they will appear in your PhotoBox album.<br /><br />You can freely leave this page or close the window: the upload will continue in background.<br /><br />',importFinishedMessage:'The selected photos have been uploaded successfully.',errors:{noPhotos:'There are no photos in your Flickr.com account',maxSelectedPhotosAchieved:'Only 100 photos can be imported in one session',noSetsAvailable:'No sets are currently available',imgWrongOriginalType:'The image has type different than JPG and can not be imported',widgetChooseAlbum:'Choose your album first or create new one',atLeastOneImage:'Select at least one image to import',ajaxUnknownError:'Call to the remote server terminated unexpectedly',errorLoadingPhotosets:'Error loadin photosets from Flickr.com',errorLoadingPhotos:'Error loadin photos from Flickr.com',flickrAuthFailed:'Flickr.com authentication failed! Can not proceed.',ajaxWrongStatus:'Remote server returned wrong status code',babelServerResponseIsEmpty:'Server response is empty',babelWrongSessionCode:'Wrong babel session code',babelAlbumCreateFailed:'Error creating new album'}};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.common=="undefined")pbx_flickr.common={};if(typeof pbx_flickr.common.dom=="undefined")pbx_flickr.common.dom={};if(typeof pbx_flickr.common.errors=="undefined")pbx_flickr.common.errors={};if(typeof pbx_flickr.common.events=="undefined")pbx_flickr.common.events={};if(typeof pbx_flickr.common.cookies=="undefined")pbx_flickr.common.cookies={};if(typeof Node=="undefined"){var Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};}
if(typeof DOMParser=="undefined"){DOMParser=function(){};DOMParser.prototype.parseFromString=function(str,contentType){if(typeof ActiveXObject!="undefined"){var d=new ActiveXObject("Msxml2.DOMDocument");d.loadXML(str);return d;}else{var req=pbx_flickr.common.ajax.createXMLHttpRequest();req.open("GET","data:"+(contentType||"application/xml")+";charset=utf-8,"+encodeURIComponent(str),false);if(req.overrideMimeType){req.overrideMimeType(contentType);}
req.send(null);return req.responseXML;}};}
pbx_flickr.common.makeCompatibleWithIE7=function(){if(window.XMLHttpRequest){if(document.all){var vBrowserVersion=window.navigator.appVersion;var list=document.getElementById("photosList");if(vBrowserVersion.charAt(22)=='7'){if(pbx_flickr.common.isDefined(list)){list.style.marginTop="8px";}else{'';}}}}};pbx_flickr.common.GETparams=function(){var getParams={};var query=document.location.search.substr(1);var pairs=query.split('&');for(var i=0;i<pairs.length;i++){var keyVal=pairs[i].split('=');if(keyVal.length==2){getParams[keyVal[0]]=keyVal[1];}}
return getParams;};pbx_flickr.common.EscapeHtml=function(text){return text.replace(/</g,'&lt;').replace(/>/g,'&gt;');};pbx_flickr.common.delegate=function(instance,method){return function(){return method.apply(instance,arguments);};};pbx_flickr.common.isDefined=function(value){return((value!=undefined)&&(value!=null));};pbx_flickr.common.AppendCssClass=function(htmlObj,cssClassName){if(!pbx_flickr.common.isDefined(htmlObj))return;if(pbx_flickr.common.isDefined(htmlObj.Disabled)){if(pbx_flickr.common.debug.DEBUG){alert(htmlObj.Disabled);}}
if(pbx_flickr.common.isDefined(htmlObj.className))htmlObj.className=htmlObj.className.replace(cssClassName,"");htmlObj.className+=" "+cssClassName;};pbx_flickr.common.RemoveCssClass=function(htmlObj,cssClassName){if(!pbx_flickr.common.isDefined(htmlObj)||!pbx_flickr.common.isDefined(htmlObj.className))return;htmlObj.className=htmlObj.className.replace(cssClassName,"");};pbx_flickr.common.cookies.setCookie=function(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");};pbx_flickr.common.cookies.getCookie=function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}
var value=unescape(dc.substring(begin+prefix.length,end));return value;};pbx_flickr.common.cookies.deleteCookie=function(name,path,domain){if(pbx_flickr.common.cookies.getCookie(name)){document.cookie=name+"="+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}};pbx_flickr.common.dom.nodeAttribute=function(node,attributeName){if(!pbx_flickr.common.isDefined(node))return null;if(node.nodeType!=Node.ELEMENT_NODE){pbx_flickr.common.debug.dbg("pbx_flickr.common.dom.nodeAttribute: '"+node.nodeName+"' node is not an element node. Attribute: "+attributeName+". NodeType: "+node.nodeType+". Parent node: "+node.parentNode.nodeName);return null;}
var attr;if(typeof(node.getAttribute)!='undefined'){attr=node.getAttribute(attributeName);}else{attr=node.attributes.getNamedItem(attributeName);}
if(attr==null)return null;return attr.nodeValue==undefined?attr:attr.nodeValue;};pbx_flickr.common.dom.firstChildNotText=function(node){if(!node.hasChildNodes()){return null;}
for(var i=0;i<node.childNodes.length;i++){if(node.childNodes[i].nodeType!=Node.TEXT_NODE){return node.childNodes[i];}}
return null;};pbx_flickr.common.dom.nodeAtttributes=function(xmlNode){if(typeof(xmlNode)=='undefined'||xmlNode==null)return;var attr;var getAttributeFlag=typeof(xmlNode.getAttribute)!='undefined';for(var i=0;i<xmlNode.attributes.length;i++){this[xmlNode.attributes[i].nodeName]=xmlNode.attributes[i].nodeValue;}};pbx_flickr.common.dom.getNodeText=function(node){if(!node.hasChildNodes()){return node.nodeValue;}
return node.firstChild.nodeValue;};pbx_flickr.common.findContainer=function(el,propertyCriteriaName){while(el!=window){if(typeof(el[propertyCriteriaName])!="undefined")return el;el=el.parentNode;}
return null;};pbx_flickr.common.$attachEvent=function(obj,eventName,handler){if(typeof obj.attachEvent=='object'){obj.attachEvent(eventName,handler);}else{obj.addEventListener(eventName.substr(2),handler,false);}};pbx_flickr.common.events.fixEvent=function(e){if(typeof(window.event)!='undefined'){e=window.event;e.target=e.srcElement;}
return e;};pbx_flickr.common.errors.errorObj={errors:[],init:function(errorHolderId){this.errorHolder=document.getElementById(errorHolderId);},add:function(message){this.errors.push(message);},clear:function(){if(this.errorHolder!=null){this.errorHolder.innerHTML='';}
this.errors=[];},show:function(message){if(pbx_flickr.common.isDefined(message)){this.errors=[message];}
if(this.errorHolder!=null){this.errorHolder.innerHTML=this.errors.join('<br>').replace('\n','<br>');}else{alert(this.errors.join('\n'));}},showAppend:function(message){this.errors.push(message);this.show();}};pbx_flickr.common.errors.alertException=function(e){var fid=pbx_flickr.common.debug.fnsStart("common.pbx_flickr.common.errors.alertException");var message=e.message;message+='\nLocation: '+e.lineNumber+': '+e.fileName;message+='\nType: '+e.name;pbx_flickr.common.errors.errorObj.show(message);pbx_flickr.common.debug.fnsEnd(fid);};pbx_flickr.common.events.riseEvent=function(listeners,sender){var fid=pbx_flickr.common.debug.fnsStart("common.pbx_flickr.common.events.riseEvent");var args=['sender'];for(var i=1;i<arguments.length;i++){args.push('arguments['+i+']');}
for(i=0;i<listeners.length;i++){var toEval='listeners['+i+']('+args.join(', ')+')';eval(toEval);}
pbx_flickr.common.debug.fnsEnd(fid);};if(typeof("fakeStr".trim)=="undefined"){String.prototype.trim=function(){a=this.replace(/^\s+/,'');return a.replace(/\s+$/,'');};};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.common=="undefined")pbx_flickr.common={};if(typeof pbx_flickr.common.md5=="undefined")pbx_flickr.common.md5={};pbx_flickr.common.md5.hexcase=0;pbx_flickr.common.md5.b64pad="";pbx_flickr.common.md5.chrsz=8;pbx_flickr.common.md5.hex_md5=function(s){return pbx_flickr.common.md5.binl2hex(pbx_flickr.common.md5.core_md5(pbx_flickr.common.md5.str2binl(s),s.length*pbx_flickr.common.md5.chrsz));};pbx_flickr.common.md5.b64_md5=function(s){return pbx_flickr.common.md5.binl2b64(pbx_flickr.common.md5.core_md5(pbx_flickr.common.md5.str2binl(s),s.length*pbx_flickr.common.md5.chrsz));};pbx_flickr.common.md5.str_md5=function(s){return pbx_flickr.common.md5.binl2str(pbx_flickr.common.md5.core_md5(pbx_flickr.common.md5.str2binl(s),s.length*pbx_flickr.common.md5.chrsz));};pbx_flickr.common.md5.hex_hmac_md5=function(key,data){return pbx_flickr.common.md5.binl2hex(pbx_flickr.common.md5.core_hmac_md5(key,data));};pbx_flickr.common.md5.b64_hmac_md5=function(key,data){return pbx_flickr.common.md5.binl2b64(pbx_flickr.common.md5.core_hmac_md5(key,data));};pbx_flickr.common.md5.str_hmac_md5=function(key,data){return pbx_flickr.common.md5.binl2str(pbx_flickr.common.md5.core_hmac_md5(key,data));};pbx_flickr.common.md5.md5_vm_test=function()
{return pbx_flickr.common.md5.hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72";};pbx_flickr.common.md5.core_md5=function(x,len)
{x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16)
{var olda=a;var oldb=b;var oldc=c;var oldd=d;a=pbx_flickr.common.md5.md5_ff(a,b,c,d,x[i+0],7,-680876936);d=pbx_flickr.common.md5.md5_ff(d,a,b,c,x[i+1],12,-389564586);c=pbx_flickr.common.md5.md5_ff(c,d,a,b,x[i+2],17,606105819);b=pbx_flickr.common.md5.md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=pbx_flickr.common.md5.md5_ff(a,b,c,d,x[i+4],7,-176418897);d=pbx_flickr.common.md5.md5_ff(d,a,b,c,x[i+5],12,1200080426);c=pbx_flickr.common.md5.md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=pbx_flickr.common.md5.md5_ff(b,c,d,a,x[i+7],22,-45705983);a=pbx_flickr.common.md5.md5_ff(a,b,c,d,x[i+8],7,1770035416);d=pbx_flickr.common.md5.md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=pbx_flickr.common.md5.md5_ff(c,d,a,b,x[i+10],17,-42063);b=pbx_flickr.common.md5.md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=pbx_flickr.common.md5.md5_ff(a,b,c,d,x[i+12],7,1804603682);d=pbx_flickr.common.md5.md5_ff(d,a,b,c,x[i+13],12,-40341101);c=pbx_flickr.common.md5.md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=pbx_flickr.common.md5.md5_ff(b,c,d,a,x[i+15],22,1236535329);a=pbx_flickr.common.md5.md5_gg(a,b,c,d,x[i+1],5,-165796510);d=pbx_flickr.common.md5.md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=pbx_flickr.common.md5.md5_gg(c,d,a,b,x[i+11],14,643717713);b=pbx_flickr.common.md5.md5_gg(b,c,d,a,x[i+0],20,-373897302);a=pbx_flickr.common.md5.md5_gg(a,b,c,d,x[i+5],5,-701558691);d=pbx_flickr.common.md5.md5_gg(d,a,b,c,x[i+10],9,38016083);c=pbx_flickr.common.md5.md5_gg(c,d,a,b,x[i+15],14,-660478335);b=pbx_flickr.common.md5.md5_gg(b,c,d,a,x[i+4],20,-405537848);a=pbx_flickr.common.md5.md5_gg(a,b,c,d,x[i+9],5,568446438);d=pbx_flickr.common.md5.md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=pbx_flickr.common.md5.md5_gg(c,d,a,b,x[i+3],14,-187363961);b=pbx_flickr.common.md5.md5_gg(b,c,d,a,x[i+8],20,1163531501);a=pbx_flickr.common.md5.md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=pbx_flickr.common.md5.md5_gg(d,a,b,c,x[i+2],9,-51403784);c=pbx_flickr.common.md5.md5_gg(c,d,a,b,x[i+7],14,1735328473);b=pbx_flickr.common.md5.md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=pbx_flickr.common.md5.md5_hh(a,b,c,d,x[i+5],4,-378558);d=pbx_flickr.common.md5.md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=pbx_flickr.common.md5.md5_hh(c,d,a,b,x[i+11],16,1839030562);b=pbx_flickr.common.md5.md5_hh(b,c,d,a,x[i+14],23,-35309556);a=pbx_flickr.common.md5.md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=pbx_flickr.common.md5.md5_hh(d,a,b,c,x[i+4],11,1272893353);c=pbx_flickr.common.md5.md5_hh(c,d,a,b,x[i+7],16,-155497632);b=pbx_flickr.common.md5.md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=pbx_flickr.common.md5.md5_hh(a,b,c,d,x[i+13],4,681279174);d=pbx_flickr.common.md5.md5_hh(d,a,b,c,x[i+0],11,-358537222);c=pbx_flickr.common.md5.md5_hh(c,d,a,b,x[i+3],16,-722521979);b=pbx_flickr.common.md5.md5_hh(b,c,d,a,x[i+6],23,76029189);a=pbx_flickr.common.md5.md5_hh(a,b,c,d,x[i+9],4,-640364487);d=pbx_flickr.common.md5.md5_hh(d,a,b,c,x[i+12],11,-421815835);c=pbx_flickr.common.md5.md5_hh(c,d,a,b,x[i+15],16,530742520);b=pbx_flickr.common.md5.md5_hh(b,c,d,a,x[i+2],23,-995338651);a=pbx_flickr.common.md5.md5_ii(a,b,c,d,x[i+0],6,-198630844);d=pbx_flickr.common.md5.md5_ii(d,a,b,c,x[i+7],10,1126891415);c=pbx_flickr.common.md5.md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=pbx_flickr.common.md5.md5_ii(b,c,d,a,x[i+5],21,-57434055);a=pbx_flickr.common.md5.md5_ii(a,b,c,d,x[i+12],6,1700485571);d=pbx_flickr.common.md5.md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=pbx_flickr.common.md5.md5_ii(c,d,a,b,x[i+10],15,-1051523);b=pbx_flickr.common.md5.md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=pbx_flickr.common.md5.md5_ii(a,b,c,d,x[i+8],6,1873313359);d=pbx_flickr.common.md5.md5_ii(d,a,b,c,x[i+15],10,-30611744);c=pbx_flickr.common.md5.md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=pbx_flickr.common.md5.md5_ii(b,c,d,a,x[i+13],21,1309151649);a=pbx_flickr.common.md5.md5_ii(a,b,c,d,x[i+4],6,-145523070);d=pbx_flickr.common.md5.md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=pbx_flickr.common.md5.md5_ii(c,d,a,b,x[i+2],15,718787259);b=pbx_flickr.common.md5.md5_ii(b,c,d,a,x[i+9],21,-343485551);a=pbx_flickr.common.md5.safe_add(a,olda);b=pbx_flickr.common.md5.safe_add(b,oldb);c=pbx_flickr.common.md5.safe_add(c,oldc);d=pbx_flickr.common.md5.safe_add(d,oldd);}
return Array(a,b,c,d);};pbx_flickr.common.md5.md5_cmn=function(q,a,b,x,s,t)
{return pbx_flickr.common.md5.safe_add(pbx_flickr.common.md5.bit_rol(pbx_flickr.common.md5.safe_add(pbx_flickr.common.md5.safe_add(a,q),pbx_flickr.common.md5.safe_add(x,t)),s),b);};pbx_flickr.common.md5.md5_ff=function(a,b,c,d,x,s,t)
{return pbx_flickr.common.md5.md5_cmn((b&c)|((~b)&d),a,b,x,s,t);};pbx_flickr.common.md5.md5_gg=function(a,b,c,d,x,s,t)
{return pbx_flickr.common.md5.md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);};pbx_flickr.common.md5.md5_hh=function(a,b,c,d,x,s,t)
{return pbx_flickr.common.md5.md5_cmn(b^c^d,a,b,x,s,t);};pbx_flickr.common.md5.md5_ii=function(a,b,c,d,x,s,t)
{return pbx_flickr.common.md5.md5_cmn(c^(b|(~d)),a,b,x,s,t);};pbx_flickr.common.md5.core_hmac_md5=function(key,data)
{var bkey=pbx_flickr.common.md5.str2binl(key);if(bkey.length>16)bkey=pbx_flickr.common.md5.core_md5(bkey,key.length*pbx_flickr.common.md5.chrsz);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++)
{ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}
var hash=pbx_flickr.common.md5.core_md5(ipad.concat(pbx_flickr.common.md5.str2binl(data)),512+data.length*pbx_flickr.common.md5.chrsz);return pbx_flickr.common.md5.core_md5(opad.concat(hash),512+128);};pbx_flickr.common.md5.safe_add=function(x,y)
{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);};pbx_flickr.common.md5.bit_rol=function(num,cnt)
{return(num<<cnt)|(num>>>(32-cnt));};pbx_flickr.common.md5.str2binl=function(str)
{var bin=Array();var mask=(1<<pbx_flickr.common.md5.chrsz)-1;for(var i=0;i<str.length*pbx_flickr.common.md5.chrsz;i+=pbx_flickr.common.md5.chrsz)
bin[i>>5]|=(str.charCodeAt(i/pbx_flickr.common.md5.chrsz)&mask)<<(i%32);return bin;};pbx_flickr.common.md5.binl2str=function(bin)
{var str="";var mask=(1<<pbx_flickr.common.md5.chrsz)-1;for(var i=0;i<bin.length*32;i+=pbx_flickr.common.md5.chrsz)
str+=String.fromCharCode((bin[i>>5]>>>(i%32))&mask);return str;};pbx_flickr.common.md5.binl2hex=function(binarray)
{var hex_tab=pbx_flickr.common.md5.hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++)
{str+=hex_tab.charAt((binarray[i>>2]>>((i%4)*8+4))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((i%4)*8))&0xF);}
return str;};pbx_flickr.common.md5.binl2b64=function(binarray)
{var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3)
{var triplet=(((binarray[i>>2]>>8*(i%4))&0xFF)<<16)|(((binarray[i+1>>2]>>8*((i+1)%4))&0xFF)<<8)|((binarray[i+2>>2]>>8*((i+2)%4))&0xFF);for(var j=0;j<4;j++)
{if(i*8+j*6>binarray.length*32)str+=pbx_flickr.common.md5.b64pad;else str+=tab.charAt((triplet>>6*(3-j))&0x3F);}}
return str;};if(pbx_flickr==undefined)pbx_flickr={};if(pbx_flickr.common==undefined)pbx_flickr.common={};if(pbx_flickr.common.debug==undefined)pbx_flickr.common.debug={};pbx_flickr.common.debug.traceFunctions=false;pbx_flickr.common.debug.DEBUG=true;pbx_flickr.common.debug.exeptProps=new Array('document','parentTextEdit','parentElement','outerText','innerText','all','offsetParent','parentNode','previousSibling','nextSibling','ownerDocument','cells','children','attributes','firstChild','lastChild','childNodes','filters','behaviorUrns','top','parent');pbx_flickr.common.debug.excludeStyles=new Array("","currentStyle","runtimeStyle","style");pbx_flickr.common.debug.propsJoined=false;pbx_flickr.common.debug.windowMoved=false;pbx_flickr.common.debug.dumpOnceCallStep=0;pbx_flickr.common.debug.dumpOnce=function(callOnStep,obj,needStyles,parent,level,text){pbx_flickr.common.debug.dumpOnceCallStep++;if(pbx_flickr.common.debug.dumpOnceCallStep==callOnStep){pbx_flickr.common.debug.dump1(obj,needStyles,parent,level,text);}};pbx_flickr.common.debug.dump1=function(obj,needStyles,parent,level,text){try{if(!level)level=0;if(typeof obj=="undefined"){alert("undefined");return'';}
if(typeof targetWindow=='undefined'){targetWindow=open('','targetWindowName','width=400,resizable=yes,scrollbars=yes');}
if(!needStyles&&!pbx_flickr.common.debug.propsJoined){pbx_flickr.common.debug.exeptProps=pbx_flickr.common.debug.exeptProps.concat(pbx_flickr.common.debug.excludeStyles);pbx_flickr.common.debug.propsJoined=true;}
var items=Array();var msg='';for(var i in obj){if(i.substr(0,2)=='on')continue;var currentStr=new String('');var color="black";if(typeof obj[i]=="object")color="red";if(typeof obj[i]=="string")color="green";if(typeof obj[i]=="number")color="blue";currentStr+='<font color="'+color+'">';try{value=obj[i]+'; '+typeof obj[i]+'; ';}catch(e){value=e;}
value=pbx_flickr.common.EscapeHtml(value)+'<br>';if(parent){currentStr+=parent+".";}
currentStr+=i;currentStr="<span style='width: 150px;'>"+currentStr+"</span>";currentStr+=" => "+value;currentStr+='</font>\n';flag=false;for(j=0;j<pbx_flickr.common.debug.exeptProps.length;j++){if(pbx_flickr.common.debug.exeptProps[j]==i){flag=true;break;}}
try{if(typeof obj[i]=="object"&&flag==false&&level<2&&obj[i]!=null){var tempMsg;if(parent){tempMsg=pbx_flickr.common.debug.dump1(obj[i],needStyles,'<b>'+parent+"."+i+'</b>',level+1);}else{tempMsg=pbx_flickr.common.debug.dump1(obj[i],needStyles,'<b>'+i+'</b>',level+1);}
currentStr+=tempMsg;}}catch(e){}
msg+=currentStr;}
if(level<1){targetWindow.document.writeln(msg);targetWindow.document.writeln("<hr>");if(pbx_flickr.common.debug.windowMoved==false){pbx_flickr.common.debug.windowMoved=true;targetWindow.moveBy(500,0);}
return'';}else{return msg;}}catch(e){pbx_flickr.common.debug.dbg=e;}
return'';};pbx_flickr.common.debug.dumpNode=function(node,level){if(!pbx_flickr.common.debug.DEBUG)return;pbx_flickr.common.debug.dbgWndWrite('<hr>');if(typeof(level)=='undefined'){level=0;}
var prefix='';var i;for(i=0;i<level;i++){prefix+='&nbsp;&nbsp;&nbsp;';}
if(typeof node=='undefined'){pbx_flickr.common.debug.dbgWndWrite(prefix+'node is undefined');return;}
if(node==null){pbx_flickr.common.debug.dbgWndWrite(prefix+'node is null');return;}
var nodeType=node.nodeType;if(typeof Node=="object"){for(i in Node){if(typeof(Node[i])!='function'){if(Node[i]==node.nodeType){nodeType+=', '+i;}}}}
pbx_flickr.common.debug.dbgWndWrite(prefix+'Name: <b>'+node.nodeName+'</b><br>');pbx_flickr.common.debug.dbgWndWrite(prefix+'Type: '+nodeType+'<br>');pbx_flickr.common.debug.dbgWndWrite(prefix+'Value: '+node.nodeValue+'<br>');if(node.nodeType==1){var attrs='';for(var j=0;j<node.attributes.length;j++){attrs+=node.attributes[j].nodeName+': '+node.attributes[j].nodeValue+';';}
pbx_flickr.common.debug.dbgWndWrite(prefix+'attributes['+node.attributes.length+'] '+attrs+'<br>');}
try{pbx_flickr.common.debug.dbgWndWrite(prefix+'hasChildNodes(): '+node.hasChildNodes()+', '+node.childNodes.length+'<br>');if(node.hasChildNodes()){for(i=0;i<node.childNodes.length;i++){pbx_flickr.common.debug.dumpNode(node.childNodes[i],level+1);}}}catch(ex){}};pbx_flickr.common.debug.dbgWndWrite=function(str){if(!pbx_flickr.common.debug.DEBUG)return;if(typeof(pbx_flickr.common.debug.DEBUGWnd)!='object'||pbx_flickr.common.debug.DEBUGWnd.closed){pbx_flickr.common.debug.DEBUGWnd=window.open('','DEBUGWindow','scrollbars,status,resizable,width=500,height=500');}
pbx_flickr.common.debug.DEBUGWnd.document.writeln(str);pbx_flickr.common.debug.DEBUGWnd.scrollBy(0,999);};pbx_flickr.common.debug.dbgOut=function(text){var t=new Date();pbx_flickr.common.debug.dbgWndWrite("["+pbx_flickr.common.debug.addLeadingZero(t.getHours())+":"+pbx_flickr.common.debug.addLeadingZero(t.getMinutes())+":"+pbx_flickr.common.debug.addLeadingZero(t.getSeconds())+"] "+text);};pbx_flickr.common.debug.dbg=function(text){var out;try{out=text.toString();}catch(e){out=e.name+": "+e.message;}
pbx_flickr.common.debug.dbgOut(pbx_flickr.common.EscapeHtml(out)+"<br>\n");};pbx_flickr.common.debug.addLeadingZero=function(str){var s=new String(str);return s.length<2?"0"+s:s;};pbx_flickr.common.debug.uid=1;pbx_flickr.common.debug.getUID=function(){pbx_flickr.common.debug.uid++;return pbx_flickr.common.debug.uid;};pbx_flickr.common.debug.fnsStart=function(name){if(!pbx_flickr.common.debug.traceFunctions){return'';}
var id=pbx_flickr.common.debug.getUID()+": "+name;pbx_flickr.common.debug.dbg(id+", start");return id;};pbx_flickr.common.debug.fnsEnd=function(id){if(!pbx_flickr.common.debug.traceFunctions){return;}
var args=[];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
pbx_flickr.common.debug.dbg("    "+id+", end     "+args.join('; '));};pbx_flickr.common.debug.dumpff=function(obj){try{for(var i in obj){try{pbx_flickr.common.debug.dbg('---'+i);pbx_flickr.common.debug.dbg(obj[i]);}catch(ex){pbx_flickr.common.debug.dbg(ex.message);}}}catch(ex){pbx_flickr.common.debug.dbg(ex.message);}};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.common=="undefined")pbx_flickr.common={};if(typeof pbx_flickr.common.ui=="undefined")pbx_flickr.common.ui={};pbx_flickr.common.ui.progress=function(holderId,max){if(max==undefined){max=100;}
this.progressHolder=document.getElementById(holderId);this.progress=document.getElementById('progress');this.progressTextHolder=document.getElementById('progressTextHolder');this.progress1=document.getElementById('progress1');this.width=parseInt(this.progress.style.width);this.max=max;this.current=0;this.set=function(value){this.current=parseInt(value*100/this.max);var newWidth=this.width*this.current/100;if(newWidth>=30){this.progressTextHolder.innerHTML=this.current+"%";}else{this.progressTextHolder.innerHTML=" ";}
this.progress1.style.width=newWidth+"px";this.progress1.style.height="30px";};this.show=function(){this.progressHolder.style.display="block";this.set(this.current);};this.hide=function(){this.progressHolder.style.display="none";};};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.common=="undefined")pbx_flickr.common={};if(typeof pbx_flickr.common.ajax=="undefined")pbx_flickr.common.ajax={};pbx_flickr.common.ajax.MAXIMUM_WAITING_TIME=29000;pbx_flickr.common.ajax.createXMLHttpRequest=function(){try{return new ActiveXObject("Msxml3.XMLHTTP");}catch(e){}
try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
try{return new XMLHttpRequest();}catch(e){}
alert("XMLHttpRequest not supported");return null;};pbx_flickr.common.ajax.ajaxCall=function(requestUrl,isAsync){this.name='pbx_flickr.common.ajax.ajaxCall';this.requestUrl=requestUrl;this.requestTimer=null;this.isAsync=!pbx_flickr.common.isDefined(isAsync)?true:isAsync;this.request=pbx_flickr.common.ajax.createXMLHttpRequest();this.responseHandler=function(xml,text,ajax){alert('Response received:'+text);};this.errorHandler=function(ex){pbx_flickr.common.errors.errorObj.showAppend(ex.message);};this.requestTimedOutHandler=function(){var msg='Ajax request has timed out ('+pbx_flickr.common.ajax.MAXIMUM_WAITING_TIME/1000+' sec)';if(pbx_flickr.common.debug.DEBUG){msg+=' '+this.name;msg+='\n'+this.requestUrl;}
var ex=new pbx_flickr.common.ajax.ajaxException(msg);this.errorHandler(ex);};this.clearRequestTimer=function(){if(this.requestTimer!=null)clearTimeout(this.requestTimer);this.requestTimer=null;};this.onReadyStateChange=function(){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.common.ajax.ajaxCall.onReadyStateChange");if(this.request.readyState==4){this.clearRequestTimer();if(pbx_flickr.common.debug.DEBUG){}
if(this.isAsync){var resp=new pbx_flickr.common.ajax.ajaxResponse(this);if(resp.exception!=null){this.errorHandler(resp.exception);}else{this.responseHandler(resp);}}}
pbx_flickr.common.debug.fnsEnd(fid);};this.requestMethod='GET';this.openInternal=function(requestMethod,requestUrl,isAsync){if(!pbx_flickr.common.isDefined(requestMethod)||!pbx_flickr.common.isDefined(requestUrl)||!pbx_flickr.common.isDefined(isAsync)){}
if(requestMethod=="GET"&&requestUrl.indexOf('?')==-1){var date=new Date();requestUrl+="?"+date.getYear()+date.getMonth()+date.getDay()+date.getHours()+date.getMinutes()+date.getSeconds()+date.getMilliseconds();}
this.request.open(requestMethod,requestUrl,isAsync);};this.open=function(contentType){if(!this.useProxy)
{this.useProxy=pbx_flickr.widget.config.crossDomainProxy;}
if(this.useProxy.length>0&&this.useProxy[0].length>0){if(this.useProxy[1].length>0){this.openInternal(this.requestMethod,this.useProxy[0],this.isAsync);this.request.setRequestHeader(this.useProxy[1],this.requestUrl);this.request.setRequestHeader('Content-Type',"application/x-www-form-urlencoded");}else{this.openInternal(this.requestMethod,this.useProxy[0]+escape(this.requestUrl),this.isAsync);}}else{this.openInternal(this.requestMethod,this.requestUrl,this.isAsync);}};this.send=function(postParams){var fid=pbx_flickr.common.debug.fnsStart(this.name+".send");postParams=postParams||null;if(postParams!=null){this.requestMethod='POST';}
this.open();this.requestTimer=setTimeout(pbx_flickr.common.delegate(this,function(){this.request.abort();this.requestTimedOutHandler.apply(this);}),pbx_flickr.common.ajax.MAXIMUM_WAITING_TIME);if(this.isAsync){this.request.onreadystatechange=pbx_flickr.common.delegate(this,this.onReadyStateChange);}
this.request.send(postParams);if(!this.isAsync){var resp=new pbx_flickr.common.ajax.ajaxResponse(this);pbx_flickr.common.debug.fnsEnd(fid);return resp;}
pbx_flickr.common.debug.fnsEnd(fid);return null;};};pbx_flickr.common.ajax.ajaxException=function(message,resp){this.message=message;this.ajaxResponse=resp;this.show=function(){pbx_flickr.common.errors.errorObj.show(this.message+(pbx_flickr.common.debug.DEBUG&&this.ajaxResponse!=undefined?this.ajaxResponse.url:''));};};pbx_flickr.common.ajax.ajaxResponse=function(ajaxCall){if(ajaxCall==undefined){this.exception=new pbx_flickr.common.ajax.ajaxException("parameterException (ajaxCall)",this);return;}
ajaxCall.clearRequestTimer();this.ajaxCall=ajaxCall;this.url=ajaxCall.requestUrl;this.xml=this.ajaxCall.request.responseXML;if(this.xml.normalize!=undefined){this.xml.normalize();}
this.text=this.ajaxCall.request.responseText;this.isAsync=ajaxCall.isAsync;this.exception=null;if(typeof(this.ajaxCall.request.status)!='undefined'&&this.ajaxCall.request.status!=200){var message=pbx_flickr.widget.lang.errors.ajaxWrongStatus;if(pbx_flickr.common.debug.DEBUG){message+='('+this.ajaxCall.request.status+': '+this.ajaxCall.request.statusText+')';message+='('+this.url+')';}
this.exception=new pbx_flickr.common.ajax.ajaxException(message,this);}else{if(!pbx_flickr.common.isDefined(this.xml)){this.exception=new pbx_flickr.common.ajax.ajaxException(pbx_flickr.widget.lang.errors.ajaxUnknownError,this);}else{if(!this.xml.hasChildNodes()){var text=this.text;this.xml.loadXML(text);}
if(this.xml!=null&&typeof(this.xml)=='object'&&this.xml.hasChildNodes()){this.xml=this.xml.lastChild;}
if(this.xml!=null&&this.xml.parseError!=null&&this.xml.parseError.reason.length>0&&pbx_flickr.common.debug.DEBUG){var errorText="Ajax response xml error:\n"+
this.xml.parseError.reason+"\n"+"srcText: "+this.xml.parseError.srcText+"\n"+"Line: "+this.xml.parseError.line+"\n"+"linepos: "+this.xml.parseError.linepos;errorText+="\nresponseText:\n"+this.text;pbx_flickr.common.errors.errorObj.showAppend(errorText);}}}};pbx_flickr.flickr.flickrCall=function(responseHandler,method,queryString,isAsync,isAuth){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.flickrCall");this._isAsync=isAsync;this.needSign=false;this._isAuth=typeof(isAuth)=='undefined'?false:isAuth;if(this._isAuth){this.needSign=true;}
this._queryString=queryString;this._method=method;this._responseHandler=responseHandler;this.flickrCallErrorHandler=function(ex){if(this.errorHandler!=undefined){this.errorHandler(ex);}else{pbx_flickr.common.errors.errorObj.show(ex.message);}};this.flickrCallResponseHandler=function(ajaxResp){var flickrResp=new pbx_flickr.flickr.flickrResponse(ajaxResp);if(flickrResp.exception!=null){if(this.errorHandler!=undefined){this.errorHandler(flickrResp.exception);}else{flickrResp.exception.show();}}else{this._argumentsToRepassToHandler.unshift(flickrResp);if(pbx_flickr.common.isDefined(this._responseHandler)){var sb=[];for(i=0;i<this._argumentsToRepassToHandler.length;i++){sb.push('this._argumentsToRepassToHandler['+i+']');}
var stringToEval='this._responseHandler('+sb.join(', ')+')';eval(stringToEval);}}};this._argumentsToRepassToHandler=[];this.Send=function(){this._argumentsToRepassToHandler=[];for(var i=0;i<arguments.length;i++){this._argumentsToRepassToHandler.push(arguments[i]);}
if(typeof(this._queryString.push)!='function'){this._queryString=[this._queryString];}
this._queryString.push('method='+this._method);this._queryString.push('api_key='+pbx_flickr.flickr.config.flickrApiKey);if(this._isAuth){this._queryString.push('auth_token='+pbx_flickr.flickr.auth.token);}
if(pbx.config.flickrExtraParams)
{this._queryString.push('extra='+pbx.config.flickrExtraParams);}
var qs=this._queryString.join('&');if(this.needSign){qs+='&api_sig='+pbx_flickr.flickr.config.get_apiSig(this._queryString);}
var url=pbx_flickr.flickr.config.flickrServiceUrl+'?'+qs.replace(/@/g,"%40");{this.ajaxCall=new pbx_flickr.common.ajax.ajaxCall(url,this._isAsync);this.ajaxCall.name='flickrAjax';this.ajaxCall.useProxy=pbx_flickr.widget.config.crossDomainProxy;this.ajaxCall.responseHandler=pbx_flickr.common.delegate(this,this.flickrCallResponseHandler);this.ajaxCall.errorHandler=pbx_flickr.common.delegate(this,this.flickrCallErrorHandler);var resp=this.ajaxCall.send(null);if(!this.ajaxCall.isAsync){return new pbx_flickr.flickr.flickrResponse(resp);}}
return null;};pbx_flickr.common.debug.fnsEnd(fid);};pbx_flickr.flickr.photoInfo=function(photoNode){for(var i=0;i<photoNode.attributes.length;i++){this[photoNode.attributes[i].nodeName]=photoNode.attributes[i].nodeValue;}
if(typeof this.originalformat=="undefined"){this.originalformat="jpg";}
this.replaceInUrl=function(url){url=url.replace('{farm-id}',this.farm);url=url.replace('{server-id}',this.server);url=url.replace('{id}',this.id);url=url.replace('{secret}',this.secret);url=url.replace('{o-secret}',this.originalsecret);return url;};this.get_imgUrl=function(){var url='http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}_s.jpg';return this.replaceInUrl(url);};this.get_imgOriginalUrl=function(){var url="";if(this.originalsecret!=undefined){url='http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{o-secret}_o.'+this.originalformat;}else{url='http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}.'+this.originalformat;}
return this.replaceInUrl(url);};this.get_Hash=function(){return'img_'+this.id;};this.createImg=function(holder){var img=document.createElement('img');img.src=this.get_imgUrl();img.photoInfoObj=this;pbx_flickr.common.AppendCssClass(img,pbx_flickr.flickr.config.unSelectedCssClass);img.container=holder;img.title=this.title;img.alt=this.title;img.width='75';img.height='75';return img;};};pbx_flickr.flickr.photoset=function(photosetNode){this.id=pbx_flickr.common.dom.nodeAttribute(photosetNode,'id');this.name=pbx_flickr.common.dom.getNodeText(photosetNode.getElementsByTagName('title')[0]);this.description=pbx_flickr.common.dom.getNodeText(photosetNode.getElementsByTagName('description')[0]);};pbx_flickr.flickr.flickrResponse=function(ajaxRresp){this.ajaxResponse=ajaxRresp;this.exception=null;this.rspNode=this.ajaxResponse.xml;if(pbx_flickr.common.isDefined(this.rspNode)&&this.rspNode.nodeName=='rsp'){var stat=pbx_flickr.common.dom.nodeAttribute(this.rspNode,'stat');if(stat=='fail'){this.exception=new pbx_flickr.flickr.flickrException(this);}}else{this.exception=new pbx_flickr.flickr.flickrException(this);if(pbx_flickr.common.debug.DEBUG){this.exception.show();}}};pbx_flickr.flickr.flickrException=function(resp){if(!pbx_flickr.common.isDefined(resp.rspNode)||resp.rspNode.nodeName!='rsp'){var nodeName;if(resp.rspNode==undefined)nodeName="undefined";else if(resp.rspNode==null)nodeName="null";else nodeName=resp.rspNode.nodeName;this.message='Root node "'+nodeName+'" is not a Flickr "rsp" node';this.code="-1";}else{var errorNode=resp.rspNode.getElementsByTagName('err')[0];this.message=pbx_flickr.common.dom.nodeAttribute(errorNode,'msg');this.code=pbx_flickr.common.dom.nodeAttribute(errorNode,'code');}
this.flickrResponse=resp;this.show=function(){var message="Flickr Error "+this.code+": "+this.message;if(pbx_flickr.common.debug.DEBUG){message+="\n\n"+this.flickrResponse.ajaxResponse.url;}
pbx_flickr.common.errors.errorObj.showAppend(message);};};pbx_flickr.flickr.photosList=function(){this.items=[];this.hashItems={};this.add=function(img){if(pbx_flickr.common.isDefined(img)&&pbx_flickr.common.isDefined(img.photoInfoObj)){var imgFromHash=this.hashItems[img.photoInfoObj.get_Hash()];if(imgFromHash==undefined){this.hashItems[img.photoInfoObj.get_Hash()]=img;this.items.push(img);img.container.appendChild(img);return true;}}
return false;};this.findImg=function(id){var index=this.findIndex(id);if(index<0)return null;return this.items[index];};this.findIndex=function(id){for(var i=0;i<this.items.length;i++){if(this.items[i].photoInfoObj.id==id){return i;}}
return-1;};this.remove=function(img){if(pbx_flickr.common.isDefined(img)&&pbx_flickr.common.isDefined(img.photoInfoObj)){var imgFromHash=this.hashItems[img.photoInfoObj.get_Hash()];if(imgFromHash==undefined)return false;delete this.hashItems[img.photoInfoObj.get_Hash()];var index=this.findIndex(imgFromHash.photoInfoObj.id);this.items.splice(index,1);img.container.removeChild(img);return true;}
return false;};this.clear=function(){for(var i=this.items.length-1;i>=0;i--){this.remove(this.items[i]);}};};pbx_flickr.flickr.auth={frob:null,token:null,user:{nsid:'',username:'',fullname:'',isPro:false},isAuthenticated:function(){return this.token!=null;},getUserId:function(){return this.user.nsid;},getUserIsPro:function(){return this.user.isPro;},getTokenFromCookie:function(){return pbx_flickr.common.cookies.getCookie("flickrToken");},checkAuth:function(frob){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.auth.checkAuth");this.token=this.getTokenFromCookie();this.clearCookie();var flickrResp;if(this.token!=null){flickrResp=this.checkToken();}else{if(this.get_frobFromRequest()!=''){frob=this.get_frobFromRequest();}
if(pbx_flickr.common.isDefined(frob)&&frob!=''){this.frob=frob;this.getToken();}else{pbx_flickr.common.debug.fnsEnd(fid);return false;}}
pbx_flickr.common.debug.fnsEnd(fid);return true;},clearCookie:function(){pbx_flickr.common.cookies.deleteCookie("flickrToken",'/');},getFrob:function(){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.auth.getFrob");this.frob=null;this.token=null;this.clearCookie();this.frobCall=new pbx_flickr.flickr.flickrCall(null,'flickr.auth.getFrob',[],false);this.frobCall.needSign=true;var flickrResp=this.frobCall.Send();if(flickrResp.exception!=null){flickrResp.exception.show();}else{this.frob=pbx_flickr.common.dom.getNodeText(flickrResp.rspNode.getElementsByTagName('frob')[0]);this.getToken();}
pbx_flickr.common.debug.fnsEnd(fid);},get_frobFromRequest:function(){var params=pbx_flickr.common.GETparams();return typeof params["frob"]=="undefined"?'':params["frob"];},openFlickrAuthWindow:function(){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.auth.openFlickrAuthWindow");if(this.frobCall==null){this.getFrob();pbx_flickr.common.debug.fnsEnd(fid);return;}
this.frob_hWnd=window.open(this.getAuthUrl());this.frobInterval=window.setInterval(pbx_flickr.common.delegate(this,this.frob_hWndClosed),100);pbx_flickr.common.debug.fnsEnd(fid);},frob_hWndClosed:function(){var closed=true;try{closed=this.frob_hWnd.closed;}catch(ex){}
if(closed){window.clearInterval(this.frobInterval);this.getToken();}},getToken:function(){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.auth.getToken");var flickrToken=new pbx_flickr.flickr.flickrCall(null,'flickr.auth.getToken',"frob="+this.frob,false);flickrToken.needSign=true;var flickrResp=flickrToken.Send();if(flickrResp.exception!=null){if(flickrResp.exception.code==108){document.location=this.getAuthUrl();}else{flickrResp.exception.show();}}else{this.tokenOkHandler(flickrResp.rspNode,true);}
pbx_flickr.common.debug.fnsEnd(fid);return flickrResp;},tokenOkHandler:function(rspNode){this.token=pbx_flickr.common.dom.getNodeText(rspNode.getElementsByTagName('token')[0]);var userNode=rspNode.getElementsByTagName('user')[0];this.user.nsid=pbx_flickr.common.dom.nodeAttribute(userNode,'nsid'),this.user.username=pbx_flickr.common.dom.nodeAttribute(userNode,'username'),this.user.fullname=pbx_flickr.common.dom.nodeAttribute(userNode,'fullname')
var flickrCall=new pbx_flickr.flickr.flickrCall(null,'flickr.people.getInfo',"user_id="+this.getUserId(),false);flickrCall.needSign=true;var flickrResp=flickrCall.Send();if(flickrResp.exception==null){var personNode=flickrResp.rspNode.getElementsByTagName('person')[0];this.user.isPro=pbx_flickr.common.dom.nodeAttribute(personNode,'ispro')=="1"?true:false;}else{flickrResp.exception.show();}
var expires=new Date();expires.setMonth(expires.getMonth()+1);pbx_flickr.common.cookies.setCookie("flickrToken",this.token,expires,'/');},checkToken:function(){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.flickr.auth.checkToken");var flickrToken=new pbx_flickr.flickr.flickrCall(null,'flickr.auth.checkToken',"auth_token="+this.token,false,false);flickrToken.needSign=true;var flickrResp=flickrToken.Send();if(flickrResp.exception==null){this.tokenOkHandler(flickrResp.rspNode);}else{if(flickrResp.exception.code==98){this.getFrob();}else{flickrResp.exception.show();}}
pbx_flickr.common.debug.fnsEnd(fid);return flickrResp;},getAuthUrl:function(){var params=['api_key='+pbx_flickr.flickr.config.flickrApiKey,'perms=read','extra='+pbx.config.flickrExtraParams];params.push('api_sig='+pbx_flickr.flickr.config.get_apiSig(params));return'http://www.flickr.com/services/auth/?'+params.join('&');},redirectToFlickr:function(){document.location.href=this.getAuthUrl();}};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.babel=="undefined")pbx_flickr.babel={};pbx_flickr.babel.babelCall=function(method,handler,objectid){this.ajaxCall=new pbx_flickr.common.ajax.ajaxCall(pbx_flickr.widget.config.babelServiceUrl);this.ajaxCall.name='babelAjax';this.objectid=objectid;this.ajaxCall.useProxy=pbx_flickr.widget.config.babelProxy;this.method=method;this.handler=handler;this.errorHandler=undefined;this.paramsToRepass=[];this.buildRequest=function(method,requestBody,headerParams,objectid){this.headerParams=['method="'+method+'" clientid="flickrwidget"'];if(headerParams!=undefined){this.headerParams.push(headerParams);}
if(objectid!=undefined){this.headerParams.push('objectid="'+objectid+'"');}
if(pbx_flickr.babel.babelFacade.sessionObj!=null){this.headerParams.push('sessioncode="'+pbx_flickr.babel.babelFacade.sessionObj.code+'"');}
if(requestBody==undefined){requestBody='<p></p>';}
if(!SoftServe.Common.Validator.isValidXML(requestBody)){}
var xml='<?xml version="1.0" ?>'+'<babel '+this.headerParams.join(' ')+'>'+
SoftServe.Common.Encoding.UTF8.encode(requestBody)+'</babel>';return'xml='+escape(xml);};this.responseHandler=function(ajaxResp){var fid=pbx_flickr.common.debug.fnsStart("babel.responseHandler");var resp=new pbx_flickr.babel.babelResponse(ajaxResp,this.paramsToRepass);this.handler(resp);pbx_flickr.common.debug.fnsEnd(fid);};this.send=function(requestBody,headerParams){var fid=pbx_flickr.common.debug.fnsStart("babel.send");this.ajaxCall.responseHandler=pbx_flickr.common.delegate(this,this.responseHandler);if(this.errorHandler!=undefined){this.ajaxCall.errorHandler=this.errorHandler;}
var postParams=this.buildRequest(this.method,requestBody,headerParams,this.objectid);var resp=this.ajaxCall.send(postParams);if(!this.ajaxCall.isAsync){pbx_flickr.common.debug.fnsEnd(fid);return new pbx_flickr.babel.babelResponse(resp);}
pbx_flickr.common.debug.fnsEnd(fid);return null;};};pbx_flickr.babel.babelFacade={albums:[],sessionObj:null,get_userLoggedIn:function(){return this.sessionObj.logged_in=="1";},init:function(sessioncodeParam){pbx_flickr.babel.babelFacade.sessionCode=sessioncodeParam;var vLiveFlag=new pbx_flickr.babel.babelCall('Community.Session.GetSystemConfig');vLiveFlag.ajaxCall.isAsync=false;var vLiveFlagResponse=vLiveFlag.send('<p><p key="code">'+sessioncodeParam+'</p></p>');if(vLiveFlagResponse.exception==null){pbx_flickr.widget.config.ftpUploadHost=vLiveFlagResponse.value.ftp_upload_host;if(vLiveFlagResponse.value.CONFIG_LOCAL_KEYS=='systemlive'){pbx_flickr.widget.config.liveVersion=true;}else{pbx_flickr.widget.config.liveVersion=false;}}else{}
var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.babel.babelFacade.init");this.sessionObj=null;var bSession=new pbx_flickr.babel.babelCall('Community.Session.FetchFromCode');bSession.ajaxCall.isAsync=false;var bSessionResp=bSession.send('<p><p key="code">'+sessioncodeParam+'</p></p>');if(bSessionResp.exception==null){this.sessionObj=bSessionResp.value;}else{}
if(this.sessionObj==null){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.babelWrongSessionCode);this.sessionObj={member_id:0};}else{this.loadLang();}
pbx_flickr.common.debug.fnsEnd(fid);},loadAlbums:function(){if(this.sessionObj==null){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.babelWrongSessionCode);}else{pbx_flickr.babel.babelFacade.liveInstance=this.sessionObj.member_id;var bAlbums=new pbx_flickr.babel.babelCall('Community.Member.GetSimpleAlbumTree',pbx_flickr.common.delegate(this,this.loadAlbumsResponseHandler),this.sessionObj.member_id);bAlbums.send('<p><p key="include_clipboard">1</p><p key="id">1</p><p key="name">1</p><p key="photo_count">1</p></p>');}},albumsLoadedEvent:[],loadAlbumsResponseHandler:function(resp){if(resp.exception==null){this.albums=resp.value;pbx_flickr.common.events.riseEvent(this.albumsLoadedEvent);}else{resp.exception.show();}},parceLangResponse:function(input){input=input.trim().substr(3).trim();input=input.replace(/<\/p>/gi,'').trim();var chunks=input.split('<p key="errors">');function parseBabelHash(str,lang){var keys=str.match(/<p key=\"\w*\">/gi);var vals=('mock'+str).split(/<p key=\"[^>]*>/gi);for(var i=0;i<keys.length;i++){var key=keys[i].match(/\w+/ig)[2];var val=vals[i+1];lang[key]=val.trim().replace(/&lt;/g,'<').replace(/&gt;/g,'>');}}
parseBabelHash(chunks[0],pbx_flickr.widget.lang);parseBabelHash(chunks[1],pbx_flickr.widget.lang.errors);},loadLang:function(){var babel=new pbx_flickr.babel.babelCall('Community.Content.FetchLive',null);babel.ajaxCall.isAsync=false;var babelResp=babel.send('<p><p key="component">/flickr</p></p>');this.parceLangResponse(babelResp.value.ulcontent);},importSerial:null,importPhotos:function(photoUrls,album){pbx_flickr.babel.babelFacade.albumId=album.id;var babel=new pbx_flickr.babel.babelCall('Community.Album.ImportPhotos',null,album.id);babel.ajaxCall.isAsync=false;var photosBabelArray=[];for(var i=0;i<photoUrls.length;i++){photosBabelArray.push("<p>"+photoUrls[i].utf8_encode()+"</p>");}
var babelResp=babel.send('<p><p key="urls">'+photosBabelArray.join('\n')+"</p></p>");if(babelResp.exception==null){this.importSerial=babelResp.value;pbx_flickr.babel.babelFacade.serialNumber=this.importSerial;}else{this.importSerial=null;}
return babelResp;},getClipboardAlbum:function(){var babel=new pbx_flickr.babel.babelCall('Community.Member.GetClipboard',null,this.sessionObj.member_id);babel.ajaxCall.isAsync=false;var babelResponse=babel.send();if(babelResponse.exception==null){return babelResponse.value;}else{babelResponse.exception.show();return null;}},createAlbum:function(albumName){var babel=new pbx_flickr.babel.babelCall('Community.Member.CreateAlbum',null,this.sessionObj.member_id);babel.ajaxCall.isAsync=false;var babelResponse=babel.send('<p><p key="name">'+albumName.utf8_encode()+'</p></p>');if(babelResponse.exception==null){return babelResponse.value;}else{babelResponse.exception.show();return null;}},checkSerial:function(responseHandler,album){if(this.importSerial==null){responseHandler();return;}
var babel=new pbx_flickr.babel.babelCall('Community.Album.CheckImport',responseHandler,album.id);babel.errorHandler=function(){};babel.send('<p><p key="serial">'+this.importSerial+'</p></p>');},proxyRespParse:function(resp,url){var dp=new DOMParser();var doc1=dp.parseFromString(resp.value,'text/xml');resp.ajaxResponse.xml=doc1.documentElement;resp.ajaxResponse.text=resp.value;resp.ajaxResponse.url=url;return resp.ajaxResponse;},proxy:function(isAsync,url,callback,callbackError){this.proxyObj=new pbx_flickr.babel.babelCall('Community.Member.WGet',pbx_flickr.common.delegate(this,this.proxyResponseHandler));this.proxyObj.ajaxCall.isAsync=isAsync;this.proxyObj.ajaxCall.paramsToRepass=[callback,callbackError,url];var resp=this.proxyObj.send('<p><p key="url"><![CDATA['+url+']]></p></p>');if(resp!=null&&!resp.ajaxResponse.isAsync){return this.proxyRespParse(resp,url);}
return null;},proxyResponseHandler:function(resp){var fid=pbx_flickr.common.debug.fnsStart("pbx_flickr.babel.babelFacade.proxyResponseHandler");var ajaxCall=resp.ajaxResponse.ajaxCall;var callBack=ajaxCall.paramsToRepass[0];var callbackError=ajaxCall.paramsToRepass[1];var url=ajaxCall.paramsToRepass[2];if(resp.exception==null){callBack(this.proxyRespParse(resp,url));}else{if(callbackError!=undefined){callbackError();}else{resp.exception.show();}}
pbx_flickr.common.debug.fnsEnd(fid);},mock:'end'};pbx_flickr.babel.babelException=function(resp,paramsToRepass){this.paramsToRepass=paramsToRepass;this.babelResponse=resp;this.message=null;if(resp.ajaxResponse.xml.childNodes.length==0){this.message=pbx_flickr.widget.lang.errors.babelServerResponseIsEmpty;}else{var errorMessageNode;if(resp.ajaxResponse.xml.nodeName=='error_message'){errorMessageNode=resp.ajaxResponse.xml;}else{var errNodes=resp.ajaxResponse.xml.getElementsByTagName('error_message');errorMessageNode=errNodes.length>0?errNodes[0]:null;}
if(typeof errorMessageNode!='undefined'&&errorMessageNode!=null){this.message=pbx_flickr.common.dom.getNodeText(errorMessageNode);}}
this.show=function(){pbx_flickr.common.errors.errorObj.show(this.message);};};pbx_flickr.babel.babelResponse=function(ajaxResp){this.ajaxResponse=ajaxResp;this.exception=new pbx_flickr.babel.babelException(this);this.babelNode=null;if(this.exception.message==null){this.exception=null;if(this.ajaxResponse.xml.nodeName=='babel'){this.babelNode=this.ajaxResponse.xml;}else{this.babelNode=this.ajaxResponse.xml.getElementsByTagName('babel')[0];}
this.value==null;for(var i=0;i<this.babelNode.childNodes.length;i++){if(this.babelNode.childNodes[i].nodeName=='p'){this.value=pbx_flickr.babel.parseResponseObjects(this.babelNode.childNodes[i]);break;}}}};pbx_flickr.babel.parseResponseObjects=function(xmlNode){var i;if(xmlNode.nodeName=='p'){var firstChildNode=pbx_flickr.common.dom.firstChildNotText(xmlNode);if(firstChildNode==null){return pbx_flickr.common.dom.getNodeText(xmlNode);}
if(pbx_flickr.common.dom.nodeAttribute(xmlNode,'key')!=null){return pbx_flickr.babel.parseResponseObjects(firstChildNode);}else if(pbx_flickr.common.dom.nodeAttribute(xmlNode,'class')!=null){return new pbx_flickr.babel.babelBaseClass(xmlNode);}else{if(pbx_flickr.common.dom.nodeAttribute(firstChildNode,"key")==null){var arr=[];for(i=0;i<xmlNode.childNodes.length;i++){if(xmlNode.childNodes[i].nodeName=='p'){arr.push(pbx_flickr.babel.parseResponseObjects(xmlNode.childNodes[i]));}}
return arr;}else{var hash={};for(i=0;i<xmlNode.childNodes.length;i++){var child=xmlNode.childNodes[i];if(child.nodeName=='p'){var hashKey=pbx_flickr.common.dom.nodeAttribute(child,'key');var hashVal=pbx_flickr.babel.parseResponseObjects(child);hash[hashKey]=hashVal;}}
return hash;}}}else{return xmlNode.nodeValue;}};pbx_flickr.babel.babelBaseClass=function(xmlNode){var attributes=new pbx_flickr.common.dom.nodeAtttributes(xmlNode);this.xmlNode=xmlNode;this.className=attributes["class"];this.id=attributes.id;for(var i=0;i<this.xmlNode.childNodes.length;i++){var node=this.xmlNode.childNodes[i];if(node.nodeName=='p'){var nodeKey=pbx_flickr.common.dom.nodeAttribute(node,'key');var nodeValue=pbx_flickr.common.dom.getNodeText(node);this[nodeKey]=nodeValue;}}};if(typeof pbx_flickr=="undefined")pbx_flickr={};if(typeof pbx_flickr.common=="undefined")pbx_flickr.common={};if(typeof pbx_flickr.common.ui=="undefined")pbx_flickr.common.ui={};if(typeof pbx_flickr.widget=="undefined")pbx_flickr.widget={};pbx_flickr.widget.main={name:'flickrWidget',widgetHolder:null,importButton:null,allPhotosHolder:null,selectedPhotosHolder:null,selectedPhotosParentHolder:null,totalImportedImages:null,allImgList:new pbx_flickr.flickr.photosList(),selectedImgList:new pbx_flickr.flickr.photosList(),currentLayoutType:1,updatingEvent:[],importFinishedEvent:[],photosetsLoadedEvent:[],photosLoadedEvent:[],photosets:[],lastPhotosetSelectedIndex:0,addImg:function(photoInfoObj){var img=photoInfoObj.createImg(this.allPhotosHolder);this.allImgList.add(img);var isAllowed=false;var i;for(i=0;i<pbx_flickr.widget.config.allowedExtentions.length;i++){if(photoInfoObj.originalformat==pbx_flickr.widget.config.allowedExtentions[i]){isAllowed=true;break;}}
if(isAllowed){img.onclick=pbx_flickr.common.delegate(this,this.imgClickHandler);}else{img.disabled=true;img.title=pbx_flickr.widget.lang.errors.imgWrongOriginalType;pbx_flickr.common.AppendCssClass(img,"disabled");}
var imgSelected=this.selectedImgList.findImg(photoInfoObj.id);if(imgSelected!=null){img.isSelected=true;pbx_flickr.common.RemoveCssClass(img,pbx_flickr.flickr.config.unSelectedCssClass);pbx_flickr.common.AppendCssClass(img,pbx_flickr.flickr.config.selectedCssClass);}},imgClickHandler:function(e){e=pbx_flickr.common.events.fixEvent(e);var img=e.target;if(img.isSelected!=undefined){var imgCopy=this.selectedImgList.findImg(img.photoInfoObj.id);this.deSelectImg(imgCopy);}else{this.selectImg(img);}
this.update();},selectedImgClickHandler:function(e){e=pbx_flickr.common.events.fixEvent(e);var img=e.target;if(img.container.disabled)return;this.deSelectImg(img);this.update();},updateSelectedHolderBg:function(){document.getElementById('selectedPhotosHolderEmptyValue').style.display=this.selectedImgList.items.length==0?"block":"none";},checkMaxSelected:function(){if(this.selectedImgList.items.length>=pbx_flickr.widget.config.maxPhotosSelect){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.maxSelectedPhotosAchieved);return false;}
return true;},selectImg:function(imgOriginal){if(imgOriginal.disabled){return;}
if(!this.checkMaxSelected())return;var imgCopy=this.selectedImgList.findImg(imgOriginal.photoInfoObj.id);if(imgCopy==null){imgCopy=imgOriginal.photoInfoObj.createImg(this.selectedPhotosHolder);}
imgCopy.isCopy=true;imgCopy.onclick=pbx_flickr.common.delegate(this,this.selectedImgClickHandler);this.selectedImgList.add(imgCopy);imgOriginal.isSelected=true;pbx_flickr.common.RemoveCssClass(imgOriginal,pbx_flickr.flickr.config.unSelectedCssClass);pbx_flickr.common.AppendCssClass(imgOriginal,pbx_flickr.flickr.config.selectedCssClass);},deSelectImg:function(imgCopy){pbx_flickr.common.errors.errorObj.clear();var imgOriginal=this.allImgList.findImg(imgCopy.photoInfoObj.id);if(imgOriginal!=null){imgOriginal.isSelected=undefined;pbx_flickr.common.AppendCssClass(imgOriginal,pbx_flickr.flickr.config.unSelectedCssClass);pbx_flickr.common.RemoveCssClass(imgOriginal,pbx_flickr.flickr.config.selectedCssClass);}
this.selectedImgList.remove(imgCopy);},addRandomClickHandler:function(){var randomNumber=10;var notSelectedImgs=this.get_notSelectedImages();if(notSelectedImgs.length<=randomNumber){this.addAllClickHandler();return;}
pbx_flickr.common.errors.errorObj.clear();for(var i=0;i<randomNumber;i++){var rndN=Math.random();var flt=rndN*(notSelectedImgs.length-1);var index=Math.ceil(flt);var img=notSelectedImgs[index];notSelectedImgs.splice(index,1);this.selectImg(img);}
this.update();},addAllClickHandler:function(){var imgs=this.allImgList.items;pbx_flickr.common.errors.errorObj.clear();for(var i=0;i<imgs.length;i++){this.selectImg(imgs[i]);}
this.update();},clearAllClickHandler:function(){for(var i in this.selectedImgList.hashItems){this.deSelectImg(this.selectedImgList.hashItems[i]);}
pbx_flickr.common.errors.errorObj.clear();this.update();},getTargetAlbum:function(){var targetAlbum=null;if(pbx_flickr.babel.babelFacade.get_userLoggedIn()){targetAlbum=this.albumSelect[this.albumSelect.selectedIndex].album;if(this.albumAddNewInput.value.length>0){targetAlbum=pbx_flickr.babel.babelFacade.createAlbum(this.albumAddNewInput.value);}}else{targetAlbum=pbx_flickr.babel.babelFacade.getClipboardAlbum();}
return targetAlbum;},importClickHandler:function(e){e=pbx_flickr.common.events.fixEvent(e);this.albumAddNewInput.value=this.albumAddNewInput.value.trim();pbx_flickr.common.errors.errorObj.clear();if(pbx_flickr.babel.babelFacade.get_userLoggedIn()&&(this.albumSelect.selectedIndex<=0&&this.albumAddNewInput.value=='')){pbx_flickr.common.errors.errorObj.add(pbx_flickr.widget.lang.errors.widgetChooseAlbum);}
if(this.selectedImgList.items.length<1){pbx_flickr.common.errors.errorObj.add(pbx_flickr.widget.lang.errors.atLeastOneImage);}
if(pbx_flickr.common.errors.errorObj.errors.length>0){pbx_flickr.common.errors.errorObj.show();return;}
this.targetAlbum=this.getTargetAlbum();if(this.targetAlbum==null){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.babelAlbumCreateFailed);return;}
var urls=[];var selectedImgs=this.selectedImgList.items;for(var i=0;i<selectedImgs.length;i++){urls.push(selectedImgs[i].photoInfoObj.get_imgOriginalUrl());}
if(pbx_flickr.widget.progressObj!=undefined){pbx_flickr.widget.progressObj.set(0);}
var babelResp=pbx_flickr.babel.babelFacade.importPhotos(urls,this.targetAlbum);if(babelResp.exception==null){this.plus10=Math.ceil(this.selectedImgList.items.length*0.15);pbx_flickr.widget.progressObj.max=this.plus10+this.selectedImgList.items.length;pbx_flickr.widget.progressObj.set(this.plus10);this.startProgress();}else{alert(babelResp.exception.message);}
this.switchToStep3();},switchToStep3:function(){this.selectedPhotosHolder.disabled=true;this.selectedPhotosHolder.scrolling='yes';var widgetStep1and2Holder=document.getElementById('widgetStep1and2Holder');widgetStep1and2Holder.style.display="none";document.getElementById('widgetStep3Holder').style.display="block";document.getElementById('importBtn2').style.visibility="hidden";pbx_flickr.common.errors.errorObj.init('widgetStep3ErrorMessage');if(!pbx_flickr.babel.babelFacade.get_userLoggedIn()){var vStep2Holder=window.document.getElementById('widgetStep3');vOldElement=vStep2Holder.innerHTML;vNewElement=window.document.createElement('label');vNewElement.innerHTML=pbx_flickr.widget.lang.widgetStep3NonLoggedIn;vStep2Holder.innerHTML='';vStep2Holder.appendChild(vNewElement);}},startProgress:function(){this.progressInterval=window.setInterval(pbx_flickr.common.delegate(this,this.progressUpdate),pbx_flickr.widget.config.progressRefreshInterval,undefined);},progressUpdate:function(babelResp){if(babelResp==undefined){pbx_flickr.babel.babelFacade.checkSerial(pbx_flickr.common.delegate(this,this.progressUpdate),this.targetAlbum);}else{if(babelResp.value.status==undefined){return;}
if(babelResp.value.status=="pending"){var done=parseInt(this.plus10)+parseInt(babelResp.value.completecount);pbx_flickr.widget.progressObj.set(done);}else{pbx_flickr.widget.main.totalImportedImages=babelResp.value.completecount;pbx_flickr.widget.progressObj.set(pbx_flickr.widget.progressObj.max);if(pbx_flickr.common.isDefined(this.progressInterval)){try{window.clearInterval(this.progressInterval);babelResp.ajaxResponse.ajaxCall.request.abort();}catch(exc){}}
pbx_flickr.common.events.riseEvent(this.importFinishedEvent,this);}}},importFinishedEventHandler:function(){var vDataToSend=[];vDataToSend[0]=pbx_flickr.babel.babelFacade.albumId;vDataToSend[1]=pbx_flickr.babel.babelFacade.serialNumber;vDataToSend[2]=pbx_flickr.widget.config.ftpUploadHost;vDataToSend[3]=pbx_flickr.widget.main.totalImportedImages;var vParam="";vParam+='album_id='+escape(vDataToSend[0]);vParam+="&";vParam+='s='+escape(vDataToSend[1]);vParam+="&";vParam+='ulhost='+escape(vDataToSend[2]);vParam+="&";vParam+='n='+escape(vDataToSend[3]);vParam+="&uploader=flickr";window.document.location.href=pbx_flickr.widget.config.allImportedRedirectUrl+"?"+vParam;},get_notSelectedImages:function(){var allImages=this.allImgList.items;var toReturn=[];for(var i=0;i<allImages.length;i++){if(!allImages[i].disabled&&allImages[i].isSelected==undefined){toReturn.push(allImages[i]);}}
return toReturn;},update:function(){var fid=pbx_flickr.common.debug.fnsStart("widget.update");pbx_flickr.common.events.riseEvent(this.updatingEvent,this);this.updateSelectedHolderBg();pbx_flickr.common.debug.fnsEnd(fid);},photosetSelectChangedHandler:function(){var fid=pbx_flickr.common.debug.fnsStart("widget.photosetSelectChangedHandler");this.allImgList.clear();this.update();var option=this.photosetSelect.options[this.photosetSelect.selectedIndex];if(option.photoset!=null){this.loadPhotos(option.photoset);}
this.lastPhotosetSelectedIndex=this.photosetSelect.selectedIndex;pbx_flickr.common.debug.fnsEnd(fid);},clearPhotos:function(){this.allImgList.clear();this.selectedImgList.clear();this.update();},loadPhotosets:function(){if(!this.flickrAuthResult)return;var photoSetsFlickr=new pbx_flickr.flickr.flickrCall(pbx_flickr.common.delegate(this,this.loadPhotosetsResponseHandler),'flickr.photosets.getList',['user_id='+pbx_flickr.flickr.auth.getUserId()],true,false);photoSetsFlickr.errorHandler=function(ex){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.errorLoadingPhotosets);};photoSetsFlickr.Send();},loadPhotosetsResponseHandler:function(resp){if(resp.exception==null){var photosetsNode=resp.rspNode.getElementsByTagName('photosets')[0];this.photosets=[];for(var i=0;i<photosetsNode.childNodes.length;i++){if(photosetsNode.childNodes[i].nodeName=='photoset'){this.photosets.push(new pbx_flickr.flickr.photoset(photosetsNode.childNodes[i]));}}
this.buildPhotosetsSelect();}else{if(resp.exception.code==98){this.authFailed(resp.exception);}else{resp.exception.show();}}
pbx_flickr.common.events.riseEvent(this.photosetsLoadedEvent,this);},loadPhotos:function(photoset){var fid=pbx_flickr.common.debug.fnsStart("widget.loadPhotos");if(!this.flickrAuthResult){pbx_flickr.common.debug.fnsEnd(fid);return;}
var args=["user_id="+pbx_flickr.flickr.auth.getUserId(),"extras=original_format,original_secret","per_page=500"];var method;if(photoset!==null){method='flickr.photosets.getPhotos';args.push('photoset_id='+photoset.id);}else{method='flickr.photos.search';}
if(this.loadPhotosFlickr!=undefined&&typeof this.loadPhotosFlickr.abort=="function"){this.loadPhotosFlickr.abort();}
this.loadPhotosFlickr=new pbx_flickr.flickr.flickrCall(pbx_flickr.common.delegate(this,this.loadPhotosResponseHandler),method,args,true,true);this.loadPhotosFlickr.errorHandler=function(ex){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.errorLoadingPhotos);pbx_flickr.widget.lang.warningMessageFromServer=ex.message;if(pbx_flickr.widget.config.liveVersion==false){pbx_flickr.widget.main.updateErrorInfo(pbx_flickr.widget.lang.warningMessageFromServer);}};this.loadPhotosFlickr.needSign=true;pbx_flickr.common.errors.errorObj.clear();this.loadPhotosFlickr.Send();pbx_flickr.common.debug.fnsEnd(fid);},updateErrorInfo:function(anError){var vLoggedInHtml=window.document.getElementById('loggedIn');vLoggedInHtml.style.color="red";vLoggedInHtml.style.fontWeight="bold";var vMessage=document.createTextNode(anError);vLoggedInHtml.insertBefore(vMessage,vLoggedInHtml.firstChild);},loadPhotosResponseHandler:function(resp){var fid=pbx_flickr.common.debug.fnsStart("widget.loadPhotosResponseHandler");delete this.loadPhotosFlickr;if(resp.exception==null){var photos=resp.rspNode.getElementsByTagName('photo');this.allImgList.clear();for(var i=0;i<photos.length;i++){this.addImg(new pbx_flickr.flickr.photoInfo(photos[i]));}
if(photos.length==0){pbx_flickr.common.errors.errorObj.show(pbx_flickr.widget.lang.errors.noPhotos);}
pbx_flickr.common.events.riseEvent(this.photosLoadedEvent,this);this.update();}else{if(resp.exception.code==98){this.authFailed(resp.exception);}else{resp.exception.show();}}
pbx_flickr.common.debug.fnsEnd(fid);},buildAlbumsSelect:function(){this.albumSelect=document.getElementById('albumSelect');if(this.albumSelect){this.albumSelect.title=pbx_flickr.widget.lang.selectAlbumHint;var option=new Option(pbx_flickr.widget.lang.selectAlbumEmptyOption,0);this.albumSelect.options[0]=option;pbx_flickr.common.$attachEvent(this.albumSelect,"onchange",pbx_flickr.common.delegate(this,this.albumSelectChangedHandler));}},albumsLoadedHandler:function(){if(!pbx_flickr.common.isDefined(pbx_flickr.babel.babelFacade.albums)){if(pbx_flickr.common.debug.DEBUG){pbx_flickr.common.errors.errorObj.showAppend('pbx_flickr.babel.babelFacade.albums is null or not an array');}
return;}
if(this.albumSelect){for(i=0;i<pbx_flickr.babel.babelFacade.albums.length;i++){var album=pbx_flickr.babel.babelFacade.albums[i];var album_name=album.name;if(album_name.length>45)
{album_name=album_name.substr(0,45)+'...';}
option=new Option(album_name+' ('+album.photo_count+')',album.id);this.albumSelect.options[this.albumSelect.length]=option;option.title=escape(album.description);option.album=album;}}},albumSelectChangedHandler:function(){pbx_flickr.common.errors.errorObj.clear();},newAlbumInputKeypressHandler:function(){pbx_flickr.common.errors.errorObj.clear();},buildPhotosetsSelect:function(){var obj;this.photosetSelect=document.createElement('select');this.photosetSelect.className="fwSelect fwText1 fwPhotosetsSelect";obj=document.getElementById('photosetSelectHolder');if(obj!=null){obj.innerHTML='';obj.appendChild(this.photosetSelect);}
this.photosetSelect.title=pbx_flickr.widget.lang.selectPhotosetHint;for(i=0;i<this.photosets.length;i++){option=new Option(this.photosets[i].name,this.photosets[i].id);this.photosetSelect.options[this.photosetSelect.length]=option;option.title=escape(this.photosets[i].description);option.photoset=this.photosets[i];}
pbx_flickr.common.$attachEvent(this.photosetSelect,"onchange",pbx_flickr.common.delegate(this,this.photosetSelectChangedHandler));this.photosetSelect.selectedIndex=this.lastPhotosetSelectedIndex;},ckeckForAuthenticity:function(){var vAuthenticityMethod=new pbx_flickr.babel.babelCall('Community.Session.FetchCurrent',pbx_flickr.common.delegate(this,this.checkForAuthenticityResponseHandler),pbx_flickr.babel.babelFacade.sessionCode);var vResponse=vAuthenticityMethod.send();},checkForAuthenticityResponseHandler:function(aResponse){if(aResponse.exception==null){if(aResponse.value.logged_in=="0"){pbx_flickr.babel.babelFacade.userLoggedIn=false;}else if(aResponse.value.logged_in=="1"){pbx_flickr.babel.babelFacade.userLoggedIn=true;}}else{}},fetchMemberId:function(){var vClipboardMethod=new pbx_flickr.babel.babelCall('Community.Member.Fetch',pbx_flickr.common.delegate(this,this.fetchMemberIdResponseHandler));var vResponse=vClipboardMethod.send('<p><p key=sessionid>'+pbx_flickr.babel.babelFacade.sessionId+'</p></p>');},fetchMemberIdResponseHandler:function(aResponse){if(aResponse.exception==null){}else{}},loadClipboardAlbum:function(){var vClipboardMethod=new pbx_flickr.babel.babelCall('Community.Member.GetClipboard',pbx_flickr.common.delegate(this,this.getClipboardResponseHandler),pbx_flickr.babel.babelFacade.liveInstance);var vResponse=vClipboardMethod.send();},getClipboardResponseHandler:function(aResponse){if(aResponse.exception==null){pbx_flickr.babel.babelFacade.clipboardPresent=true;}else{}},buildMainWidgetHTML:function(){var vLoggedIn=window.document.getElementById('loggedIn');var vTabs=window.document.getElementById('tabs');var vBrowser=window.navigator.appName;var vBrowserVersion=window.navigator.appVersion;if(vBrowser=='Netscape'){vLoggedIn.style.paddingBottom=65+'px';vTabs.style.paddingTop=10+'px';}
var fid=pbx_flickr.common.debug.fnsStart("widget.buildMainWidgetHTML");var i;var option;var obj;this.buildPhotosetsSelect();this.albumAddNewInput=document.getElementById('newAlbumInput');pbx_flickr.common.$attachEvent(this.albumAddNewInput,"onkeypress",pbx_flickr.common.delegate(this,this.newAlbumInputKeypressHandler));if(!pbx_flickr.babel.babelFacade.get_userLoggedIn()){var vH1=window.document.getElementById('widgetStep1');vH1.style.display='none';vLoggedIn.style.display='none';var vStep2=window.document.getElementById('widgetStep2');vOldElement=vStep2.innerHTML;vNewElement=window.document.createElement('label');vNewElement.innerHTML='1'+pbx_flickr.widget.lang.widgetStep2.substr(1).replace();vStep2.innerHTML='';vStep2.appendChild(vNewElement);}
this.allPhotosHolder=document.getElementById('allPhotosHolder');this.selectedPhotosHolder=document.getElementById('selectedPhotosHolder');pbx_flickr.common.$attachEvent(document.getElementById('importBtn1'),'onclick',pbx_flickr.common.delegate(this,this.importClickHandler));pbx_flickr.common.$attachEvent(document.getElementById('importBtn2'),'onclick',pbx_flickr.common.delegate(this,this.importClickHandler));this.addRandomButton=document.getElementById('addRandom10Button');if(this.addRandomButton!=null){this.addRandomButton.onclick=pbx_flickr.common.delegate(this,this.addRandomClickHandler);}
this.addAllButton=document.getElementById('addAllButton');if(this.addAllButton!=null){this.addAllButton.onclick=pbx_flickr.common.delegate(this,this.addAllClickHandler);}
this.clearAllButton=document.getElementById('clearAllButton');if(this.clearAllButton!=null){this.clearAllButton.onclick=pbx_flickr.common.delegate(this,this.clearAllClickHandler);}
this.update();pbx_flickr.common.debug.fnsEnd(fid);},init:function(babelSessionCode){var fid=pbx_flickr.common.debug.fnsStart("widget.init");pbx_flickr.widget.config.babelSessionCode=babelSessionCode;pbx_flickr.babel.babelFacade.init(pbx_flickr.widget.config.babelSessionCode);for(var prop in pbx_flickr.widget.lang){if(typeof pbx_flickr.widget.lang[prop]=="string"){var obj=document.getElementById(prop);if(obj!=null){var textNodes=pbx_flickr.widget.lang[prop].split("<br />");for(var i=0;i<textNodes.length;i++){var vElement=document.createElement("span");vElement.innerHTML=textNodes[i];obj.appendChild(vElement);}}}}
var vElement01=document.createElement("label");vElement01.innerHTML=pbx_flickr.widget.lang.importButton;document.getElementById('tranferBtnText1').appendChild(vElement01);var vElement02=document.createElement("label");vElement02.innerHTML=pbx_flickr.widget.lang.importButton;document.getElementById('tranferBtnText2').appendChild(vElement02);this.buildMainWidgetHTML();this.flickrAuthResult=pbx_flickr.flickr.auth.checkAuth();if(pbx_flickr.flickr.auth.getUserIsPro()){var vPowerUser=window.document.getElementById('powerUserInfo');vPowerUser.firstChild.nodeValue='';vPowerUser.style.height=0;vPowerUser.style.visibility='hidden';}
if(!this.flickrAuthResult){pbx_flickr.flickr.auth.redirectToFlickr();pbx_flickr.common.debug.fnsEnd(fid);return;}
this.importFinishedEvent.push(pbx_flickr.common.delegate(this,this.importFinishedEventHandler));this.buildAlbumsSelect();if(pbx_flickr.babel.babelFacade.get_userLoggedIn()){pbx_flickr.babel.babelFacade.albumsLoadedEvent.push(pbx_flickr.common.delegate(this,this.albumsLoadedHandler));pbx_flickr.babel.babelFacade.loadAlbums();}
this.loadPhotosets();pbx_flickr.common.debug.fnsEnd(fid);},authFailed:function(ex){var fid=pbx_flickr.common.debug.fnsStart("widget.authFailed");ex.show();pbx_flickr.flickr.auth.token=null;pbx_flickr.flickr.auth.clearCookie();this.flickrAuthResult=pbx_flickr.flickr.auth.checkAuth();if(!this.flickrAuthResult){pbx_flickr.flickr.auth.redirectToFlickr();}
pbx_flickr.common.debug.fnsEnd(fid);},tryAuthClickHandler:function(){var fid=pbx_flickr.common.debug.fnsStart("widget.tryAuthClickHandler");pbx_flickr.flickr.auth.openFlickrAuthWindow();pbx_flickr.common.debug.fnsEnd(fid);}};pbx_flickr.common.ui.tabsSupport=function(tabHandlerInstance){this.tabHandlerInstance=tabHandlerInstance;this.toggleWidgetTabView=function(e){e=pbx_flickr.common.events.fixEvent(e);var clickedTab=pbx_flickr.common.findContainer(e.target,"tabNumber");if(clickedTab.disabled==true)return;for(var i=0;i<this.tabs.length;i++){pbx_flickr.common.RemoveCssClass(this.tabs[i],"selected");}
pbx_flickr.common.AppendCssClass(clickedTab,"selected");this.tabHandlerInstance['tab'+clickedTab.tabNumber]();};this.tabs=[];var i;for(i=1;i<arguments.length;i++){this.tabs[i-1]=document.getElementById(arguments[i]);this.tabs[i-1].tabNumber=i;this.tabs[i-1].targetElement=null;}
for(i=0;i<this.tabs.length;i++){pbx_flickr.common.$attachEvent(this.tabs[i],'onclick',pbx_flickr.common.delegate(this,this.toggleWidgetTabView));}
if(document.createEvent){var evObj=document.createEvent('MouseEvents');evObj.initEvent('click',true,false);this.tabs[0].dispatchEvent(evObj);}else if(document.createEventObject){this.tabs[0].fireEvent('onclick');}};pbx_flickr.common.ui.scrollAnim=function(scrollSupport,length,duration,direction){this.length=length;this.scrollSupport=scrollSupport;this.duration=typeof duration=='undefined'?2000:duration;this.stepDuration=50;this.numOfSteps=Math.round(this.duration/this.stepDuration);this.direction=typeof direction=='undefined'?true:direction;var step=Math.PI/this.numOfSteps;this.steps=[];var i=0;var sum=0;while(i<Math.PI){var tempVal=Math.abs(Math.round((Math.sin(i)+0)*10000));sum+=tempVal;this.steps.push(tempVal);i+=step;}
var coef=sum/this.length;var sumNew=0;for(i=0;i<this.steps.length;i++){this.steps[i]=Math.round(this.steps[i]/coef);sumNew+=this.steps[i];}
this.setTimeout=function(){this.timeout=window.setTimeout(pbx_flickr.common.delegate(this,this.progress),this.stepDuration);};this.clearTimeout=function(){clearTimeout(this.timeout);};this.initialPosition=this.scrollSupport.get_Pos();this.currentI=0;this.progress=function(){var newPosition=this.scrollSupport.get_Pos()+(this.steps[this.currentI]*(this.direction?-1:1));var isLastStep=false;if(this.direction){if(newPosition>=(this.initialPosition+this.length)){isLastStep=true;}}else{if(newPosition<=(this.initialPosition-this.length)){isLastStep=true;}}
if(isLastStep||this.steps[this.currentI]==undefined){newPosition=this.initialPosition+(this.length*(this.direction?-1:1));isLastStep=true;}
this.currentI++;if(this.direction){if((Math.abs(newPosition)+this.scrollSupport.get_ClientWidth())>this.scrollSupport.initialScrollWidth){newPosition=-(this.scrollSupport.initialScrollWidth-this.scrollSupport.get_ClientWidth());isLastStep=true;}}else{if(newPosition>0){newPosition=0;isLastStep=true;}}
this.scrollSupport.set_Pos(newPosition);if(!isLastStep){this.setTimeout();}else{this.clearTimeout();}};this.progress();};pbx_flickr.common.ui.scrollSupport=function(back,forward,target,step){this.hardCodeWidth=800;this.get_ScrollWidth=function(){return this._target.parentNode.scrollWidth;};this.get_ClientWidth=function(){if(this._target.parentNode.clientWidth==0){return this.hardCodeWidth;}
return this._target.parentNode.clientWidth;};this.get_Pos=function(){var left=parseInt(this._target.style.left);if(isNaN(left))left=0;return left;};this.set_Pos=function(left){this._target.style.left=left+'px';};this._scrollClickHandler=function(e){e=pbx_flickr.common.events.fixEvent(e);var btn=e.target;if(e.target.nodeName!=undefined&&e.target.nodeName=='#text'){btn=e.target.parentNode;}
if(this.initialScrollWidth<=this.get_ClientWidth()){this.update();}
new pbx_flickr.common.ui.scrollAnim(btn.scrollSupport,this._step,1000,btn.direction);};this.update=function(){this.initialScrollWidth=this.get_ScrollWidth();this.set_Pos(0);};this._back=back;this._back.direction=false;this._forward=forward;this._forward.direction=true;this._target=target;if(step==undefined){step=this.get_ClientWidth();}
this._step=step;this.update();this._back.scrollSupport=this;this._forward.scrollSupport=this;pbx_flickr.common.$attachEvent(this._back,'onclick',pbx_flickr.common.delegate(this,this._scrollClickHandler));pbx_flickr.common.$attachEvent(this._forward,'onclick',pbx_flickr.common.delegate(this,this._scrollClickHandler));};pbx_flickr.common.ui.tabsHandler={tabObjects:[document.getElementById('tab1'),document.getElementById('tab2')],update:function(sender){if(sender.photosets.length==0){this.tabObjects[1].disabled=true;this.tabObjects[1].title=pbx_flickr.widget.lang.errors.noSetsAvailable;}else{this.tabObjects[1].disabled=false;this.tabObjects[1].title='';}},tab1:function(){document.getElementById('photosetSelectHolder').style.visibility='hidden';pbx_flickr.widget.scroll.set_Pos(0);pbx_flickr.widget.main.loadPhotos(null);pbx_flickr.common.AppendCssClass(this.tabObjects[0],"selected");},tab2:function(){document.getElementById('photosetSelectHolder').style.visibility='visible';pbx_flickr.widget.scroll.set_Pos(0);if(pbx_flickr.widget.main.photosetSelect.selectedIndex!=pbx_flickr.widget.main.lastPhotosetSelectedIndex){pbx_flickr.widget.main.photosetSelect.selectedIndex=pbx_flickr.widget.main.lastPhotosetSelectedIndex;}else{pbx_flickr.widget.main.photosetSelectChangedHandler();}}};pbx_flickr.widget.init=function(){pbx_flickr.common.makeCompatibleWithIE7();pbx_flickr.common.errors.errorObj.init('widgetErrorHolder');pbx_flickr.widget.main.init(document.getElementById('babelSessionCode').value);pbx_flickr.widget.progressObj=new pbx_flickr.common.ui.progress('progressHolder');pbx_flickr.widget.scroll=new pbx_flickr.common.ui.scrollSupport(document.getElementById('scrollLeft'),document.getElementById('scrollRight'),document.getElementById('allPhotosHolder'));pbx_flickr.widget.tabs=new pbx_flickr.common.ui.tabsSupport(pbx_flickr.common.ui.tabsHandler,'tab1','tab2');pbx_flickr.widget.main.photosLoadedEvent.push(pbx_flickr.common.delegate(pbx_flickr.widget.scroll,pbx_flickr.widget.scroll.update));pbx_flickr.widget.main.photosetsLoadedEvent.push(pbx_flickr.common.delegate(pbx_flickr.common.ui.tabsHandler,pbx_flickr.common.ui.tabsHandler.update));};if(pbx_flickr.flickr.auth.checkAuth())
{$('.pbx_flickr_body').css('display','block');$('#pbx_upload_flickr_loader').css('display','none');if(pbx_flickr.common.isDefined(document.getElementById("photosList"))){pbx_flickr.widget.init();}}
else
{$('.pbx_flickr_body').css('display','none');$('#pbx_upload_flickr_loader').css('display','block');$('#pbx_upload_flickr_load').bind('click',function(){pbx_flickr.widget.init()});}});