lightGalleryInit = function () {
	
	if (typeof(lightgallery) != 'undefined') {
		try {
			lightgallery.init({
				enableZoom			:	true,
				speed				:	75,
				fadeImage			:	false
			})
		}catch(e){}
	}
    

}

changeImage = function (ob, id, pic) {
	jQuery('#link'+id).attr('href',jQuery(ob).attr('href'));
	jQuery('#image'+id).attr('src',jQuery(ob).attr('class'));
}

registerEvents = function () {
	lightGalleryInit ();
	cache.prefetch();
}	

jQuery(document).ready(function () {
	registerEvents();
});

/* Cookie function */
	setCookie = function (name, value)
	{
		var exp = new Date();
		var e = exp.getTime()+(24*60*60*1000);
		exp.setTime(e);

		document.cookie = name + "=" + escape(value) + ";path=/;expires="+exp.toUTCString();
	}
	getCookie = function (name)
	{
		var prefix = name + "=";
		var start = document.cookie.indexOf(prefix);
		if (start == -1) return false;
		var end = document.cookie.indexOf(";", start + prefix.length)
		if (end == -1)	end = document.cookie.length;
		return unescape(document.cookie.substring(start + prefix.length, end));
	}
	
	
	var currentHour = getCookie('pbtime');
	var currentTime = new Date();
	if (currentHour !=  currentTime.getHours()) {
		setCookie('pbtime', currentTime.getHours());
		window.location = new String(window.location);
	}
	setCookie('pbtime', currentTime.getHours());
	
	


/* AJAX Query */

	var waiting = '<div style="padding: 5px 0;"><img  src="templates/common/images/ajax.gif" alt="" /></div>';
	
	function Query (href, block, data, method, wait, nocache) {
		
		if (!method) {
			method = 'POST';
		}

		if (!wait){
			wait = waiting
		}
		
		if (cache.is(href) && !nocache) {
			jQuery(block).html(cache.get(href));
			return true;
		} else {
			jQuery(block).html(wait);
		}
	
		jQuery.ajax({
		    cache		: true,
		    timeout		: 10000,
		    dataType	: 'html',
		    type		: method,
		    url			: href,
		    data		: data + '&ajax=true',

			success: function(response){
				if (!nocache){
					cache.put(href, response);
				}
				jQuery(block).html(response);
			}
	   	});
	}


/* Cache */
	
	function Cache () {
	  
	   	var cacheData 		= new Object();
		var cachePrefetch  	= false;
	  
	  	this.get = function (href) {
			return cacheData[href];
		}
		
		this.is = function (href) {
			if (cacheData[href] != undefined) {
				return true;		
			}
			return false;
		}
		
		this.put = function (href, content) {
			cacheData[href] = content;
			return true;
		}

		this.prefetch = function () {
			
			jQuery.each(jQuery('.prefetch'), function(i, currentLink) {
				go(currentLink,'',true);
			});
			return true;
		}
	}

	
	var cache = new Cache ();

/* Common functions */
		
	function refreshCodeImage(){
		jQuery('#codeimageChangeable').attr('src','codeimage/' + Math.random());
	}
	




/* Text tabs function */

	function hideTabElement(id) {
		jQuery('#'+id).hide();
	}
	
	function hideAllTabElements(){
		jQuery('.tab-text').hide();
		jQuery('.tabsLink').removeClass('tab-hovered');
	}
	
	function toggleTabElement(id){
		hideAllTabElements();
		jQuery('#'+id).toggle();
		jQuery('#link-'+id).addClass('tab-hovered');
	}

	
