????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 13.59.50.189
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/labs.astacus.se/POCKETLORD/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/labs.astacus.se/POCKETLORD/js/script_fu.js
/*

Förebyggande underhåll
I listan tas klardatum bort och ersätts med rond. Där rond finns skall man när man trycker på visa FU få upp ett nytt fönster med alla ingående FU i den ronden(samma färgkodning som tidigare vit(ohanterad), grön(när den är klarmarkerad), röd(tiden har gått ut)). Längst ned i menyn så skall det finnas en streckkodsläsare. Streckoden avser en installation som med automatik öppnar åtgärdsfliken på den FU där installationen finns. I meny raden behöver det läggas till ett kontrollformulär(erat formulär) tex brandpost kontroll. När kontrollen är klar skall den med automatik fylla i status klar(verkar vara hårdkodad då det går att få upp registret i offline läge) och hamna i formuläret tid där man sparar FU eller ändrar angiven tid. Efter sparad FU hamnar man i listan som avser rondlitsan om FU ligger i rondlista annars i ordinarie listfönster. Vad gäller förebyggande underhåll så är det en inställning påslagen att den med automatik skapar en tidrad när arbetsordern genereras med en föreslagen tid av systemet.(Skickar några installationer som vi skriver ut streckkoder på imorgon)


*/



// GLOBAL register
var Building;
var Floor;
var Room;
var WorkType;
var Priority;
var InstallationType;
var Installation;
var ErrorCause;
var artikel;
var Customer;
var Workgroup;
var Workstatus;
var Performer;
var WorkorderStoresArticles;
var StoresArticleLocation;
var Worktime;

var variabelIndex = 0;

var serviceunitguid_fu;
var serviceunitguid_lo;
var serviceunitguid_ko;
var serviceunitguid_ao;

// Sets the image to offline
function offline() {
    document.getElementById("version").innerHTML = "OFFLINE";
}

// Sets the image to online
function online() {
    document.getElementById("version").innerHTML = "ONLINE";
}

function addform() {
	
	alert("Formuläret är sparat!");
    Workorder.WorkstatusGUID = {"guid":4401025973,"ID":"K","Title":"Arbetet klart"};
	
	  //var aonummer = getQueryFUNummer();
  
	submit_data("atgard", "tid.html") 
	//location.href = "tid.html?ao="+aonummer;
}



  if ((navigator.userAgent.match("iPhone"))) {
        document.getElementsByTagName('html')[0].style.zoom = 0.4;
		
		
		
  }




// GLOBAL Workorders_fu
var Workorders_fu; //Only used in FU-List in index.html
var Workorder; // Used on all other pages inside a FU.

function updateSettings(_nbrRegister,_nbrObject,_serverHost){
	
	
	localStorage.setItem("nbrRegister",_nbrRegister);
	
	localStorage.setItem("nbrObject",_nbrObject);
	localStorage.setItem("serverHost",_serverHost);
	
}

function saveSettings(){
	
	updateSettings(document.getElementById("nbrRegister").value,document.getElementById("nbrObject").value,document.getElementById("serverHost").value);
}

