function getLayout(klientId, productId, seriaId)
{
	var obj = _createXMLHttpRequest();
	box.insertLayout('<div align="center"><img src="./jscript/tpl/loading.gif" border="0"></div>');
	
	obj.open('GET', './jscript/tpl/boxLayer.phtml?klientId='+klientId+'&productId='+productId+'&seriaId='+seriaId , true);		
	obj.onreadystatechange = function (){
		if (obj.readyState == 4 && obj.status == 200)
		{
 			setTimeout(function () { box.insertLayout(obj.responseText, klientId, productId); }, 250);
  		}	
	}
	obj.send(null);
}

function addItem(klientId, productId, seriaId)
{
	var obj = _createXMLHttpRequest();
	
	if($$$("nowyschowek").value!="" && $$$("boxRadio2").checked)
		var url = 'mod_schowek.php?klientId='+klientId+'&productId='+productId+'&nowyschowek='+$$$("nowyschowek").value+'&seriaId='+seriaId;
	else
		var url = 'mod_schowek.php?klientId='+klientId+'&productId='+productId+'&schowekid='+$$$("schowekid").value+'&seriaId='+seriaId;
	
	box.insertLayout('<div align="center"><img align="center" src="/jscript/tpl/loading.gif" border="0"></div>');
	
	
	obj.open('GET', url , true);		
	obj.onreadystatechange = function (){
		if (obj.readyState == 4 && obj.status == 200)
		{
 			box.insertLayout(obj.responseText)
 			setTimeout(function () { if($$$("boxId")) box.closeLayer() }, 1250);
  		}	
	} 
	obj.send(null);
}




