 /*
JavaScript Images Gallery Generator
(c) Lukas Michna, 2004 - 2008
    e-mail: lukas.michna@post.cz

THIS IS NOT FREEWARE. YOU CANNOT USE THIS CODE WITHOUT PRIOR WRITTEN PERMISSION OF THE AUTHOR!
*/
 
 var gVersion="1.4";
 var gInfo="JavaScript gallery generator, version "+gVersion+" - IE6 and Mozilla 1.6 compatible";
 var wImgsNr=0;
 var tImgsNr=0;
 var rImgsNr=0;
 
 //*******************************************************************
 //				          begin GenGallery							//
 //*******************************************************************
 function genGallery(ownID,      //ID galerie - string
 					parentID,   //ID nadrazeneho prvku - string
 					elmStyle,   //nazev stylu - className - string
 					startIndex, //pocatecni hodnota - integer
 					numImgs,    //kolik je obrazku - integer
 					numZeros,   //kolik je pred indexem nul - integer
 					thumbBeforeStr,  
 								//co je v nazvu nahledu pred indexem 
 							    //(vcetne cesty)- string
 					thumbAfterStr,   
 								//co je v nazvu nahledu za indexem - string
 					imgBeforeStr,
 								//co je v nazvu obrazku pred indexem - string
 					imgAfterStr, 
 								//co je v nazvu obrazku za indexem
 					imgType)   //jaka je pripona - string
 					
 {
 	if (!document.getElementById(ownID)) 
 	//pokud ownID neexistuje...
 	{
 		ownID="gallery"+Math.round(Math.random()*1000);
 		var tObj=document.createElement("div");
 		tObj.setAttribute("id",ownID);
 		//status="objekt vytvoren - id: "+ownID;
 		//nyni ownID musi existovat - ted ho napojime
 		//parentID nas zajima jen tehdy, neexistuje - li ani ownID
 		if (!document.getElementById(parentID) | parentID=="" | parentID==null)
 		{
 			document.body.appendChild(tObj);
 		}
 		//pokud neexistuje nebo neni definovan parentID, napoj ownID na BODY
 		else
 		{
 			document.getElementById(parentID).appendChild(tObj);
 		}
 		//jinak ownID napoj na parentID
 		//ownID nyni existuje a je napojeno na dokument
 	}
 	else
 	{}
 	//pokud generujeme galerii do jiz existujiciho elementu 
 	//(tedy ownID existuje v okamziku zadani, do niceho 
 	//nebudeme drbat...
 	if (elmStyle!="")
 	{
 		document.getElementById(ownID).className=elmStyle;
 	}
 	//mame - li definovany styl, pouzijeme ho
 
 	if(!startIndex | startIndex=="" | startIndex==null)
 	{
 		var startIndex=1;
 	}
 	
 	if(!numImgs | numImgs=="" | numImgs==null)
 	{
 		var numImgs=0;
 	}
 	
 	if(!numZeros | numZeros=="" | numZeros==null)
 	{
 		var numZeros=0;
 	}
 	
 	if(!imgType | imgType=="" | imgType==null)
 	{
 		var imgType="jpg";
 	}
 	
 	for (var i=startIndex; i<=(startIndex+(numImgs-1)); i++)
 	{
 		var iPath=genImgName(imgBeforeStr,imgAfterStr,
					 numZeros,i,imgType);
 		var tPath=genThumbName(thumbBeforeStr,thumbAfterStr,
					 numZeros,i,imgType);
 		genImgAnch(ownID, tPath, iPath);
		//tady se nam generuje odkaz s obrazkem
 	}   
	document.getElementById(ownID).about=about; 	
 }
 //*******************************************************************
 //				          end GenGallery							//
 //*******************************************************************
 
  
 //*******************************************************************
 //				          begin GenZerosStr							//
 //*******************************************************************
 function genZerosStr(numZeros, //kolik nul chci mit pred indexem
 					 actIndex) //jaky je aktualni index
 							   //vygeneruje potrebny pocet nul 
 							   //v zavislosti na aktualnim indexu
 {
 	var temp=actIndex.toString().length-1;
 	//tzn. u jednotek se pocet nul nesnizi, u desitek se snizi o 1,
 	//u stovek o 2... 
 	var zeros="";
 	//string, do ktereho generujeme nuly
 	for (var i=1; i<=numZeros-temp; i++)
 	{
 		zeros+="0";
 	}
 	//status=zeros;
 	return zeros;
 	//pozor, vrati jen nuly, ne upravene cislo!
 }	
 //*******************************************************************
 //				          end GenZerosStr							//
 //*******************************************************************
 
 
 //*******************************************************************
 //				          begin genImgAnch							//
 //*******************************************************************
 function genImgAnch(objID,     //id objektu, kam generujeme galerii
 				thumbPath, //cesta k nahledum
 				imgPath)    //cesta k obrazkum
 				//do elementu objID vygeneruje odkazy s nahledy
 {
 	if (document.getElementById(objID))
 	{
 		var tempImg=document.createElement("img");
 		tempImg.setAttribute("src", thumbPath);
 		tempImg.setAttribute("alt", tempImg.getAttribute("src"));
 		tempImg.style.border="none";
 		tempImg.style.margin="2px";
 				
 		var tempA=document.createElement("a");
 		document.getElementById(objID).appendChild(tempA);
 		tempA.setAttribute("href", imgPath);
 		tempA.setAttribute("target", "_blank");
 		
 		tempA.appendChild(tempImg);
		isWide(tempImg)?wImgsNr+=1:tImgsNr+=1;
		return tempA;
 	}
 }
 //*******************************************************************
 //				          end genImgAnch							//
 //*******************************************************************

 
 //*******************************************************************
 //				          begin genImgName							//
 //*******************************************************************
 function genImgName(imgBeforeStr,
 					 imgAfterStr,
					 numZeros,
					 imgIndex,
 					 imgType)
{
	   	var imgPath="";
 		imgPath+=imgBeforeStr;
 		imgPath+=genZerosStr(numZeros, imgIndex);
 		imgPath+=imgIndex;
 		imgPath+=imgAfterStr;
 		imgPath+=".";
 		imgPath+=imgType;
 		
 		return imgPath; 
}
 //*******************************************************************
 //				          end genImgName							//
 //*******************************************************************


 //*******************************************************************
 //				          begin genThumbName      					//
 //*******************************************************************
