////////////////////////////////////////////////////////////////////////////////////////
// WEBm�HELY e-commerce javaScript functions
// www.webmuhely.hu
// Minden jog fenntartva.
////////////////////////////////////////////////////////////////////////////////////////
var w=null;
var cnt=0;

function openWin(src,width,height,title,titleName) {
  leftStr='';
  topStr='';
  if (screen) {
    leftPos=(screen.width-width)/2;
    if (leftPos>0) leftStr=",left="+leftPos;
    topPos=(screen.height-height)/2;
    if (topPos>0) topStr=",top="+topPos;
  }
// K�s�bb propertyn kereszt�l lehessen �ll�tani a k�vetkez� sort
//  if ((w!=null) && (!w.closed)) w.close();
  cnt++; // Szelektor ablaknyit�si bug miatt
//  w=window.open("","image"+cnt,"toolbar=0,scrollbars=0,location=0,directories=0,status=0,menubar=0,resizable=0,"+"width="+width+",height="+height+leftStr+topStr);
  w=window.open("","","toolbar=0,scrollbars=0,location=0,directories=0,status=0,menubar=0,resizable=0,"+"width="+width+",height="+height+leftStr+topStr);
  d=w.document;
  d.open();
  if (title) {
    d.write("<head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'><title>"+title+"</title></head>");
  }
  d.write("<body style='margin:0px;padding:0px;text-align:center;vertical-align:middle;'>");
  d.write("<a href='#' onclick='window.close();return false;' title='Închide imaginea' style='margin:0px;'><img border='0' src='"+src+"' style='margin:0px;'></a>");
  d.write("</body>");
  d.close();
  return false;
}

////////////////////////////////////////////////////////////////////////////////
/// Beviteli hib�k kezel�s�nek m�veletei.
/// Mindig csak az els� hib�t tartja sz�mon.
////////////////////////////////////////////////////////////////////////////////
var errObj=null;	// az utols� hib�s objektum
var errValue=null;	// A hib�s �rt�k

function startForm() {
  if (document && document.forms && document.forms.length && document.forms[formIndex=document.forms.length-1]) {
    document.forms[formIndex].reset();
  }
//  return true;
}

var lastObj;

function submitForm(noMsg,emptyMsg,deleterName,rDelMsg,formIndex) {
  if (lastObj) {
    if (errObj) {
	  errObj.focus();
	  errObj.style.backgroundColor='red';
      errObj.style.color='white';
      errObj.title=noMsg;
      alert(noMsg);
      return false;
    } else {
      if (document && document.forms && document.forms[formIndex] && document.forms[formIndex][deleterName] && (document.forms[formIndex][deleterName].value=='yes')) {
	    return confirm(rDelMsg);
	  } else {
        return true;
      }
	}
  } else {
    if (emptyMsg) {
      alert(emptyMsg);
      return false;
    } else {
      return true;
    }
  }
}

function errorMessage(object,message) {
  if (!errObj) {
    errObj=object;
    errValue=errObj.value;
    errObj.focus();
    errObj.style.backgroundColor='red';
    errObj.style.color='white';
    errObj.title=message;
    alert(message);
    return false;
  }
  return true;
}

function getObj(name,formIndex) {
  var obj;
  if (document && document.forms && document.forms[formIndex] && (obj=document.forms[formIndex][name])) {
    clearErr(obj);
    return obj;
  } else {
    return false;
  }
}

function clearErr(actObj) {
  if ( (errObj==actObj) && (errObj.value!=errValue) ) { // Ez a hib�s obj, �s m�dosult
    errObj.title='';
    recolorObj(errObj);
    errObj=null;
  }
}

function color(name,formIndex) { // Egy objetum a f�kuszba ker�l. Csak design
  var obj;
  if (obj=getObj(name,formIndex)) {
    lastObj=obj;
    if (!errObj) {
      obj.style.backgroundColor='white';
      obj.style.color='black';
    }
  }
  return true; // tov�bbengedi az esem�nyt
}

function recolorObj(obj) {
  if (obj) {
    obj.style.backgroundColor='white';
    obj.style.color='black';
  }
}

function recolor(name,formIndex) { // Egy objetum a f�kuszb�l kiker�l�skor. Csak design
  if (!errObj) {
    recolorObj(getObj(name,formIndex));
  }
  return true; // tov�bbengedi az esem�nyt
}

