function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/);
	return pattern.test(emailAddress);
};

function getBrowserInfo() {
	var t,v = undefined;
	
	if (window.chrome) t = 'Chrome';
	else if (window.opera) t = 'Opera';
	else if (document.all) {
		t = 'IE';
		var nv = navigator.appVersion;
		var s = nv.indexOf('MSIE')+5;
		v = nv.substring(s,s+1);
	} 
	else if (navigator.appName) t = 'Netscape';
	
	return {type:t,version:v};
}

function bookmark(a){
	var url = window.document.location;
	var title = window.document.title;
	var b = getBrowserInfo();
	
	if (b.type == 'IE' && 8 >= b.version && b.version >= 4) window.external.AddFavorite(url,title);
	else if (b.type == 'Opera') {
		a.href = url;
		a.rel = "sidebar";
		a.title = url+','+title;
		return true;
	}
	else if (b.type == "Netscape") window.sidebar.addPanel(title,url,"");
	else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
	return false;
}

$(document).ready(function(){
	
	$('.star').live('click',function(){
		var block  = $(this).parent();
		var rating_count = $('#rating_count');
		var rate = $(this).attr('rel');
		
		if(rate <= 5 && rate > 0){
			var data = new Object;
			data['rate'] = rate;
			
			$.ajax({
				url: '/vote/',
				type: 'POST',
				data: data,
				dataType: 'JSON',
				success: function(response){
					if(response != 'error'){
						block.html("<img src='/images/s_"+response.rate+".png' alt=''>");
						rating_count.html(response.rating_count);
					}
				}
			})
		}
	})
	
	$('#comment_submit').live('click',function(e){
		e.preventDefault();
		var data = new Object;
		data['name'] = $('#comment_name').val();
		data['email'] = $('#comment_email').val();
		data['text'] = $('#comment_text').val();
		var error = 0;
		if(data['name'] == '' || data['email'] == '' || data['text'] == '')
			error++;
		if(!isValidEmailAddress(data['email']))
			error++;
		if(error == 0){
			$.ajax({
				url: '/add_comment',
				type: 'POST',
				data: data,
				success: function(response){
					if(response != 'error'){
						$('.comment_succes').removeClass('hidden');
						if(!$('.comment_fail').hasClass('hidden'))
							$('.comment_fail').addClass('hidden');
						setTimeout(function(){
							$('.comment_succes').fadeOut(1500);
							setTimeout(function(){
								$('.comment_succes').addClass('hidden');
							},1500);
						},500);
						$('.comments').append(response);
						$('#comment_name').val('');
						$('#comment_email').val('');
						$('#comment_text').val('');
					}else{
						$('.comment_fail').removeClass('hidden');
						if(!$('.comment_succes').hasClass('hidden'))
							$('.comment_succes').addClass('hidden');
						setTimeout(function(){
							$('.comment_fail').fadeOut(1500);
							setTimeout(function(){
								$('.comment_fail').addClass('hidden');
							},1500);
						},500);
					}
				}
			})
		}else{
			$('.comment_fail').removeClass('hidden');
			if(!$('.comment_succes').hasClass('hidden'))
				$('.comment_succes').addClass('hidden');
			setTimeout(function(){
				$('.comment_fail').fadeOut(500);
				setTimeout(function(){
					$('.comment_fail').addClass('hidden');
				},500);
			},500);
		}
	})
	$('#feedback_submit').live('click',function(e){
		e.preventDefault();
		var data = new Object;
		data['name'] = $('#feedback_name').val();
		data['email'] = $('#feedback_email').val();
		data['text'] = $('#feedback_text').val();
		var error = 0;
		if(data['name'] == '' || data['email'] == '' || data['text'] == '')
			error++;
		if(!isValidEmailAddress(data['email']))
			error++;
		if(error == 0){
			$.ajax({
				url: '/send_feedback',
				type: 'POST',
				data: data,
				success: function(response){
					if(response != 'error'){
						$('.comment_succes').removeClass('hidden');
						if(!$('.comment_fail').hasClass('hidden'))
							$('.comment_fail').addClass('hidden');
						setTimeout(function(){
							$('.comment_succes').fadeOut(1500);
							setTimeout(function(){
								$('.comment_succes').addClass('hidden');
							},1500);
						},500);
						$('#feedback_name').val('');
						$('#feedback_email').val('');
						$('#feedback_text').val('');
					}else{
						$('.comment_fail').removeClass('hidden');
						if(!$('.comment_succes').hasClass('hidden'))
							$('.comment_succes').addClass('hidden');
						setTimeout(function(){
							$('.comment_fail').fadeOut(1500);
							setTimeout(function(){
								$('.comment_fail').addClass('hidden');
							},1500);
						},500);
					}
				}
			})
		}else{
			$('.comment_fail').removeClass('hidden');
			if(!$('.comment_succes').hasClass('hidden'))
				$('.comment_succes').addClass('hidden');
			setTimeout(function(){
				$('.comment_fail').fadeOut(500);
				setTimeout(function(){
					$('.comment_fail').addClass('hidden');
				},500);
			},500);
		}
		
	})
	
	$("#search_submit").live('click',function(e){
		e.preventDefault();
		var data = new Object;
		data['query'] = $("#search_input").val();
		if(data['query'] != ""){
			data['query'] = data['query'].replace(new RegExp(" ",'g'), '_');
			data['query'] = data['query'].replace(new RegExp("/",'g'), '');
			window.location.href = "/search/"+data['query']+'/';
		}
	})
	
	
	
	
	
})

