var fvmsg=new Array();
fvmsg=new Array();
fvmsg=new Array();
fvmsg=new Array();
fvmsg="Kohdenimi pitää asettaa.";
fvmsg="Yhteenvedon kuvaus-parametri pitää asettaa.";
fvmsg="Yhteenvedon tekijä- tai tekijänoikeuksien haltija -parametri pitää asettaa.";
fvmsg="Yhteenvedon lähde-parametri pitää asettaa.";
fvmsg="Yhteenvedon päiväys-parametri pitää asettaa.";
fvmsg="Lisenssi pitää valita.";
// mikäli tämä on true niin lomaketta ei lähetetä vaan ainoastaan ilmoitetaan onnistuiko tarkistus.
if (mwUploadFormValidator_debug == undefined) var mwUploadFormValidator_debug=false;
// poistaa whitespacet (välilyönti, rivinvaihto) tekstin alusta ja lopusta
function trim1(str) {
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
// Valitsee käyttäjän kielen mukaisen tekstin näytettäväksi jos sopiva on käytössä.
function mwUploadFormValidatorMsg(key) {
var lang= wgUserLanguage;
if (fvmsg==null) lang='en';
if (fvmsg==null) {
lang='en';
if (fvmsg==null) {
lang='fi';
if (fvmsg==null)
return "ERROR: string for lang=" + lang +" and key=" + key + " not found.";
}
}
return fvmsg;
}
function mwUploadFormValidator() {
clear_msg();
// Tarkistetaan, että halutaanko ohittaa tarkistukset
e=document.getElementById("wpIgnoreWarning");
if (e==null) return true;
if (e.checked==true) {
if (mwUploadFormValidator_debug==true) {
alert("Ohitettiin tarkistukset");
return false;
} else
return true;
}
/*
// Emme tarkista onko ladattava tiedosto asetettuna, koska Wikipedian nykyinen koodi tekee sen
e=document.getElementById("wpUploadFile");
if ((e) && (trim1(e.value)=="") ) {
alert("wpUploadFile pitää olla asetettuna");
return false;
}
*/
// Tarkistetaan onko kohdenimenä jotain
e=document.getElementById("wpDestFile");
if ((e) && (trim1(e.value)=="") ) {
alert_msg(mwUploadFormValidatorMsg("puuttuva_kohdenimi"));
return false;
}
// Tarkistetaan yhteenveto.
e=document.getElementById("wpUploadDescription");
// Mikäli yhteenvetokenttää ei saada niin jotain meni kammottavasti pieleen ja lopetetaan tarkistus
if (e==null) return true;
// Poistetaan rivinvaihdot, koska javascript regex ei pidä niistä
var wpUploadDescription=e.value.replace(/\n|\r/gm, " ");
// Tarkistetaan onko yhteenvedon kuvaus-parametri asetettuna
var notfound=true;
var re = new RegExp("\\| Kuvaus *?=(.*?)(\\||}})", "igm");
var m = re.exec(wpUploadDescription);
if (m == null) ;
else if (m.length<2) ;
else {
var t=trim1(m);
if (t.length>0) notfound=false;
}
if (notfound==true) {
alert_msg(mwUploadFormValidatorMsg("puuttuva_kuvaus"));
return false;
}
// Tarkistetaan onko lähde-parametri asetettuna
var notfound=true;
var re = new RegExp("\\| Lähde *?=(.*?)(\\||}})", "igm");
var m = re.exec(wpUploadDescription);
if (m == null) ;
else if (m.length<2) ;
else {
var t=trim1(m);
if (t.length>0) notfound=false;
}
if (notfound==true) {
alert_msg(mwUploadFormValidatorMsg("puuttuva_lahde"));
return false;
}
// Tarkistetaan onko yhteenvedon päiväys-parametri asetettuna
var notfound=true;
var re = new RegExp("\\| Päiväys *?=(.*?)(\\||}})", "igm");
var m = re.exec(wpUploadDescription);
if (m == null) ;
else if (m.length<2) ;
else {
var t=trim1(m);
if (t.length>0) notfound=false;
}
if (notfound==true) {
alert_msg(mwUploadFormValidatorMsg("puuttuva_paivays"));
return false;
}
// Tarkistetaan onko tekijä tai tekijänoikeuksien haltija -parametri asetettuna
var notfound=true;
var re = new RegExp("\\| Tekijä *?=(.*?)(\\||}})", "im");
var m = re.exec(wpUploadDescription);
if (m == null) ;
else if (m.length<2) ;
else {
var t=trim1(m);
if (t.length>0) notfound=false;
}
var re = new RegExp("\\| Tekijänoikeuksien haltija *?=(.*?)(\\||}})", "igm");
var m = re.exec(wpUploadDescription);
if (m == null) ;
else if (m.length<2) ;
else {
var t=trim1(m);
if (t.length>0) notfound=false;
}
if (notfound==true) {
alert_msg(mwUploadFormValidatorMsg("puuttuva_tekija"));
return false;
}
// Tarkistetaan käyttöoikeus
e=document.getElementById("wpLicense");
if (e==null) return true;
else if (trim1(e.value)=="") {
alert_msg(mwUploadFormValidatorMsg("puuttuva_lisenssi"));
return false;
}
if (mwUploadFormValidator_debug==true) {
alert("Kaikki OK");
return false;
}
return true;
}
function clear_msg() {
var e=document.getElementById("viestilaatikko");
if (!e) return false;
e.style.display="none";
e.innerHTML="";
}
function alert_msg(str) {
var e=document.getElementById("viestilaatikko");
if (e) {
e.style.display="block";
e.innerHTML+=str;
} else {
alert(str);
}
}
function initMwUploadFormValidator() {
var e=document.getElementById("mw-upload-form");
if (!e) return false;
// alert(e.parentNode);
// Asetetaan rumasti onsubmit-käsitteliä
var str=e.parentNode.innerHTML;
str=str.replace(/id=\"?mw-upload-form\"?/igm, "id=\"mw-upload-form\" onsubmit=\"return mwUploadFormValidator()\"");
e.parentNode.innerHTML=str;
// alert(str);
// e.setAttribute("onsubmit", "return mwUploadFormValidator()");
// e.setAttribute("ONSUBMIT", "return mwUploadFormValidator()");
var newDiv = document.createElement('span');
if (newDiv) {
newDiv.setAttribute("id", "viestilaatikko");
newDiv.style.padding="0.5em";
newDiv.style.fontSize="150%";
newDiv.style.color="red";
// newDiv.style.border="0.2em solid red";
newDiv.style.display="none";
newDiv.style.width="100%";
newDiv.style.clear="both";
document.getElementById("fiwiki-bottom-toolbar").appendChild(newDiv);
}
}
if (wgCanonicalNamespace=="Special" && wgCanonicalSpecialPageName=="Upload")
addOnloadHook( initMwUploadFormValidator );