// Jelsz�mez�k ellen�rz�se
function pwdChk(name,name2,noEquErr,formIndex) {
  var pwdObj,pwd2Obj;
  if ( (pwdObj=getObj(name,formIndex)) && (pwd2Obj=getObj(name2,formIndex)) ) {
	if (pwdObj.value!=pwd2Obj.value) {
      if (lastObj!=pwdObj) { // && (focusObj!=pwd2Obj)) {
		pwdObj.value='';
		pwd2Obj.value='';
        errorMessage(pwdObj,noEquErr);
	  }
	}
  }
  return true;
}

// Szabadsz�veges select mez� ellen�rz�se
function selectFreeChk(selectName,freeTextName,selectIsActive,formIndex) {
  var selectObj,freeTextObj;
  if ( (selectObj=getObj(selectName,formIndex)) && (freeTextObj=getObj(freeTextName,formIndex)) ) {
	if ((selectObj.value!=-1) && (freeTextObj.value)) { // Van kiv�laszott elem a list�ban, �s be�rt sz�veg is
      if (selectIsActive) { // De a selectben voltunk, teh�t �r�tsed a freeText mez�t
        freeTextObj.value='';
      } else { // A freeText-ben voltunk
        selectObj.value=-1; // Legyen a select szabadra �ll�tva
      }
    } // K�l�nben minden maradhat, mert �rv�nyes
  }
  return true;
}

/// Egy adatbevielti mez�t ellen�riz, hogy �res-e
function isEmpty(name,emptyErr,formIndex) {
  var obj;
  if (obj=getObj(name,formIndex)) {
    if (!obj.value) {
      errorMessage(obj,emptyErr);
    }
  }
  return true;
}

/// Ellen�riz egy e-mailc�met. �reset is elfogad, de ha van adat, akkor j� legyen
function emailChk(name,invalidErr,formIndex) {
  var obj;
  if (obj=getObj(name,formIndex)) {
    if (obj.value) { // Csak akkor ellen�riz, ha van �rt�k
      obj.value=obj.value.toLowerCase();
	  if (obj.value.search(/^[^@]+@[^@]+\.[a-z]+$/i)==-1) {
        errorMessage(obj,invalidErr);
      }
    }
  }
  return true;
}

// Be�ll�tja a mez� �rt�k�t a megadottra
function setValueTo(name,value,formIndex) {
  var obj;
  if (obj=getObj(name,formIndex)) {
    obj.value=value;
  }
  return true;
}


/// Ellen�riz egy d�tumot. �reset is elfogad, de ha van adat, akkor j� legyen. Ha csak r�vid, kieg�sz�ti.
function dateChk(name,invalidErr,formIndex) {
  var obj;
  if (obj=getObj(name,formIndex)) {
    if (obj.value) { // Csak akkor ellen�riz, ha van �rt�k
      obj.value=obj.value.toLowerCase();
	  if (obj.value.search(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/i)==-1) {
        errorMessage(obj,invalidErr);
      }
    }
  }
  return true;
}

/// Egy �sszeget ellen�riz nett�, brutt�, �fa szerint.
/// A brutt�t m�dos�tja a nett� alapj�n
function nettoCheck(nettoName,taxName,bruttoName,taxListValues,formIndex) {
  if ( (nettoObj=getObj(nettoName,formIndex)) && (taxObj=getObj(taxName,formIndex)) && (bruttoObj=getObj(bruttoName,formIndex)) ) {
	tax=1+taxListValues[taxObj.value]/100;
	netto=nettoObj.value;
	bruttoObj.value=Math.round(netto*tax*100)/100;
  }
  return true;
}

/// Egy �sszeget ellen�riz nett�, brutt�, �fa szerint.
/// A nett�t m�dos�tja a brutt� alapj�n
function bruttoCheck(nettoName,taxName,bruttoName,taxListValues,formIndex) {
  if ( (nettoObj=getObj(nettoName,formIndex)) && (taxObj=getObj(taxName,formIndex)) && (bruttoObj=getObj(bruttoName,formIndex)) ) {
	tax=1+taxListValues[taxObj.value]/100;
	brutto=bruttoObj.value;
	nettoObj.value=Math.round(brutto/tax*100)/100;
  }
  return true;
}

