var accordions = {};
var accordionIdPrefix = "accord_";
var accordionSpeed = 400;   //menu nyilas/zarodas millisecben
var accordionCookie = 'accordion_cookie'; //ezen a neven mentjuk az accordionok allapotat

var accordionButtonIdPrefix = "accbtn_";
var accordionWrapIdPrefix = "accwrp_";
var accordionBackButtonIdPrefix = "accbckbtn_";

$(document).ready(function(){
  // Handler for .ready() called.
  //    innen lehet hívni minden olyan funkciot, ami pageload-kor kell fusson
  
  
  prepareAccordions();
  prepareTubeVideos();
  prepareImageCanvases();
});



function printpage()
{
	
	//kinyit összes accordiont
	//window.print();
	//visszaállít eredetibe..
	
	$(".accordion_wrap").show();
	$(".accordion_btn").hide();
	$(".accordion_bck_btn").hide();
	window.print();
	
	$(".accordion_wrap").hide();
	$(".accordion_btn").show();
	$(".accordion_bck_btn").show();
	if(prevAccordion == -1)
	{
		$("#accwrp_" + prevAccordion).show();
		$("#accbckbtn_" + prevAccordion).show();
		$("#accbtn_" + prevAccordion).hide();
	}
	return false;
}


function prepareImageCanvases()
{
	$('.imgblock_canvas_btn').click(function (e){
		var canvId = getCanvasIdFromButtonId($(this).attr("id"));
		$(this).siblings().children().removeClass('actv');
		$(this).children().addClass('actv');
		
		$("#imageblock_canv_"+canvId).attr("style", "background: url("+ $(this).attr("href") +") center center no-repeat;");
		//style="background: url(/kelen//files/images/images.jpg) center center no-repeat;"
		return false;
	});
}
function getCanvasIdFromButtonId(buttonId)
{
	//imgblock_canv_1_3
	return buttonId.split("_")[2];
}


function prepareTubeVideos()
{
   var first = true;
   $(".tubeBox").each(function() {
		//if(first)
		//{
		//	first = false;	//actv
		//	$(this).find('.youtubebtn').addClass('actv');
		//}
		$(this).click(function(){
			
			var trg = $(this).attr("href");
			if(trg != $("#youtubeiframe").attr("src"))
			{
				$("#youtubeiframe").attr("src", trg);
			}
			$(".tubeBox").each(function()
							   {
				$(this).find('.youtubebtn').removeClass('actv');
			});
			$(this).find('.youtubebtn').addClass('actv');
			return false;
	   })
  })
}
var prevAccordion = -1;
function prepareAccordions()
{
	var index = 0;
	var label = lang == 0 ? "részletek":"details";
	var backlabel = lang == 0 ? "vissza":"hide";
	$(".accordion_wrap").each(function() {
		var curBtnId = accordionButtonIdPrefix+index;
		var curBckBtnId = accordionBackButtonIdPrefix+index;
		
		$(this).attr("id", accordionWrapIdPrefix+index);
		//lehet <a> kéne...
		$(this).before('<a id="'+curBtnId+'" class="accordion_btn" href="#">'+label+'</a>');
		$(this).append('<a id="'+curBckBtnId+'" class="accordion_bck_btn" href="#">'+backlabel+'</a>');
		
		$(this).hide();
		
		//open button
		$("#"+curBtnId).click(function(){
			
			var curid = getWrapIdFromButtonId($(this).attr("id")).slice(7);
			
			
			if(prevAccordion != -1 && $(this).attr("id") != (accordionButtonIdPrefix + prevAccordion))
			{
				var accordid = "#" + getWrapIdFromButtonId($(this).attr("id"));
				$(accordid).slideDown(accordionSpeed);
				if((prevAccordion*1) < (curid*1))
				{
					var h = $("#" + accordionWrapIdPrefix + prevAccordion).outerHeight();
					var destination = $("html").scrollTop() - h;
					$("html").animate({ scrollTop: destination}, accordionSpeed );
				}
				var prevOpnBtnId = "#" + accordionButtonIdPrefix + prevAccordion;
				//var h = $("#" + accordionWrapIdPrefix + prevAccordion).outerHeight();
				//var destination = $("html").scrollTop() - h;
				//$("html").animate({ scrollTop: destination}, accordionSpeed );
				$("#" + accordionWrapIdPrefix + prevAccordion).slideUp(accordionSpeed, function() {
						//accordions[currentId] = false;
						//writeAccordionCookie();
						$(prevOpnBtnId).slideDown(accordionSpeed/2);
					});
				
				
			}
			else
				$("#" + getWrapIdFromButtonId($(this).attr("id"))).slideDown(accordionSpeed);
				
			$(this).hide();
			
			prevAccordion = curid;
			
			return false;
		});
		
		$("#"+curBckBtnId).click(function(){
			
			prevAccordion = -1;
			$("#" + getWrapIdFromBackButtonId($(this).attr("id"))).slideDown(accordionSpeed);
			//$(this).hide();
			var openButtonId = "#" + accordionButtonIdPrefix + $(this).attr("id").substr(accordionBackButtonIdPrefix.length);
				var h = $("#" + getWrapIdFromBackButtonId($(this).attr("id"))).outerHeight();
				var destination = $("html").scrollTop() - h;
				$("html").animate({ scrollTop: destination}, accordionSpeed );
			$("#" + getWrapIdFromBackButtonId($(this).attr("id"))).slideUp(accordionSpeed, function() {
				//accordions[currentId] = false;
				//writeAccordionCookie();
				$(openButtonId).slideDown(accordionSpeed/2);
			});
			
			return false;
		});
		index++;
	});
	//alert(index);
	/*
	var destination = $(elementClicked).offset().top;
   $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-20}, 500 );
	*/
	//ha kapott indexet, akkor..
	/*$(".content_block").each(function() {
		var accordion = $(this).find('.accordion_wrap');
		if(accordion)
		{
			//ok, van benne
		}
	});*/
}


