var load_map = 0;
var init_swf_upload = 0;
$(document).ready(function() {
	if(load_map == 1){
		initialize_google_map();
	}
	if(init_swf_upload == 1){
		initialize_swf_upload();
	}
	$('a[rel="lightbox"]').lightBox({imageLoading:'/images/design/lightbox/lightbox-ico-loading.gif', imageBtnClose:'/images/design/lightbox/lightbox-btn-close.gif'});
});
/***************************************
** Google Map TOOLS
****************************************/
var map;
var map_centre_point;
var active_info_window;
var map_initial_lat;
var map_initial_lon;
var map_initial_zoom;
function initialize_google_map() {
	map = new GMap2(document.getElementById("map_canvas"));
	var center = new GLatLng(map_initial_lat, map_initial_lon);
	map_centre_point = center;
	map.setCenter(center, map_initial_zoom);
	map.addControl(new GScaleControl());
	map.addControl(new GSmallZoomControl());
	var customUI = map.getDefaultUI();
	customUI.controls.scalecontrol = false;
	customUI.controls.largemapcontrol3d = false;
	customUI.controls.smallzoomcontrol3d = false;
	customUI.controls.maptypecontrol = false;

	map.setUI(customUI);

	// execute custom mapp function
	if(typeof map_additional_code == 'function') {
		map_additional_code(map);
	}
}
function myAddInfoWindow(marker, message){
	// create info window
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(message);
	});
	return marker;
}


/***************************************
** SYSTEM TOOLS
****************************************/
function Set_Cookie( name, value, expires, path, domain, secure ){
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ){
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
	return true;
}

function site_select_change(obj){
	window.location = obj[obj.selectedIndex].value;
}

// v1.5 - 2009.09.04 Ilm?rs M?rci??
//   first parameter "sObj" can be string or reference to "a" tag element with attribute "href"
function openPopUp(sObj, iWidth, iHeight) {
	if(isString(sObj)){
		var sUrl = sObj;
	}
	else{
		var sUrl = sObj.getAttribute('href');
	}
	window.open(sUrl, 'EditWindow', 'width='+iWidth+',height='+iHeight+',resizable=1,scrollbars=1');
	return false;
}
function isString(arg) {
	if (typeof arg == 'string') return true;
	if (typeof arg == 'object') {
		var criterion = arg.constructor.toString().match(/string/i);
		return (criterion != null);
	}
	return false;
}

// 2006.12.06 Ilm?rs M.
// Atrod HTML tagu kas seko n?kamais
function getPreviosTag(Me){
	var oNode = false;
	oNode = Me.previousSibling;
	while(1){
		if(oNode == false) break;
		if(oNode.nodeType == 1) break;
		oNode = oNode.previousSibling;
	}
	return oNode;
}

// 2006.12.06 Ilm?rs M.
// Atrod iepriek??jo HTML tagu
function getNextTag(Me){
	var oNode = false;
	oNode = Me.nextSibling;
	while(1){
		if(oNode == false) break;
		if(oNode.nodeType == 1) break;
		oNode = oNode.nextSibling;
	}
	return oNode;
}

// 2006.12.06 Ilm?rs M.
// B?da HTML elementus uz aug?u vai leju (maina tos viet?m)
function moveElement(elementID, up, iKey){
	if(iKey != null) sKey = '_'+iKey;
	else sKey = '';
	var oMyOrder = document.getElementById('element_sort_order_'+elementID);
	var oMyRow = document.getElementById('element_entry_'+elementID);
	var totalCount = document.getElementById('element_total_count'+sKey).value;
	if((up == 1)&&((oMyOrder.value*1) > 1)){
		var oMyBrother = getPreviosTag(oMyRow);
		var brotherID = oMyBrother.getAttribute('element_id');
		oMyRow.parentNode.insertBefore(oMyRow, oMyBrother);
		oMyOrder.value = (oMyOrder.value*1) - 1;
		document.getElementById('element_sort_order_'+brotherID).value = (document.getElementById('element_sort_order_'+brotherID).value*1) + 1;
		document.getElementById('element_changed_'+elementID).value = 1;
		document.getElementById('element_changed_'+brotherID).value = 1;
	}
	if((up != 1) && ((oMyOrder.value*1) < (totalCount*1))){
		var oMyBrother = getNextTag(oMyRow);
		var brotherID = oMyBrother.getAttribute('element_id');
		oMyRow.parentNode.insertBefore(oMyBrother, oMyRow);
		oMyOrder.value = (oMyOrder.value*1) + 1;
		document.getElementById('element_sort_order_'+brotherID).value = (document.getElementById('element_sort_order_'+brotherID).value*1) - 1;
		document.getElementById('element_changed_'+elementID).value = 1;
		document.getElementById('element_changed_'+brotherID).value = 1;
	}
}
function needSave(elementID){
	document.getElementById('element_changed_'+elementID).value = 1;
}



