/* Kepmeretezo
** A 'selObjImg' kepet meretezi at eredeti mereterol ugy, hogy 'sizeX' szeles es 'sizeY' magas teglalapba beleferjen, a leheto legnagyobb legyen, es megtartsa az aranyait.
** Az adott kep atmeretezese csak akkor kezdodik el, ha betoltodott, lathato, es nem nulla meretu. Mar bemeretezett kepet nem meretez ujra.
** Ha olyan keppel hivjuk meg a fuggvenyt, ami nincs betoltve meg, akkor betoltese utan fog lefutni a fv.
** Ezutan fuggolegesen a doboz kozepere igazitja a kepet, ha notalign==false (opcionalis parameter, ha nem adjuk meg, kozepre igazit).
** Ha a dontGrow parameter==true, akkor a kep meretet az eredetihez kepest nem noveli; ilyenkor max-width/max-height-kent mukodik.
** A setImages a gyujtemeny, ahol az adott kepekre meghivodik a fuggveny.
*/


ImageObjResize = function(img_tag, img_width, img_height, img_notalign, img_dontgrow)
{
	return{
		_tag:img_tag,
		_width:img_width,
		_height:img_height,
		_notalign:img_notalign,
		_dontgrow:img_dontgrow
	}
}

function copyFunction(func, arg)
{
	return function()
	{
		func(arg);
	}
} 

function imageReadyToResize(objRS)
{
	setSizeImage(objRS._tag,objRS._width,objRS._height,objRS._notalign,objRS._dontgrow,true);
}

var ImageResizerPendingList = new Array();
var ImageResizerPendingParameters = new Array();


//Megvalositja a bemeretezest
function setSizeImage(selObjImg,sizeX,sizeY,notalign,dontGrow,backFromWaitingRoom)
{		
	//Az elso 3 parameter kotelezo, 4., 5. opcionalis, de ha nincs megadva, akkor false.
	if (typeof(sizeX)=="undefined" || typeof(sizeY)=="undefined")  selObjImg=null;
	if(notalign!=true) notalign=false;
	if(dontGrow!=true) dontGrow=false;
	if(backFromWaitingRoom!=true) backFromWaitingRoom=false;
	
	//a szkript torzse csak akkor fut le, ha selObjImg!=null, es a kep meg nincs bemeretezve, es a kep lathato.
	if(selObjImg!=null && imageSizerElementVisible(selObjImg) && !((selObjImg.offsetHeight==sizeY && selObjImg.offsetWidth<=sizeX) || (selObjImg.offsetHeight<=sizeY && selObjImg.offsetWidth==sizeX))){	
		//Letrehozunk egy Image objektumot, ennek a merete alapjan el tudjuk donteni, hogy a kep betoltodott-e.
		var newImagePre= new Image();
		newImagePre.src=selObjImg.src;
		//Ha nem, akkor a letrehozott Imaget belerakjuk egy globalis tombbe, es az onloadjara beallitjuk, hogy meghivja az adott parameterekkel az atmeretezot.
		if((newImagePre.height==0 || newImagePre.width==0) && !backFromWaitingRoom){
			objRS = new ImageObjResize(selObjImg, sizeX, sizeY, notalign,dontGrow);
			newImagePre.onload = copyFunction(imageReadyToResize, objRS); 
			ImageResizerPendingList.push(newImagePre);
			ImageResizerPendingParameters.push(objRS);
		}
		
		//Ha a kep be van toltve es nem nulla meretu, akkor elkezdodik a transzformacio 
		if(newImagePre.height!=0 && newImagePre.width!=0 && selObjImg.offsetHeight!=0 && selObjImg.offsetWidth!=0){
			//Meretek kiszamolasa
			var portraitHeight = newImagePre.height;
			var portraitWidth = newImagePre.width;
			while (portraitWidth < sizeX && portraitHeight < sizeY && dontGrow!=true)
			{
				portraitHeight += portraitHeight/portraitWidth;
				portraitWidth += 1;
			};
			
			while (portraitWidth > sizeX || portraitHeight > sizeY)
			{
				portraitHeight -= portraitHeight/portraitWidth;
				portraitWidth -= 1;
			};
			
			//A kerethez kozelebb levo oldal iranyaba nyujtas, hogy ne maradjon hezag.
			if (Math.abs(sizeX-portraitWidth)<Math.abs(sizeY-portraitHeight)) portraitWidth=sizeX;
			else portraitHeight=sizeY;
			
			//1px nyujtas abba az iranyba, ahol nem er vegig, ha paratlan hosszu, hogy egyenlo legyen a res a ket oldalon.
			if(portraitHeight<sizeY && parseInt(portraitHeight)%2!=0) portraitHeight++;
			if(portraitWidth<sizeX && parseInt(portraitWidth)%2!=0) portraitWidth++;
			
			//Meretek beallitasa
			selObjImg.height=portraitHeight;
			selObjImg.width=portraitWidth;
			
			//Ha notalign!=false, akkor az adott doboz kozepere igazit.
			if (portraitHeight != sizeY && notalign!=true){
				var difference = ((sizeY-selObjImg.height)/2);
				selObjImg.style.marginTop=difference+"px";
			}
		}
	}
	//ha nem null es lathato, de mar jo meretu, akkor csak kozepreigazitunk, ha notalign!=true
	else if(selObjImg!=null && imageSizerElementVisible(selObjImg))
	{
		if (selObjImg.height != sizeY && notalign!=true){
			var difference = ((sizeY-selObjImg.height)/2);
			selObjImg.style.marginTop=difference+"px";
		}
	}
	
	
}

