//var sigCounter = 0;
//var sigLength = 0;

function getRandomArbitary(min, max) {
    return Math.round(Math.random() * (max - min) + min);
}

$(document).ready(function() {

	inputHelper($('#top-search').addClass('empty'), 'поиск петиций');
    inputHelper($('#t-search').addClass('empty'), 'поиск петиций');

	inputHelper($('#petition-url').addClass('empty'), 'http://');

	inputHelper($('#sig-query').addClass('empty'), 'Поиск по фамилии, имени или отчеству');
    inputHelper($('#search-query').addClass('empty'), 'Поиск по фамилии, имени или отчеству');
	$('#sig-query-button').attr('disabled', true);

	inputHelper($('#search-query'), ' ');
	//inputHelper($('.input_paging'), '100');

	if ($('#signatures').length > 0) {
	    setTimeout(addSignature, getRandomArbitary(2000, 2200));
	}

//	function addSignatureTimeout() {
//	    addSignature();
//	    setTimeout(addSignatureTimeout, getRandomArbitary(2000, 5000));
//	}

	/*sort demo*/
	if ($('.art-sort').length > 0) {
		$('.art-sort .switch').click(function() {
			$('.art-sort').toggleClass('art-sort-l');
			$('.art-sort').toggleClass('art-sort-r');
//			return false;
		});
		$('.art-sort .l').click(function() {
			$('.art-sort').removeClass('art-sort-r');
			$('.art-sort').addClass('art-sort-l');
//			return false;
		});
		$('.art-sort .r').click(function() {
			$('.art-sort').removeClass('art-sort-l');
			$('.art-sort').addClass('art-sort-r');
//			return false;
		});
	}
	/**/

	/*signature demo increment*/
//	$(document).everyTime(1000, 'tmptimer', function() {
//		if ($('.articles').length > 0) {
//			$('.articles').each(function() {
//				if (!$(this).hasClass('articles-archive')) {
//					var pos = Math.floor( Math.random() * ($(this).find('.art-title').length + 1) )
//					var art = $($(this).find('.article').get(pos));
//					var elem =  art.find('.art-title').find('b');
//					var s = elem.find('.a-num').text();
//					var n = parseInt(s.replace(/\s/g, '')) + 1;
//					elem.find('.a-num').text(numFormat(n));
//					if ( (n % 100 < 10 || n % 100 > 20) && (n % 10 == 2 || n % 10 == 3 || n % 10 == 4) ) {
//						elem.find('.a-tail').text('а');
//					} else {
//						elem.find('.a-tail').text('');
//					}
//					art.find('.art-img').find('.label').find('p').text(numFormat(n));
//				}
//			});
//		}
//		if ($('.sig-count').length > 0) {
//			if (Math.random() > 0.6) {
//				var s = $('.sig-count span').text();
//				var n = parseInt(s.replace(/\s/g, '')) + 1;
//				$('.sig-count span').text(numFormat(n));
//			}
//		}
//	});

    $(document).everyTime(20000, 'tmptimer', function() {
        var ids = [];

        $('[id^="count_"]').each(function () {
            ids.push(this.id.match(/\d+/));
        });

        if (ids.length > 0) {
            $.post(
                BASE_URL + '/counts.php',
                { ids : ids.toString() },
                function (data) {
                    if (data == '') return ;

                    for (id in data) {
                        if ($('#count_' + id).length == 0) continue;
                        $('#count_' + id).html(data[id]);
                    }
                },
                'json'
            );
        }
    });


	function numFormat(a) {
		var s = parseInt(a) + '';
		return s.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 ");
	}
	/**/

	if ($('.act-links').length > 0) {
		$('.act-links .mail').click(function() {
			$('.mail-form').show();
			return false;
		});
		$('body').click(function() {
			$('.mail-form').hide();
		});
		$('.mail-form .close').click(function() {
			$('.mail-form').hide();
			return false;
		});
		$('.mail-form').click(function(e) {
			e.stopPropagation();
		});
	}

	resizeRoutine();

});


