//function urlencode(str){
//	return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
//}

function regExpEscape(text){
  if( !arguments.callee.sRE ){
    var specials = [
      '/', '.', '*', '+', '?', '|',
      '(', ')', '[', ']', '{', '}', '\\'
    ];
    arguments.callee.sRE = new RegExp(
      '(\\' + specials.join('|\\') + ')', 'g'
    );
  }
  return text.replace(arguments.callee.sRE, '\\$1');
}

function showLoading(){
	var loadingLeft = ($('body').width() - 60) / 2;	
	var loadingTop = ($('body').height() - 25) / 3;			
	$('body').append('<div class="js_loading" style="top: ' + loadingTop + 'px;left: ' + loadingLeft + 'px;">Loading...</div>');
} 
function hideLoading(){
	$('.js_loading').remove();
}

function galleryImg(src){

	if( $('.main_image').attr('src') != src ){
	
		$('.main_image').stop();

		$('.main_image').fadeTo('fast', 0).queue(function(){			
			var loadingLeft = ($('#gallery div').width() - 60) / 2;	
			var loadingTop = ($('#gallery div').height() - 25) / 2;	
			$('#gallery div').append('<div class="js_loading" style="position: absolute;top: ' + loadingTop + 'px;left: ' + loadingLeft + 'px;">Loading...</div>');			
			$(this).dequeue();
		}).queue(function(){
			$(this).attr('src', src);			
			if( jQuery.browser.opera ){
				$('.main_image').dequeue();
			} else {			
				$(this).load(function(){
					$('.main_image').dequeue();
				});
			}
		}).queue(function(){
			hideLoading();
			$(this).dequeue();
		}).fadeTo('fast', 1);
		
	}
	
}

