var onLoadMethods=new Array(imageProjector,whatCorrector);
//randomHeaderImages

function onResizer() {
	if (onLoadMethods) {
		for(var i=0;i<onLoadMethods.length;i++) {
			var func = onLoadMethods[i];
			func();
		}
	}
}
function onLoader() {
	onResizer();
}

var lastShownProjectedIds=-1;
var random_header_pictures=new Array();
var random_header_picture_index=0;
function randomHeaderImages() {
	clearTimeout(window.random_header_pictures_timeout);
	if (random_header_pictures.length) {
		if (!window.random_header_pictures_preloaded)preloadImages(random_header_pictures);
		else {
			var obj=getObjfromIdorObj('random-header-row');
			obj.className=random_header_pictures[random_header_picture_index];
			if (random_header_picture_index<random_header_pictures.length-1)random_header_picture_index++;
			else random_header_picture_index=0;
		}
	}
	window.random_header_pictures_timeout=setTimeout("randomHeaderImages()",5000);
}

function preloadImages(images) {
	var doc=document;
	if (!doc.preloadedImages) doc.preloadedImages=new Array();
	for (var i=0;i<images.length;i++) {
		doc.preloadedImages[i]=new Image;
		doc.preloadedImages[i].src="design/images/fejlec/fejlec_02_02_"+images[i].replace(/headerstyle\-/g,"")+".jpg";
	}
	window.random_header_pictures_preloaded=true;
}

function reAlignMapObjects() {
	var outer=getObjfromIdorObj("terkep");
	var inner=getObjfromIdorObj("map");
	var difference=new Object();
	if (outer && inner) {
		var pos=getAnchorPosition({tagid:'terkep'});
		
		//left állítása
		pos.x+=50;//balmargó miatt ez kellhet
		difference.x=inner.offsetLeft-pos.x;
		inner.style.left=parseInt(pos.x)+"px";
		inner.left=parseInt(pos.x)+"px";
		

		//top állítása
		pos.y+=130;//topmargó miatt ez kellhet
		difference.y=inner.offsetTop-pos.y;
		inner.style.top=parseInt(pos.y)+"px";
		inner.top=parseInt(pos.y)+"px";
		showObj(inner);

		var objects=outer.getElementsByTagName('div');
		for (var i=0;i<objects.length;i++) {
			if (objects[i]!=inner) {
/**/
				//left
 				objects[i].style.left=parseInt(objects[i].offsetLeft-difference.x)+"px";
				objects[i].left=parseInt(objects[i].offsetLeft-difference.x)+"px";
				objects[i].style.marginLeft="0px";
				//top
				objects[i].style.top=parseInt(objects[i].offsetTop-difference.y)+"px";
				objects[i].top=parseInt(objects[i].offsetTop-difference.y)+"px";
				objects[i].style.marginTop="0px";
				showObj(objects[i]);
/**/
			}
		}
	}
}

function showMapOverlib(obj) {	
    var obj=getObjfromIdorObj(obj);
	overlib(getMapObjectHTML(obj.id), BGCLASS, 'overdiv-bg', FGCLASS, 'overdiv-text', FIXX, getMapObjectLeft(obj), FIXY, getMapObjectTop(obj));
}

function getMapObjectHTML(obj) {
    var obj=getObjfromIdorObj(obj);
	if (obj && obj.id){
		var html=getInnerHTML(obj.id+"content");
		if (!html)return "";
		html=html.replace(/[\r\n]/g,"");
		return html;
	}
}
function getMapObjectTop(obj) {
    var obj=getObjfromIdorObj(obj);
    if (obj)return obj.offsetTop;
     
}
function getMapObjectLeft(obj) {
    var obj=getObjfromIdorObj(obj);
    if (obj)return obj.offsetLeft+obj.offsetWidth; 
}



function bakonyCalendarIncDay() {
	var fromdate=getValue('fromdate');
	var fromdateArray=fromdate.match(/^([\d]{2,4})\-([\d]{1,2})\-([\d]{1,2})/);
	var date=new Date(fromdateArray[1],fromdateArray[2]-1,fromdateArray[3]);
	
	if (date) {
		date.setTime( date.getTime()+24*60*60*1000 );
		refreshEventCalendar('fromdate='+getDateString(date));
	}
}
function bakonyCalendarDecDay() {
	var fromdate=getValue('fromdate');
	var fromdateArray=fromdate.match(/^([\d]{2,4})\-([\d]{1,2})\-([\d]{1,2})/);
	var date=new Date(fromdateArray[1],fromdateArray[2]-1,fromdateArray[3]);
	
	if (date) {
		date.setTime( date.getTime()-24*60*60*1000 );
		refreshEventCalendar('fromdate='+getDateString(date));
	}
}
function bakonyCalendarSetDay(calendar, date) {
	if (!date || !calendar) return false;
	 if (calendar && calendar.dateClicked) {
	    calendar.callCloseHandler(); // this calls "onClose" (see above)
	  }

	var fromdateArray=date.match(/^([\d]{2,4})\-([\d]{1,2})\-([\d]{1,2})/);
	var date=new Date(fromdateArray[1],fromdateArray[2]-1,fromdateArray[3]);

   	refreshEventCalendar("fromdate="+getDateString(date));
}
function refreshEventCalendar(PostData) {
 	PostData="action=refreshCalendar&"+PostData;

	var opts = {
		method: 'post',
		postBody:PostData,
		onSuccess: function(t) {
		},
		on404: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		},
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}
	}
	new Ajax.Updater('calendar-rows', _site_url+'ajax.php', opts);
	return false;
} 

