//---------------- Manager functions
//--------------------------------------
function send_email(href_url, form_id) {
	$.get(href_url, $('#'+form_id).serialize(), function(data) {
		if(data.status) {
			widget_close();
		}
		else {
			
		}
	}, 'json');
	
	return false;
}

function email_widget(href_url, email, strings) {

	var content =
		'<form action="" method="GET" id="email_form" onsubmit="return send_email(\''+href_url+'\', \'email_form\');">' +
		'<input type="hidden" value="send-email" name="action">' +
		'<table cellpadding="0" cellspacing="0">' +

			'<tr><td><label for="address">'+strings.email+'</label></td><td><input type="text" name="address" id="address" value="'+email+'"></td></tr>'+
			'<tr><td><label for="subject">'+strings.subject+'</label></td><td><input type="text" name="subject" id="subject" value="'+strings.contact_from_odyssey+'"></td></tr>'+
			'<tr><td class="v_top"><label for="mail_body">'+strings.email_body+'</label></td><td><textarea rows="4" cols="80" name="mail_body" id="mail_body"></textarea></td></tr>' +
			'<tr><td></td><td><input type="submit" value="'+strings.send_email+'"></td></tr>' +
		'</table>' +
		'</form>';

  	var widget_background = '<div id="widget_background"></div>';
	var widget_box   = 	'<div id="widget">';
	widget_box		+=		'<center>';
	widget_box		+= 			'<div class="widget_outer_transparent_container"></div>';
	widget_box		+=			'<div class="widget_outer_container">';
	widget_box  	+=		 		'<div class="widget_close"><img src="'+href_url+'include/widgets/images/dialog-x.png" alt="" onclick="widget_close()"></div>';
	widget_box  	+= 				'<div class="widget_container_top"><div class="drag_handle"></div></div>';
	widget_box  	+= 				'<div class="widget_container">';
	widget_box  	+= 					'<div class="widget_inner_container">';
	widget_box		+=						'<div class="widget_content">';
	widget_box		+=							content;
	widget_box		+=						'</div>';
	widget_box  	+= 					'</div>';
	widget_box  	+= 				'</div>';
	widget_box  	+= 				'<div class="widget_container_bottom"></div>';
	widget_box		+=			'</div>';
	widget_box		+=		'</center>';
	widget_box  	+= 	'</div>';

	$('body').append(widget_background);
	$('body').append(widget_box);

	/* ## */

	$('#widget_background').height($(document).height());
	$('#widget').height($(document).height());
	$('#widget .widget_outer_transparent_container').height($('#widget .widget_outer_container').height());
	var widget_position_top = (($(window).height()/2) - $('#widget .widget_outer_container').height()/2) + $(window).scrollTop();
	$('#widget .widget_outer_transparent_container').css({top:widget_position_top});
	$('#widget .widget_outer_container').css({top:widget_position_top});
	$('#widget .widget_outer_container').draggable({handle:'.drag_handle'});

	$('#widget_background').css('opacity',0.5); /* If this opacity is not set, then in IE the fade-in starts from 100% and the goes transparent */
	$('#widget').hide();
	$('#widget_background').fadeIn('fast',function() {
		$('#widget').fadeIn('fast');
	});

}

function widget_close() {
	//$('#widget').hide('slide',{'direction':'left'},500,function() {
	$('#widget').fadeOut('fast',function() {
		//$('#widget_background').hide('slide',{'direction':'right'},500,function() {
		$('#widget_background').fadeOut('fast',function() {
			$('#widget_background').remove();
			$('#widget').remove();
		});
	});
}

//adds new item to items list
function add_item(href_url, container, button) {
	if (typeof add_item.num_of_items == 'undefined') {
		add_item.num_of_items = 1;
	}
	
	//We fetch the products only if add_item.select_box is not set, i.e. we do it only once
	if (typeof add_item.select_box == 'undefined') {
		$.post(href_url, {'action':'get-products'}, function(data) {
			add_item.select_box = build_products_menu(data);
			push_item(container, button, add_item.select_box);
		}, 'json');
	}
	else {
		push_item(container, button, add_item.select_box);
	}
}

//this function removes button from container, adds cont to container and then adds button again
//effectively - pushes a new cont in items list
function push_item(container, button, cont) {
	var temp = $('#'+button).clone(true);
	$('#'+button).remove();
	$('#'+container).append(cont.replace('product_select', 'product_select'+add_item.num_of_items));

	if (add_item.num_of_items < 4)
		$('#'+container).append(temp);
	
	add_item.num_of_items++;
}