/***************************************
** USER TOOLS
****************************************/
// pub_user_profile_edit
function pub_user_show_change_password(){
	var oHidd = document.getElementById('change_password_hidden');
	if(oHidd.value == '0'){
		document.getElementById('change_password_block').style.display = 'block';
		oHidd.value = '1';
	}
	else{
		document.getElementById('change_password_block').style.display = 'none';
		oHidd.value = '0';
	}
}

function pub_user_show_confirm_delete_profile(){
	$('#confirm_delete_profile_link').hide();
	$('#confirm_delete_profile_block').show('slow');
}

var show_hide_all_my_team_state = 0;
function show_hide_all_my_team(){
	if(show_hide_all_my_team_state == 0){
		$('.my_team:not(:first)').slideToggle('slow');
		show_hide_all_my_team_state = 1;
	}
	else{
		$('.my_team:not(:first)').slideUp('slow');
		show_hide_all_my_team_state = 0;
	}
}

/***************************************
** COURTS GET LIST - MAP ** BEGIN **
****************************************/
function court_get_list_from_map(){
	var bounds = map.getBounds();
	var a_lat = bounds.getSouthWest().y;
	var a_lon = bounds.getSouthWest().x;
	var b_lat = bounds.getNorthEast().y;
	var b_lon = bounds.getNorthEast().x;
	// AJAX post
	$.post('?ajax=1&task=court&action=get_court_list', {a_lat:a_lat, a_lon:a_lon, b_lat:b_lat, b_lon:b_lon}, court_get_list_from_map_callback);
}
function court_get_list_from_map_callback(xml){
	var parts = [];
	parts = xml.split('{|}');
	if(parts[0] == 0){
		// error free response
		$('#court_list').html(parts[1]);
		$('#court_list').removeClass('error');
	}
	else if(parts[0] > 0){
		// response with errors
		$('#court_list').html(parts[1]);
		$('#court_list').addClass('error');
	}
}
/***************************************
** COURTS GET LIST - MAP ** END **
****************************************/

/***************************************
** USER RATING ** BEGIN **
****************************************/
function user_rating_vote_gallery(up_down){
	var pic_id = news_pics[news_pic_selected][4];
	var comment_id = 0;
	var update_panel_id = 'pic_rating_display';
	user_rating_vote(up_down, pic_id, comment_id, update_panel_id);
}
function user_rating_vote(up_down, pic_id, comment_id, update_panel_id){
	// AJAX post
	$.post('?ajax=1&task=user_rating&action=post_rating', {pic_id:pic_id, comment_id:comment_id, up_down:up_down, update_panel_id:update_panel_id}, user_rating_vote_callback);
}
function user_rating_vote_callback(xml){
	var parts = [];
	parts = xml.split('{|}');
	if(parts[0] == 0){
		// error free response
		if(parts[2] > 0) var rating = '+'+parts[2];
		else var rating = parts[2];
		$('#'+parts[1]).html(rating);
		// set javascript array correct rating
		news_pics[news_pic_selected][5] = parts[2];
	}
	else if(parts[0] > 0){
		// response with error
		$('#'+parts[1]).addClass('error');
		$('#'+parts[1]).attr('title', parts[2]);
	}
}
/***************************************
** USER RATING ** END **
****************************************/


/***************************************
** NEWS ** BEGIN
****************************************/
// comment_parameters[][0] - page
// comment_parameters[][1] - per_page
// comment_parameters[][2] - direction
var comment_parameters = [];

