////////////////////////////////////////////////////////////////////////////////////////
// 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><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='Kép bezárása' 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(formId) {
  if (document && document.forms && document.forms.length && document.forms[formId]) {
    document.forms[formId].reset();
  }
//  return true;
}

var lastObj;

function submitForm(noMsg,emptyMsg,deleterName,rDelMsg,formId) {
  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[formId] && document.forms[formId][deleterName] && (document.forms[formId][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,formId) {
  var obj;
  if (document && document.forms && document.forms[formId] && (obj=document.forms[formId][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,formId) { // Egy objetum a fókuszba kerül. Csak design
  var obj;
  if (obj=getObj(name,formId)) {
    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,formId) { // Egy objetum a fókuszból kikerüléskor. Csak design
  if (!errObj) {
    recolorObj(getObj(name,formId));
  }
  return true; // továbbengedi az eseményt
}

// Jelszómezők ellenőrzése
function pwdChk(name,name2,noEquErr,formId) {
  var pwdObj,pwd2Obj;
  if ( (pwdObj=getObj(name,formId)) && (pwd2Obj=getObj(name2,formId)) ) {
	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,formId) {
  var selectObj,freeTextObj;
  if ( (selectObj=getObj(selectName,formId)) && (freeTextObj=getObj(freeTextName,formId)) ) {
	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,formId) {
  var obj;
  if (obj=getObj(name,formId)) {
    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,formId) {
  var obj;
  if (obj=getObj(name,formId)) {
    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,formId) {
  var obj;
  if (obj=getObj(name,formId)) {
    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,formId) {
  var obj;
  if (obj=getObj(name,formId)) {
    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,formId) {
  if ( (nettoObj=getObj(nettoName,formId)) && (taxObj=getObj(taxName,formId)) && (bruttoObj=getObj(bruttoName,formId)) ) {
	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,formId) {
  if ( (nettoObj=getObj(nettoName,formId)) && (taxObj=getObj(taxName,formId)) && (bruttoObj=getObj(bruttoName,formId)) ) {
	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,formId) {
  var selectObj,regObj,accObj,desObj;
  if ( (selectObj=getObj(selectName,formId)) && (regObj=getObj(regName,formId)) && 
       (accObj=getObj(accName,formId)) && (desObj=getObj(desName,formId) ) ) {
    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;
}

showSnapshot = function (obj, caller) {
	var el = document.getElementById(obj);
	el.className = 'wl-snapshot visibleSnapshot';
	
	var pos = findPos(caller);
	var leftPos = pos[0] + 80;
    var topPos  = pos[1] + -60;
    var docTop=0;
    if (docTop=document.body.scrollTop) {
    } else {
      docTop=topPos;
    }
    if (high=el.offsetHeight) {
      topPos-=high-60;
    }

    if (topPos<docTop) {
      topPos=docTop;
    }

	el.style.position = 'absolute';
	el.style.left = leftPos + 'px';
	el.style.top  = topPos + 'px';
}

hideSnapshot = function (obj) {
	var el = document.getElementById(obj);
	el.className = 'wl-snapshot';
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

/**
 * A főoldalon a váltakozó hátterű területek hátterét váltja
 */
function chngBgImg(objBaseName,imgBaseName) {
  middle='url(img/'+imgBaseName+'-box-bg.jpg)';
  if (img=document.getElementById(objBaseName+'-top')) {
    img.src='img/'+imgBaseName+'-box-top.jpg';
  }
  if (img=document.getElementById(objBaseName+'-bottom')) {
    img.src='img/'+imgBaseName+'-box-bottom.jpg';
  }
  return middle;
}
// ua, de a hiírlevél proxy oldlán
function chngBgImg2(objBaseName,imgBaseName) {
  middle='url(../img/'+imgBaseName+'-box-bg.jpg)';
  if (img=document.getElementById(objBaseName+'-top')) {
    img.src='../img/'+imgBaseName+'-box-top.jpg';
  }
  if (img=document.getElementById(objBaseName+'-bottom')) {
    img.src='../img/'+imgBaseName+'-box-bottom.jpg';
  }
  return middle;
}

function addbookmark() {  
   url='http://www.kulcsrakeszhaz.hu/';  
   title='Kulcsrakész házak';  
   if (window.sidebar) {  
       window.sidebar.addPanel(title, url,'');  
   }  
   if (window.external) {  
       window.external.AddFavorite(url, title);   
  }  
  if(window.opera && window.print) {  
       return true;   
  }  
}

function postIt() {
  if(!document.getElementById('postItBase')){
    void(x=document.body.appendChild(document.createElement('SCRIPT')));
    void(x.language='JavaScript');
    void(x.type='text/javascript');
    void(x.id='postItBase');
    void(x.src='outers/PostIt/postitbase.js');
  } else {
    addNew();
  }
}
  