{"version":3,"file":"../pris.min.js","sources":["pris.js"],"sourcesContent":["//CMå 20.11.2014\r\n//Tämä tiedosto sisältää javascript funktioita joita käytetään yleisesti PRIS:ssä\r\n//Requires Jquery\r\n(function($){\r\n\r\n\tvar gDependenciesLoaded = false;\r\n\r\n\tvar head = document.getElementsByTagName(\"head\")[0] || document.body;\r\n\tvar script = document.createElement(\"script\");\r\n\r\n\tscript.src = \"/javascript/deps.asp\";\r\n\tscript.type = \"text/javascript\";\r\n\r\n\tscript.onreadystatechange = function () {\r\n\t\tif (this.readyState == 'complete' || this.readyState == 'loaded') {\r\n\t\t\tgDependenciesLoaded = true;\r\n\t\t}\r\n\t};\r\n\r\n\tscript.onload = function() {\r\n\t\tgDependenciesLoaded = true;\r\n\t};\r\n\r\n\thead.appendChild(script);\r\n\r\n\t//Ajax helper funktioita\r\n\tAjax = (function(){\r\n\t\treturn {\r\n\t\t\t//Haetaan libAjaxFuncs kirjastosta json dataa.\r\n\t\t\t//Palauta promise\r\n\t\t\tfetch: function(func, inParams){\r\n\r\n\t\t\t\tvar ajaxParams = [\"async\", \"url\", \"dataType\"];\r\n\r\n\t\t\t\tif(inParams.url && inParams.url.length > 0){\r\n\t\t\t\t\t//Jos annettu poikkeava url, ei tarvitse vaatia Func - parametria.\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tif(func === undefined){\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(func.length === 0){\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar dataobj = {\r\n\t\t\t\t\tFUNC: func,\r\n\t\t\t\t\tDummy: new Date()\r\n\t\t\t\t};\r\n\r\n\t\t\t\t//Kopioidaan parametrit\r\n\t\t\t\tfor (var prop in inParams) {\r\n\t\t\t\t\tif (inParams.hasOwnProperty(prop) && jQuery.inArray(prop, ajaxParams) == -1) {\r\n\t\t\t\t\t\tdataobj[prop] = inParams[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn $.ajax({\r\n\t\t\t\t\ttype: \"GET\",\r\n\t\t\t\t\turl: (inParams.url ? inParams.url : \"/lib/libAjaxFuncs.asp\"),\r\n\t\t\t\t\tdata: dataobj,\r\n\t\t\t\t\tdataType: (inParams.dataType ? inParams.dataType: \"json\"),\r\n\t\t\t\t\tasync: (inParams.async ? inParams.async : true),\r\n\t\t\t\t\tcontentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t\t\t\t\terror: function (xhr, text_status, thrownError) {\r\n\t\t\t\t\t\tif (text_status != \"abort\") {\r\n\r\n\t\t\t\t\t\t\tif(xhr.responseText && xhr.responseText.indexOf(\"NO VALID USER\") !== -1){\r\n\t\t\t\t\t\t\t\twindow.location.href = \"../Main/NoConnection.asp\";\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\r\n\t\t\t\t\t\t\t\tif(xhr.status == 500){\r\n\t\t\t\t\t\t\t\t\tif(Common.isDevelopment()){\r\n\t\t\t\t\t\t\t\t\t\talert(\"Error: \" + xhr.responseText + \", Status: \" + xhr.status + \", \" + text_status);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\talert(\"Internal server error\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t//alert(\"Error: \" + xhr.responseText + \", Status: \" + xhr.status + \", \" + text_status);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tpost: function(func, appendCommonParams, inParams){\r\n\r\n\t\t\t\tvar self = this;\r\n\r\n\t\t\t\tif(inParams.url && inParams.url.length > 0){\r\n\t\t\t\t\t//Jos annettu poikkeava url, ei tarvitse vaatia Func - parametria.\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tif(func === undefined){\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(func.length === 0){\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar dataobj = {\r\n\t\t\t\t\tFUNC: func,\r\n\t\t\t\t\tDummy: new Date()\r\n\t\t\t\t};\r\n\r\n\t\t\t\t//Kopioidaan parametrit\r\n\t\t\t\tfor (var prop in inParams) {\r\n\t\t\t\t\tif (inParams.hasOwnProperty(prop)) {\r\n\t\t\t\t\t\tdataobj[prop] = inParams[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Lisätään common luokan parametrit pyyntöön\r\n\t\t\t\tif(appendCommonParams){\r\n\t\t\t\t\tvar cParams = Common.getParams();\r\n\r\n\t\t\t\t\tfor (var prop in cParams) {\r\n\r\n\t\t\t\t\t\tvar propName = prop;\r\n\r\n\t\t\t\t\t\tif (cParams.hasOwnProperty(propName) && !dataobj.hasOwnProperty(propName)) {\r\n\r\n\t\t\t\t\t\t\tif(propName === \"CSRF\"){\r\n\t\t\t\t\t\t\t\tpropName = \"ctoken\";\r\n\t\t\t\t\t\t\t\tdataobj[propName] = cParams[\"CSRF\"];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tdataobj[propName] = cParams[propName];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn $.ajax({\r\n\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\turl: (inParams.url ? inParams.url : \"/lib/libAjaxFuncs.asp\"),\r\n\t\t\t\t\tdataType: (inParams.dataType ? inParams.dataType: \"json\"),\r\n\t\t\t\t\tdata: dataobj,\r\n\t\t\t\t\tcontentType: \"application/x-www-form-urlencoded; charset=utf-8\",\r\n\t\t\t\t\terror: function (xhr, text_status, thrownError) {\r\n\r\n\t\t\t\t\t\tif(self.userAborted(xhr)){\r\n\t\t\t\t\t\t\tconsole.log(\"User aborted ajax request!\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tif(xhr.status == 500){\r\n\r\n\t\t\t\t\t\t\t\tif(Common.isDevelopment()){\r\n\t\t\t\t\t\t\t\t\talert(\"Error: \" + xhr.responseText + \", Status: \" + xhr.status + \", \" + text_status);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\talert(\"Internal server error\");\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\talert(\"Error: \" + xhr.responseText + \", Status: \" + xhr.status + \", \" + text_status);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t//Palauttaa true jos ajax pyyntö on keskeytetty käyttäjän toimesta, esim esc tai enter lyönnistä.\r\n\t\t\tuserAborted: function(xhr){\r\n\t\t\t\treturn !xhr.getAllResponseHeaders();\r\n\t\t\t}\r\n\t\t}\r\n\t})();\r\n\r\n\tCommonAjax = (function(){ //Alias ajax luokalle .NET:iin\r\n\t\treturn Ajax;\r\n\t})();\r\n\r\n\t//TR, MVR ja Tyotapaturma mittareihin liittyvät funktiot\r\n\tMittari = (function(){\r\n\r\n\t\treturn {\r\n\t\t\thae_mittauksen_huomautukset: function(mittari_prefix, tid) {\r\n\r\n\t\t\t\tif (mittari_prefix == \"TTT\") {\r\n\t\t\t\t\tvar d = new $.Deferred;\r\n\t\t\t\t\treturn d.resolve(true);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Ajax.fetch(\"HAE_MITTAUKSEN_HUOMAUTUKSET\", { mittari: mittari_prefix, tid: tid });\r\n\r\n\t\t\t},\r\n\r\n\t\t\thae_mittaus_paivamaarat: function(mittari, pid) {\r\n\t\t\t\treturn Ajax.fetch(\"Hae_Mittaus_Paivamaarat\", { mittari: mittari, pid: pid });\r\n\t\t\t},\r\n\r\n\t\t\ttarkista_kameran_kaytto: function() {\r\n\t\t\t\treturn Ajax.fetch(\"TARKISTA_KAMERAN_KAYTTO\", {});\r\n\t\t\t},\r\n\r\n\t\t\thyvaksy_kameran_kaytto: function() {\r\n\t\t\t\treturn Ajax.post(\"HYVAKSY_KAMERAN_KAYTTO\", true, {});\r\n\t\t\t},\r\n\r\n\t\t\tdoBindingsForDynamicRows: function (){\r\n\r\n\t\t\t\tvar self = this;\r\n\r\n\t\t\t\t$(\"img[id^='upfile']\").unbind(\"click\");\r\n\t\t\t\t$(\"img[id^='upfile']\").click(function(){\r\n\t\t\t\t\tvar id = $(this).prop(\"id\").split(\"upfile\")[1];\r\n\r\n\t\t\t\t\t$(\"#UploadFileName\" + id).trigger(\"click\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$(\"img[id^='upfileCam']\").unbind(\"click\");\r\n\t\t\t\t$(\"img[id^='upfileCam']\").click(function(e){\r\n\r\n\t\t\t\t\tvar el = $(this);\r\n\t\t\t\t\tvar consent_date = $(this).data(\"consent\") || \"\";\r\n\r\n\t\t\t\t\tif (consent_date.toString().length > 0) {\r\n\t\t\t\t\t\tvar id = el.prop(\"id\").split(\"upfileCam\")[1];\r\n\t\t\t\t\t\t$(\"#UploadFileNameCam\" + id).trigger(\"click\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\r\n\t\t\t\t\t\t//Hyväksytetään kameran käyttö\r\n\t\t\t\t\t\tvar ds = \"
\" + Common.getText(2474) + \"
\" + Common.getText(2475) + \"
\" + Common.getText(2477) + \"
\"\r\n\t\t\t\t\t\tvar params = {\r\n\t\t\t\t\t\t\ttitle : Common.getText(2476),\r\n\t\t\t\t\t\t\theight: 300,\r\n\t\t\t\t\t\t\twidth: 400,\r\n\t\t\t\t\t\t\tcontent: ds,\r\n\t\t\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\ttext: Common.getText(113), //Kyllä\r\n\t\t\t\t\t\t\t\t\tid: 'dlg-btn-yes',\r\n\t\t\t\t\t\t\t\t\tclick: function(){\r\n\t\t\t\t\t\t\t\t\t\tvar dlg = $(this);\r\n\t\t\t\t\t\t\t\t\t\tself.hyvaksy_kameran_kaytto().done(function(resp2){\r\n\t\t\t\t\t\t\t\t\t\t\tif (parseInt(resp2) === 1)\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tdlg.dialog('close');\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t$(el).data(\"consent\", new Date());\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t\t\tdlg.dialog('close');\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\ttext: Common.getText(112), //Ei\r\n\t\t\t\t\t\t\t\t\tid: 'dlg-btn-no',\r\n\t\t\t\t\t\t\t\t\tclick: function(){\r\n\t\t\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\tCommon.getDialog(\"#dialog\", params);\r\n\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$(\"input[id^='UploadFileName']\").unbind(\"change\");\r\n\t\t\t\t$(\"input[id^='UploadFileName']\").change(function(){\r\n\t\t\t\t\tvar id = $(this).prop(\"id\").split(\"UploadFileName\")[1];\r\n\t\t\t\t\tvar val = $(this).val();\r\n\t\t\t\t\tval = val.substring(val.lastIndexOf('\\\\') + 1,val.length)\r\n\t\t\t\t\t$('#fname' + id).val(val);\r\n\t\t\t\t\t$('#fchanged' + id).val(1);\r\n\r\n\t\t\t\t\t$('#lastUploadMethod' + id).val(\"file\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$(\"input[id^='UploadFileNameCam']\").unbind(\"change\");\r\n\t\t\t\t$(\"input[id^='UploadFileNameCam']\").change(function(){\r\n\t\t\t\t\tvar id = $(this).prop(\"id\").split(\"UploadFileNameCam\")[1];\r\n\t\t\t\t\tvar val = $(this).val();\r\n\t\t\t\t\tval = val.substring(val.lastIndexOf('\\\\') + 1,val.length)\r\n\t\t\t\t\t$('#fname' + id).val(val);\r\n\t\t\t\t\t$('#fchanged' + id).val(1);\r\n\r\n\t\t\t\t\t$('#lastUploadMethod' + id).val(\"cam\");\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tluo_huomautus_rivit: function(start, amount, camera_consent){\r\n\t\t\t\tvar htmlTotal = \"\";\r\n\t\t\t\tfor(i = start; i < (start+amount); i++){\r\n\t\t\t\t\thtmlTotal += Mittari.luo_huomautus_rivi(i, undefined, camera_consent);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn htmlTotal;\r\n\t\t\t},\r\n\r\n\t\t\tluo_huomautus_rivi: function (num, huomautus, camera_consent){\r\n\t\t\t\tvar html = \"\";\r\n\r\n\t\t\t\tif (huomautus === undefined) {\r\n\t\t\t\t\thuomautus = {\r\n\t\t\t\t\t\t\"huom\": \"\",\r\n\t\t\t\t\t\t\"vast\": \"\",\r\n\t\t\t\t\t\t\"dline\": \"\",\r\n\t\t\t\t\t\t\"fixed\": \"\",\r\n\t\t\t\t\t\t\"hid\": 0,\r\n\t\t\t\t\t\t\"liite\": \"\"\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \" | \";\r\n\t\t\t\thtml += \" | \";\r\n\t\t\t\thtml += \" | \";\r\n\t\t\t\thtml += \" | \";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \" \";\r\n\t\t\t\thtml += \" \";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \"\";\r\n\t\t\t\thtml += \" | \";\r\n\r\n\t\t\t\thtml += \"
\";\r\n\r\n\t\t\t\treturn html;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\t//Projektiin liittyvät js funktiot\r\n\tProjekti = (function(){\r\n\r\n\t\treturn {\r\n\r\n\t\t\thae_kayttajan_organisaatiot: function(uid){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"HAE_KAYTTAJAN_ORGANISAATIOT\", { UID: uid });\r\n\r\n\t\t\t},\r\n\r\n\r\n\t\t\tonko_kopiolaitosta: function(pid){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"ONKO_KOPIOLAITOSTA\", { PID: pid });\r\n\r\n\t\t\t},\r\n\r\n\t\t\t//Tarjoussalkku haussa käytettävä versio.\r\n\t\t\tonko_kopiolaitosta_ts: function(pid){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"ONKO_KOPIOLAITOSTA_TS\", { PID: pid, url: \"/Tarjoussalkku/lib/libAjaxFuncs.asp\" });\r\n\r\n\t\t\t},\r\n\r\n\t\t\thae_kayttajan_projektin_muutosloki: function(params){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"HAE_KAYTTAJAN_PROJEKTIN_MUUTOSLOKI\", params);\r\n\r\n\t\t\t},\r\n\r\n\t\t\thae_kayttajan_projektin_kirjautumiset: function(params){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"HAE_KAYTTAJAN_PROJEKTIN_KIRJAUTUMISET\", params);\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tAsiakirja = (function(){\r\n\r\n\t\treturn {\r\n\r\n\t\t\thae_referenssitiedostot_dialog: function(inParams, asiakirjat) {\r\n\r\n\t\t\t\tvar texts = \"2186, 2187, 2188, 54, 1092, 302, 2176, 2189, 23, 20, 303, 304, 2190, 1461\";\r\n\r\n\t\t\t\tCommon.init_texts(inParams.Kieli, texts).done(function(r){\r\n\r\n\t\t\t\t\tvar ds = \"\";\r\n\r\n\t\t\t\t\tds += Common.getText(2186);\r\n\t\t\t\t\tds += \"
\";\r\n\t\t\t\t\tds += Common.getText(2187);\r\n\r\n\t\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\t\tds += \"\";\r\n\r\n\t\t\t\t\t//Uusi ryhmä\r\n\t\t\t\t\tvar params = {\r\n\t\t\t\t\t\ttitle : Common.getText(2188),\r\n\t\t\t\t\t\theight: 'auto',\r\n\t\t\t\t\t\twidth: 700,\r\n\t\t\t\t\t\tcontent: ds,\r\n\t\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttext: Common.getText(1461),\r\n\t\t\t\t\t\t\t\tclick: function(){\r\n\t\t\t\t\t\t\t\t\t//Kerätään rdo arvot kasaan ja jatketaan\r\n\t\t\t\t\t\t\t\t\tvar lstr = \"\";\r\n\r\n\t\t\t\t\t\t\t\t\t$(\"input[type='radio'][name^='rdo_selection_']:checked\").each(function(){\r\n\t\t\t\t\t\t\t\t\t\tvar mainaid = $(this).data(\"mainaid\");\r\n\r\n\t\t\t\t\t\t\t\t\t\tvar idpart = $(this).prop(\"name\").split(\"rdo_selection_\")[1];\r\n\t\t\t\t\t\t\t\t\t\tvar refaid = idpart.split(\"_\")[0];\r\n\r\n\t\t\t\t\t\t\t\t\t\tvar maxaid = $(this).data(\"maxaid\");\r\n\t\t\t\t\t\t\t\t\t\tvar val = $(this).val();\r\n\r\n\t\t\t\t\t\t\t\t\t\tlstr += mainaid + \"$$\" + refaid + \"$$\" + maxaid + \"$$\" + val + \">>\";\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\tif(inParams.dropped && parseInt(inParams.dropped) === 1){\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").find(\"#LinkSelection\").val(lstr);\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").find(\".singleGroupDisabled\").prop(\"disabled\", false);\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").prop(\"action\", \"LisaaAsiakirjat.asp?ParentID=\" + inParams.parentid + \"&dropped=1\");\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").find(\"#disableds\").val(inParams.disableds);\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").prop(\"enctype\", \"application/x-www-form-urlencoded\");\r\n\t\t\t\t\t\t\t\t\t\t$(\"#fileupload\").submit();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse if(inParams.zipupload && parseInt(inParams.zipupload) === 1){\r\n\t\t\t\t\t\t\t\t\t\t$(\"#form_puretut\").find(\"#LinkSelection\").val(lstr);\r\n\t\t\t\t\t\t\t\t\t\tdocument.getElementById(\"form_puretut\").action = \"AddUnzippedDocuments.aspx\";\r\n\t\t\t\t\t\t\t\t\t\tWebForm_OnSubmit = function() { return true; };\r\n\r\n\t\t\t\t\t\t\t\t\t\tjavascript:__doPostBack('btn_continue','');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t$(\"#paivita\").find(\"#LinkSelection\").val(lstr);\r\n\t\t\t\t\t\t\t\t\t\tvar left = (screen.width/2)-(1024/2);\r\n\t\t\t\t\t\t\t\t\t\tvar top = (screen.height/2)-(600/2) - 100;\r\n\t\t\t\t\t\t\t\t\t\twindow.open(\"\",\"PaivitaAsiakirjat\",\"width=1075,height=800,toolbar=0,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,maximize=yes,copyhistory=no, top=\"+top+\", left=\"+left);\r\n\t\t\t\t\t\t\t\t\t\tvar a = window.setTimeout(\"document.paivita.submit();\",100);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttext: Common.getText(1092),\r\n\t\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tCommon.getDialog(\"#dialog\", params);\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tTyomaa = (function(){\r\n\r\n\t\treturn {\r\n\r\n\t\t\tprops: {\r\n\t\t\t\tcontainer: \"\",\r\n\t\t\t\tKieli: \"\",\r\n\t\t\t\tpid: 0,\r\n\t\t\t\tsivu: 0,\r\n\t\t\t\tvahvuus_max: 20\r\n\t\t\t},\r\n\r\n\t\t\tpoista_vahvuus_otsikko: function(id){\r\n\r\n\t\t\t\tif(confirm(Common.getText(2171))){\r\n\r\n\t\t\t\t\tAjax.post(\"POISTA_VAHVUUS_OTSIKKO\", true, {\r\n\t\t\t\t\t\tID: id\r\n\t\t\t\t\t}).done(function(response){\r\n\r\n\t\t\t\t\t\tTyomaa.hae_tyomaan_vahvuus(Tyomaa.props.pid, Tyomaa.props.Kieli, Tyomaa.props.sivu, Tyomaa.props.container, 1);\r\n\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\r\n\t\t\tvahvuus_lisays: function(){\r\n\r\n\t\t\t\tif($(\"#vahvuus_container\").find(\".vahvuus\").length >= Tyomaa.props.vahvuus_max){\r\n\t\t\t\t\talert(Common.getText(2169).replace(\"{0}\", Tyomaa.props.vahvuus_max));\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar ds = \"\";\r\n\t\t\t\tds += \"\" + Common.getText(310) + \"\";\r\n\t\t\t\tds += \" \";\r\n\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\t//Uusi ryhmä\r\n\t\t\t\tvar params = {\r\n\t\t\t\t\ttitle : Common.getText(310),\r\n\t\t\t\t\theight: 200,\r\n\t\t\t\t\twidth: 420,\r\n\t\t\t\t\tcontent: ds,\r\n\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttext: Common.getText(54),\r\n\t\t\t\t\t\t\tclick: function(){\r\n\t\t\t\t\t\t\t\tvar dlg = $(this);\r\n\r\n\t\t\t\t\t\t\t\tvar nimi = $.trim($(\"#Nimi_uusi\").val());\r\n\r\n\t\t\t\t\t\t\t\tif(nimi.length === 0){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(2170));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tvar test = nimi.match(/[\\:\\\\\\/\\*\\?\\\"\\<\\>\\|\\#\\'\\&]+/g,'');\r\n\r\n\t\t\t\t\t\t\t\tif(test != null){\r\n\r\n\t\t\t\t\t\t\t\t\tif(test.length > 0){\r\n\r\n\t\t\t\t\t\t\t\t\t\talert(Common.getText(1927) + \" : \\ / * ? < > | & # ' \\u0022\");\r\n\r\n\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t//Tarkasta ryhmän nimen kelvollisuus\r\n\t\t\t\t\t\t\t\tif(nimi.substring(nimi.length-1) == '.'){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(1440));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(nimi.length > 50){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(1900));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tAjax.post(\"TALLENNA_UUSI_VAHVUUS\", true, {\r\n\t\t\t\t\t\t\t\t\tSelite: nimi\r\n\t\t\t\t\t\t\t\t}).done(function(response){\r\n\r\n\t\t\t\t\t\t\t\t\tif(parseInt(response) === 1){\r\n\t\t\t\t\t\t\t\t\t\tTyomaa.hae_tyomaan_vahvuus(Tyomaa.props.pid, Tyomaa.props.Kieli, Tyomaa.props.sivu, Tyomaa.props.container, 1);\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tCommon.closeDialog();\r\n\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttext: Common.getText(1092),\r\n\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t};\r\n\r\n\t\t\t\tCommon.getDialog(\"#dialog\", params);\r\n\r\n\t\t\t},\r\n\r\n\t\t\tvahvuus_otsikko_muokkaus: function(id, value, jarjestys){\r\n\r\n\t\t\t\tvar ds = \"\";\r\n\t\t\t\tds += \"\" + Common.getText(1499) + \"\";\r\n\t\t\t\tds += \" \";\r\n\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\tds += '
';\r\n\t\t\t\tds += '';\r\n\t\t\t\tds += Common.getText(2168);\r\n\t\t\t\tds += '';\r\n\r\n\t\t\t\t//Uusi ryhmä\r\n\t\t\t\tvar params = {\r\n\t\t\t\t\ttitle : Common.getText(1499),\r\n\t\t\t\t\theight: 200,\r\n\t\t\t\t\twidth: 420,\r\n\t\t\t\t\tcontent: ds,\r\n\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttext: Common.getText(54),\r\n\t\t\t\t\t\t\tclick: function(){\r\n\t\t\t\t\t\t\t\tvar dlg = $(this);\r\n\r\n\t\t\t\t\t\t\t\tvar nimi = $.trim($(\"#Nimi_uusi\").val());\r\n\r\n\t\t\t\t\t\t\t\tif(nimi.length === 0){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(2170));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tvar test = nimi.match(/[\\:\\\\\\/\\*\\?\\\"\\<\\>\\|\\#\\'\\&]+/g,'');\r\n\r\n\t\t\t\t\t\t\t\tif(test != null){\r\n\r\n\t\t\t\t\t\t\t\t\tif(test.length > 0){\r\n\r\n\t\t\t\t\t\t\t\t\t\talert(Common.getText(1927) + \" : \\ / * ? < > | & # ' \\u0022\");\r\n\r\n\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t//Tarkasta ryhmän nimen kelvollisuus\r\n\t\t\t\t\t\t\t\tif(nimi.substring(nimi.length-1) == '.'){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(1440));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(nimi.length > 50){\r\n\t\t\t\t\t\t\t\t\talert(Common.getText(1900));\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tAjax.post(\"TALLENNA_VAHVUUS\", true, {\r\n\t\t\t\t\t\t\t\t\tID: id,\r\n\t\t\t\t\t\t\t\t\tSelite: nimi,\r\n\t\t\t\t\t\t\t\t\tJarjestys: jarjestys\r\n\t\t\t\t\t\t\t\t}).done(function(response){\r\n\r\n\t\t\t\t\t\t\t\t\tif(parseInt(response) === 1){\r\n\t\t\t\t\t\t\t\t\t\tTyomaa.hae_tyomaan_vahvuus(Tyomaa.props.pid, Tyomaa.props.Kieli, Tyomaa.props.sivu, Tyomaa.props.container, 1);\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tCommon.closeDialog();\r\n\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttext: Common.getText(1092),\r\n\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t};\r\n\r\n\t\t\t\tCommon.getDialog(\"#dialog\", params);\r\n\t\t\t},\r\n\r\n\t\t\thae_tyomaan_vahvuus: function(pid, kieli, sivuid, append_to, vastaava, as_table){\r\n\r\n\t\t\t\tvar enabled = !($(append_to).hasClass(\"non_editable\"));\r\n\r\n\t\t\t\tAjax.fetch(\"HAE_PROJEKTIN_TYOMAAN_VAHVUUS\", {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"Kieli\": kieli,\r\n\t\t\t\t\t\"Sivu\": sivuid\r\n\t\t\t\t}).done(function(resp){\r\n\r\n\t\t\t\t\tvar str = \"\";\r\n\t\t\t\t\tvar inputName = \"\";\r\n\r\n\t\t\t\t\tif(as_table && parseInt(as_table) === 1){\r\n\t\t\t\t\t\tstr = '\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(parseInt(vastaava) === 1 && enabled){\r\n\t\t\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$(append_to).html(str);\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\ttarkasta_tyomaa_sivu: function(pid, uid, sivu){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"TARKASTA_TYOMAA_SIVU\", {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"UID\": uid,\r\n\t\t\t\t\t\"Sivu\": sivu\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\ttarkasta_temp_sivu: function(pid, uid, sivu, checkdate){\r\n\r\n\t\t\t\treturn Ajax.fetch(\"TARKASTA_TEMP_SIVU\", {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"UID\": uid,\r\n\t\t\t\t\t\"Sivu\": sivu,\r\n\t\t\t\t\t\"CheckDate\": checkdate\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\ttallenna_temp_sivu: function(pid, uid, sivu, tyomaapvm){\r\n\r\n\t\t\t\treturn Ajax.post(\"TALLENNA_TEMP_SIVU\", true, {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"UID\": uid,\r\n\t\t\t\t\t\"Sivu\": sivu,\r\n\t\t\t\t\t\"Tyomaapvm\": tyomaapvm\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\tpoista_temp_sivu: function(pid, uid, tyomaapvm){\r\n\r\n\t\t\t\treturn Ajax.post(\"POISTA_TEMP_SIVU\", true, {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"UID\": uid,\r\n\t\t\t\t\t\"Tyomaapvm\": tyomaapvm\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\tpaivita_temp_sivu: function(pid, uid, sivu){\r\n\r\n\t\t\t\treturn Ajax.post(\"PAIVITA_TEMP_SIVU\", true, {\r\n\t\t\t\t\t\"PID\": pid,\r\n\t\t\t\t\t\"UID\": uid,\r\n\t\t\t\t\t\"Sivu\": sivu\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tHtmlHelpers = (function(){\r\n\r\n\t\tvar DropDown = function(id, data, params){\r\n\r\n\t\t\tparams.disabled = (params.disabled === undefined ? false: params.disabled);\r\n\r\n\t\t\tif(id.indexOf(\"#\") === -1){\r\n\t\t\t\tid = \"#\" + id;\r\n\t\t\t}\r\n\r\n\t\t\tif($(id).length === 0){\r\n\t\t\t\tconsole.info(\"Dropdown DOM node with id: '\" + id + \"' not found!\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif(params.empty){\r\n\t\t\t\t$(id).find(\"option\").remove();\r\n\t\t\t}\r\n\r\n\t\t\tif(params.emptyExceptFirst){\r\n\t\t\t\t$(id).find(\"option:gt(0)\").remove();\r\n\t\t\t}\r\n\r\n\t\t\tif(params.disabled){\r\n\t\t\t\t$(id).prop(\"disabled\", true);\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$(id).prop(\"disabled\", false);\r\n\t\t\t}\r\n\r\n\t\t\tif(data.length === 0){\r\n\t\t\t\tconsole.info(\"NO JSON Data for dropdown\");\r\n\t\t\t}\r\n\r\n\t\t\tif(params.optionValue.length === 0){\r\n\t\t\t\tconsole.info(\"No dropdown option value specified\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif(params.optionText.length === 0){\r\n\t\t\t\tconsole.info(\"No dropdown option text specified\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif(params.extraClasses && params.extraClasses.length > 0){\r\n\t\t\t\t$(id).addClass(params.extraClasses);\r\n\t\t\t}\r\n\r\n\t\t\tif(params.newItem && params.newItem.value){\r\n\t\t\t\t$(id).append(\"\");\r\n\t\t\t}\r\n\r\n\t\t\tif(data.length > 0){\r\n\t\t\t\tfor(var r = 0; r < data.length; r++){\r\n\r\n\t\t\t\t\tvar extraClasses = \"\";\r\n\t\t\t\t\t//Halutaanko option:eille lisäluokkia, tarkistetaan ehto jolla laitetaan ja attribuutin nimi\r\n\t\t\t\t\tif(params.extra_option_classes && $.isArray(params.extra_option_classes)){\r\n\t\t\t\t\t\tfor(var c = 0; c < params.extra_option_classes.length; c++){\r\n\t\t\t\t\t\t\tvar o = params.extra_option_classes[c];\r\n\r\n\t\t\t\t\t\t\tif($.isPlainObject(o)){\r\n\t\t\t\t\t\t\t\tvar testAttr = o.attribute;\r\n\t\t\t\t\t\t\t\tvar testCond = o.condition;\r\n\t\t\t\t\t\t\t\tvar className = o.key;\r\n\r\n\t\t\t\t\t\t\t\tvar result = false;\r\n\r\n\t\t\t\t\t\t\t\tif(data[r][testAttr].toString().length > 0){\r\n\t\t\t\t\t\t\t\t\tresult = eval(data[r][testAttr] + testCond);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(result){\r\n\t\t\t\t\t\t\t\t\textraClasses += className;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(params.selectedValue && params.selectedValue == data[r][params.optionValue]){\r\n\t\t\t\t\t\t$(id).append(\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(data[r] === \"\"){\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t$(id).append(\"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t//Assoc array?\r\n\t\t\t\tfor(var r in data){\r\n\r\n\t\t\t\t\tvar extraClasses = \"\";\r\n\r\n\t\t\t\t\tif(params.extra_option_classes && $.isArray(params.extra_option_classes)){\r\n\t\t\t\t\t\tfor(var c = 0; c < params.extra_option_classes.length; c++){\r\n\t\t\t\t\t\t\tvar o = params.extra_option_classes[c];\r\n\r\n\t\t\t\t\t\t\tif($.isPlainObject(o)){\r\n\t\t\t\t\t\t\t\tvar testAttr = o.attribute;\r\n\t\t\t\t\t\t\t\tvar testCond = o.condition;\r\n\t\t\t\t\t\t\t\tvar className = o.key;\r\n\r\n\t\t\t\t\t\t\t\tvar result = false;\r\n\r\n\t\t\t\t\t\t\t\tif(data[r][testAttr].toString().length > 0){\r\n\t\t\t\t\t\t\t\t\tresult = eval(data[r][testAttr] + testCond);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tif(result){\r\n\t\t\t\t\t\t\t\t\textraClasses += className;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(params.selectedValue && params.selectedValue == data[r][params.optionValue]){\r\n\t\t\t\t\t\t$(id).append(\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tif(data[r] === \"\"){\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t$(id).append(\"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(!params.selectedValue && params.setDefaultOnEmpty){\r\n\t\t\t\t//Asetetaan ensimmäinen data arvo valituksi\r\n\t\t\t\ttry{\r\n\t\t\t\t\tparams.selectedValue = data[0][params.optionValue];\r\n\t\t\t\t}\r\n\t\t\t\tcatch(err){\r\n\t\t\t\t\tconsole.log(\"Error setting default value: \" + err.message);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(params.selectedValue && params.childElement){\r\n\t\t\t\t//Täydennetään lapsi alasvetolista\r\n\t\t\t\tif($(params.childElement).length > 0){\r\n\t\t\t\t\tif(data.length > 0){\r\n\t\t\t\t\t\tfor(var r = 0; r < data.length; r++){\r\n\t\t\t\t\t\t\tif(params.selectedValue && params.selectedValue == data[r][params.optionValue]){\r\n\r\n\t\t\t\t\t\t\t\tchildren = data[r].children;\r\n\r\n\t\t\t\t\t\t\t\tif(children && !params.disabled){\r\n\t\t\t\t\t\t\t\t\tthis.DropDown(params.childElement, children, {\r\n\t\t\t\t\t\t\t\t\t\toptionValue : params.optionValue,\r\n\t\t\t\t\t\t\t\t\t\toptionText : params.optionText,\r\n\t\t\t\t\t\t\t\t\t\tselectedValue: (params.childElementSelectedValue ? params.childElementSelectedValue : 0),\r\n\t\t\t\t\t\t\t\t\t\tempty : params.empty,\r\n\t\t\t\t\t\t\t\t\t\temptyExceptFirst: params.emptyExceptFirst,\r\n\t\t\t\t\t\t\t\t\t\tdisabled: false\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn $(id);\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tDropDown: DropDown\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tTarjous = (function(){\r\n\r\n\t\tvar render_tarjoukset = function(json, inTexts, opts)\r\n\t\t{\r\n\t\t\t$(\"#tarjoukset\").empty();\r\n\r\n\t\t\tvar str = \"\";\r\n\t\t\tvar tarjoukset = json.tarjoukset;\r\n\t\t\tvar koko_yhteensa = 0;\r\n\t\t\tvar tiedostot_yhteensa = 0;\r\n\r\n\t\t\tif(tarjoukset.length > 0){\r\n\t\t\t\tstr += \"\" + inTexts.jatetyttarjoukset + \"
\";\r\n\t\t\t}\r\n\r\n\t\t\tfor(var t = 0; t < tarjoukset.length; t++){\r\n\r\n\t\t\t\tvar cls = 'tarjous_header';\r\n\r\n\t\t\t\tif(tarjoukset[t].TiedostotOk == 0){\r\n\t\t\t\t\tcls = 'tarjous_header_red';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar warning_msg = \"\";\r\n\r\n\t\t\t\tif(tarjoukset[t].TiedostotOk == 0 || tarjoukset[t].TiedostotOk == -1){\r\n\t\t\t\t\twarning_msg = \" (\" + inTexts.tallennus_epaonnistui + \")\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(tarjoukset[t].Pvm == tarjoukset[t].MinPvm){\r\n\t\t\t\t\tstr += \"\" + inTexts.tarjous + \", \" + tarjoukset[t].Pvm;\r\n\r\n\t\t\t\t\tif(parseInt(tarjoukset[t].ParentID) > 0){\r\n\t\t\t\t\t\tstr += \" (\" + inTexts.lisakirje + \") \";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tstr += warning_msg;\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tstr += \"\" + inTexts.tarjouksen_taydennys + \", \" + tarjoukset[t].Pvm;\r\n\r\n\t\t\t\t\tif(parseInt(tarjoukset[t].ParentID) > 0){\r\n\t\t\t\t\t\tstr += \" (\" + inTexts.lisakirje + \") \";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tstr += warning_msg;\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(tarjoukset[t].files.length > 0){\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tif(opts && opts.from_uutiset == 1){\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\";\r\n\r\n\t\t\t\t\tif(opts && opts.from_uutiset == 1){\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t\tstr += \"\";\r\n\r\n\t\t\t\t\tfor(var f = 0; f < tarjoukset[t].files.length; f++){\r\n\r\n\t\t\t\t\t\tvar file = tarjoukset[t].files[f];\r\n\r\n\t\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\t\tstr += \"\" + file.TiedostonNimi + \" | \";\r\n\t\t\t\t\t\tstr += \"\" + file.Selite + \" | \";\r\n\r\n\t\t\t\t\t\tif(opts && opts.from_uutiset == 1){\r\n\t\t\t\t\t\t\tstr += \"\" + file.KokoKB + \" | \";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\t\tkoko_yhteensa += file.KokoKB;\r\n\t\t\t\t\t\ttiedostot_yhteensa++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif((tarjoukset[t].Tarjoaja && tarjoukset[t].Tarjoaja.length > 0) || (tarjoukset[t].TarjoajaYritys && tarjoukset[t].TarjoajaYritys.length > 0) || (tarjoukset[t].Kommentti && tarjoukset[t].Kommentti.length > 0)){\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\" + inTexts.nimi + \": | \";\r\n\t\t\t\t\tstr += \"\" + tarjoukset[t].Tarjoaja + \" | \";\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\" + inTexts.yritys + \": | \";\r\n\t\t\t\t\tstr += \"\" + tarjoukset[t].TarjoajaYritys + \" | \";\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tstr += \"\";\r\n\t\t\t\t\tstr += \"\" + inTexts.kommentti + \": | \";\r\n\t\t\t\t\tstr += \"\" + tarjoukset[t].Kommentti + \" | \";\r\n\t\t\t\t\tstr += \"
\";\r\n\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t\tstr += \"
\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$(\"#tarjoukset\").html(str);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t\"koko_yhteensa\": koko_yhteensa,\r\n\t\t\t\t\"kpl_yhteensa\": tiedostot_yhteensa\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\trender_tarjoukset: render_tarjoukset\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tOrganisaatio = (function () {\r\n\r\n\t\tvar hae_laskutustiedot = function(julkaisuid, on_missing) {\r\n\r\n\t\t\treturn Ajax.fetch(\"HAE_ORGANISAATION_LASKUTUSTIEDOT\", {\r\n\t\t\t\t\"JulkaisuID\": julkaisuid\r\n\t\t\t}).done(function(resp){\r\n\t\t\t\tif (resp == \"-2\") {\r\n\t\t\t\t\tif (typeof on_missing === \"function\") {\r\n\t\t\t\t\t\ton_missing();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\thae_laskutustiedot: hae_laskutustiedot\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\tUtils = (function() {\r\n\r\n\t\t// as long as it continues to be invoked, raise on every interval\r\n\t\tvar throttle = function (func, interval) {\r\n\t\t var timeout;\r\n\t\t return function() {\r\n\t\t var context = this, args = arguments;\r\n\t\t var later = function () {\r\n\t\t timeout = false;\r\n\t\t };\r\n\t\t if (!timeout) {\r\n\t\t func.apply(context, args)\r\n\t\t timeout = true;\r\n\t\t setTimeout(later, interval)\r\n\t\t }\r\n\t\t }\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tthrottle: throttle\r\n\t\t}\r\n\r\n\t})();\r\n\r\n\t//Yleiset js funktiot\r\n\tCommon = (function (){\r\n\r\n\t var texts = {};\r\n\t var text_init_done = false;\r\n\r\n\t var pParams = {\r\n\t\tUID: 0,\r\n\t\tPID: 0,\r\n\t\tSelite: \"\",\r\n\t\tCSRF: \"\",\r\n\t\tKieli: \"_fi\"\r\n\t };\r\n\r\n\t var textsToFetch = \"2099,1092,120,218,2100,608,670,1992,2101,2102,462,2103,2104,179,401,2105,2106,2107\";\r\n\t textsToFetch += \",2108,2109,2110,2111,2112,319,320,838,48,1927,1440,389,325,1453,2125\";\r\n\t textsToFetch += \",1443,42,21,23,20,2132,70,2134,1577,2148,2153,2142,2143,2144,2145,2146,2147,2148,60,2172,2185\";\r\n\t textsToFetch += \",1443,41,42,21,22,23,20,2132,70,2134,1577,2148,2153,2154,2142,2143,2144,2145,2146,2147,60,2172\";\r\n\t textsToFetch += \",112,113,2177,2178,2179,2183,2184\";\r\n\t textsToFetch += \",62,1499,54,1900,1927,2168,310,2169,2170,2171,195,844,638\"\r\n\t textsToFetch += \",832,1052,834,123,1888,1889,1575,835,31,32,591,24,25,450,1570,78,2117,2118,1569,1151,833\"\r\n\t textsToFetch += \",1071,1072,1780,1070,1069,1475,1258,1781,2119,2120,2121\";\r\n\t textsToFetch += \",397,1104,1573,1422,485,2223,2329,2334,2335,2342,2474,2475,2476,2477\";\r\n\r\n\t var getKieli = function(){\r\n\t\treturn pParams.Kieli;\r\n\t };\r\n\r\n\t var getCSRF = function(){\r\n\t\treturn pParams.CSRF;\r\n\t };\r\n\r\n\t var getParams = function(){\r\n\t\treturn pParams;\r\n\t };\r\n\r\n\t var getText = function(id){\r\n\r\n\t\tif(jQuery.isEmptyObject(texts)){\r\n\r\n\r\n\t\t\tthis.init_texts('').done(function(){\r\n\r\n\t\t\t\tif(texts[id] === undefined){\r\n\t\t\t\t\tconsole.warn(\"Localized text with id \" + id + \" not found!\");\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn texts[id].text;\r\n\r\n\t\t\t});\r\n\r\n\t\t}\r\n\t\telse{\r\n\t\t\tif(texts[id] === undefined){\r\n\t\t\t\tconsole.warn(\"Localized text with id \" + id + \" not found!\");\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\treturn texts[id].text;\r\n\t\t}\r\n\t };\r\n\r\n\t var closeDialog = function(target_element)\r\n\t {\r\n\t\t\tif(target_element){\r\n\t\t\t\tif($(target_element).closest('.ui-dialog').is(':visible')) {\r\n\t\t\t\t\t$(target_element).dialog(\"close\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif($(\"#dialog\").closest('.ui-dialog').is(':visible')) {\r\n\t\t\t\t\t$(\"div#dialog\").dialog(\"close\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t };\r\n\r\n\t var isInteger = function(s){\r\n\t\tvar i;\r\n\t\tfor (i = 0; i < s.length; i++){\r\n\t\t\t// Check that current character is number.\r\n\t\t\tvar c = s.charAt(i);\r\n\t\t\tif (((c < \"0\") || (c > \"9\"))) return false;\r\n\t\t}\r\n\t\t// All characters are numbers.\r\n\t\treturn true;\r\n\t }\r\n\r\n\t //Mapataan muutoslokin _fi tapahtuma istunnon kielen mukaiseksi\r\n\t var mapChangeLogEvent = function(inEvent){\r\n\r\n\t\tswitch(inEvent.toLowerCase()){\r\n\t\t\tcase \"muokkaus\":\r\n\t\t\t\treturn getText(1071);\r\n\t\t\tcase \"palautus\":\r\n\t\t\t\treturn getText(1780);\r\n\t\t\tcase \"poisto\":\r\n\t\t\t\treturn getText(1070);\r\n\t\t\tcase \"p\\u00E4\\ivitys\":\r\n\t\t\t\treturn getText(1069);\r\n\t\t\tcase \"ryhm\\u00E4n nimen muutos\":\r\n\t\t\t\treturn getText(1475);\r\n\t\t\tcase \"siirto\":\r\n\t\t\t\treturn getText(1258);\r\n\t\t\tcase \"tuonti\":\r\n\t\t\t\treturn getText(1781);\r\n\t\t\tcase \"uusi\":\r\n\t\t\t\treturn getText(1072);\r\n\t\t\tdefault:\r\n\t\t\t\treturn inEvent;\r\n\t\t}\r\n\t };\r\n\r\n\t var checkEmail = function(emailStr){\r\n\t\tvar error_txt_enter_email = getText(2114);\r\n\t\tvar error_txt_invalid_form = getText(680);\r\n\t\tvar error_txt_username_invalid = getText(682);\r\n\t\tvar error_txt_invalid_extension = getText(683);\r\n\r\n\t\temailStr=jQuery.trim(emailStr);\r\n\r\n\t\tif (emailStr.length==0)\r\n\t\t{\r\n\t\t\talert(error_txt_enter_email);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar emailPat=/(.+)@(.+)/;\r\n\t\tvar specialChars=\"\\\\(\\\\)<>@,;:\\\\\\\\\\\\\\\"\\\\.\\\\[\\\\]\";\r\n\t\tvar validChars=\"\\[^\\\\s\" + specialChars + \"\\]\"\r\n\t\tvar quotedUser=\"(\\\"[^\\\"]*\\\")\";\r\n\t\tvar ipDomainPat=/^\\[(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\]$/;\r\n\t\tvar atom=validChars + '+';\r\n\t\tvar word=\"(\" + atom + \"|\" + quotedUser + \")\";\r\n\t\tvar userPat=new RegExp(\"^\" + word + \"(\\\\.\" + word + \")*$\");\r\n\t\tvar domainPat=new RegExp(\"^\" + atom + \"(\\\\.\" + atom +\")*$\");\r\n\t\tvar matchArray=emailStr.match(emailPat);\r\n\t\tif (matchArray==null)\r\n\t\t{\r\n\t\t\talert(error_txt_invalid_form + ' (' + emailStr + ')');\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar user=matchArray[1];\r\n\t\tvar domain=matchArray[2];\r\n\r\n\t\tif (user.match(userPat)==null)\r\n\t\t{\r\n\t\t\talert(error_txt_username_invalid + ' (' + emailStr + ')');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar IPArray=domain.match(ipDomainPat);\r\n\t\tif (IPArray!=null)\r\n\t\t{\r\n\t\t\tfor (var i=1;i<=4;i++)\r\n\t\t\t{\r\n\t\t\t\tif (IPArray[i]>255)\r\n\t\t\t\t{\r\n\t\t\t\t\talert(error_txt_invalid_extension + ' (' + emailStr + ')');\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar domainArray=domain.match(domainPat);\r\n\r\n\t\tif (domainArray==null)\r\n\t\t{\r\n\t\t\talert(error_txt_invalid_extension + ' (' + emailStr + ')');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar atomPat=new RegExp(atom,\"g\");\r\n\t\tvar domArr=domain.match(atomPat);\r\n\t\tvar len=domArr.length;\r\n\r\n\t\tif (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>6)\r\n\t\t{\r\n\t\t\talert(error_txt_invalid_extension + ' (' + emailStr + ')');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (len<2)\r\n\t\t{\r\n\t\t\talert(error_txt_invalid_extension + ' (' + emailStr + ')');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t };\r\n\r\n\t var arrayUniqueByKey = function(inArr, key){\r\n\r\n\t\t\ttry{\r\n\r\n\t\t\t\tinputArray = $.map(inArr, function(o){\r\n\t\t\t\t\treturn o[key];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar outputArray = [];\r\n\r\n\t\t\t\tfor (var i = 0; i < inputArray.length; i++)\r\n\t\t\t\t{\r\n\t\t\t\t\tif ((jQuery.inArray(inputArray[i], outputArray)) == -1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\toutputArray.push(inputArray[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn outputArray;\r\n\t\t\t}\r\n\t\t\tcatch(ex){\r\n\r\n\t\t\t\tconsole.log(\"Error arrayUniqueByKey: \" + ex);\r\n\t\t\t\treturn inArr;\r\n\r\n\t\t\t}\r\n\r\n\t };\r\n\r\n\t //Palauttaa arrayn primitiivejä jotka löytyvät molemmista listoista.\r\n\t var arrayIntersect = function(array1, array2){\r\n\t\tvar res = array1.filter(function(n) {\r\n\t\t\treturn array2.indexOf(n) != -1\r\n\t\t});\r\n\r\n\t\treturn res;\r\n\t };\r\n\r\n\t return {\r\n\r\n\t\t\tarrayIntersect: arrayIntersect,\r\n\r\n\t\t\tarrayUniqueByKey: arrayUniqueByKey,\r\n\r\n\t\t\tgetText: getText,\r\n\r\n\t\t\tgetKieli: getKieli,\r\n\r\n\t\t\tgetCSRF: getCSRF,\r\n\r\n\t\t\tgetParams: getParams,\r\n\r\n\t\t\tcloseDialog: closeDialog,\r\n\r\n\t\t\tmapChangeLogEvent: mapChangeLogEvent,\r\n\r\n\t\t\tisInteger: isInteger,\r\n\r\n\t\t\tisiPhone: function(){\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t//Detect iPhone\r\n\t\t\t\t\t(navigator.platform.indexOf(\"iPhone\") != -1) ||\r\n\t\t\t\t\t//Detect iPod\r\n\t\t\t\t\t(navigator.platform.indexOf(\"iPod\") != -1) ||\r\n\t\t\t\t\t//Detect iPad\r\n\t\t\t\t\t(navigator.platform.indexOf(\"iPad\") != -1)\r\n\t\t\t\t);\r\n\t\t\t},\r\n\r\n\t\t\tisDevelopment : function(){\r\n\r\n\t\t\t\tvar href = window.location.href;\r\n\r\n\t\t\t\treturn (href.indexOf(\"prislocal\") > 0 ||\r\n\t\t\t\t\t\thref.indexOf(\"prisdev\") > 0);\r\n\t\t\t},\r\n\r\n\t\t\tisIE: function(){\r\n\t\t\t\tif (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\r\n\t\t\t\t return true;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tisEdge: function() {\r\n\r\n\t\t\t\treturn navigator.userAgent.indexOf('Edge/') !== -1;\r\n\r\n\t\t\t},\r\n\r\n\t\t\tmailSupport: function(inId, inError_Type, url, ctoken)\r\n\t\t\t{\r\n\t\t\t\treturn CommonAjax.post(\"LAHETA_VIRHEESTA_SAHKOPOSTI\", false, {\r\n\t\t\t\t\tvirhe_id: inId,\r\n\t\t\t\t\tvirhe_tyyppi: inError_Type,\r\n\t\t\t\t\tctoken: ctoken,\r\n\t\t\t\t\turl: url,\r\n\t\t\t\t\tdataType: \"html\"\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetInternetExplorerVersion: function()\r\n\t\t\t{\r\n\t\t\t var rv = -1;\r\n\t\t\t if (navigator.appName == 'Microsoft Internet Explorer')\r\n\t\t\t {\r\n\t\t\t\tvar ua = navigator.userAgent;\r\n\t\t\t\tvar re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\r\n\t\t\t\tif (re.exec(ua) != null)\r\n\t\t\t\t rv = parseFloat( RegExp.$1 );\r\n\t\t\t }\r\n\t\t\t else if (navigator.appName == 'Netscape')\r\n\t\t\t {\r\n\t\t\t\tvar ua = navigator.userAgent;\r\n\t\t\t\tvar re = new RegExp(\"Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})\");\r\n\t\t\t\tif (re.exec(ua) != null)\r\n\t\t\t\t rv = parseFloat( RegExp.$1 );\r\n\t\t\t }\r\n\t\t\t return rv;\r\n\t\t\t},\r\n\r\n\t\t\tisIE_lessthan: function(version){\r\n\t\t\t\tif(this.isIE()){\r\n\t\t\t\t\tvar myNav = navigator.userAgent.toLowerCase();\r\n\t\t\t\t\tvar browser_version = this.getInternetExplorerVersion();\r\n\r\n\t\t\t\t\tif(browser_version < version){\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tisSafari: function() {\r\n\t\t\t\tif (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tisChrome: function() {\r\n\r\n\t\t\t\treturn navigator.userAgent.indexOf('Chrome') !== -1;\r\n\r\n\t\t\t},\r\n\r\n\t\t\tisFirefox: function() {\r\n\t\t\t\tif(navigator.userAgent.toLowerCase().indexOf('firefox') != -1){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\thasTifSupport: function(){\r\n\r\n\t\t\t\treturn (this.isEdge() || this.isIE() || this.isSafari());\r\n\r\n\t\t\t},\r\n\r\n\t\t\t//Validoidaan sähköpostiosoite\r\n\t\t\tvalidateEmail: function(emailStr, lang, csrf, pid)\r\n\t\t\t{\r\n\t\t\t\tvar d = new $.Deferred;\r\n\t\t\t\tvar self = this;\r\n\r\n\t\t\t\tlang == (lang && lang.length > 0 ? lang : pParams.Kieli);\r\n\r\n\t\t\t\tif(csrf && csrf.length > 0)\r\n\t\t\t\t\tpParams.CSRF = csrf;\r\n\r\n\t\t\t\tif(pid && pid.length > 0)\r\n\t\t\t\t\tpParams.PID = pid;\r\n\r\n\t\t\t\tif(texts[2114] === undefined ||\r\n\t\t\t\t\ttexts[680] === undefined ||\r\n\t\t\t\t\ttexts[682] === undefined ||\r\n\t\t\t\t\ttexts[683] === undefined){\r\n\r\n\t\t\t\t\tthis.init_texts(lang, \"2114,680,682,683\").done(function(){\r\n\t\t\t\t\t\td.resolve(checkEmail(emailStr));\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\td.resolve(checkEmail(emailStr));\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn d.promise();\r\n\t\t\t},\r\n\r\n\t\t\t//Avataan ikkuna keskelle näyttöä.\r\n\t\t\t//Jos viimeinen parametri name on eri kuin undefined annetaan ikkunalle nimi\r\n\t\t\t//ikkunan nimi tarvitaan jos siihen pitää viitata jälikäteen.\r\n\t\t\topenWindow: function (url,inC,width,height, name) {\r\n\r\n\t\t\t\t//Jos annettu korkeus on isompi kuin näytön korkeus, on pienennettävä height parametria\r\n\t\t\t\tif(height > screen.availHeight){\r\n\t\t\t\t\tvar oldHeight = height;\r\n\t\t\t\t\theight = (screen.availHeight - 120);\r\n\r\n\t\t\t\t\tif(window.console){\r\n\t\t\t\t\t\tconsole.log(\"Changed window height from: \" + oldHeight + \" to height: \" + height);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Jos annettu leveys on isompi kuin näytön leveys, on pienennettävä width parametria\r\n\t\t\t\tif(width > screen.availWidth){\r\n\t\t\t\t\tvar oldWidth = width;\r\n\t\t\t\t\twidth = (screen.availWidth - 120);\r\n\r\n\t\t\t\t\tif(window.console){\r\n\t\t\t\t\t\tconsole.log(\"Changed window width from: \" + oldWidth + \" to height: \" + width);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar left = parseInt((screen.availWidth/2) - (width/2));\r\n\t\t\t\tvar top = parseInt((screen.availHeight/2) - (height/2));\r\n\t\t\t\tinC = inC + \",width=\" + width + \",height=\" + height + \",left=\" + left + \",top=\" + top + \"screenX=\" + left + \",screenY=\" + top;\r\n\r\n\t\t\t\tvar n = (name && name.length > 0 ? name : \"\");\r\n\r\n\t\t\t\tvar w = window.open(url,n,inC);\r\n\t\t\t\tw.focus();\r\n\r\n\t\t\t\tcloseDialog();\r\n\r\n\t\t\t\treturn w;\r\n\t\t\t},\r\n\r\n\r\n\t\t\tinit_params : function(inParams, do_text_init, options){\r\n\r\n\t\t\t\tvar d = new $.Deferred;\r\n\r\n\t\t\t\t//Kopioidaan parametrit\r\n\t\t\t\tfor (var prop in inParams) {\r\n\t\t\t\t\tif (inParams.hasOwnProperty(prop)) {\r\n\t\t\t\t\t\tpParams[prop] = inParams[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(do_text_init){\r\n\t\t\t\t\treturn this.init_texts(pParams.Kieli, pParams.texts, options);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn d.resolve();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tinit_texts : function(kieli, commaSeparatedTexts, options){\r\n\r\n\t\t\t\tcommaSeparatedTexts = (commaSeparatedTexts && commaSeparatedTexts.length > 0 ? commaSeparatedTexts : textsToFetch);\r\n\r\n\t\t\t\t//Jossain tilanteissa voi olla ettei löydy CSRF tokenia, ja pitää hakea sanastosta tekstejä. GET:llä onnistuu ilman tokenia.\r\n\t\t\t\tif(options && options.init_method === \"GET\"){\r\n\t\t\t\t\treturn CommonAjax.fetch(\"HAE_SANASTON_TEKSTIT\", {\r\n\t\t\t\t\t\ttekstit: commaSeparatedTexts,\r\n\t\t\t\t\t\tKieli: kieli,\r\n\t\t\t\t\t\turl: (options.url ? options.url : undefined),\r\n\t\t\t\t\t\tdataType: \"json\"\r\n\t\t\t\t\t}).done(function(data){\r\n\t\t\t\t\t\tfor(var i = 0; i < data.length; i++){\r\n\t\t\t\t\t\t\ttexts[data[i].id] = { id: data[i].id, text: data[i].text };\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\ttext_init_done = true;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\treturn CommonAjax.post(\"HAE_SANASTON_TEKSTIT\", true, {\r\n\t\t\t\t\t\ttekstit: commaSeparatedTexts,\r\n\t\t\t\t\t\tKieli: kieli,\r\n\t\t\t\t\t\tdataType: \"json\"\r\n\r\n\t\t\t\t\t}).done(function(data){\r\n\r\n\t\t\t\t\t\tfor(var i = 0; i < data.length; i++){\r\n\t\t\t\t\t\t\ttexts[data[i].id] = { id: data[i].id, text: data[i].text };\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\ttext_init_done = true;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tget_additional_params: function(){\r\n\r\n\t\t\t\treturn $.ajax({\r\n\r\n\t\t\t\t\ttype: \"POST\",\r\n\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\turl: \"../lib/libAjaxFuncs.asp\",\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tFunc:\"hae_lisa_asetukset\",\r\n\t\t\t\t\t\tPID: pParams.PID,\r\n\t\t\t\t\t\tUID: pParams.UID,\r\n\t\t\t\t\t\tctoken: pParams.CSRF,\r\n\t\t\t\t\t\tDummy: new Date()\r\n\t\t\t\t\t},\r\n\t\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function (xhr, ajaxOptions, thrownError) {\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetDialog: function(target_element, params){\r\n\t\t\t\tcloseDialog(target_element);\r\n\r\n\t\t\t\tif($(\".ui-dialog-buttonpane\").find(\".asetukset_koko\").length > 0){\r\n\t\t\t\t\t$(\".ui-dialog-buttonpane\").find(\".asetukset_koko\").remove();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar ds = \"no dialog content defined\";\r\n\t\t\t\tvar pos = {};\r\n\t\t\t\tvar buttons = [];\r\n\r\n\t\t\t\tif(params.pos){\r\n\t\t\t\t\tpos = params.pos;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tpos = { my: \"center top\", at: \"center top\"};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(params.content && params.content.length > 0){\r\n\t\t\t\t\tds = params.content;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(params.buttons && $.isArray(params.buttons)){\r\n\t\t\t\t\tbuttons = params.buttons;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tbuttons = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttext: getText(1092),\r\n\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Dialog\r\n\t\t\t\t$(target_element).html(ds).dialog({\r\n\r\n\t\t\t\t\ttitle:(params.title && params.title.length > 0 ? params.title : \"ei otsikkoa\"),\r\n\t\t\t\t\tdialogClass: \"no-close\",\r\n\t\t\t\t\tcloseOnEscape: true,\r\n\t\t\t\t\tautoOpen: false,\r\n\t\t\t\t\twidth: (params.width && parseInt(params.width) > 0 ? params.width : 450),\r\n\t\t\t\t\theight: (params.height && parseInt(params.height) > 0 ? params.height : 500),\r\n\t\t\t\t\tmodal: (params.modal ? params.modal : true),\r\n\t\t\t\t\tposition: pos,\r\n\t\t\t\t\tbuttons: buttons,\r\n\t\t\t\t\topen: function() {\r\n\t\t\t\t\t\t$(\"#dialog\").off();\r\n\r\n\t\t\t\t\t\t$(\"#dialog\").keypress(function(e) {\r\n\t\t\t\t\t\t if(e.target.tagName.toUpperCase() !== \"TEXTAREA\"){\r\n\t\t\t\t\t\t\t if (e.keyCode == $.ui.keyCode.ENTER) {\r\n\t\t\t\t\t\t\t\t$(this).parent().find('.ui-dialog-buttonset button').eq(0).trigger(\"click\");\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$(target_element).dialog('open');\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\r\n\t\t\taseta_halytysrajat: function(koko_kb, target_element){\r\n\r\n\t\t\t\t$(\".ui-dialog-buttonpane\").find(\".asetukset_koko\").remove();\r\n\r\n\t\t\t\tAjax.fetch(\"HAE_PROJEKTIKOKO_HALYTYS\", {\r\n\t\t\t\t\t\"PID\" : pParams.PID\r\n\t\t\t\t}).done(function(r){\r\n\r\n\t\t\t\t\tvar enabled = false;\r\n\t\t\t\t\tvar receivers = \"\";\r\n\t\t\t\t\tvar alarmevery;\r\n\r\n\t\t\t\t\tvar project_size_kb = koko_kb;\r\n\t\t\t\t\tvar project_size_mb = 0;\r\n\t\t\t\t\tvar project_size_gb = 0;\r\n\t\t\t\t\tvar next_project_size_gb = 0;\r\n\r\n\t\t\t\t\tif(project_size_kb >= 1024){\r\n\t\t\t\t\t\tproject_size_mb = (project_size_kb / 1024);\r\n\r\n\t\t\t\t\t\tif(project_size_mb >= 1024){\r\n\t\t\t\t\t\t\tproject_size_gb = (project_size_mb / 1024);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tnext_project_size_gb = Math.round(project_size_gb + 1);\r\n\r\n\t\t\t\t\tif(r.length > 0){\r\n\r\n\t\t\t\t\t\tr = r[0];\r\n\r\n\t\t\t\t\t\tif(r.receivers && r.receivers.length > 0){\r\n\t\t\t\t\t\t\treceivers = r.receivers;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(r.alarmwhengb){\r\n\t\t\t\t\t\t\tnext_project_size_gb = r.alarmwhengb;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(r.alarmeverygb){\r\n\t\t\t\t\t\t\talarmevery = r.alarmeverygb;\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(r.alarmenabled){\r\n\t\t\t\t\t\t\tenabled = (parseInt(r.alarmenabled) === 1 ? true : false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(target_element.indexOf(\"#\") === -1){\r\n\t\t\t\t\t\ttarget_element = \"#\" + target_element;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar ds = \"
\";\r\n\r\n\t\t\t\t\tds += getText(2143);\r\n\r\n\t\t\t\t\tds += \"
\";\r\n\t\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\t\tds += \" \" + getText(2148);\r\n\t\t\t\t\tds += \"
\";\r\n\r\n\t\t\t\t\tds += \"\";\r\n\r\n\t\t\t\t\t$(target_element).html(ds).dialog({\r\n\r\n\t\t\t\t\t\t\ttitle:getText(2142),\r\n\t\t\t\t\t\t\tdialogClass: \"no-close\",\r\n\t\t\t\t\t\t\tcloseOnEscape: true,\r\n\t\t\t\t\t\t\tautoOpen: false,\r\n\t\t\t\t\t\t\twidth: 450,\r\n\t\t\t\t\t\t\theight: 500,\r\n\t\t\t\t\t\t\tmodal: false,\r\n\t\t\t\t\t\t\tposition: { my: \"center top\", at: \"center top\"},\r\n\t\t\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\ttext: getText(54),\r\n\t\t\t\t\t\t\t\t\tclick: function() {\r\n\r\n\t\t\t\t\t\t\t\t\t\tvar alarmto = $(\"#alarmto\").val();\r\n\t\t\t\t\t\t\t\t\t\tvar when_exceeds = $(\"#when_exceeds\").val();\r\n\t\t\t\t\t\t\t\t\t\tvar send_every;\r\n\r\n\t\t\t\t\t\t\t\t\t\tif($(\"#chk_send_every\").prop(\"checked\")){\r\n\t\t\t\t\t\t\t\t\t\t\tsend_every = $(\"#txt_send_every\").val();\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif(send_every.length === 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\talert(getText(2154));\r\n\t\t\t\t\t\t\t\t\t\t\t\t$(\"#txt_send_every\").css(\"color\", \"red\");\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\tsend_every = \"\";\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\tif($.trim(alarmto).length > 0){\r\n\t\t\t\t\t\t\t\t\t\t\tvar alarmto = alarmto.replace(/,/g, \";\");\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar emails = alarmto.split(\";\");\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar errors = 0;\r\n\t\t\t\t\t\t\t\t\t\t\tvar d = new $.Deferred;\r\n\t\t\t\t\t\t\t\t\t\t\tvar deferredDones = 0;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tfor(var k = 0; k < emails.length; k++){\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tvar emailAddr = $.trim(emails[k]);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tif(emailAddr.length > 0){\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tCommon.validateEmail(emailAddr, pParams.Kieli, pParams.CSRF, pParams.PID).done(function(returnCode){\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(!returnCode){\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\td.resolve(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terrors++;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(deferredDones == (emails.length - 1)){\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\td.resolve(!(errors > 0));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdeferredDones++;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tif(errors > 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\tif($(\"#chk_alarm_enabled\").prop(\"checked\") === true){\r\n\t\t\t\t\t\t\t\t\t\t\t\talert(getText(485));\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar d = new $.Deferred;\r\n\t\t\t\t\t\t\t\t\t\t\td.resolve(true);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\td.done(function(returncode){\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif(errors > 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif(!Common.isInteger(when_exceeds)){\r\n\t\t\t\t\t\t\t\t\t\t\t\talert(getText(2153));\r\n\t\t\t\t\t\t\t\t\t\t\t\t$(\"#when_exceeds\").css(\"color\", \"red\");\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif($(\"#txt_send_every\").val().length > 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\tif(!Common.isInteger(send_every)){\r\n\t\t\t\t\t\t\t\t\t\t\t\t\talert(getText(2153));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$(\"#txt_send_every\").css(\"color\", \"red\");\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tAjax.post(\"TALLENNA_PROJEKTIKOKO_HALYTYS\", true, {\r\n\t\t\t\t\t\t\t\t\t\t\t\tPID: pParams.PID,\r\n\t\t\t\t\t\t\t\t\t\t\t\tUID: pParams.UID,\r\n\t\t\t\t\t\t\t\t\t\t\t\tJulkaisuID: pParams.JulkaisuID,\r\n\t\t\t\t\t\t\t\t\t\t\t\tReceivers: alarmto,\r\n\t\t\t\t\t\t\t\t\t\t\t\twhen_exceeds: when_exceeds,\r\n\t\t\t\t\t\t\t\t\t\t\t\tsend_every: send_every,\r\n\t\t\t\t\t\t\t\t\t\t\t\tenabled: ($(\"#chk_alarm_enabled\").prop(\"checked\") ? 1 : 0)\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t}).done(function(resp){\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\tcloseDialog();\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\ttext: getText(1092),\r\n\t\t\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(target_element).find(\"#alarmto\").focus();\r\n\r\n\t\t\t\t\t$(target_element).find(\"#alarmto\").autocomplete({\r\n\t\t\t\t\t\tsource: \"../lib/libAjaxFuncs.asp?func=hae_paakayttajat&PID=\" + pParams.PID,\r\n\t\t\t\t\t\tminLength: 2,\r\n\t\t\t\t\t\tmultiple: true\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(target_element).find(\"#chk_alarm_enabled\").click(function(){\r\n\t\t\t\t\t\t$(\".initial_dis\").prop(\"disabled\", !$(this).prop(\"checked\"));\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(target_element).find(\"#chk_send_every\").click(function(){\r\n\t\t\t\t\t\tif($(this).is(\":checked\")){\r\n\t\t\t\t\t\t\t$(\"#txt_send_every\").prop(\"disabled\", false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t$(\"#txt_send_every\").prop(\"disabled\", true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(target_element).keypress(function(e) {\r\n\t\t\t\t\t if (e.keyCode == $.ui.keyCode.ENTER) {\r\n\t\t\t\t\t\t$(this).parent().find(\"button:eq(0)\").trigger(\"click\");\r\n\t\t\t\t\t }\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t});\r\n\r\n\t\t\t},\r\n\r\n\t\t\tavaa_asetukset_ikkuna : function(target_element){\r\n\r\n\t\t\t\tif(!gDependenciesLoaded){\r\n\t\t\t\t\tconsole.warn(\"Sorry, dependencies could not be loaded in time.\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcloseDialog(target_element);\r\n\r\n\t\t\t\tvar ds = \"\";\r\n\r\n\t\t\t\tthis.get_additional_params().done(function(d){\r\n\r\n\t\t\t\t\td = d[0];\r\n\r\n\t\t\t\t\tpParams.Admin = (d.admin == null ? 0 : d.admin);\r\n\t\t\t\t\tpParams.OrgAdmin = (d.orgadmin == null ? 0 : d.orgadmin);\r\n\t\t\t\t\tpParams.JulkaisuID = (d.julkaisuid == null ? 0 : d.julkaisuid);\r\n\t\t\t\t\tpParams.onkoKohde = (d.onkokohde == null ? 0 : d.onkokohde);\r\n\r\n\t\t\t\t\tvar admin = parseInt(pParams.Admin);\r\n\t\t\t\t\tvar orgAdmin = parseInt(pParams.OrgAdmin);\r\n\t\t\t\t\tvar koko_kb = (d.koko_kb == null ? 0 : d.koko_kb);\r\n\r\n\t\t\t\t\tds += '';\r\n\r\n\t\t\t\t\t// Dialog\r\n\t\t\t\t\t$(target_element).html(ds).dialog({\r\n\r\n\t\t\t\t\t\ttitle:getText(2099),\r\n\t\t\t\t\t\tdialogClass: \"no-close\",\r\n\t\t\t\t\t\tcloseOnEscape: true,\r\n\t\t\t\t\t\tautoOpen: false,\r\n\t\t\t\t\t\twidth: 450,\r\n\t\t\t\t\t\theight: 500,\r\n\t\t\t\t\t\tmodal: false,\r\n\t\t\t\t\t\tposition: { my: \"center top\", at: \"center top\"},\r\n\t\t\t\t\t\tbuttons: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttext: getText(1092),\r\n\t\t\t\t\t\t\t\tclick: function() {\r\n\t\t\t\t\t\t\t\t\t$(this).dialog('close');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(target_element).dialog('open');\r\n\r\n\t\t\t\t\tif(orgAdmin === 1 || admin === 1){\r\n\r\n\t\t\t\t\t\tvar divKoko = \"\";\r\n\r\n\t\t\t\t\t\tvar koko_txt = getText(1577);\r\n\t\t\t\t\t\tvar aseta_txt = getText(2142);\r\n\t\t\t\t\t\tvar project_size_txt = getText(2342);\r\n\r\n\t\t\t\t\t\tif(koko_txt.indexOf(\"(\") !== -1){\r\n\t\t\t\t\t\t\tkoko_txt = koko_txt.substring(0, koko_txt.indexOf(\"(\")-1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdivKoko += koko_txt + \": \";\r\n\r\n\t\t\t\t\t\tif(parseInt(koko_kb) >= 1024){\r\n\r\n\t\t\t\t\t\t\tvar koko_mb = koko_kb / 1024;\r\n\r\n\t\t\t\t\t\t\tif(parseInt(koko_mb) >= 1024){\r\n\r\n\t\t\t\t\t\t\t\tvar koko_gb = koko_mb / 1024;\r\n\r\n\t\t\t\t\t\t\t\tdivKoko += \"
\" + parseFloat(koko_gb).toFixed(2) + \" GB\";\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tdivKoko += \"
\" + parseFloat(koko_mb).toFixed(2) + \" MB\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tdivKoko += \"
\" + parseFloat(koko_kb).toFixed(2) + \" KB\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdivKoko += \" \";\r\n\t\t\t\t\t\tdivKoko += '

';\r\n\r\n\t\t\t\t\t\tdivKoko += \"
\";\r\n\r\n\t\t\t\t\t\tdivKoko += \"
\";\r\n\t\t\t\t\t\tdivKoko += \">> \" + aseta_txt;\r\n\t\t\t\t\t\tdivKoko += \"\";\r\n\r\n\t\t\t\t\t\tdivKoko += \"
\";\r\n\r\n\t\t\t\t\t\t$(\".ui-dialog-buttonpane\").find(\".asetukset_koko\").remove();\r\n\t\t\t\t\t\t$(\".ui-dialog-buttonpane\").append(divKoko);\r\n\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$(target_element).find(\"a\").blur();\r\n\r\n\t\t\t\t\t$(\".tippable\").tooltip({\r\n\t\t\t\t\t\titems: '[data-comment]',\r\n\t\t\t\t\t\tcontent: function() {\r\n\t\t\t\t\t\t\treturn $( this ).data('comment');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn false;\r\n\r\n\t\t\t\t});\r\n\r\n\t\t },\r\n\r\n\t\t parseUudetOminaisuudetXml : function(xml, inKieli, tulostaLista, container)\r\n\t {\r\n\t\t\t var items = [];\r\n\t\t\t var appended = 0;\r\n\r\n\t\t\t $(xml).find(\"Julkaisu\").each(function()\r\n\t\t\t {\r\n\t\t\t\t\tvar pvm = $(this).attr(\"pvm\");\r\n\t\t\t\t\tvar kieli = $(this).attr(\"Kieli\");\r\n\t\t\t\t\tvar nakyvissa = $(this).attr(\"Nakyvissa\");\r\n\t\t\t\t\tvar selKieli = inKieli;\r\n\r\n\t\t\t\t\tif(tulostaLista){\r\n\r\n\t\t\t\t\t\tif(parseInt(nakyvissa) === 1 && kieli.toLowerCase() == selKieli.toLowerCase()){\r\n\r\n\t\t\t\t\t\t\tvar otsikko = $(this).find(\"Otsikko\").text();\r\n\t\t\t\t\t\t\tvar content = $(this).find(\"SisaltoHTML\").text();\r\n\r\n\t\t\t\t\t\t\tvar header = \"\" + pvm + \"
\";\r\n\r\n\t\t\t\t\t\t\tvar ominaisuus = \"\";\r\n\t\t\t\t\t\t\tominaisuus += header;\r\n\t\t\t\t\t\t\tominaisuus += content;\r\n\t\t\t\t\t\t\tominaisuus += \"
\";\r\n\r\n\t\t\t\t\t\t\t$(container).append(ominaisuus);\r\n\r\n\t\t\t\t\t\t\t//$(container).append(\"
\");\r\n\r\n\t\t\t\t\t\t\tappended++;\r\n\r\n\t\t\t\t\t\t\titems.push({pvm: pvm, kieli: kieli, nakyvissa: nakyvissa });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\r\n\t\t\t\t\t\tif(parseInt(nakyvissa) === 1 && kieli.toLowerCase() == selKieli.toLowerCase()){\r\n\r\n\t\t\t\t\t\t\titems.push({pvm: pvm, kieli: kieli, nakyvissa: nakyvissa });\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t });\r\n\r\n\t\t\t if((items.length === 0 || appended === 0) && inKieli != \"_en\"){\r\n\t\t\t\t\treturn this.parseUudetOminaisuudetXml(xml, \"_en\", tulostaLista, container);\r\n\t\t\t }\r\n\r\n\t\t\t return items;\r\n\t\t },\r\n\t\t preview: function(data)\r\n\t\t {\r\n\t\t\t\tvar ie_version = 0;\r\n\r\n\t\t\t\tif(data.type === \"pdf\"){\r\n\t\t\t\t\tif(Common.isIE_lessthan(10)){\r\n\t\t\t\t\t\tie_version = Common.getInternetExplorerVersion();\r\n\r\n\t\t\t\t\t\tvar txt_preview_support = data.texts.preview_support;\r\n\r\n\t\t\t\t\t\ttxt_preview_support = txt_preview_support.replace(\"{0}\", ie_version);\r\n\r\n\t\t\t\t\t\ttoastr.warning(\"\", txt_preview_support);\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar lang = data.kieli\r\n\r\n\t\t\t\t\tlang = lang.substring(1);\r\n\r\n\t\t\t\t\tvar viewerUrl = \"/javascript/pdf.js/web/viewer.html?locale=\" + lang + \"&file=\";\r\n\t\t\t\t\tvar pdfUrl = \"//\" + data.misc.GCPRISUrl + \"/Main/HaeAsiakirja.asp?Tiedosto=\" + data.aid;\r\n\r\n\t\t\t\t\tCommon.openWindow(viewerUrl + encodeURIComponent(pdfUrl),'toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no','1200','700', 'Preview');\r\n\t\t\t\t}\r\n\t\t\t\telse if(data.type === \"image\"){\r\n\r\n\t\t\t\t\tvar galleryType = data.gallerytype;\r\n\r\n\t\t\t\t\tif(galleryType.length === 0){\r\n\t\t\t\t\t\tgalleryType = \"photoswipe\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar viewerUrl = \"\";\r\n\r\n\t\t\t\t\tswitch(galleryType){\r\n\r\n\t\t\t\t\t\tcase \"photoswipe\":\r\n\t\t\t\t\t\t\tviewerUrl = \"/Main/preview.asp?tiedosto=\" + data.aid + \"&parentid=\" + data.parentid;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"galleria\":\r\n\t\t\t\t\t\t\tif(data.suunnittelualaid && data.suunnittelualaid.length > 0){\r\n\t\t\t\t\t\t\t\tviewerUrl = \"/Main/galleria.asp?tiedosto=\" + data.aid + \"&suunnittelualaid=\" + data.suunnittelualaid;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if(data.kori && data.kori.length > 0){\r\n\t\t\t\t\t\t\t\tviewerUrl = \"/Main/galleria.asp?tiedosto=\" + data.aid + \"&kori=\" + encodeURIComponent(data.kori) + \"&PID=\" + data.pid;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tviewerUrl = \"/Main/galleria.asp?tiedosto=\" + data.aid + \"&parentid=\" + data.parentid + \"&ryhma=\" + encodeURIComponent(data.ryhma);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tviewerUrl = \"/Main/preview.asp?tiedosto=\" + data.aid + \"&parentid=\" + data.parentid;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tCommon.openWindow(viewerUrl, 'toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no','1200','700', 'Preview');\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t }\r\n\t})();\r\n\r\n\tColors = {};\r\n Colors.names = {\r\n beige: { hex:\"#f5f5dc\", order: 999 },\r\n black: { hex:\"#000000\", order: 5 },\r\n blue: { hex:\"#0000ff\", order: 1 },\r\n brown: { hex:\"#a52a2a\", order: 999 },\r\n cyan: { hex:\"#00ffff\", order: 999 },\r\n darkblue: { hex:\"#00008b\", order: 999 },\r\n darkcyan: { hex:\"#008b8b\", order: 7 },\r\n darkgrey: { hex:\"#a9a9a9\", order: 999 },\r\n darkgreen: { hex:\"#006400\", order: 999 },\r\n darkkhaki: { hex:\"#bdb76b\", order: 999 },\r\n darkmagenta: { hex:\"#8b008b\", order: 3 },\r\n darkolivegreen: { hex:\"#556b2f\", order: 999 },\r\n darkorange: { hex:\"#ff8c00\", order: 9 },\r\n darkorchid: { hex:\"#9932cc\", order: 999 },\r\n darkred: { hex:\"#8b0000\", order: 999 },\r\n darksalmon: { hex:\"#e9967a\", order: 999 },\r\n darkviolet: { hex:\"#9400d3\", order: 999 },\r\n gold: { hex:\"#ffd700\", order: 999 },\r\n green: { hex:\"#008000\", order: 999 },\r\n indigo: { hex:\"#4b0082\", order: 999 },\r\n khaki: { hex:\"#f0e68c\", order: 999 },\r\n lime: { hex:\"#00ff00\", order: 2 },\r\n magenta: { hex:\"#ff00ff\", order: 10 },\r\n maroon: { hex:\"#800000\", order: 999 },\r\n navy: { hex:\"#000080\", order: 8 },\r\n olive: { hex:\"#808000\", order: 999 },\r\n orange: { hex:\"#ffa500\", order: 999 },\r\n pink: { hex:\"#ffc0cb\", order: 999 },\r\n violet: { hex:\"#800080\", order: 999 },\r\n red: { hex:\"#ff0000\", order: 4 },\r\n yellow: { hex:\"#ffff00\", order: 6 }\r\n };\r\n Colors.random = function() {\r\n var result;\r\n var count = 0;\r\n for (var prop in this.names)\r\n if (Math.random() < 1/++count)\r\n result = prop;\r\n return { name: result, rgb: this.names[result].hex};\r\n };\r\n Colors.getSorted = function() {\r\n \tvar colorsArr = [];\r\n\r\n\t colorsArr = Object.keys(Colors.names).map(function(key) {\r\n\t return Colors.names[key];\r\n\t });\r\n\r\n\t var sortedColors = colorsArr.sort(function(a, b) {\r\n\t var prop = \"order\";\r\n\t if (typeof a[prop] == \"number\") {\r\n\t return (a[prop] - b[prop]);\r\n\t } else {\r\n\t return ((a[prop] < b[prop]) ? -1 : ((a[prop] > b[prop]) ? 1 : 0));\r\n\t }\r\n\t });\r\n\r\n\t return sortedColors;\r\n }\r\n\r\n})(jQuery);\r\n"],"names":["$","gDependenciesLoaded","head","document","getElementsByTagName","body","script","createElement","src","type","onreadystatechange","this","readyState","onload","appendChild","Ajax","fetch","func","inParams","ajaxParams","url","length","undefined","prop","dataobj","FUNC","Dummy","Date","hasOwnProperty","jQuery","inArray","ajax","data","dataType","async","contentType","error","xhr","text_status","thrownError","responseText","indexOf","window","location","href","status","Common","isDevelopment","alert","success","post","appendCommonParams","self","cParams","getParams","propName","userAborted","console","log","getAllResponseHeaders","CommonAjax","Mittari","hae_mittauksen_huomautukset","mittari_prefix","tid","Deferred","resolve","mittari","hae_mittaus_paivamaarat","pid","tarkista_kameran_kaytto","hyvaksy_kameran_kaytto","doBindingsForDynamicRows","unbind","click","id","split","trigger","e","params","el","consent_date","toString","ds","getText","title","height","width","content","buttons","text","dlg","done","resp2","parseInt","dialog","getDialog","preventDefault","change","val","substring","lastIndexOf","luo_huomautus_rivit","start","amount","camera_consent","htmlTotal","i","luo_huomautus_rivi","num","huomautus","html","huom","vast","dline","fixed","hid","liite","Projekti","hae_kayttajan_organisaatiot","uid","UID","onko_kopiolaitosta","PID","onko_kopiolaitosta_ts","hae_kayttajan_projektin_muutosloki","hae_kayttajan_projektin_kirjautumiset","Asiakirja","hae_referenssitiedostot_dialog","asiakirjat","init_texts","Kieli","r","a","refrid","parseFloat","maxrid","maxrefrid","refaid","mainaid","maxaid","is_old_rev","mainselite","refselite","refrid2","reftuontipvm","maxrefrid2","maxreftuontipvm","left","lstr","each","dropped","find","parentid","disableds","submit","zipupload","getElementById","action","WebForm_OnSubmit","__doPostBack","screen","open","setTimeout","Tyomaa","props","container","sivu","vahvuus_max","poista_vahvuus_otsikko","confirm","ID","response","hae_tyomaan_vahvuus","vahvuus_lisays","replace","test","nimi","trim","match","Selite","closeDialog","vahvuus_otsikko_muokkaus","value","jarjestys","Jarjestys","kieli","sivuid","append_to","vastaava","as_table","enabled","hasClass","Sivu","resp","str","inputName","x","jarj","selite","can_delete","poistettu","julkaisuID","julkaisuid","valvojatkpl","osauraktyonjohtkpl","osaurakkpl","sivuurakkpl","vArr","muutkpl","valIndex","m","maxmuut","j","tarkasta_tyomaa_sivu","tarkasta_temp_sivu","checkdate","CheckDate","tallenna_temp_sivu","tyomaapvm","Tyomaapvm","poista_temp_sivu","paivita_temp_sivu","HtmlHelpers","DropDown","disabled","info","empty","remove","emptyExceptFirst","optionValue","optionText","extraClasses","addClass","newItem","append","extra_option_classes","isArray","c","o","testAttr","testCond","className","result","isPlainObject","attribute","condition","key","eval","selectedValue","setDefaultOnEmpty","err","message","childElement","children","childElementSelectedValue","Tarjous","render_tarjoukset","json","inTexts","opts","tarjoukset","koko_yhteensa","tiedostot_yhteensa","jatetyttarjoukset","t","cls","warning_msg","TiedostotOk","tallennus_epaonnistui","Pvm","MinPvm","tarjous","tarjouksen_taydennys","ParentID","lisakirje","files","from_uutiset","tiedostonnimi","koko","kilotavua","f","file","TiedostonNimi","KokoKB","Tarjoaja","TarjoajaYritys","Kommentti","yritys","kommentti","kpl_yhteensa","Organisaatio","hae_laskutustiedot","on_missing","JulkaisuID","Utils","throttle","interval","timeout","apply","arguments","isEmptyObject","texts","warn","target_element","closest","is","checkEmail","emailStr","error_txt_enter_email","error_txt_invalid_form","error_txt_username_invalid","error_txt_invalid_extension","word","atom","validChars","userPat","RegExp","domainPat","matchArray","user","domain","IPArray","atomPat","len","domArr","pParams","CSRF","arrayIntersect","array1","array2","filter","n","arrayUniqueByKey","inArr","inputArray","map","outputArray","push","ex","getKieli","getCSRF","mapChangeLogEvent","inEvent","toLowerCase","isInteger","s","charAt","isiPhone","navigator","platform","isIE","userAgent","appVersion","isEdge","mailSupport","inId","inError_Type","ctoken","virhe_id","virhe_tyyppi","getInternetExplorerVersion","ua","rv","appName","exec","$1","isIE_lessthan","version","isSafari","isChrome","isFirefox","hasTifSupport","validateEmail","lang","csrf","d","promise","openWindow","inC","name","availHeight","oldHeight","availWidth","oldWidth","top","w","focus","init_params","do_text_init","options","commaSeparatedTexts","textsToFetch","init_method","tekstit","text_init_done","get_additional_params","Func","ajaxOptions","pos","my","at","dialogClass","closeOnEscape","autoOpen","modal","position","off","keypress","target","tagName","toUpperCase","keyCode","ui","ENTER","parent","eq","aseta_halytysrajat","koko_kb","alarmevery","receivers","project_size_gb","next_project_size_gb","project_size_mb","Math","round","alarmwhengb","alarmeverygb","alarmenabled","send_every","alarmto","when_exceeds","css","emails","errors","deferredDones","k","emailAddr","returnCode","returncode","Receivers","autocomplete","source","minLength","multiple","avaa_asetukset_ikkuna","Admin","admin","OrgAdmin","orgadmin","onkoKohde","onkokohde","aseta_txt","project_size_txt","orgAdmin","divKoko","koko_txt","koko_mb","toFixed","blur","tooltip","items","parseUudetOminaisuudetXml","xml","inKieli","tulostaLista","appended","ominaisuus","pvm","attr","nakyvissa","selKieli","preview","ie_version","txt_preview_support","preview_support","toastr","warning","viewerUrl","pdfUrl","misc","GCPRISUrl","aid","encodeURIComponent","galleryType","gallerytype","suunnittelualaid","kori","ryhma","Colors","names","beige","hex","order","black","blue","brown","cyan","darkblue","darkcyan","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkviolet","gold","green","indigo","khaki","lime","magenta","maroon","navy","olive","orange","pink","violet","red","yellow","random","count","rgb","getSorted","Object","keys","sort","b"],"mappings":"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"}