//JS script for Joomla template
var siteurl = '';

function fixIEPNG(el, bgimgdf, sizingMethod, type, offset){
	var objs = el;
	if(!objs) return;
	if ($type(objs) != 'array') objs = [objs];
	if(!sizingMethod) sizingMethod = 'crop';
	if(!offset) offset = 0;
	var blankimg = siteurl + 'images/blank.png';
	objs.each(function(obj) {
		var bgimg = bgimgdf;
		if (obj.tagName == 'IMG') {
			//This is an image
			if (!bgimg) bgimg = obj.src;
			if (!(/\.png$/i).test(bgimg) || (/blank\.png$/i).test(bgimg)) return;

			obj.setStyle('height',obj.offsetHeight);
			obj.setStyle('width',obj.offsetWidth);
			obj.src = blankimg;
			obj.setStyle ('visibility', 'visible');
			obj.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
		}else{
			//Background
			if (!bgimg) bgimg = obj.getStyle('backgroundImage');
			var pattern = new RegExp('url\s*[\(\"\']*([^\'\"\)]*)[\'\"\)]*');
			if ((m = pattern.exec(bgimg))) bgimg = m[1];
			if (!(/\.png$/i).test(bgimg) || (/blank\.png$/i).test(bgimg)) return;
			if (!type)
			{
				obj.setStyle('background', 'none');
				//if(!obj.getStyle('position'))
				if(obj.getStyle('position')!='absolute' && obj.getStyle('position')!='relative') {
					obj.setStyle('position', 'relative');
				}

				//Get all child
				var childnodes = obj.childNodes;
				for(var j=0;j<childnodes.length;j++){
					if((child = $(childnodes[j]))) {
						if(child.getStyle('position')!='absolute' && child.getStyle('position')!='relative') {
							child.setStyle('position', 'relative');
						}
						child.setStyle('z-index',2);
					}
				}
				//Create background layer:
				var bgdiv = new Element('IMG');
				bgdiv.src = blankimg;
				bgdiv.width = obj.offsetWidth - offset;
				bgdiv.height = obj.offsetHeight - offset;
				bgdiv.setStyles({
					'position': 'absolute',
					'top': 0,
					'left': 0
				});

				bgdiv.className = 'TransBG';

				bgdiv.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
				bgdiv.inject(obj, 'top');
				//alert(obj.innerHTML + '\n' + bgdiv.innerHTML);
			} else {
				obj.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
			}
		}
	}.bind(this));

}

window.addEvent ('load', function(e){
	if (!$('ja-botsl')) return;
	var divs = $ES('.moduletable',$('ja-botsl'));
	var maxh = 0;
	divs.each(function(el, i){
		maxh < el.getStyle('height').toInt()?maxh=el.getStyle('height').toInt():'';
	});
	divs.each(function(el, i){
		el.setStyle('height', maxh);
	});
});

switchFontSize=function(ckname,val){
	var bd = $E('BODY');
	switch (val) {
		case 'inc':
			if (CurrentFontSize+1 < 7) {
				bd.removeClass('fs'+CurrentFontSize);
				CurrentFontSize++;
				bd.addClass('fs'+CurrentFontSize);
			}
		break;
		case 'dec':
			if (CurrentFontSize-1 > 0) {
				bd.removeClass('fs'+CurrentFontSize);
				CurrentFontSize--;
				bd.addClass('fs'+CurrentFontSize);
			}
		break;
		default:
			bd.removeClass('fs'+CurrentFontSize);
			CurrentFontSize = val;
			bd.addClass('fs'+CurrentFontSize);
	}
	Cookie.set(ckname, CurrentFontSize,{duration:365});
}
//addEvent - attach a function to an event
function jaAddEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

/*function equalHeight(){
	makeEqualHeight ($('ja-botsl').getChildren());
	makeEqualHeight ($$(['ja-content','ja-col1-bot','ja-col2']));
}

function makeEqualHeight(divs) {
	if(!divs || divs.length < 2) return;
	var maxh = 0;
	divs.each(function(el, i){
		var ch = el.getCoordinates().height;
		maxh = (maxh < ch) ? ch : maxh;		
	},this);
	divs.each(function(el, i){
		el.setStyle('height', maxh-el.getStyle('padding-top').toInt()-el.getStyle('padding-bottom').toInt());		
	},this);
}*/

