// JavaScript codes

/* Get element by ID */
function El(element_id) {
  return document.getElementById(element_id);
}

function keywords_click(el,empty_string) {
  if(el.value==empty_string) el.value='';
}

/* Show/hide element */
function ShowHide(element_id, currently_shown, display_shown) {
  var element=El(element_id);
  if(currently_shown) {
    element.style.display='none';
    return 0;
  }
  element.style.display=display_shown;
  return 1;
}

/* Show/hide with classname */
function ShowHideClass(element_id) {
  var element=El(element_id);
  if(element.className=='shown') {
    element.className='hidden';
  } else {
    element.className='shown';
  }
}

function couponpopupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=280,screenX=150,screenY=150,top=150,left=150')
}

// Validation of registration form

var submitted = false;

function check_registration_form(update_form) {
  var error = 0;
  var bgcolor = '';
  var bgcolor_error = '#FF7777';

  return true;
  if (submitted == true) return false;
  var name = trim(document.account_edit.account_name.value);
  var email = trim(document.account_edit.account_email.value);
  var country = trim(document.account_edit.account_country.value);  
  var city = trim(document.account_edit.account_city.value);
  var zip = trim(document.account_edit.account_zip.value);
  var address = trim(document.account_edit.account_address.value);
  var phone = trim(document.account_edit.account_phone.value);
  var vat_reg_no = trim(document.account_edit.account_vat_reg_no.value);
  var vat_warning = false;
  
  
  if (name == '' || name.length < 1) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_name.style.backgroundColor=bgcolor;

  if (!is_valid_email(email)) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_email.style.backgroundColor=bgcolor;

  if (city == '' || city.length < 1) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_city.style.backgroundColor=bgcolor;

  if (zip == '' || zip.length < 1) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_zip.style.backgroundColor=bgcolor;

  if (address == '' || address.length < 1) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_address.style.backgroundColor=bgcolor;

  if (phone == '' || phone.length < 1) {
    bgcolor=bgcolor_error;
    error = 1;
  } else bgcolor='';
  document.account_edit.account_phone.style.backgroundColor=bgcolor;

  if(update_form && document.account_edit.account_billing_active.checked) {
    var billing_name = trim(document.account_edit.account_billing_name.value);
    var billing_country = trim(document.account_edit.account_billing_country.value);  	
    var billing_city = trim(document.account_edit.account_billing_city.value);
    var billing_zip = trim(document.account_edit.account_billing_zip.value);
    var billing_address = trim(document.account_edit.account_billing_address.value);

    if (billing_name == '' || billing_name.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_billing_name.style.backgroundColor=bgcolor;

    if (billing_country!='hu' && (vat_reg_no == '' || vat_reg_no.length < 1)) {
		bgcolor=bgcolor_error;
		vat_warning=true;
    } else bgcolor='';
	document.account_edit.account_vat_reg_no.style.backgroundColor=bgcolor;  	

    if (billing_city == '' || billing_city.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_billing_city.style.backgroundColor=bgcolor;

    if (billing_zip == '' || billing_zip.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_billing_zip.style.backgroundColor=bgcolor;

    if (billing_address == '' || billing_address.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_billing_address.style.backgroundColor=bgcolor;
  } else {
  	if (country!='hu' && (vat_reg_no == '' || vat_reg_no.length < 1)) {
      bgcolor=bgcolor_error;
	  vat_warning=true;
  	} else bgcolor='';
	document.account_edit.account_vat_reg_no.style.backgroundColor=bgcolor;  	
  }

  if(update_form && document.account_edit.account_shipping_active.checked) {
    var shipping_name = trim(document.account_edit.account_shipping_name.value);
    var shipping_city = trim(document.account_edit.account_shipping_city.value);
    var shipping_zip = trim(document.account_edit.account_shipping_zip.value);
    var shipping_address = trim(document.account_edit.account_shipping_address.value);

    if (shipping_name == '' || shipping_name.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_shipping_name.style.backgroundColor=bgcolor;

    if (shipping_city == '' || shipping_city.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_shipping_city.style.backgroundColor=bgcolor;

    if (shipping_zip == '' || shipping_zip.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_shipping_zip.style.backgroundColor=bgcolor;

    if (shipping_address == '' || shipping_address.length < 1) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_shipping_address.style.backgroundColor=bgcolor;
  }

  if(update_form) {
    var password = trim(document.account_edit.account_password.value);
    var confirmation = trim(document.account_edit.account_confirmation.value);

    if ((password.length>0 || confirmation.length>0) && password!=confirmation) {
      bgcolor=bgcolor_error;
      error = 1;
    } else bgcolor='';
    document.account_edit.account_password.style.backgroundColor=bgcolor;
    document.account_edit.account_confirmation.style.backgroundColor=bgcolor;
  }

  var error_message=document.getElementById('error_message');
  var normal_message=document.getElementById('normal_message');
  normal_message.style.display='none';
  if(vat_warning) {
  	if(!confirm(vat_reg_no_warning)) {
		error=1;
	}
  }
  if (error == 1) {
    error_message.style.display='block';
    return false;
  }
  error_message.style.display='none';
  submitted = true;
  return true;
}

/* Validate checkout form */
function validate_checkout() {
  var bgcolor_error = '#FFCCCC';
  var bgcolor = '';
  var rv=true;
  var e;

  e=El('your_name');
  if(trim(e.value)=='') {
    e.style.backgroundColor=bgcolor_error;
    if(rv && e.focus) e.focus();
    rv=false;
  } else e.style.backgroundColor=bgcolor;

  e=El('your_phone');
  if(trim(e.value)=='') {
    e.style.backgroundColor=bgcolor_error;
    if(rv && e.focus) e.focus();
    rv=false;
  } else e.style.backgroundColor=bgcolor;

  return rv;
}

function validateRegistrationForm() {
  var ids=['reg_name','reg_email','reg_city','reg_zip','reg_address',
    'reg_phone', 'reg_your_name','reg_your_phone'];
  var ei,en,el,email,bn;
  var rv=true;
  
  bn=El('reg_button');
  bn.disabled=true;

  for(ei in ids) {
    en=ids[ei];
    el=El(en);
    if(!el) {
      alert('Programhiba! Nem letezo ID: ' + en.toString());
      bn.disabled=false;
      return false;
    }
    if(trim(el.value)=='') {
      el.style.backgroundColor='#FF7777';
      rv=false;
    } else {
      el.style.backgroundColor='';
    }
  }

  // VAT reg. no. is required outside Hungary
  el=El('reg_vat_reg_no');
  if(El('reg_country').value!='hu' && (el.value=='' || el.value.length<1)) {
    el.style.backgroundColor='#FF7777';
    rv=confirm(vat_reg_no_warning);
  } else {
  	el.style.backgroundColor='';
  }

  // Check email address for formal validity constraints
  el=El('reg_email');
  if(!is_valid_email(el.value)) {
    el.style.backgroundColor='#FF7777';
    rv=false;
  } else {
  	el.style.backgroundColor='';
  }

  
  var error_message=El('error_message');
  var normal_message=El('normal_message');
  normal_message.style.display='none';
  if (!rv) {
    error_message.style.display='block';
  
  }else{
	  error_message.style.display='none';
  }
  bn.disabled=false;
  return rv;
}

function validateFPform(){
	var el=El('reg_email');

	var error_message=El('error_message');
	if(el.value==''){
		error_message.style.display='block';
	    el.style.backgroundColor='#FF7777';
		return false;
	}else{
		error_message.style.display='none';
	    el.style.backgroundColor='';
		return true;
	}
}

function validateRegistrationFormPassword() {
  var pw=El('reg_password');
  var pc=El('reg_password_confirmtion');
  var rv=true;
  var bn;

  bn=El('reg_button');
  bn.disabled=true;
  /*
  if(trim(pw.value)=='') {
    pw.style.backgroundColor='#FF7777'
    if(pw.focus) pw.focus();
    rv=false;
  }
  if(trim(pc.value)=='') {
    pc.style.backgroundColor='#FF7777'
    if(pc.focus) pc.focus();
    rv=false;
  }*/
  if(pw.value!=pc.value) {
    pw.style.backgroundColor='#FF7777';
    pc.style.backgroundColor='#FF7777';
    if(pw.focus) pw.focus();
    rv=false;
  }

  bn.disabled=false;
  return rv;
}

function turnYesNo(id) {
  var el=El(id);
  if(el.value=='Y') el.value='N'; else el.value='Y';
}

function selectAll(e) {
	if(e.select) e.select();
}

function validateFloat(e) {
	var v=e.value;
	v=v.replace('[\s]+', '');
	v=v.replace(',', '.');
	if(v=='') return true;
	if(isNaN(parseFloat(v))) {
		alert('Érvénytelen mezőérték: '+v+'\nTörlöm az értéket.');
		e.value='';
		return false;
	}
	return true;
}

function trim(s) {
	return s.replace(/^\s+|\s+$/g,"");
}
function ltrim(s) {
	return s.replace(/^\s+/,"");
}
function rtrim(s) {
	return s.replace(/\s+$/,"");
}

function is_valid_email(email) {
  email=trim(email);
  return (email.length>5 && email.indexOf('@',1)>0 && email.indexOf('.',2)>0);
}

// Macromedia vackai
function MM_openBrWindow2(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

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

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var link_index=0;
var futo_ellenorzesek=0;
function utemezett_linkellenorzes() {
	if(futo_ellenorzesek>2) return;
	var i, cnt=link_sorszamok.length;
	if(cnt<1) return;
	for(i=0;i<cnt;i++) {
		if(linkellenorzes(link_sorszamok[link_index++])) {
			if(futo_ellenorzesek>2) return;
		}
		if(link_index>=cnt) link_index-=cnt;
	}
	setTimeout(utemezett_linkellenorzes, 10000);
}

function linkellenorzes(s) {
	var erv=El('link_erv_'+s);
	if(!erv) return;
	if(erv.innerHTML!='?') return false;
	erv.innerHTML='Ell';
	var tr=El('link_tr_'+s);
	var ui=El('link_url_'+s);
	var url=El('link_a_'+s).href;
	var data={'url':url};
	var txt=encodeFormData(data);
	try {
		HTTPRequest(
			'POST', 'validate_link.php', txt,
			function (response) {
				futo_ellenorzesek--;
				if(response=='OK') {
					erv.innerHTML='OK';
					erv.title='';
					tr.style.backgroundColor='#DDFFDD';
					ui.style.backgroundColor='#DDFFDD';
					utemezett_linkellenorzes();
				} else {
					erv.innerHTML='HIBA';
					erv.title=response;
					tr.style.backgroundColor='#FFDDDD';
					ui.style.backgroundColor='#FFDDDD';
					utemezett_linkellenorzes();
				}
			},
			function (url, status, statusText) {
				futo_ellenorzesek--;
				erv.innerHTML='H';
				erv.title=statusText;
				tr.style.backgroundColor='#FFDDDD';
				ui.style.backgroundColor='#FFDDDD';
				utemezett_linkellenorzes();
			}
		);
	} catch(e) {
		erv.innerHTML='H';
		erv.title=e.toString();
		tr.style.backgroundColor='#FFDDDD';
		ui.style.backgroundColor='#FFDDDD';
		setTimeout(utemezett_linkellenorzes, 5000);
		return;
	}
	futo_ellenorzesek++;
	return true;
}

function mukodoLinkekElrejtese() {
	var i,s,tr,erv;
	for(i in link_sorszamok) {
		s=link_sorszamok[i];
		tr=El('link_tr_'+s);
		erv=El('link_erv_'+s);
		if(erv.innerHTML=='OK') tr.style.display='none';
	}
}

function osszesLinkMegjelenitese() {
	var i,s,tr;
	for(i in link_sorszamok) {
		s=link_sorszamok[i];
		tr=El('link_tr_'+s);
		tr.style.display='';
	}
}

function vezerlogombokEngedelyezese() {
	var i,l=document.getElementsByName('vezerlogomb');
	for(i in l) l[i].disabled=false;
}

function linkMentese(s) {
	var e=El('link_url_'+s);
	if(e.style.backgroundColor=='#FFDDDD') return;
	e.value=trim(e.value);
	if(e.value.substr(0,7).toLowerCase()!='http://' && e.value.substr(0,7).toLowerCase()!='https://') {
		e.value='http://'+e.value;
	}
	El('link_a_'+s).href=e.value;
	var data={'op':'update_product_link', 'link':s, 'url':e.value};
	var txt=encodeFormData(data);
	e.style.backgroundColor='#DDDDDD';
	e.style.cursor='wait';
	HTTPRequest(
		'POST', 'index.php', txt,
		function (response) {
			if(response=='OK') {
				e.style.backgroundColor='#FFFFDD';
				e.style.cursor='';
			} else {
				e.style.backgroundColor='#FFDDDD';
				e.style.cursor='';
				alert(response);
			}
		},
		function (url, status, statusText) {
			e.style.backgroundColor='#FFDDDD';
			e.style.cursor='';
			alert('Kapcsolati hiba! Nem sikerült tárolni a linket!');
		}
	);
	El('link_erv_'+s).innerHTML='?';
	linkellenorzes(s);
}

function csak_raktaron_levok(v) {
  v=v?true:false;
  if(!product_count_in_list) return;
  var mind=!v;
  var vi=0;
  for(var i=0;i<product_count_in_list;i++) {
    var tr=El('product_list_item_'+i);
    if(!tr) continue;
    var st=El('product_on_stock_'+i);
    if(!st) continue;
    var vf=(mind || parseInt(st.value)>0);
    tr.style.display=vf?'':'none';
    if(vf) {
      tr.className='productListing-'+((vi&1)?'even':'odd')
      vi++;
    }
  }
}

function csak_raktaron_levok_click(id) {
  var cb=El(id);
  cb.checked=!cb.checked;
  csak_raktaron_levok(cb.checked);
}