var comment_show_pic_comments = 0;
function news_gallery_show_pic(pic_id, direction, comment_type_p){
	if(pic_id < 0){
		pic_id = news_pic_selected+direction;
	}
	if((pic_id >= 0) && (pic_id < news_pics.length)){
		news_pic_selected = pic_id;
		if(news_pics[news_pic_selected][6] && (news_pics[news_pic_selected][6].length > 0)){
			// movie
			$('#news_gallery').css('background-image', 'url(' + news_pics[news_pic_selected][0] + ')');
			$('#news_gallery').attr('title', news_pics[news_pic_selected][1]);

			$('#news_gallery .overlay_left').hide();
			$('#news_gallery .overlay_right').hide();
			$('#news_gallery').append('<div id="embed_movie"></div>');
			var params = {allowScriptAccess:'always', allowFullScreen:'true'};
			var attributes = {allowscriptaccess:'always', allowfullscreen:'true'};
			swfobject.embedSWF(news_pics[news_pic_selected][6], 'embed_movie', '590', '442', '9.0.0', null, null, params, attributes);
		}
		else{
			// picture
			$('#embed_movie').remove();
			$('#news_gallery .overlay_left').show();
			$('#news_gallery .overlay_right').show();
			$('#news_gallery').css('background-image', 'url(' + news_pics[news_pic_selected][0] + ')');
			//oDiv.style.backgroundImage = 'url(' + news_pics[news_pic_selected][0] + ')';
			$('#news_gallery').attr('title', news_pics[news_pic_selected][1]);
			// set download icon href
			$('#news_gallery a.overlay_download').attr('href', news_pics[news_pic_selected][2]);
		}
		// remove active class
		$('#news_gallery_selector li').removeClass('active');
		// delete dots
		$('#news_gallery_selector li.dots').remove();
		// set active
		$('#news_gallery_selector li:eq('+pic_id+')').addClass('active');

		// hide unvanted selectors
		// show all selectors
		$('#news_gallery_selector li').show();
		var oLi = $('#news_gallery_selector li');
		for(var i=0; i < oLi.length; i++){
			if($(oLi[i]).hasClass('active')){
				// set previous two visible
				if((i-1) >= 0) $(oLi[i-1]).show();
				if((i-2) >= 0) $(oLi[i-2]).show();
				i++; i++;
				continue;
			}
			if(i < 3) continue;
			if((oLi.length - 4) < i) continue;
			$(oLi[i]).hide();
		}
		// insert dots in place of hidden selectors
		var dots = 0;
		for(var i=0; i < oLi.length; i++){
			if($(oLi[i]).is(':hidden') && (dots == 0)){
				$(oLi[i]).after('<li class="dots">...</li>');
				dots = 1;
			}
			else if($(oLi[i]).is(':visible')){
				dots = 0;
			}
		}
		// calculate new width
		var width = 0;
		var oLi = $('#news_gallery_selector li');
		for(var i=0; i < oLi.length; i++){
			if($(oLi[i]).is(':visible')){
				if($(oLi[i]).hasClass('dots')){
					width += 15;
				}
				else{
					width += 31;
				}
			}
		}
		$('#news_gallery_selector').width(width);

		$('#pic_description').html(news_pics[news_pic_selected][1]);

		if(comment_show_pic_comments == 1){
			$('#comment_type_id').val(news_pics[news_pic_selected][4]);
			$('#post_comment_form').show();
			$('#comment_text').val('');
			$('#ajax_post_done').hide();
			$.get('?',
				{
					comment_request:'ajax',
					comment_type:'user_gallery',
					comment_type_id:news_pics[news_pic_selected][4],
					comment_page:0,
					comment_per_page:comment_parameters[comment_type_p][1],
					comment_direction:comment_parameters[comment_type_p][2]
				},
				comment_show_callback
			);
		}

		// update rating panel
		$('#pic_rating_display').removeClass('error');
		$('#pic_rating_display').removeAttr('title');
		if(news_pics[pic_id][5] > 0) var rating = '+'+news_pics[pic_id][5];
		else var rating = news_pics[pic_id][5];
		$('#pic_rating_display').html(rating);
	}
}

function comment_post_click(e, comment_type_p){
	e.preventDefault();

	if($('#comment_text').val().length == 0){
		return;
	}

	// AJAX post
	$.post("?", {comment_post:'ajax', comment_type:comment_type_p, comment_type_id:$('#comment_type_id').val(), comment_text:$('#comment_text').val()}, comment_post_callback);
	// Hide post form
	$('#post_comment_form').hide();
	// Show waiting line
	$('#comment_post_block p.ajax_post_wait').show();
}

