/*
JavaScript Gallery
Copyright (C) 2008 Aptus s.c.
All rights reserved
*/

var jsgId='JSgallery';
var jsgImgPath='/i/';
var jsgDefaultId='jsg';

var jsgOldOnResize, jsgOldOnScroll;
var jsgActive=null;
var jsgGalleries=[];
var jsgCallback=false;
var jsgSrc;

function jsgMove()
{
	var e=document.getElementById(jsgId+'_window');
	if(e) {
		var es=e.style;
		var mx=document.body.scrollLeft;
		var my=document.body.scrollTop;
		var cx=document.body.clientWidth;
		var cy=document.body.clientHeight;

		var x=Math.floor(cx/2-e.offsetWidth/2)+mx;
		var y=Math.floor(cy/2-e.offsetHeight/2)+my;
//		alert('my: '+my+' cy: '+cy+' offsetHeight: '+e.offsetHeight+' y: '+y);
		if(y<0)
			y=0;
		if(x<0)
			x=cx-e.offsetWidth;
		es.marginLeft=x+'px';
		es.marginTop=y+'px';
	}
}

function jsgOnScroll(e)
{
	jsgMove();
	if(jsgOldOnScroll)
		jsgOldOnScroll(e);
}

function jsgResize()
{
	var e=document.getElementById(jsgId);
	if(e) {
		var es=e.style;
		if(es.display!='none') {
			es.display='none';
			es.width=document.body.scrollWidth+'px';
			es.height=(document.body.scrollHeight>document.body.clientHeight ? document.body.scrollHeight : document.body.clientHeight)+'px';
			es.display='';
		}
		jsgMove();
	}
}

function jsgOnResize(e)
{
	jsgResize();
	if(jsgOldOnResize)
		jsgOldOnResize(e);
}

function jsgReadyState()
{
	if(event.srcElement.readyState=='complete')
		jsgMove();
}

function jsgLoad(e)
{
	jsgMove();
}

function jsgImgClick(e)
{
	var x=e ? (e.offsetX ? e.offsetX : e.pageX-this.x) : event.offsetX;
	if(x<this.offsetWidth/2)
		jsgActive.prev();
	else
		jsgActive.next();
}

function jsgInit()
{

	var e=document.getElementById(jsgId);
	if(!e) {
		jsgOldOnResize=window.onresize;
		window.onresize=jsgOnResize;
		jsgOldOnScroll=window.onscroll;
		window.onscroll=jsgOnScroll;
		var e=document.createElement('div');
		e.id=jsgId;
		e.style.position='absolute';
		e.style.left='0px';
		e.style.top='0px';
		e.style.backgroundImage='url('+jsgImgPath+'jsg_bg.gif)';
		e.innerHTML='<table id="'+jsgId+'_window" cellspacing=0 cellpadding=0 class="jsg"><tr><td class="header"><a href="javascript:jsgClose();void(0);"><img src="'+jsgImgPath+'jsg_close.gif"></a><span id="'+jsgId+'_title"></span></td></tr><tr><td class="image"><img src="" id="'+jsgId+'_image"></td></tr><tr><td class="footer"><div class="navi"><a href="javascript:jsgActive.first();void(0);"><img src="'+jsgImgPath+'jsg_first.gif"></a><a href="javascript:jsgActive.prev();void(0);"><img src="'+jsgImgPath+'jsg_prev.gif"></a><a href="javascript:jsgActive.next();void(0);"><img src="'+jsgImgPath+'jsg_next.gif"></a><a href="javascript:jsgActive.last();void(0);"><img src="'+jsgImgPath+'jsg_last.gif"></a></div><span id="'+jsgId+'_desc"></span></td></tr></table>';
		document.body.appendChild(e);
		e=document.getElementById(jsgId);
		var img=document.getElementById(jsgId+'_image');
		if(img.addEventListener)
			img.addEventListener('load',jsgLoad,false);
		else
			img.attachEvent('onreadystatechange',jsgReadyState);
		img.onclick=jsgImgClick;
		jsgResize();
	}
	e.style.display='';
}

function jsgClose()
{
	var e=document.getElementById(jsgId);
	if(e) {
		e.style.display='none';
		document.getElementById(jsgId+'_image').src='';
	}
	jsgActive=null;
}

function jsgShow(i)
{
	this.current=i;
	var img=this.images[i];
	document.getElementById(jsgId+'_image').src=typeof(img)=='object' ? img[0] : img;
	document.getElementById(jsgId+'_desc').innerHTML=(i+1)+'/'+this.images.length+' '+(typeof(img)=='object' ? img[1] : '');
}

function jsgOpen(i)
{
	jsgInit();
	jsgActive=this;
	document.getElementById(jsgId+'_title').innerHTML=this.title;
	this.show(i);
}