var box = { 
	
	layer:null,
	clicked:null,
	endHeight:null,
	klientId:null,
	productId:null,
	seriaId:null,
	
	showBoxMenu : function(clickedItem, padX, padY, klientId)
	{
		seriaId = parseInt(clickedItem);
		productId = clickedItem;
		klientId = klientId == "brak" ? 0 : klientId;
		clickedItem = $$$(clickedItem);
			
		if($$$("boxId")){
			this.closeLayer(clickedItem, padX, padY, klientId);
			return; 
		}
	
		this.layer = document.createElement("div");
		this.layer.id = "boxId";
		this.layer.className = "boxLayer";
		         
		var nleft = '';
		var ntop ='';  
	 	
		if (clickedItem.offsetParent)
    	{
	    	nleft = clickedItem.offsetLeft
     		ntop = clickedItem.offsetTop
        	while (clickedItem = clickedItem.offsetParent)
       		{
		        nleft += clickedItem.offsetLeft
    			ntop += clickedItem.offsetTop
	 		}
	 	}
	 	
		this.layer.style.top = ntop+padX+"px";
		this.layer.style.left = nleft+padY+"px";
		document.body.appendChild(this.layer);
		
		this.showLayer(0, this.layer);
		
		if(klientId==0)
		{
			var logOutText = this.getInnerHtml("./jscript/tpl/loginTpl.ajp");
			this.insertLayout( logOutText( {
				Header:"Aby używać schowka zaloguj się",
				Text1:"Aby się zalogować kliknij:",
				Url1:"index.php",
				Text2:"Aby się zarejestrować kliknij",
				Url2:"index.php"
			}));
			return;
		}
		
		this.seriaId = seriaId;
		this.klientId = klientId;
		this.productId = productId;
		getLayout(klientId, productId, this.seriaId);
	},                  
	
	insertLayout: function(text)
	{
		$$$("boxId").innerHTML = text;
		if($$$("closeButton"))
		{
			$$$("closeButton").onclick = function () { box.closeLayer(); };
			this.addListeners();
		}
	},
	
	addListeners: function()
	{
		$$$("boxRadio1") ? $$$("boxRadio1").onclick = function (){ box.slide($$$("existGroup"), $$$("newGroup"))  } : "";
		$$$("boxRadio2") ? $$$("boxRadio2").onclick = function (){ box.slide($$$("newGroup")  , $$$("existGroup"))}: "";
		
		$$$("addToBox") ? $$$("addToBox").onclick = function (){ box.addProductToBox(); } : "";
		$$$("addNewGroupBox") ? $$$("addNewGroupBox").onclick = function (){ box.addProductToBox(); }: "";
	},
	
	slide: function(itemToSlide, itemToHide)
	{
		if(itemToSlide.style.display == "none")
		{
			this.endHeight = parseInt(itemToSlide.style.height) != 0 ? parseInt(itemToSlide.style.height) : this.endHeight;
			this.slideDown(itemToSlide, 0, this.endHeight);
			this.slideUp(itemToHide, this.endHeight);
		}
	}, 
		
	slideDown: function(itemToSlide, height, endHeight)
	{
		height+=8;
		
		if(height <= endHeight)
		{
			itemToSlide.style.height = height+"px";
			itemToSlide.style.display = "block";
			setTimeout(function () { box.slideDown(itemToSlide, height, endHeight); }, 15);
		}
	},
	
	slideUp: function(itemToSlide, height)
	{
		height-=8;
		if(height > 0)
		{
			itemToSlide.style.height = height+"px";
			setTimeout(function () { box.slideUp(itemToSlide, height); }, 15);
		}
		else
		{
			itemToSlide.style.height = "0px";
			itemToSlide.style.display = "none";
		}
	},
	
	showLayer: function(opacityVal, elem, stopVal)
	{
		stopVal = stopVal || 10;
		if(opacityVal<=stopVal)
		{
			elem.style.opacity = opacityVal/10;
			elem.style.filter = 'alpha(opacity='+opacityVal*10+')';
		}
		opacityVal +=1

		if(parseInt(opacityVal)<stopVal)
			setTimeout( function () { box.showLayer(opacityVal, elem, stopVal )}, 10);
		else
		{
			elem.style.opacity = stopVal/10;
			elem.style.filter = 'alpha(opacity='+stopVal*10+')';
		}
	},
	
	closeLayer: function(item, x , y, klientId)
	{
		this.hideLayer(10, null, item, x, y, klientId)
	},
	
	hideLayer: function(opacityVal, elem, item, x ,y, klientId)
	{
		elem = elem ? elem : this.layer;
		var timeout = 10;
		
		if(opacityVal>0)
		{
			elem.style.opacity = opacityVal/10;
			elem.style.filter = 'alpha(opacity='+opacityVal*10+')';
		}
		opacityVal -= 1;
		
		if(parseInt(opacityVal)<0)
		{
			this.removeBoxMenu(elem);
			if(item!=null)	
				this.showBoxMenu(item, x, y, klientId);
		}
	  	else
	  	{
			if(navigator.appName=="Microsoft Internet Explorer")
				timeout = 0;
			setTimeout( function () { box.hideLayer(opacityVal, elem, item, x, y, klientId)}, timeout);
	  	}
	},
	
	removeBoxMenu: function(elem)
	{
		var parent = elem.parentNode;
		parent.removeChild(elem);
	},
	
	addProductToBox: function() 
	{
		addItem(this.klientId, this.productId, this.seriaId);
	},
	
	getInnerHtml: function(templateUrl)
	{
		var ajp = new AjaxPages();
		ajp.load(templateUrl);
		var processor = ajp.getProcessor();
		return processor;
	},
	
	findPos: function (elem)
	{
		if (elem.offsetParent)
    	{
	    	nleft = elem.offsetLeft
     		ntop = elem.offsetTop
        	while (elem = elem.offsetParent)
       		{
		        nleft += elem.offsetLeft
    			ntop += elem.offsetTop
	 		}
	 	}
	 	
	 	return [ntop, nleft];
	},
	
	showImagePreview:function(imageSrc, overobject, body)
	{
		if(document.getElementById("imagePrev"))
		{
			document.body.removeChild(document.getElementById("imagePrev"));
			return;
		}
		
		var imagePrev = document.createElement("div");
		var img = document.createElement('img');

		imagePrev.id = "imagePrev";
		imagePrev.style.border = '1px solid #7f7f7f';
		imagePrev.style.backgroundColor = '#FFFFFF';
		imagePrev.style.color = '#000000';
		imagePrev.style.position = 'absolute';
		imagePrev.style.padding = '20px';
			    	
		overobject.onmouseout = function()
		{
			if($$$("imagePrev"))
			{
				document.body.removeChild($$$("imagePrev"));
			}
		}
		
		
		
		var textLoad = box.getInnerHtml("./jscript/tpl/loading-white.ajp");
		
		imagePrev.innerHTML = textLoad({
			paddingTop: 0
		});
		
		setTimeout(function ()
		{
			imagePrev.innerHTML = "";
			imagePrev.appendChild(img);
			if(body)
			{
				imagePrev.innerHTML += '<div style="color:#a4a4a4;font-weight:bold;font-size:16px;padding-top:5px;">'+body+'</div>';
			}
		}, 0);
		
		document.body.appendChild(imagePrev);	
				
		document.onmousemove = function(e)
		{
			e = e || window.event;

			var scrol = box.getScrollXY();
			var size  = box.getScreenSize();
			
			mouseX=e.clientX+scrol[0];
			mouseY=e.clientY+scrol[1];
			
			if(imagePrev.clientWidth+mouseX+10>size[0])
			{
				imagePrev.style.left = mouseX-imagePrev.clientWidth-20+'px';
			}
			else
			{
				imagePrev.style.left = mouseX+10+'px'
			}
			
			if(imagePrev.clientHeight+mouseY>size[1]+scrol[1])
			{
				imagePrev.style.top  = size[1]+scrol[1]-imagePrev.clientHeight+'px';
			}
			else
			{	
				imagePrev.style.top  = mouseY+10+'px';
			}	
		}
		
		img.src = imageSrc;
	},
	
	getScreenSize:function()
	{
  		var myWidth = 0, myHeight = 0;
  		if( typeof( window.innerWidth ) == 'number' ) {
    	//Non-IE
    		myWidth = window.innerWidth;
    		myHeight = window.innerHeight;
  		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    	//IE 6+ in 'standards compliant mode'
    		myWidth = document.documentElement.clientWidth;
    		myHeight = document.documentElement.clientHeight;
  		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    	//IE 4 compatible
    		myWidth = document.body.clientWidth;
    		myHeight = document.body.clientHeight;
  		}
  		return [myWidth, myHeight];
	},
	
	getScrollXY:function()
	{
  		var scrOfX = 0, scrOfY = 0;
  		if( typeof( window.pageYOffset ) == 'number' ) {
	    	//Netscape compliant
    		scrOfY = window.pageYOffset;
    		scrOfX = window.pageXOffset;
  		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		    //DOM compliant
		    scrOfY = document.body.scrollTop;
		    scrOfX = document.body.scrollLeft;
	  	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	    	//IE6 standards compliant mode
    		scrOfY = document.documentElement.scrollTop;
    		scrOfX = document.documentElement.scrollLeft;
  		}
  		return [ scrOfX, scrOfY ];
	},
	
	getElementByClassName: function(nameClass, TagNameElement)
	{
		var elements = document.getElementsByTagName(TagNameElement);
		for(var i = 0; i < elements.length; i++)
		{
			if(elements[i].className == nameClass)
				return elements[i];
		}
		return null;
	}
}

