  var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0; NS6=0;
  var over="";
  var zuordnung=new Array();
  var zuordnung_pop=new Array();
  var opa=new Array();
  var opa_pop;
  var opacity=new Array();
  var opacity_pop=10;
  var pressed=false;
  var x;
  var y;
  var maxz=1;
  var globalid="";
  

  if (window.opera) {
     OP = 1;
  }

  if(document.getElementById) {
    DHTML = 1;
    DOM = 1;
  }

  if(document.all && !OP) {
    DHTML = 1;
    MS = 1;
  }

  if(document.layers && !OP) {
    DHTML = 1;
    NS = 1;
  }

  if (!OP && !document.all && !NS){
   NS6=1;
  }

  if(MS || OP){
    document.onmousemove=handleMove;
    document.onmousedown=mouseDown;
    document.onmouseup=mouseUp;
  }
  if(NS6){
    document.captureEvents(Event.MOUSEMOVE);
    document.captureEvents(Event.MOUSEDOWN);
    document.captureEvents(Event.MOUSEUP);
    document.onmousemove=handleMoveNS;
    document.onmousedown=mouseDownNS;
    document.onmouseup=mouseUp;
  }

  function mouseDown(){
    pressed=true;
    if (over!=""){
      x=window.event.clientX-parseInt(document.getElementById(over).style.left);
      y=window.event.clientY-parseInt(document.getElementById(over).style.top);
      document.getElementById(over).style.zIndex=maxz;
      maxz++;
    } else {
		x=window.event.clientX + document.body.scrollLeft;
		y=window.event.clientY + document.body.scrollTop;
	}
  }

  function mouseDownNS(Ereignis){
    pressed=true;
    if (over!=""){
      x=Ereignis.pageX-parseInt(document.getElementById(over).style.left);
      y=Ereignis.pageY-parseInt(document.getElementById(over).style.top);
      document.getElementById(over).style.zIndex=maxz;
      maxz++;
    } else {
		x=Ereignis.pageX;
		y=Ereignis.pageY;
	}
  }

  function mouseUp(){
    pressed=false;
  }

  function decreaseOpacity(id){
    opacity[id]=opacity[id]+5;
    if (MS||OP){
      document.getElementById(id).style.filter="alpha(opacity="+opacity[id]+")";
    }
    if (NS6){
     document.getElementById(id).style.MozOpacity=opacity[id]+"%";
    }
    if (opacity[id]==100){
      window.clearInterval(opa[id]);
      opacity[id]=10;
    }
  }

  function show_(id,x,y){
    document.getElementById(id).style.visibility="visible";
    document.getElementById(id).style.left=x;
    document.getElementById(id).style.top=y;
    opa[id]=window.setInterval("decreaseOpacity('"+id+"')",1);
    opacity[id]=10;
  }

  function show(id,x,y){
    zuordnung[id]=window.setTimeout("show_('"+id+"','"+x+"','"+y+"')",1500);
  }

  function hide(id){
    document.getElementById(id).style.visibility="hidden";
    window.clearTimeout(zuordnung[id]);
    window.clearInterval(opa);
    opacity[id]=10;
    if (MS || OP){
     document.getElementById(id).style.filter="alpha(opacity=10)";
    }
    if (NS6){
     document.getElementById(id).style.MozOpacity="10%";
    }
  }

  function handleMove(){
    if ((over!="")&&(pressed)){
      if (over.slice(0,4)=="boxx"){
       document.getElementById(over).style.left=window.event.clientX-x;
       document.getElementById(over).style.top=window.event.clientY-y;
       document.selection.clear();
      }
    }
    if (globalid.slice(0,4)=="hint"){
      var xCorrect = -document.body.offsetWidth + 24 + window.event.clientX + document.getElementById(globalid).offsetWidth;
	  if(xCorrect < 0) xCorrect = 0;
	  document.getElementById(globalid).style.left=window.event.clientX+5+document.body.scrollLeft - xCorrect;
	  	  
	  var yCorrect = -document.body.offsetHeight + 50 + window.event.clientY + document.getElementById(globalid).offsetHeight;
      if(yCorrect < 0) yCorrect = 0;
	  document.getElementById(globalid).style.top=window.event.clientY+18+document.body.scrollTop - yCorrect;
	  
	}
  }

  function handleMoveNS(Ereignis){
    if ((over!="")&&(pressed)){
      if (over.slice(0,4)=="boxx"){
        document.getElementById(over).style.left=Ereignis.pageX-x;
        document.getElementById(over).style.top=Ereignis.pageY-y;
      }
    }
    if (globalid.slice(0,4)=="hint"){
      var xCorrect = -window.innerWidth + 24 + Ereignis.pageX + document.getElementById(globalid).offsetWidth - window.pageXOffset;
	  if(xCorrect < 0) xCorrect = 0;
	  document.getElementById(globalid).style.left=Ereignis.pageX+5 - xCorrect;
	  	  
	  var yCorrect = -window.innerHeight + 50 + Ereignis.pageY + document.getElementById(globalid).offsetHeight - window.pageYOffset;
      if(yCorrect < 0) yCorrect = 0;	
	  document.getElementById(globalid).style.top=Ereignis.pageY+18 - yCorrect;
    }
  }

  function overWK(id){
    if (over==""){
      over=id;
	}
  }

  function outWK(id){
    if (!pressed){
      over="";
    }
  }


  function decreaseOpacity_pop(id){
    opacity_pop=opacity_pop+10;
    if (MS||OP){
      document.getElementById(id).style.filter="alpha(opacity="+opacity_pop+")";
    }
    if (NS6){
      document.getElementById(id).style.MozOpacity=opacity_pop+"%";
    }
    if (opacity_pop==100){
      window.clearInterval(opa_pop);
      opacity_pop=10;
    }
  }