function getDeepestDiv (div) {
	while (div.getChildren().length==1 && (div.getChildren()[0].tagName == 'DIV'))
	{
		div = div.getChildren()[0];
	}
	return div;
}

function preloadImages () {
	var imgs = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var imgsrc = arguments[i];
		imgs[i] = new Image();
		imgs[i].src = imgsrc;
	}
}

//Add span to module title
function addSpanToTitle () {
  var colobj = document.getElementById ('ja-cols');
  if (!colobj) return;
  var modules = getElementsByClass ('moduletable.*', colobj, "DIV");
 if (!modules) return;
  for (var i=0; i<modules.length; i++) {
    var module = modules[i];
    var title = module.getElementsByTagName ("h3")[0];  
    if (title) {
      title.innerHTML = "<span>"+title.innerHTML+"</span>";
      //module.className = "ja-" + module.className;
    }
  }
}

//jaAddEvent (window, 'load', addSpanToTitle);

function makeTransBg(el, bgimgdf, sizingMethod, type, offset){
	var objs = el;
	if(!objs) return;
	if ($type(objs) != 'array') objs = [objs];
	if(!sizingMethod) sizingMethod = 'crop';
	if(!offset) offset = 0;
	var blankimg = siteurl + 'images/blank.png';
	objs.each(function(obj) {
		var bgimg = bgimgdf;
		if (obj.tagName == 'IMG') {
			//This is an image
			if (!bgimg) bgimg = obj.src;
			if (!(/\.png$/i).test(bgimg) || (/blank\.png$/i).test(bgimg)) return;

			obj.setStyle('height',obj.offsetHeight);
			obj.setStyle('width',obj.offsetWidth);
			obj.src = blankimg;
			obj.setStyle ('visibility', 'visible');
			obj.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
		}else{
			//Background
			if (!bgimg) bgimg = obj.getStyle('backgroundImage');
			var pattern = new RegExp('url\s*[\(\"\']*([^\'\"\)]*)[\'\"\)]*');
			if ((m = pattern.exec(bgimg))) bgimg = m[1];
			if (!(/\.png$/i).test(bgimg) || (/blank\.png$/i).test(bgimg)) return;
			if (!type)
			{
				obj.setStyles({'background': 'none'});

				if(obj.getStyle('position')!='absolute' && obj.getStyle('position')!='relative') {
					obj.setStyle('position', 'relative');
				}

				obj.getChildren().each(function(el){
					if(el.getStyle('position')!='absolute' && el.getStyle('position')!='relative') 
					{
						el.setStyle('position', 'relative');
					}
					el.setStyle('z-index',2);
				});
				//Create background layer:
				var bgdiv = new Element('IMG');
				bgdiv.src = blankimg;
				bgdiv.width = obj.offsetWidth - offset;
				bgdiv.height = obj.offsetHeight - offset;
				bgdiv.setStyles({
					'position': 'absolute',
					'top': 0,
					'left': -obj.getStyle('padding-left').toInt()
				});

				bgdiv.className = 'TransBG';

				bgdiv.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
				bgdiv.inject(obj, 'top');
				//alert(obj.innerHTML + '\n' + bgdiv.innerHTML);
			} else {
				obj.setStyle('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+bgimg+", sizingMethod='"+sizingMethod+"')");
			}
		}
	}.bind(this));
}

function isIE6() {
	version=0
	if (navigator.appVersion.indexOf("MSIE")!=-1){
		temp=navigator.appVersion.split("MSIE")
		version=parseFloat(temp[1])
	}
	return (version && (version < 7));
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	var j = 0;
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (var i = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	//alert(searchClass + j);
	return classElements;
}

//Add 1st item identity
jaAddFirstItemToTopmenu = function() {
	li = $E('#ja-footer ul li');
	if(li) {
		li.addClass('ja-firstitem');
	}
}

window.addEvent ('load', function() {
	//equalHeight();
	jaAddFirstItemToTopmenu();
	//new MenuIcon($E('#ja-mainnav'));
});


// skrypty do virtuemart 

//addEvent - attach a function to an event
function gkAddEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

Fx.Opacity = Fx.Style.extend({initialize: function(el, options){this.now = 1;this.parent(el, 'opacity', options);},toggle: function(){return (this.now > 0) ? this.start(1, 0) : this.start(0, 1);},show: function(){return this.set(1);}});

Fx.Width = Fx.Style.extend({initialize: function(el, options){this.element = $(el);this.element.setStyle('overflow', 'hidden');this.iniWidth = this.element.getStyle('width').toInt();this.parent(this.element, 'width', options);},toggle: function(){var style = this.element.getStyle('width').toInt();if (style > 0) return this.start(style, 0);else return this.start(0, this.iniWidth);},show: function(){return this.set(this.iniWidth);}}); 

Fx.Height = Fx.Style.extend({initialize: function(el, options){this.parent(el, 'height', options);this.element.setStyle('overflow', 'hidden');},toggle: function(){return (this.element.offsetHeight > 0) ? this.custom(this.element.offsetHeight, 0) : this.custom(0, this.element.scrollHeight);},show: function(){return this.set(this.element.scrollHeight);}}); 

window.addEvent('load', function() {
	new SmoothScroll(); 
	var login = false;
	var register = false;
	var cart = false;
	var tools = false;
	var login_fx = null;
	var hlogin_fx = null;
	var register_fx = null;
	var hregister_fx = null;
	var cart_fx = null;
	var hcart_fx = null;
	var tools_fx = null;
	var link_login_fx = null;
	var link_reg_fx = null;
	var login_over = false;
	var register_over = false;
	var cart_over = false;

	if($('btn_login')){
		login_fx = new Fx.Opacity($('popup_login'),{duration:300}).set(0);
		hlogin_fx = new Fx.Height($('popup_login'),{duration:300}).set(0);
		
		$('popup_login').setStyle('display','block');
		$('btn_login').addEvent('click', function(e){
			new Event(e).stop();
			if(!login){
				login_fx.start(1);
				hlogin_fx.toggle();
				login = true;	
				$('btn_login').addClass('popup');
				
				$('popup_login').setStyles({
					"left" : $('btn_login').getCoordinates().left + "px",
					"top" : ($('btn_login').getCoordinates().top) + "px"
				});
			}else{
				login_fx.start(0);
				hlogin_fx.start(0);
				login = false;
				$('btn_login').removeClass('popup');
			}

			if(register){
				register_fx.start(0);
				hregister_fx.start(0);
				register = false;
				$('btn_register').removeClass("popup");
			}

			if(cart){
				cart_fx.start(0);
				hcart_fx.start(0);
				cart = false;
				$('btn_cart').removeClass("popup");
			}
		});
		
		$('popup_login').addEvent('mouseenter',function(){login_over = true;});
		$('popup_login').addEvent('mouseleave',function(){login_over = false;});
	}

	if($('btn_register')){
		register_fx = new Fx.Opacity($('popup_register'),{duration:300}).set(0);
		hregister_fx = new Fx.Height($('popup_register'),{duration:300}).set(0);
		$('popup_register').setStyle('display','block');
		$('btn_register').addEvent('click', function(e){
			new Event(e).stop();
			if(!register){
				register_fx.start(1);
				hregister_fx.toggle();
				register = true;	
				$('btn_register').addClass("popup");
				
				$('popup_register').setStyles({
					"left" : $('btn_register').getCoordinates().left + "px",
					"top" : ($('btn_register').getCoordinates().top) + "px"
				});		
			}else{
				register_fx.start(0);
				hregister_fx.start(0);
				register = false;
				$('btn_register').removeClass("popup");
			}

			if(login){
				login_fx.start(0);
				hlogin_fx.start(0);
				login = false;
				$('btn_login').removeClass("popup");
			}

			if(cart){
				cart_fx.start(0);
				hcart_fx.start(0);
				cart = false;
				$('btn_cart').removeClass("popup");
			}
		});	

		$('popup_register').addEvent('mouseenter',function(){register_over = true;});
		$('popup_register').addEvent('mouseleave',function(){register_over = false;});
	}

	if($('btn_cart')){
		cart_fx = new Fx.Opacity($('popup_cart'),{duration:300}).set(0);
		hcart_fx = new Fx.Height($('popup_cart'),{duration:300}).set(0);
		
		$('popup_cart').setStyle('display','block');
		$('btn_cart').addEvent('click', function(e){
			new Event(e).stop();
			if(!cart){
				cart_fx.start(1);
				hcart_fx.toggle();
				cart = true;	
				$('btn_cart').addClass('popup');
				
				$('popup_cart').setStyles({
					"left" : ($('btn_cart').getCoordinates().left - 238) + "px",
					"top" : ($('btn_cart').getCoordinates().top) + "px"
				});
			}else{
				cart_fx.start(0);
				hcart_fx.start(0);
				cart = false;
				$('btn_cart').removeClass('popup');
			}

			if(register){
				register_fx.start(0);
				hregister_fx.start(0);
				register = false;
				$('btn_register').removeClass("popup");
			}
			
			if(login){
				login_fx.start(0);
				hlogin_fx.start(0);
				login = false;
				$('btn_login').removeClass("popup");
			}
		});
		
				
		$('popup_cart').addEvent('mouseenter',function(){cart_over = true;});
		$('popup_cart').addEvent('mouseleave',function(){cart_over = false;});
	}

	if($('btn_tools')){
		var opened = false;
		if($('btn_login')) link_login_fx = new Fx.Opacity($('btn_login'),{duration:300});
		if($('btn_register')) link_reg_fx = new Fx.Opacity($('btn_register'),{duration:300});
		
		$('popup_tools').getParent().setProperty('class','gk_hide').setStyles({
			'display' : 'block'
		});
		$('popup_tools').setStyle('display', 'block');
		tools_fx = new Fx.Width($('popup_tools').getParent(),{duration:300}).set(0);
		$('btn_tools').addEvent('click', function(e){
			new Event(e).stop();
			if(!window.ie) tools_fx.toggle();
			else tools_fx.start((opened) ? 0 : 135);
			if($('btn_login')) link_login_fx.toggle();
			if($('btn_register')) link_reg_fx.toggle();
			opened = !opened;

			if(login){
				login_fx.start(0);
				hlogin_fx.start(0);
				login = false;
				$('btn_login').removeClass("popup");
			}

			if(register){
				register_fx.start(0);
				hregister_fx.start(0);
				register = false;
				$('btn_register').removeClass("popup");
			}

			if(cart){
				cart_fx.start(0);
				hcart_fx.start(0);
				cart = false;
				$('btn_cart').removeClass("popup");
			}
		});	
	}
	//
	if($('gk-cart')) gk_vm_cart_count();
	//
	if($('gk_product_tabs')){
		$$('#gk_product_tabs li').each(function(el, i){
			el.addEvent("click", function(e){
				$$('.gk_product_tab').addClass('gk_unvisible');
				$$('.gk_product_tab')[i].removeClass('gk_unvisible');
				$$('#gk_product_tabs li').setProperty('class', '');
				$$('#gk_product_tabs li')[i].setProperty('class', 'gk_product_tab_active');
			});
		});
	} 
	//
	if($('stylearea')){
		$A($$('.style_switcher')).each(function(element,index){
			element.addEvent('click',function(event){
				var event = new Event(event);
				event.preventDefault();
				changeStyle(index+1);
			});
		});
		new SmoothScroll();
	}
	
	document.body.addEvent("click", function(e){
		if(login && !login_over){
			login_fx.start(0);
			hlogin_fx.start(0);
			login = false;
			$('btn_login').removeClass("popup");
		}
		if(register && !register_over){
			register_fx.start(0);
			hregister_fx.start(0);
			register = false;
			$('btn_register').removeClass("popup");
		}
		if(cart && !cart_over){
			cart_fx.start(0);
			hcart_fx.start(0);
			cart = false;
			$('btn_cart').removeClass("popup");
		}
	});
});


// VM function override
function handleAddToCart( formId, parameters ) {
	formCartAdd = document.getElementById( formId );
	
	var callback = function(responseText) {
		updateMiniCarts();
		// close an existing mooPrompt box first, before attempting to create a new one (thanks wellsie!)
		if (document.boxB) {
			document.boxB.close();
			clearTimeout(timeoutID);
		}

		document.boxB = new MooPrompt(notice_lbl, responseText, {
				buttons: 2,
				width:400,
				height:150,
				overlay: false,
				button1: ok_lbl,
				button2: cart_title,
				onButton2: 	handleGoToCart
			});
			
		setTimeout( 'document.boxB.close()', 3000 );
	}
	
	var opt = {
	    // Use POST
	    method: 'post',
	    // Send this lovely data
	    data: $(formId),
	    // Handle successful response
	    onComplete: callback,
	    
	    evalScripts: true
	}

	new Ajax(formCartAdd.action, opt).request();
	
	(function(){if($('gk-cart')) gk_vm_cart_count();}).delay(3000);
}



