

function ptab_mouseout_sel(imgid)
{
	swap_image(imgid,GFXURL+'/web/prod/'+imgid+'-sel.png');
}

function ptab_mouseout_unsel(imgid)
{
	swap_image(imgid,GFXURL+'/web/prod/'+imgid+'.png');
}


function change_tab(tab) 
{
	var showdiv = 'div'+tab;
	if (showdiv == 'divtab_overview')
		show('divtab_overview');
	else
		hide('divtab_overview');
	if (showdiv == 'divtab_specs')
		show('divtab_specs');
	else
		hide('divtab_specs');
	if (document.getElementById('divtab_downloads'))
	{
		if (showdiv == 'divtab_downloads')
			show('divtab_downloads');
		else
			hide('divtab_downloads');
	}
	if (document.getElementById('divtab_components'))
	{
		if (showdiv == 'divtab_components')
			show('divtab_components');
		else
			hide('divtab_components');
	}
	if (document.getElementById('divtab_reviews'))
	{
		if (showdiv == 'divtab_reviews')
			show('divtab_reviews');
		else
			hide('divtab_reviews');
	}
	if (document.getElementById('divtab_video'))
	{
		if (showdiv == 'divtab_video')
			show('divtab_video');
		else
			hide('divtab_video');
	}
	if (document.getElementById('divtab_demo'))
	{
		if (showdiv == 'divtab_demo')
			show('divtab_demo');
		else
			hide('divtab_demo');
	}
	
	var oldimg_id = curtab;
	var newimg_id = tab;
	if (funcref_sel)
	{
		rem_event(oldimg_id,'mouseout',funcref_sel);
		funcref_sel =null;
	}
	if (funcref_unsel)
	{
		rem_event(newimg_id,'mouseout',funcref_unsel);
		funcref_unsel =null;
	}
	funcref_sel = function() {ptab_mouseout_sel(newimg_id);};
	funcref_unsel = function() {ptab_mouseout_unsel(oldimg_id);};
	change_event(newimg_id,'mouseout',funcref_sel);
	change_event(oldimg_id,'mouseout',funcref_unsel);
	swap_image(oldimg_id,GFXURL+'/web/prod/'+curtab+'.png');
	swap_image(newimg_id,GFXURL+'/web/prod/'+tab+'-over.png');
	curtab =tab;
}


function mini_over(idx)
{
	var thumb = 'minithumb_'+idx;
	set_opacity(thumb,100);
}

function mini_out(idx)
{
	var thumb = 'minithumb_'+idx;
	if (idx != cur_idx)
	{
		set_opacity(thumb,60);
	}
}

function change_image(idx)
{
	var oldthumb = 'minithumb_'+cur_idx;
	set_opacity(oldthumb,50);
	var newthumb = 'minithumb_'+idx;
	set_opacity(newthumb,100);
	cur_idx = idx;
	document.getElementById('prod_image').src=prod_images[idx];
	document.getElementById('zoom_image').src=large_images[idx];
}

function begin_zoom(e,zoom_id,replace_id)
{
	if (zooming)
		return;
	
	zoom_container_id = zoom_id;
	if (!zoom_container_id)
		zoom_container_id = 'prodzoom_container';	
	
	zoom_replace_id = replace_id;
	if (!zoom_replace_id)
		zoom_replace_id = 'prodinfo_container';
		
	var prod_image = document.getElementById('prod_image');
	var zoom_control = document.getElementById('zoom_control');
	var zoom_image = document.getElementById('zoom_image');

	document.getElementById(zoom_replace_id).style.display='none';
	document.getElementById(zoom_container_id).style.display='';
	zoom_control.style.display='';
	
	zoom_ratio_w = zoom_image.offsetWidth/prod_image.offsetWidth;
	zoom_ratio_h = zoom_image.offsetHeight/prod_image.offsetHeight;
	zoom_control.style.width = (Math.round(prod_image.offsetWidth/zoom_ratio_w))+'px';
	zoom_control.style.height = (Math.round(prod_image.offsetHeight/zoom_ratio_h))+'px';
	zooming =true;
}

function end_zoom(e)
{
		zooming =false;
		document.getElementById(zoom_replace_id).style.display='';
		document.getElementById(zoom_container_id).style.display='none';
		document.getElementById('zoom_control').style.display='none';
}

function do_zoom(e)
{
	if (!zooming)
		return;
		
	var prod_image = document.getElementById('prod_image');
	var zoom_control = document.getElementById('zoom_control');
	var zoom_image = document.getElementById('zoom_image');
	var event_container = document.getElementById('zoom_events');
	
	var w = prod_image.offsetWidth;
	var h = prod_image.offsetHeight;
	var isIE = !!document.all && !!window.attachEvent && !window.opera;

	var markerWidth = zoom_control.offsetWidth;
	var markerHeight = zoom_control.offsetHeight;

	var imgLeft = prod_image.offsetLeft;
	var imgTop = prod_image.offsetTop;
	
	var imgPos = getElementPos(prod_image);
	var pos = getEventMousePos(prod_image, e);


	if (e.srcElement && isIE) {
		if (e.srcElement != event_container) {
			var zoomImgPos = getElementPos(e.srcElement);
			pos.x -= (imgPos.x - zoomImgPos.x);
			pos.y -= (imgPos.y - zoomImgPos.y);
		}
	}


	var x = markerWidth/2;
	var y = markerHeight/2;


	if (pos.x < x) pos.x = x;
	if (pos.x > w-x) pos.x = w-x;
	if (pos.y < y) pos.y = y;
	if (pos.y > h-y) pos.y = h-y;

	var left = ((pos.x - x)|0);
	var top = ((pos.y - y)|0);

	zoom_control.style.left = left + "px";
	zoom_control.style.top = top + "px";

	zoom_image.style.left = -((pos.x*zoom_ratio_w - zoom_container_width/2)|0)+"px";
	zoom_image.style.top = -((pos.y*zoom_ratio_h - zoom_container_height/2)|0)+"px";	
	
}

var zooming =false;
var cur_idx =0;
var zoom_ratio_w =1;
var zoom_ratio_h =1;
var zoom_container_width =300;
var zoom_container_height =300;
var zoom_container_id =null;
var zoom_replace_id =null;
var funcref_sel =null;
var funcref_unsel =null;
var curtab = null;
var num_images =0;
var prod_images;
var large_images;
var prices;