var maxTextFieldLength=50;var maxTextFieldLengthError="Der Text darf höchstens "+maxTextFieldLength+" Zeichen lang sein.";var maxTextAreaLength=1000;var maxTextAreaLengthError="Der Text darf höchstens "+maxTextAreaLength+" Zeichen lang sein.";var overviewMapInitialized=false;var useImageCache=true;var imageSize=737;var activeWindows=[];var paddingLeft=53;var paddingRight=65;var graphSize=imageSize-paddingLeft-paddingRight;var funcCache=function(e,id){getCoordsInDiv(e,id);};var offset=7;var mouseOffset=-3;var clicked=[];var caliperUsed=[];var trackid=0;var markedPoint=[];var tmpLine=[];var movementType=[];var bounds=[];var pointCount=[];var track=[];var map=[];var eventcache="";var nodeIdTemp;var useCasesAnimInProgress=false;var vv=[];var cv=5;var trackWindow=[];var imagespath="/images/";var driveInProgress=[];var editMode=[];var initializeOverviewMap=function(){overview_map=new GMap2(document.getElementById("trackListGMap"));overview_map.addControl(new GSmallMapControl());overview_map.addControl(new GMapTypeControl());overviewMapInitialized=true;}
var getDate=function(){var dateObj=new Date();var day=((dateObj.getDate()<10)?'0':'')+dateObj.getDate();var month=((dateObj.getMonth()<9)?'0':'')+(dateObj.getMonth()*1+1);var year=dateObj.getFullYear();return day+'.'+month+'.'+year;};var showTracksFromUser=function(userid){store.baseParams={};store.baseParams.hitlisttype=null;store.baseParams.userid=userid;options={params:{start:0,limit:storePageSize}};store.reload(options);if(searchPanel.layout.activeItem.id=="hitlistGrid"){Ext.getCmp(searchPanel.layout.activeItem.id).selModel.clearSelections();}else{searchForm.getForm().reset();}};var showOwnTracks=function(){showTracksFromUser(user.getUserId());};var showImpressWindow=function(){Ext.get('impressum').show();impressWindow.show();};var showInfoWindow=function(){Ext.get('speedtrackInfo').show();infoWindow.show();};var loadStoreWithKeyword=function(keyword){options={params:{keywordcloud:keyword,start:0,limit:storePageSize}};store.baseParams.hitlisttype="";store.load(options);};var forgotPassword=function(){Ext.Ajax.request({url:'./STForgotPasswordServlet',params:{login:loginForm.getForm().findField('login').getValue()},success:function(responseObject){var response=Ext.util.JSON.decode(responseObject.responseText);Ext.Msg.show({title:'Passwort vergessen',msg:response.message,buttons:Ext.Msg.OK,icon:(response.success)?Ext.MessageBox.INFO:Ext.MessageBox.WARNING});},failure:function(responseObject){var response=Ext.util.JSON.decode(responseObject.responseText);Ext.Msg.show({title:'Passwort vergessen',msg:response.message,buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});}});};var showWizard=function(){var win=Ext.getCmp('wizardWin');if(!win){win=new BasicWindow({id:'wizardWin',title:'Track hochladen - Upload & Edit Wizard',renderTo:'mainpanel',constrain:true,width:500,height:505,autoHeight:true,plain:true,border:false,closable:false,resizable:false,items:[{xtype:'wiz_tablist',id:'tab'}]});}
var mainpanel=Ext.get('mainpanel');var offsetY=(mainpanel.getHeight()-520)/2;win.anchorTo(mainpanel,'t-t',[0,(offsetY>0)?offsetY:0]);win.show();};function getElementAbsolutePos(element){var res={};res.x=0;res.y=0;if(element!=null){res.x=element.offsetLeft;res.y=element.offsetTop;var offsetParent=element.offsetParent;var parentNode=element.parentNode;while(offsetParent!=null){res.x+=offsetParent.offsetLeft;res.y+=offsetParent.offsetTop;if(offsetParent!=document.body&&offsetParent!=document.documentElement){res.x-=offsetParent.scrollLeft;res.y-=offsetParent.scrollTop;}
if(Ext.isGecko){while(offsetParent!=parentNode&&parentNode!=null){res.x-=parentNode.scrollLeft;res.y-=parentNode.scrollTop;parentNode=parentNode.parentNode;}}
parentNode=offsetParent.parentNode;offsetParent=offsetParent.offsetParent;}}
return res;}
function getCoordsInDiv(e,id){nodeIdTemp=id;if(nodeIdTemp.indexOf("stwin_")>-1){nodeIdTemp=nodeIdTemp.substr(6,nodeIdTemp.length);if(nodeIdTemp.indexOf("_")>-1){nodeIdTemp=nodeIdTemp.substr(0,nodeIdTemp.indexOf("_"));}}
if(!clicked[nodeIdTemp]){var absPos=getElementAbsolutePos(Ext.get('stwin_'+nodeIdTemp+'_container').dom);var containerLeft=absPos.x;var containerTop=absPos.y;mouseX=Event.pointerX(e)+mouseOffset;mouseY=Event.pointerY(e);horizontalPosition=mouseX-containerLeft;verticalPosition=mouseY-containerTop;containerDimensions=$('stwin_'+nodeIdTemp+'_container').getDimensions();height=containerDimensions.height;width=containerDimensions.width;if(horizontalPosition<0||verticalPosition<0||mouseX>(width+containerLeft)||mouseY>(height+containerTop)){Event.stopObserving(document,'mousemove',funcCache);}else{var position=horizontalPosition-paddingLeft;if(position>=0&&position<=graphSize){if(!caliperUsed[nodeIdTemp]){caliperUsed[nodeIdTemp]=true;}
var point=parseInt(((pointCount[nodeIdTemp])/100)*(100/graphSize*position));Ext.get('stwin_'+nodeIdTemp+'_inside').dom.style.width=(position+offset)+"px";drawPoint(point,nodeIdTemp,true);}}}}
function toggleGraphMove(trackid){if(trackid.indexOf("stwin_")>-1){trackid=trackid.substr(6,trackid.length);if(trackid.indexOf("_")>-1){trackid=trackid.substr(0,trackid.indexOf("_"));}}
trackid=parseInt(trackid);if(!clicked[trackid]){clicked[trackid]=true;}else{clicked[trackid]=false;}}
function getColor(rate){rate=rate;var color;switch(true){case rate>=500:color="#006400";break;case rate>=300:color="#009600";break;case rate>=200:color="#00D200";break;case rate>=150:color="#00FF00";break;case rate>=100:color="#D2FF00";break;case rate>=75:color="#FFFF00";break;case rate>=50:color="#FFDC00";break;case rate>=25:color="#FF9600";break;case rate>0:color="#FF0000";break;case rate==0:color="#B41E1E";break;}
return color;}
function getAppIconId(rate){var iconId;switch(true){case rate>=250:iconId=5;break;case rate>=100:iconId=4;break;case rate>=50:iconId=3;break;case rate>=30:iconId=2;break;case rate>0:iconId=1;break;default:iconId=0;break;}
return iconId;}
function initDisplayUseCases(trackid,curRate){if(!useCasesAnimInProgress){useCasesAnimInProgress=true;displayUseCases(false,trackid,curRate);}}
function displayUseCases(last,trackid,curRate){if(useCasesAnimInProgress){var iconNumber=getAppIconId(curRate);if(vv[trackid]==iconNumber){if(last){useCasesAnimInProgress=false;}else{window.setTimeout("displayUseCases(true,"+trackid+","+curRate+")",1000);}}else{if(Ext.get('stwin_'+trackid+'_box_0')){if(Ext.get('stwin_'+trackid+'_box_0').dom.style.display!='none'){Ext.get('stwin_'+trackid+'_box_0').fadeOut({useDisplay:true});}}
if(iconNumber>vv[trackid]){if(Ext.get('stwin_'+trackid+'_box_'+(vv[trackid]))){Ext.get('stwin_'+trackid+'_box_'+(++vv[trackid])).fadeIn({useDisplay:true});}}else{if(Ext.get('stwin_'+trackid+'_box_'+(vv[trackid]))){Ext.get('stwin_'+trackid+'_box_'+(vv[trackid]--)).fadeOut({useDisplay:true});}
if(vv[trackid]==0){Ext.get('stwin_'+trackid+'_box_0').dom.fadeIn({useDisplay:true});}}
window.setTimeout("displayUseCases(false,"+trackid+","+curRate+")",1000);}}}
function visualizePoint(posi,trackid){var pos=new GLatLng(parseFloat(track[trackid].points[posi].la),parseFloat(track[trackid].points[posi].lo));if(tmpLine[trackid]==null){var polyline=null;var tinyIcon=new GIcon();tinyIcon.image="images/marker_"
+track[trackid].movementtype+".png";tinyIcon.shadow="images/markerschatten.png";tinyIcon.iconSize=new GSize(50,50);tinyIcon.shadowSize=new GSize(67,50);tinyIcon.iconAnchor=new GPoint(25,50);tinyIcon.infoWindowAnchor=new GPoint(5,1);markerOptions={icon:tinyIcon};polyline=new GMarker(pos,markerOptions);map[trackid].addOverlay(polyline);tmpLine[trackid]=polyline;}else{tmpLine[trackid].setLatLng(pos);tmpLine[trackid].setImage("images/marker_"+track[trackid].movementtype+".png");}}
function visualizeDevice(version){switch(version){case"speedTracker Generator v1.0":return 2;case"speedTracker Handy v1.0":return 1;case"speedTracker Laptop v2.0":return 0;}}
function switchPoint(pointNr,trackid){if(!caliperUsed[trackid]){caliperUsed[trackid]=true;}
drawPoint(pointNr,trackid);}
function drawPoint(pointNr,trackid,fromGraph){if(pointCount[trackid]>0&&pointNr>=0&&pointNr<=pointCount[trackid]&&Ext.get('stwin_'+trackid).dom){if(!fromGraph||fromGraph==null){var percent=100/pointCount[trackid]*pointNr;if(Ext.get('stwin_'+trackid+'_inside').dom){Ext.get('stwin_'+trackid+'_inside').dom.style.width=((graphSize/100*percent)+offset)+"px";}}
if(markedPoint!=pointNr){markedPoint=pointNr;visualizePoint(pointNr,trackid);var curRate=track[trackid].points[pointNr].r;var curLatency=track[trackid].points[pointNr].l;Ext.get('point_nr_'+trackid).dom.innerHTML=pointNr;Ext.get('point_rate_'+trackid).dom.innerHTML=curRate;Ext.get('point_latency_'+trackid).dom.innerHTML=curLatency;if(!useCasesAnimInProgress){initDisplayUseCases(trackid,curRate);}}}}
function getDetailIcons(type,trackid){if(type!=null&&trackid!=null){var deviceTypesMax=2;var providerMax=4;var movementTypesMax=6;var images="";var providerId=[0,1,3,2,4];if(type=="movement"){for(var i=1;i<=movementTypesMax;i++){if(i==track[trackid].movementtype){images+='<img class="trackDetailsIcon" src="../images/movementtypes/mov_'+i+'.gif"/>';}else{images+='<img class="trackDetailsIcon" src="../images/movementtypes/mov_'+i+'_inactive.gif"/>';}}}
else if(type=="device"){for(var i=1;i<=deviceTypesMax;i++){if(i==track[trackid].device_type){images+='<img class="trackDetailsIcon" src="../images/trackdevices/device_'+i+'.gif"/>';}else{images+='<img class="trackDetailsIcon" src="../images/trackdevices/device_'+i+'_inactive.gif"/>';}}}
else if(type=="provider"){for(var i=1;i<=providerMax;i++){if(providerId[i]==track[trackid].provider){images+='<img class="trackDetailsIcon" src="../images/provider/prov_'+providerId[i]+'.gif"/>';}else{images+='<img class="trackDetailsIcon" src="../images/provider/prov_'+providerId[i]+'_inactive.gif"/>';}}
if(track[trackid].provider>providerMax){images+='<img class="trackDetailsIcon" src="../images/provider/prov.gif" alt="andere Provider"/>';}else{images+='<img class="trackDetailsIcon" src="../images/provider/prov_inactive.gif" alt="andere Provider"/>';}}
return images;}}
function getComments(commentObj){var commentMarkup="";var style="";if(commentObj.length>0){commentMarkup+='<ul class="commentList">';var count=commentObj.length;for(var i=0;i<count;i++){if(i%2!=0){style="background-color:#F2F2F2;";}else{style="background-color:#FFFFFF;";}
commentObj[i].comment=commentObj[i].comment.replace(/:\)/g,'<img src="../images/smilies/smile.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/:-\)/g,'<img src="../images/smilies/smile.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/:D/g,'<img src="../images/smilies/biggrin.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/:-D/g,'<img src="../images/smilies/biggrin.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/:\(/g,'<img src="../images/smilies/sad.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/:-\(/g,'<img src="../images/smilies/sad.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/;\)/g,'<img src="../images/smilies/wink.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/;-\)/g,'<img src="../images/smilies/wink.gif"/>');commentObj[i].comment=commentObj[i].comment.replace(/\r\n/g,'<br/>');commentObj[i].comment=commentObj[i].comment.replace(/\n/g,'<br/>');commentObj[i].comment=commentObj[i].comment.replace(/\r/g,'<br/>');commentMarkup+='<li style="'+style+'"><div style="float:right;"><span class="commentDate">('+commentObj[i].date+')</span></div><span class="commentUser">'+Ext.util.Format.htmlEncode(commentObj[i].username)+' schrieb</span>:<br/><div class="commentText">'+commentObj[i].comment+'</div></li>';}
commentMarkup+="</ul>";}
return commentMarkup;}
function getRatingStars(trackid,rating,hover){if(rating==null||rating<0||rating>5){rating=0;}
var ratingNumber;if(Object.isString(rating)){ratingNumber=parseFloat(rating.replace(/,/g,"."));}else{ratingNumber=rating;}
var ratingStars="";var status;for(var i=1;i<=5;i++){if(hover!=null&&i<=hover){status="over";}else{if(i-1<ratingNumber&&i>ratingNumber){status="half";}else if(i<=ratingNumber){status="on";}else{status="off";}}
if(Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom){if(user.getRateStatus(trackid)){Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.onmouseover='';Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.href='#';Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.style.cursor='default';}
Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.className='ratingStar rating_'+status;}}}
function rateTrack(trackid,score){if(trackid!=null&&score>=0&&score<=5){var loadMask=new Ext.LoadMask(Ext.get('trackDetails_'+trackid),{msg:'Lade..'});loadMask.show();Ext.Ajax.request({url:'./STEditServlet',params:{trackid:trackid,rate:score,edittype:"e4"},success:function(responseObject){loadMask.hide();response=Ext.util.JSON.decode(responseObject.responseText);if(response.success){Ext.get('stwin_'+trackid+'_ratingValue').dom.innerHTML=response.rating;getRatingStars(trackid,parseFloat(response.rating.replace(/,/g,".")));Ext.get('stwin_'+trackid+'_ratingCount').dom.innerHTML=response.ratingcount;track[trackid].rating=response.rating;for(var i=1;i<=5;i++){Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.onmouseout=function(){getRatingStars(trackid,parseFloat(response.rating.replace(/,/g,".")));};}}else{}
for(var i=1;i<=5;i++){Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.onmouseover='';Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.href='#';Ext.get('stwin_'+trackid+'_ratingStar_'+i).dom.style.cursor='default';}
user.rateTrack(trackid);}});}}
function updateCommentForm(trackid){if(user.isLoggedIn()){if(Ext.getCmp('stwin_'+trackid+'_commentFormFrame')){if(Ext.getCmp('stwin_'+trackid+'_commentForm')==null){Ext.getCmp('stwin_'+trackid+'_commentFormFrame').add(new Ext.form.FormPanel({labelAlign:'top',height:125,id:'stwin_'+trackid+'_commentForm',items:[{xtype:"textarea",fieldLabel:'Neuen Kommentar schreiben',id:'stwin_'+trackid+'_commentFormTextarea',width:'100%',msgTarget:'title',maxLength:maxTextAreaLength,maxLengthText:maxTextAreaLengthError,listeners:{'valid':function(){Ext.getCmp('stwin_'+trackid+'_commentButton').enable();},'invalid':function(){Ext.getCmp('stwin_'+trackid+'_commentButton').disable();}},height:'68px'}],buttons:[{text:"Abschicken",type:'submit',id:'stwin_'+trackid+'_commentButton',handler:function(){if(Ext.get('stwin_'+trackid+'_commentFormTextarea').dom.value!=""){var loadMask=new Ext.LoadMask(Ext.get('stwin_'+trackid+'_commentFrame'),{msg:'Lade..'});loadMask.show();Ext.Ajax.request({url:'./STEditServlet',params:{edittype:'e1',userid:user.getUserId(),trackid:trackid,comment:Ext.util.Format.htmlEncode(Ext.get('stwin_'+trackid+'_commentFormTextarea').dom.value)},success:function(responseObject){response=Ext.util.JSON.decode(responseObject.responseText);if(response.success){Ext.Ajax.request({url:'./STTrackDataServlet',params:{id:trackid},success:function(responseObject){response=Ext.util.JSON.decode(responseObject.responseText);Ext.get('stwin_'+trackid+'commentFrameDisplay').dom.innerHTML=getComments(response.comments);Ext.get('stwin_'+trackid+'_commentFormTextarea').dom.value="";loadMask.hide();}});}}});}else{Ext.Msg.alert("Hinweis","Sie können keine leeren Kommentare absenden.");}}}]}));Ext.getCmp('stwin_'+trackid+'_commentFormTextarea').on('render',function(){Ext.get('stwin_'+trackid+'_commentFormTextarea').dom.rows=5;});Ext.getCmp('stwin_'+trackid+'_commentFormFrame').doLayout();}}}else if(Ext.get('stwin_'+trackid+'_commentForm')!=null){Ext.getCmp('stwin_'+trackid+'_commentFormFrame').remove(Ext.getCmp('stwin_'+trackid+'_commentForm'));Ext.getCmp('stwin_'+trackid+'_commentFormFrame').doLayout();}}
function updateTracks(){for(var i=0;i<activeWindows.length;i++){updateCommentForm(activeWindows[i]);getReportLinks(activeWindows[i]);}
showEditTrackLinks(user.isLoggedIn());}
function getReportLinks(trackid){if(user.isLoggedIn()){if(Ext.get('stwin_'+trackid+'_reportLink').dom!=null){Ext.get('stwin_'+trackid+'_reportLink').dom.innerHTML='<img ext:qtitle="Track melden" ext:qtip="Sollte dieser Track, dessen Beschreibung oder ein Kommentar dazu unpassende oder anst&ouml;&szlig;ige Inhalte zeigen, können Sie ihn uns gerne melden." class="infoButton" src="images/icons/info.gif" id="stwin_'+trackid+'_info_device"/><a href="javascript:reportTrack('+trackid+')">Track melden</a>';}}else{if(Ext.get('stwin_'+trackid+'_reportLink').dom!=null){Ext.get('stwin_'+trackid+'_reportLink').dom.innerHTML="";}}}
function reportTrack(trackid){var text="Möchten Sie diesen Track wirklich melden?";var title="Track melden";Ext.Msg.confirm(title,text,function(button){if(button=="yes"){Ext.Ajax.request({url:'./STReportTrackServlet',params:{trackid:trackid},success:function(responseObject){response=Ext.decode(responseObject.responseText);Ext.Msg.show({title:"Status",msg:response.message,buttons:Ext.Msg.OK,icon:'iconClass_ok'});}});}});}
function gup(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null){return"";}else{return results[1];}}
function arrayContains(array,element){if(array.indexOf(element)>-1){return true;}else{return false;}}
function initDrive(trackid){if(!driveInProgress[trackid]&&!caliperUsed[trackid]){driveInProgress[trackid]=true;drive(trackid,0,100);}}
function drive(trackid,testCount,delay,stop){if(stop){driveInProgress[trackid]=false;}else{if(testCount<=pointCount[trackid]&&driveInProgress[trackid]&&!caliperUsed[trackid]){drawPoint(testCount,trackid);testCount=testCount+1;setTimeout(function(){drive(trackid,testCount,delay);},delay);}else{driveInProgress[trackid]=false;}}}
function deleteAvatar(){Ext.Ajax.request({url:'./STEditServlet',params:{removetype:'r1'},success:function(responseObject){var response=Ext.decode(responseObject.responseText);if(response.success){Ext.get('avatarImage').dom.src="/images/avatarBlank.jpg";editProfileForm.getForm().findField('avatar').fileInput.dom.value='';}else{Ext.Msg.show({title:'Fehler',msg:response.message,buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});}}});}
function deleteBanner(){Ext.Ajax.request({url:'./STEditServlet',params:{removetype:'r2'},success:function(responseObject){var response=Ext.decode(responseObject.responseText);if(response.success){Ext.get('bannerImage').dom.src="/images/bannerBlank.jpg";editProfileForm.getForm().findField('banner').fileInput.dom.value='';}else{Ext.Msg.show({title:'Fehler',msg:response.message,buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});}}});}
function showEditTrackLinks(show){for(var i=0;i<activeWindows.length;i++){if(show){if(user.getUserId()!=null&&user.isLoggedIn()&&((track[activeWindows[i]].user.id==user.getUserId())||(user.isAdmin()))&&Ext.get('editTrackLink_'+activeWindows[i]).dom){Ext.get('editTrackLink_'+activeWindows[i]).dom.style.visibility="visible";if(!editMode[parseInt(activeWindows[i])]){Ext.get('editTrackLink_'+activeWindows[i]).dom.innerHTML='';var tmpBtn=new Ext.Button({text:'Track editieren',renderTo:'editTrackLink_'+activeWindows[i],handler:function(){editTrack(parseInt(activeWindows[0]));},style:{cssFloat:'right',styleFloat:'right'}});}}}else if(Ext.get('editTrackLink_'+activeWindows[i]).dom){Ext.get('editTrackLink_'+activeWindows[i]).dom.style.visibility="hidden";}}}
function editTrack(trackid){if(user.getUserId()!=null&&user.isLoggedIn()&&((track[trackid].user.id==user.getUserId())||(user.isAdmin()))){Ext.get('stwin_'+trackid+'_movementIcons').dom.innerHTML='';Ext.get('stwin_'+trackid+'_providerIcons').dom.innerHTML='';editMode[trackid]=true;Ext.get('editTrackLink_'+trackid).dom.innerHTML='<div style="float:left; margin-right: 10px;" id="stwin_'+trackid+'_editCancelButton"></div><div id="stwin_'+trackid+'_editSubmitButton"></div>';var changeCancelButton=new Ext.Button({renderTo:'stwin_'+trackid+'_editCancelButton',text:'Abbrechen',handler:function(){cancelTrackEdit(trackid);}});var changeSubmitButton=new Ext.Button({renderTo:'stwin_'+trackid+'_editSubmitButton',text:'Speichern',id:'stwin_'+trackid+'_changeSubmitButton',handler:function(){submitTrackChanges(trackid);}});Ext.get('stwin_'+trackid+'_movementValue').dom.innerHTML='';var movementCombo=new Ext.form.ComboBox({store:new Ext.data.SimpleStore({fields:['label','value'],data:[['zu Fuß','1'],['Fahrrad','2'],['Schiff','3'],['Auto','4'],['Zug','5'],['Flugzeug','6']]}),displayField:'label',valueField:'value',editable:false,mode:'local',triggerAction:'all',id:'movementCombo_'+trackid,value:track[trackid].movementtype,selectOnFocus:false,renderTo:'stwin_'+trackid+'_movementValue',width:150});Ext.get('stwin_'+trackid+'_providerValue').dom.innerHTML='';var providerCombo=new Ext.form.ComboBox({store:new Ext.data.SimpleStore({fields:['label','value'],data:[['T-Mobile','1'],['O2','2'],['Vodafone','3'],['e-plus','4'],['anderer Provider','5']]}),displayField:'label',valueField:'value',mode:'local',editable:false,triggerAction:'all',id:'providerCombo_'+trackid,value:((track[trackid].provider>4)?'5':track[trackid].provider),selectOnFocus:false,renderTo:'stwin_'+trackid+'_providerValue',width:150});Ext.get('stwin_'+trackid+'_descriptionValue').dom.innerHTML='';var descriptionTextarea=new Ext.form.TextArea({renderTo:'stwin_'+trackid+'_descriptionValue',value:track[trackid].descr,id:'descriptionEditField_'+trackid,width:300,height:100,maxLength:maxTextAreaLength,maxLengthText:maxTextAreaLengthError,listeners:{'valid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').enable();},'invalid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').disable();}}});Ext.get('stwin_'+trackid+'_keywordsValue').dom.innerHTML='';var tagField=new Ext.form.TextField({renderTo:'stwin_'+trackid+'_keywordsValue',value:track[trackid].keywords,id:'tagsEditField_'+trackid,width:300,maxLength:maxTextAreaLength,maxLengthText:maxTextAreaLengthError,listeners:{'valid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').enable();},'invalid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').disable();}}});Ext.get('stwin_'+trackid+'_nameValue').dom.innerHTML='';var nameField=new Ext.form.TextField({renderTo:'stwin_'+trackid+'_nameValue',value:track[trackid].name,id:'nameEditField_'+trackid,width:300,maxLength:maxTextFieldLength,maxLengthText:maxTextFieldLengthError,listeners:{'valid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').enable();},'invalid':function(){Ext.getCmp('stwin_'+trackid+'_changeSubmitButton').disable();}}});Ext.get('stwin_'+trackid+'_statusLabel').dom.style.visibility='visible';Ext.get('stwin_'+trackid+'_statusValue').dom.style.visibility='visible';Ext.get('stwin_'+trackid+'_statusValue').dom.innerHTML='';var statusCombo=new Ext.form.ComboBox({store:new Ext.data.SimpleStore({fields:['label','value'],data:[['Veröffentlicht','0'],['Unveröffentlicht','1']]}),displayField:'label',valueField:'value',mode:'local',editable:false,triggerAction:'all',id:'statusCombo_'+trackid,value:track[trackid].trackstatus,selectOnFocus:false,renderTo:'stwin_'+trackid+'_statusValue',width:150});}}
function submitTrackChanges(trackid){if(editMode[trackid]){var newData={movementtype:Ext.getCmp('movementCombo_'+trackid).getValue(),provider:Ext.getCmp('providerCombo_'+trackid).getValue(),description:Ext.getCmp('descriptionEditField_'+trackid).getValue(),keywords:Ext.getCmp('tagsEditField_'+trackid).getValue(),name:Ext.getCmp('nameEditField_'+trackid).getValue(),status:Ext.getCmp('statusCombo_'+trackid).getValue()};var loadMask=new Ext.LoadMask(Ext.get('stwin_'+trackid+'_trackDetails'),{msg:'Sende..'});loadMask.show();Ext.Ajax.request({url:'./STWizardServlet',params:{action:'submitMetadata',trackId:trackid,movementtype:newData.movementtype,provider:newData.provider,name:Ext.util.Format.htmlEncode(newData.name),keywords:Ext.util.Format.htmlEncode(newData.keywords),description:Ext.util.Format.htmlEncode(newData.description),state:newData.status},success:function(responseObject){response=Ext.decode(responseObject.responseText);if(response.success){Ext.Ajax.request({url:'./STTrackDataServlet',params:{id:trackid},success:function(responseObject){track[trackid]=Ext.decode(responseObject.responseText);cancelTrackEdit(trackid);trackWindow[trackid].setTitle(track[trackid].name);movementType[trackid]=track[trackid].movementtype;loadMask.hide();store.reload();}});}else{loadMask.hide();Ext.Msg.show({title:'Fehler',msg:response.message,buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});}}});}}
function cancelTrackEdit(trackid){editMode[trackid]=false;Ext.get('stwin_'+trackid+'_movementValue').dom.innerHTML=track[trackid].movementname;Ext.get('stwin_'+trackid+'_movementValue').dom.style.cssFloat='none';Ext.get('stwin_'+trackid+'_movementValue').dom.style.styleFloat='none';Ext.get('stwin_'+trackid+'_movementIcons').dom.innerHTML=getDetailIcons('movement',trackid);Ext.get('stwin_'+trackid+'_providerValue').dom.innerHTML=track[trackid].providername;Ext.get('stwin_'+trackid+'_providerIcons').dom.innerHTML=getDetailIcons('provider',trackid);Ext.get('stwin_'+trackid+'_descriptionValue').dom.innerHTML=track[trackid].descr.replace(/\r\n/g,'<br/>').replace(/\n/g,'<br/>').replace(/\r/g,'<br/>');Ext.get('stwin_'+trackid+'_keywordsValue').dom.innerHTML=track[trackid].keywords;Ext.get('stwin_'+trackid+'_nameValue').dom.innerHTML=track[trackid].name;Ext.get('stwin_'+trackid+'_statusLabel').dom.style.visibility='hidden';Ext.get('stwin_'+trackid+'_statusValue').dom.style.visibility='hidden';Ext.get('editTrackLink_'+trackid).dom.innerHTML='';var tmpBtn=new Ext.Button({text:'Track editieren',renderTo:'editTrackLink_'+trackid,handler:function(){editTrack(trackid);},style:{cssFloat:'right',styleFloat:'right'}});}