LocaLoad=Class.create({initialize:function(){map=main.map;index=webroot+"/server.php?";Ajax.Responders.register({onComplete:function(request,response){main.gui.base.showMessageWindow(response.responseJSON);main.gui.base.updateSiteInfo(response.responseJSON);}});this.lastActionID=false;this.lastEventID=false;this.zoom=main.map.getZoom();},generateGuestLogin:function(step){var data=main.data.get('newAccountData');if(!data)data=new Hash();data.set('location',google.loader.ClientLocation);if(main.data.get('icon'))data.set('icon',main.data.get('icon'));if($('address'))data.set('address',$('address').value);if($('name1'))data.set('name1',$('name1').value);if($('name2'))data.set('name2',$('name2').value);if($('agb'))data.set('agb',$('agb').checked);if($('year'))data.set('user_birthdate',$('year').value+"-"+$('month').value+"-"+$('day').value);main.data.set('newAccountData',data);new Ajax.Request(index,{method:'get',parameters:{f:'generateGuestLogin',s:session,step:step,data:Object.toJSON(data)},onSuccess:function(transport){jd=transport.responseJSON;if(main.gui.base.displayErrors(new Array('icon','address','name1','name2','user_birthdate','agb'),jd.errors)){if(step!="save"){$('userNewGuestAccount').update(jd.code.content);}else{if(main.debug)console.debug(Object.toJSON(jd.user));main.myUser=jd.user;main.gui.base.removeContent();$('menuStart').update(jd.code.menuStart);setTimeout('main.jumpToMe()',1000);}}}});},generateInviteFriend:function(step){var data=main.data.get('newInviteUser');var friends=main.data.get('inviteFriends');if(!data)data=new Hash();if(main.data.get('icon'))data.set('icon',main.data.get('icon'));if($('email'))data.set('email',$('email').value);if($('address'))data.set('address',$('address').value);if($('name1'))data.set('name1',$('name1').value);if($('name2'))data.set('name2',$('name2').value);main.data.set('newInviteUser',data);new Ajax.Request(index,{method:'get',parameters:{f:'generateInviteFriend',s:session,step:step,data:Object.toJSON(data),friends:Object.toJSON(friends)},onSuccess:function(transport){jd=transport.responseJSON;if(main.gui.base.displayErrors(new Array('icon','name1','name2','email'),jd.errors)){main.data.unset('inviteFriends');if(step!="save"){$('newInviteFriends').update(jd.code.content);}else{$('newInviteFriends').update(jd.code.content);main.data.unset('newInviteUser');main.data.unset('icon');}}}});},generateUserActivation:function(){new Ajax.Request(index,{method:'get',parameters:{f:'generateUserActivation',s:session},onSuccess:function(transport){}});},generateInviteAccount:function(){var data=Form.serialize('inviteDataForm',true);data.user_birthdate=data.Date_Year+"-"+data.Date_Month+"-"+data.Date_Day;if(!data.agb)data.agb=false;var location=google.loader.ClientLocation;var inputs=new Array('name1','name2','user_gender','email','passwort','passwort2','user_birthdate','address','agb');new Ajax.Request(index,{method:'get',parameters:{f:'generateInviteAccount',s:session,data:Object.toJSON(data),location:Object.toJSON(location)},onSuccess:function(transport){jd=transport.responseJSON;if(main.gui.base.displayErrors(inputs,jd.errors)){if(jd.user){var p=new GLatLng(jd.user.lat,jd.user.lng);main.loadMarker();main.myUser=jd.user;main.load.clearMyEvents();main.load.pollMyEvents('');main.gui.base.removeContent();$('menuStart').update(jd.code.menuStart);setTimeout('main.switchToWindow()',500);}}}});},loadMarker:function(resetBounds){main.gui.base.addMapLoading();var zoom=main.map.getZoom();if(this.zoom!=zoom){this.zoom=zoom;if(main.debug)console.debug("Zoom:"+this.zoom);if(main.LOverlay)main.map.removeOverlay(main.LOverlay);this.groups=new Hash();}if(resetBounds){main.marker=new Hash();main.bounds=new Array();}var bounds=map.getBounds();var southWest=bounds.getSouthWest();var southWestlat=southWest.lat();var southWestlng=southWest.lng();var southWeststring=southWestlat.toString()+','+southWestlng.toString();var northEast=bounds.getNorthEast();var northEastlat=northEast.lat();var northEastlng=northEast.lng();var northEaststring=northEastlat.toString()+','+northEastlng.toString();var data={filter:main.mapFilter};new Ajax.Request(index,{method:'get',parameters:{f:'getMarker',s:session,zoom:zoom,sw:southWeststring,ne:northEaststring,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.marker)main.manageMarkers(jd.marker);if(main.debug)GLog.write("Marker: "+jd.meta.marker+" | Items: "+jd.meta.items);if(main.debug)GLog.write("DB Time: "+jd.meta.time_db+" sek | Cluster Time: "+jd.meta.time_cluster);main.gui.base.removeMapLoading();},onFailure:function(transport){console.error(transport.status);}});},updateUserData:function(form,tab){var data=Form.serialize(form,true);if(data.Date_Year&&data.Date_Month&&data.Date_Day)data.user_birthdate=data.Date_Year+"-"+data.Date_Month+"-"+data.Date_Day;if(data.del_account){var Check=prompt("Wenn das Profil wirklich deaktiviert werden soll, gib bitte hier OK ein","");if(Check!="OK"){data.del_account=0;}}if(form=='editIconForm'){data.icon=main.data.get('icon');data.image=$('image_data').value;}var inputs=new Array('name1','name2','user_gender','nachname','email','passwort','passwort2','user_birthdate');new Ajax.Request(index,{method:'get',parameters:{f:'updateUserData',s:session,tab:tab,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;if(main.gui.base.displayErrors(inputs,jd.errors)){main.myUser=jd.user;$('menuStart').update(jd.code.menuStart);main.gui.base.removeContent();var tabs=map.getInfoWindow().getContentContainers();tabs[tab].update(jd.code.tabs[tab]);if(form=='editIconForm'){var src=main.gui.base.buildUserImageSrc(jd.user,"64");main.helpers.connection.fbShowFeedDialog("93998540565",{"images":[{"src":src,"href":"http://beta.locamap.de/user/"+main.myUser.user_key}],"key":""},"user_image");}}}});},updateUserActivation:function(){new Ajax.Request(index,{method:'get',parameters:{f:'updateUserActivation',s:session},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.user){main.myUser=jd.user;$('menuStart').update(jd.code.menuStart);main.gui.base.removeContent();}}});},pollUserActions:function(reset){if(reset){main.actions=new Hash();Element.update('actions',"");this.lastActionID=false;}new Ajax.Request(index,{method:'get',parameters:{f:'pollUserActions',s:session,t:main.feed.public.type,id:this.lastActionID},onSuccess:function(transport){this.updateActionFeed(transport.responseJSON);}.bind(this)});},insertUserActions:function(limit){var start=main.actions.keys().length;new Ajax.Request(index,{method:'get',parameters:{f:'pollUserActions',s:session,t:main.feed.public.type,start:start,limit:limit},onSuccess:function(transport){this.updateActionFeed(transport.responseJSON,'bottom');}});},pollMyEvents:function(reset){if(reset){this.lastEventID=false;main.load.clearMyEvents();}new Ajax.Request(index,{method:'get',parameters:{f:'pollMyEvents',s:session,reset:reset,id:this.lastEventID},onSuccess:function(transport){var jd=transport.responseJSON;this.updateEventFeed(jd);}.bind(this)});},clearMyEvents:function(){main.events=new Hash();},updateEventFeed:function(d){var newEvents=false;var updateEvents=false;if(d.no_refresh){if(main.debug)console.debug('Kein Refresh notwendig!');return false;}d.events.each(function(data){var id=data.event.id;var event=main.events.get(id);var eventID=parseInt(data.event.event_ID);if(data.action=="visit")data.type="visits";else if(data.action=="message")data.type="messages";else data.type="requests";data.update=false;if(main.debug)console.debug("lastEventID:"+this.lastEventID+" eventID:"+eventID);if(!this.lastEventID||this.lastEventID<eventID){this.lastEventID=eventID;}if(!event||event.create_date!=data.event.create_date){updateEvents=true;if($('messageBox'+data.event.author_ID)&&data.type=="messages")main.load.updateMessages(data.event.author_ID);}main.events.set(id,data);}.bind(this));if(updateEvents){soundManager.play('eventNew');main.gui.base.showMyEvents();}},updateActionFeed:function(d,insert){var i=0;if(insert=="bottom"){insert="bottom";var delay=10;}else{insert="top";var delay=50;d.actions.reverse();}d.actions.each(function(data){var id=parseInt(data.action.id);var action=main.actions.get(id);if(!action){if(!this.lastActionID||this.lastActionID<id)this.lastActionID=id;setTimeout(function(){main.actions.set(id,data);if(insert=="bottom")Element.insert('actions',{bottom:data.code});else Element.insert('actions',{top:data.code});},delay*i++);}}.bind(this));},pollData:function(counter,reset){var s=counter*5;var data=new Hash();if(s%main.pollEventsRefresh==0||reset){data.set('pollEvents',1);data.set('lastEventID',this.lastEventID);}if(s%main.pollActionsRefresh==0||reset){data.set('pollActions',1);data.set('lastActionID',this.lastActioID);data.set('publicFeedType',main.feed.public.type);}if(s%main.pollUserRefresh==0||reset){data.set('pollUserOnline',1);}if(s%main.pollFriendsRefresh==0||reset){data.set('pollFriendsOnline',1);}new Ajax.Request(index,{method:'get',parameters:{f:'pollData',s:session,reset:reset,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.actions){if(main.debug)console.debug("Action Management starten");this.updateActionFeed(jd.actions);}if(jd.events){if(main.debug)console.debug("Events Management starten");this.updateEventFeed(jd.events);}}.bind(this)});},confirmUserContact:function(user_ID){var data={id:user_ID};new Ajax.Request(index,{method:'get',parameters:{f:'sendContact',s:session,data:Object.toJSON(data),confirm:true},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.confirm){if(confirm(jd.confirm))this.sendUserContact(user_ID);}}.bind(this)});},sendUserContact:function(user_ID){var data={id:user_ID};new Ajax.Request(index,{method:'get',parameters:{f:'sendContact',s:session,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;var lastMessage=main.currentUser.last_message;main.currentUser.last_message=jd.message;if(lastMessage.to_ID==user_ID){Element.insert('messageSubItem'+lastMessage.id,{after:jd.code.message_small});$('messageSubItem'+jd.message.id).hide();$('messageSubItem'+jd.message.id).appear();}else{Element.insert('messageBox'+user_ID,{bottom:jd.code.message_complete});$('messageItem'+jd.message.id).appear();}setTimeout(function(){$('userWindowChat').scrollTop=$('messageBox'+user_ID).getHeight();},100);soundManager.play('messageSend');}});},sendMessage:function(user_ID){if($('message'+user_ID).value){var data={message:$('message'+user_ID).value,id:user_ID};$('message'+user_ID).value="";main.gui.base.updateMyEvents('messages',user_ID);new Ajax.Request(index,{method:'get',parameters:{f:'sendMessage',s:session,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;var lastMessage=main.currentUser.last_message;main.currentUser.last_message=jd.message;if(lastMessage.to_ID==user_ID){Element.insert('messageSubItem'+lastMessage.id,{after:jd.code.message_small});$('messageSubItem'+jd.message.id).hide();$('messageSubItem'+jd.message.id).appear();}else{Element.insert('messageBox'+user_ID,{bottom:jd.code.message_complete});$('messageItem'+jd.message.id).appear();}setTimeout(function(){$('userWindowChat').scrollTop=$('messageBox'+user_ID).getHeight();},100);soundManager.play('messageSend');}});}},updateMessages:function(id){new Ajax.Request(index,{method:'get',parameters:{f:'getUserMessages',s:session,id:id},onSuccess:function(transport){var jd=transport.responseJSON;$('messageBox'+id).update(jd.code.content);main.currentUser.last_message=jd.last_message;$('userWindowChat').scrollTop=$('messageBox'+id).getHeight();}});},sendAction:function(default_value,type){if($('action').value&&$('action').value!=default_value){var data_ID=$('data_ID').value;var data={message:$('action').value,data_ID:data_ID};$('action').value=default_value;if(!type)var type="";new Ajax.Request(index,{method:'get',parameters:{f:'sendAction',s:session,type:type,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;Element.insert('actionBox'+data_ID,{top:jd.action.info});soundManager.play('messageSend');if(type=="member_message")main.helpers.connection.fbShowFeedDialog("93950680565",{"status":data.message,"key":""},type);else main.helpers.connection.fbShowFeedDialog("93992205565",{"status":data.message,"user_key":jd.recipent.user_key,"user":jd.recipent.name1+" "+jd.recipent.name2,"key":""},type);if(jd.code){$('myStatus').update(jd.code.status);}}});}},sendWallComment:function(default_value,data_ID,type,rating){if(type=="rating"||($('comment').value&&$('comment').value!=default_value)){var parent_ID=$('parent_ID').value;if(type=="rating"){var data={parent_ID:parent_ID,rating:rating};}else{var data={message:$('comment').value,parent_ID:parent_ID};$('comment').value="";}if(!type)var type="";new Ajax.Request(index,{method:'get',parameters:{f:'sendWallComment',s:session,data_ID:data_ID,type:type,data:Object.toJSON(data)},onSuccess:function(transport){$('action_comment_form_'+parent_ID).remove();if($('action_comment_items_'+parent_ID).empty())$('action_comment_items_'+parent_ID).update("<HR\>");var jd=transport.responseJSON;Element.insert('action_comment_items_'+parent_ID,{bottom:jd.code.content});$('wall_comment_subitem_'+jd.subitem.id).hide();$('wall_comment_subitem_'+jd.subitem.id).appear();}});}},showTab:function(tab_id,tab_item,target,marker_ID){main.gui.base.changeTab(tab_id,target);new Ajax.Request(index,{method:'get',parameters:{f:'showTab',s:session,tab_id:tab_id,tab_item:tab_item,marker_ID:marker_ID},onSuccess:function(transport){$('tab_'+tab_id+'_'+tab_item).addClassName('a');$(target).update(transport.responseJSON.code.tab);$(target).appear();}});},setFeed:function(feed,type){if(feed=='public'){main.gui.base.changeTab('publicFeedTabs');main.feed.public.type=type;main.load.pollUserActions(true);$('tab_publicFeed_'+type).addClassName('a');}else if(feed=='personal'){main.gui.base.changeTab('personalFeedTabs');main.feed.personal.type=type;main.gui.base.showMyEvents();$('tab_personalFeed_'+type).addClassName('a');}},zoomToMarker:function(marker_ID){var marker=main.visibleMarkers.get(marker_ID);if(marker)map.setCenter(marker.getLatLng(),15);else map.setZoom(15);},zoomToPosition:function(lat,lng){map.setCenter(new google.maps.LatLng(lat,lng),15);},zoomToBounds:function(bounds,boundData){if(boundData){var sw=new google.maps.LatLng(boundData.sw_lat,boundData.sw_lng);var ne=new google.maps.LatLng(boundData.ne_lat,boundData.ne_lng);var bounds=new google.maps.LatLngBounds(sw,ne);}map.getInfoWindow().hide();map.removeOverlay(main.LOverlay);map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds));},showRouteToPosition:function(lat,lng){if(typeof main.dirPolyline=="object")map.removeOverlay(main.dirPolyline);var wp=new Array();wp[0]=new google.maps.LatLng(main.myUser.lat,main.myUser.lng);wp[1]=new google.maps.LatLng(lat,lng);;var dirs=new google.maps.Directions();GEvent.addListener(dirs,"load",function(){main.dirPolyline=dirs.getPolyline();map.addOverlay(main.dirPolyline);});dirs.loadFromWaypoints(wp,{getPolyline:true});},showLookupAddress:function(content,default_content){if(content!=default_content){if(this.searchMarker)map.removeOverlay(this.searchMarker);main.gui.base.window.createAddressInfoWindow(content);}},updateAddressInfo:function(radius,lat,lng){new Ajax.Request(index,{method:'get',parameters:{f:'updateAddressInfo',s:session,radius:radius,lat:lat,lng:lng},onSuccess:function(transport){var jd=transport.responseJSON;$('addressInfoActions').update(jd.code.content);$('user_address_list_box').hide();$('user_address_list_box').appear();}});},setSearch:function(){this.hideOnlineItems(false);var data=Form.serialize('searchForm',true);new Ajax.Request(index,{method:'get',parameters:{f:'setSearch',s:session,data:Object.toJSON(data)},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.num_results>0&&jd.num_results<=500){$('boxRightActions').hide();$('boxRightEvents').hide();main.gui.base.removeContent();main.search=data;if(!main.searchMapControl){main.searchMapControl=new DivMapControl(new Array("search"),false);map.addControl(main.searchMapControl,new google.maps.ControlPosition(G_ANCHOR_TOP_RIGHT,new google.maps.Size(10,67)));var searchTab=new Element('UL',{CLASS:'right_box_tabs',ID:'searchBoxTabs'});Element.insert(searchTab,'<LI CLASS="a" ID="tab_searchBox_items"></LI>');Element.insert('boxRightSearch',searchTab);}$('search').update("");$('tab_searchBox_items').update("Suche | "+jd.num_results+" Ergebnisse");main.gui.base.updateRightBoxHeights();var buttonUpdate="<INPUT TYPE=\"submit\" OnClick='main.gui.base.window.showSearch()' VALUE=\"Ändern\" CLASS=\"button\" STYLE=\"background-image: url(./inc/bilder/icons/PNG/edit.png)\">";var buttonDelete="<INPUT TYPE=\"submit\" OnClick='main.load.delSearch()' VALUE=\"Ausblenden\" CLASS=\"button\" STYLE=\"background-image: url(./inc/bilder/icons/PNG/delete.png)\">";$('search').insert(buttonUpdate);$('search').insert(buttonDelete);if(jd.type=="user"){jd.items.each(function(data){$('search').appendChild(main.gui.base.generateUserData(data));});}else{jd.items.each(function(data){$('search').appendChild(main.gui.base.generateLocationData(data));});}}}});},delSearch:function(reset){map.removeControl(main.searchMapControl);main.searchMapControl=null;main.search=null;if(reset!=false){$('boxRightActions').show();$('boxRightEvents').show();}},toogleOnlineItems:function(type){this.delSearch(false);if(this.userOnlineItemType&&type!=this.userOnlineItemType){this.hideOnlineItems();$('main_user_online_button').removeClassName('up');$('main_friends_online_button').removeClassName('up');}if(!main.userOnlineMapControl){this.showOnlineItems(type);this.userOnlineItemType=type;$('main_'+type+'_online_button').addClassName('up');}else{this.hideOnlineItems();this.userOnlineItemType=false;$('main_'+type+'_online_button').removeClassName('up');}},showOnlineItems:function(type){new Ajax.Request(index,{method:'get',parameters:{f:'showOnlineItems',s:session,type:type},onSuccess:function(transport){var jd=transport.responseJSON;if(jd.num_results>0&&jd.num_results<=500){$('boxRightActions').hide();$('boxRightEvents').hide();main.gui.base.removeContent();if(!main.userOnlineMapControl){main.userOnlineMapControl=new DivMapControl(new Array("online"),false);map.addControl(main.userOnlineMapControl,new google.maps.ControlPosition(G_ANCHOR_TOP_RIGHT,new google.maps.Size(10,67)));var onlineTab=new Element('UL',{CLASS:'right_box_tabs',ID:'onlineBoxTabs'});Element.insert(onlineTab,'<LI CLASS="a" ID="tab_onlineBox_user"></LI>');Element.insert('boxRightOnline',onlineTab);}else{$('online').hide();$('online').appear();}$('online').update("");if(type=="user")$('tab_onlineBox_user').update("Online | "+jd.num_results+" User");else $('tab_onlineBox_user').update("Online | "+jd.num_results+" Freunde");main.gui.base.updateRightBoxHeights();var buttonUpdate="<INPUT TYPE=\"submit\" OnClick=\"main.load.showOnlineItems('"+type+"')\" VALUE=\"Reload\" CLASS=\"button\" STYLE=\"background-image: url(./inc/bilder/icons/PNG/reload.png)\">";var buttonDelete="<INPUT TYPE=\"submit\" OnClick=\"main.load.toogleOnlineItems('"+type+"')\" VALUE=\"Ausblenden\" CLASS=\"button\" STYLE=\"background-image: url(./inc/bilder/icons/PNG/delete.png)\">";$('online').insert(buttonUpdate);$('online').insert(buttonDelete);jd.items.each(function(data){$('online').appendChild(main.gui.base.generateUserData(data));});}}});},hideOnlineItems:function(reset){map.removeControl(main.userOnlineMapControl);main.userOnlineMapControl=false;if(reset!=false){$('boxRightActions').show();$('boxRightEvents').show();main.gui.base.updateRightBoxHeights();}},delMapFilterItem:function(i,type){if(type){var searches=main.activeSearches.get(type);searches.splice(i,1);if(searches.length==0)main.activeSearches.unset(type);else main.activeSearches.set(type,searches);}if(main.activeSearches.values().length==0|| !type){main.activeSearches=new Hash();}new Ajax.Request(index,{method:'get',parameters:{f:'setSearchFilter',s:session,data:main.activeSearches.toJSON()},onSuccess:function(transport){$('search_active').update(transport.responseJSON.code.searchItems);main.load.loadMarker(true);}});if(main.debug)console.debug(main.activeSearches.toJSON());}});
