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];
}

function hidePopup (id)
{
  document.getElementById(id).style.display = 'none';
  document.getElementById(id).style.width = '10px';
  document.getElementById(id).style.height = '10px';
  var element = document.getElementById(id).firstChild;
  var loader = document.getElementById('imgLoading');
  while (element.nodeType != 1 && element.nextSibling)
	{
	  element = element.nextSibling;
	}
	element.width = 0;
	element.height = 0;
	element.src = 'pics/fake.gif';
	loader.style.display = 'none';
}

function opacity(id, opacStart, opacEnd, millisec, event, overid, orientation, imgX, imgY) {
	//speed for each frame
	var loader = document.getElementById('imgLoading');
	var container = document.getElementById(id);
	var hoveredObj = document.getElementById(overid);
	var element = document.getElementById(id).firstChild;
	var speed = Math.round(millisec / 100);
	var timer = 0;
  event = (event) ? event : ((window.event) ? window.event : null);
  
  while (element.nodeType != 1 && element.nextSibling)
	{
	  element = element.nextSibling;
	}
  
  if (event.srcElement){
	  var obj = event.srcElement;
	}
	else
	{
	  var obj = event.target;
	}
  
	pos = findPos (obj);
	
	imgX = imgX/100;
	imgY = imgY/100;
	
	hidePopup(id);
	  
	loader.style.top = (pos[1]-35) + "px";
	loader.style.left = pos[0] + "px";
	loader.style.width = (hoveredObj.width-2) + "px";
	loader.style.opacity = 0.8;
	loader.style.MozOpacity = 0.8;
	loader.style.KhtmlOpacity = 0.8;
	loader.style.filter = "alpha(opacity="+80+")";
	
	var popupDiv = document.getElementById(id);

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "','"+imgX+"','"+imgY+"')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
	  if (orientation)
	  {
  	  if (orientation == 'left')
  	    pos[0] -= imgX*100+10;
  	  else
  	    pos[0] += obj.width+10;
      pos[1] -= parseInt((imgY*100)/2)-parseInt(obj.height/2);
  	  
	  }
	  else
	  {
	    pos[1] -= imgY*100+10;
	  }

    container.style.height = (imgY*100)+'px';
	  container.style.width = (imgX*100)+'px';

  	popupDiv.style.top = pos[1]+'px';
  	popupDiv.style.left = pos[0]+'px';
  	
  	
  	var img = new Image();
  	img.onload = function (evt){
  	  element.src = this.src;
  	  beginTrans (opacStart,opacEnd,0,id,imgX,imgY,speed);
  	  loader.style.display = 'none';
  	}
  	loader.style.display = 'block';
  	container.style.display = 'block';
  	img.src = 'imgs/' +overid + '.jpg';
  	
	}
}

function beginTrans (opacStart,opacEnd,time,id,imgX,imgY,speed){
  var timer = time;
  for(i = opacStart; i <= opacEnd; i++)
	  {
			setTimeout("changeOpac(" + i + ",'" + id + "','"+imgX+"','"+imgY+"')",(timer * speed));
			timer++;
		}
}