function addSignature() {
    if (sigCounter == sigLength) {
        $.post(
            BASE_URL,
            { ts: parseInt((new Date).getTime() / 1000) },
            function (data) {
                if (data && typeof data.item != 'undefined') {
                    signaturesList[sigCounter] = data.item;
                    sigLength++;
                    addSignature();
                } else {
                    setTimeout(addSignature, getRandomArbitary(2000, 2200));
                }
            },
            'json'
        );
    } else {
    	var sig_div = $('<div>').addClass('signature');

    	var item = signaturesList[sigCounter];

    	sig_div
    		.append(
    			$('<div>').addClass('sig-img')
    				.append($('<a>').attr({ href: item.url }))
    				.append($('<div>').addClass('sig-img-mask'))
    				.append($('<img>').attr({ src: item.img }))
    		)
    		.append(
    			$('<div>').addClass('sig-content')
    				.append(
    					$('<div>').addClass('sig-title')
    						.append('<p>Подпись <b>№'+item.num+'</b> к петиции <a href="'+item.url+'"><b>'+item.title+'</b></a></p>')
    						.append('<p><b>'+item.name+'</b>, '+item.address+'     <span>'+item.date+' в '+item.time+'</span></p>')
    				)
    				.append(
    					$('<div>').addClass('sig-text').append('<p><a href="'+item.url+'">'+item.text+'</a></p>')
    				)
    		);

    	$('.signature-container').css({ marginTop: '-111px' }).prepend(sig_div);
    	$('.signature-container').animate({ marginTop: '0px' }, 2000);

    	//test
    	if (prev_pi != signaturesList[sigCounter].title) {
    	    //incCounter('petitions', -1);
			incCounter('signatures', -1);
    	    prev_pi = signaturesList[sigCounter].title;
    	}

    	sigCounter++;

        setTimeout(addSignature, getRandomArbitary(2000, 2200));
    }
}

/* RESIZE */

$(window).bind('resize', function() {
	resizeRoutine();
});

function resizeRoutine() {

}

function incCounter(counter, pos) {
	if ( pos == (-1)*($('#'+counter+' li').length + 1) ) {
		$('#'+counter).prepend($('<li>').append($('<span>').html('0')));
		if (($('#'+counter+' li').length - 1) % 3 == 0) $($('#'+counter+' li').get(1)).addClass('f');
	}
	var elem = $($('#'+counter+' li').get(pos));
	var number = parseInt(elem.find('span').html());
	newnumber = number+1;
	if (newnumber == 10) newnumber = 0;

	/* old style
	elem.append($('<span>').addClass('new').html(number).css({display:'block'}));
	elem.children('span:first').html(newnumber);
	elem.children('span:last').slideUp(1000, function() { $(this).remove(); } );
	*/

	elem.append($('<span>').addClass('new').html(newnumber));
	elem.children('span:last').slideDown(1000, function() { $(this).removeClass('new'); elem.children('span:first').remove(); } );

	if (newnumber == 0) incCounter(counter, pos-1);
}


function inputIn(obj, text) {
   if ($(obj).val() == text) {
      if (text != 'http://') $(obj).val('');
      $(obj).removeClass('empty');
	  //var but = '#'+$(obj).attr('id')+'-button';
	  //if ($(but).length > 0) $(but).attr('disabled', false);
   }
}
function inputUp(obj, text) {
   var but = '#'+$(obj).attr('id')+'-button';
   if ($(obj).val() == '' || $(obj).val() == text) {
      if ($(but).length > 0) $(but).attr('disabled', true);
   } else {
      if ($(but).length > 0) $(but).attr('disabled', false);
   }
}
function inputOut (obj, text) {
   if ($(obj).val() == '' || $(obj).val() == text) {
      $(obj).val(text);
      $(obj).addClass('empty');
	  var but = '#'+$(obj).attr('id')+'-button';
	  if ($(but).length > 0) $(but).attr('disabled', true);
   }
}
function inputHelper(obj, text) {
   $(obj)
      .bind ('focus', function () {
         inputIn (this, text);
      })
	  .bind ('keyup', function () {
         inputUp (this, text);
      })
      .bind ('blur', function () {
         inputOut (this, text);
      });
	inputOut(obj, text);
}

function updateCounts() {

}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];

			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