function error_notify(strID) {

	hide('boxx999');
	
	//debugger;	
	
	arrParts = strID.split("#");
	
	document.getElementById("hidShop").value = arrParts[0];
	document.getElementById("hidDeeplink").value = arrParts[1];
	
	//parseInt(document.getElementById(strID).style.top)
	show_('boxx999', x, y-110);
}

function sendNotify() {
	
	//debugger;
	
	var hidShop = document.getElementById("hidShop").value;
	var hidDeeplink = document.getElementById("hidDeeplink").value;
	var posHTTP = hidDeeplink.search(/http.+/);
	hidDeeplink = hidDeeplink.substr(posHTTP);
	
	var radWrong = -1;
	if(document.getElementById("radDef").checked == true) {
		radWrong = 0;
	}
	if(document.getElementById("radMiss").checked == true) {
		radWrong = 1;
	}
	
	if(radWrong != -1) {
		bild = new Image(1,1);
		bild.src = "http://harpagon.pl/wyslanie.php?parametr1=" + arrParts[0] + "&parametr2=" + arrParts[1] + "&radWrong=" + radWrong;

	}
	
	closeNotify();
}

function closeNotify() {
	hide('boxx999');
	document.getElementById("radDef").checked = false;
	document.getElementById("radMiss").checked = false;
	document.getElementById("bSubmit").disabled = true;
	document.getElementById("bSubmit").src = "grafik/absenden_grey.gif";
}


function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function

function validatePwd() {
    	// check for minimum length
        if (document.rej.handler.value.length < 5) {
	var handler = document.rej.handler.value;
	alert('Nazwa sklepu nie może być pusta.');
	return false;
	}
	
        if (document.rej.adres.value.length < 5) {
	var adres = document.rej.adres.value;
	alert('Adres nie może być pusty.');
	return false;
	}
	
        if (document.rej.email.value.length < 5) {
	var email = document.rej.email.value;
	alert('Adres email nie może być pusty.');
	return false;
	}
	
        if (document.rej.telefon.value.length < 5) {
	var telefon = document.rej.telefon.value;
	alert('Telefon nie może być pusty.');
	return false;
	}
	
        if (document.rej.url.value.length < 5) {
	var telefon = document.rej.url.value;
	alert('Link do sklepu nie może być pusty.');
	return false;
	}
	
        if (document.rej.przesylka.value.length < 1) {
	var telefon = document.rej.przesylka.value;
	alert('Podaj koszty przesyłki.');
	return false;
	}
	
	return true;
}