var katalog = {
	
	reloadProducts: function (productId, klientId)
	{
		var obj = _createXMLHttpRequest();
		var textLoad = box.getInnerHtml("./jscript/tpl/loading.ajp");
		//var height = $$$("kolumnaprawa").clientHeight > $$$("arrowlistmenu").clientHeight ? $$$("kolumnaprawa").clientHeight : $$$("arrowlistmenu").clientHeight; 
		web.changeHeader(productId, 'katalog');
		var scrol = box.getScrollXY();
		var size  = box.getScreenSize();
		var height= 120;
				
		$$$("kolumnaprawa").innerHTML = textLoad( {
			paddingTop: height
		});
	
		obj.open('GET', 'mod_katalog_getProducts.php?pid='+productId+'&klientId='+klientId , true);		
		obj.onreadystatechange = function (){
			if (obj.readyState == 4 && obj.status == 200)
			{
	 			setTimeout(function () { $$$("kolumnaprawa").innerHTML = obj.responseText }, 1000);
  			}	
		}
		obj.send(null);
		
	},
	
	setColor: function(elem)
	{
		var a = document.getElementsByTagName("a");
		for(var i = 0; i<a.length; i++)
		{
			if(a[i].id==elem)
				a[i].style.color="#D4145A";
			else if(a[i].parentNode.nodeName=='LI')
				a[i].style.color="#e0e0e0";
		}
	}
}



var tooltip = {
	
	show: function (tooltip_text, relative_elem, padX, padY, CSSclass)
	{
		var pos = box.findPos(relative_elem);
		relative_elem.onmouseout = function () { tooltip.hide(tooltip_layer); };
		
		tooltip_layer = document.createElement("div");
		tooltip_layer.id = "tooltip";
		tooltip_layer.className = CSSclass;
		
		if(navigator.appName=="Microsoft Internet Explorer")
		{
			padY -= 22;
			padX -= 1;
		}
		if(navigator.appName=="Opera")
		{
			padY -= 22;
			padX -= 1;
		}
		
		tooltip_layer.style.top  = pos[0]+padY+"px";
		tooltip_layer.style.left = pos[1]+padX+"px";
		
		var textLoad = box.getInnerHtml("./jscript/tpl/tooltip_layer.ajp");
		tooltip_layer.innerHTML = textLoad({
			tooltip_text:tooltip_text
		});
		
		document.body.appendChild(tooltip_layer);
		box.showLayer(0, tooltip_layer);
		
	},
	
	hide: function(tooltip_layer)
	{	
		if($$$(tooltip_layer.id))
			box.hideLayer(10, tooltip_layer);
	},
	
	valueChange: function(tooltip_text)
	{
		var tooltip_layer = document.getElementById("tooltip");
		var textLoad = box.getInnerHtml("./jscript/tpl/tooltip_layer.ajp");
		tooltip_layer.innerHTML = textLoad({
			tooltip_text:tooltip_text
		});
	}
}