//This function generates the select tag using the products received
function build_products_menu(products_info) {
	var cont = '<div>';
	cont +=		'<select name="product_select" id="product_select">';
	cont +=		'<option value=""></option>';
	
	$.each(products_info.products, function(i, product){					
		cont += '<optgroup label="' + product.title + '">';
		if (product.attributes) {
			$.each(product.attributes[0].options, function(j, option){
				cont += '<option value="'+product.doc_id+ ' ' + option.option_enc + '">' + option.option + '</option>';
			});
		} 
		else {
			cont += '<option value="'+product.doc_id+'">' + product.title + '</option>';
		}
		
		cont += '</optgroup>';
	});
	
	cont +=		'</select>';
	cont +=	'</div>';			
	cont +=	'<div class="v_spacer clear_both"></div>';
	
	return cont;	
}

function update_shipping(field, value) {
	if(typeof shipping_different.different == 'undefined') {
		shipping_different.different = false;
	}
	if(shipping_different.different) return;
	
	$('#'+field).val(value);
}

function shipping_different(check){
	if (typeof shipping_different.different == 'undefined') {
		shipping_different.different = false;
	}
	else if(check != null){
		shipping_different.different = $('#' + check).is(':checked');
	}
	
	if(shipping_different.different) {
		$('#shipping_name').attr('disabled', '');
		$('#shipping_name').val('');
		$('#shipping_address').attr('disabled', '');
		$('#shipping_address').val('');
		$('#shipping_city').attr('disabled', '');
		$('#shipping_city').val('');
		$('#shipping_zip').attr('disabled', '');
		$('#shipping_zip').val('');
	} else {
		$('#shipping_name').attr('disabled', 'disabled');
		$('#shipping_name').val($('#first_name').val() + " " + $('#last_name').val());
		$('#shipping_address').attr('disabled', 'disabled');
		$('#shipping_address').val($('#user_address').val());
		$('#shipping_city').attr('disabled', 'disabled');
		$('#shipping_city').val($('#user_city').val());
		$('#shipping_zip').attr('disabled', 'disabled');
		$('#shipping_zip').val($('#user_zip').val());
	}
}

function delete_deal_comfirm(href_url, id, index, parent, name, strings) {
	var html_cont = '<div class="delete_confirm notes" id="delete_confirm'+id+'" style="display:none">';
	html_cont += 		'<div class="n_title">'+strings.are_you_sure +' '+name+'?</div>';
	html_cont += 		'<span class="delete_button clicking_place" onclick="delete_deal(\''+href_url+'\','+id+','+index+')">'+strings.delete_+'</span> <span class="arrow">&rsaquo;</span>&nbsp;&nbsp;&nbsp;&nbsp;';
	html_cont += 		'<span class="cancel_button clicking_place" onclick="toggle_element(\'#delete_confirm'+id+'\')">'+strings.cancel+'</span> <span class="arrow">&rsaquo;</span>';
	html_cont += '</div>';
	$('#delete_confirm'+id).remove();
	$(parent).append(html_cont);
	$('#delete_confirm'+id).slideDown(300);
}

function delete_deal(href_url, id, index) {
	$.post(href_url+'?action=delete-deal', {'id': id, 'index':index}, function(data) {
		if(data.status) {
			$('#details_'+id+'__'+index).slideUp(200);
			$('#values_'+id+'__'+index).slideUp(200);
			$('#spacer_'+id+'__'+index).slideUp(200);
		}
		else {
			
		}
	}, 'json');
}

function toggle_details(element) {
	if($(element).is(':hidden')) {
		$(element).slideDown(300);
	} else {
		$(element).slideUp(300);
	}
}

