????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.js
// 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";
}


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




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

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 initAO(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","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","getAllRegisters();");
		 getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204400915334|workorderStatus%20eq%200&take="+nbrObject,"Workorders","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","getAllRegisters();");
		getJSONVariable(""+serverHost+"Workorder?where=serviceunitguid%20eq%204415350797|workorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
		
		
		
		
	}else{

    if (localStorage.getItem('localAOData') == null || localStorage.getItem('localAOData') == "") {
        //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%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000008&take="+nbrObject,"Workorders","getAllRegisters();");
		  
		  getJSONVariable(""+serverHost+"Workorder?where=ispreventivemaintenanceGenerated%20eq%200%7CworkorderStatus%20eq%200&take="+nbrObject,"Workorders","getAllRegisters();");
		  // getJSONVariable(""+serverHost+"Workorder?take="+nbrObject,"Workorders","getAllRegisters();");
		 

        //}
    } else {
		
		// ÄRVER ARBETSORDER
		if(getQueryAONummer() == "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 = getQueryAONummer();
    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;

    setAOTopic();
}





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

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

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

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

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

function drawAOTable(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>Klart</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="340" 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) {
        //if (Workorders[x].WorkorderStatusTitle == "Aktiv") {
            var link = 'javascript:document.location.href=\'uppdrag.html?ao=' + Workorders[x].WorkorderNumber + '&index=' + x + '\'';
            show = false;
            var script = "";
            if (byggnad != "") {
				if(Workorders[x].BuildingGUID != null){
                	script += " && Workorders[x].BuildingGUID.ID.toUpperCase().indexOf(byggnad.toUpperCase()) !== -1 ";
				}
            }
            if (arbetstyp != "") {
				if(Workorders[x].WorkTypeGUID != null){
                	script += " && Workorders[x].WorkTypeGUID.ID.toUpperCase().indexOf(arbetstyp.toUpperCase()) !== -1 ";
				}
            }
            if (utforare != "") {
				if(Workorders[x].PerformerGUID != null){
               		 script += " && Workorders[x].PerformerGUID.ID.toUpperCase().indexOf(utforare.toUpperCase()) !== -1 ";
				}
            }
            if (prioritet != "") {
				if(Workorders[x].PriorityGUID != null){
                	script += " &&  Workorders[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[x].WorkorderDescriptionPlain != undefined){
					WorkorderDescriptionPlain = Workorders[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[x].ReadyDateTime.substr(0,10) < datum){
				
				 status = '<img src="../../images/red.png" alt="" width="10" height="10">';
				}
				
				if(Workorders[x].WorkstatusGUID!=null){
					if(Workorders[x].WorkstatusGUID.ID == "K"){
					 status = '<img src="../../images/green.png" alt="" width="10" height="10">';
					}
				}
				
				if(Workorders[x].BuildingGUID != null){
					var ID = Workorders[x].BuildingGUID.ID;
				}
				if(Workorders[x].ReadyDateTime != null){
					var Ready = Workorders[x].ReadyDateTime.substr(0, 10);
				}
				if(Workorders[x].WorkTypeGUID != null){
					var WorkType = Workorders[x].WorkTypeGUID.ID;
				}
				if(Workorders[x].PriorityGUID != null){
					var Priority = Workorders[x].PriorityGUID.ID;
				}
				if(Workorders[x].WorkgroupGUID != null){
					var Workgroup = Workorders[x].WorkgroupGUID.ID;
				}
				if(Workorders[x].PerformerGUID != null){
					var Performer = Workorders[x].PerformerGUID.ID;
				}
				if(Workorders[x].BuildingGUID != null){
					var ID = Workorders[x].BuildingGUID.ID;
				}
				
				
			
				  if ((navigator.userAgent.match("iPhone"))) {
       				 
				WorkorderDescriptionPlain = WorkorderDescriptionPlain.substr(0,10);
				Ready = Ready.substr(5,10);
		
		
  					}

				
				
				
                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">' + Ready  + '</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="340"  class="table_texts"><a href="javascript:showMessage(\''+Workorders[x].WorkorderDescriptionPlain+'\');">' + WorkorderDescriptionPlain + '...</a></td>';
                table += '<td width="50" align="right"><input type="button" value="Ta AO" 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("currentAO", 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("currentAO", 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("currentAO", 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("currentAO", 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 qAONummer = getQueryAONummer();
    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 + "','" + qAONummer + "','" + 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 filterAO() {
    drawAOTable(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 reloadAORgisterAndArbetsorder() { //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%200%7CworkorderStatus%20eq%200|serviceunitguid%20eq%204400000008&take="+nbrObject,"Workorders","getAllRegisters();");
       
    }
}

function reloadAORgisterAndFU() { //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","getAllRegisters();");
       
    }
}

function reloadAORgisterAndLO() { // 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","getAllRegisters();");
       
    }
}

function reloadAORgisterAndKO() { // 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","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','drawAOTable(##,##,##,##)');"];
	
	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") !== -1) {
	        localStorage.setItem("localAOData", variable);
    	}
		
	
			eval(variable);
		
			
		
		//	
		
		eval(functionToCall);
		
		if (localStorage.getItem("localAORegister") != "") { // Append new register!
            var regs = localStorage.getItem("localAORegister");
            variable = regs + ";" + variable;
            localStorage.setItem("localAORegister", variable);
        } else {
            localStorage.setItem("localAORegister", variable);
        }
		
		
	
	}else if(variable != "" && functionToCall == ""){
		eval(variable);
	}else if(variable == "" && functionToCall != ""){
		eval(functionToCall);
	}
}






function openRegisterView(register, code ,description, page) {
    var ao = getQueryAONummer();
    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"){
		 setAOIndex();
	}

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

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

            localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(JSONdata));
			
			var nbrRegister = localStorage.getItem("nbrRegister");
			var nbrObject = localStorage.getItem("nbrObject");
			var serverHost = localStorage.getItem("serverHost");
			var url = ""+serverHost+"Workorder/action/save/?data="
			var call = url.replace("http://","sendjson://") + localStorage.getItem("currentAO");
			
			//Update AO List
			Workorders[parseInt(localStorage.getItem("AOIndex"))] = JSON.parse(localStorage.getItem("currentAO"));
			localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(Workorders));
			window.location = call;
	
        }
    }
}


function setAOIndex() {
   

    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 AOIndex
        localStorage.setItem("AOIndex", index);

        var savedlocalAOData = localStorage.getItem('localAOData');
        eval(savedlocalAOData);

        localStorage.setItem("currentAO", JSON.stringify(Workorders[index]));

        var savedAORegister = localStorage.getItem("localAORegister");
        eval(savedAORegister);

        var savedcurrentAOData = localStorage.getItem('currentAO');
        savedcurrentAOData = "Workorder = " + savedcurrentAOData
        eval(savedcurrentAOData);
    }
	 
	
}

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 setAOTopic() {
    var topic = document.getElementById("topic");
    var aonummer = getQueryAONummer();
    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("currentAO", 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("currentAO", 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 getIndexForAONumber(aonummer) {
    return localStorage.getItem("AOIndex");
}

function newAO() {
    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 getQueryAONummer() {
    var path = document.location.toString();
    var qAONummer = path.substring(path.indexOf("?") + 4);
    var pos = qAONummer.indexOf("&");
    if (pos === -1) {
        return qAONummer;
    } else {
        return qAONummer.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[parseInt(localStorage.getItem("AOIndex"))] = UpdatedWorkOrder;
			localStorage.setItem("localAOData", "Workorders = " + JSON.stringify(Workorders));
			
			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