var loadItem;
var loadTarget;
iLoad = function() {
setTimeout("LoadData(loadTarget, loadItem);",500);
}
goBack = function() {
if (loadItem  && loadTarget ) iLoad();
else history.back();
}
rowHover = function(row, over) {
row.className = (over) ? 'DataHover' : 'DataEven';
}
function appear(id) {
  if (!id) return false;
  formLay = $(id)	
  Effect.Appear(formLay);
 }
function disappear(id) {
  if (!id) return false;
  formLay = $(id);
//   Effect.DropOut(formLay);
  Effect.Fade(formLay);
}
setCurrency = function (cur) {
new Ajax.Request('exec.php?currency='+cur, {
  method: 'get',
  onSuccess: function(transport) {location.href = location.href;}
});
return false;
}
setFilterP = function (filter) {
new Ajax.Request('exec.php?pFilter='+filter, {
  method: 'get',
  onSuccess: function(transport) {location.href = location.href;}
});
return false;
}
userAlert = function(alertMsg, autoHide) {
  var eLayer = $('systemAlert');
  var _alertMsg = $('alertMsg');
  var _autoHide = autoHide;
    if (window.attachEvent && !window.opera)
            eLayer.top = curPos+'px';
    else    eLayer.style.top = curPos;
  if (alertMsg) {
          _alertMsg.innerHTML = alertMsg;
          eLayer.appear();
          }
  if (_autoHide) setInterval("Effect.Fade('systemAlert');", 1200);
}

saveForm = function(id, allFields) {
var myForm = $(id);
var targetID;
var alertMsg = '';
	if (allFields) {
		var inputs = myForm.getInputs('text');
		for (i in inputs) {
// 			alert(/*inputs[i].id*/);
			if (inputs[i].value == '') {
			try { $(inputs[i].id).style.border = '2px solid red';}
			catch (e) {inputs[i].id = i+'_id';$(inputs[i].id).style.border = '2px solid red';}//Element.setStyle(inputs[i].id ,'border: 1px solid red');
// 			alert(inputs[i].name);
			if (!alertMsg) alertMsg = 'Uzupełnij proszę wszystkie pola.'
			}
		}
	if (alertMsg) { userAlert(alertMsg);alertMsg = '';return false;}
	}
	myForm.request( {
		onComplete: function(transport) {
			targetID = ($('productData')) ? $('productData') : $('mainData');
			targetID.innerHTML = transport.responseText;
                        Effect.Fade('spinner');
			userAlert('Dane zostały zapisane.', 1);
			}
		});
}
saveMyForm = function (id, targetID) {
if (!$(targetID)) targetID = 'main';
var myForm = $(id);
    myForm.request( {
      onComplete: function(transport) {
        if (targetID) $(targetID).innerHTML = transport.responseText;
        }
      });
}
LoadSort = function (_Link ,Direction) {
var Dir = (Direction) ? Direction+'=true' : '';
LoadData('productData',_Link+'&'+Dir);
}
function Go(_link) {
  if (_link) location.href= _link;
  }
LoadData = function (o, _url, mod) {
   if (!$(o) && o) o = 'mainData';
   var url;
   url = (mod) ? _url : 'exec.php'+_url;
   new Ajax.Updater(o, url, {evalScripts:true} );
  }
getProvider = function () {
var Provider = '';
var OrderID = '';
var priceTo = '';
var productName = '';
Provider = '&Provider='+$('Provider').options[$('Provider').selectedIndex].value;
OrderID = ($('OrderID').value != '') ? '&OrderID='+$('OrderID').value : '' ;
Total = ($('Total').value != '') ? '&Total='+$('Total').value : '' ;

loadItem = '?mode=shop&data=Payment'+Provider+OrderID+Total;
LoadData('productData', '?mode=shop&data=Payment'+Provider+OrderID+Total);
}

function checkemail(str) {
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i ;
  if (filter.test(str))
    return true;
  else return false;
  }