function validate__user_form(href_url, node, strings){
	$('#submit_button').attr('disabled', 'disabled');
	validate__user_form.href_url = href_url;
	
	var field_error = form_fields_validation(node);
	if (field_error) {
		$('#submit_button').removeAttr('disabled');
		var errors_cont = '<div id="client_side_errors" class="errors">';
        errors_cont += '<div class="e_title">'+strings.errors_found+'</div>';
        errors_cont += '<div id="error__general">'+strings.fields_not_filled+'</div>';
        errors_cont += '</div>';

		$('#errors').html(errors_cont);

		return false;
	}
	else {
		$('input[name^=shipping]').attr('disabled', '');
		$.post(href_url+'?action=save_user', $('#user_form').serialize(), function(data) {
			if(data.status) {
				if(!data.total_products) {
					location.href = href_url+'my-account?show_user='+data.id+'&show_user_index=all';
				}
				else {
					validate__user_form.id = data.id;
					validate__user_form.transaction_status = data.transaction_status;
					validate__user_form.action = 'add-voucher-code';

					gts('he', data.total_cost, data.user_name, data.user_email, data.id, data.transaction_status, function(data) {
						$.post(validate__user_form.href_url,
						{
							'action':validate__user_form.action,
							'id':validate__user_form.id,
							'voucher':data.shva_voucher_code,
							'trans_status':validate__user_form.transaction_status,
							'invoice_link':data.invoice_link,
							'standing_order_id':(data.standing_order_id == undefined ? 0 : data.standing_order_id),
							'so_ids_serialized':data.so_ids_serialized	//data.so_ids is supposed to be an array, needs checking
						},
						function(data) {
							if(data.status) {
								//console.log(data);
							}
						});
					});
				}
				return false;
			}
			else {
				$('#submit_button').removeAttr('disabled');
				var errors_cont = '<div id="server_side_errors" class="errors">';
		        errors_cont += '<div class="e_title">'+strings.errors_found+'</div>';
				if(data.errors)
		        	errors_cont += '<div id="error__general">'+data.errors.email+'</div>';
		        errors_cont += '</div>';
				$('#errors').html(errors_cont);
				if (!shipping_different.different) {
					$('input[name^=shipping]').attr({disabled: 'disabled'});
				}

				return false;
			}
		}, 'json');

		return false;
	}
}

//---------------- Filter search functions
//--------------------------------------
function submit_filter_form(href_url, str, offset, length, names_container) {
	if ( typeof submit_filter_form.curr_page == 'undefined' ) {
        submit_filter_form.curr_page = 0;
    }

	$.get(href_url, {'action':side_action, 'query':str, 'offset':offset, 'length':length}, function(data) {
		var content = '';
		$.each(data.authors, function(i, val) { 
			content += '<div class="name_in_list"><a href="'+href_url+val.doc_id+'">'+val.name+'</a></div>';
		});

		$(names_container).html(content);
		
		var paging_cont = '';
		if(data.total > elements_per_page) {
			$('#paging').css('display', 'block');
			$('#paging_pages').html(' ');
			
			var pages = Math.ceil(data.total/elements_per_page);
			submit_filter_form.curr_page = Math.ceil(offset/elements_per_page);
			
			$('#prev_page').unbind();
			$('#prev_page').bind('click', function() {
				submit_filter_form(href_url, str, (submit_filter_form.curr_page-1 < 0 ? 0 : submit_filter_form.curr_page-1)*elements_per_page, elements_per_page, names_container);
			});
			
			$('#next_page').unbind();
			$('#next_page').bind('click', function() {
				submit_filter_form(href_url, str, (submit_filter_form.curr_page+1 > pages-1 ? pages-1 : submit_filter_form.curr_page+1)*elements_per_page, elements_per_page, names_container);
			});
			
			for(var i = 0; i < pages; i++) {
				var is_curr = (i == submit_filter_form.curr_page ? true : false);
				var this_id = 'page' +i; 
				paging_cont = ' <span class="'+(is_curr ? 'current' : 'regular clicking_place') +'" id="'+this_id+'">'+(1+i)+'</span> ';
				
				$('#paging_pages').append(paging_cont);
				$('#'+this_id).bind('click', {id:i}, function(event) {
					submit_filter_form(href_url, str, event.data.id*elements_per_page, elements_per_page, names_container);
				});
			}
		}
		else {
			$('#paging').css('display', 'none');
		}
		
	}, 'json');
	
	return false;
}

