/* Copyright (c) 2009 Spil Games; Includes also: jQuery by John Resig (jquery.com) and several jQuery plugins. */;SPI.lastPlayedGames=(function(){var config={settings:{game_url:'/gamedata/%s.json',timeout:7000,li_id:'lastplayedgame'}};SPI.getAndUpdateConfig('lastPlayedGames',config);var cookieApi=new SPI.gamesCookieProxy({cookieName:config.settings.cookieName,maxGames:config.settings.maxGames});var that={};var clearGames=function(){cookieApi.resetGames();that.renderAtMyProfilePage();};var loadGame=function(gameId,ndx,template){SPI.gameCache.getGame(gameId,function(obj){if(obj!=null){var a=$(SPI.render(template,obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.lastplayedgame+"_"+ndx).empty().append(a);};});};that.hasGames=function(){return cookieApi.loadGames().length>0;};that.renderAtHomePage=function(){var games=cookieApi.loadGames();if(games.length==0){$('#last_box .moreIn').hide();return;}
$('li.no-last-text').remove();for(var i=0;i<config.settings.homePageCount&&i<games.length;i++){$('#last_box ol').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.home);}};that.renderMyLastPlayedGames=function(){var games=cookieApi.loadGames();if(games.length==0){$('#mylast_box_profile_page').empty();for(i=1;i<=10;i++){$('#mylast_box_profile_page').append('<li class="no-recently-empty"></li>');};return;}
$('li.no-last-text').remove();for(var i=0;i<config.settings.favesPageCount&&i<games.length;i++){$('ol#mylast_box').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.faves);}
$('a.clear-last-text').click(function(){clearGames();$('ol#mylast_box').empty().html('<li class="no-last-text">'+config.langStrings.noLastGames+'</li>');$('a.clear-last-text').remove();});};that.renderAtMyProfilePage=function(){var games=cookieApi.loadGames();if(games.length==0){$('#mylast_box_profile_page').empty();for(i=1;i<=5;i++){$('#mylast_box_profile_page').append('<li class="no-recently-empty"></li>');};$('a.myprofileRemoveRecently').add('div.myprofileRemoveRecentlyHolder').remove();return;}
$('li.no-last-text').remove();for(var i=0;i<5&&i<games.length;i++){$('ol#mylast_box_profile_page').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.myprofile);}
$('a.myprofileRemoveRecently').click(function(){clearGames();$('a.myprofileRemoveRecently').add('div.myprofileRemoveRecentlyHolder').remove();});};that.addGameAfterTimeframe=function(gameId,miliseconds){return setTimeout(function(){cookieApi.addGame(gameId);},miliseconds);};return that;})();;SPI.myGames=(function(){var config={settings:{game_url:'/gamedata/%s.json',timeout:7000,li_id:'mygame',splitter:'.',maxGames:100}};var localData={games:null,targetUser:null,currentRender:null,currentPage:null};var that={};var loadGames=function(data){try{if(data==null||data==''){data=[];}else{data=data.split(config.settings.splitter);for(var i=0;i<data.length;++i){data[i]=parseInt(data[i]);}}}catch(e){data=[];}
return data;};SPI.getAndUpdateConfig('myGames',config);var cookieApi=new SPI.gamesCookieProxy({cookieName:config.settings.cookieName});that.init=function(callback,params,targetuser){if(localData.targetuser||localData.games){callback.call(this,params);return;};localData.targetuser=targetuser;if(localData.targetuser==null){if($.profilar.loggedIn()){$.profilar.loadPref(function(){localData.games=loadGames($.profilar.getPref('mygames'));callback.call(this,params);},['mygames']);}else{callback.call(this,params);}}else{$.profilar.loadExternalPrefs([localData.targetuser],function(data,errors){targetUsertmpgames=data[0].mygames||'';localData.games=loadGames(targetUsertmpgames);callback.call(this,params);},['mygames']);};return;};var loadGame=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){if(currentpage!=-1){var html=SPI.render(config.templates.faves_error,{gameId:gameId});}else{var html=config.langStrings.notAvailable;}
$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((currentpage==-1?config.templates.home:config.templates.faves),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};var loadGameMyProfile=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){var html=$(SPI.render((config.templates.myprofile_error),{game_Id:gameId,error:config.langStrings.notAvailable}));$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((config.templates.myprofile),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};var loadGameUserProfile=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){var html=$(SPI.render((config.templates.userprofile_error),{game_Id:gameId,error:config.langStrings.notAvailable}));$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((config.templates.userprofile),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};that.hasGames=function(){return cookieApi.loadGames().length>0;};that.renderMyGames=function(page){if(games.length==0){return;}
$("ol#favorite-list").empty();var sitesQuantity=Math.ceil(games.length/config.settings.itemsPerPage);for(var i=(page*config.settings.itemsPerPage)-config.settings.itemsPerPage;i<(page*config.settings.itemsPerPage)&&i<games.length;i++){$('ol#favorite-list').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,page);}
var paging=SPI.paginatorString(games.length,page,config.settings.itemsPerPage,config.settings.maxPages,that.renderMyGames,config.langStrings);$("#paging_center").empty();if(paging!=''){$("#paging_center").append(paging);}
return false;};that.convertGames=function(){var savedgames=$.cookie(config.settings.cookieName)||'';if(savedgames!=''){$.profilar.setPref('mygames',savedgames);$.profilar.submitPref(function(errors){if(errors){}else{$.cookie(config.settings.cookieName,null);}});};};that.renderAtHomePage=function(){if($.profilar.loggedIn()){localData.currentRender='renderAtHomePage';localData.currentPage=0;var games=localData.games;if(games.length==0){$('#favorite_box .moreIn').hide();return;};if(games.length<7){$('#favorite_box .moreIn').css('display','none');};$('.no-faves-text').remove();for(var i=0;i<config.settings.itemsAtHomePage&&i<games.length;i++){$('#favorite_box ol').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,-1);};}else{$('.no-faves-text').text(config.langStrings.not_logged_in).show();};};that.renderAtMyprofilePage=function(){localData.currentRender='renderAtMyprofilePage';localData.currentPage=0;var games=localData.games;if(games.length==0){$('#favorite-list-myprofile').empty();for(i=1;i<=5;i++){$('#favorite-list-myprofile').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};$('#favorite-list-myprofile').empty();$('.no-faves-text').remove();for(var i=0;i<5&&i<games.length;i++){$('#favorite-list-myprofile').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameMyProfile(games[i],i,-1);};if(games.length>5){$('.myfavesmorelink').show();}else{$('.myfavesmorelink').hide();};};that.renderAtUserprofilePage=function(){localData.currentRender='renderAtUserprofilePage';localData.currentPage=0;$('.myfavesmorelink').hide();var games=localData.games;if(games.length==0){$('#usersfaves').empty();for(i=1;i<=5;i++){$('#usersfaves').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};$('#usersfaves').empty();$('.no-faves-text').remove();for(var i=0;i<5&&i<games.length;i++){$('#usersfaves').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameUserProfile(games[i],i,-1);};};that.renderAtMyfavesPage=function(page){localData.currentRender='renderAtMyfavesPage';localData.currentPage=page||1;var games=localData.games;if(games.length==0){$('#favorite-list-myprofile').empty();for(i=1;i<=5;i++){$('#favorite-list-myprofile').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};pageGames=games.slice((parseInt(page)-1)*15,(parseInt(page)-1)*15+15);while(pageGames.length==0||page<=0){page--;pageGames=games.slice((parseInt(page)-1)*15,(parseInt(page)-1)*15+15);};localData.currentPage=page;$('#favorite-list-myprofile').empty();$('.no-faves-text').remove();for(var i=0;i<pageGames.length;i++){$('#favorite-list-myprofile').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameMyProfile(pageGames[i],i,-1);};var paging=SPI.paginatorString(games.length,page,15,config.settings.maxPages,that.renderAtMyfavesPage,config.langStrings);$("#paging_center").empty();if(paging!=''){$("#paging_center").append(paging);};};that.addToMyGames=function(title,gameid){var mygames=localData.games;if($.inArray(gameid,mygames)!=-1){alert(SPI.sprintf(config.langStrings.alreadyInMyGames,title));return;}else{mygames.unshift(gameid);if(mygames.length>config.settings.maxGames){mygames=mygames.slice(0,config.settings.maxGames);}
localData.games=mygames;mygames=mygames.join(config.settings.splitter);$.profilar.setPref('mygames',mygames);$.profilar.submitPref(function(errors){if(errors){alert(config.langStrings.error_html);return;}});alert(SPI.sprintf(config.langStrings.addedToMyGames,title));};};that.removeFromMyGames=function(gameid,gamename){if(localData.targetuser==null){var mygames=localData.games;if($.inArray(gameid,mygames)==-1){return;}else{mygames.splice($.inArray(gameid,mygames),1);localData.games=mygames;mygames=mygames.join(config.settings.splitter);$.profilar.setPref('mygames',mygames);$.profilar.submitPref(function(errors){if(errors){alert(config.langStrings.error_html);return;}});if(gamename){alert(SPI.sprintf(config.langStrings.removedFromMyGamesWithName,gamename));}else{alert(config.langStrings.removedFromMyGames);}
that[localData.currentRender].call(this,localData.currentPage);};};};return that;})();;SPI.comments=(function($,SPI){var config={settings:{list_url:'/cm/pr/1/list/%s/1/%s',report_url:'/cm/pr/1/report/%s/1/%s/%s',reportar_url:'/rp/pb/1/add/4/%s/11/%s',send_url:'/cm/pr/1/add/%s/1/%s',timeout:7000,noimage:'/img/profile/dummy_small.jpg',li_id:'cmid_'}};var totalComments=-1;var allEnabled=false;var that={};var commentCache=[],plusTotal=0;var wrapManually=(function(){var userAgent=navigator.userAgent.toLowerCase();var version=(userAgent.match(/.+(?:firefox)[\/: ]([\d.]+)/)||[0,'0'])[1];if(/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)&&(version.substr(0,3)=='3.0'||version.substr(0,1)=='2')){return true;}
return false;})();that.fixWrap=function(text,newSeparator,wrap_limit){if(!wrapManually)return text;newSeparator=newSeparator||'\n';wrap_limit=wrap_limit===undefined?config.settings.wrap_words_limit:wrap_limit;var newText=text.split(/[\s]+/);var i,s;for(i=0;i<newText.length;++i){s='';while(newText[i].length>wrap_limit){s+=newText[i].substr(0,wrap_limit)+newSeparator;newText[i]=newText[i].substr(wrap_limit);}
newText[i]=s+newText[i];}
return newText.join(' ');};var updateTotalComments=function(){if(!allEnabled){$(config.settings.comments_more).text(SPI.sprintf(config.langStrings.read_all_folded,totalComments));}}
var reportHandler=function(obj){$.ajax({url:obj.data('report_url'),data:{username:''},global:false,timeout:config.settings.timeout,type:'POST',success:function(data){alert(config.langStrings.report_popup);}});};var reportarHandler=function(){var postData=$.profilar.forService();postData.reporteduser=$(this).data('reportar_data').reporteduser;postData.reporttype='comment';postData.reportweight=config.settings.report_weight;var obj=$(this);reportHandler(obj);return;$.ajax({url:obj.data('reportar_url'),data:postData,global:false,timeout:config.settings.timeout,type:'POST',success:function(data){reportHandler(obj);},error:function(data){reportHandler(obj);}});};var renderRow=function(row){row.date=SPI.formatDate(parseInt(row.timestamp));var ed=$(SPI.render(config.templates.li,row));ed.find(config.settings.comments_report).data('report_url',SPI.sprintf(config.settings.report_url,row.siteid,row.itemid,row.commentid)).data('reportar_url',SPI.sprintf(config.settings.reportar_url,row.siteid,row.commentid)).data('reportar_data',{reporteduser:row.username}).click(reportarHandler);return ed;};var errorHandler=function(data){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.error_loading+'</li>');};var loadHandler=function(data){if(data['commentar']==undefined||data.commentar['total']==undefined){errorHandler(data);return;}
if(data.commentar.total=='0'){data.commentar.resultset=[];}
var finalComments=[];plusTotal=0;if(commentCache.length>0){if(data.commentar.resultset.length>0){var timestampUser=0,timestampServer=0,timeDelta=0,j=0;for(var i=0;i<commentCache.length;++i){timestampServer=parseInt(commentCache[i].timestamp);while(data.commentar.resultset.length>j&&parseInt(data.commentar.resultset[j].timestamp)>timestampServer){finalComments.push(data.commentar.resultset[j]);j+=1;}
if(data.commentar.resultset.length>j){if(data.commentar.resultset[j].username.toLowerCase()==commentCache[i].username.toLowerCase()&&Math.abs(parseInt(data.commentar.resultset[j].timestamp)-timestampServer)<5){finalComments.push(data.commentar.resultset[j]);j+=1;}else{finalComments.push(commentCache[i]);plusTotal+=1;}}}
for(var i=j;i<data.commentar.resultset.length;i++){finalComments.push(data.commentar.resultset[i]);}
totalComments=parseInt(data.commentar.total)+plusTotal;}else{finalComments=commentCache;totalComments=commentCache.length;}}else{finalComments=data.commentar.resultset;totalComments=parseInt(data.commentar.total);}
updateTotalComments();if(totalComments==0){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.no_comments+'</li>');return;}
var users=[];for(var i in finalComments){finalComments[i].avatar_url=config.settings.noimage;if(finalComments[i].authenticated=='1'){users.push(finalComments[i].username);}}
$.profilar.loadExternalPrefs(users,function(pdata,errors){for(var j in finalComments){for(var k in pdata){if(pdata[k].username&&pdata[k].username.toLowerCase()==finalComments[j].username.toLowerCase()&&pdata[k].avatar){finalComments[j].avatar_url=SPI.sprintf(SPI._settings.global.avatar_url_small,pdata[k].avatar)||config.settings.noimage;}}}
if(totalComments>config.settings.max_folded){$(config.settings.comments_more).show();}else{$(config.settings.comments_more).hide();}
var comments_box=$(config.settings.comments_box);comments_box.empty();var i,ed,row;for(i=0;i<finalComments.length;++i){comments_box.append(renderRow(finalComments[i]));}},['avatar']);};var loadComments=function(){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.loading_start+'</li>');$.ajax({cache:true,url:SPI.sprintf(config.settings.list_url,SPI._settings.global.site_id,config.settings.game_id),data:{authenticated:'1',pagesize:(allEnabled?config.settings.max_all:config.settings.max_folded),reported_limit:config.settings.reported_limit,outputtype:'json'},dataType:'json',global:false,timeout:config.settings.timeout,type:'GET',error:errorHandler,success:loadHandler});$(config.settings.comments_more).hide();totalComments=-1;};var checkErrors=function(){var ok=true;var comment=$('#cf_comment').val();var username=$('#cf_username').val();$(config.settings.comments_form).find('span.error').remove();$(config.settings.comments_form).find('p.error').removeClass('error');if(SPI.trim(comment).length==0||comment.length>config.settings.max_chars){ok=false;$('#cf_comment').after('<span class="error">'+config.langStrings.error_comment+'</span>').parent().addClass('error');}
return ok;};var submitErrorHandler=function(data){$(config.settings.comments_form).find('span.error').remove();$(config.settings.comments_form).find('p.error').removeClass('error');var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode=='503'){$('#cf_comment').after('<span class="error">'+config.langStrings.error_over_quota+'</span>');}else{$('#cf_comment').after('<span class="error">'+config.langStrings.error_submit+'</span>');}};var charsLeftHandler=function(){var text=$('#cf_comment').val();if(text.length>config.settings.max_chars){$('#cf_comment').val(text.substring(0,config.settings.max_chars));return false;}
$('#cf_chars_left').text(config.settings.max_chars-text.length);};var handleNewCommentCache=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){return;}
commentCache.unshift({timestamp:data.hyscor.time,comment:this.comment,authenticated:1,commentid:-1,itemid:config.settings.game_id,username:$.profilar.forService().username,siteid:SPI._settings.global.site_id,reported:"0",reviewed:0,remote_addr:'0.xxx.xxx.xxx'});loadComments();};var submitHandler=function(){if(checkErrors()){$.ajax({cache:false,url:SPI.sprintf(config.settings.send_url,SPI._settings.global.site_id,config.settings.game_id),data:$(config.settings.comments_form).serialize(),dataType:'xml',global:false,timeout:config.settings.timeout,type:'POST',error:submitErrorHandler,success:function(data){var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode!='0'){submitErrorHandler();return;}
var tmp=$('#cf_comment').val();$('#cf_comment').val('').change();$.ajax({cache:false,timeout:2000,url:config.settings.timeurl,type:'GET',dataType:'json',success:handleNewCommentCache,error:function(xml,mesg,error){handleNewCommentCache.call(this,{"hyscor":[]},'');},data:{outputtype:'json'},comment:tmp});}});}
return false;};var allHandler=function(){if(allEnabled){allEnabled=false;$(this).text(SPI.sprintf(config.langStrings.read_all_folded,totalComments));$(config.settings.comments_box).find('li:gt('+(config.settings.max_folded-1)+')').hide();}else{allEnabled=true;$(this).text(config.langStrings.read_all_unfolded);if($(config.settings.comments_box).find('li').length>config.settings.max_folded+plusTotal){$(config.settings.comments_box).find('li:gt('+(config.settings.max_folded-1)+')').show();}else{loadComments();}}};var commentAddHandler=function(){$("#loginform").show();$("#comment_add").hide();};var renderRowInProfile=function(row,game,i){row.date=SPI.formatDate(parseInt(row.timestamp),SPI._langStrings.relative_date_plain);row.gameurl=game.url;row.gamename=game.title;row.i=i+1;var ed=$(SPI.render(config.templates.li_profile,row));return ed;};var errorInProfileHandler=function(data){$(config.settings.comments_box_profile).empty().append('<li class="comments_info">'+config.langStrings.error_loading+'</li>');};var loadInProfileHandler=function(data){if(data['commentar']==undefined||data.commentar['total']==undefined){errorInProfileHandler(data);return;}
var comments_box=$(config.settings.comments_box_profile);comments_box.empty();if(parseInt(data.commentar.total)==0){if(this.targetUser==undefined){var no_comments_text=config.langStrings.myprofile_no_comments;}else{var no_comments_text=config.langStrings.publicprofile_no_comments;}
comments_box.append('<li><p class="comment_meta"><span class="comment_game">'+no_comments_text+'</span></p><p class="comment_text">&nbsp;</p></li>');return;}
var i,ed,row;for(i=0;i<data.commentar.resultset.length;++i){comments_box.append('<li id="'+config.settings.li_id+i+'" class="indicator'+(i==4?' last':'')+'">&nbsp;</li>');SPI.gameCache.getGame(data.commentar.resultset[i].itemid,function(_row,_i,_liid){return function(game){if(game){comments_box.find('#'+_liid).removeClass('indicator').empty().append(renderRowInProfile(_row,game,_i));}}}(data.commentar.resultset[i],i,config.settings.li_id+i));}};that.renderLatestsComments=function(targetUser){SPI.getAndUpdateConfig('comments',config);$(config.settings.comments_box_profile).empty().append('<li class="comments_info">'+config.langStrings.loading_start+'</li>');var getData={authenticated:'1',pagesize:config.settings.profile_limit,reported_limit:config.settings.reported_limit,outputtype:'json'};if(targetUser){getData.targetuser=targetUser;}else{getData.username=$.profilar.forService().username;getData.hash=$.profilar.forService().hash;}
$.ajax({cache:true,url:SPI.sprintf(config.settings.list_url,SPI._settings.global.site_id,0),data:getData,targetUser:targetUser,dataType:'json',global:false,timeout:config.settings.timeout,type:'GET',error:errorInProfileHandler,success:loadInProfileHandler});};that.init=function(settings){SPI.getAndUpdateConfig('comments',config,settings);$('#comment_add_href').click(commentAddHandler);$('#cf_submit').click(submitHandler);$('#cf_comment').change(charsLeftHandler).keyup(charsLeftHandler).change();$(config.settings.comments_more).click(allHandler);loadComments();};return that;})(jQuery,SPI);;var userprofiledebug=1;var __showError=function(errorsObj,pagetype,options){var options=$.extend(true,{errorElement:null,isAlert:false,callback:null,debug:true},options);var mesg='';var page=pagetype||null;if(page==null){alert('No pagetype provided!');return false;}
if(typeof errorsObj!='object'){mesg=errorsObj;}else{var codeObj=errorsObj[0];if(codeObj.code=='500'){mesg=SPI._langStrings.userprofile.errorcode_503+'';}else{if(!codeObj.element){codeObj.element='__empty';}
codeObj.operation=codeObj.operation.replace('.','_');var lstrings={'register':{'register':{'password':{'code_406':SPI._langStrings.userprofile.validation.password_notacceptable},'username':{'code_406':SPI._langStrings.userprofile.validation.username_notacceptable,'code_409':SPI._langStrings.userprofile.errorcode_409},'email':{'code_409':SPI._langStrings.userprofile.registration_email_exists}}},'unregister':{'authenticate':{'username':{'code_401':SPI._langStrings.userprofile.validation.username_wrong},'password':{'code_401':SPI._langStrings.userprofile.validation.password_wrong}},'deregister':{'username':{'code_401':SPI._langStrings.userprofile.validation.username_wrong},'password':{'code_401':SPI._langStrings.userprofile.validation.password_wrong}}},'reminder':{'followup':{'__empty':{'code_404':SPI._langStrings.userprofile.validation.resetpasslink_used,'code_503':SPI._langStrings.userprofile.errorcode_503}},'followup_modify':{'password':{'code_406':SPI._langStrings.userprofile.validation.password_notacceptable}}},'changepass':{'authenticate':{'password':{'code_401':SPI._langStrings.userprofile.validation.password_wrong,'code_406':SPI._langStrings.userprofile.validation.password_notacceptable}},'modify':{'password':{'code_406':SPI._langStrings.userprofile.validation.password_notacceptable}}},'forgotpass':{'trigger':{'email':{'code_404':SPI._langStrings.userprofile.validation.email_notexists}}},'profile':{'authenticate':{'password':{'code_401':SPI._langStrings.userprofile.validation.password_wrong,'code_406':SPI._langStrings.userprofile.validation.password_notacceptable}},'modify':{'email':{'code_409':SPI._langStrings.userprofile.validation.email_exists}}},'emailconfirm':{'followup':{'__empty':{'code_404':'Your email was already confirmed or used url is not valid.','code_503':SPI._langStrings.userprofile.errorcode_503}}}};try{mesg=eval('lstrings.'+page+'.'+codeObj.operation+'.'+codeObj.element+'.code_'+codeObj.code);}catch(e){if(options.debug){try{mesg='Undefined error: '+page+'/'+codeObj.operation+'/'+codeObj.element+'/'+codeObj.code;}catch(e){mesg='Undefined!';}}}}
if(typeof codeObj=='object'&&page=='changepass'&&codeObj.operation=='authenticate'&&codeObj.element=='password'){codeObj.element='old_password';}}
if(mesg!=''){if(options.isAlert===true){alert(''+mesg);}else{if(options.errorElement!=null&&options.errorElement.length){options.errorElement.empty().text(''+mesg).show();}else{if(codeObj&&codeObj.element&&$('#'+pagetype+' #f_'+codeObj.element+'_error').length>0){$('#'+pagetype+' #f_'+codeObj.element+'_error').empty().text('- '+mesg+'').show();}else{if($('#'+pagetype+' .validationErrors').length>0){$('#'+pagetype+' .validationErrors:first').addClass('error').text('- '+mesg).show();}}}}}
if(options.callback!=null&&typeof options.callback=='function'){options.callback.call(this);}};var showForm=function(formType){switch(formType){default:case'register':$("div#register").show();break;case'profile':$("div#profile-update").show();break;case'changepass':$("div#pass-change").show();break;}};var ageCheck=function(birthdate,min_age){var year=parseInt(birthdate.year);var month=parseInt(birthdate.month)-1;var day=parseInt(birthdate.day);var theirDate=new Date((year+min_age),month,day);var today=new Date;return((today.getTime()-theirDate.getTime())<0)?false:true;};var validateEmail=function(value){return/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);};var validateUsername=function(value){return/^[a-z0-9-_]+$/i.test(value);};jQuery.checkUserprofileField=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:null,fieldName:null,fieldId:null,fieldValue:null,username_minLength:3,password_minLength:6},settings);if(settings.formType==null||settings.fieldName==null||settings.fieldId==null||settings.fieldValue==null){if(settings.debug==true&&window.console){console.log('Error: formType, fieldName, fieldId or fieldValue is empty');}}else{var errMesg=new Array();var fieldName=settings.fieldName;var fieldId=settings.fieldId;var fieldValue=settings.fieldValue;switch(settings.formType){case'profile':switch(fieldName){case'password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_isempty+''});}break;case'givenname':if($.profilar.get('givenname').length>0&&fieldValue.length<1){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.firstname_isempty+''});}break;case'surname':if($.profilar.get('surname').length>0&&fieldValue.length<1){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.lastname_isempty+''});}break;case'email':if(!validateEmail(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.email_invalid+''});}break;case'dob_month':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectmonth+''});}break;case'dob_day':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectday+''});}break;case'dob_year':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectyear+''});}break;}
break;case'register':switch(fieldName){case'username':if(fieldValue.length<settings.username_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_minlength+''});}else{if(!validateUsername(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_badchar+''});}else{}}
break;case'password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_minlength+''});}
break;case'password_repeat':if(fieldValue!=$("#register input[name=password]").val()){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_mustmatch+''});}
break;case'email':if(!validateEmail(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.email_invalid+''});}break;case'dob_month':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectmonth+''});}break;case'dob_day':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectday+''});}break;case'dob_year':if(fieldValue=='-1'){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.dob_selectyear+''});}break;case'gender':if($("#register input[name=gender]:checked").length==0){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.gender_choose+''});}break;}
break;case'changepass':switch(fieldName){case'old_password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.old_password_minlength+''});}
break;case'password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_minlength+''});}
break;case'password_repeat':if(fieldValue==''){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.changepass_password_repeat_minlength+''});}else{if(fieldValue!=$("#password input[name=password]").val()){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.changepass_password_mustmatch+''});}}
break;}
break;case'forgotpass':switch(fieldName){case'username':if(fieldValue.length<settings.username_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_minlength+''});}else{if(!validateUsername(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_badchar+''});}else{}}
break;case'email':if(!validateEmail(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.email_invalid+''});}break;}
break;case'reminder':switch(fieldName){case'password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_minlength+''});}
break;case'password_repeat':if(fieldValue!=$("#reminder input[name=password]").val()){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_mustmatch+''});}
break;}
break;case'unregister':switch(fieldName){case'username':if(fieldValue.length<settings.username_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_minlength+''});}else{if(!validateUsername(fieldValue)){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.username_badchar+''});}else{}}
break;case'password':if(fieldValue.length<settings.password_minLength){errMesg.push({id:fieldId,mesg:SPI._langStrings.userprofile.validation.password_minlength+''});}
break;}
break;}
var retVal=errMesg.length>0?false:true;return[retVal,errMesg];}};jQuery.nValidateUserprofileRT=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register',classname:'validateMe'},settings);$("#f_dob_year").parent().append('<div id="f_dob_error" class="error" style="color: rgb(255, 0, 0);"></div>').show();$('#f_dob_year, #f_dob_month, #f_dob_day').blur(function(){var cyear=parseInt($("select[name=dob_year]").val());var cmonth=parseInt($("select[name=dob_month]").val());var cday=parseInt($("select[name=dob_day]").val());var mesg='';if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){mesg=SPI._langStrings.userprofile.validation.too_young+'';}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){mesg=SPI._langStrings.userprofile.validation.invalid_date+'';}}
if(mesg){$('div#f_dob_error').html('- '+mesg).show();$(this).addClass('validationError');}else{$(this).removeClass('validationError');$('div#f_dob_error').hide();}});$("."+settings.classname).each(function(){var self=$(this);var fieldName=$(self).attr('name');var fieldId=$(self).attr('id');$('#'+fieldId).parent().append('<div id="'+fieldId+'_error" class="error" style="color: rgb(255, 0, 0);"></div>').show();$(self).blur(function(){var fieldValue=$(self).val();var errMesg=new Array();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg=fieldTest[1];}
if(errMesg.length>0){$('div#'+fieldId+'_error').html('- '+errMesg[0].mesg).show();$(this).addClass('validationError');}else{$(this).removeClass('validationError')
$('div#'+fieldId+'_error').hide();}});});};jQuery.nValidateUserprofileOD=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register'},settings);var errMesg=new Array(),errString='';$(".validationError").removeClass('validationError');$('div[id$=_error]').empty().hide();$(".validateMe").each(function(){var fieldName=$(this).attr('name');var fieldId=$(this).attr('id');var fieldValue=$(this).val();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg.push(fieldTest[1]);}});if(settings.formType=='profile'||settings.formType=='register'){var cyear=parseInt($("select[name=dob_year]").val());var cmonth=parseInt($("select[name=dob_month]").val());var cday=parseInt($("select[name=dob_day]").val());if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){errMesg.push([{id:'f_dob_year',mesg:SPI._langStrings.userprofile.validation.too_young+''}]);}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){errMesg.push([{id:'f_dob_day',mesg:SPI._langStrings.userprofile.validation.invalid_date+''}]);}}}
if(errMesg.length>0){$(errMesg).each(function(i,val){$('div#'+val[0].id+'_error').html('- '+val[0].mesg).show();$('#'+val[0].id).addClass('validationError');});return false;}
return true;};jQuery.nValidateRegistrationRT=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register',classname:'validateMe'},settings);$('#f_dob_year, #f_dob_month, #f_dob_day').blur(function(){var cyear=parseInt($("select[name=dob_year]").val());var cmonth=parseInt($("select[name=dob_month]").val());var cday=parseInt($("select[name=dob_day]").val());var mesg='';$('div#f_dob_error div#f_dob_age_error_text, div#f_dob_error div#f_dob_date_error_text').remove();if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){mesg=SPI._langStrings.userprofile.validation.too_young+'';if($('#f_dob_age_error_text').length==0)$('div#f_dob_error').append('<div id="f_dob_age_error_text">'+mesg+'</div>');}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){mesg=SPI._langStrings.userprofile.validation.invalid_date+'';if($('#f_dob_date_error_text').length==0)$('div#f_dob_error').append('<div id="f_dob_date_error_text">'+mesg+'</div>');}}
if($('div#f_dob_error').children().length==0){$('div#f_dob_error').hide();}else{$('div#f_dob_error').show();}});$("."+settings.classname).each(function(){var self=$(this);var fieldName=$(self).attr('name');var fieldId=$(self).attr('id');$(self).blur(function(){var fieldValue=$(self).val();var errMesg=new Array();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg=fieldTest[1];}
if(errMesg.length>0){if(fieldId!="f_dob_month"&&fieldId!="f_dob_year"&&fieldId!="f_dob_day"){$('div#'+fieldId+'_error').html(errMesg[0].mesg).show();}else{if($('#'+fieldId+'_error_text').length==0)$('div#f_dob_error').append('<div id="'+fieldId+'_error_text">'+errMesg[0].mesg+'</div>').show();}
$(this).addClass('validationError');}else{$(this).removeClass('validationError');if(fieldId!="f_dob_month"&&fieldId!="f_dob_year"&&fieldId!="f_dob_day"){$('div#'+fieldId+'_error').hide();}else{$('div#f_dob_error div#'+fieldId+'_error_text').remove();}}
if($('div#f_dob_error').children().length==0){$('div#f_dob_error').hide();}else{$('div#f_dob_error').show();}});});};jQuery.nValidateRegistrationOD=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register'},settings);var errMesg=new Array(),errString='';var toReturn=true;$(".validationError").removeClass('validationError');$('div[id$=_error]:not(#f_dob_error)').empty().hide();$('div#f_dob_error').empty();$(".validateMe").each(function(){var fieldName=$(this).attr('name');var fieldId=$(this).attr('id');var fieldValue=$(this).val();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg.push(fieldTest[1]);}});var cyear=parseInt($("select[name=dob_year]").val());var cmonth=parseInt($("select[name=dob_month]").val());var cday=parseInt($("select[name=dob_day]").val());$('div#f_dob_error div#f_dob_age_error_text, div#f_dob_error div#f_dob_date_error_text').remove();if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){mesg=SPI._langStrings.userprofile.validation.too_young+'';$('div#f_dob_error').append('<div id="f_dob_age_error_text">'+mesg+'</div>');toReturn=false;}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){mesg=SPI._langStrings.userprofile.validation.invalid_date+'';$('div#f_dob_error').append('<div id="f_dob_date_error_text">'+mesg+'</div>');toReturn=false;}}
if(errMesg.length>0){$(errMesg).each(function(i,val){if(val[0].id!="f_dob_month"&&val[0].id!="f_dob_year"&&val[0].id!="f_dob_day"){$('div#'+val[0].id+'_error').html(val[0].mesg).show();$('#'+val[0].id).not('input[type="radio"]').addClass('validationError');}else{$('div#f_dob_error').append('<div id="'+val[0].id+'_error_text">'+val[0].mesg+'</div>');$('#'+val[0].id).addClass('validationError');}});if($('div#f_dob_error').children().length==0){$('div#f_dob_error').hide();}else{$('div#f_dob_error').show();}
toReturn=false;}
if($('div#f_dob_error').children().length==0){$('div#f_dob_error').hide();}else{$('div#f_dob_error').show();}
return toReturn;};var handleCanReportResponse=function(data,mesg){var canReport=false;try{if(data.gamatar.result.authenticated=='1'){canReport=true;}}catch(e){};this.after_call(canReport);};var canReportAvatar=function(username,avatarid,callback){if(username.length>0&&parseInt(avatarid)>0){$.ajax({global:false,cache:true,timeout:7000,url:SPI.sprintf(SPI._settings.avatars.avatar_url_get,avatarid),type:'GET',dataType:'json',success:handleCanReportResponse,error:function(xml,mesg,error){if(mesg=='timeout'){}else{handleCanReportResponse.call(this,{"gamatar":[]},'');}},after_call:callback,data:{outputtype:'json'}});}};loadExternalPrefs_callback=function(prefsdata,prefserrors){if(prefsdata.length==0)return;var uname=new Array();uname.push(SPI.getURLparam("username"));$('#username').click(function(){var postData=$.profilar.forService();postData.reporteduser=uname[0];postData.reporttype='username';postData.reportweight=SPI._settings.myprofile.username_report_weight;postData.itemname=uname[0];$.ajax({url:SPI.sprintf('/rp/pb/1/add/4/%s/12/0',SPI._settings.global.site_id),data:postData,global:false,timeout:5000,type:'POST',success:function(data){var errorcode=$("errorcode",data).text();if(errorcode==''){alert('Username reported!');}else{alert('Username report error!');}},error:function(data){alert('Username report error!');}});return false;});if(prefsdata[0].avatar!=''&&prefsdata[0].avatar!=undefined){$('.userAvatar').attr('src',SPI.sprintf(SPI._settings.global.avatar_url_big,prefsdata[0].avatar));canReportAvatar(prefsdata[0].username,prefsdata[0].avatar,function(canreport){if(canreport==true){$('div.reportAvatar:first').show();$('div.reportAvatar:first a').click(function(){var postData=$.profilar.forService();postData.reporteduser=uname[0];postData.reporttype='avatar';postData.reportweight=SPI._settings.avatars.report_weight;$.ajax({url:SPI.sprintf(SPI._settings.avatars.reportar_url,SPI._settings.global.site_id,prefsdata[0].avatar),data:postData,global:false,timeout:5000,type:'POST',success:function(data){var errorcode=$("errorcode",data).text();if(errorcode!=''){alert(SPI._langStrings.avatars.reportar_error);}else{alert(SPI._langStrings.avatars.reportar_ok);}},error:function(data){alert(SPI._langStrings.avatars.reportar_error);}});return false;});}});}else{$('.userAvatar').attr('src','/img/profile/dummy_big.jpg');};$('div.avatar img.userAvatar').load(function(){$('div.avatar img.userAvatar').css('visibility','visible');});if(prefsdata[0].privacy=="0"){$("div#userinfo div.profile").show();$.profilar.loadExternalProfiles(uname,function(data,errors){$('#username,span#up_leftbox_username').text(data[0].username);if(isNaN(data[0].age)){$('td#up_leftbox_age').text('Unknown');}else{$('td#up_leftbox_age').text(data[0].age);};if(data[0].gender=="m"){$('td#up_leftbox_gender').text(SPI._langStrings.userprofile.male);}else{$('td#up_leftbox_gender').text(SPI._langStrings.userprofile.female);};var lastlogin=data[0].lastlogin;$('td#up_last_login').text(SPI.formatAbsDate(lastlogin,false));},['username','gender','age','lastlogin']);SPI.achievements.init();SPI.achievements.getAchievementsCountForUser(function(data){try{tmp=data.hyscor.resultset.total||0;}catch(e){tmp=0;};$('#userinfo #awardsCount').html(tmp);},uname);}else{$("#userinfo div.awards").css("display","none");$("#leftbox_privacybox").show();$('#username').text(uname[0]);};SPI.highscore.init();SPI.highscore.getUserLevel(function(data){try{tmp=data.hyscor.level||0;}catch(e){tmp=0;};fillPoints(tmp,false,true,false);},uname);$("#userinfo").show();};jQuery.nValidateUserprofileOnDemand=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register',layer:''},settings);var errMesg=new Array(),errString='';$("div#"+settings.layer+" .validationError").removeClass('validationError');$("div#"+settings.layer+" .validateMe").each(function(){var fieldName=$(this).attr('name');var fieldId=$(this).attr('id');var fieldValue=$(this).val();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg.push(fieldTest[1]);}});if(settings.formType=='profile'||settings.formType=='register'){var cyear=parseInt($("select[name=dob_year]",$("div#"+settings.layer)).val());var cmonth=parseInt($("select[name=dob_month]",$("div#"+settings.layer)).val());var cday=parseInt($("select[name=dob_day]",$("div#"+settings.layer)).val());if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){errMesg.push([{id:'f_dob_year',mesg:SPI._langStrings.userprofile.validation.too_young+''}]);}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){errMesg.push([{id:'f_dob_day',mesg:SPI._langStrings.userprofile.validation.invalid_date+''}]);}}}
if(errMesg.length>0){var displayError='';$(errMesg).each(function(i,val){displayError+=''+val[0].mesg+'<br />';$('#'+val[0].id).addClass('validationError');});$('#'+settings.layer+' div.validationErrors').empty().html(displayError).show();return false;}
return true;};jQuery.nValidateUserprofileRealtime=function(settings){var settings=$.extend(true,{author:'nez',version:'1.0',debug:false,formType:'register',classname:'validateMe'},settings);var errors=[];errors[''+settings.layer]=[];$('#f_dob_year, #f_dob_month, #f_dob_day',$("#"+settings.layer)).blur(function(){var cyear=parseInt($("select[name=dob_year]",$("#"+settings.layer)).val());var cmonth=parseInt($("select[name=dob_month]",$("#"+settings.layer)).val());var cday=parseInt($("select[name=dob_day]",$("#"+settings.layer)).val());var id='dob';var mesg='';if(cyear>0&&cmonth>0&&cday>0){if(ageCheck({year:cyear,month:cmonth,day:cday},14)==false){mesg=SPI._langStrings.userprofile.validation.too_young+'';}
var dateOk=true;if((cmonth==4||cmonth==6||cmonth==9||cmonth==11)&&cday==31){dateOk=false;}
if(cmonth==2){var isleap=(cyear%4==0&&(cyear%100!=0||cyear%400==0));if(cday>29||(cday==29&&!isleap)){dateOk=false;}}
if(!dateOk){mesg=SPI._langStrings.userprofile.validation.invalid_date+'';}}
if(mesg){var newerror={id:'dob','mesg':''+mesg};if(!checkIfInErrors(errors[''+settings.layer],newerror)){errors[''+settings.layer].push(newerror);}
$('#f_dob_year, #f_dob_month, #f_dob_day',$("#"+settings.layer)).addClass('validationError');}else{removeError(errors[''+settings.layer],'dob');$('#f_dob_year, #f_dob_month, #f_dob_day',$("#"+settings.layer)).removeClass('validationError');}});var checkIfInErrors=function(errors,obj){for(var i=0;i<errors.length;i++){if(errors[i].id==obj.id)return true;}
return false;};var removeError=function(errors,id){for(var i=0;i<errors.length;i++){if(errors[i].id==id){errors.splice(i,1);$("#"+settings.layer+" #"+id).removeClass('validationError');return;};}
return;};$("#"+settings.layer+" ."+settings.classname).each(function(){var self=$(this);var fieldName=$(self).attr('name');var fieldId=$(self).attr('id');$(self).blur(function(){$('#'+settings.layer+' .validationErrors').empty().hide();var fieldValue=$(self).val();var errMesg=new Array();var fieldTest=$.checkUserprofileField({'formType':settings.formType,'fieldName':fieldName,'fieldId':fieldId,'fieldValue':fieldValue});if(fieldTest[0]==false){errMesg=fieldTest[1][0];if(!checkIfInErrors(errors[''+settings.layer],errMesg)){errors[''+settings.layer].push(errMesg);}}else{removeError(errors[''+settings.layer],fieldId);}
if(errors[''+settings.layer].length>0){err='';for(var i=0;i<errors[''+settings.layer].length;i++){$('#'+settings.layer+' #'+errors[''+settings.layer][i].id).addClass('validationError');err+=''+errors[''+settings.layer][i].mesg+'<br />'}
$('#'+settings.layer+' .validationErrors').empty().html(''+err).show();}});});};;SPI.avatars=(function(){var config={settings:{itemsPerPage:36,maxPages:3,li_id:'avatar',useravatars_limit:SPI._settings.avatars.useravatars_limit,timeout:7000,dummy_big:'/static/0/img/profile/dummy_big.jpg',dummy_small:'/static/0/img/profile/dummy_small.jpg'}};SPI.getAndUpdateConfig('avatars',config);var that={};var saveClicked=false;that.avatar='';that.userAvatarsLength=0;var maxx=150;var maxy=175;var _cropObj=null;var _objectstohide=[];var _jcropObj=null;var _setSelectArr=null;that.init=function(items,callback){var callback=callback||null;that.items=items.concat();that.selectedAvatarId=null;loadUserAvatar();$('div#avatarslist ul li a').live('click',function(){$('div#avatarslist ul li.active').removeClass('active');var li_item=$(this).parent('li:first');li_item.addClass('active');var id=li_item.attr('avatarid');selectAvatar(id);return false;});$('a#setavatar').click(function(){var avatar_id=$('div#avatarselected div.picture').attr('id');if(saveClicked==false&&avatar_id!=''&&avatar_id!='DEFAULT'&&avatar_id!='avatarid_'+that.avatar){saveClicked=true;var save_id=avatar_id.replace(/^[^_]+_/i,'');setAsAvatar(save_id);}
return false;});getUserAvatars(function(data){if(data.gamatar&&data.gamatar.resultset&&data.gamatar.resultset.result&&data.gamatar.resultset.result.length>0){var temp=null,item=null;var itemz=data.gamatar.resultset.result;if(itemz.length>0){that.userAvatarsLength=itemz.length;for(var i in itemz){item=itemz[i];that.items.unshift({id:0,gamatarid:item.id,user:1});}}}
that.renderList();if(callback!=null&&typeof callback=='function'){callback.call(this);}});};var handleResponse=function(data,mesg){if(data.gamatar&&data.gamatar.errorcode!==undefined){data={"gamatar":[]};}
this.after_call(data);};var getUserAvatars=function(callback){$.ajax({global:false,cache:false,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.avatar_url_list,SPI._settings.global.site_id),type:'GET',dataType:'json',success:handleResponse,error:function(xml,mesg,error){if(mesg=='timeout'){that.renderList();}else{handleResponse.call(this,{"gamatar":[]},'');}},after_call:callback,data:{username:$.profilar.forService().username,hash:$.profilar.forService().hash,outputtype:'json'}});};var setDummyAvatar=function(){$('div#avatarselected div.picture1').attr('id','DEFAULT');$('div#avatarselected div.picture1 img').empty().attr('src',config.settings.dummy_big);$('div#avatarselected div.picture2 img').empty().attr('src',config.settings.dummy_small);$('div#avatarselected div.picture3 img').empty().attr('src',config.settings.dummy_small);$('img.userAvatar').empty().attr('src',config.settings.dummy_big);$('img.loginbaravatar').empty().attr('src',config.settings.dummy_small);that.selectedAvatarId=null;};var checkIfCanUpload=function(){if(userLevel>=config.settings.min_upload_level){var message='';if(that.userAvatarsLength>=config.settings.useravatars_limit){message=SPI._langStrings.avatars.user_avatars_limit_reached;$('div#uploader div.uploadavatar').hide();$('div#uploader div.sorrymessage').hide();$('div#uploader div.sorrymessage_limit').html(message).show();}else{$('div#uploader div.sorrymessage').hide();$('div#uploader div.sorrymessage_limit').hide();$('div#uploader div.uploadavatar').show();}}else{message=SPI.sprintf(SPI._langStrings.avatars.min_upload_level_message,config.settings.min_upload_level);$('div#uploader div.uploadavatar').hide();$('div#uploader div.sorrymessage').html(message).show();$('div#uploader div.sorrymessage_limit').hide();}};var removeAvatarFromList=function(id){var id=parseInt(id);if(id>0){if(that.items&&that.items.length>0){for(var i in that.items){if(parseInt(that.items[i].gamatarid)==id&&that.items[i].user==1){that.items.splice(i,1);that.userAvatarsLength--;if(id==that.avatar){clearUserAvatar(function(error){if(error){}
else{setDummyAvatar();}});}else{if(id==that.selectedAvatarId||that.selectedAvatarId==null){loadUserAvatar();}}
checkIfCanUpload();break;}}}}};that.renderList=function(page){checkIfCanUpload();if($('div#avatarslist div.ul_container ul').length==0){$('div#avatarslist div.ul_container').append('<ul></ul>');}
$('div#avatarslist ul').empty();var page=page||1;var icons=that.items;if(icons.length==0){return;}
var sitesQuantity=Math.ceil(icons.length/config.settings.itemsPerPage);var remove='';for(var i=(page*config.settings.itemsPerPage)-config.settings.itemsPerPage;i<(page*config.settings.itemsPerPage)&&i<icons.length;i++){var icon='<a class="avatar" href="#"><img src="'+SPI.sprintf(SPI._settings.global.avatar_url_small,icons[i].gamatarid)+'" alt="" border="0" width="50" height="50" /></a>';remove=icons[i].user==1?'<a class="removeAvatar closebtn" avatarid="'+icons[i].gamatarid+'" title="'+config.langStrings.avatar_remove+'"></a>':'';$('div#avatarslist ul').append('<li id="'+config.settings.li_id+"_"+i+'" avatarid="'+icons[i].gamatarid+'">'+icon+remove+'</li>');}
var paging=SPI.paginatorString(icons.length,page,config.settings.itemsPerPage,config.settings.maxPages,that.renderList,{next:config.langStrings.next,prev:config.langStrings.prev,separator:config.langStrings.separator});$("#paging_center").empty();if(paging!=''){$("#paging_center").append(paging);}
if(that.selectedAvatarId!=null){$('div#avatarslist ul li[avatarid='+that.selectedAvatarId+']').addClass('active');}
$('div#avatarslist ul li a.removeAvatar').click(function(){var avatarId=parseInt($(this).attr('avatarid'));if(confirm(SPI._langStrings.avatars.confirm_delete+'')){removeAvatar(avatarId,function(data){if(data===true){removeAvatarFromList(avatarId);that.renderList();}else{$('div#avatarslist ul li a[avatarid='+avatarId+']').parent().removeClass('delprogress');}});}
return false;});};var removeAvatar=function(id,callback){if(id>0){$.ajax({global:false,cache:false,beforeSend:function(){$('div#avatarslist ul li a[avatarid='+id+']').parent().addClass('delprogress');},timeout:config.settings.timeout,url:SPI.sprintf(config.settings.avatar_url_delete,id),type:'POST',dataType:'json',success:handleDeleteResponse,error:function(xml,mesg,error){handleDeleteResponse.call(this,{"gamatar":[]},'');},after_call:callback,data:{username:$.profilar.forService().username,hash:$.profilar.forService().hash,outputtype:'json'}});}};var handleDeleteResponse=function(data,mesg){var delSuccess=false;if(data.gamatar&&data.gamatar.errorcode==0){delSuccess=true;}
this.after_call(delSuccess);};var selectAvatar=function(id){var id=parseInt(id);if(id!=that.selectedAvatarId){var imageTemplateBig='<img src="'+SPI.sprintf(SPI._settings.global.avatar_url_big,id)+'" border="0" width="%1$s" height="%1$s" alt="" style="display:none;" />';var imageTemplateSmall='<img src="'+SPI.sprintf(SPI._settings.global.avatar_url_small,id)+'" border="0" width="%1$s" height="%1$s" alt="" style="display:none;" />';var image1=SPI.sprintf(imageTemplateBig,150);var image2=SPI.sprintf(imageTemplateSmall,50);var image3=SPI.sprintf(imageTemplateSmall,20);$('div#avatarselected div.picture1').empty().attr('id','avatarid_'+id).append(''+image1);$('div#avatarselected div.picture1 img').fadeIn();$('div#avatarselected div.picture2').empty().append(''+image2);$('div#avatarselected div.picture2 img').fadeIn();$('div#avatarselected div.picture3').empty().append(''+image3);$('div#avatarselected div.picture3 img').fadeIn();}
that.selectedAvatarId=id;};var loadUserAvatar=function(){var id=$.profilar.getPref('avatar');if(id!=''){that.avatar=parseInt(id);var imageTemplateBig='<img src="'+SPI.sprintf(SPI._settings.global.avatar_url_big,id)+'" border="0" width="%1$s" height="%1$s" alt="" style="display:none;" />';var imageTemplateSmall='<img src="'+SPI.sprintf(SPI._settings.global.avatar_url_small,id)+'" border="0" width="%1$s" height="%1$s" alt="" style="display:none;" />';var image1=SPI.sprintf(imageTemplateBig,150);var image2=SPI.sprintf(imageTemplateSmall,50);var image3=SPI.sprintf(imageTemplateSmall,20);$('div#avatarselected div.picture1').empty().attr('id','DEFAULT').append(''+image1);$('div#avatarselected div.picture1 img').fadeIn();$('div#avatarselected div.picture2').empty().append(''+image2);$('div#avatarselected div.picture2 img').fadeIn();$('div#avatarselected div.picture3').empty().append(''+image3);$('div#avatarselected div.picture3 img').fadeIn();}else{setDummyAvatar();}};var clearUserAvatar=function(callback){$.profilar.setPref('avatar','');$.profilar.submitPref(function(errors){if(typeof callback=="function"){callback.call(this,false);}});};var setAsAvatar=function(id){var avatar_id=parseInt(id);if(avatar_id>0){avatar_id=''+avatar_id;$.profilar.setPref('avatar',avatar_id);$.profilar.submitPref(function(errors){if(errors){SPI.flashMessage.set(config.langStrings.error_connection,true);}else{SPI.flashMessage.set(config.langStrings.avatar_saved);}
window.top.location.href=config.settings.redirect_url;});}};that.calculateDim=function(x,y){ratio=x/y;if(x>maxx||y>maxy){x1=maxx;y1=Math.ceil(maxx/ratio);y2=maxy;x2=Math.ceil(maxy*ratio);if(x1<=maxx&&y1<=maxy){newx=x1;newy=y1;}else{newx=x2;newy=y2;};}else{newx=x;newy=y;};return[newx,newy];};that.setCropMask=function(mask){_cropObj=mask;};that.cropAvatarHandler=function(data){$('a#cropavatar').click(function(){SPI.avatars.cropAvatar();});if(data.type==0){SPI.avatars.init(avatarsArray,function(){SPI.avatars.hidePopup();$('li[avatarid='+data.message.id+'] a.avatar').click()});}else SPI.avatars.showCropError();$('.cropIndicator').css('display','none');return false;};that.cropAvatar=function(){$('.cropIndicator').css('display','block');$('a#cropavatar').unbind('click');url=SPI.sprintf('/ir/%d/%d/%d/%d/%d',_id,_cropObj.x,_cropObj.y,_cropObj.w,_cropObj.h);$.ajax({global:false,cache:false,type:'POST',url:url,dataType:'json',success:SPI.avatars.cropAvatarHandler,error:SPI.avatars.showCropError});return false;};that.avatarUploadHandler=function(data,status){if(data.type==0){newDim=SPI.avatars.calculateDim(data.message.width,data.message.height);_newDim=newDim;_id=data.message.id;imgPrev=SPI.sprintf(SPI._settings.global.avatar_url_big,data.message.id);$('.avatarImagePreview p,.avatarImagePreview img').css('display','none');$('.avatarImagePreview').append('<div class="avatarImageHolder" style="width:'+newDim[0]+'px;height:'+newDim[1]+'px;"></div>');$('div.avatarImageHolder').css('margin-top',Math.ceil((175-newDim[1])/2)+10+'px');$('div.avatarImageHolder').append('<img class="avatarPreview" width="'+newDim[0]+'" height="'+newDim[1]+'" src="'+imgPrev+'">');crpsize=Math.floor(Math.min(newDim[0],newDim[1])*0.8);crpx=Math.round((newDim[0]-crpsize)/2);crpy=Math.round((newDim[1]-crpsize)/2);_setSelectArr=[crpx,crpy,crpx+crpsize,crpy+crpsize];_jcropObj=$.Jcrop('div.avatarImagePreview img.avatarPreview',{aspectRatio:1,maxSize:[data.message.width,data.message.height],sideHandles:false,keySupport:false,allowSelect:false,minSize:[5,5],minSelect:[5,5],trueSize:[data.message.width,data.message.height],onChange:SPI.avatars.setCropMask,setSelect:_setSelectArr});$('.avatarUpload').hide();$('.avatarCrop').show();}else{if(data.type==413)that.avatarUploadErrorHandler(413);else
if(data.type==1&&data.message=='Incorrect file')that.avatarUploadErrorHandler(1);else{resp=data+'';if(resp.indexOf('413'))that.avatarUploadErrorHandler(413);else{that.avatarUploadErrorHandler(0);}}};};that.resetCrop=function(){$('div.avatarCrop').hide();$('div.avatarUpload').show();$('input#avatarFile').before('<input type="file" name="avatar" id="avatarFile">').remove();$('div.avatarImagePreview *').not('p').not('span').not('br').not('img.uploadIndicator').remove();$('div.avatarImagePreview p').show();$('div.avatarImagePreview img').css('display','none');};that.showUploadError=function(msg){$('.uploadFileInfo').hide();$('.uploadFileError').html(msg);$('.uploadFileError').show();};that.hideUploadError=function(msg){$('.uploadFileInfo').show();$('.uploadFileError').html('').hide();};that.showCropError=function(){$('.uploadFileInfo').hide();$('.uploadFileError').html('pierdut').show();};that.hideCropError=function(msg){$('.cropFileInfo').show();$('.cropFileError').html('').hide();};that.avatarUploadErrorHandler=function(e){switch(e){case 413:that.showUploadError(SPI._langStrings.avatars.au_error_file_to_big);break;case 1:that.showUploadError(SPI._langStrings.avatars.au_error_incorrect_file);break;default:that.showUploadError(SPI._langStrings.avatars.au_error_connection);break;};};that.avatarFileUpload=function(){that.hideUploadError();$(".avatarImagePreview img").ajaxStart(function(){$(this).css('display','block');$('a#uploadavatar').unbind('click');}).ajaxComplete(function(){$(this).css('display','none');$('a#uploadavatar').click(function(){SPI.avatars.avatarFileUpload();return false;});});$.ajaxFileUpload({url:'/iu/',secureuri:false,fileElementId:'avatarFile',dataType:'json',success:SPI.avatars.avatarUploadHandler,error:function(){SPI.avatars.avatarUploadErrorHandler(0)}});return false;};that.raisePopup=function(){that.hideUploadError();that.hideCropError();that.resetCrop();var myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;};if($.profilar.loggedIn()){newmargin=Math.round((parseInt(myHeight)-225)/2);if(newmargin<0)newmargin=0;_objectstohide=$('object:visible').add('#flashobj_mc').add('#gameiframe_js');$(_objectstohide).each(function(){$(this).css('visibility','hidden')});$('div.avataruploadWrapper').css('margin-top',newmargin+'px');$('div#avataruploadshadow').css('display','block');};};that.hidePopup=function(){that.resetCrop();$('div#avataruploadshadow').css('display','none');$(_objectstohide).each(function(){$(this).css('visibility','visible')});};return that;})();;;$(function(){$.profilar.addInitHandler(function(logged){if(!logged){return;}
$('div#changeprofile').show();$.nValidateUserprofileRealtime({formType:'profile',layer:'basic'});$.nValidateUserprofileRealtime({formType:'profile',layer:'basic_confirmation'});$.nValidateUserprofileRealtime({formType:'profile',layer:'email'});$.nValidateUserprofileRealtime({formType:'profile',layer:'email_confirmation'});$.nValidateUserprofileRealtime({formType:'changepass',layer:'password'});$.profilar.load(function(errors){if(errors){__showError(errors,'basic');}else{var uname=$.profilar.get('username')||'';$('input[name=password]').val('');$('#basic span#f_username').html(uname);$('#basic input[name=username]').val(uname);$('#basic input[name=givenname]').val($.profilar.get('givenname'));$('#basic input[name=surname]').val($.profilar.get('surname'));$('#email span#f_email_current').html($.profilar.get('email'));var dob=$.profilar.get('dob').split('-');$('#basic select[name=dob_month]').val(dob[1]*1);$('#basic select[name=dob_day]').val(dob[2]*1);$('#basic select[name=dob_year]').val(dob[0]*1);$('#basic input[name=gender][value='+$.profilar.get('gender')+']').attr('checked','checked');$('#basic input[name=gender]').attr('disabled','disabled');}},['dob','gender','email','givenname','surname']);var showOneOnly=function(id){$('div.section').hide();$('div[id='+id+']').show();};var showDefault=function(){$('div.section').hide();$('div#basic, div#email, div#password').show();};var cancelErrors=function(layer){layer=layer||null;if(layer!=null){$('.validationError',$(layer)).removeClass('validationError');$('.validationErrors',$(layer)).empty().hide();}else{$('.validationError').removeClass('validationError');$('.validationErrors').empty().hide();}};var saveBasic=function(){$('#basic_confirmation input#f_cpassword').val('').trigger('focus');if($.nValidateUserprofileOnDemand({formType:'profile',layer:'basic'})){showOneOnly('basic_confirmation');$('#basic_confirmation input#f_cpassword').val('').trigger('focus');}
return false;};var saveBasicConfirmation=function(){$('a#save_basic_confirmation').unbind('click').click(function(){return false;});cancelErrors('#basic_confirmation');if($('#basic_confirmation input[name=password]').val().length<6){__showError(SPI._langStrings.userprofile.validation.password_isempty,'profile',{errorElement:$('#basic_confirmation div.validationErrors')});$('#basic_confirmation input[name=password]').addClass('validationError');$('a#save_basic_confirmation').click(saveBasicConfirmation);}else{var dob=$("#basic select[name=dob_year]").val()+'-'+$("#basic select[name=dob_month]").val()+'-'+$("#basic select[name=dob_day]").val();var olds={'dob':$.profilar.get('dob'),'givenname':$.profilar.get('givenname'),'surname':$.profilar.get('surname')};$.profilar.set('dob',dob);$.profilar.set('givenname',$('#basic input[name=givenname]').val());$.profilar.set('surname',$('#basic input[name=surname]').val());$.profilar.submit($('#basic_confirmation input[name=password]').val(),function(errors){cancelErrors('#basic_confirmation');if(errors){$.profilar.set('dob',olds.dob);$.profilar.set('givenname',olds.givenname);$.profilar.set('surname',olds.surname);__showError(errors,'profile',{errorElement:$('#basic_confirmation div.validationErrors')});$('a#save_basic_confirmation').unbind('click').click(saveBasicConfirmation);}else{$('a#save_basic_confirmation').unbind('click').click(saveBasicConfirmation);SPI.flashMessage.set(SPI._langStrings.myprofile.profile_saved);SPI.reloadSite(SPI._settings.myprofile.pageurl);}},['dob','givenname','surname']);}
return false;};$('a#save_basic').click(saveBasic);$('a#cancel_basic_confirmation').click(function(){cancelErrors();showDefault();$('#basic input#f_givenname').trigger('focus');return false;});$('a#save_basic_confirmation').click(saveBasicConfirmation);var saveEmail=function(){$('#email_confirmation input#f_ecpassword').val('').trigger('focus');if($.nValidateUserprofileOnDemand({formType:'profile',layer:'email'})){showOneOnly('email_confirmation');$('#email_confirmation input#f_ecpassword').val('').trigger('focus');}
return false;}
var saveEmailConfirmation=function(){$('a#save_email_confirmation').unbind('click').click(function(){return false;});cancelErrors('#email_confirmation');if($('#email_confirmation input[name=password]').val().length<6){__showError(SPI._langStrings.userprofile.validation.password_isempty,'profile',{errorElement:$('#email_confirmation div.validationErrors')});$('#email_confirmation input[name=password]').addClass('validationError');$('a#save_email_confirmation').unbind('click').click(saveEmailConfirmation);}else{var olds={'email':$.profilar.get('email')};$.profilar.set('email',$('#email input[name=email]').val());$.profilar.submit($('#email_confirmation input[name=password]').val(),function(errors){cancelErrors('#email_confirmation');if(errors){$.profilar.set('email',olds.email);__showError(errors,'profile',{errorElement:$('#email_confirmation div.validationErrors')});$('a#save_email_confirmation').unbind('click').click(saveEmailConfirmation);}else{$.profilar.triggerEvent({cheetah_sub:{aid:''+SPI._settings.myprofile.profilar_newsletter_sub_aid,email:olds.email,newemail:$.profilar.get('email')},email:$.profilar.get('email')},function(eventId,errors){$('a#save_email_confirmation').unbind('click').click(saveEmailConfirmation);SPI.flashMessage.set(SPI._langStrings.myprofile.email_saved);SPI.reloadSite(SPI._settings.myprofile.pageurl);});}},['email']);}
return false;};$('a#save_email').click(saveEmail);$('a#cancel_email_confirmation').click(function(){cancelErrors();showDefault();$('#email input#f_email').trigger('focus');return false;});$('a#save_email_confirmation').click(saveEmailConfirmation);var savePassword=function(){$('a#save_password').unbind('click').click(function(){return false;});if($.nValidateUserprofileOnDemand({formType:'changepass',layer:'password'})){$('a#save_password').unbind('click').click(function(){return false;});$.profilar.set('password',$('#password input[name=password]').val());$.profilar.submit($('#password input[name=old_password]').val(),function(errors){if(errors){__showError(errors,'changepass',{errorElement:$('#password div.validationErrors')});$('a#save_password').unbind('click').click(savePassword);}else{$('a#save_password').unbind('click').click(savePassword);SPI.flashMessage.set(SPI._langStrings.myprofile.password_changed);SPI.reloadSite(SPI._settings.myprofile.pageurl);}},['password']);}else{$('a#save_password').unbind('click').click(savePassword);}
return false;};$('a#save_password').click(savePassword);$('a#cancel_password').click(function(){cancelErrors();showDefault();$('#password input#f_password').trigger('focus');$('a#save_password').unbind('click').click(savePassword);return false;});});$('input, select',$('#basic')).keyup(function(e){if(e.keyCode==13){$('a#save_basic').trigger('click');}});$('input, select',$('#basic_confirmation')).keyup(function(e){if(e.keyCode==13){$('a#save_basic_confirmation').trigger('click');}
if(e.keyCode==27){$('a#cancel_basic_confirmation').trigger('click');}});$('input, select',$('#email')).keyup(function(e){if(e.keyCode==13){$('a#save_email').trigger('click');}});$('input, select',$('#email_confirmation')).keyup(function(e){if(e.keyCode==13){$('a#save_email_confirmation').trigger('click');}
if(e.keyCode==27){$('a#cancel_email_confirmation').trigger('click');}});$('input, select',$('#password')).keyup(function(e){if(e.keyCode==13){$('a#save_password').trigger('click');}});});;jQuery.extend({createUploadIframe:function(id,uri)
{var frameId='jUploadFrame'+id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof uri=='boolean'){io.src='javascript:false';}
else if(typeof uri=='string'){io.src=uri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);return io},createUploadForm:function(id,fileElementId,data)
{var formId='jUploadForm'+id;var fileId='jUploadFile'+id;var form=$('<form  action="" method="POST" name="'+formId+'" id="'+formId+'" enctype="multipart/form-data"></form>');var oldElement=$('#'+fileElementId);var newElement=$(oldElement).clone();$(oldElement).attr('id',fileId);$(oldElement).before(newElement);$(oldElement).appendTo(form);for(var i in data){$('<input type="hidden" />').attr('name',i).attr('value',data[i]).appendTo(form);}
$(form).css('position','absolute');$(form).css('top','-1200px');$(form).css('left','-1200px');$(form).appendTo('body');return form;},ajaxFileUpload:function(s){s=jQuery.extend({},jQuery.ajaxSettings,s);var id=new Date().getTime()
var form=jQuery.createUploadForm(id,s.fileElementId,s.data||{});var io=jQuery.createUploadIframe(id,s.secureuri);var frameId='jUploadFrame'+id;var formId='jUploadForm'+id;if(s.global&&!jQuery.active++)
{jQuery.event.trigger("ajaxStart");}
var requestDone=false;var xml={}
if(s.global)
jQuery.event.trigger("ajaxSend",[xml,s]);var uploadCallback=function(isTimeout)
{var io=document.getElementById(frameId);try
{if(io.contentWindow)
{xml.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}else if(io.contentDocument)
{xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;}}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(xml||isTimeout=="timeout")
{requestDone=true;var status;try{status=isTimeout!="timeout"?"success":"error";if(status!="error")
{var data=jQuery.uploadHttpData(xml,s.dataType);if(s.success)
s.success(data,status);if(s.global)
jQuery.event.trigger("ajaxSuccess",[xml,s]);}else
jQuery.handleError(s,xml,status);}catch(e)
{status="error";jQuery.handleError(s,xml,status,e);}
if(s.global)
jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");if(s.complete)
s.complete(xml,status);jQuery(io).unbind()
setTimeout(function()
{try
{$(io).remove();$(form).remove();}catch(e)
{jQuery.handleError(s,xml,null,e);}},100)
xml=null}}
if(s.timeout>0)
{setTimeout(function(){if(!requestDone)uploadCallback("timeout");},s.timeout);}
try
{var form=$('#'+formId);$(form).attr('action',s.url);$(form).attr('method','POST');$(form).attr('target',frameId);if(form.encoding)
{form.encoding='multipart/form-data';}
else
{form.enctype='multipart/form-data';}
$(form).submit();}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(window.attachEvent){document.getElementById(frameId).attachEvent('onload',uploadCallback);}
else{document.getElementById(frameId).addEventListener('load',uploadCallback,false);}
return{abort:function(){}};},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script")
jQuery.globalEval(data);if(type=="json")
eval("data = "+data);if(type=="html")
jQuery("<div>").html(data).evalScripts();return data;}});(function($){$.Jcrop=function(obj,opt)
{var obj=obj,opt=opt;if(typeof(obj)!=='object')obj=$(obj)[0];if(typeof(opt)!=='object')opt={};if(!('trackDocument'in opt))
{opt.trackDocument=$.browser.msie?false:true;if($.browser.msie&&$.browser.version.split('.')[0]=='8')
opt.trackDocument=true;}
if(!('keySupport'in opt))
opt.keySupport=$.browser.msie?false:true;var defaults={trackDocument:false,baseClass:'jcrop',addClass:null,bgColor:'black',bgOpacity:.6,borderOpacity:.4,handleOpacity:.5,handlePad:5,handleSize:9,handleOffset:5,edgeMargin:14,aspectRatio:0,keySupport:true,cornerHandles:true,sideHandles:true,drawBorders:true,dragEdges:true,boxWidth:0,boxHeight:0,boundary:8,animationDelay:20,swingSpeed:3,allowSelect:true,allowMove:true,allowResize:true,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){}};var options=defaults;setOptions(opt);var $origimg=$(obj);var $img=$origimg.clone().removeAttr('id').css({position:'absolute'});$img.width($origimg.width());$img.height($origimg.height());$origimg.after($img).hide();presize($img,options.boxWidth,options.boxHeight);var boundx=$img.width(),boundy=$img.height(),$div=$('<div />').width(boundx).height(boundy).addClass(cssClass('holder')).css({position:'relative',backgroundColor:options.bgColor}).insertAfter($origimg).append($img);;if(options.addClass)$div.addClass(options.addClass);var $img2=$('<img />').attr('src',$img.attr('src')).css('position','absolute').width(boundx).height(boundy);var $img_holder=$('<div />').width(pct(100)).height(pct(100)).css({zIndex:310,position:'absolute',overflow:'hidden'}).append($img2);var $hdl_holder=$('<div />').width(pct(100)).height(pct(100)).css('zIndex',320);var $sel=$('<div />').css({position:'absolute',zIndex:300}).insertBefore($img).append($img_holder,$hdl_holder);var bound=options.boundary;var $trk=newTracker().width(boundx+(bound*2)).height(boundy+(bound*2)).css({position:'absolute',top:px(-bound),left:px(-bound),zIndex:290}).mousedown(newSelection);var xlimit,ylimit,xmin,ymin;var xscale,yscale,enabled=true;var docOffset=getPos($img),btndown,lastcurs,dimmed,animating,shift_down;var Coords=function()
{var x1=0,y1=0,x2=0,y2=0,ox,oy;function setPressed(pos)
{var pos=rebound(pos);x2=x1=pos[0];y2=y1=pos[1];};function setCurrent(pos)
{var pos=rebound(pos);ox=pos[0]-x2;oy=pos[1]-y2;x2=pos[0];y2=pos[1];};function getOffset()
{return[ox,oy];};function moveOffset(offset)
{var ox=offset[0],oy=offset[1];if(0>x1+ox)ox-=ox+x1;if(0>y1+oy)oy-=oy+y1;if(boundy<y2+oy)oy+=boundy-(y2+oy);if(boundx<x2+ox)ox+=boundx-(x2+ox);x1+=ox;x2+=ox;y1+=oy;y2+=oy;};function getCorner(ord)
{var c=getFixed();switch(ord)
{case'ne':return[c.x2,c.y];case'nw':return[c.x,c.y];case'se':return[c.x2,c.y2];case'sw':return[c.x,c.y2];}};function getFixed()
{if(!options.aspectRatio)return getRect();var aspect=options.aspectRatio,min_x=options.minSize[0]/xscale,min_y=options.minSize[1]/yscale,max_x=options.maxSize[0]/xscale,max_y=options.maxSize[1]/yscale,rw=x2-x1,rh=y2-y1,rwa=Math.abs(rw),rha=Math.abs(rh),real_ratio=rwa/rha,xx,yy;if(max_x==0){max_x=boundx*10}
if(max_y==0){max_y=boundy*10}
if(real_ratio<aspect)
{yy=y2;w=rha*aspect;xx=rw<0?x1-w:w+x1;if(xx<0)
{xx=0;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}
else if(xx>boundx)
{xx=boundx;h=Math.abs((xx-x1)/aspect);yy=rh<0?y1-h:h+y1;}}
else
{xx=x2;h=rwa/aspect;yy=rh<0?y1-h:y1+h;if(yy<0)
{yy=0;w=Math.abs((yy-y1)*aspect);xx=rw<0?x1-w:w+x1;}
else if(yy>boundy)
{yy=boundy;w=Math.abs(yy-y1)*aspect;xx=rw<0?x1-w:w+x1;}}
if(xx>x1){if(xx-x1<min_x){xx=x1+min_x;}else if(xx-x1>max_x){xx=x1+max_x;}
if(yy>y1){yy=y1+(xx-x1)/aspect;}else{yy=y1-(xx-x1)/aspect;}}else if(xx<x1){if(x1-xx<min_x){xx=x1-min_x}else if(x1-xx>max_x){xx=x1-max_x;}
if(yy>y1){yy=y1+(x1-xx)/aspect;}else{yy=y1-(x1-xx)/aspect;}}
if(xx<0){x1-=xx;xx=0;}else if(xx>boundx){x1-=xx-boundx;xx=boundx;}
if(yy<0){y1-=yy;yy=0;}else if(yy>boundy){y1-=yy-boundy;yy=boundy;}
return last=makeObj(flipCoords(x1,y1,xx,yy));};function rebound(p)
{if(p[0]<0)p[0]=0;if(p[1]<0)p[1]=0;if(p[0]>boundx)p[0]=boundx;if(p[1]>boundy)p[1]=boundy;return[p[0],p[1]];};function flipCoords(x1,y1,x2,y2)
{var xa=x1,xb=x2,ya=y1,yb=y2;if(x2<x1)
{xa=x2;xb=x1;}
if(y2<y1)
{ya=y2;yb=y1;}
return[Math.round(xa),Math.round(ya),Math.round(xb),Math.round(yb)];};function getRect()
{var xsize=x2-x1;var ysize=y2-y1;if(xlimit&&(Math.abs(xsize)>xlimit))
x2=(xsize>0)?(x1+xlimit):(x1-xlimit);if(ylimit&&(Math.abs(ysize)>ylimit))
y2=(ysize>0)?(y1+ylimit):(y1-ylimit);if(ymin&&(Math.abs(ysize)<ymin))
y2=(ysize>0)?(y1+ymin):(y1-ymin);if(xmin&&(Math.abs(xsize)<xmin))
x2=(xsize>0)?(x1+xmin):(x1-xmin);if(x1<0){x2-=x1;x1-=x1;}
if(y1<0){y2-=y1;y1-=y1;}
if(x2<0){x1-=x2;x2-=x2;}
if(y2<0){y1-=y2;y2-=y2;}
if(x2>boundx){var delta=x2-boundx;x1-=delta;x2-=delta;}
if(y2>boundy){var delta=y2-boundy;y1-=delta;y2-=delta;}
if(x1>boundx){var delta=x1-boundy;y2-=delta;y1-=delta;}
if(y1>boundy){var delta=y1-boundy;y2-=delta;y1-=delta;}
return makeObj(flipCoords(x1,y1,x2,y2));};function makeObj(a)
{return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]};};return{flipCoords:flipCoords,setPressed:setPressed,setCurrent:setCurrent,getOffset:getOffset,moveOffset:moveOffset,getCorner:getCorner,getFixed:getFixed};}();var Selection=function()
{var start,end,dragmode,awake,hdep=370;var borders={};var handle={};var seehandles=false;var hhs=options.handleOffset;if(options.drawBorders){borders={top:insertBorder('hline').css('top',$.browser.msie?px(-1):px(0)),bottom:insertBorder('hline'),left:insertBorder('vline'),right:insertBorder('vline')};}
if(options.dragEdges){handle.t=insertDragbar('n');handle.b=insertDragbar('s');handle.r=insertDragbar('e');handle.l=insertDragbar('w');}
options.sideHandles&&createHandles(['n','s','e','w']);options.cornerHandles&&createHandles(['sw','nw','ne','se']);function insertBorder(type)
{var jq=$('<div />').css({position:'absolute',opacity:options.borderOpacity}).addClass(cssClass(type));$img_holder.append(jq);return jq;};function dragDiv(ord,zi)
{var jq=$('<div />').mousedown(createDragger(ord)).css({cursor:ord+'-resize',position:'absolute',zIndex:zi});$hdl_holder.append(jq);return jq;};function insertHandle(ord)
{return dragDiv(ord,hdep++).css({top:px(-hhs+1),left:px(-hhs+1),opacity:options.handleOpacity}).addClass(cssClass('handle'));};function insertDragbar(ord)
{var s=options.handleSize,o=hhs,h=s,w=s,t=o,l=o;switch(ord)
{case'n':case's':w=pct(100);break;case'e':case'w':h=pct(100);break;}
return dragDiv(ord,hdep++).width(w).height(h).css({top:px(-t+1),left:px(-l+1)});};function createHandles(li)
{for(i in li)handle[li[i]]=insertHandle(li[i]);};function moveHandles(c)
{var midvert=Math.round((c.h/2)-hhs),midhoriz=Math.round((c.w/2)-hhs),north=west=-hhs+1,east=c.w-hhs,south=c.h-hhs,x,y;'e'in handle&&handle.e.css({top:px(midvert),left:px(east)})&&handle.w.css({top:px(midvert)})&&handle.s.css({top:px(south),left:px(midhoriz)})&&handle.n.css({left:px(midhoriz)});'ne'in handle&&handle.ne.css({left:px(east)})&&handle.se.css({top:px(south),left:px(east)})&&handle.sw.css({top:px(south)});'b'in handle&&handle.b.css({top:px(south)})&&handle.r.css({left:px(east)});};function moveto(x,y)
{$img2.css({top:px(-y),left:px(-x)});$sel.css({top:px(y),left:px(x)});};function resize(w,h)
{$sel.width(w).height(h);};function refresh()
{var c=Coords.getFixed();Coords.setPressed([c.x,c.y]);Coords.setCurrent([c.x2,c.y2]);updateVisible();};function updateVisible()
{if(awake)return update();};function update()
{var c=Coords.getFixed();resize(c.w,c.h);moveto(c.x,c.y);options.drawBorders&&borders['right'].css({left:px(c.w-1)})&&borders['bottom'].css({top:px(c.h-1)});seehandles&&moveHandles(c);awake||show();options.onChange(unscale(c));};function show()
{$sel.show();$img.css('opacity',options.bgOpacity);awake=true;};function release()
{disableHandles();$sel.hide();$img.css('opacity',1);awake=false;};function showHandles()
{if(seehandles)
{moveHandles(Coords.getFixed());$hdl_holder.show();}};function enableHandles()
{seehandles=true;if(options.allowResize)
{moveHandles(Coords.getFixed());$hdl_holder.show();return true;}};function disableHandles()
{seehandles=false;$hdl_holder.hide();};function animMode(v)
{(animating=v)?disableHandles():enableHandles();};function done()
{animMode(false);refresh();};var $track=newTracker().mousedown(createDragger('move')).css({cursor:'move',position:'absolute',zIndex:360})
$img_holder.append($track);disableHandles();return{updateVisible:updateVisible,update:update,release:release,refresh:refresh,setCursor:function(cursor){$track.css('cursor',cursor);},enableHandles:enableHandles,enableOnly:function(){seehandles=true;},showHandles:showHandles,disableHandles:disableHandles,animMode:animMode,done:done};}();var Tracker=function()
{var onMove=function(){},onDone=function(){},trackDoc=options.trackDocument;if(!trackDoc)
{$trk.mousemove(trackMove).mouseup(trackUp).mouseout(trackUp);}
function toFront()
{$trk.css({zIndex:450});if(trackDoc)
{$(document).mousemove(trackMove).mouseup(trackUp);}}
function toBack()
{$trk.css({zIndex:290});if(trackDoc)
{$(document).unbind('mousemove',trackMove).unbind('mouseup',trackUp);}}
function trackMove(e)
{onMove(mouseAbs(e));};function trackUp(e)
{e.preventDefault();e.stopPropagation();if(btndown)
{btndown=false;onDone(mouseAbs(e));options.onSelect(unscale(Coords.getFixed()));toBack();onMove=function(){};onDone=function(){};}
return false;};function activateHandlers(move,done)
{btndown=true;onMove=move;onDone=done;toFront();return false;};function setCursor(t){$trk.css('cursor',t);};$img.before($trk);return{activateHandlers:activateHandlers,setCursor:setCursor};}();var KeyManager=function()
{var $keymgr=$('<input type="radio" />').css({position:'absolute',left:'-30px'}).keypress(parseKey).blur(onBlur),$keywrap=$('<div />').css({position:'absolute',overflow:'hidden'}).append($keymgr);function watchKeys()
{if(options.keySupport)
{$keymgr.show();$keymgr.focus();}};function onBlur(e)
{$keymgr.hide();};function doNudge(e,x,y)
{if(options.allowMove){Coords.moveOffset([x,y]);Selection.updateVisible();};e.preventDefault();e.stopPropagation();};function parseKey(e)
{if(e.ctrlKey)return true;shift_down=e.shiftKey?true:false;var nudge=shift_down?10:1;switch(e.keyCode)
{case 37:doNudge(e,-nudge,0);break;case 39:doNudge(e,nudge,0);break;case 38:doNudge(e,0,-nudge);break;case 40:doNudge(e,0,nudge);break;case 27:Selection.release();break;case 9:return true;}
return nothing(e);};if(options.keySupport)$keywrap.insertBefore($img);return{watchKeys:watchKeys};}();function px(n){return''+parseInt(n)+'px';};function pct(n){return''+parseInt(n)+'%';};function cssClass(cl){return options.baseClass+'-'+cl;};function getPos(obj)
{var pos=$(obj).offset();return[pos.left,pos.top];};function mouseAbs(e)
{return[(e.pageX-docOffset[0]),(e.pageY-docOffset[1])];};function myCursor(type)
{if(type!=lastcurs)
{Tracker.setCursor(type);lastcurs=type;}};function startDragMode(mode,pos)
{docOffset=getPos($img);Tracker.setCursor(mode=='move'?mode:mode+'-resize');if(mode=='move')
return Tracker.activateHandlers(createMover(pos),doneSelect);var fc=Coords.getFixed();var opp=oppLockCorner(mode);var opc=Coords.getCorner(oppLockCorner(opp));Coords.setPressed(Coords.getCorner(opp));Coords.setCurrent(opc);Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect);};function dragmodeHandler(mode,f)
{return function(pos){if(!options.aspectRatio)switch(mode)
{case'e':pos[1]=f.y2;break;case'w':pos[1]=f.y2;break;case'n':pos[0]=f.x2;break;case's':pos[0]=f.x2;break;}
else switch(mode)
{case'e':pos[1]=f.y+1;break;case'w':pos[1]=f.y+1;break;case'n':pos[0]=f.x+1;break;case's':pos[0]=f.x+1;break;}
Coords.setCurrent(pos);Selection.update();};};function createMover(pos)
{var lloc=pos;KeyManager.watchKeys();return function(pos)
{Coords.moveOffset([pos[0]-lloc[0],pos[1]-lloc[1]]);lloc=pos;Selection.update();};};function oppLockCorner(ord)
{switch(ord)
{case'n':return'sw';case's':return'nw';case'e':return'nw';case'w':return'ne';case'ne':return'sw';case'nw':return'se';case'se':return'nw';case'sw':return'ne';};};function createDragger(ord)
{return function(e){if(options.disabled)return false;if((ord=='move')&&!options.allowMove)return false;btndown=true;startDragMode(ord,mouseAbs(e));e.stopPropagation();e.preventDefault();return false;};};function presize($obj,w,h)
{var nw=$obj.width(),nh=$obj.height();if((nw>w)&&w>0)
{nw=w;nh=(w/$obj.width())*$obj.height();}
if((nh>h)&&h>0)
{nh=h;nw=(h/$obj.height())*$obj.width();}
xscale=$obj.width()/nw;yscale=$obj.height()/nh;$obj.width(nw).height(nh);};function unscale(c)
{return{x:parseInt(c.x*xscale),y:parseInt(c.y*yscale),x2:parseInt(c.x2*xscale),y2:parseInt(c.y2*yscale),w:parseInt(c.w*xscale),h:parseInt(c.h*yscale)};};function doneSelect(pos)
{var c=Coords.getFixed();if(c.w>options.minSelect[0]&&c.h>options.minSelect[1])
{Selection.enableHandles();Selection.done();}
else
{Selection.release();}
Tracker.setCursor(options.allowSelect?'crosshair':'default');};function newSelection(e)
{if(options.disabled)return false;if(!options.allowSelect)return false;btndown=true;docOffset=getPos($img);Selection.disableHandles();myCursor('crosshair');var pos=mouseAbs(e);Coords.setPressed(pos);Tracker.activateHandlers(selectDrag,doneSelect);KeyManager.watchKeys();Selection.update();e.stopPropagation();e.preventDefault();return false;};function selectDrag(pos)
{Coords.setCurrent(pos);Selection.update();};function newTracker()
{var trk=$('<div></div>').addClass(cssClass('tracker'));$.browser.msie&&trk.css({opacity:0,backgroundColor:'white'});return trk;};function animateTo(a)
{var x1=a[0]/xscale,y1=a[1]/yscale,x2=a[2]/xscale,y2=a[3]/yscale;if(animating)return;var animto=Coords.flipCoords(x1,y1,x2,y2);var c=Coords.getFixed();var animat=initcr=[c.x,c.y,c.x2,c.y2];var interv=options.animationDelay;var x=animat[0];var y=animat[1];var x2=animat[2];var y2=animat[3];var ix1=animto[0]-initcr[0];var iy1=animto[1]-initcr[1];var ix2=animto[2]-initcr[2];var iy2=animto[3]-initcr[3];var pcent=0;var velocity=options.swingSpeed;Selection.animMode(true);var animator=function()
{return function()
{pcent+=(100-pcent)/velocity;animat[0]=x+((pcent/100)*ix1);animat[1]=y+((pcent/100)*iy1);animat[2]=x2+((pcent/100)*ix2);animat[3]=y2+((pcent/100)*iy2);if(pcent<100)animateStart();else Selection.done();if(pcent>=99.8)pcent=100;setSelectRaw(animat);};}();function animateStart()
{window.setTimeout(animator,interv);};animateStart();};function setSelect(rect)
{setSelectRaw([rect[0]/xscale,rect[1]/yscale,rect[2]/xscale,rect[3]/yscale]);};function setSelectRaw(l)
{Coords.setPressed([l[0],l[1]]);Coords.setCurrent([l[2],l[3]]);Selection.update();};function setOptions(opt)
{if(typeof(opt)!='object')opt={};options=$.extend(options,opt);if(typeof(options.onChange)!=='function')
options.onChange=function(){};if(typeof(options.onSelect)!=='function')
options.onSelect=function(){};};function tellSelect()
{return unscale(Coords.getFixed());};function tellScaled()
{return Coords.getFixed();};function setOptionsNew(opt)
{setOptions(opt);interfaceUpdate();};function disableCrop()
{options.disabled=true;Selection.disableHandles();Selection.setCursor('default');Tracker.setCursor('default');};function enableCrop()
{options.disabled=false;interfaceUpdate();};function cancelCrop()
{Selection.done();Tracker.activateHandlers(null,null);};function destroy()
{$div.remove();$origimg.show();};function interfaceUpdate(alt)
{options.allowResize?alt?Selection.enableOnly():Selection.enableHandles():Selection.disableHandles();Tracker.setCursor(options.allowSelect?'crosshair':'default');Selection.setCursor(options.allowMove?'move':'default');$div.css('backgroundColor',options.bgColor);if('setSelect'in options){setSelect(opt.setSelect);Selection.done();delete(options.setSelect);}
if('trueSize'in options){xscale=options.trueSize[0]/boundx;yscale=options.trueSize[1]/boundy;}
xlimit=options.maxSize[0]||0;ylimit=options.maxSize[1]||0;xmin=options.minSize[0]||0;ymin=options.minSize[1]||0;if('outerImage'in options)
{$img.attr('src',options.outerImage);delete(options.outerImage);}
Selection.refresh();};$hdl_holder.hide();interfaceUpdate(true);var api={animateTo:animateTo,setSelect:setSelect,setOptions:setOptionsNew,tellSelect:tellSelect,tellScaled:tellScaled,disable:disableCrop,enable:enableCrop,cancel:cancelCrop,focus:KeyManager.watchKeys,getBounds:function(){return[boundx*xscale,boundy*yscale];},getWidgetSize:function(){return[boundx,boundy];},release:Selection.release,destroy:destroy};$origimg.data('Jcrop',api);return api;};$.fn.Jcrop=function(options)
{function attachWhenDone(from)
{var loadsrc=options.useImg||from.src;var img=new Image();img.onload=function(){$.Jcrop(from,options);};img.src=loadsrc;};if(typeof(options)!=='object')options={};this.each(function()
{if($(this).data('Jcrop'))
{if(options=='api')return $(this).data('Jcrop');else $(this).data('Jcrop').setOptions(options);}
else attachWhenDone(this);});return this;};})(jQuery);