function MyCalendarSetup() {
	if (getObjfromIdorObj('calendar_button_date')) {
	Calendar.setup({
		inputField     :    "calendar_button_date",   // id of the input field
		ifFormat       :    "%Y-%m-%d %H:%M",       // format of the input field
		showsTime      :    false,
		timeFormat     :    "24",
		onSelect       :    bakonyCalendarSetDay
	});
	}
}


function swapImage(id,src) {
    var x=getObjfromIdorObj(id);
    if (x && x.src && x.src!=src) {
//        document.swapImage_src=x;
        if(!x.oSrc)x.oSrc=x.src;
        if(getBrowserType()=="ie")IExploreTimeHack("getObjfromIdorObj('"+x.id+"').src='"+src+"'");
        else x.src=src;
    }
}
function swapOverImage(id) {
    var obj=getObjfromIdorObj(id);
    var newsrc=obj.src.replace(/_over(\.gif|\.jpg)$/i,'$1');
    var newsrc=newsrc.replace(/(\.gif|\.jpg)$/i,'_over$1');
    swapImage(obj, newsrc);
}
function swapOutImage(id) {
    var obj=getObjfromIdorObj(id);
    var newsrc=obj.src.replace(/_over(\.gif|\.jpg)$/i,'$1');
    swapImage(obj, newsrc);
}
function IExploreTimeHack(evalstr)
{
    setTimeout(evalstr,1);
	return true;
}


/*decalshop main*/
function getNextProjectedImage(key) {
	var images=projectorArray[key];
	if (typeof lastProjectedIds[key]=="undefined")lastProjectedIds[key]=-1;
	lastProjectedIds[key]++;
	if (lastProjectedIds[key]>=images.length)lastProjectedIds[key]=0;
	return images[lastProjectedIds[key]]; 
}
function getNextProjectedText(key) {
	var images=projectorTextArray[key];
	if (typeof lastProjectedIds[key]=="undefined")lastProjectedIds[key]=-1;
	lastProjectedIds[key]++;
	if (lastProjectedIds[key]>=images.length)lastProjectedIds[key]=0;
	return images[lastProjectedIds[key]]; 
}
function getPrevProjectedImage(key) {
	var images=projectorArray[key];
	if (typeof lastProjectedIds[key]=="undefined")lastProjectedIds[key]=-1;
	lastProjectedIds[key]--;
	if (lastProjectedIds[key]<0)lastProjectedIds[key]=images.length-1;
	return images[lastProjectedIds[key]]; 
}
function getPrevProjectedText(key) {
	var images=projectorTextArray[key];
	if (typeof lastProjectedIds[key]=="undefined")lastProjectedIds[key]=-1;
	lastProjectedIds[key]--;
	if (lastProjectedIds[key]<0)lastProjectedIds[key]=images.length-1;
	return images[lastProjectedIds[key]]; 
}

function setNextProjectedImage (key){
	clearTimeout(window.imageProjector_timeout);
	swapImage(key,getNextProjectedImage(key));
	window.imageProjector_timeout=setTimeout("imageProjector()",1500);
}

function setPrevProjectedImage (key){
	clearTimeout(window.imageProjector_timeout);
	swapImage(key,getPrevProjectedImage(key));
	window.imageProjector_timeout=setTimeout("imageProjector()",1500);
}
function setProjectedImage(key,id){
	swapImage(key,projectorArray[key][id]);
}
function setProjectedText(key,id){
	setInnerHTML(key,projectorTextArray[key][id]);
}
function setProjectedLink(key,id){
	lastShownProjectedIds=id;
/*	var obj=getObjFromIdOrObj(key);
	if (obj) {
		obj.href=projectorLinkArray[key][id];
	}*/
}

var projectorArray=new Array();
var projectorLinkArray=new Array();
var projectorTextArray=new Array();
var lastProjectedIds=new Array();
var projectingImages=1;
function imageProjector() {
	if (!projectingImages)return false;
	clearTimeout(window.imageProjector_timeout);
	fadeOutImageProjector();
//	
/*	for (var key in projectorArray) {
		if (typeof key=="string") {
			var image=getNextProjectedImage(key);
			swapImage(key,image);
		}
	}*/
}