function submit_filter_form_article(href_url, str, offset, length, names_container) {
	if ( typeof submit_filter_form_article.curr_page == 'undefined' ) {
        submit_filter_form_article.curr_page = 0;
    }

	$.get(href_url, {'action':side_action, 'query':str, 'offset':offset, 'length':length}, function(data) {
		var content = '';
		var pages = Math.ceil(data.total/elements_per_page);
		submit_filter_form_article.curr_page = Math.ceil(offset/elements_per_page);
		
		$.each(data.articles, function(j, val) {
			var article_num = elements_per_page*submit_filter_form_article.curr_page + j + 1;
			
			content += '<div class="article '+ (val.open ? 'open' : 'closed') +'">';
			content += '<div class="name"><span class="num">'+ (article_num < 10 ? '0' : '')+article_num+'.</span> <a href="'+val.doc_id+'" title="'+val.title+'">'+val.title+'</a></div>';
			content += '<div class="snippet">'+ BY + ' ' + val.author+'</div>';
			content += '</div>';
		});

		$(names_container).html(content);
		
		var paging_cont = '';
		if(data.total > elements_per_page) {
			$('#paging').css('display', 'block');
			$('#paging_pages').html(' ');
			
			$('#prev_page').unbind();
			$('#prev_page').bind('click', function() {
				submit_filter_form_article(href_url, str, (submit_filter_form_article.curr_page-1 < 0 ? 0 : submit_filter_form_article.curr_page-1)*elements_per_page, elements_per_page, names_container);
			});
			
			$('#next_page').unbind();
			$('#next_page').bind('click', function() {
				submit_filter_form_article(href_url, str, (submit_filter_form_article.curr_page+1 > pages-1 ? pages-1 : submit_filter_form_article.curr_page+1)*elements_per_page, elements_per_page, names_container);
			});
			
			for(var i = 0; i < pages; i++) {
				var is_curr = (i == submit_filter_form_article.curr_page ? true : false);
				var this_id = 'page' +i; 
				paging_cont = ' <span class="'+(is_curr ? 'current' : 'regular clicking_place') +'" id="'+this_id+'">'+(1+i)+'</span> ';
				
				$('#paging_pages').append(paging_cont);
				$('#'+this_id).bind('click', {id:i}, function(event) {
					submit_filter_form_article(href_url, str, event.data.id*elements_per_page, elements_per_page, names_container);
				});
			}
		}
		else {
			$('#paging').css('display', 'none');
		}
		
	}, 'json');
	
	return false;
}

//---------------- Discussions search functions
//--------------------------------------
function check_discussion_search_form(form) {
	for(var i=0; i < form.elements.length; i++) {
		if(form.elements[i].id == '') continue;
		
		var jqid = "#"+form.elements[i].id;
		if($(jqid).is('input')) {
			if($(jqid).is('.black_text')) {
				return nullify_greys(form);
			}
		}
		else if(form.elements[i].value != "") {			
			return nullify_greys(form);
		}
	}

	return false;
}


//---------------- Discussion center functions
//--------------------------------------
function toggle_element(element, arrow) {
	if($(element).is(':hidden')) {
		$(element).slideDown(300);
		if(arrow != null && $(arrow) != null) {
			$(arrow).html('&#9660;');
		}
	} else {
		$(element).slideUp(300);
		if(arrow != null && $(arrow) != null) {
			$(arrow).html('<span class="crucial">&#9664;</span>');
		}
	}
}

//href_url - generated by the gyro function
//node - the form node
//strings - the $strings array from he_strings file
//discussion - if set to true will treat the talkback-add-process as if it is a discussion 
function validate__talkback_form(href_url, node, strings, discussion, doc_name) {
	$('#submit_button').attr('disabled', 'disabled');
	var field_error = form_fields_validation(node);
	if(field_error) {
		$('#submit_button').removeAttr('disabled');
	} else {
		$('#user_db_name').val($('#user__name').val());
		
		var txt = $('#talkback_form').serialize();
		$.post(href_url+'talkback-post', txt, function(data) {
			$('#form_container').fadeOut(200, function() {
				setTimeout(function() {
					$('#form_container').html('<div class="cont"><div class="success">'+ (discussion ? strings.discussion_opened : strings.comment_added) +'</div></div>');
					$('#form_container').fadeIn(200);
				}, 200);
			});
			if(!discussion)
				generate_talkback_html(href_url, '#comments_d', data.saved, '#talkbacks_count', strings);
			else {
				generate_discussion_html(href_url, '#results_d', data.saved, strings, doc_name);
			}
		}, 'json');		
	}
	return false;
}

function generate_discussion_html(href_url, container, tb_id, strings, doc_name) {
	$.get(href_url, {'action':'get-talkback', 'id':tb_id},	
		function(data) {
			var element_id = 'new_discussion'; 
			var base = '<div class="v_spacer"></div>';
			base += '<div class="discussion" id="'+element_id+'" style="display:none"></div>';
			$(container).html(base + $(container).html());
		
			var str = '';
			str += 	'<div class="cont">';
			str += 		'<div class="title"><a href="'+href_url+doc_name+'?talkback='+data.doc_id+'">'+data.title+'</a></div>';
			str += 		'<div class="date">'+data.date+'</div>';
			str += 		'<div class="writer_name">'+data.user_name+'</div>';
			str += 		'<div class="text">'+data.content.substring(0, 100)+ (data.content.length > 100 ? '...' :'')+'</div>';
			str += 	'</div>';
			
			$('#'+element_id).html(str);
			$('#'+element_id).slideDown(400);
		},
		'json'
	);
}