//change the opacity for different browsers
function changeOpac(opacity, id, imgX, imgY) {
  var element = document.getElementById(id).firstChild;
  var object = document.getElementById(id).style;
  var container = document.getElementById(id);
  var loader = document.getElementById('imgLoading');
	
  while (element.nodeType != 1 && element.nextSibling)
	{
	  element = element.nextSibling;
	}
	
	element.width = imgX*opacity;
	element.height = imgY*opacity;
	
	
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function isValidEmail(strEmail)
{
  var validRegExp = /^(\w+\.)*\w+@(\w+\.)*[a-zA-Z]{2,4}$/;
   if (strEmail.search(validRegExp) == -1)
   {
      return false;
    }
    return true;
}

function goSubscribe(lang)
{
  if (trim(document.getElementById("txtEmail").value).length == 0)
  {
    if (lang == "en")
      alert("Please enter Your eMail address!");
    else
      alert("Adja meg az eMail címét!");
    document.getElementById("txtEmail").focus();
    return false;
  }
  if (!isValidEmail(trim(document.getElementById("txtEmail").value)))
  {
    if (lang == "en")
      alert("Only valid eMail address is acceptable!");
    else
      alert("Csak érvényes eMail cím fogadható el!");
    document.getElementById("txtEmail").focus();
    return false;
  }
  document.getElementById("txtEmail").name = "txtMail";
  if (document.getElementById("rSubscribe").checked)
    document.getElementById("emailform").action = document.getElementById("emailform").action + "subscribe";
  else
    document.getElementById("emailform").action = document.getElementById("emailform").action + "unsubscribe";
  document.getElementById("emailform").submit();
}

function createCookie(name,value,days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
  }
  
  function readCookie(name) {
  	var nameEQ = name + "=";
  	var ca = document.cookie.split(';');
  	for(var i=0;i < ca.length;i++) {
  		var c = ca[i];
  		while (c.charAt(0)==' ') c = c.substring(1,c.length);
  		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  	}
  	return null;
  }
  
  function eraseCookie(name) {
  	createCookie(name,"",-1);
}

function fontIncrease()
{
  var prevSize = document.getElementById("actcontent").style.fontSize;
  var newSize = parseInt(prevSize);
  if (isNaN(newSize))
  {
    newSize = 13;
    document.getElementById("fontDecrease").className = 'decrease';
  }
  else
    if (newSize < 15)
    {
      newSize += 2;
      if (newSize == 15)
        document.getElementById("fontIncrease").className = 'increase_ac';
      if (newSize > 11)
        document.getElementById("fontDecrease").className = 'decrease';  
    }  
    else
      return;    
  document.getElementById("actcontent").style.fontSize = newSize+'px';
  createCookie("ContentSize",newSize,10);
}
function fontDecrease()
{
  var prevSize = document.getElementById("actcontent").style.fontSize;
  var newSize = parseInt(prevSize);
  if (isNaN(newSize))
    return;
  else
    if (newSize > 11)
    {
     newSize -= 2;
     if (newSize == 11)
       document.getElementById("fontDecrease").className = 'decrease_ac';
     if (newSize < 15)
       document.getElementById("fontIncrease").className = 'increase';
    }
    else
      return;
  document.getElementById("actcontent").style.fontSize = newSize+'px';
  createCookie("ContentSize",newSize,10);
}

function setFontsize() {
  var fontSize = readCookie("ContentSize");
  if (fontSize && document.getElementById("options"))
  {
    document.getElementById("fontDecrease").className = 'decrease';
    document.getElementById("actcontent").style.fontSize = fontSize+'px';
    if (fontSize >= 15)
      document.getElementById("fontIncrease").className = 'increase_ac';
    else if (fontSize <= 11)
      document.getElementById("fontDecrease").className = 'decrease_ac';
  } 
}

var ajax = new sack();
  
function getQuotation(nNext)
{
  ajax.reset();
  ajax.setVar("nextquot", nNext);
  ajax.requestFile = "idezetrot.php";
  ajax.onCompletion = whenQuotationReceived;
  ajax.runAJAX();
}
function whenQuotationReceived()
{
  document.getElementById("quotationtext").innerHTML = ajax.response;
}

function rotate(nNext){
  getQuotation(nNext);
  var next = nNext+1;
  createCookie("Quotation",nNext,10);
  setTimeout("rotate("+next+")",15000);
}

function loadImages (PreloadImages){
  var loadedImages = [];

  if (document.images)
  {
    for (i=0; i<PreloadImages.length; i++)
    {
      loadedImages[i] = new Image();
      loadedImages[i].src = PreloadImages[i];
    }
  }
}


function initPage() {
  setFontsize();
  var PreloadImages = ['pics/ajax-loader.gif','imgs/jadekoves.jpg','imgs/paloc.jpg','imgs/totalblumen.jpg','imgs/luxh.jpg',
                   'imgs/offroad.jpg','imgs/tuskevb.jpg','imgs/fegyvertar.jpg',
                   'imgs/artefolk.jpg','imgs/hotelsiraly.jpg','imgs/admin.jpg','imgs/webmail.jpg', 'imgs/artefolk.jpg'];
  
  loadImages(PreloadImages);
  /*var actQuotation = readCookie("Quotation");
  if (actQuotation)
    rotate(actQuotation);
  else
  {
    document.getElementById("quotationtext").innerHTML = '"FOKOZATOSAN ELJUTUNK ODA, HOGY AZ EGYES KOMPONENSEK VALÓBAN EGY-EGY ATOMBÓL ÉPÜLJENEK FEL."<br/><div align="right"><strong>GORDON MOORE</strong></div>';
    setTimeout("rotate(1)",15000);
  } */
}

window.onload = initPage;