var opacity=100;
function fadeOutImageProjector() {
	clearTimeout(window.fadeImage_timeout);
	opacity-=5;
	for (var key in projectorArray) {
		if (typeof key=="string") {
			chageopacity(key,opacity);
			//if (opacity==0)swapImage(key,image);
		}
	}
	if (opacity==0) {
		//change titles
		for (var key in projectorArray) {
			if (typeof key=="string") {
				var image=getNextProjectedImage(key);
				swapImage(key,image);
			}
		}
		for (var key2 in projectorTextArray) {
			if (typeof key2=="string") {
				setInnerHTML(key2,getNextProjectedText(key2));
			}
		}
		fadeInImageProjector();
	} else {
    	window.fadeImage_timeout=setTimeout('fadeOutImageProjector()',50);
    }
}

function fadeInImageProjector() {
	clearTimeout(window.fadeImage_timeout);
	opacity+=5;
	for (var key in projectorArray) {
		if (typeof key=="string") {
			chageopacity(key,opacity);
			//if (opacity==0)swapImage(key,image);
		}
	}
	if (opacity==100) {
		restarImageProjector(1);
	} else {
    	window.fadeImage_timeout=setTimeout('fadeInImageProjector()',50);
	}
}



function chageopacity(obj,opacity){
	obj=getObjfromIdorObj(obj);
	if (!obj)return false;
	if (opacity>=100)opacity=99;
	if (ie)obj.style.filter='Alpha(Opacity='+opacity+')';
	else obj.style["MozOpacity"] = opacity/100;
}


function restarImageProjector(again) {
	if (projectingImages!=1 || again===1) {
		projectingImages=1;
		window.imageProjector_timeout=setTimeout("imageProjector()",1500);
		closeObj('product-preview-list');
		lastShownProjectedIds=-1;
	}
}
function stopImageProjector(posid,key) {
	var divObj=getObjfromIdorObj('product-preview-list');
	projectingImages=0;
	clearTimeout(window.imageProjector_timeout);
	clearTimeout(window.fadeImage_timeout);
	for (var key0 in projectorArray) {
		if (typeof key0=="string") {
			opacity=100;
			chageopacity(key0,opacity);
			//if (opacity==0)swapImage(key,image);
		}
	}
	if (typeof posid!="undefined") {
		var posObj=getAnchorPosition({object:posid});
		divObj.style.left=posObj.x+180+"px";
		divObj.left=posObj.x+180+"px";
		divObj.style.top=posObj.y+43+"px";
		divObj.top=posObj.y+43+"px";
		divObj.position='absolute';
	}
	if (typeof key!="undefined") {
		var html='<ul>';
		for (var i=0;i<projectorTextArray['productpreviewtext_'+key].length;i++) {
				html+="<li><a onmouseover=\"setProjectedLink('productpreview_"+key+"',"+i+");setProjectedImage('productpreview_"+key+"',"+i+");setProjectedText('productpreviewtext_"+key+"',"+i+");\" href=\""+projectorLinkArray['productpreviewlink_'+key][i]+"\">"+projectorTextArray['productpreviewtext_'+key][i]+"</a></li>";
		}
		html+='</ul>';
		setInnerHTML(divObj,html);
	}
	if (!isShownObj(divObj)) {
		showObj(divObj);
	}
}

function zoomCurrentProjectedImage(key,key2) {
    var defkey=lastProjectedIds[key2];
	if (lastShownProjectedIds>=0) {
		defkey=lastShownProjectedIds;
	}
    if (typeof defkey=="undefined")defkey=0;
    location.href=projectorLinkArray[key][defkey]
}

var LangTitles=new Array();
function getLangTitle(title) {
	return LangTitles[title]?LangTitles[title]:title;
}
T=getLangTitle;




var showProductObjects=new Array();
function closeAllProductObjects() {
	var len=showProductObjects.length;
	for (var i=0;i<len;i++) {
		closeObj(showProductObjects[i]);
	}
}
function showProductDetails(id) {
	closeAllProductObjects();
	showProductObjects=new Array(id);
	showObj(id);
}
function whatCorrector() {  
	var replaces = 0;  
	var alltags = document.all ? document.all.tags("A") : document.getElementsByTagName("*");  
	for (i=0; i < alltags.length; i++) {  
		if (alltags[i].className == 'whateffect') {  
			while (alltags[i].innerHTML.indexOf('##'+'kukac##') != -1 && replaces < 10000) {  
            	alltags[i].innerHTML = alltags[i].innerHTML.replace('##'+'kukac##', String.fromCharCode(64));  
            	replaces++;  
        	}  
			while (alltags[i].href.indexOf('##'+'kukac##') != -1 && replaces < 10000) {  
            	alltags[i].href = alltags[i].href.replace('##'+'kukac##', String.fromCharCode(64));  
            	replaces++;  
        	}  
    	}  
	}  
}  
