
// id, vagy name alapján ad vissza objektumot, többi függvény hívogatja
function findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

// name nevu urlapmezo értékét value-ra állítja
function getField(name) {
  var obj = findObj(name); if (obj) return obj.value;
}

// name nevu urlapmezo értékét value-ra állítja
function setField(name, value) {
  var obj = findObj(name); if (obj) obj.value = value;
}

//name nevu urlapmezot törli
function clearField(name) {
  var obj = findObj(name); if (obj) obj.value = '';
}

// stringet trimmel (láthatatlan, + chars-ban megadott karaktereket törli elejérol/végérol)
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

// csak elejét trimmeli
function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

// csak végét trimmeli
function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

// paraméterként megadott id-jú elem(ek) display tulajdonságát block-ra állítja
function show() { 
  var i,obj,args=show.arguments;
  for (i=0; i<(args.length); i++) if ((obj=findObj(args[i]))!=null) {
    if (obj.style) { obj=obj.style;}
    obj.display='block'; }
}

// paraméterként megadott id-jú elem(ek) display tulajdonságát none-ra állítja
function hide() { 
  var i,obj,args=hide.arguments;
  for (i=0; i<(args.length); i++) if ((obj=findObj(args[i]))!=null) {
    if (obj.style) { obj=obj.style;}
    obj.display='none'; }
}

function show_hide(s, h) {
show(s);
hide(h);
}

// paraméterként felsorolt elem(ek) stílusát állítja - id,style,value hármasokat dolgoz fel
function set_style() { 
  var i,s,v,obj,args=set_style.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { 
    if (obj.style) { obj=obj.style; s=args[i+1]; v=args[i+2]; }
    obj[s]=v;}
}

// paraméterként átadott id-(ke)t lecseréli - régiID, újID
function set_id() { 
  var i,s,obj,args=set_id.arguments;
  for (i=0; i<(args.length-1); i+=2) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { 
    if (obj.id) { s=args[i+1]; }
    obj.id=s;}
}

// paraméterként átadott name-e(ke)t lecseréli - régiID, újID
function set_name() { 
  var i,s,obj,args=set_name.arguments;
  for (i=0; i<(args.length-1); i+=2) 
  if ((obj=findObj(args[i]))!=null) { 
    if (obj.name) { s=args[i+1]; }
    obj.name=s;}
}

// paraméterként átadott URL-re cseréli a (bigpic nevu) kép forrását
function swap_img(src,width,height) { 
  var obj=findObj('bigpic');
  obj.src = '';
  obj.width = width;
  obj.height = height;
  obj.src = src;
}

function move_pic(dir, no, pic_no) {
var up, down, temp, i, nx, html = '';
if(dir == 'up') {
	nx = no-1;
	up = findObj('p'+no);
	down = findObj('p'+nx);
}
else {
	nx = no+1;
	up = findObj('p'+nx);
	down = findObj('p'+no);
}
temp = up.value;
up.value = down.value;
down.value = temp;
for (i=0; i<pic_no; i++) {
	html += '<td><img src="../thumbnails/'+getField('p'+i)+'.jpg" /></td>';	
}
temp = findObj('pics');
temp.innerHTML = html;
}

function addElement(container, element, id, counter, label) {
  var num;
  var cobj = document.getElementById(container);
  var newobj = document.createElement(element);
  if(counter != '') {
  	var numi = document.getElementById(counter);
  	num = (numi.value - 1) + 2;
  	numi.value = num;
  	newobj.setAttribute('id',id+num);
  }
  else
  	newobj.setAttribute('id',id);
  newobj.innerHTML = '<span>'+label+' '+num+': </span>';
  cobj.appendChild(newobj);
  return num;
}

function removeElement(divNum) {
  var d = document.getElementById('myDiv');
  
  var olddiv = document.getElementById(divNum);
  d.removeChild(olddiv);
}

function addField(container, element, type, name, value, id, num) {
  if (!findObj(name)) {
  var cobj = document.getElementById(container);
  var newobj = document.createElement(element);
  if(id != '')
  	newobj.setAttribute('id',id);
  if(num != '') newobj.setAttribute('name',name+num);
  else newobj.setAttribute('name',name);
  newobj.setAttribute('type',type);
  if(value != '')
  	newobj.setAttribute('value',value);
  newobj.setAttribute('style','width:250px;');
  cobj.appendChild(newobj);
  }
}

function addFormElement(container, element, type, name, value, id, counter, label) {
  var num = addElement(container, 'div', name, counter, label);
  addField(name+num, element, type, name, value, id, num);
}