function validateData() {

    	// check for minimum length
        if (document.komentarz.comment.value.length < 25) {
	var handler = document.komentarz.comment.value;
	alert('Komentarz nie może być pusty. Musi mieć conajmniej 25 znaków.');
	return false;
	}
	
	if (document.komentarz.tytul.value.length < 5) {
	var adres = document.komentarz.tytul.value;
	alert('Proszę wpisz tytuł komentarza.');
	return false;
	}

        if (document.komentarz.imie.value.length < 2) {
	var adres = document.komentarz.imie.value;
	alert('Proszę podaj swoje imię.');
	return false;
	}
	
        if (document.komentarz.email.value.length < 5) {
	var email = document.search.email.value;
	alert('Adres email nie może być pusty.');
	return false;
	}

	return true;
}

function validatePrzypominacz() {

    	// check for minimum length
        if (document.przypominacz.przypomnienieTytul.value.length < 5) {
	var przypomnienieTytul = document.przypominacz.przypomnienieTytul.value;
	alert('Tytuł przypomnienia musi mieć conajmniej 5 znaków.');
	return false;
	}
	

	return true;
}


function validatePrzypominaczZnajomy() {

    	// check for minimum length
        if (document.przypominacz_znajomy.email.value.length < 5) {
	var email = document.przypominacz_znajomy.email.value;
	alert('Wpisz przynajmniej jeden adres email.');
	return false;
	}

    	// check for minimum length
        if (document.przypominacz_znajomy.imie.value.length < 5) {
	var imie = document.przypominacz_znajomy.imie.value;
	alert('Wpisz swoje imię i nazwisko.');
	return false;
	}
	

	return true;
}


function validateRejestracja() {


   	// check for minimum length
        if (document.rejestracja.imie.value.length < 2) {
	var imie = document.rejestracja.imie.value;
	alert('Wpisz swoje imię');
	return false;
	}

    	// check for minimum length
        if (document.rejestracja.email.value.length < 5) {
	var email = document.rejestracja.email.value;
	alert('Wpisz adres email.');
	return false;
	}

	var checkBoxArr = getSelectedCheckbox(document.forms[1].agb_1);
	if (checkBoxArr.length == 0) {
	alert('Prosimy o akceptację regulaminu.');
	return false;
	}
	
	return true;
}

function validateZakladki() {


   	// check for minimum length
        if (document.zakladki.tytul.value.length < 5) {
	var tytul = document.zakladki.tytul.value;
	alert('Wpisz tutuł zakładki');
	return false;
	}

    	// check for minimum length
        if (document.zakladki.url.length < 5) {
	var url = document.zakladki.url.value;
	alert('Wpisz adres URL.');
	return false;
	}
	
	return true;
}

function addbookmark()
{
bookmarkurl="http://www.harpagon.pl"
bookmarktitle="Harpagon.pl - Porównywarka cen"
if (document.all)
window.external.AddFavorite(bookmarkurl,bookmarktitle)
}


function confirmSubmit()
{
var agree=confirm("Czy chcesz usun±ć te przypomnienie ?");
if (agree)
	return true ;
else
	return false ;
}


function validateLink() {

	// check for minimum length
			var radioBoxArr = getSelectedRadioValue(document.forms[1].modul)
		    var agree = confirm("PotwierdĽ, że dane s± poprawne.\nModuł: " + radioBoxArr + "\nURL: " + document.formularz.link.value);
			if (agree)
				return true ;
			else
				return false ;
}