function generate_talkback_html(href_url, container, tb_id, num_element, strings){
	$.get(href_url, {'action':'get-talkback', 'id':tb_id},	
		function(data) {
			var num = $(num_element).val();
			var element_id = 'comment_'+num; 
			var base = '<div class="v_spacer"></div>';
			base += '<div class="' +(num == 0 ? 'dotted_bg' : 'light_bg')+ '" id="'+element_id+'" style="display:none"></div>';
			$(container).html($(container).html() + base);
		
			var str = '';
			str += 	'<div class="comment">';
			str += 		'<div class="">';
			str += 			'<div class="title">';
			str += 				'<div class="num">'+ (num==0 ? strings.main_comment : (num < 10 ? '0'+num : num )) + '. ' +(num ? data.title : '')+'</div>';
			str += 				'<div class="writer_name">'+ data.user_name +' <span class="crucial">&#9664;</span></div>';
			str += 				'<div class="date">'+data.date+'</div>';
			str += 			'</div>';
			str += 			'<div class="text">'+data.content+'</div>';
			str += 		'</div></div>';
			
			$('#'+element_id).html(str);
			$('#'+element_id).slideDown(400);
			$(num_element).val($(num_element).val()+1);
			$('#nums').html(num);
		},
		'json'
	);
}


//---------------- Articles search functions
//--------------------------------------
function check_article_search_form(form) {
	for(var i=0; i < form.elements.length; i++) {
		if(form.elements[i].id == '') continue;
		
		var jqid = "#"+form.elements[i].id;
		if($(jqid).is('input')) {
			if($(jqid).is('.black_text')) {
				return nullify_greys(form);
			}
		}
		else if(form.elements[i].value != "") {			
			return nullify_greys(form);
		}
	}

	return false;
}

//sets grey inputs to empty
function nullify_greys(form) {
	for(var i=0; i < form.elements.length; i++) {
		if(form.elements[i].id == '') continue;
		var jqid = '#'+form.elements[i].id;
		if($(jqid).is('input') && !$(jqid).is('.black_text')) {
			$(jqid).val('');
		}
	}

	return true;
}

//---------------- Authors search functions
//--------------------------------------
function check_search_form(form) {	
	
	for (var i=0; i < form.elements.length; i++) {
		if(form.elements[i].id == 'free_search') {
				if($('#free_search').is('.black_text')) {
					return true;
				}
		}
		else if(form.elements[i].value != "") {
			//if there's no input in free_search - empty it'
			if(!$('#free_search').is('.black_text')) {
				$('#free_search').attr('value', '');
			}
			return true;
		}
	}
	return false;
}

function focus_field(field) {
	if($('#' + field).is('input')) {	//set text values etc
		if(!$('#' + field).is('.black_text')) {
			STR_CONTAINER = $('#' + field).attr('value');
			$('#' + field).removeClass().addClass('black_text');
			$('#' + field).attr('value', '');
		}
	}
}

function blur_field(field, ret_text) {
	if($('#' + field).is('input')) {	//set text values etc
		if($('#' + field).attr('value') == '') {
			$('#' + field).removeClass();
			$('#' + field).attr('value', ret_text);
		}
	}
}

////---------------- Homepage authors functions
//--------------------------------------

function show_authors_home(first) {		
	if(first < 0) {
		currFirstAuthor = 0;
	}
	else {
		currFirstAuthor = first;
	}
	
	switch_authors_home(HREF, currFirstAuthor, AUTHORS);		
}

function switch_authors_home(href_url, offset, length) {
	$('#button_left').removeClass().addClass('greyed_left');
	$('#button_right').removeClass().addClass('greyed_right');
	$('#button_left').unbind('click');
	$('#button_right').unbind('click');
	
	$.get(href_url, {'action':'get-authors', 'offset':offset, 'length':length},
	
		function(data) {
			currFirstAuthor = data.offset;
			
			if(!data.last) {
				$('#button_left').removeClass().addClass('clicking_place');
				$('#button_left').bind('click', function() {
					show_authors_home((currFirstAuthor + AUTHORS));
				});
			}
			
			if(currFirstAuthor > 0) {
				$('#button_right').removeClass().addClass('clicking_place');
				$('#button_right').bind('click', function() {
					show_authors_home((currFirstAuthor - AUTHORS));
				});
			}
			
			$.each(data.authors, function(i, val) {
				switch_author_home(i, val.img, val.fname + ' ' + val.lname, val.link);
					/*setTimeout(
						function() {
							//$('#debug').html('Index: '+i+' Val: '+val.img);
							switch_author_home(i, val.img, val.fname + ' ' + val.lname, val.link);
						}, i*100
					);*/
				}
			);
		},
		'json'
	);
}