function comment_post_callback(xml){
	// hide waiting line
	$('#comment_post_block p.ajax_post_wait').hide();
	// show finish line
	$('#comment_post_block p.ajax_post_done').show();
	$('#comment_post_block p.ajax_post_add_new').show();
	var parts = [];
	parts = xml.split('{|}');
	if((parts.length == 4) && (parts[0] == 0)){
		// error free response. Must reload comment section box
		if(comment_parameters[parts[1]][2] == 'desc') {
			var comment_page_p = 0;
		}
		else{
			var comment_page_p = -1;
		}
		$.get('?', {comment_request:'ajax', comment_type:parts[1], comment_type_id:parts[2], comment_page:comment_page_p, comment_per_page:comment_parameters[parts[1]][1], comment_direction:comment_parameters[parts[1]][2]}, comment_show_callback);
	}
	$('#comment_post_block p.ajax_post_done').html(parts[3]);
}

function comment_show_callback(xml){
	var parts = [];
	parts = xml.split('{|}');
	if(parts.length == 2){
		$('#comment_container_'+parts[0]).html(parts[1]);
	}
}

function comment_show_page(comment_type_p, type_id, comment_page){
	comment_parameters[comment_type_p][0] = comment_page;
	$.get('?', {comment_request:'ajax', comment_type:comment_type_p, comment_type_id:type_id, comment_page:comment_parameters[comment_type_p][0], comment_per_page:comment_parameters[comment_type_p][1], comment_direction:comment_parameters[comment_type_p][2]}, comment_show_callback);
}

function comment_set_direction(obj, comment_type_p, type_id, direction){
	$('#comment_direction_select_'+comment_type_p+' a').removeClass('inactive');
	$(obj).addClass('inactive');

	comment_parameters[comment_type_p][2] = direction;
	Set_Cookie('comment_sort_order', direction, 90);
	comment_show_page(comment_type_p, type_id, 0);
}

function comment_after_post_add_new(){
	$('#post_comment_form').show();
	$('#comment_text').val('');
	$('#comment_text_counter').html('0');
	$('#comment_post_block p.ajax_post_done').hide();
	$('#comment_post_block p.ajax_post_add_new').hide();
}

function textarea_limit_length(obj, max_len, status_id){
	if(obj.value.length > max_len){
		obj.value = obj.value.substring(0, max_len);
	}
	if((status_id != undefined) && (status_id.length > 0)){
		$('#'+status_id).text(obj.value.length);
	}
}
/***************************************
** NEWS ** END
****************************************/

/***************************************
** CALENDAR ** BEGIN
****************************************/
function calendar_change_month(month_p, year_p){
	$.post("?", {calendar_change_month:'ajax', month:month_p, year:year_p}, calendar_change_month_callback);
	// Hide old calendar
	$('#small_calendar_container').hide();
	// Show waiting line
	$('#small_calendar_wait').show();
}
function calendar_change_month_callback(xml){
	var parts = []
	parts = xml.split('{|}');
	if((parts.length == 2) && (parts[0] == '0')){
		// error free response

		// hide waiting line
		$('#small_calendar_wait').hide();
		// populate calendar container with new data
		$('#small_calendar_container').html(parts[1]);
		// show calendar block
		$('#small_calendar_container').show();
	}
}
/***************************************
** CALENDAR ** END
****************************************/

/***************************************
** POOL ** BEGIN
****************************************/
function pool_post_click(e){
	e.preventDefault();
	// hide button
	$('#pool_form_button').hide();
	// show whaiting icon
	$('#pool_form_wait').show();

	var postVal = $('#post_pool_form').serialize();
	postVal+= '&ajax=1&task=pool';
	// AJAX post
	$.post("?", postVal, pool_post_callback);
}
function pool_post_callback(xml){
	var parts = []
	parts = xml.split('{|}');

	if(parts.length > 1){
		if(parts[0] == '0'){
			// normal response
			$('#pool_error_block').empty();
			$('#post_pool_form').hide();
			$('#pool_response_block').html(parts[1]);
		}
		else{
			// some kind of error
			$('#pool_error_block').empty();
			for(var i=1; i < parts.length; i++){
				$('#pool_error_block').append('<p class="error">'+parts[i]+'</p>');
			}
		}
	}
	else{
		// unknown error
	}

}
/***************************************
** POOL ** END
****************************************/