checkRegForm = function (user) {
var stop = false;
var email = $('email');
var fname = $('first_name');
var cname = $('name');
var address1 = $('address1');
// var address2 = $('address2');
// var address3 = $('address3');
var postal_code = $('postal_code');
var city = $('Regcity');
var companyName = $('companyName');
var phone = $('phone');
var pass1 = $('Cpassword');
var pass2 = $('Cpassword2');
// var regionID = $('regionID');
// var phone = $('phone');
var passMissed = "Hasła są za krótkie lub różnią się.";
res = '';
if (pass1 && pass1.value && !user)
if (pass1 && pass1.value != pass2.value || pass1.value.length < 5) {
	res += '<li>'+passMissed+'</li>';
// 	alert(pass1.value+" <li>"+pass2.value);
	}
if (email && !checkemail(email.value)) res += "<li>Adres E-Mail jest nieprawidłowy</li>";
if (fname && fname.value == '') res += "<li>Nie podano imienia</li>";
if (cname && cname.value == '') res += "<li>Nie podano Nazwiska</li>";
if (address1 && address1.value == '') res += "<li>Nie podano ulicy</li>";
if (city && city.value == '') res += "<li>Nie podano miasta</li>";
// if (regionID.selectedIndex < 1) res += "* Nie wybrano województwa<br><br>";
// if (phone.value == '') res += "* Nie podano Numeru telefonu<br>";

if (res) {
	res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote><ul>"+res+"</ul></blockquote>";
	userAlert(res);
	return false;
	}
	else
// 	return true;
	if (!user) $('registerForm').submit();
// 	return false;
}

checkNotifyForm = function () {
  var stop = false;
  var email = $('Nemail');
  var Nname = $('Nname');
  var Nmessage = $('Nmessage');
  
  res = '';
  if (!checkemail(email.value)) res += "* Adres E-Mail jest nieprawidłowy<br><br>";
  if (Nname.value == '') res += "* Podaj imię osoby polecającej<br><br>";
  if (Nmessage.value == '') res += "* Proszę wpisać wiadomość<br><br>";
  
  if (res) {
    res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote style='text-align:left;'>"+res+"</blockquote>";
    userAlert(res);
    return false;
    } else return true;
// 	document.registerForm.submit();
  }

checkQuestionForm = function () {
  var stop = false;
  var email = $('Nemail');
  var Nname = $('Nname');
  var Nmessage = $('Nmessage');
  
  res = '';
  if (!checkemail(email.value)) res += "* Proszę podać poprawny adres email<br><br>";
  if (Nname.value == '') res += "* Podaj swoje Imię<br><br>";
  if (Nmessage.value == '') res += "* Proszę wpisać pytanie<br><br>";
  
  if (res) {
      res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote style='text-align:left;'>"+res+"</blockquote>";
      userAlert(res);
      return false;
      } else return true;
  // 	document.registerForm.submit();
  }

checkContactForm = function () {
  var stop = false;
  var email = $('Nemail');
  var Nname = $('Nname');
  var Nphone = $('Nphone');
  var Nmessage = $('Nmessage');
  
  res = '';
  if (!checkemail(email.value)) res += "* Adres E-Mail jest nieprawidłowy<br><br>";
  if (Nname.value == '') res += "* Podaj imię i nazwisko<br><br>";
  if (Nmessage.value == '') res += "* Proszę wpisać wiadomość<br><br>";
  if (Nphone.value == '') res += "* Proszę wpisać numer telefonu<br><br>";

  if (res) {
    res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote style='text-align:left;'>"+res+"</blockquote>";
    userAlert(res);
    return false;
    } else return true;
// 	document.registerForm.submit();
  }

checkNewsletter = function () {
  res = '';
  var email = $('newsletter_email');
  if (!checkemail(email.value)) res += "Prosze wpisać poprawny adres E-mail<br><br>";
    if (res) {
            userAlert(res);
            return false;
            }
            else
            return true;
  }
  
