/*****************************************************************************
 *
 *  Copyright            : Copyright (C) Nico Habets
 *  Email                : nico_habets @ hotmail.com
 *	
 *  
 *  Disclaimer:
 *	Niets uit dit script mag zonder toestemming van de maker van deze
 *	scripting gekopieerd, of doorverkocht worden aan derden. De maker van deze
 *	scripting blijft ten alle tijden copyright op dit product houden. De 
 *	scripting is ter beschikking gesteld door Nico Habets.
 *	Dit programma is GEEN vrije software, en mag niet worden doorverkocht en/
 * 	of gewijzigd worden tenzij de eigenaar toestemming hiervoor heeft verleend
 *
 *****************************************************************************/

var stop_h1 = false;
var load_image = false;
var xml_loaded = false;
var images_id = new Array();
var images_url = new Array();
var keyholding = false;
var contentdiv;

function hx_to_img()
	{
	var h1 = document.getElementsByTagName("h1");
	if (h1.length > 0)
		{
		for (i = 0; i < h1.length; i++) 	
			{
			if (h1[i].style.width)	{ var style = 'height:65px; width: '+h1[i].style.width; }
			else					{ var style = 'height:65px; width: 600px'; }
			h1[i].innerHTML = '<embed style="'+style+'" type="application/x-shockwave-flash" wmode="transparent" scale="noscale" salign="l" flashvars="txt='+(h1[i].innerHTML)+'" quality="best" src="images/h1.swf">'
			}
		}
	var h2 = document.getElementsByTagName("h2");
	if (h2.length > 0)
		{
		for (i = 0; i < h2.length; i++) 	
			{
			if (h2[i].style.width)	{ var style = 'height:35px; width: '+h2[i].style.width; }
			else					{ var style = 'height:35px; width: 600px'; }
			h2[i].innerHTML = '<embed style="'+style+'" type="application/x-shockwave-flash" wmode="transparent" scale="noscale" salign="l" flashvars="txt='+(h2[i].innerHTML)+'" quality="best" src="images/h2.swf">'
			}
		}
	}

function favo_show()	{ document.getElementById('favorite_list').style.display = 'block'; setTimeout("favo_hide();",10000); }
function favo_hide()	{ document.getElementById('favorite_list').style.display = 'none'; }

function keyboardup(e)
	{
	if (!e) 		{ e = window.event; } 
	if (!e.target) 	{ e.target = e.srcElement; }
	if (!e.which) 	{ e.which = event.keyCode; }
	if (!e.target.name || e.target.name == 'image')
		{
		switch (e.which)
			{
			case 37:	if (document.getElementById("nav_backward")) 	{ document.location.href = document.getElementById("nav_backward").href; }	break;
			//case 38:	if (document.getElementById("nav_index"))		{ document.location.href = document.getElementById("nav_index").href; }		break;
			case 39:	if (document.getElementById("nav_forward"))		{ document.location.href = document.getElementById("nav_forward").href; }	break;
			case 107:	if (document.getElementById("album_image"))		{ zoom_in(); }	break;
			case 109:	if (document.getElementById("album_image"))		{ zoom_out(); }	break;
			case 187:	if (document.getElementById("album_image"))		{ zoom_in(); }	break;
			case 189:	if (document.getElementById("album_image"))		{ zoom_out(); }	break;
			}
		}
	keyholding = false;
	}
function keyboarddown(e)
	{
	if (keyholding >= 1)
		{
		if (!e) 		{ e = window.event; } 
		if (!e.target) 	{ e.target = e.srcElement; }
		if (!e.which) 	{ e.which = event.keyCode; }
		if (!e.target.name || e.target.name == 'image')
			{
			switch (e.which)
				{
				case 37:
					imgnow--;
					if (imgnow <= 0)	{ window.status = 'Begin'; imgnow = 0; loadimage(imgnow); }
					else				{ changebar(imgnow); imgbackward = imgnow-1; imgforward = imgnow+1; }
					break;
				case 39:
					imgnow++;
					if (imgnow > total)	{ window.status = 'Einde'; imgnow = total-1; loadimage(imgnow); }
					else				{ changebar(imgnow); imgbackward = imgnow-1; imgforward = imgnow+1; }
					break;
				}
			}
		}
	keyholding++;
	}