/***************************************
** USER MESSAGES ** BEGIN
****************************************/
var message_show_status = [];
function message_show(message_id, m_type){
	if(message_show_status[message_id] == 1){
		// message alredy loaded, just show it
		$('#msg_body_'+message_id).show();
		message_show_status[message_id] = 2;
	}
	else if(message_show_status[message_id] == 2){
		// message alredy loaded, just hide it
		$('#msg_body_'+message_id).hide();
		message_show_status[message_id] = 1;
	}
	else{
		// make request
		$('#msg_body_'+message_id).show();
		$.post("?ajax=1&task=message&action=get_body", {message_id:message_id,message_type:m_type}, message_show_callback);
	}
}
function message_show_callback(xml){
	var parts = [];
	parts = xml.split('{|}');
	if((parts.length > 2) && (parts[0] == 0)){
		message_show_status[parts[1]*1] = 2;
		$('#msg_body_'+parts[1]).html(parts[2]);
		if(parts[2] == 'incoming'){
			$('#message_item_'+parts[1]+' > a.head').removeClass('unread');
		}
	}
}
function message_set_replay_recipient(u_id, u_name, subject){
	$('#new_msg_recievers').html('<span>' + u_name + '<input type="hidden" name="new_msg_reciever" id="new_msg_reciever" value="' + u_id + '" /></span> ');
	$('#new_msg_title').val(subject);
	$('#new_msg_body').val('');
	$('#new_message_form').show();
}
function message_delete(message_id, m_type){
	$('#message_item_'+message_id).slideUp('fast');
	$('#message_item_'+message_id).remove();
	$.post("?ajax=1&task=message&action=delete", {message_id:message_id,message_type:m_type});
}
function new_message_post_click(e){
	e.preventDefault();

	if(($('#new_msg_body').val().length == 0) && ($('#new_msg_title').val().length == 0)){
		return;
	}
	// AJAX post
	$.post("?ajax=1&task=message&action=post_message", {msg_reciever:$('#new_msg_reciever').val(), msg_title:$('#new_msg_title').val(), msg_body:$('#new_msg_body').val()}, new_message_post_callback);
	// Hide post form
	$('#new_message_form').hide();
	// Show waiting line
	$('#new_message_block p.ajax_post_wait').show();
}

function new_message_post_callback(xml){
	// hide waiting line
	$('#new_message_block p.ajax_post_wait').hide();
	// show finish line
	$('#new_message_block p.ajax_post_done').show();
	$('#new_message_block p.ajax_post_add_new').show();
	var parts = []
	parts = xml.split('{|}');
	if((parts.length == 2) && (parts[0] == 0)){
		// error free response. Show OK status
		$('#new_message_block p.ajax_post_done').html(parts[1]);
	}
}

/***************************************
** USER MESSAGES ** END
****************************************/

/********************************************
 * VIDEO ** BEGIN ***************************
 ********************************************/
var video_show_related_page_animation_in_progress = false;
var video_show_related_page_new_data = null;
function video_show_related_page(cat_id, page_size, page){
	video_show_related_page_animation_in_progress = true;
	$('#related_videos').fadeOut(200, function(){
		video_show_related_page_animation_in_progress = false;
		video_show_related_page_do_show();
	});
	$.ajax({
		type:'POST',
		url:'?r',
		dataType:'json',
		data:{
			'json':'1',
			'ajax':'1',
			'task':'video_related_page',
			'cat_id':cat_id,
			'page_size':page_size,
			'page':page
		},
		success:function(data, textStatus, jqXHR){
			video_show_related_page_new_data = data.data;
			video_show_related_page_do_show();
		},
		error:function(jqXHR, textStatus, errorThrown){
			//console.info(jqXHR, textStatus, errorThrown);
		}
	});
}
function video_show_related_page_do_show(){
	if(video_show_related_page_animation_in_progress) return;

	$('#related_videos').empty();
	$('#related_videos').html(video_show_related_page_new_data);
	$('#related_videos').fadeIn(100);
}
/********************************************
 * VIDEO ** END *****************************
 ********************************************/

