	var 
		tmp  = 0, R ,G ,B ,downY , downX, presouvani = false ,
	 	maxPozicePresunu = 0 , nulovaPozice = 0 , 
		bwmapa = "bwmapa",
		meneneID = "stredniNahledLarge" ,
		offsetPosuvniku = 10,
		offsetPosuvnikuMSIE = 175,
		parametryVyrez = null,
		poziceHires = new Array(),
		nic = 0,
		tmpTridaZ_C,	
		tmpTridaZ_A,
		tmpTridaZ_L,
		tmpTridaZ_P,
		stavStahovani = 1,
		oknoProgressBar,
		oznacenaZalozkaID;
	
	function nazevProhlizece()
	{
    	var match = new RegExp("(Firefox/|Netscape/|MSIE )[\\d\\.]{0,}").exec(navigator.userAgent);
    	if (match == null) return false;
    	browserName = new RegExp("^\\w+").exec(match[0]);
    	version = parseFloat(new RegExp("\\d+\\.\\d+").exec(match[0]));
    	return browserName;
	}
	
	function nastavBarvu(barva)
	{
		tmpHex = kontrolaBarvy(barva).toString(16)	;	
		if(tmpHex.length == 1)
		{
			tmpHex = "0" + tmpHex;
		}	
		barva = "#" + tmpHex + tmpHex + tmpHex;
		if (document.getElementById(meneneID)) {
			document.getElementById(meneneID).style.backgroundColor = "#" + tmpHex + tmpHex + tmpHex ;
		}
	}
	/* nastaveni barvy onclick */
	function barvaOnClick(e)
	{
		//alert(nazevProhlizece());
		posuvnikUchopen(e,document.getElementById("posuvnikUkazatel"));
		presunuj(e,document.getElementById("posuvnikUkazatel"));
		konecPresunu(e);
	} 
	/* dragAndDrop posouvani */
	function posuvnikUchopen(e,obj)
	{
		downX = e.clientX;
		downY = e.clientY;
		nulovaPozice = document.getElementById(bwmapa).offsetLeft  ;	
		maxPozicePresunu = document.getElementById(bwmapa).offsetWidth + nulovaPozice;
		rozsahPresunu = maxPozicePresunu - nulovaPozice;
		presouvani = true;
		return false;
	}
	function presunuj(e,obj)
	{
		if(!(presouvani))
		{
			return
		}
		var newX,newY;
		if(nazevProhlizece() == "MSIE")
		{
			var offset = offsetPosuvnikuMSIE ;
		}
		else
		{
			var offset = offsetPosuvniku ;
		}
		document.getElementById(obj.id).style.left = (kontrolaPozice(e.clientX) -  offset) + "px" ;
		//alert("left " + document.getElementById("posuvnikUkazatel").offsetLeft + "," + e.clientX);
		nastavBarvu(pozice2barva(e.clientX ));
		nic = nic + 1;
		return false;
	}
	function konecPresunu(e)
	{
		presouvani = false;
		return false;
	}
	function kontrolaPozice(poziceX)
	{
		
		if(poziceX < nulovaPozice)
		{
			poziceX = nulovaPozice;
		}
		if(poziceX > maxPozicePresunu)
		{
			poziceX = maxPozicePresunu;
			konecPresunu(null);
		}
		return poziceX  - nulovaPozice;
	}
	
	function kontrolaBarvy(vstup)
	{
		var tmpV = new Number(vstup);
		var vystup = new Number(tmpV.toFixed(0));
		if(vstup > 255)
		{
			vystup = 255;
		}
		if(vstup < 0)
		{
			vystup = 0;
		}
		return vystup;
	}
	function pozice2barva(pozice)
	{
		var vystup,vstupniPozice,procenta;
		vystup = ((100 / rozsahPresunu ) *  (pozice - nulovaPozice)) * (255 /100) ;
		return 255 - vystup;
	}
	function stredniNahledAajax(objektID,akce)
	{
		ajaxRequest('/service', 'POST', {ajax:'StredniNahled', objektid:objektID , akce:akce}, null, true);
	}
	function pagerSerie(posunStranky,akce,objektID)
	{
		ajaxRequest('/service', 'POST', {ajax:'StredniNahled', posunStranky:posunStranky ,akce:akce ,objektid:objektID}, null, true);
	}
	
	function zpravaProAutora(textElementID)
	{
		ajaxRequest('/service', 'POST', {ajax:'StredniNahled', uid:document.getElementById('uIDAutor').value ,akce:'zpravaProAutora' ,text:document.getElementById(textElementID).value }, null, true);
		document.getElementById(textElementID).value = '';
	}
	
	function najdiPozici(obj)
	{
		var pozice = new Array();
		pozice['x']	= document.getElementById(obj.id).offsetLeft;
		pozice['y']	= document.getElementById(obj.id).offsetTop;
		pozice['w']	 = document.getElementById(obj.id).offsetWidth;
		pozice['h']	 = document.getElementById(obj.id).offsetHeight;
		return pozice;
	}
	
	function hodnoceniObjektu(objektID,hodnoceni)
	{
		ajaxRequest('/service', 'POST', {ajax:'UserRating', objektid:objektID , hodnoceni:hodnoceni }, null, true);
		
		//return alert("fsf");
	}	
	
	function searchSelectedKeywords() {
		var checkboxes = document.getElementsByName("searchKeywords");
		var search = "";
		
		for (i = 0; i < checkboxes.length; i++) {
			if (checkboxes[i].checked == true) {
				search += checkboxes[i].value + "+";
			}
		}
		search = search.substring(0, search.length - 1);
		window.opener.location.href = "/pictures/" + search;
		window.close();
	}
	
	function searchOneSelectedKeyword(keyword){
    window.opener.location.href = "/pictures/" + keyword;
		window.close();
  }

  
	function lightboxAdd(objID,hlaska)
	{
		try
		{
			window.opener.ajaxRequest('/service', 'POST', {ajax:'LightboxAjax', action:'add', objektID:objID }, false, false,'','','LightboxFoto');
			window.opener.ajaxRequest('/service','POST', {ajax: 'LightboxAjax', action: 'showFull', lightboxID: ''},false,false,'','','obsahLightbox');
			document.getElementById('addToLightboxMsg').innerHTML = ' - ' + hlaska;
			opener.reloadLightbox();
		}
		catch(err)
		{
			layoutAlert('systemMessage','Error');
		}
	}
	
	/* reviews funkce */
	function posliReview(objID,uID)
	{
		var text = document.getElementById('previewAdd').value;
		
		ajaxRequest('/service', 'POST', {ajax:'PridejReview', objektID:objID ,  uID:uID , text:text }, null, true,'znovuZobrazRewies',objID);
		
		return false;
	}
	function znovuZobrazRewies(xa,objID)
	{
		zobrazReviews(objID);
		return false;
	}
	function zobrazReviews(objektID)
	{
		ajaxRequest('/service', 'POST', {ajax:'NactiReviews', objektID:objektID }, null, true);
		return false;
	}
	
	/*zobrazeni loginu */
	function zobrazLogin(zobraz)
	{
		window.opener.menuZobraz(zobraz);
		window.opener.focus();
	}
	
	/* zobrazeni registracniho formulare*/
	function zobrazRegistraci()
	{
		var hlavniOkno = window.opener; 
		hlavniOkno.focus();
		hlavniOkno.location.replace('/register');
		
	}
	/***************************           Nakup objektu        ************************/
	
	/**
	* Nakup objektu. Ajaxem je zaslan pozadavek na stazeni a zavolana funkce nakupDokoncen.
	* 
	* zdrojovyElement je ID objektu , ktery vola funkci 
	*/
	function nakupObjektu(objektID,velikostID,cenikObjektID,zdrojovyElement,hash)
	{
		document.body.style.cursor = "wait";
		ajaxRequest('/service', 'POST', {ajax:'AjaxObjectDownload', objektID:objektID , velikostID:velikostID , cenikObjektID:cenikObjektID , zdrojovyElement:zdrojovyElement , hash:hash }, null, true,'nakupDokoncen',velikostID);
	}
	
	/**
	* Po skonceni ajax requestu nastavi promennou na kterou ceka okno progress baru
	*/
	function nakupDokoncen(x, velikostID)
	{
		alert(x.response);
		document.body.style.cursor = "Default";
		stavStahovani = 2;
		dUrl = 'http://www.pixmac.com/service' + urls[velikostID] + "/pass/" + hash;
		alert(dUrl);
		window.location.href = dUrl;
		hideMsgBox(true);
	}
	/******************************** konec nakupu objektu************************************/			
	
	/**
	* Prida ke kurzoru mysi obrazek 32x32 px
	*/
	function kurzorWebtoolkit()
	{
		var browser = browserDetect();
		
		if(browser['name'] == 'Opera' || browser['name'] == 'AppleWebKit')
		{
			/* Parametry ('ID elementu ,ktery aktivuje zmenu' , 'cesta k obrazku') */
			skinableCursor.init('largeImg','/image/cursor/lupa_plus.png');
		}
	}
	
	/**
	* Prepinani zalozek 
	*/
	
	/* @param int indexZalozky zalozky. */
	function oznacZalozku(indexZalozky)
	{
		if(oznacenaZalozkaID > 0)
		{
			odznacZalozku();
		}
		/*ulozeni puvodniho stylu proopetovne odznaceni*/
		tmpTridaZ_C = document.getElementById('Z_' + indexZalozky + 'C_').className;
		tmpTridaZ_A = document.getElementById('Z_' + indexZalozky + 'A_').className;
		tmpTridaZ_L = document.getElementById('Z_' + indexZalozky + 'L_').className;
		tmpTridaZ_P = document.getElementById('Z_' + indexZalozky + 'P_').className;
		/*nastaveni stylu pro oznacene zalozky*/
		document.getElementById('Z_' + indexZalozky + 'C_').className = "zalozkaCenterSelected";
		document.getElementById('Z_' + indexZalozky + 'A_').className = "zalozkaCenterSelected";
		document.getElementById('Z_' + indexZalozky + 'L_').className = "zalozkaLevySelected";
		document.getElementById('Z_' + indexZalozky + 'P_').className = "zalozkaPravySelected";
		oznacenaZalozkaID = indexZalozky;
	}
	function odznacZalozku()
	{
		/* zruseni oznaceni menu */
		document.getElementById('Z_' + oznacenaZalozkaID + 'C_').className = tmpTridaZ_C;
		document.getElementById('Z_' + oznacenaZalozkaID + 'A_').className = tmpTridaZ_A;
		document.getElementById('Z_' + oznacenaZalozkaID + 'L_').className = tmpTridaZ_L;
		document.getElementById('Z_' + oznacenaZalozkaID + 'P_').className = tmpTridaZ_P;
	}
	
	function zobrazPrvek(divID)
	{
		try
		{
			document.getElementById(divID).style.display = 'block';
			//document.getElementById(divID).className = 'zobrazenyPrvek';
		}
		catch(err)
		{
		
		}
	}
	/* nastavi vlastnost display */
	function nastavDisplay(divID,display)
	{
		try
		{
			document.getElementById(divID).style.display = display;
		}
		catch(err)
		{
		
		}
	}
	function skryjPrvek(divID)
	{
		try
		{
			document.getElementById(divID).style.display = 'none';
			//document.getElementById(divID).className = 'skrytyPrvek';
		}
		catch(err)
		{
		
		}
	}
	function zobrazSkryj (divID)
	{
		try
		{
			if(document.getElementById(divID).style.display == 'none')
			{
				zobrazPrvek(divID);
			}
			else
			{
				skryjPrvek(divID);
			}
		}
		catch(err)
		{
		
		}
	}
	function zobrazPrvky(poleID)
	{
		var x;
		for(x in poleID)
		{
			zobrazPrvek(poleID[x]);
		}
	}
	function skryjPrvky(poleID)
	{
		var x;
		for(x in poleID)
		{
			skryjPrvek(poleID[x]);
		}
	}
	/*zalozka Preview */
	function prepniImagePreview()
	{
		var skrytePrvky = new Array('stredniNahledKeywords','stredniNahledDetaily','stredniNahledHodnoceni',
		                            'zalozkaAutor');
		
		var zobrazenePrvky = new Array('stredniNahledLevySloupec','stredniNahledZalozky',
		                               'stredniNahledPreview');
		skryjPrvky(skrytePrvky);
		zobrazPrvky(zobrazenePrvky);
		oznacZalozku('1');
	}
	/*zalozka Keywords */
	function prepniKeywords(objektID)
	{
		//stredniNahledAajax(objektID,'varianty');
		var skrytePrvky = new Array('stredniNahledPreview','stredniNahledDetaily',
		                            'stredniNahledHodnoceni','zalozkaAutor');
		var zobrazenePrvky = new Array('stredniNahledLevySloupec','stredniNahledZalozky',
		                               'stredniNahledKeywords');
		skryjPrvky(skrytePrvky);
		zobrazPrvky(zobrazenePrvky);
		oznacZalozku('2');
	}
	   /* Zalozka Details */
    function prepniDetails(objektID)
    {
        var skrytePrvky = new Array('stredniNahledPreview','stredniNahledKeywords',
                                    'stredniNahledHodnoceni','zalozkaAutor');
        var zobrazenePrvky = new Array('stredniNahledLevySloupec','stredniNahledZalozky',
                                       'stredniNahledDetaily');
        
        skryjPrvky(skrytePrvky);
        zobrazPrvky(zobrazenePrvky);
        oznacZalozku('3');
        return false;
    }
	/* zalozka Reviews */
	function prepniRating(objektID)
	{
		zobrazReviews(objektID);
		var skrytePrvky = new Array('stredniNahledPreview','stredniNahledKeywords',
		                            'stredniNahledDetaily','zalozkaAutor');
		var zobrazenePrvky = new Array('stredniNahledLevySloupec','stredniNahledZalozky',
		                               'stredniNahledHodnoceni');
		skryjPrvky(skrytePrvky);
		zobrazPrvky(zobrazenePrvky);
		oznacZalozku('4');
	}
	/* Zalozka Author */
	function prepniAuthor(objektID,uid)
	{
		ajaxRequest('/service', 'POST', {ajax:'StredniNahled', objektid:objektID , akce:'zalozkaAutor' , uid:uid }, null, true);
		ajaxRequest('/service', 'POST', {ajax:'StredniNahled', objektid:objektID , akce:'autorPosledniUpolady' , uid:uid }, null, true);
		var skrytePrvky = new Array('stredniNahledPreview','stredniNahledKeywords',
		                            'stredniNahledDetaily','stredniNahledHodnoceni');
		var zobrazenePrvky = new Array('stredniNahledLevySloupec','stredniNahledZalozky',
		                               'zalozkaAutor');
		
		skryjPrvky(skrytePrvky);
		zobrazPrvky(zobrazenePrvky);
		oznacZalozku('5');
		return false;
	}
	
	function searchByAuthor(autor) {
	   opener.focus();
	   opener.location.href = '/pictures/;author:' + autor;
	}