function showTab(tabId){
	$('ul.tabs li').each(function(){
		if( $(this).children('a').attr('href').match(/#([^#]+)$/)[1] == tabId ){
			$(this).attr('class', 'selected');
		} else {
			$(this).removeAttr('class');
		}		
	});
	$('div.tabs .tab').each(function(){
		if( $(this).attr('id') == tabId ){
			$(this).show();
		} else {
			$(this).hide();
		}
	});
}
		
function hsNext(){
					
	showLoading();
	
	var productId = $('.js_home_spotlight_next').attr('href').match(/\/([^\/]+)\/([^\/]+)$/);
	productId = productId[1];				

	$.ajax({
		url: 'ajax.php',
		data: (window.languageIdentifier ? ('lang=' + languageIdentifier + '&') : '') + 'ajax=home_spotlight&product=' + productId,
		dataType: 'html',
		cache: false,	
		success: function(data, textStatus){				
								
			$('#home_spotlight').replaceWith(data);	
			
			$('.drop_shadow').each(function(){
				$(this).append('<span>' + $(this).text() + '</span>');
			});
			
			$('.js_home_spotlight_next').click(function(){return hsNext()});
			$('.js_home_spotlight_prev').click(function(){return hsPrev()});
			//jsAddToCart();
			jsAddToWishList();
			
			hideLoading();									
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){}
	});
	
	return false;	
}

function hsPrev(){ 
	
	showLoading();

	var productId = $('.js_home_spotlight_prev').attr('href').match(/\/([^\/]+)\/([^\/]+)$/);
	productId = productId[1];		

	$.ajax({
		url: 'ajax.php',
		data: (window.languageIdentifier ? ('lang=' + languageIdentifier + '&') : '') + 'ajax=home_spotlight&product=' + productId,
		dataType: 'html',
		cache: false,	
		success: function(data, textStatus){				
								
			$('#home_spotlight').replaceWith(data);	
			
			$('.drop_shadow').each(function(){
				$(this).append('<span>' + $(this).text() + '</span>');
			});
			
			$('.js_home_spotlight_next').click(function(){return hsNext()});
			$('.js_home_spotlight_prev').click(function(){return hsPrev()});
			//jsAddToCart();
			jsAddToWishList();
			
			hideLoading();	
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){}
	});
	
	return false;
	
}
/*
function jsAddToCart(){

	$('.js_add_to_cart').click(function(){
			
		showLoading();
							
		pattern = new RegExp('^(' + regExpEscape(host) + (window.languageIdentifier ? ('\\/' + languageIdentifier) : '') + ')\\/(.+)\\/([^\\/]+)$');
		var productName = $(this).attr('href').match(pattern);
		productName = productName[2];				

		$.ajax({
			url: 'ajax.php',
			data: (window.languageIdentifier ? ('lang=' + languageIdentifier + '&') : '') + 'ajax=add_to_cart&product=' + productName,
			dataType: 'html',
			cache: false,	
			success: function(data, textStatus){				
									
				$('.js_cart').replaceWith(data);	
				
				hideLoading();
				
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){}
		});
		
		return false;		
				
	});

}
*/
function jsAddToWishList(){

	$('.js_add_to_wishlist').click(function(){
					
		showLoading();
	
		pattern = new RegExp('^(' + regExpEscape(host) + (window.languageIdentifier ? ('\\/' + languageIdentifier) : '') + ')\\/(.+)\\/([^\\/]+)$');
		var productName = $(this).attr('href').match(pattern);
		productName = productName[2];
				
	
		$.ajax({
			url: 'ajax.php',
			data: (window.languageIdentifier ? ('lang=' + languageIdentifier + '&') : '') + 'ajax=add_to_wishlist&product=' + productName,
			dataType: 'html',
			cache: false,	
			success: function(data, textStatus){				
									
				$('.js_wishlist').replaceWith(data);	
				
				hideLoading();
				
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){}
		});
		
		return false;	
				
	});
}

$(document).ready(function(){

	$('.search_form .submit').attr('value', '');
	
	$('.drop_shadow').each(function(){
		$(this).append('<span>' + $(this).text() + '</span>');
	});	

	$('.hide_onload').hide();
	
	$('.submit_onchange').change(function(){
		$(this).parents().filter('form').submit();
	});
	
	$('.submit_onclick').click(function(){
		$(this).parents().filter('form').submit();
		return false;
	});		
	
	var searchFormClicked = false;
	$('.search_form input').click(function(){
		if( !searchFormClicked ){
			$('.search_form input[type="text"]').val('');
			searchFormClicked = true;		
		}
	});
	
	var loginFormClicked = false;
	$('.login input').click(function(){
		if( !loginFormClicked ){
			$('.login input[type="text"]').val('');
			$('.login input[type="password"]').val('');
			loginFormClicked = true;		
		}
	});
	
	$('.js_remove_filter').click(function(){		
		var submitValue = $(this).parent().children('input').attr('name');		
		var form = $(this).parents('form');
		form.append('<input style="dispaly: none;" type="hidden" name="' + submitValue + '" value="" />');
		form.submit();
	
		return false;
	});
	
	$('table.sort_table th, table.sort_table td').each(function(){
		if( $(this).html() == '' )
			$(this).html('&nbsp;');
	});
	
	$('table.sort_table').attr('cellspacing', 0);
	
	$('a.js_remove_address').click(function(){
		$(this).parent().children('input.js_remove_address').click();
		return false;
	});
	$('a.js_add_address').click(function(){
		$('input.js_add_address').click();
		return false;
	})
	
//	jsAddToCart();
	jsAddToWishList();
		
	$('.js_home_spotlight_next').click(function(){return hsNext()});
	$('.js_home_spotlight_prev').click(function(){return hsPrev()});
	
	$('.js_my_account').toggle(function(){
	
		var height = ($('.js_top').height())+"px";
		$('.js_top').animate({top: "0"}, 'slow');
		$('#header .row1').animate({top: height}, 'slow');
		
		return false;
	}, function(){
		
		var top = "-"+$('.js_top').height()+"px";
		$('.js_top').animate({top: top}, 'slow');
		$('#header .row1').animate({top: "0"}, 'slow');
		
		return false;		
	});
	
	$('ul.tabs a').click(function(){return false;});
	
	$('#gallery a').click(function(){return false;});
	
	var tabMaxHeight = 0;
	$('div.tabs .tab').each(function(){
		if( $(this).height() > tabMaxHeight ) tabMaxHeight = $(this).height();
	});
	$('div.tabs .tab').height(tabMaxHeight);
	
	$('.frame0').append('<span class="chrome0">&nbsp;</span><span class="chrome1">&nbsp;</span><span class="chrome2">&nbsp;</span><span class="chrome3">&nbsp;</span>');
	$('.frame1').append('<span class="chrome0">&nbsp;</span><span class="chrome1">&nbsp;</span><span class="chrome2">&nbsp;</span><span class="chrome3">&nbsp;</span>');
	
	if (!parseInt($('input[name="company_details"]:checked').val())) {
		$('.company_form').hide();
	} 
	
	$('input[name="company_details"]').change(function(){
		if (parseInt($('input[name="company_details"]:checked').val())) $('.company_form').slideDown(); 
		else $('.company_form').slideUp();
	});
	
})