function switch_author_home(index, image_url, name, url) {
	//$('#debug').html('Index: '+index+' Val: '+image_url + ' Name: ' + name + ', curr_f: ' + currFirstAuthor);
	
	$('#author_name'+index).html('<a href="'+url +'">'+name+'</a> <span class="crucial">&#9664;</span>');
	$('#author_img'+index).attr('src', image_url);
	
	/*$('#author_name'+index).fadeOut(200, function() {
		setTimeout(function() {
			$('#author_name'+index).html('<a href="'+url +'">'+name+'</a> <span class="crucial">&#9664;</span>');
			$('#author_name'+index).fadeIn(200);
		}, 100);
	});
	$('#author_img'+index).fadeOut(200, function() {
		$('#author_img'+index).attr('src', image_url);
		setTimeout(function() {
			$('#author_img'+index).fadeIn(200);
		}, 100);
	});*/
}

//---------------- Authors page functions
//---------------------------------------

function show_authors(first) {
	if (first < 0) {
		currFirstAuthor = 0;
	}
	else {
		currFirstAuthor = first;
	}
	
	switch_authors(HREF, currFirstAuthor, AUTHORS);		
}

function switch_authors(href_url, offset, length){
	//alert(href_url + ", " + offset + ", " + length);
	$('#arrow_left').removeClass().addClass('greyed_left');
	$('#arrow_right').removeClass().addClass('greyed_right');
	$('#arrow_left').unbind('click');
	$('#arrow_right').unbind('click');
	
	$.get(href_url, {'action':'get-authors', 'offset':offset, 'length':length},
	
		function(data) {
			currFirstAuthor = data.offset;

			if(!data.last) {
				$('#arrow_left').removeClass().addClass('clicking_place');
				$('#arrow_left').bind('click', function() {
					show_authors(currFirstAuthor + AUTHORS);
				});
			}
			
			if(currFirstAuthor > 0) {
				$('#arrow_right').removeClass().addClass('clicking_place');
				$('#arrow_right').bind('click', function() {
					show_authors(currFirstAuthor - AUTHORS);
				});
			}

			//$('#debug').html("first: " + data.first + ", last: " + data.last + ", currFirst: " + offset);

			$.each(data.authors, function(i, val) {
				authors[i] = val.id;
				switch_author(i, val.img, (val.fname + ' ' + val.lname), val.link, val.id);
				
				/*setTimeout(
					function() {
						switch_author(i, val.img, (val.fname + ' ' + val.lname), val.link, val.id);
					}, i*100
				);*/
					
				if(selectedId == -1 && i == toPick) {
					pickAuthor(toPick);
				}
				}
			);
		},
		'json'
	);
}

function switch_author(index, image_url, name, url, id) {
	//alert(index +" "+ image_url +" "+  name +" "+  url +" "+  id)
	$('#author_title'+index).html(name);
	$('#author_img'+index).attr('src', image_url);
	if(id == selectedId) {
		$('#author_div'+index).removeClass().addClass('sel_author author');
	}
	else {			
		$('#author_div'+index).removeClass().addClass('author clicking_place');
	}
	
	/*$('#author_div'+index).fadeOut(200, function() {
		$('#author_title'+index).html(name);
		$('#author_img'+index).attr('src', image_url);
		
		if(id == selectedId) {
			$('#author_div'+index).removeClass().addClass('sel_author author');
		}
		else {			
			$('#author_div'+index).removeClass().addClass('author clicking_place');
		}
			
		setTimeout(function() {
			$('#author_div'+index).fadeIn(200);
		}, 100);
	});*/
}