function initFU(call, page) {
    online();
	
	if(localStorage.getItem("serverHost") == null){
		
		updateSettings("100","20","http://skane.test.5d.se/api/v1/");
		//updateSettings("100","20","http://vfast.landlord.5d.se/api/v1/");
	}

	if(page == "fu"){
		
		
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		
		 getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
	
	
	}else if(page == "lo"){
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		
		
		// getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400668077|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
		 getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400915334|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");

		
	}else if(page == "ko"){
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		
		//getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204404958141|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
		getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204415350797|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
		
		
		
		
	}else{

    if (localStorage.getItem('localFUData') == null || localStorage.getItem('localFUData') == "") {
        //var r = confirm("Vill du ladda ner dina arbetsordrar och register från Landlord?");
       // if (r == true) {
			
			//http://vfast.landlord.5d.se/api/v1/Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000013
			
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
		   getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
	
		 // getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000008&take="+nbrObject,"Workorders_fu","getAllRegisters();");
		  // getJSONVariable(""+serverHost+"Workorder?take="+nbrObject,"Workorders_fu","getAllRegisters();");
		 

        //}
    } else {
		
		// ÄRVER ARBETSORDER
		if(getQueryFUNummer() == "0"){
			
			
			Workorder.guid = 0;
			Workorder.WorkorderNumber = 0;
			
			var x = 0;
			for(t in Workorder.Worktime){
				Workorder.Worktime[x].guid = 0;	
				x++;
			}
			x = 0;
			for(t in Workorder.WorkorderStoresArticles){
				Workorder.WorkorderStoresArticles[x].guid = 0;	
				x++;
			}
			
		}

        if (call != "") {
            call = call.replace(/#/g, "'"); // Replace # with '
            eval(call);
        }
		

        if (page != "") {
            page = page.replace(/#/g, "'"); // Replace # with '
            eval(page);
        }
		
		
		var registerTemp = localStorage.getItem("registerTemp");
		
		if (registerTemp != "" ){
			if( registerTemp != null){
			
		
				var JSONdata = JSON.parse(registerTemp);
		
				var fCode = document.getElementById(JSONdata.item.qCode);
				if(fCode != null){
					
					
					var fDescription = document.getElementById(JSONdata.item.qDescription);
			
					fCode.value = JSONdata.item.code;
					fDescription.value = JSONdata.item.description;
					
					
					//if(call != "null"){
						var guid = JSONdata.item.guid;
						
						var	items = eval(JSONdata.item.register);
						var x = 0;
						var obj;
						 for (ao_item in items) {
							 if(items[x].guid == guid){
								 
								 obj = items[x];
							 }
							 x++;
						 }
						
						var name = JSONdata.item.qCode.substr(0,JSONdata.item.qCode.lastIndexOf("."));
						var setValue = "Workorder." + name;
						if(name != ""){
							eval("Workorder." + name+" = obj");
						}
						
						localStorage.setItem("registerTemp", "");
						
						submit_data(JSONdata.item.page, '');
					//}
					//localStorage.setItem("registerTemp", "");
				}
			}
			
		}
		
    }

	}
}




function populateFields() {


    for (i = 0; i < document.forms[0].elements.length; i++) {
        var type = document.forms[0].elements[i].type;
        var name = document.forms[0].elements[i].name;

        if (type == "text" || type == "textarea" || type == "tel") {
			var obj = 'Workorder.' + name;
			obj = obj.substr(0,obj.lastIndexOf("."));
            if (eval(obj) != undefined &&  name != "") {
               
				eval('addFieldItem("' + name + '",Workorder.' + name + ');');
            }
        } else if (type == "select-one") {   
		var obj = 'Workorder.' + name;
			obj = obj.substr(0,obj.lastIndexOf("."));
            if (eval(obj) != undefined &&  name != "") {   
				var register = name;
				register = register.substr(0,register.lastIndexOf(".")-4);
				eval('addSelectItems("' + name + '",' + register + ');');
				eval('selectItem("' + name + '",Workorder.' + name + ');');
			 }
        }
    }
	//function addSelectItems(selectId, items) {

    var aonummer = getQueryFUNummer();
    document.getElementById("link_uppdrag").href = "uppdrag.html?ao=" + aonummer;
    document.getElementById("link_atgard").href = "atgard.html?ao=" + aonummer;
    document.getElementById("link_tid").href = "tid.html?ao=" + aonummer;
    document.getElementById("link_forrad").href = "forrad.html?ao=" + aonummer;
    document.getElementById("link_ovrigt").href = "ovrigt.html?ao=" + aonummer;

    setFUTopic();
}





function setBarcode(barcode, page, target) {
	if(page == "stadkontroll"){
		 location.href = barcode;
	}else{
		
		alert( page + "?ao=" + barcode);
    	location.href = page + "?ao=" + barcode;
	}
}

/*
function getJSONData(JSONString, call) { // Is called after request to getjson://
    
	if (JSONString.indexOf("arbetsordrar") !== -1) {
        localStorage.setItem("localFUData", JSONString);
        eval(JSONString);
        window.location = "getjson://labs.astacus.se/POCKETLORD/web-api/getJSONObjects.php?type=register#drawFUTable('','','','');";

    } else if (JSONString.indexOf("register") !== -1) {

        if (localStorage.getItem("localFURegister") != "") { // Append new register!
            var regs = localStorage.getItem("localFURegister");
            JSONString = regs + ";" + JSONString;
            localStorage.setItem("localFURegister", JSONString);
            eval(JSONString);
        } else {
            localStorage.setItem("localFURegister", JSONString);
            eval(JSONString);
        }
    }

    if (call != "") {
        call = call.replace(/#/g, "'"); // Replace # with '
        eval(call);
    }
}
*/

function drawFUTable(byggnad, arbetstyp, utforare, prioritet) {

	document.getElementById("loading").style.visibility = "hidden";
    var table = '<table width="730" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
    table += '<tr>';
    table += '<td width="15"></td>';
    table += '<td width="90" class="table_texts"><strong>Byggnad</strong></td>';
    table += '<td width="110" class="table_texts"><strong>Rond</strong></td>';
    table += '<td width="70" class="table_texts"><strong>Arb.typ</strong></td>';
    table += '<td width="50" class="table_texts"><strong>Prio</strong></td>';
    table += '<td width="70" class="table_texts"><strong>Arb.gr.</strong></td>';
    table += '<td width="60" class="table_texts"><strong>Utför.</strong></td>';
    table += '<td width="230" class="table_texts"><strong>Beskrivning</strong></td>';
    table += '<td width="50" class="table_texts">&nbsp;</td>';
    table += '</tr>';
    var x = 0;
    for (ao_item in Workorders_fu) {
        //if (Workorders_fu[x].WorkorderStatusTitle == "Aktiv") {
            var link = 'javascript:document.location.href=\'uppdrag.html?ao=' + Workorders_fu[x].WorkorderNumber + '&index=' + x + '\'';
            show = false;
            var script = "";
            if (byggnad != "") {
				if(Workorders_fu[x].BuildingGUID != null){
                	script += " && Workorders_fu[x].BuildingGUID.ID.toUpperCase().indexOf(byggnad.toUpperCase()) !== -1 ";
				}
            }
            if (arbetstyp != "") {
				if(Workorders_fu[x].WorkTypeGUID != null){
                	script += " && Workorders_fu[x].WorkTypeGUID.ID.toUpperCase().indexOf(arbetstyp.toUpperCase()) !== -1 ";
				}
            }
            if (utforare != "") {
				if(Workorders_fu[x].PerformerGUID != null){
               		 script += " && Workorders_fu[x].PerformerGUID.ID.toUpperCase().indexOf(utforare.toUpperCase()) !== -1 ";
				}
            }
            if (prioritet != "") {
				if(Workorders_fu[x].PriorityGUID != null){
                	script += " &&  Workorders_fu[x].PriorityGUID.ID.toUpperCase().indexOf(prioritet.toUpperCase()) !== -1 ";
				}
            }

            script = script.substring(4, 500);
            if (script == "") {
                script = "true";
			}

            if (eval(script)) {
                show = true;
            }

            if (show == true) {
				
				var WorkorderDescriptionPlain = "";
				if(Workorders_fu[x].WorkorderDescriptionPlain != undefined){
					WorkorderDescriptionPlain = Workorders_fu[x].WorkorderDescriptionPlain.substr(0, 35);
				
				}
				
				var currentTime = new Date();
				var month = currentTime.getMonth() + 1;
				if(month < 10){
					month = "0"+month;	
				}
				var day = currentTime.getDate();
				if(day < 10){
					day = "0"+day;	
				}
				var year = currentTime.getFullYear();
				var datum= year +"-"+ month + "-" + day;
			
				
				
				
				
				var status = "";
				if(Workorders_fu[x].ReadyDateTime.substr(0,10) < datum){
				
				 status = '<img src="../../images/red.png" alt="" width="10" height="10">';
				}
				
				if(Workorders_fu[x].WorkstatusGUID!=null){
					if(Workorders_fu[x].WorkstatusGUID.ID == "K"){
					 status = '<img src="../../images/green.png" alt="" width="10" height="10">';
					}
				}
				
				if(Workorders_fu[x].BuildingGUID != null){
					var ID = Workorders_fu[x].BuildingGUID.ID;
				}
				if(Workorders_fu[x].ReadyDateTime != null){
					var Ready = Workorders_fu[x].ReadyDateTime.substr(0, 10);
				}
				if(Workorders_fu[x].WorkTypeGUID != null){
					var WorkType = Workorders_fu[x].WorkTypeGUID.ID;
				}
				if(Workorders_fu[x].PriorityGUID != null){
					var Priority = Workorders_fu[x].PriorityGUID.ID;
				}
				if(Workorders_fu[x].WorkgroupGUID != null){
					var Workgroup = Workorders_fu[x].WorkgroupGUID.ID;
				}
				if(Workorders_fu[x].PerformerGUID != null){
					var Performer = Workorders_fu[x].PerformerGUID.ID;
				}
				if(Workorders_fu[x].BuildingGUID != null){
					var ID = Workorders_fu[x].BuildingGUID.ID;
				}
				
				
			
				  if ((navigator.userAgent.match("iPhone"))) {
       				 
				WorkorderDescriptionPlain = WorkorderDescriptionPlain.substr(0,10);
				Ready = Ready.substr(5,10);
		
		
  					}

				
				var Rond = "Rond 1";
				
                table += '<tr>';
                table += '<td width="15" height="40" class="table_texts">' + status + '</td>';
				table += '<td width="90" height="40" class="table_texts">' + ID + '</td>';
                table += '<td width="110"  class="table_texts">' + Rond  + '</td>';
                table += '<td width="70"  class="table_texts">' + WorkType + '</td>';
                table += '<td width="50"  class="table_texts">' + Priority + '</td>';
                table += '<td width="70" class="table_texts">' + Workgroup + '</td>';
                table += '<td width="60"  class="table_texts">' + Performer + '</td>';
                table += '<td width="230"  class="table_texts"><a href="javascript:showMessage(\''+Workorders_fu[x].WorkorderDescriptionPlain+'\');">' + WorkorderDescriptionPlain + '...</a></td>';
                table += '<td width="50" align="right"><input type="button" value="Ta FU" onClick="' + link + '" class="buttons_small"></td>';
                table += '</tr>';
            }
       // }
        x++;
    }
    table += '</table>';
    document.getElementById("ao_table").innerHTML = table;

    sorttable.makeSortable(document.getElementById("cp_table"));
    enableFormsInIscroll();
}

function showMessage(message){
	alert(message);
}

function drawTableForrad() {

    var table = '<table width="720" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
    table += '<tr>';
    table += '<td width="300">Artikel:</td>';
    table += '<td width="50"></td>';
    table += '<td width="50">Antal:</td>';
    table += '<td width="200">&nbsp;</td>';
    table += '<td width="20"></td>';

    table += '<td width="100" align="right">&nbsp;</td>';
    table += '</tr>';

    var y = 0;
	var total_kost = 0;
    for (f_item in Workorder.WorkorderStoresArticles) {
			if(Workorder.WorkorderStoresArticles[y] != undefined ){
				
					table += '<tr>';
					table += '<td width="300">' + Workorder.WorkorderStoresArticles[y].Title + '</td>';
					table += '<td width="50"></td>';
					table += '<td width="50" id="forrad_antal'+y+'">' + Workorder.WorkorderStoresArticles[y].Quantity + '</td>';
					table += '<td width="200"></td>';
				   
				   //	table += '<td width="200"><input type="button" name="button4" id="button4" value="+" class="texts" onClick="increase_forrad('+y+');"><input type="button" name="button9" id="button9" value="-" class="texts" onClick="decrease_forrad('+y+');"></td>';
				   
				  //  var kost = arbetsorder.forrad.item[y].antal * arbetsorder.forrad.item[y].pris;
				   // total_kost += kost; 
				   
					table += '<td width="20"></td>';
					table += '<td width="100" align="right"><input type="submit" name="button3" id="button3" value="Makulera" class="texts" onClick="javascript:deleteForradArticle('+Workorder.WorkorderStoresArticles[y].guid+');"></td>';
					table += '</tr>';
				
			}
        y++;

    }
	
	//arbetsorder.tid.item[0].for_kostnad = total_kost; // Add total cost to Tid För.kostnad
	
	localStorage.setItem("currentFU", JSON.stringify(Workorder));
	
    table += '</table>';
    document.getElementById("f_table").innerHTML = table;

    sorttable.makeSortable(document.getElementById("cp_table"));
    enableFormsInIscroll();
}

function addForradArticle(){
	
	var forradTemp;
	var guid = document.getElementById("artikel").value;
	var Quantity = document.getElementById("antal").value;
	var x = 0;
	for(Article in StoresArticleLocation){
		if(StoresArticleLocation[x].guid == guid){
			forradTemp = {"guid":StoresArticleLocation[x].guid,"ID":StoresArticleLocation[x].ID,"Title":StoresArticleLocation[x].Title,"Quantity":Quantity};
		}	
		x++;
	}
	
	var str = {"guid":0,"Title":forradTemp.Title,"StoresArticleLocationGUID":{"guid":forradTemp.guid,"ID":forradTemp.ID,"Title":forradTemp.Title,"StoresGUID":null,"Balance":0,"StoresUnitGUID":null,"StoragePlace":null,"ArticlePrice":0},"Quantity":forradTemp.Quantity}
	
	if(Workorder.WorkorderStoresArticles != undefined){
		
		Workorder.WorkorderStoresArticles.push(str);	
	}else{
		
		s = [];
		s.push(str);
		
		Workorder.WorkorderStoresArticles = s;
	}
	
	
	
	localStorage.setItem("currentFU", JSON.stringify(Workorder));
	drawTableForrad();
	
}

function deleteForradArticle(guid){
	//
	
	var x = 0;
	for(Article in Workorder.WorkorderStoresArticles){
		if(Workorder.WorkorderStoresArticles[x] != undefined ){
			
				if(Workorder.WorkorderStoresArticles[x].guid == guid){
				 	Workorder.WorkorderStoresArticles[x].Quantity = 0;
				}
			
		}
		x++;
	}
	
	localStorage.setItem("currentFU", JSON.stringify(Workorder));
	drawTableForrad();
	
	
	//delete myObj.test[keyToDelete];
}

function drawTableTid() {

	 var table = '<table width="720" border="0" align="center" cellpadding="0" cellspacing="0">';
          var y = 0;
		 for (t_item in Workorder.Worktime) {

	
			
			var currentTime = new Date();
			var month = currentTime.getMonth() + 1;
			if(month < 10){
			 	month = "0"+month;	
			}
			var day = currentTime.getDate();
			if(day < 10){
			 	day = "0"+day;	
			}
			var year = currentTime.getFullYear();
			var datum= year +"-"+ month + "-" + day;
			
			
			
			table += '<tr>';
			table += '	<td width="90"  valign="middle"><input name="Worktime['+y+'].TimeNormal" type="tel" class="textfields" id="Worktime['+y+'].TimeNormal" value="'+Workorder.Worktime[y].TimeNormal+'" size="3" onKeyUp="submit_data(\'uppdrag\',\'\');"></td>';
          	
          	table += '	<td width="290" valign="middle"><input name="Worktime['+y+'].WorkgroupGUID.ID" type="text" readonly="readonly" class="textfields" id="Worktime['+y+'].WorkgroupGUID.ID" size="13" value="'+Workorder.Worktime[y].WorkgroupGUID.ID+'"> <img src="../../images/button-magnify.png" alt="" width="40" height="47" align="absmiddle" onClick="openRegisterView(\'Workgroup\',\'Worktime['+y+'].WorkgroupGUID.ID\',\'Worktime['+y+'].WorkgroupGUID.ID\',\'tid\');"></td>';
			
          	table += '	<td width="150" valign="middle"><input name="Worktime['+y+'].PerformerGUID.ID" type="text" readonly="readonly" class="textfields" id="Worktime['+y+'].PerformerGUID.ID" value="'+Workorder.Worktime[y].PerformerGUID.ID+'" size="3" > <img src="../../images/button-magnify.png" alt="" width="40" height="47" align="absmiddle" onClick="openRegisterView(\'Performer\',\'Worktime['+y+'].PerformerGUID.ID\',\'Worktime['+y+'].PerformerGUID.ID\',\'tid\');" ></td>';
          	
			table += '	<td width="190" valign="middle"><input name="datum" type="tel" readonly="readonly"  class="textfields" id="datum" value="'+datum+'" size="10" ></td>';
			
			
			table += '</tr>';
	
			y++;

    	}
        
      table += '</table>';
    


    
    document.getElementById("tid_table").innerHTML = table;

    enableFormsInIscroll();
}

function addTidRow(){
	

	//var arbetsgrupp = document.getElementById("arbetsgrupp0").value;
	//var utforare = document.getElementById("utforare").value;


var currentTime = new Date();
				var month = currentTime.getMonth() + 1;
				if(month < 10){
					month = "0"+month;	
				}
				var day = currentTime.getDate();
				if(day < 10){
					day = "0"+day;	
				}
				var year = currentTime.getFullYear();
				var datum= year +"-"+ month + "-" + day;
				
				
				if(Workorder.WorkgroupGUID != null){
				var WW_Title = Workorder.WorkgroupGUID.Title;
				var WW_ID = Workorder.WorkgroupGUID.ID;
				var WW_GUID = Workorder.WorkgroupGUID.guid;
				}else{
					var WW_Title = "";
					var WW_ID = "";
					var WW_GUID = 0;
				}
				
				
				if(Workorder.PerformerGUID != null){
				var WP_Title = Workorder.PerformerGUID.Title;
				var WP_ID = Workorder.PerformerGUID.ID;
				var WP_GUID = Workorder.PerformerGUID.guid;
				}else{
					var WP_Title = "";
					var WP_ID = "";
					var WP_GUID = 0;
				}
				
			
				
				var str = {"guid":0,"WorkgroupGUID":{"guid":WW_GUID,"ID":WW_ID,"Title":WW_Title},"PerformerGUID":{"guid":WP_GUID,"ID":WP_ID,"Title":WP_Title,"WorkgroupGUID": null},"TimeNormal":0,"ExecutionDate":datum};
	
	if(Workorder.Worktime != undefined){
		
		Workorder.Worktime.push(str);
	}else{
		
		s = [];
		s.push(str);
		
		Workorder.Worktime = s;
	}
	
	localStorage.setItem("currentFU", JSON.stringify(Workorder));
	drawTableTid();
	
}


function drawRegisterTable(kod, beskrivning, flag) {
	
	
	document.getElementById("loading").style.visibility = "hidden";
	
    var qDescription = getQueryDescritpion();
    var qCode = getQueryCode();
    var qPage = getQueryPage();
	var qRegister = getQueryRegister();
    var qFUNummer = getQueryFUNummer();
    var x = 0;
	

    if (eval(qRegister) == null) { // Downlod the register if it does not exist local!
        var r = confirm("Detta register måste laddas ner från er Server, vill du göra det nu?");
        if (r == true) {
			
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			getJSONVariable(""+serverHost+""+qRegister+"?take="+nbrRegister+"",qRegister,"drawRegisterTable('','','');");
        
		}
    }
	
	
	if(qRegister == "Performer" && flag == "" && qPage == "tid"){
		
			var index1 = qCode.indexOf("[");
			var index2 = qCode.indexOf("]");
			
			var index = parseInt(qCode.substr(index1+1,index2-index1));
			
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var WorkgroupGUID = Workorder.Worktime[index].WorkgroupGUID.guid;
		//	alert(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
			getJSONVariable(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");	
	}
	
	if(qRegister == "Performer" && flag == "" && qPage == "ovrigt"){
		
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var WorkgroupGUID = Workorder.WorkgroupGUID.guid;
			//alert(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
			getJSONVariable(""+serverHost+"Performer?where=WorkgroupGUID%20eq%20"+WorkgroupGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");	
	}
	
	if(qRegister == "Floor" && flag == ""){
		
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var BuildingGUID = Workorder.BuildingGUID.guid;
			//alert(""+serverHost+"Floor?where=BuildingGUID%20eq%20"+BuildingGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");
			getJSONVariable(""+serverHost+"Floor?where=BuildingGUID%20eq%20"+BuildingGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");	
	}
	
	if(qRegister == "Room" && flag == ""){
		
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var FloorGUID = Workorder.FloorGUID.guid;
			getJSONVariable(""+serverHost+"Room?where=FloorGUID%20eq%20"+FloorGUID+"&take="+nbrRegister,qRegister,"drawRegisterTable('','','stop');");	
	}
	
	
    var table = '<table width="730" border="0" align="center" cellpadding="0" cellspacing="0" class="sortable" id="cp_table">';
    table += '<tr>';
    table += '<td width="200"><strong>Kod</strong></td>';
    table += '<td width="480"><strong>Benämning</strong></td>';
    table += '<td width="50">&nbsp;</td>';
    table += '</tr>';
	
	var	items = eval(qRegister);
	
    for (ao_item in items) {


			var ID = items[x].ID;
			var Title = items[x].Title;
			var guid = items[x].guid;
			
			if(ID == undefined){
				ID = items[x].guid;
			}
			if(Title == undefined){
				Title = ""	
			}
		
		if(qRegister == "StoresArticleLocation"){
			//alert(StoresArticleLocation);
			ID = items[x].guid;
		}
			
	

        var link = "updateFieldsFromRegister('" + qCode + "','" + qDescription + "','"+qRegister+"','" + ID + "','"+guid+"','" + Title + "','" + qFUNummer + "','" + qPage + "');";
		
        show = false;

        var script = "";
        if (kod != "") {
            script += " && " + qRegister +"[x].ID.toUpperCase().indexOf(kod.toUpperCase())  !== -1 ";

        }
        if (beskrivning != "") {
            script += " && " + qRegister + "[x].Title.toUpperCase().indexOf(beskrivning.toUpperCase()) !== -1 ";
        }
		
	/*	if(qRegister == "Floor"){
			 var BuildingGUID = Workorder.BuildingGUID.ID;
			 script += " && items[x].BuildingGUID.ID == '"+BuildingGUID+"' ";
		}
		
		if(qRegister == "Room"){
			 var FloorGUID = Workorder.FloorGUID.ID;
			 script += " && items[x].FloorGUID.ID == '"+FloorGUID+"' ";
		}*/

        script = script.substring(4, 500);
        if (script == "") {
            script = "true";
        }


        if (eval(script)) {
            show = true;
        }

        if (show == true) {
			
			
			
            table += '<tr>';
            table += '<td width="200" height="40">' + ID + '</td>';
            table += '<td width="480">' + Title + '</td>';
            table += '<td width="50" align="right"><input type="button" value="Välj" onClick="' + link + '" class="buttons_small"></td>';
            table += '</tr>';
        }
        x++;
    }
    table += '</table>';
    document.getElementById("ao_table").innerHTML = table;

    sorttable.makeSortable(document.getElementById("cp_table"));
    enableFormsInIscroll();
}


function enableFormsInIscroll() {
    [].slice.call(document.querySelectorAll('input, select, button, textarea')).forEach(function (el) {
        el.addEventListener(('ontouchstart' in window) ? 'touchstart' : 'mousedown', function (e) {
            e.stopPropagation();
        })
    })
}


function filterFU() {
    drawFUTable(document.getElementById("urval_byggnad").value.toString(), document.getElementById("urval_arbetstyp").value.toString(), document.getElementById("urval_utforare").value.toString(), document.getElementById("urval_prio").value.toString());
}

function filterRegister() {
    drawRegisterTable(document.getElementById("urval_kod").value.toString(), document.getElementById("urval_beskrivning").value.toString(),'stop');
}


function reloadFURgisterAndArbetsorder() { //DONE
    var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
    if (r == true) {
		var nbrRegister = localStorage.getItem("nbrRegister");
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		variabelIndex = 0;
		 
		   getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
		 //getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000008&take="+nbrObject,"Workorders_fu","getAllRegisters();");
       
    }
}

function reloadFURgisterAndFU() { //DONE
    var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
    if (r == true) {
		var nbrRegister = localStorage.getItem("nbrRegister");
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		variabelIndex = 0;
		 getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%201|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
       
    }
}

function reloadFURgisterAndLO() { // DONE
    var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
    if (r == true) {
		var nbrRegister = localStorage.getItem("nbrRegister");
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
	variabelIndex = 0;
		 getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400668077|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
       
    }
}

function reloadFURgisterAndKO() { // DONE
    var r = confirm("Vill du verkligen ladda om alla arbetsorder?");
    if (r == true) {
		var nbrRegister = localStorage.getItem("nbrRegister");
		var nbrObject = localStorage.getItem("nbrObject");
		var serverHost = localStorage.getItem("serverHost");
		variabelIndex = 0;
		 getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204404958141|workorderStatus%20eq%200&take="+nbrObject,"Workorders_fu","getAllRegisters();");
       
    }
}




function getAllRegisters(){
	
	var nbrRegister = localStorage.getItem("nbrRegister");
	var nbrObject = localStorage.getItem("nbrObject");
	var serverHost = localStorage.getItem("serverHost");
	var registerArray = ["getJSONVariable('"+serverHost+"Building/?take="+nbrRegister+"','Building','getAllRegisters()');","getJSONVariable('"+serverHost+"Floor/?take="+nbrRegister+"','Floor','getAllRegisters();');","getJSONVariable('"+serverHost+"Room/?take="+nbrRegister+"','Room','getAllRegisters();');","getJSONVariable('"+serverHost+"Worktype/?take="+nbrRegister+"','WorkType','getAllRegisters();');","getJSONVariable('"+serverHost+"Priority/?take="+nbrRegister+"','Priority','getAllRegisters();');","getJSONVariable('"+serverHost+"InstallationType/?take="+nbrRegister+"','InstallationType','getAllRegisters();');","getJSONVariable('"+serverHost+"Installation/?take="+nbrRegister+"','Installation','getAllRegisters();');","getJSONVariable('"+serverHost+"ErrorCause/?take="+nbrRegister+"','ErrorCause','getAllRegisters();');","getJSONVariable('"+serverHost+"Customer/?take="+nbrRegister+"','Customer','getAllRegisters();');","getJSONVariable('"+serverHost+"Workgroup/?take="+nbrRegister+"','Workgroup','getAllRegisters();');","getJSONVariable('"+serverHost+"WorkorderStoresArticles/?take="+nbrRegister+"','WorkorderStoresArticles','getAllRegisters();');","getJSONVariable('"+serverHost+"StoresArticleLocation/?take="+nbrRegister+"','StoresArticleLocation','getAllRegisters();');","getJSONVariable('"+serverHost+"Workstatus/?take="+nbrRegister+"','Workstatus','getAllRegisters();');","getJSONVariable('"+serverHost+"Worktime/?take="+nbrRegister+"','Worktime','getAllRegisters();');","getJSONVariable('"+serverHost+"Performer/?take="+nbrRegister+"','Performer','drawFUTable(##,##,##,##)');"];
	
	eval(registerArray[variabelIndex]);
	variabelIndex++;
}

function getJSONVariable(url,variable,functionToCall) {
		
		document.getElementById("loading").style.visibility = "visible";
		document.getElementById("loading").innerHTML="<br><strong>LADDAR...</strong><br><div class='texts'>"+variable+"</div>";
         
		if (functionToCall != "") {
            functionToCall = functionToCall.replace(/#/g, "'"); // Replace # with '
        }
		
		
		look = true;
		var call = url.replace("http://","getjsonvariable://")+"!"+variable+"&"+functionToCall;
		window.location = call;
	  
}



function setJSONVariable(variable,functionToCall){
	
	
	 variable = variable.replace(/\r\n/g, ""); 
	 variable = variable.replace(/\n/g, ""); 
	 variable = variable.replace(/\r/g, ""); 
	 //variable = variable.replace(/\\\"/g, ""); 
	
	
	
	 functionToCall = functionToCall.replace(/#/g, "'");
	
	if(variable != "" && functionToCall != ""){
		
		if (variable.indexOf("Workorders_fu") !== -1) {
	        localStorage.setItem("localFUData", variable);
    	}
		
	
			eval(variable);
		
			
		
		//	
		
		eval(functionToCall);
		
		if (localStorage.getItem("localFURegister") != "") { // Append new register!
            var regs = localStorage.getItem("localFURegister");
            variable = regs + ";" + variable;
            localStorage.setItem("localFURegister", variable);
        } else {
            localStorage.setItem("localFURegister", variable);
        }
		
		
	
	}else if(variable != "" && functionToCall == ""){
		eval(variable);
	}else if(variable == "" && functionToCall != ""){
		eval(functionToCall);
	}
}






function openRegisterView(register, code ,description, page) {
    var ao = getQueryFUNummer();
    if (code == "artikel_forrad") {
        ao = ""; // We dont need ao-number for Förråd!
    }
    window.location = "register.html?ao=" + ao + "&code=" + code + "&register=" + register + "&description=" + description + "&page=" + page;
}

// Add Items to a select menu
function addSelectItems(selectId, items) {
    var select = document.getElementById(selectId);
    select.options.length = 0;
    for (index in items) {
        select.options[select.options.length] = new Option(items[index].ID, items[index].ID);
    }
}

// Selects Items to a select menu
function selectItem(selectId, items) {
    var selObj = document.getElementById(selectId);
    for (var i = 0; i < selObj.options.length; i++) {
        if (selObj.options[i].text == items) {
            selObj.options[i].selected = true;
        }
    }
}

function updateFieldsFromRegister(qCode, qDescription, qRegister, code, guid, description, aonumber, page) {
    if (qCode == "artikel" || qCode == "artikel_forrad") { // In artikel (Förråd) we want to add "code" instead of description
        var registerTemp = {
            "item": {
                "qCode": qCode,
                "qDescription": qDescription,
				"register": qRegister,
                "code": code,
				"guid": guid,
                "description": code,
                "page": page
            }
        }
    } else {
        var registerTemp = {
            "item": {
                "qCode": qCode,
                "qDescription": qDescription,
				"register": qRegister,
                "code": code,
				"guid": guid,
                "description": description,
                "page": page
            }
        }
    }


    localStorage.setItem("registerTemp", JSON.stringify(registerTemp));

    if (qCode == "artikel_forrad") {
        window.location = "index.html"; // We dont need any ID for Förråd
    } else {
        window.location = page + ".html?ao=" + aonumber;
    }
}

// Add Items to a textfield
function addFieldItem(selectId, i) {
	var field = document.getElementById(selectId);
	
	if(selectId.indexOf("DateTime") !== -1){
		// Syntax is like 2012-01-01T00:00:00.123 -> 2012-01-01 00:00
		i = i.replace("T"," ");
		i = i.substr(0,16);
						
	}
	if(i != undefined){
		field.value = i;
	}
	
}

function sendEmail() {
    location.href = "mailto:" + arbetsorder.ovrigt.epost;
}

function callPhone() {
    location.href = "call:" + arbetsorder.ovrigt.epost;
}

function smsPhone() {
    location.href = "sms:" + arbetsorder.ovrigt.epost;
}


//Update the description based on new option text
function updateSelect(selObj, items, field, page) {
    var newText = selObj.options[selObj.selectedIndex].text;
    items = eval(items);
    for (index in items) {
        if (items[index].ID == newText) {
            addFieldItem(field, items[index].Title);
        }
    }
    submit_data(page, '');
}


// Creates an XML of all fields data and saves it in localStorage called localXML
function submit_data(page, goto) {


    for (i = 0; i < document.forms[0].elements.length; i++) {
        var name = document.forms[0].elements[i].name;
        var type = document.forms[0].elements[i].type;
        var value = document.forms[0].elements[i].value;
		//alert("name:"+name+" type:"+type);
        if (type == "text" || type == "tel" || type == "select-one" || type == "textarea") {

			
			//var setValue = "Workorder." + name + " = '" + value + "'";
			var temp_name = name.substr(0,name.lastIndexOf("."));
			
			if(name.lastIndexOf(".")  === -1){
				
					var setValue = "Workorder." + name  + " = '" + value + "'";
					
					eval(setValue);
			}else{
				if(eval("Workorder."+temp_name) != null){
					var setValue = "Workorder." + name  + " = '" + value + "'";
					//alert(setValue);
					eval(setValue);
			
				}
			}
        
		}

    }
	
	if(page == "uppdrag"){
		 setFUIndex();
	}

    localStorage.setItem("currentFU", JSON.stringify(Workorder));

    if (goto != "") {
        if (goto != "index.html") {
            location.href = goto + "?ao=" + getQueryFUNummer();
        } else {
	
            var localFUData = localStorage.getItem("localFUData");
            var index = getIndexForFUNumber(getQueryFUNummer());
            var JSONdata = eval(localFUData);

            localStorage.setItem("localFUData", "Workorders_fu = " + JSON.stringify(JSONdata));
			
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var url = ""+serverHost+"Workorder/action/save/?"
			var call = url.replace("http://","sendjson://") + localStorage.getItem("currentFU");
			
			//Update FU List
			Workorders_fu[parseInt(localStorage.getItem("FUIndex"))] = JSON.parse(localStorage.getItem("currentFU"));
			localStorage.setItem("localFUData", "Workorders_fu = " + JSON.stringify(Workorders_fu));
			window.location = call;
	
        }
    }
}


function setFUIndex() {
   

    var path = document.location.toString();
    var index = path.substring(path.indexOf("&index=") + 7);
    if (index.length < 10) { // Make sure we only store index when its a number. If we navigate to uppdrag.html from any other page we shall not reset FUIndex
        localStorage.setItem("FUIndex", index);

        var savedlocalFUData = localStorage.getItem('localFUData');
        eval(savedlocalFUData);

        localStorage.setItem("currentFU", JSON.stringify(Workorders_fu[index]));

        var savedFURegister = localStorage.getItem("localFURegister");
        eval(savedFURegister);

        var savedcurrentFUData = localStorage.getItem('currentFU');
        savedcurrentFUData = "Workorder = " + savedcurrentFUData
        eval(savedcurrentFUData);
    }
	 
	
}

function getQueryCode() {
    var path = document.location.toString();
    var qCode = path.substring(path.indexOf("&code=") + 6);
    var pos = qCode.indexOf("&");
    return qCode.substring(0, pos);
}

function getQueryDescritpion() {
    var path = document.location.toString();
    var qDecription = path.substring(path.indexOf("&description=") + 13);
    var pos = qDecription.indexOf("&");
    return qDecription.substring(0, pos);
}

function getQueryRegister() {
    var path = document.location.toString();
    var qRegister = path.substring(path.indexOf("&register=") + 10);
    var pos = qRegister.indexOf("&");
    return qRegister.substring(0, pos);
}

function getQueryPage() {
    var path = document.location.toString();
    return path.substring(path.indexOf("&page=") + 6);
}


function setFUTopic() {
    var topic = document.getElementById("topic");
    var aonummer = getQueryFUNummer();
    topic.innerHTML = "Arbetsorder: "+ aonummer + " - " + Workorder.WorkorderStatusTitle;
}



function increase(fieldId) {
    var field = document.getElementById(fieldId);
    field.value = parseInt(field.value) + parseInt(1);
}

function decrease(fieldId) {
    var field = document.getElementById(fieldId);
    if (field.value > 0) {
        field.value = parseInt(field.value) - parseInt(1);
    }
}

function increase_forrad(index) {	
	 Workorder.WorkorderStoresArticles[index].Quantity = parseInt(Workorder.WorkorderStoresArticles[index].Quantity) + 1;
	 localStorage.setItem("currentFU", JSON.stringify(Workorder));
	 drawTableForrad();
}

function decrease_forrad(index) {
    var v =  parseInt(Workorder.WorkorderStoresArticles[index].Quantity)
	if (v > 0) {
        Workorder.WorkorderStoresArticles[index].Quantity = parseInt(Workorder.WorkorderStoresArticles[index].Quantity) - 1;
    }
	
	localStorage.setItem("currentFU", JSON.stringify(Workorder));
	drawTableForrad();
}

function reloadPage(page) {
    return page + "?" + Math.random();
}



/*
	FUNCTIONS USED BY Arbetsorder 
*/

// Returns the array index in arbetsorder for a given aonummer. 
function getIndexForFUNumber(aonummer) {
    return localStorage.getItem("FUIndex");
}

function newFU() {
    var r = confirm("Vill du ärva egenskaper från den senaste arbetsordern?");
    if (r == true) {
        window.location = "uppdrag.html?ao=0";
    } else {
        window.location = "uppdrag.html?ao=0";
    }
}


function getQueryFUNummer() {
    var path = document.location.toString();
    var qFUNummer = path.substring(path.indexOf("?") + 4);
    var pos = qFUNummer.indexOf("&");
    if (pos === -1) {
        return qFUNummer;
    } else {
        return qFUNummer.substring(0, pos);
    }
}

function takePhoto(page,photo){
	var url = "takephoto://"+page+".html#"+photo;
	window.location = url;
}

function showPhoto(page,photo,photoname){
	//window.location = page;¨
	alert(document.getElementById(photo).src);
	document.getElementById(photo).src = "http://www.astacus.se/images/verktyg.jpg";
	
}

function showImage(){
	document.getElementById("photo").src ="http://labs.astacus.se/POCKETLORD/Moduler/PU/image.php";
}

function goToList(){
	  window.location = "index.html";
}


function sendJSONResult(obj){
	
	//alert((obj));
	var Result = JSON.parse((obj));
	
	if(Result.SaveMessage != null){
		alert(Result.SaveMessage);
	}else{
	
	
	//alert(Result.UpdatedModel.replace(/#/g, '"'));
		//var UpdatedWorkOrder = JSON.parse(Result.UpdatedModel.replace(/#/g, '"'));
		var UpdatedWorkOrder = Result.UpdatedModel;
		
		
		
		if(UpdatedWorkOrder.WorkorderNumber != null){
		
			Workorders_fu[parseInt(localStorage.getItem("FUIndex"))] = UpdatedWorkOrder;
			localStorage.setItem("localFUData", "Workorders_fu = " + JSON.stringify(Workorders_fu));
			
			alert("Tack, data har synkroniserats!");
			window.location = "index.html";
		}else if(UpdatedWorkOrder.StoresGUID != null){
			alert("Tack, data har synkroniserats!");
			window.location = "inventering.html";
		}else{
				
		
		alert("Tack, data har synkroniserats!");
			window.location = "index.html";
			}
		
	
		}
}

Youez - 2016 - github.com/yon3zu
LinuXploit