function album_toolbar(state,pos)
	{
	if (state == "on")
		{
		document.getElementById('album_toolbar').style.height = '30px';
		document.getElementById('album_toolbar_tools').style.display = 'block'; 
		}
	else
		{
		document.getElementById('album_toolbar_tools').style.display = 'none'; 
		document.getElementById('album_toolbar').style.height = '0px';	
		}
	}
function save(num)
	{
	document.location.href = 'http://www.partypassion.net/?pid=album/save&id='+images_id[num]+''
	}

function changebar(curr)
	{
	if (document.getElementById('album_bar'))
		{
		var barpos = Math.floor(curr / total * 363);
		if (barpos < 0)	{ barpos = 0; }
		document.getElementById('album_bar_thisimg').innerHTML = curr;
		document.getElementById('album_bar_thisimg').style.paddingLeft = barpos+'px';
		document.getElementById('album_bar_indicator').style.width = barpos+'px';
		}
	}

function loadimage(idornum)
	{
	if (xml_loaded == true)
		{
		total = images_id.length;
		if (idornum < 0)								{ window.status = 'Begin'; imgnow = 0; return; }
		if (idornum >= total && imgnow != "undefined")	{ window.status = 'Einde'; imgnow = total; return; }
		
		if (imgnow == "undefined")
			{
			for (var i = 0; i < images_id.length; i++)
				{
				if (images_id[i] == idornum)
					{
					imgnow = i;
					document.getElementById('album_image').src = images_url[imgnow];
					}
				}
			document.getElementById('album_bar_totalimg').innerHTML = total;
			}
		else
			{
			imgnow = idornum;			
			document.getElementById('album_image').src = images_url[imgnow];
			}
		window.status = '';
		check_img_size();
		stats_count(sid);
		loadajaxdata(images_id[imgnow],'image_count');

		imgbackward = imgnow-1;
		imgforward = imgnow+1;

		document.getElementById('album_image').alt = 'Foto '+(imgnow+1)+'/'+total+'';
		document.getElementById('source').innerHTML = 'bron: '+images_url[imgnow]+'';
		document.getElementById('reply_form').innerHTML = ''+replyurl+''+images_id[imgnow]+'.html';
		changebar(imgnow+1);

		pre_for = new Image();
		pre_for.src = images_url[imgforward];
		//pre_back = new Image();
		//pre_back.src = images_url[imgbackward];
		}
	else
		{
		var num = 0;
		var buffer;
		var xmlimages = xml.getElementsByTagName("images")[0].getElementsByTagName("image");
		for (var i = 0; i < xmlimages.length; i++)
			{
			var xmlimage_id = xmlimages[i].getElementsByTagName("id")[0].firstChild.nodeValue;
			var xmlimage_url = xmlimages[i].getElementsByTagName("url")[0].firstChild.nodeValue;

			images_id[num] = xmlimage_id;
			images_url[num] = xmlimage_url;
			num++;
			}
		xml_loaded = true;
		loadimage(idornum);
		}
	}

function importxmlalbum(id,what)
	{
	if (document.implementation && document.implementation.createDocument)
		{
		xml = document.implementation.createDocument("","",null);
		xml.async = false;
		xml.load('http://www.partypassion.net/xml/album/'+id+'.xml');
		}
	else if (window.ActiveXObject)
		{
		xml = new ActiveXObject("Microsoft.XMLDOM");
		xml.async = false;
		xml.load('http://www.partypassion.net/xml/album/'+id+'.xml');
		}
	else
		{
		window.status = "Je browser ondersteunt geen XML en/of AJAX. XML en AJAX functies zijn uitgeschakeld.";
		return false;
		}
	}

document.getElementsByClassName = function(theclass)
	{ 
	var classes=new Array();
	var num=0; 
	var objects = document.getElementsByTagName("*"); 
	for(i=0;i<objects.length;i++)
		{ 
		if(objects[i].className == theclass)
			{ 
			classes[num]=objects[i];
			num++; 
			} 
		} 
	return classes;
	} 

