$(document).ready(function(){
	prodlist();
	default_values();
	faq();
	jsubmit();

	$('#auth input').keypress(function(e) {
		if(e.keyCode == 13) {
			if ($(this).attr('class') == 'inp default-value pwd'){
				$(this).parents('form').submit();
			}else if($(this).attr('class') == 'inp default-value mail'){
				if($('.pwd').val().length > 0) $(this).parents('form').submit();
			}
			return false;
		}
	});
	
	$('#apply .radio-inp').click(function(){
		$('#apply .radio-inp').each(function(){ $(this).removeClass('radio-selected'); });
		$(this).addClass('radio-selected');
		$('#apply .radio-inp input').attr('checked', false);
		$(this).children('input').attr('checked', 'checked');
	});
	
    $('#contact .checkbox').click(function(){
        if($(this).hasClass('selected')){
            $(this).removeClass('selected');
            $(this).children('input').attr('checked', false);
        }else{
            $(this).addClass('selected');
            $(this).children('input').attr('checked', true);
        }
        return false;
    });
    
    $('#sign-up').parent('form').submit(function(){
        var email = $('#sign-up .inp').val();
        if(email.match('^[a-zA-Z0-9][a-zA-Z0-9-_]*(\.[a-zA-Z0-9][a-zA-Z0-9-_]*)*@[a-zA-Z0-9][a-zA-Z0-9-]*((\.[a-zA-Z0-9][a-zA-Z0-9-_])*[a-zA-Z0-9])*(\.[a-zA-Z]{2,6})$')){
            $('#sign-up .inp').removeClass('error-field');
            $('#sign-up .error-sign').remove();
        }else{
            $('#sign-up .inp').addClass('error-field');
            $('#sign-up .error-sign').remove();
            $('#sign-up .inp').after('<span class="error-sign" style="position: relative; margin-right: -7px;top: -3px; padding-left: 3px; font-size: 16px;">!</span>');
            return false;
        }
    });
    
    if($('#gmap').length) $('#gmap').gmap(51.524698, -0.081925);
    
    if($('#f_page_content, #f_faq_answer').length){
        $('#f_page_content, #f_faq_answer').parents('.field').width(900);
        $('#f_page_content, #f_faq_answer').parent('.fixed-field').width(650);
    }
    
    $('.form-image-delete-button').click(function(){
        if(deleteConfirm('Are you sure want to delete this image?')){
            return true;
        }else{
            return false; 
        }
    });
    
    $('.admin #tm-auth-email').focus();
    
});

function prodlist () {
	if ( $('.products, .auth, .contact').length ) {
		$('.products .couple, .auth, .contact').each(function(){
            var mh = 0;
			$(this).find('.descr').each(function(){
				var h = $(this).height();
				if(h > mh){ mh = h; }
			});
			$(this).find('.descr').each(function(){
				var h = $(this).height();
				if(h < mh){ $(this).height(mh); }
			});
			
			mh = 0;
			$(this).find('.title').each(function(){
				var h = $(this).height();
				if(h > mh){ mh = h; }
			});
			$(this).find('.title').each(function(){
				var h = $(this).height();
				if(h < mh){ $(this).height(mh); }
			});
            
            mh = 0;
            $(this).find('.white-static').each(function(){
                var h = $(this).height();
                if(h > mh){ mh = h; }
            });
            $(this).find('.white-static').each(function(){
                var h = $(this).height();
                if(h < mh){ $(this).height(mh); }
            });       
		});
	}	
}

function prod_img (id) {
	$.get('/ajax/store/prodimg/'+id+'/', function (html) {
		$('body').append(html);
		toggleOverlay($('.popup'));
	});
}

function default_values () {
	$('input.default-value, textarea.default-value').each(function(){
		var val = $(this).val();
		if( val.length ){
			this._val = val;
			$(this).focus(function(){
				if ( $(this).val() == this._val)
					$(this).val('');
			}).blur(function(){
				if ( !$(this).val().length )
					$(this).val(this._val);
			});
		}
	});	
}

function faq() {
	$('.faq-box .question').each(function() {
		$(this).click(function() {
			if($(this).hasClass('expanded')) {
				$(this).removeClass('expanded');
				$(this).siblings('.answer').slideToggle();
			}
			else {
				$(this).addClass('expanded');
				$(this).siblings('.answer').slideToggle();
			}
			return false;
		});
	});
}

function add_to_cart (product, quantity) {
	$.get('/ajax/cart/add/?product='+product+'&quantity='+quantity, function (html) {
		$('.quantity select').each(function(){ $(this).val('1') });
		$('.shopping-info').load('/ajax/cart/cart_summary/');
		toggleOverlay($('.popup'));
		$('body').append(html);
		toggleOverlay($('.popup'));
	});
}

function remove_from_cart (key) {
	$.get('/ajax/cart/remove/?item='+key, function (html) {
		$('.shopping-info').load('/ajax/cart/cart_summary/');
		$('.checkout .price').load('/ajax/cart/total_amount/');
		$('.'+key).fadeOut();
		if(html > ''){
			$('.basket').prepend(html);
			$('.empty').delay(500).fadeIn(100);
		}
	});
}

function set_item_quantity (key, quantity) {
	$.get('/ajax/cart/set_quantity/?item='+key+'&quantity='+quantity, function (html) {
		html = html.split(',');
		$('.shopping-info').load('/ajax/cart/cart_summary/');
		if(html[1] == 0){
			$('.'+key).remove();
		}else{
			$('.'+key).find('.price').html(html[1]);
		}
		$('.checkout .price').html(html[0]);
		toggleOverlay($('.popup'));
	});
}

function jsubmit () {
	$('.submit').click(function(){
		$(this).parents('form').submit();
		return false;
	});
}

function deleteConfirm (msg) {
    var c = confirm (msg);
    if(c){
        return true;
    }else{
        return false;
    }
}

$.fn.gmap = function(lat, lan) {
    if(GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById($(this).attr('id')));
        var point = new GLatLng(lat, lan);
        
        map.setMapType(G_NORMAL_MAP);
        map.setCenter(point, 15);
        
        var marker = new GIcon();
        marker.image = "/img/tm-marker.png";
        marker.iconSize = new GSize(58, 57);
        marker.iconAnchor = new GPoint(51, 44);

        markerOptions = { icon:marker };
        
        map.addOverlay(new GMarker(point, markerOptions));
        
        map.setUIToDefault();
    }
}

$.fn.delay = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};