//   productFunc
var id;
var info;
var basket;
var prod;
var code;
var p_name;
var quantity;
var sess_id;
var price;
var date = '';
var curPos;
var eLayer;
var color = '';
var size = '';
	
function setCur(evt) {
  if (evt.pageY) curPos = evt.pageY-10;
  else
  if (document.documentElement)
      curPos = (document.documentElement.scrollTop) ? document.documentElement.scrollTop+200 : 200;
}
cancel = function(id) {
  if (!id) return false;
  formLay = $(id);
  Effect.Fade(formLay);
  Effect.Fade('sOl', {from: 0.6, to: 0.0});
}	
	
showForm = function(id) {
  if (!id) return false;
  formLay = $(id)	
  formLay.style.top = (navigator.appName != "Microsoft Internet Explorer") ? curPos+'px': curPos;
//   Effect.SlideDown(formLay);
  Effect.Appear(formLay);
}	
setProduct = function ( pid, pcode, pname, _sess_id, _price, _date) {
//   if (document.documentElement)
//       curPos = (document.documentElement.scrollTop) ? document.documentElement.scrollTop+200 : 200;
if (!curPos) curPos = 350;
  eLayer = $('productQuant');
//   eLayer.style.display = 'block';

  eLayer.style.top = (navigator.appName != "Microsoft Internet Explorer") ? curPos+'px': curPos;
  showForm('productQuant');
  Effect.Appear('sOl', {from: 0.0, to: 0.7});
  prod = $('prod');
  quantity = $('quantity');
  selects = $('productSelects'+pid);
  selects = (selects) ? selects.innerHTML : '';
  price = _price;
  id = pid;
  p_name = pname;
  prod.innerHTML = "<span class='basketTitle'>Dodaj do koszyka "+p_name+"</span>"+"<br>"+selects;
  try {
  quantity.focus(); 
  }
  catch (e) {}
}

updatePrice = function (id) {
if (!id) id ='';
  var selSize = $(id);
  if (selSize) {
    if (selSize.selectedIndex > 0) {
      size = '&arguments[size]='+selSize.options[selSize.selectedIndex].text;
      if (parseFloat(selSize.options[selSize.selectedIndex].value) > 0) $('itemPrice').innerHTML = parseFloat(selSize.options[selSize.selectedIndex].value)+' zł';
      }
    }
}
checkSelects = function (id) {
if (!id) id ='';
  var selSize = $('selSize'+id);
  var selColor = $('selColor'+id);
  if (selSize) {
    if (selSize.selectedIndex == 0) {
        userAlert('Wybierz rozmiar');
        return false;
        }
    else {
      size = '&arguments[size]='+selSize.options[selSize.selectedIndex].text;
      if (parseFloat(selSize.options[selSize.selectedIndex].value) > 0) price = parseFloat(selSize.options[selSize.selectedIndex].value);
      }
    }
  if (selColor) {
    if (selColor.selectedIndex == 0) {
        userAlert('Wybierz kolor');
        return false;
        }
    else {
      color = '&arguments[color]='+selColor.options[selColor.selectedIndex].text;
      }
    }
    return true;
}
addProduct = function ( pid, pname, _price) {
  result = $('productResult');
  quantity = $('quantity');
  if (!checkSelects(pid)) return false;
  id = pid;
  basketAdd();
//   userAlert('Produkt dodany do koszyka.', 1);
//   result.innerHTML = "Produkt dodany do koszyka.";
}

