/*
	Tyco Picture Gallery Component - Javascript & Ajax functions
	Author: Eytan Chen
	Published: December 2007
	all rights reserved to Tyco Interactive ltd.
	http://www.tyco.co.il
*/

createNewGallery("main_gallery");

/////////////////////////////////// DO NOT CHANGE AFTER THIS //////////////////////////////////
// main gallery function for retreiving and showing picture gallery
function picture_gallery()
{
	var url = _base+"/tyco_gallery.ajax.php?action=thumbs&gallery_lang="+gallery_lang+"&gallery_id="+gallery_id+"&thumbs_count="+thumbs_count+"&thumbs_limit="+(parseFloat(thumbs_rows)*parseFloat(thumbs_perrow));
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0] && xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "Y")
		{
			current_preview = show_thumbs(xml);
			show_preview(current_preview['id'], current_preview['src']);
		}
	}
}

function show_thumbs(xml)
{
	total_thumbs = parseFloat(xml.getElementsByTagName('total_thumbs')[0].firstChild.data);

	show_next = parseFloat(xml.getElementsByTagName('show_next')[0].firstChild.data);
	show_prev = parseFloat(xml.getElementsByTagName('show_prev')[0].firstChild.data);
	html_str = "<table class='gallery_table'>";
	for (i=0; i<total_thumbs; i++)
	{
		if (i % thumbs_rows == 0) html_str += "<tr>";
		thumb_src = _base+"/picture_gallery/thumb_"+xml.getElementsByTagName('thumb_'+i+'_file')[0].firstChild.data;
		preview_src = _base+"/picture_gallery/"+xml.getElementsByTagName('thumb_'+i+'_file')[0].firstChild.data;
		fullsize_src = _base+"/picture_gallery/"+xml.getElementsByTagName('thumb_'+i+'_fullsize')[0].firstChild.data;
		preview_id = xml.getElementsByTagName('thumb_'+i+'_id')[0].firstChild.data;
		thumb_title = (xml.getElementsByTagName('thumb_'+i+'_title')[0] && xml.getElementsByTagName('thumb_'+i+'_title')[0].firstChild.data) ? xml.getElementsByTagName('thumb_'+i+'_title')[0].firstChild.data : "";
		thumb_title = replaceSubstring(thumb_title, '"', "''");
		addImage("main_gallery", thumb_src, fullsize_src, thumb_title);
		html_str += "<td><a href='"+preview_src+"' class='clean' onClick='return show_preview(\""+preview_id+"\", this.href)'>"+
					"<img class=\"bordered\" src=\""+thumb_src+"\" alt=\""+thumb_title+"\">"+
					"</a></td>";
		if (!i) { current_preview = new Array(); current_preview['src'] = preview_src; current_preview['id'] = preview_id; }
		if ((i+1) % thumbs_rows == 0) html_str += "</tr>";
	}
	for (i=i; i<(parseFloat(thumbs_perrow)*parseFloat(thumbs_rows)); i++)
	{
		if (i % thumbs_rows == 0) html_str += "<tr>";
		html_str += "<td></td>";
		if ((i+1) % thumbs_rows == 0) html_str += "</tr>";
	}
	html_str += "</table>";
	if (gallery_lang == "heb")
	{
		var _prev = "הקודם";
		var _next = "הבא";
	}
	else
	{
		var _prev = "&#171; Back";
		var _next = "Next &#187;";
	}
	if (show_next || show_prev)
	{
		if (show_next)
			html_str += "<a href='"+location.href+"?"+window.location.search.substring(1)+"' onClick='return scroll_thumbs(\"next\", this)' class='next'>"+_next+"</a>";
		if (show_prev)
			html_str += "<a href='"+location.href+"?"+window.location.search.substring(1)+"' onClick='return scroll_thumbs(\"prev\", this)' class='prev'>"+_prev+"</a>";
	}
	thumbs_mc = document.getElementById("gallery_thumbs");
	thumbs_mc.innerHTML = html_str;
	return current_preview;
}

function scroll_thumbs(scroll_to, link_obj)
{
	link_obj.disable = true;
	if (scroll_to == "next")
		thumbs_count = parseFloat(thumbs_count) +(parseFloat(thumbs_rows)*parseFloat(thumbs_perrow));
	else if (scroll_to == "prev")
		thumbs_count = parseFloat(thumbs_count) - (parseFloat(thumbs_rows)*parseFloat(thumbs_perrow));

	var url = _base+"/tyco_gallery.ajax.php?action=thumbs&gallery_lang="+gallery_lang+"&gallery_id="+gallery_id+"&thumbs_count="+thumbs_count+"&thumbs_limit="+(parseFloat(thumbs_rows)*parseFloat(thumbs_perrow));
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0] && xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "Y")
		{
			show_thumbs(xml);
		}
	}
	return false;
}

function show_preview(preview_id, preview_src)
{
	preview_mc = document.getElementById("gallery_preview");
	info_mc = document.getElementById("gallery_info");
	preview_mc.innerHTML = "&nbsp;";
	info_mc.innerHTML = "";
	html_str = "<img src='"+preview_src+"' alt=\"\">";
	var url = _base+"/tyco_gallery.ajax.php?action=preview&gallery_lang="+gallery_lang+"&id="+preview_id;
	var xml = LoadXML(url);
	if(xml != null)
	{
		if (xml.getElementsByTagName('rsp_stat')[0] && xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "Y")
		{
			preview_mc = document.getElementById("gallery_preview");
			preview_mc.innerHTML = html_str;
			html_str = "";
			var title = (xml.getElementsByTagName('title')[0] && xml.getElementsByTagName('title')[0].firstChild.data) ? xml.getElementsByTagName('title')[0].firstChild.data : "";
  		 	var size=(xml.getElementsByTagName('galsize')[0] && xml.getElementsByTagName('galsize')[0].firstChild.data) ? xml.getElementsByTagName('galsize')[0].firstChild.data : "";
			preview_text ="";
			if (title != "") preview_text += " "+title;
			if (size != "") preview_text += (preview_text != "" ? "<br>" : "" ) + "<strong>Size:</strong> "+size;

			html_str += "<div class='preview_title'>"+preview_text+"</div>";

			if (xml.getElementsByTagName('fullsize')[0] && xml.getElementsByTagName('fullsize')[0].firstChild.data != "")
			{
				fullsize_src = _base+"/picture_gallery/"+xml.getElementsByTagName('fullsize')[0].firstChild.data;
				html_str += "<a href='"+fullsize_src+"' class='full_size' onClick='return LightboxDelegate(\""+fullsize_src+"\");'></a>";
			}
			info_mc = document.getElementById("gallery_info");
			info_mc.innerHTML = html_str;
		}
	}
	return false;
}

function LightboxDelegate(url) {
   openLightBox('main_gallery', url);
   return false;
}

function getHTTPObject()
{
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	try { return new XMLHttpRequest(); } catch(e) {}
	alert("XMLHttpRequest not supported");
	return null;
 }

function LoadHTML(url)
{

	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		   if (xmlHttp.readyState != 4)  { return; }
		   var serverResponse = xmlHttp.responseText;

	}
	xmlHttp.send(null);
	return xmlHttp.responseText;
}
function LoadXML(url)
{
	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		   if (xmlHttp.readyState != 4)  { return; }
		   var serverResponse = xmlHttp.responseText;
	};
	xmlHttp.send(null);
	return xmlHttp.responseXML.documentElement;
}