function jsgFirst()
{
	this.show(0);
}

function jsgPrev()
{
	if(this.current>0)
		this.show(this.current-1);
}

function jsgNext()
{
	if(this.current<this.images.length-1)
		this.show(this.current+1);
}

function jsgLast()
{
	this.show(this.images.length-1);
}

function jsgFind(i)
{
	var c;
	for(c=0; c<this.images.length; c++)
		if(i==(typeof(this.images[c])=='object' ? this.images[c][0] : this.images[c]))
			return c;
	return null;
}

function JSgallery(g,t)
{
	this.images=g;
	this.title=t;
	this.open=jsgOpen;
	this.show=jsgShow;
	this.first=jsgFirst;
	this.prev=jsgPrev;
	this.next=jsgNext;
	this.last=jsgLast;
	this.find=jsgFind;
}

function jsgFindImages(e)
{
	var img=new Array();
	var i,j;
	for(i=0; i<e.childNodes.length; i++)
		if(e.childNodes[i].tagName) {
			if(e.childNodes[i].tagName=='IMG' && e.childNodes[i].onclick) {
				e.childNodes[i].onclick();
				img.push([jsgSrc,e.childNodes[i].title]);
			}
			var img2=jsgFindImages(e.childNodes[i]);
			for(j=0; j<img2.length; j++)
				img.push(img2[j]);
		}
	return img;
}

function jsgClick(i,e,d)
{
	var l=false;
	var jsgTmp;
	if(jsgCallback) {
		jsgSrc=i;
		return;
	}
	if(typeof(e)=='object')
		l=true;
	else
		d=e;
	if(typeof(d)=='undefined')
		d=jsgDefaultId;
	if(l || typeof(jsgGalleries[d])=='undefined') {
		var bl;
		if(l)
			while(e) {
				e=e.parentNode;
				if(e.id==d) {
					bl=e;
					break;
				}
			}
		else
			bl=document.getElementById(d);
		if(!bl)
			return;
		jsgCallback=true;
		var img=jsgFindImages(bl);
		jsgCallback=false;
		jsgTmp=new JSgallery(img,bl.title);
		if(!l)
			jsgGalleries[d]=jsgTmp;
	}
	else
		jsgTmp=jsgGalleries[d];
	jsgTmp.open(jsgTmp.find(i));
}


function img1(name) {
	 img=new Image();
     img.src = '/i/'+name+'.gif';
	 document.images[name].src=img.src;
}

function img2(name) {
	 img=new Image();
     img.src = '/i/'+name+'b.gif';
	 document.images[name].src=img.src;
}

function dbl(t) {
	if(t.dlg_clicked)
		return false;
	t.dlg_clicked=true;
	return true;
}


function switch_tab(c, active) {
	var divs = c.getElementsByTagName('div');
	var a = divs[0].getElementsByTagName('a');

	for (var i = 1; i < divs.length; i++)
		if (divs[i].className == 'tab')
			divs[i].style.display = (divs[i].id == active ? 'block' : 'none');
	for (var i = 0; i < a.length; i++) {
		a[i].className = (a[i].getAttribute('rel') == active ? 'active' : 'inactive');
	}
}

function set_tabs(container) {
	var c = document.getElementById(container);
	if ( ! c) return;
	var divs = c.getElementsByTagName('div');
	var tabsdiv = divs[0];
	var a = tabsdiv.getElementsByTagName('a');
	for (var i = 0; i < a.length; i++) {
		a[i].onclick = function () {
			eval(this.href.replace('javascript:', ''));
			this.href = 'javascript:void(0)';
			switch_tab(c, this.rel);
		}
	}
	a[0].className = 'active';
	eval(a[0].href.replace('javascript:', ''));
	a[0].href = 'javascript:void(0)';
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == 'tab') {
			divs[i].style.display = 'block';
			break;
		}
	}
}

function ajax_product_list(tab, params) {
	params['tab_ajax'] = 1;
	dlg_get(['/index.php', params], function(resp) {
		t = document.getElementById(tab);
		t.style.height = t.clientHeight + 'px';
		t.style.display = 'none';
		t.innerHTML = resp;
		t.style.height = 'auto';
		t.style.display = 'block';
	});
}

function dlg_get(u,cb,cbp)
{
	return dlg_xmlhttprequest(u,'GET','','',cb,cbp);
}