basketAdd = function() {
  var q = quantity.value;
  if (!checkSelects(id)) return false;
  LoadData('basket','?mode=shop&exec=Add&data=Basket&arguments[product_id]='+id+'&arguments[quantity]='+q);
//   +color+size
  cancel('productQuant');
//   $('e').innerHTML = p_name+" został dodany do koszyka.";
//   showForm('e');
//   setTimeout("cancel('e');",1000);
}
function basketInc(pID) {
  LoadData('page','?mode=shop&data=Basket&exec=Edit&Inc=1&id='+pID);
}
function basketDec(pID) {
  LoadData('page','?mode=shop&data=Basket&exec=Edit&Dec=1&id='+pID);
}
loadPhoto = function (image) {
  $('e').style.display = 'block';
  $('e').src = '../product_photo/photo/'+image;
}

getURLData = function () {
  var Loc = location.href.split("?");
  var _link = Loc[0]+'?';
  urlterms = (Loc[1]) ? Loc[1].split("&") : '';
  return Array(_link, urlterms);
}

goNextPage = function (direction, pageNo) {

Loc = getURLData();

var _link = Loc[0];
var urlterms = Loc[1];

var page = 0;
var Direction = (direction) ? -1 : 1;
for (i=0 ; i < urlterms.length;i++) {
    _var = urlterms[i].split('=');
    if (_var[0] == 'Page') {
      page = (pageNo) ? pageNo : parseInt(_var[1])+parseInt(Direction);
      urlterms[i] = '';
      continue;
      }
    else if (urlterms[i] != '') _link += urlterms[i]+'&';
    }

    if (direction == 'A') _link += 'Page=A';
    else {
      if (page > 0) _link += 'Page='+page;
      else { 
          if (pageNo) _link += 'Page='+pageNo;
          else _link += 'Page=2';
      }
    }
Go(_link);
}

countOrder = function() {
var shippingSelect = $('shippingSelect');
var basketTotal = parseFloat($('basketTotal').innerHTML);
var orderTotal = $('orderTotal');

var shippingCharge = $('s'+shippingSelect.options[shippingSelect.selectedIndex].id).innerHTML;
var orderT = basketTotal + parseFloat( shippingCharge );
orderTotal.innerHTML = orderT.toFixed(2);
$('shippingCharge').value = parseFloat( shippingCharge );
}
getShipping = function (sel) {}
checkOrderData = function () {
  var stop = false;
  var fname = $('first_name');
  var cname = $('name');
  var address1 = $('address1');
  var postal_code = $('postal_code');
  var city = $('Regcity');
  var companyName = $('companyName');
  var phone = $('phone');
  res = '';
  if (fname.value == '') res += "<li>Imię</li>";
  if (cname.value == '') res += "<li>Nazwisko</li>";
  if (address1.value == '') res += "<li>Ulicę</li>";
  if (city.value == '') res += "<li>Nazwę miasta</li>";
  if (phone.value == '') res += "<li>Numer telefonu</li>";
  
  if (res) {
    res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote><ul>"+res+"</ul></blockquote>";
    userAlert(res);
    return false;
  }
  else
  saveMyForm('order', 'page');
}
checkLoginData = function () {
  var stop = false;
  var lname = $('login_name');
  var lpass = $('login_password');
  res = '';
  if (lname.value == '') res += "<li>Adres Email</li>";
  if (lpass.value == '') res += "<li>Hasło</li>";
  
  if (res) {
    res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote><ul>"+res+"</ul></blockquote>";
    userAlert(res);
    return false;
  }
  else
  saveMyForm('order', 'page');
}

checkPNotifyForm = function () {
  var stop = false;
  var lname = $('friend_name');
  var lmail = $('friend_email');
  res = '';
  if (lname.value == '') res += "* Nie podano Imienia i nazwiska<br><br>";
    if (lmail.value == '')
    if (!checkemail(lmail.value)) res += "* Nieprawidłowy adres email<br><br>";
  
  if (res) {
    res = "<b>Proszę uzupełnić wszystkie wymagane pola.</b> <br><br><blockquote style='text-align:left;'>"+res+"</blockquote>";
    userAlert(res);
    return false;
  }
  else return true;
//         saveMyForm('order', 'text');
}