var abc = 'aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz' +
'AÁBCDEÉFGHIÍJKLMNOÓÖŐPQRSTUÚÜŰVWXYZ';
var szamok = '0123456789';
var cimPlus = ' -.,' + szamok;
var nevPlus = ' .';
var tlpPlus = ' -';
var hszPlus = ' ./' + abc;
var webPlus = abc + szamok + '~_?#&:/';
function strLTrim(str) {
while(str.length && str.indexOf(' ') == 0){
if(str.length == 1) str = '';
else str = str.substring(1);
}
return str;
}
function strRTrim(str) {
while(str.length && str.lastIndexOf(' ') == str.length - 1){
if(str.length == 1) str = '';
else str = str.substring(0, str.length - 1);
}
return str;
}
function strTrim(str) {
return strLTrim(strRTrim(str));
}
// str elé beteszi fillChar - t annyiszor, hogy str hossza wantedCharCount legyen.
// használható pl. 1 karakteres szám két karakteressé alakítására: nullaEgy = fillXCharacter('1', 2, '0');
function fillXCharacter(str, wantedCharCount, fillChar) {
while(str.length < wantedCharCount) str = fillChar + str;
return str;
}
// Csak egész számot enged beütni az adott input mezőbe
// Pl:
function csakSzamInput(fld, evt){
var code = evt.keyCode;
if (!evt) { //IE
evt = window.event;
} else if (!evt.keyCode) { //Netscape
code = evt.which;
}
if(code == 8) return true; // BKPS -> OK
if(code < 48 || code > 58) return false; // Ha nem szám -> NEM OK
return true;
}
// Visszaadja, hogy a val érték egész szám-e
function egeszSzam(val){
for(i = 0; i < val.length; i++){
var ch = val.charAt(i);
if( ch < '0' || ch > '9' ) return false;
}
return true;
}
// A fentit meghívja és hibaüzenetet ír ki. Kényelmesebb.
function egeszSzamAlert(val){
if(!egeszSzam(val)){
alert('A mezőbe csak számot írhat:' + val);
return false;
}
return true;
}
// Fokuszálja a form első input elemét
function azEnFocusom(w)
{
for (var f = 0; f < w.document.forms.length; f++)
for (var i = 0; i < w.document.forms[f].length; i++)
if ((w.document.forms[f].elements[i].type == "text") || (w.document.forms[f].elements[i].type == "password") || (w.document.forms[f].elements[i].type == "textarea") || (w.document.forms[f].elements[i].type == "file"))
{
w.document.forms[f].elements[i].focus();
return 1;
}
}
// Minden szó első betűjét naggyá teszi, a többit meg kicsivé
function nagyKezdoBetusito(obj)
{
var r = t = s = f = "";
var c = eval(obj);
if (c.indexOf("-") > -1)
{
t = c.split("-");
s = "-";
}
else
{
t = c.split(" ");
s = " ";
}
for (var i = 0; i < t.length; i++)
{
c = t[i];
c = c.toLowerCase();
f = c.substring(0,1);
c = f.toUpperCase() + c.substring(1, c.length);
r = r + ((r) ? s : "") + c;
}
eval(obj + "=\'" + r + "\'");
}
// Leellenőrzi a paraméterként kapott számot, hogy az e
function szamEllenoriz(obj, plus)
{
var c = eval(obj);
var ok = "0123456789";
var r = "";
for (var i = 0; i < c.length; i++)
r += (ok.indexOf(c.substr(i,1)) == -1) ? "" : c.substr(i,1);
if ((plus) && (r) && (r.substring(1, 1) != "+")) r = "+" + r;
eval(obj + "=\'" + r + "\'");
}
// Datum ellenorzes. A datumot YYYY-MM-DD formatumban kell megadni, a fv visszaadja a hibauzenetet
// vagy 0-t.
function datumEllenoriz(d) {
var ret = "0";
if (d.length != 10) {
ret = "A dátum hossza nem jó.";
} else {
var ev = d.substring(0,4);
var ho = d.substring(5,7);
var nap = d.substring(8,10);
if ((d.substring(4,5) != '-') || (d.substring(7,8) != '-')) {
ret = "A dátum elválasztó karaktere a kötőjel (-).";
} else {
if ((isNaN(ev)) || (isNaN(ho)) || (isNaN(nap))) {
ret = "A dátumban csak számok lehetnek.";
} else {
if (ev < 1970) {
ret = "Hibás évszám.";
} else {
if ((ho <= 0) || (ho > 12)) {
ret = "Hibás hónap.";
} else {
if ((ho == 1) || (ho == 3) || (ho == 5) || (ho == 7) || (ho == 8) || (ho == 10) || (ho == 12)) {
if ((nap < 1) || (nap > 31)) {
ret = "Hibás nap.";
}
} else {
if ((ho == 4) || (ho == 6) || (ho == 9) || (ho == 11)) {
if ((nap < 1) || (nap > 30)) {
ret = "Hibás nap.";
}
} else {
if ((((ev % 4) == 0) || ((ev % 100) == 0)) && ((ev % 1000) != 0)) {
if ((nap < 1) || (nap > 29)) {
ret = "Hibás nap.";
}
} else {
if ((nap < 1) || (nap > 28)) {
ret = "Hibás nap.";
}
}
}
}
}
}
}
}
}
if (ret != "0") {
ret += " A helyes formátum: éééé-hh-nn (például 1993-11-07) !";
}
return ret;
}
// Datum ellenorzes. A szerkesztomezot varja parameterkent,
// es ha tudja, megvaltoztatja jo formatumuva (eeee-hh-nn)
// Jó formátumok: 040512 04?05?12 20040512 2004?05?12
function datumEllenorizObject(dObject) {
if(dObject.value.length == 6){
//040512
dObject.value = '20' + dObject.value.substr(0, 2) + '-' + dObject.value.substr(2, 2) + '-' + dObject.value.substr(4, 2);
}else if(dObject.value.length == 8){
if(dObject.value.charAt(2) >= '0' && dObject.value.charAt(2) <= '9'){
// 20040512
dObject.value = dObject.value.substr(0, 4) + '-' + dObject.value.substr(4, 2) + '-' + dObject.value.substr(6, 2);
}else{
// 04.05.12
dObject.value = '20' + dObject.value.substr(0, 2) + '-' + dObject.value.substr(3, 2) + '-' + dObject.value.substr(6, 2);
}
}else
if(dObject.value.length == 10){
//2004?05?12
dObject.value = dObject.value.substr(0, 4) + '-' + dObject.value.substr(5, 2) + '-' + dObject.value.substr(8, 2);
}
return datumEllenoriz(dObject.value);
}
// Idopont ellenorzes. A datumot hh:mm formatumban kell megadni, a fv visszaadja a hibauzenetet
// vagy 0-t.
function idoEllenoriz(t) {
var ret = "0";
if (t.length != 5) {
ret = "Az időpont hossza nem jó.";
} else {
var ora = t.substring(0,2);
var perc = t.substring(3,5);
if (t.substring(2,3) != ':') {
ret = "Az időpont elválasztó karaktere a kettőspont (:).";
} else {
if ((isNaN(ora)) || (isNaN(perc))) {
ret = "Az időpontban csak számok lehetnek.";
} else {
if ((ora < 0) || (ora > 23)) {
ret = "Hibás óra.";
} else {
if ((perc < 0) || (perc > 59)) {
ret = "Hibás perc.";
}
}
}
}
}
if (ret != "0") {
ret += " A helyes formátum: óó:pp (például 17:58) !";
}
return ret;
}
// Idopont ellenorzes. A szerkesztomezot varja parameterkent,
// es ha tudja, megvaltoztatja jo formatumuva (oo:pp)
// Jó formátumok: oopp; oo?pp
function idoEllenorizObject(tObject) {
if(tObject.value.length == 4){
tObject.value = tObject.value.substr(0, 2) + ':' + tObject.value.substr(2, 2);
}else if(tObject.value.length == 5){
tObject.value = tObject.value.substr(0, 2) + ':' + tObject.value.substr(3, 2);
}
return idoEllenoriz(tObject.value);
}
// Nyit egy ablakot
function ablak(w, h, php, par, t, s)
{
php += par + ((par=="") ? "?" :"&") + "next=";
x = (screen.availWidth - w) / 2;
y = (screen.availHeight - h) / 2;
window.open(php, t, "width=" + w + ",height=" + h + ",status=1,left=" + x + ",top=" + y + ",resizable=1,scrollbars=" + s);
}
function min(a, b){
return (a < b)? a : b;
}
function max(a, b){
return (a > b)? a : b;
}
function ablakMax(w, h, php, par, maxWidth, maxHeight){
php += par + ((par=="") ? "?" :"&") + "next=";
// Ha nem lóg ki a kép, akkor ne scroll-ozhasson
var plusParams = ',resizable=1';
if(w < maxWidth && h < maxHeight) plusParams += ',scrollbars=0';
else plusParams += ",scrollbars=1,status=1";
if(maxWidth) w = min(maxWidth, max(100, w));
if(maxHeight) h = min(maxHeight, max(100, h));
x = (screen.availWidth - w) / 2;
y = (screen.availHeight - h) / 2;
var harmadik = "width=" + w + ",height=" + h + ",left=" + x + ",top=" + y + plusParams;
//alert(harmadik);
window.open(php, "nagyGaleriaKep", harmadik);
}
// Leellenorzi a parameterkent kapott emailt (uj)
function emailEllenorizSimple(val){
var ok = "0123456789qwertzuiopasdfghjklyxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM@_-.";
// 1. Ne legyen benne hibás karakter:
for (var i = 0; i < val.length; i++)
if ( ok.indexOf(val.substr(i,1)) == -1 ) return 0;
// 2. Szétszedés user - re és domain - re az "első" kukac segítségével
var kukacIndex = val.indexOf('@');
if(kukacIndex < 1) return 0;
var user = val.substring(0, kukacIndex);
var domain = val.substring(kukacIndex + 1);
// 3. Karaktersorozatok ellenőrzése
// Több kukac nem lehet benne:
if(domain.indexOf('@') >= 0) return 0;
// Legalább egy '.' karakter:
if(domain.indexOf('.') < 0) return 0;
// Első és utolsó karakter nem lehet pont:
if(domain.charAt(0) == '.' || domain.charAt(domain.length - 1) == '.') return 0;
// Szerintem a felh. név első karakter csak betű lehet:
//var firstChar = user.charAt(0).toLowerCase();
//if(firstChar < 'a' || firstChar > 'z') return 0;
return val;
}
// Leellenorzi a parameterkent kapott emailt, lehet benne több is, vesszővel elválasztva
function emailEllenorizSpec(val, canMultiple) {
var ret = '';
if(canMultiple){
var index = val.indexOf(',');
var startIndex = 0;
var actual = '';
while(index != -1){
actual = strTrim(val.substring(startIndex, index));
//alert('[' + actual + ']');
startIndex = index + 1;
index = val.indexOf(',', startIndex);
if( emailEllenorizSimple(actual) == 0 )
return 0;
else
ret += actual + ',';
}
actual = strTrim(val.substring(startIndex));
//alert('[' + actual + ']');
if( emailEllenorizSimple(actual) == 0 )
return 0;
else
ret += actual;
}else{
ret = emailEllenorizSimple(val);
}
return ret;
}
// Leellenorzi a parameterkent kapott emailt (új)
function emailEllenoriz(val) {
return emailEllenorizSpec(val, false);
}
function elemEltavolito(array, index){
for(i=index; i 0 && !berakva ) {
to.length++;
for(k = to.length - 1; k > j; k--) {
to.options[k].text = to.options[k - 1].text;
to.options[k].value = to.options[k - 1].value;
}
ret = j;
to.options[k] = what;
berakva = true;
j = to.length;
}
}
if(!berakva) {
to.options[j] = what;
ret = j;
}
return ret;
}
function moveOption(from, to) {
window.status = "Kis türelmét kérjük...";
var lastIndex = 0;
for (i = 0; i < from.length; i++) {
if (from.options[i].selected) {
lastIndex = addOption(to, new Option(from.options[i].text, from.options[i].value), lastIndex);
from.remove(i);
i--;
}
}
window.status = "";
}
function moveAllOption(from, to) {
window.status = "Kis türelmét kérjük...";
if(to.length == 0) {
to.length = from.length;
for (i = 0; i < from.length; i++) {
to.options[i] = new Option(from.options[i].text, from.options[i].value);
}
} else {
var lastIndex = 0;
for (i = 0; i < from.length; i++) {
lastIndex = addOption(to, new Option(from.options[i].text, from.options[i].value), lastIndex);
}
}
from.length = 0;
window.status = "";
}