function dlg_xmlhttprequest(u,m,d,c,cb,cbp)
{
	u=dlg_url(u);
	var r=false;
    if(window.XMLHttpRequest) {
    	try {
			r=new XMLHttpRequest();
        }
		catch(e) {
			r=false;
        }
    }
	else if(window.ActiveXObject) {
       	try {
        	r=new ActiveXObject("Msxml2.XMLHTTP");
      	}
		catch(e) {
        	try {
          		r=new ActiveXObject("Microsoft.XMLHTTP");
        	}
			catch(e) {
          		r=false;
        	}
		}
    }

	if(r) {
		r.onreadystatechange=function() {
			if(r.readyState==4) {
				if(r.status==200)
					cb(r.responseText,cbp);
			}
		};
		r.open(m,u);
		if(c!='')
			r.setRequestHeader('Content-Type',c);
		r.send(d);
		return true;
	}
	return false;
}

function dlg_url(u)
{
	if(typeof(u)=='object') {
		var s=u[0];
		if(typeof(u[1])=='object') {
			var k;
			var sp='?';
			for (k in u[1]) {
				s+=sp+encodeURIComponent(k)+'='+encodeURIComponent(u[1][k]);
				sp='&';
			}
		}
		if(typeof(u[2])!='undefined')
			s+='#'+u[2];
		return s;
	}
	return u;
}

function update_selects(refresh_id) {
	var e = document.forms['dictionary_filters'].elements;
	var t = document.getElementById('dictionary_filters_load');
	t.style.opacity = 0.5;
	t.style.filter = 'alpha(opacity=50)';
	var params = new Array();
	for (var i = 0; i < e.length; i++) {
		params[e[i].name] = e[i].value;
	}
	if (refresh_id) 
		params['refresh'] = refresh_id;
	else {
		d = new Date;
		params['refresh'] = d.getTime();	
	}
	dlg_get(['/dictionary_filters.php', params], function(resp) {
		t.innerHTML = resp;
		t.style.opacity = 1;
		t.style.filter = 'alpha(opacity=100)';
	});
}

function clear_selects() {
	var params = new Array();
	params['clear'] = 1;
	d = new Date;
	params['refresh'] = d.getTime();
	dlg_get(['/dictionary_filters.php', params], function(d) {
		var t = document.getElementById('dictionary_filters_load');
		t.innerHTML = d;
		t.style.opacity = 1;
		t.style.filter = 'alpha(opacity=100)';
	});
}

function add2rep_submit() {
	document.form.add2rep.value=1;
	document.form.submit();
}

var leftSideBoxProducts = new Array();
function rotateLeftBoxProducts( next ) {
	if( leftSideBoxProducts.length == 0 ) {
		var box = document.getElementById( "boxProductsLeft" );
		var index = 0;
		var maxHeight = 0;
		if( box.childNodes.length>0 ) {
			for( var i = 0; i < box.childNodes.length; i++ ) {
				if( box.childNodes[i].tagName == "DIV" ) {
					if( box.childNodes[i].offsetHeight>maxHeight )	maxHeight = box.childNodes[i].offsetHeight;
					leftSideBoxProducts[index] = box.childNodes[i];
					box.childNodes[i].style.display = 'none';
					index++;
				}
			}
		}
		if (maxHeight > 0)
			box.style.height = maxHeight+"px";
	}
	if( leftSideBoxProducts.length>0 ) {
		var actual = null;
		if( next == null )	next = 0;
		else {
			actual = next;
			actual--;
			if( actual<0 ) actual = leftSideBoxProducts.length-1;
		}
		var fadeOut = {type: 'opacity', from: 100, to: 0, step: -4, delay: 25};
		var fadeIn = {type: 'opacity', from: 0, to: 100, step: 4, delay: 25};
		leftSideBoxProducts[next].style.display = 'block';
		$fx( leftSideBoxProducts[next] ).fxAdd( fadeIn ).fxRun( function() {
			next++;
			if( next == leftSideBoxProducts.length )	next = 0;
			setTimeout("rotateLeftBoxProducts("+next+")",7000);
		} );
		if( actual != null )
			$fx( leftSideBoxProducts[actual] ).fxAdd( fadeOut ).fxRun(function(){
				leftSideBoxProducts[actual].style.display = 'none';
			});
	}
}

var rightSideBoxProducts = new Array();
function rotateRightBoxProducts( next ) {
	if( rightSideBoxProducts.length == 0 ) {
		var box = document.getElementById( "boxProductsRight" );
		var index = 0;
		var maxHeight = 0;
		if( box.childNodes.length>0 ) {
			for( var i = 0; i < box.childNodes.length; i++ ) {
				if( box.childNodes[i].tagName == "DIV" ) {
					if( box.childNodes[i].offsetHeight>maxHeight )	maxHeight = box.childNodes[i].offsetHeight;
					rightSideBoxProducts[index] = box.childNodes[i];
					box.childNodes[i].style.display = 'none';
					index++;
				}
			}
		}
		if (maxHeight > 0)
			box.style.height = maxHeight+"px";
	}
	if( rightSideBoxProducts.length>0 ) {
		var actual = null;
		if( next == null )	next = 0;
		else {
			actual = next;
			actual--;
			if( actual<0 ) actual = rightSideBoxProducts.length-1;
		}
		var fadeOut = {type: 'opacity', from: 100, to: 0, step: -4, delay: 25};
		var fadeIn = {type: 'opacity', from: 0, to: 100, step: 4, delay: 25};
		rightSideBoxProducts[next].style.display = 'block';
		$fx( rightSideBoxProducts[next] ).fxAdd( fadeIn ).fxRun( function() {
			next++;
			if( next == rightSideBoxProducts.length )	next = 0;
			setTimeout("rotateRightBoxProducts("+next+")",7000);
		} );
		if( actual != null )
			$fx( rightSideBoxProducts[actual] ).fxAdd( fadeOut ).fxRun(function(){
				rightSideBoxProducts[actual].style.display = 'none';
			});
	}
}