var log = {
	
	show: function(links, padX, padY)
	{
		if(document.getElementById("log")) return;
		
		var pos = box.findPos(links);
		var log_layer = document.createElement("div");
		var scrol = box.getScrollXY();
		var size  = box.getScreenSize();
		
		log_layer.id = "log";
		log_layer.className = "info_layer";
		log_layer.style.width  = "230px";
		log_layer.style.height = "210px";
		log_layer.style.padding= "10px";
		
		if(navigator.appVersion.match('Chrome'))
		{
			padY -= 22;
			padX -= 1;
		}			
		if(navigator.appName=="Microsoft Internet Explorer")
		{
			padY -= 22;
			padX -= 1;
		}
		if(navigator.appName=="Opera")
		{
			padY -= 22;
			padX -= 1;
		}
		
		if(pos[0]+padY+210>size[1]+scrol[1])
			log_layer.style.top  = size[1]+scrol[1]-230+"px";
		else
			log_layer.style.top  = pos[0]+padY+"px";
			
		log_layer.style.left = pos[1]+padX+"px";
				
		this.getLogLayout(log_layer);
		document.body.appendChild(log_layer);
		box.showLayer(0, log_layer);	
	},
	
	getLogLayout: function(log_layer, act)
	{
		var obj = _createXMLHttpRequest();
		log_layer.innerHTML = '<div align="center"><img src="./jscript/tpl/loading.gif" border="0"></div>';

		obj.open('GET', 'jscript/tpl/log_layer.php?act='+act , true);		
		obj.onreadystatechange = function (){
			if (obj.readyState == 4 && obj.status == 200)
			{
 				setTimeout(function () {
 					log_layer.innerHTML = obj.responseText;
 					if($$$("closeButton")){ $$$("closeButton").onclick = function () { box.hideLayer(10, log_layer); };}
 					if(!act)
 						log_layer.style.height = "210px";
 				}, 500);
  			}	
		} 
		obj.send(null);	
	}
}

var remainder = {
	
	layer:null,
	
	getLayout: function(layer)
	{
		var back = 0 ;
		if(layer.id=="rem_cont")
		{
			back = 1;
		}
		this.layer = layer;
		var obj = _createXMLHttpRequest(); 
		layer.innerHTML = '<div align="center"><img src="./jscript/tpl/loading.gif" border="0"></div>';
		
		obj.open('GET', 'jscript/tpl/remainder.php?back='+back , true);		
		obj.onreadystatechange = function ()
		{
			if (obj.readyState == 4 && obj.status == 200)
			{
 				setTimeout(function ()
 				{
 					layer.innerHTML = obj.responseText;
 					if($$$("closeButton"))
 						$$$("closeButton").onclick = function () { box.hideLayer(10, layer); };
 					if(back!=1)
 						layer.style.height = "100px";
 				}, 500);
  			}	
		} 
		obj.send(null);		
	},
	
	remaind: function(mejl, way)
	{
		var obj = _createXMLHttpRequest();
		this.layer.innerHTML = '<div align="center"><img src="./jscript/tpl/loading.gif" border="0"></div>';
		var layer = this.layer;
		
		obj.open('GET', 'jscript/tpl/remainder.php?act=1&mejl='+mejl+'&way='+parseInt(way) , true);		
		obj.onreadystatechange = function ()
		{
			if (obj.readyState == 4 && obj.status == 200)
			{
 				setTimeout(function ()
 				{
 					layer.innerHTML = obj.responseText;
 					if($$$("closeButton"))
 						$$$("closeButton").onclick = function () { box.hideLayer(10, thisobj.layer); };
 					if(way)
 						setTimeout(function () { log.getLogLayout(layer, 1); }, 700)
 					else
 						setTimeout(function () { log.getLogLayout(layer); }, 700)
 				}, 500);
  			}	
		} 
		obj.send(null);		
	}
}
