// JavaScript Document

var autoResize = false;
var autoResizeTimer = null;

var busyResizing = false;

var jSiteStructure = null;

$(document).ready(
	function()
	{
		//$.post('admin/loadstructure.php',null,siteStructureLoaded,'html');
		$.ajax(
		  {
        type:'get',
        url:'/admin/loadstructure.php?hide_deleted=1',
        dataType:'xml',
        async:false,
        success:siteStructureLoaded,
        error:function(xml,textStatus,errorThrown)
          {
            alert('ERROR: ' + textStatus + "," + errorThrown);          
          }
      }	
		)
		
		$(window).resize(
			function()
			{
				if(autoResize==false && busyResizing==false)
				{
					autoResize = true;
					if(autoResizeTimer!=null)
						clearInterval(autoResizeTimer);
						
//					alert("ending resize interval");						
				}
				doSize();
			}
		)
		ShowImage(false);
		
		autoResizeTimer = setInterval('doSize(true)',2000);
	}
)
function doSize(timedResize)
{
//	alert("doResize");
	if(timedResize)
		busyResizing = true;
		
	RepositionPolaroids();
	ResizeSiteFrame();
	
	if(timedResize==true)
		setTimeout("busyResizing = false;",500);
}
function RepositionPolaroids()
{
	var main_offset = $('#main').offset();
	var main_width  = $('#main').width();
	
	var polaroid_top 	= main_offset.top
	var polaroid_left = main_offset.left + main_width;
	
//	alert("offset: " + offset.left + ", " + offset.top);
	$('#polaroids_div').css({top:polaroid_top,left:polaroid_left});
}
function ResizeSiteFrame()
{
	var fullHeight = $(window).height();
	var headerHeight = $('#site_header').height();
	var siteOffset = $('#fullpage').offset();
	var footerHeight = $('#site_footer').height();
	var frameHeight = fullHeight - 2*10 - headerHeight - footerHeight;
//	alert("leftover: " + frameHeight);
	
	$('#site_nav').css({height:frameHeight});
	$('#main').css({height:frameHeight});
	$('#main_frame').css({height:frameHeight});
	$('#fullpage').css({height:frameHeight+headerHeight});
	$('#site_footer').css({left:siteOffset.left,top:siteOffset.top + headerHeight + frameHeight});
	

}
function generateSiteNavigation()
{	
	var buttonDefs = new Array();
	
	var jPages = jSiteStructure.children();
	for(var i=0;i<jPages.length;i++)
	{
		buttonDefs.push({title:getPageTitle(jPages.eq(i)),url:'pages/page.php',page_id:jPages.eq(i).attr('id')});	
	}
	
	var siteNavHTML = createSiteButtonsHTML(buttonDefs);
	
	siteNavHTML += '<div id="language_buttons">Taal / Language<div id="language_button_NL" class="language_button_normal">&nbsp;</div><div id="language_button_EN" class="language_button_normal">&nbsp;</div></div>';

	
	$('#site_nav').html(siteNavHTML);
	
	$('#site_nav div.nav_button').click(
		function(e)
		{
			var jThis = $(this);
			var MD = $(this).metadata();
			openInDIV(MD.url_to_use);
		}
	)
	
	$('#language_button_EN').click(
	  function()
	  {
      setLanguage('EN');	   
    }
  ).hover(
    function()
    {
      $(this).addClass('language_hover');      
    },
    function()
    {
      $(this).removeClass('language_hover');      
    }
  )
  
  $('#language_button_NL').click(
	  function()
	  {
      setLanguage('NL');	   
    }
  ).hover(
    function()
    {
      $(this).addClass('language_hover');      
    },
    function()
    {
      $(this).removeClass('language_hover');      
    }
  )
  
  if(top.siteLanguage=='EN')
    $('#language_button_EN').addClass('language_selected');
  else
    $('#language_button_NL').addClass('language_selected');
	
	RepositionPolaroids();
	ResizeSiteFrame();
}
function getPageTitle(jNode)
{
  if(top.siteLanguage=='EN')
    return jNode.attr('title_EN');
  else
    return jNode.attr('title');
}
function setLanguage(lang)
{
  $.post('set_language.php',{lang:lang},setLanguageReady);
}
function setLanguageReady()
{
  //location.reload();
  //history.go(0);
  //top.location.href=top.location.href
  top.location.reload();
}
function siteStructureLoaded(xml,success)
{
	var jXML = $(xml);
	//alert('xml: ' + jXML.length);
	jSiteStructure = jXML.find('page[code=SITE]');
  //alert('struct: ' + jSiteStructure.length);
  
	generateSiteNavigation();
	
	$('div.nav_button').eq(0).click();
}

function createSiteButtonHTML(title,url,color,page_id)
{
	var buttonHTML = '<div class=\'nav_button {url_to_use:"' + url + '?headline_color=' + escape(color) + '&superId=' + escape(page_id) + '"}\' style=\'background-color:' + color + '\' >' + title + '</div>';
	
	return buttonHTML;
}
function createSiteButtonsHTML(buttonDefs)
{
	var siteNavHTML = "<div id='nav_buttons_all'>";

  //alert('should create buttons:' + buttonDefs.length);	
	//'#d07539','#591D2F'
	var RStart = 0xd0;
	var GStart = 0x75;
	var BStart = 0x39;
	
	var RStop = 0x8b;
	var GStop = 0x2a;
	var BStop = 0x47;
	
	var RStep = (RStop-RStart)/(buttonDefs.length-1);
	var GStep = (GStop-GStart)/(buttonDefs.length-1);
	var BStep = (BStop-BStart)/(buttonDefs.length-1);
	
	var curR = 0;
	var curG = 0;
	var curB = 0;	
	var hexValue = '';
	for(i=0;i<buttonDefs.length;i++)
	{
		curR = Math.round(RStart+RStep*i);
		curG = Math.round(GStart+GStep*i);
		curB = Math.round(BStart+BStep*i);	
		hexValue = num2hex(new Array(curR,curG,curB));
//		alert("R: " + curR + " G: " + curG + " B: " + curB);

    if(buttonDefs[i].title!='')
		  siteNavHTML += createSiteButtonHTML(buttonDefs[i].title,buttonDefs[i].url,hexValue,buttonDefs[i].page_id);
	}
/*	siteNavHTML += createSiteButtonHTML('Over CCI','pages/aboutus.php','#c54d35');
	siteNavHTML += createSiteButtonHTML('Ons Project','pages/project.php','#c03c36');
	siteNavHTML += createSiteButtonHTML('???','pages/home.php','#af303c');
	siteNavHTML += createSiteButtonHTML('Contact','pages/contact.php','#591D2F');*/	
	siteNavHTML += "</div>";
	return siteNavHTML;
}
function clickPolaroid(theURL)
{
	$('#image_viewer_img').unbind("load").load(
		function()
		{
			ShowImage(true);
		}
	)
	$('#image_viewer_img').attr("src",theURL).css({'z-index':100000});
	$('#image_viewer_div').unbind("click").click(
		function(e)
		{
			ShowImage(false);
		}
	);
}
function openInDIV(url)
{
  $('div#main_frame').load(url,null,
    function()
    {
      
    }
  )
  
	//top.main_frame.location.href = url;  
}