//Picks and shows an issue from the selection bar
function pickAuthor(num) {
	$('.author').removeClass('sel_author').addClass('clicking_place');
	$('#author_div' + num).removeClass().addClass('author sel_author');
	
	$('.author').unbind('click');
	for (i = 0; i < AUTHORS; i++) {
		if (i != num) {
			$('#author_div' + i).bind('click', function(){
				pickAuthor(i);
			});
		}
	}
	
	selectedAuthor = num;
	selectedId = authors[num];

	$.get(HREF, {'action':'get-author-infos', 'id':selectedId},	
		function(data) {
			$('#author_name_a').html((data.user_title == null ? '' : data.user_title)+ ' ' + data.f_name + ' ' + data.l_name);
			$('#about').html(data.about == null ? '' : data.about);
			$('#education').html(data.education == null ? '' : data.education);
			$('#work').html(data.work == null ? '' : data.work);

			if (data.website != null) {
				$('#web_box_d').removeClass().addClass('box');
				$('#to_writer_page').removeClass().addClass('to_writer_page clicking_place');
				$('#to_writer_page').bind('click', function() {
					window.open(data.website);
				});
				//$('#web_a').attr('href', data.website);
			}
			else {
				$('#web_box_d').removeClass().addClass('box disabled_by_opacity');
				$('#to_writer_page').unbind();
				$('#to_writer_page').removeClass().addClass('to_writer_page');
				//$('#web_a').attr('href', '');
			}
			$('#big_pic').attr('src', data.big_img);
			var str = '';
			$.each(data.articles, function(i, val){
				//if (i < 8) 
					str += '<div class="article" style="height:auto;padding:0 0 10px 0"><div class="name"><span class="num">0' + (i + 1) + '. </span><a href="' + val.link + '">' + val.title + '</a> <span class="crucial">&#9664;</span></div>' + (val.issue_title ? '<div class="snippet">' + val.issue_title + ' | ' + val.issue_date + '</div>' : '') + '</div>';
			});
			$('#articles_links').html(str);
			$('#author_name_b').html((data.user_title == null ? '' : data.user_title) + ' ' + data.f_name + ' ' + data.l_name);
			
			/*$('#cont_div').fadeOut(200, function() {				
				$('#author_name_a').html((data.user_title == null ? '' : data.user_title)+ ' ' + data.f_name + ' ' + data.l_name);
				$('#about').html(data.about == null ? '' : data.about);
				$('#education').html(data.education == null ? '' : data.education);
				$('#work').html(data.work == null ? '' : data.work);

				if (data.website != null) {
					$('#web_box_d').removeClass().addClass('box');
					$('#to_writer_page').removeClass().addClass('to_writer_page clicking_place');
					$('#to_writer_page').bind('click', function() {
						window.open(data.website);
					});
					//$('#web_a').attr('href', data.website);
				}
				else {
					$('#web_box_d').removeClass().addClass('box disabled_by_opacity');
					$('#to_writer_page').unbind();
					$('#to_writer_page').removeClass().addClass('to_writer_page');
					//$('#web_a').attr('href', '');
				}
				
				$('#big_pic').fadeOut(200,  function() {
					$('#big_pic').attr('src', data.big_img);
					
					$('#articles_d').fadeOut(200, function(){
						var str = '';
						$.each(data.articles, function(i, val){
							//if (i < 8) 
								str += '<div class="article" style="height:auto;padding:0 0 10px 0"><div class="name"><span class="num">0' + (i + 1) + '. </span><a href="' + val.link + '">' + val.title + '</a> <span class="crucial">&#9664;</span></div>' + (val.issue_title ? '<div class="snippet">' + val.issue_title + ' | ' + val.issue_date + '</div>' : '') + '</div>';
						});
						$('#articles_links').html(str);
						$('#author_name_b').html((data.user_title == null ? '' : data.user_title) + ' ' + data.f_name + ' ' + data.l_name);
						setTimeout(function() {
							$('#cont_div').fadeIn(200);
							$('#big_pic').fadeIn(200);
							$('#articles_d').fadeIn(200);
						}, 100);
					});
				});
			});*/
			
		},
		'json'
	);
}

//---------------- Archive page functions
//---------------------------------------

function show_issues(first) {		
	if(first < 0) {
		currFirstIssue = 0;
	}
	else {
		currFirstIssue = first;
	}
	
	switch_issues(HREF, currFirstIssue, ISSUES);		
}

function switch_issues(href_url, offset, length){
	//alert("hello: " + href_url + ", " + offset + ", " + length);
	$('#arrow_left').removeClass().addClass('greyed_left');
	$('#arrow_right').removeClass().addClass('greyed_right');
	$('#arrow_left').unbind('click');
	$('#arrow_right').unbind('click');
	
	$.get(href_url, {'action':'get-issues', 'offset':offset, 'length':length},
	
		function(data) {
			currFirstIssue = data.offset;
			
			if(!data.last) {
				$('#arrow_left').removeClass().addClass('clicking_place');
				$('#arrow_left').bind('click', function() {
					show_issues((currFirstIssue + ISSUES));
				});
			}
			
			if(currFirstIssue > 0) {
				$('#arrow_right').removeClass().addClass('clicking_place');
				$('#arrow_right').bind('click', function() {
					show_issues((currFirstIssue - ISSUES));
				});
			}
			
			$.each(data.issues, function(i, val) {
				issues[i] = val.id;
				switch_issue(i, val.archive_thumb, val.number, val.link, val.id);
				/*setTimeout(
					function() {
						switch_issue(i, val.archive_thumb, val.number, val.link, val.id);
					}, i*100
				);*/
				if(selectedId == -1 && i == toPick) {
					pickIssue(toPick);
				}
				
			}
			);
		},
		'json'
	);
}