/* Page Navigation */

	function go (href, block, prefetch){
		
		if (cache.is(href)) {
			if (!prefetch) {
				jQuery(block).html(cache.get(href));
					registerEvents();
			}
			return true;
		}

		if (!prefetch) {
			jQuery('.pages').html(waiting);
		}
		
		jQuery.ajax({
		    cache		: true,
		    timeout		: 10000,
		    dataType	: 'html',
		    type		: 'POST',
		    
		    url			: href,
		    data		: {'ajax':'true'},
		    
		    error: function(){
		    },
		    
		    success: function(response){
			
				//cache.put(href, response);
				if (!prefetch) {
					cache.put(href, response);
					jQuery('#content').html(response);
					registerEvents();
				} else {
					randomNumber = Math.floor(Math.random()*100+1);
					jQuery('#cache').append('<div id="cache'+randomNumber+'">'+response+'</div>'); 
					lightGalleryInit();
					cache.put(href, jQuery('#cache'+randomNumber).html());
					jQuery('#cache'+randomNumber).remove();
				}
		    }
	   	});
	}

	/* Forms */


	function checkmail (email) { 
		dog = email.indexOf("@"); 
		if (dog == -1) return false; 
		if (email.indexOf(".") == -1) return false; 
		if ((dog < 1) || (dog > email.length - 5)) return false;  
		if ((email.charAt(dog - 1) == '.') || (email.charAt(dog + 1) == '.')) return false; 
		return true;
	} 
	 

	function checkForm () {
		
		var error = 0;
		
		jQuery.each(fieldArray, function(i, field) {
      		jQuery('#error-'+ field).html('');
			if 	((jQuery('#xfield-'+field).val() == '') ||
				(jQuery('#xfield-'+field).html() == '' && jQuery('#xfield-'+field).attr('tagName') == 'textarea') ||
				(jQuery('#xfield-'+field).attr('type') == 'checkbox' && jQuery('#xfield-'+field).attr('checked') == false)) {
				
				jQuery('#error-'+ field).html(lang['fill_this_field']);	
				error = 1;
			}
		});
		
		jQuery.each(emailArray, function(i, field) {
			jQuery('#error-'+ field).html('');
			if 	(jQuery('#xfield-'+field).val() == '') {
				jQuery('#error-'+ field).html(lang['fill_this_field']);	
				error = 1;
			} else if (!checkmail(jQuery('#xfield-'+field).val())) {
				 jQuery('#error-'+ field).html(lang['uncorrect_email']);	
				error = 1; 
			}
		});
	
		if (error) return false;
	
		return true;
	}

	function getBodyScrollTop()	{
	  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
	}

	
	function showForm () {
		
		jQuery.ajax({
		    cache		: true,
		    timeout		: 10000,
		    dataType	: 'html',
		    type		: 'POST',
		    
		    url			: this.href,
		    data		: {'ajax':'true'},
		    
		    error: function(){
		    },
		    
		    success: function(response){
				createdForm = jQuery('<div class="shadow" id="shadow"><div class="middle-0"><div class="middle-1"><div class="middle-2" id="middle2"></div></div></div></div>');
				createdForm.insertAfter('.footer');
				
				jQuery('#shadow').hide();
				jQuery('#shadow').css('top',getBodyScrollTop() + 'px');
				jQuery('#shadow').fadeTo('fast','.1',function(){jQuery('#shadow').show();});
				jQuery('#shadow').fadeTo('slow','.9',function(){

					jQuery('#middle2').html(response);
					refreshCodeImage();
					jQuery('.shadow-form').append('<div id="shadowClose" class="shadow-close"><img src="templates/common/images/close.gif" alt="close" /></div>');
					jQuery('#shadowClose').click(closeForm);

				});
				
				

		    }
	   	});
		
		return false;
	}

	function closeForm () {	
		jQuery('#shadow').fadeTo('slow','.1',function(){jQuery('#shadow').remove();});
	}
	
	function sendForm () {
		
		if (!checkForm()) return false;

		jQuery.ajax({
		    cache		: true,
		    timeout		: 10000,
		    dataType	: 'html',
		    type		: 'POST',
		    
		    url			: jQuery('#orderForm').attr('action'),
		    data		: jQuery('#orderForm').serialize()+'&ajax=true',
		    
		    error: function(){
		    },
		    
		    success: function(response){
			
				jQuery('#middle2').html(response);	
				if (jQuery(response).find('#orderForm').length > 0) {
					refreshCodeImage();
				} else {
					setTimeout(closeForm,1500);
				}
		    }
	   	});
		return false;
	}