//megmondja, hogy az elem lathato-e
function imageSizerElementVisible(jselement){
	do{
		if (jselement.style.display.toUpperCase() == 'NONE') return false;
		jselement=jselement.parentNode;
	}while (jselement.tagName.toUpperCase() != 'BODY');
	return true;
}


//Itt tortenik az elemek kikeresese, majd veluk megfelelo parameterekkel a fuggvenyek meghivasa.
function setImages()
{	var selPic;
	var selPics;
		
	//Profile Edit Avatar
	selPic = document.getElementById('avatarpictureedit'); 
	setSizeImage(selPic,100,100);
	//Profile View Avatar
	selPic = document.getElementById('userportrait'); 
	setSizeImage(selPic,124,124);
	//User Auth Avatar
	selPic = document.getElementById('loginavatarpicture');
	setSizeImage(selPic,58,58);
	//Featured Player Avatar
	selPic = document.getElementById('featuredplayeravatar');
	setSizeImage(selPic,94,94);	
	
	//Amibol tobb is van
	selPics = document.getElementsByTagName("DIV");
	for(i = 0; i < selPics.length; i++)
	{
		//IWIW
		if (selPics[i].id=="iwiwUserBox") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//User Portrait
				if (imagescontainer[j].id=="iwiwUserFriendImage") 
				{
					selPic=imagescontainer[j];
					
					setSizeImage(selPic,60,60);
				}
			}
		}
		//Call Card
		if (selPics[i].id=="CallCardUser_Holder") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//User Portrait
				if (imagescontainer[j].id=="callcard_user_portrait") 
				{
					selPic=imagescontainer[j];
					
					setSizeImage(selPic,60,60);
				}
			}
		}
		//Main-Left News
		if (selPics[i].id=="newsBoxContentMain") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Lead Image
				if (imagescontainer[j].id=="newsBoxMainImage") 
				{
					selPic=imagescontainer[j];
					
					setSizeImage(selPic,100,100,true);
				}
			}
		}
		//Media Holder
		if (selPics[i].id=="picVidMediaHolder") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="mediaContentsMediaImageId") 
				{
					selPic=imagescontainer[j];
					
					setSizeImage(selPic,105,80);
				}
			}
		}
		//Media Holder in GalleryView
		if (selPics[i].id=="picVidMediaHolderGalleryView") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="mediaContentsMediaImageId") 
				{
					selPic=imagescontainer[j];
					
					setSizeImage(selPic,105,80);
				}
			}
		}
		//Thumbnail Holder in Gallery List
		if (selPics[i].id=="galleryThmbId") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="galleryThmbImage") 
				{
					selPic=imagescontainer[j];
					setSizeImage(selPic,80,80);
				}
			}
		}
		//Profile View Latest Videos/Photos
		if (selPics[i].id=="userProfileLatestMediaContainer") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="userProfileLatestMediaThmb") 
				{
					selPic=imagescontainer[j];
					setSizeImage(selPic,90,68);
				}
			}
		}
		//Media Show
		if (selPics[i].id=="mediaShowContents") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="mediaShowImage") 
				{
					selPic=imagescontainer[j];
					setSizeImage(selPic,124,74);
				}
			}
		}
		//Forum Avatar
		if (selPics[i].id=="forumEntryUserData") 
		{
			var imagescontainer=selPics[i].getElementsByTagName("img");
			for(j = 0; j < imagescontainer.length; j++)
			{
				//Image
				if (imagescontainer[j].id=="ForumEntryAvatarImage") 
				{
					selPic=imagescontainer[j];
					setSizeImage(selPic,100,100);
				}
			}
		}
	}
	
	
	//Kep megjelenitese (Media View) (erre azert van szukseg, mert az IE6 nem tamogatja a max-widthet)
	selPic = document.getElementById('maxwidthMediaViewMain');
if(selPic != null) { 
	var tempWidth = selPic.width > 480 ? 480 : selPic.width;
	var tempHeight = selPic.width > 480 ? (480/selPic.width*selPic.height) : selPic.height;
	setSizeImage(selPic,tempWidth,tempHeight,true,true);
}
}

//Tabbed fulvaltasra is lefut a script.
function registersetImages()
{
	try{	
	registerClickOnTabSelector('567','1',setImages);
	registerClickOnTabSelector('567','2',setImages);
	registerClickOnTabSelector('567','3',setImages);
	registerClickOnTabSelector('567','4',setImages);
	registerClickOnTabSelector('567','5',setImages);
	registerClickOnTabSelector('567','6',setImages);
	registerClickOnTabSelector('2802','1',setImages);
	registerClickOnTabSelector('2802','2',setImages);
	registerClickOnTabSelector('2802','3',setImages);
	registerClickOnTabSelector('2802','4',setImages);
	registerClickOnTabSelector('3115','1',setImages);
	registerClickOnTabSelector('3115','2',setImages);
	registerClickOnTabSelector('11162','1',setImages);
	registerClickOnTabSelector('11162','2',setImages);
	}catch(e){}	
}


addLoadEvent(registersetImages);
addLoadEvent(setImages);