function switch_issue(index, image_url, number, url, id) {
	$('#issue_title'+index).html(STR_ISSUE + ' '  + (number < 10 ? '0' : '') + number);
	$('#issue_img'+index).attr('src', image_url);
	
	if(id == selectedId) {
		$('#issue_div'+index).removeClass().addClass('sel_issue issue');
	}
	else {			
		$('#issue_div'+index).removeClass().addClass('issue clicking_place');
	}
	/*
	$('#issue_div'+index).fadeOut(200, function() {
		$('#issue_title'+index).html(STR_ISSUE + ' '  + (number < 10 ? '0' : '') + number);
		$('#issue_img'+index).attr('src', image_url);
		
		if(id == selectedId) {
			$('#issue_div'+index).removeClass().addClass('sel_issue issue');
		}
		else {			
			$('#issue_div'+index).removeClass().addClass('issue clicking_place');
		}
			
		setTimeout(function() {
			$('#issue_div'+index).fadeIn(200);
		}, 100);
	});*/
}

//Picks and shows an issue from the selection bar
function pickIssue(num) {
	$('.issue').removeClass('sel_issue').addClass('clicking_place');
	$('#issue_div' + num).removeClass().addClass('issue sel_issue');
	
	$('.issue').unbind('click');
	for (i = 0; i < ISSUES; i++) {
		if (i != num) {
			$('#issue_div' + i).bind('click', function(){
				pickIssue(i);
			});
		}
	}
	
	selectedIssue = num;
	selectedId = issues[num];
	
	$.get(HREF, {'action':'get-issue-infos', 'id':selectedId},	
		function(data) {
			$('#issue_pic').attr('src', data.archive_pic);
				
			$('#issue_title').html('<span class="orange">' + data.title + '</span>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;' + data.heb_date);
			$('#short_description').html(data.short_description);
			
			var str = '';
			$.each(data.articles, function(i, val) {
				var article_subclass = !val.open ? ' closed' : '';
				str += '<div class="article_title'+article_subclass+'"><a href="'+val.link+'">'+val.title +'</a> <span class="crucial"></span></div>' +
				'<div class="author_name">מאת '+ (val.author_title == null ? '' : val.author_title) + ' ' + val.author_name+ '</div>';
			});
			$('#articles_list').html(str);
			
			str = '';
			$.each(data.columns, function(i, val) {
			    var column_subclass = !val.open ? ' closed' : '';
				str += '<div class="article_title'+column_subclass+'"><a href="'+val.link+'">'+val.title +'</a> <span class="crucial"></span></div>' +
				'<div class="author_name">מאת '+ (val.author_title == null ? '' : val.author_title) + ' ' + val.author_name+ '</div>';
			});
			$('#columns_list').html(str);
			
			/*$('#cont_div').fadeOut(200, function() {
				$('#issue_pic').fadeOut(200);
				$('#issue_pic').attr('src', data.archive_pic);
				
				$('#issue_title').html('<span class="orange">' + data.title + '</span>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;' + data.heb_date);
				$('#short_description').html(data.short_description);
				
				var str = '';
				$.each(data.articles, function(i, val) {
					var article_subclass = !val.open ? '' : ' open';
					str += '<div class="article_title'+article_subclass+'"><a href="'+val.link+'">'+val.title +'</a> <span class="crucial">&#9664;</span></div>' +
					'<div class="author_name">מאת '+ (val.author_title == null ? '' : val.author_title) + ' ' + val.author_name+ '</div>';
				});
				$('#articles_list').html(str);
				
				str = '';
				$.each(data.columns, function(i, val) {
				    var column_subclass = !val.open ? '' : ' open';
					str += '<div class="article_title'+column_subclass+'"><a href="'+val.link+'">'+val.title +'</a> <span class="crucial">&#9664;</span></div>' +
					'<div class="author_name">מאת '+ (val.author_title == null ? '' : val.author_title) + ' ' + val.author_name+ '</div>';
				});
				$('#columns_list').html(str);
				
				
				
				setTimeout(function() {
					$('#cont_div').fadeIn(200);
					$('#issue_pic').fadeIn(200);
				}, 100);
			});*/
			
		},
		'json'
	);
}


function show_side_issues(offset, length) {
	$.get(HREF, {'action':'get-issues', 'offset':offset, 'length':length, 'dontpad':true},
		function(data) {
			
		}
	);
}

/* bdug */
function logg(val){
	if(window.console && console.log) {
		console.log(val);
	}
}

function globals() {
	
}

/* ## */

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17595083-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script');ga.type = 'text/javascript';ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
})();