var stripe = function()
	{
	var table = document.getElementsByClassName("list");
	if (table[0])
		{
		var tbodies = table[0].getElementsByTagName("tbody");
		var even = true;
		var trs = table[0].getElementsByTagName("tr");
		
		for (var i = 0; i < trs.length; i++)
			{
			if (trs[i].style.display !== "none")
				{
				trs[i].onmouseover=function()
					{
					this.className += " ruled"; return false
					}
				trs[i].onmouseout=function()
					{
					this.className = this.className.replace("ruled", ""); return false
					}
				if(even && !trs[i].className)
					{
					trs[i].className += " even";
					}
				even = !even;
				}
			}
		}
	table = document.getElementsByClassName("raster");
	if (table[0])
		{
		for (var t = 0; t < table.length; t++)
			{
			var tbodies = table[t].getElementsByTagName("tbody");
			var even = true;
			var tds = table[t].getElementsByTagName("td");
	
			for (var i = 0; i < tds.length; i++)
				{
				if (tds[i].style.display !== "none")
					{
					tds[i].onmouseover=function()
						{
						this.className += " ruled"; return false
						}
					tds[i].onmouseout=function()
						{
						this.className = this.className.replace("ruled", ""); return false
						}
					if(even && !tds[i].className)
						{
						tds[i].className += " even";
						}
					even = !even;
					}
				}
			}
		}
	}

function ajaxsearch(data,pid,id)
	{
	if (data.value.length > 0)
		{
		divid = "content";
		loadajaxdata(data.value,"search");
		hx_to_img();
		stripe();
		}
	else
		{
		divid = "ajax";
		document.getElementById("content").innerHTML = contentdiv;
		}
	}

function zoom_in()
	{
	var width = document.getElementById('album_image').width;
	document.getElementById('album_image').width = (width * 1.2);
	check_img_size();
	}
function zoom_out()
	{
	var width = document.getElementById('album_image').width;
	document.getElementById('album_image').width = (width * 0.8);
	}

function email(first,second,name)
	{
	document.write('<a href=\"mailto:')
	document.write(first+'@'+second+'\">')
	document.write(name+'</a>')
	}

function check_img_size()
	{
	if (document.getElementById('album_image'))
		{
		var img = document.getElementById('album_image');
		if (img.width > 675)
			{
			img.width = 675;	
			}
		}
	if (document.getElementById('image_list'))
		{
		var table = document.getElementById('image_list');
		var imgs = table.getElementsByTagName("img");
		for (var i = 0; i < imgs.length; i++)
			{
			var img = imgs[i];
			if (img.width > 120)	{ img.width = 120;}
			}
		}
	}

function changemenuimg(img,state)
	{
	if (img.className != "active")
		{
		switch(state)
			{
			case "over":
				img.src = 'images/menu/over/'+img.name+'.jpg';
				break;
			case "off":
				img.src = 'images/menu/'+img.name+'.jpg';
				break;
			}
		}
	}

menuhover = function()
	{
	if (document.getElementById("menu"))
		{
		var mhover = document.getElementById("menu").getElementsByTagName("li");
		for (var i=0; i<mhover.length; i++)
			{
			mhover[i].onmouseover=function()
				{
				var imgs = this.getElementsByTagName("img");
				changemenuimg(imgs[0],"over");
				
				var allsub = document.getElementById("submenu").getElementsByTagName("div");
				for (var j=0; j<allsub.length; j++)
					{
					allsub[j].style.display = 'none';
					}

				var subid = this.id.replace("main", "sub");
				var submenu = document.getElementById(subid);
				if (submenu)
					{
					submenu.style.display = 'block';
					}
				}
			mhover[i].onmouseout=function()
				{
				var imgs = this.getElementsByTagName("img");
				changemenuimg(imgs[0],"off");
				}
			}
		}
	}

function loadsite()
	{
	menuhover();
	hx_to_img();
	stripe();
	if (load_image == true)
		{
		loadimage(imgstart);	
		}
	contentdiv = document.getElementById("content").innerHTML;
	check_img_size();
	
	if (document.getElementById('gaction'))
		{
		document.getElementById('gaction').value='re';
		}
	}

document.onkeyup = keyboardup;
document.onkeydown = keyboarddown;
window.onload = loadsite;