function stateFieldChk(selectName,regName,accName,desName,isSelect,formIndex) {
  var selectObj,regObj,accObj,desObj;
  if ( (selectObj=getObj(selectName,formIndex)) && (regObj=getObj(regName,formIndex)) && 
       (accObj=getObj(accName,formIndex)) && (desObj=getObj(desName,formIndex) ) ) {
    if (isSelect) { // A selectet hagytuk el, teh�t abb�l k�vetkeztet�nk a t�bbire
      if (selectObj.value==-1) { // Leend� �gyf�l!
        if (accObj.value && (accObj.value!='0000-00-00')) {
          errorMessage(accObj,'Hib�s �gyf�l�llapot!');
        } else if (desObj.value && (desObj.value!='0000-00-00')) {
          errorMessage(desObj,'Hib�s �gyf�l�llapot!');
        }
      } else if (selectObj.value==0) { // Aktu�lis �gyf�l
        if (desObj.value && (desObj.value!='0000-00-00')) {
          errorMessage(desObj,'Hib�s �gyf�l�llapot!');
        } else if ((!accObj.value) || (accObj.value=='0000-00-00')) {
          accObj.value=regObj.value;
        }
      } else { // elment �gyf�l
        if ((!accObj.value) || (accObj.value=='0000-00-00')) {
          accObj.value=regObj.value;
        }
        if ((!desObj.value) || (desObj.value=='0000-00-00')) {
          desObj.value=accObj.value;
        }
      }
    } else {
      if (desObj.value && (desObj.value!='0000-00-00')) {
        selectObj.value=1;
      } else if (accObj.value && (accObj.value!='0000-00-00')) {
        selectObj.value=0;
      } else {
        selectObj.value=-1;
      }
    }
  }
  return true;
}

/**
 * guestCart javascript függvényei
 */
function jsAddToCart(itemId,sname,sid) {
    eid='toCart'+itemId;
    if (document && document.getElementById && (value=document.getElementById(eid).value)) { // ok
      width=400;
      height=200;
      src="./?action=AddToGuestCart&itemId="+itemId+"&cnt="+value+'&'+sname+'='+sid;
      value=value.replace(',','.');
      if (value>0) {
          openUrl(src,width,height);
      } else if (value<0) {
          openUrl(src,width,height);
      } else {
          alert("Nem t�rt�nt v�ltoz�s a kos�rban");
      }
      return false;
    } else {
      alert("Sajnos nem uzemel ez a funkcio");
      return false;
    }
}
/*
function refreshGuestCart(cnt,ft) {
    oid='guestCartInline';
//    if (parent && parent.document && parent.document.getElementById && (div=parent.document.getElementById(oid).value)) { // ok
    if (document && document.getElementById && (div=document.getElementById(oid))) { // ok
  div.innerHtml="<p>Osszesen: "+cnt+" termek, "+ft+"Ft.</p>";
    }
}
*/
/**
 * Beallitja a kosar tipusat a megadott ertekre: 1 megrendeles, 2 ajanlatkeres
 */
function setGuestCartType(type) {
  oid='guestCartType';
  if (document && document.getElementById && (obj=document.getElementById(oid))) { // ok
  obj.value=type;
    return true;
  } else {
  alert('Nem tamogatott bongeszo');
  return false;
  }
}

/**
 * Szallitasi modot valt. A typus lehet 0- szemelyes, vagy 1-kiszallitas
 * A k�t adatsor a tr_9 �s a tr_10-es id-j� tr-ekben van
 */
function chngSzallMod(type) {
  if (type==0) { // Szemelyes
    hideTr('szall_table');
  } else {
    showTr('szall_table');
  }
}

function hideTr(id) {
  //safe function to hide an element with a specified id
  if (document.getElementById) { // DOM3 = IE5, NS6
    if (obj=document.getElementById(id)) {
      obj.style.display = 'none';
    }
  } else {
    if (document.layers) { // Netscape 4
      document.id.display = 'none';
    }
    else { // IE 4
      document.all.id.style.display = 'none';
    }
  }
}

function showTr(id) {
  if (document.getElementById) { // DOM3 = IE5, NS6
    if (obj=document.getElementById(id)) {
      obj.style.display = 'block';
    } else {
//      alert("BAD OBJ: "+id);

    }
  }
  else {
    if (document.layers) { // Netscape 4
      document.id.display = 'block';
    }
    else { // IE 4
      document.all.id.style.display = 'block';
    }
  }
}

function clearCart() {
}

function openUrl(src,width,height) {
  var leftStr='';
  var topStr='';
  if (screen) {
    leftPos=(screen.width-width)/2;
    if (leftPos>0) leftStr=",left="+leftPos;
    topPos=(screen.height-height)/2;
    if (topPos>0) topStr=",top="+topPos;
  }
  window.open(src,"","toolbar=0,scrollbars=0,location=0,directories=0,status=0,menubar=0,resizable=0,"+"width="+width+",height="+height+leftStr+topStr);
  // return w;
}