function switch_despatch_address() {
	var da = document.getElementById("additional_despatch_address");
	if( da.style.display == "none" )
		da.style.display = "block";
	else
		da.style.display = "none";
}

function switch_adds() {
	var da = document.getElementById("adds_box");
	if( da.style.display == "none" )
		da.style.display = "block";
	else
		da.style.display = "none";
}
function switch_register() {
	var da = document.getElementById("register_box");
	if( da.style.display == "none" )
		da.style.display = "block";
	else
		da.style.display = "none";
}

function show_online_payment(name) {
	d = document.getElementById('online_payment_' + name);
	if ( ! d) return;
	ds = d.style;
	if (ds.display == 'none') {
		ds.display = 'block';
	} else {
		ds.display = 'none';
	}
}

function toggle_delivery_types(open, r) {
	d = document.getElementById('deliveries_table');
	if ( ! d) return;
	divs = d.getElementsByTagName('div');
	dgo = false;
	if (open)
		dgo = document.getElementById('delivery_group_' + open);
	for (i = 0; i < divs.length; i++) {
		cn = ' ' + divs[i].className + ' ';
		if (cn.indexOf(' delivery_group ') != -1) {
			divs[i].style.display = (divs[i] == dgo ? 'block' : 'none');
		}
		
	}

	e = document.forms['form'].elements;
	for (i = 0; i < e.length; i++) {
		if (e[i].name == 'delivery')
			e[i].checked = false;
	}

	if (r) {
		for (i = 0; i < e.length; i++) 
			if (e[i].name == 'delivery_group')
				e[i].checked = false;
		r.checked = true;	
	}
}


function lookInside( url ) {
	var height = 0;
	if (document.documentElement && document.documentElement.clientWidth) {
		height = document.documentElement.clientHeight;
	}
	else if (document.body) {
		height= document.body.clientHeight;
	}
	var main = document.getElementById("lookInside");
	var iframe = document.getElementById("lookInsideIframe");
	var margin = document.getElementById("lookInsideMargin");
	iframe.src = url;
	main.style.height = height + "px";
	margin.style.height = ( height - 84 ) + "px";
	main.style.display = "block";
}

function lookInsideClose() {
	var main = document.getElementById("lookInside");
	main.style.display = "none";
}

function order_login(t) {
	var f = document.forms['form'];
	f.removeChild(f.elements['action']);
	f.setAttribute('action', t);
	act = document.createElement('input');
	act.type = 'hidden';
	act.name = 'action';
	act.value = 'login';
	f.appendChild(act);
	f.elements['login'].value = f.elements['login2'].value;
	f.elements['password'].value = f.elements['password2'].value;
	delivery = 0;
	if (f.elements['delivery'].length)
		for(var i = 0; i < f.elements['delivery'].length; i++) {
			if(f.elements['delivery'][i].checked) {
				var delivery = f.elements['delivery'][i].value;
				break;
			}
		}
	bonus = 0;
	if (f.elements['bonus'])
		bonus = f.elements['bonus'].value;
	
	f.elements['redir'].value += '&delivery=' + delivery + '&bonus=' + bonus;
	f.submit();
}	

function set_order_radio() {
	var t = document.getElementById('order_client_type');
	if ( ! t) return;
	var r = t.getElementsByTagName('label');
	for (var i = 0; i < r.length; i++) {
		r[i].onclick = switch_client_type;
	}
}

function switch_client_type(e) {
	if (!e) e = window.event;
	var cnew = ((e.target || e.srcElement).value == 'new');
	document.getElementById('order_login_form').style.display = cnew ? 'none' : 'block';
	document.getElementById('order_data_form').style.display = cnew ? 'block' : 'none';
}

function toggle_subcategories(id) {
	subs = document.getElementById('subcategories' + id);
	if ( ! subs) return true;
	ss = subs.style;
	ss.display = (ss.display == 'none' ? 'block' : 'none');
	return false;
}