function genThumbName(thumbBeforeStr,  
 					  thumbAfterStr,
					  numZeros,
					  imgIndex,
 					  imgType)
{		
		var thumbPath;
		thumbPath="";
 		thumbPath+=thumbBeforeStr;
 		thumbPath+=genZerosStr(numZeros, imgIndex);
 		thumbPath+=imgIndex;
 		thumbPath+=thumbAfterStr;
 		thumbPath+=".";
 		thumbPath+=imgType;
 	
		return thumbPath;
}	
 //*******************************************************************
 //				          end genThumbName							//
 //*******************************************************************


 //*******************************************************************
 //				          begin isWide   							//
 //*******************************************************************
function isWide(obj)
{
	if(obj)
	{
		return (obj.width>obj.height)?true:false;
	}
}
 //*******************************************************************
 //				          end isWide    							//
 //*******************************************************************

 
 //*******************************************************************
 //				          begin isTall   							//
 //*******************************************************************
function isTall(obj)
{
	if(obj)
	{
		return (obj.width<obj.height)?true:false;
	}
}
 //*******************************************************************
 //				          end isTall    							//
 //*******************************************************************

 
 //*******************************************************************
 //				          begin isRect  							//
 //*******************************************************************
function isRect(obj)
{
	if(obj)
	{
		return (obj.width==obj.height)?true:false;
	}
}
 //*******************************************************************
 //				          end isRect							    //
 //*******************************************************************
 
function about()
{
  document.write("<i>JavaScript Images Gallery Generator v. "+gVersion+"<br>© Lukas Michna, 2004 - 2008<br><b>e-mail: lukas.michna@post.cz</i><br><div style=\"color:red\">THIS IS NOT FREEWARE. YOU CANNOT USE THIS CODE WITHOUT PRIOR WRITTEN PERMISSION OF THE AUTHOR!</div></b>");
}