function getWrapIdFromButtonId(buttonId)
{
	return accordionWrapIdPrefix + buttonId.substr(accordionButtonIdPrefix.length);
}
function getWrapIdFromBackButtonId(buttonId)
{
	return accordionWrapIdPrefix + buttonId.substr(accordionBackButtonIdPrefix.length);
}
function __prepareAccordions()
{
	readAccordionCookie();
	//$(".subnav").hide(); //alapbol display:none-on vannak
    //esetleg cookiba menthetnenk, hogy ki volt nyitva es azt itt nyitjuk ki
    var i = 0;
    $("li:has(.subnav)").each(function() {
        var currentId = accordionIdPrefix + i;
        $(this).attr("id", currentId);
        
		//ha (cookie alapjan) mar van erteke, akkor megjelenitjuk
		if(accordions[currentId])
			$(this).children("ul").show();
        else
			accordions[currentId] = false;  //csukva
        
        //  if it is-> open and set accordions[currentId] = true;
        
        $(this).children("a:first").click(onAccordionClick);
        i++;
    });
}

/**
 * jelenleg animálódó elemre klikkelve nem történik semmi: nem okoz hibát,
 * de animáció közben történő click elvész, nincs hatása
 * todo: estleg implementalni egy megszakító, visszafordító clicket, bár kb nincs jelentősége
 */
function onAccordionClick()
{
    var currentId = $(this).parent().attr("id");
    //find ul child
    var subnav = $(this).parent().children("ul");
    
    if(accordions[currentId])
    {
        subnav.slideUp(accordionSpeed, function() {
            accordions[currentId] = false;
		//	writeAccordionCookie();
        });
    }
    else
    {
        subnav.slideDown(accordionSpeed, function() {
            accordions[currentId] = true;
		//	writeAccordionCookie();
        });
    }
    
    //<a> mukodesenek megszakitasa
    return false;
}

function readAccordionCookie()
{
	var cookieValue = $.cookie(accordionCookie);
	//alert(cookieValue);
	if(cookieValue != null)
	{
		var pairs = cookieValue.split("|");
		for(var pairIndex = 0; pairIndex < pairs.length; pairIndex++)
		{
			//alert(pairs[pairIndex]);
			var valuePair = (pairs[pairIndex]).split(":");
			var id = accordionIdPrefix + valuePair[0];
			var state = valuePair[1] == "1";
			
			accordions[id] = state;
		}
	}
}
function writeAccordionCookie()
{
	var rawCookieValue = [];
	for(var accordionId in accordions)
	{
		var numId = accordionId.substring(accordionIdPrefix.length);
		var strState = accordions[accordionId] ? 1:0;
		rawCookieValue.push(numId + ":" + strState);
	}
	var cookieValue = rawCookieValue.join("|");
	$.cookie(accordionCookie, cookieValue, { expires: 7 });
}
