

	Array.prototype.inArray = function (value)
	// Returns true if the passed value is found in the
	// array.  Returns false if it is not.
	{
	    var i;
	    for (i=0; i < this.length; i++) {
	        // Matches identical (===), not just similar (==).
	        if (this[i] === value) {
	            return true;
	        }
	    }
	    return false;
	};
	

	function getObjInnerText (obj) {
		return (obj.innerText) ? obj.innerText
		: (obj.textContent) ? obj.textContent
		: "";
	} 

	
	$(document).ready(function() {	
		$("#hide_advsearch").click(function() { $("#advsearch").slideUp(200); $("#div_show_advsearch").show(); $("#div_hide_advsearch").hide(); return false;   } );
		$("#show_advsearch").click(function() { $("#advsearch").slideDown(200); $("#div_show_advsearch").hide(); $("#div_hide_advsearch").show(); return false; } );

		$('div.riz_calendar').find('*').unbind('click').unbind('blur');
		$("a.show_month").click(function() {$("div.month_div").toggle(); $("div.year_div").hide(); return false; } );
		$("a.show_year").click(function() {$("div.year_div").toggle(); $("div.month_div").hide(); return false; } );

		$('table.calendar_block img.select_opener').click(function() {
			element = $(this).parent().parent().find('td.block_121').find('div.options_list');
						
			if ($(element).is(':visible')) {
				var bt = false;
			} else {
				var bt = true;
			}

			$('div.options_list').each(function() {
				$(this).hide();			 				
			})
			
			if (!bt) {
				$(element).hide();
			} else {
				$(element).show();
			}	
			
			buildcal($(this).parents('table.calendar_block').find('div.block_123')); // OMG, dirty hack!			
			return false;
		});


		$('div.riz_calendar').find('div.month_div').find('td.td_2').find('p').click( function() { 
			$("div.month_div").hide();
			$(this).parents('table.block_210').find('td.td_01').eq(0).text(this.textContent);
			var index =  $(this).parent().find('p').index(this);
			$(this).parents('.block_121').find('.select_month').val(index + 1);
			
			buildcal($(this));
		} );

		$('div.riz_calendar').find('div.year_div').find('td.td_2').find('p').click( function() {
			$("div.year_div").hide();
			var textContent = $(this).text();
			$(this).parents('table.block_210').find('td.td_01').eq(1).text(textContent);
			$(this).parents('.block_121').find('.select_year').val(textContent);

			buildcal($(this));
		});

	});
	

	
	function buildcal(element) {
	
		//console.log(element);
		//console.log(element.parents('.block_121').get(0));
		//console.log(element.parents('.block_121').find('.select_year'));		
		
		
		if (element!=undefined) {		
	
			root = element.parents('.block_121').get(0);

			if (root!=undefined) {
				//alert(element.parents('.block_121').find('.select_year').val());
				var year = element.parents('.block_121').find('.select_year').val();
				var month = element.parents('.block_121').find('.select_month').val();
				var day = element.parents('.block_121').find('.select_day').val();				
			//	console.log('1');
			} else {
				var year = element.parents('div.block_selector').find('.select_year').val();
				var month = element.parents('div.block_selector').find('.select_month').val();
				var day = element.parents('div.block_selector').find('.select_day').val();
			//	console.log('2');				
			}	
		
		} else {
				var year = $('div.block_selector').find('.select_year').val();
				var month = $('div.block_selector').find('.select_month').val();
				var day = $('div.block_selector').find('.select_day').val();	
			//	console.log('3');
		}

		if (year == '') { year = 2008; }
		if (month == '') { month = 0; }

		dt = new Date(year,month - 1,1);
		var first = dt.getDay();

		if (first == 0) {
			first = 7;
		}

		var lastDate = new Date(parseInt(year), parseInt(month), 1); // was parseInt(month)+1
		lastDate.setDate(0);
		last = lastDate.getDate();
		
		$('#divCalendarYear').html(year);
		$('#divCalendarMonth').html($('#divCalendarMonthOptions P').eq(month - 1).text());
		
		if (element!=undefined) {
			var calData = [];
			calData.push('<table border="0" cellpadding="0" cellspacing="0" class="block_211"><tr><td>П</td><td>В</td><td>С</td><td>Ч</td><td>П</td><td>С</td><td>В</td></tr>');
			var oldLine = false;
		
			for (i=1;i<=last+first-1;i++)	{
				pos = first + i;
				line = Math.ceil(i / 7);
				if (oldLine != line) {
					if (oldLine) {
						calData.push('<tr>');
					} else {
						calData.push('</tr><tr>');
					}
					oldLine = line;
				}

				if (i<first) {
					calData.push('<td>&nbsp;</td>');
				} else {
					if ((i-first+1)==day) {					
						calData.push('<td style="background:transparent url(/img/bg/ring.gif) no-repeat scroll center; padding: 5px"><a href="#" onclick="return selectdate(this,'+(i-first+1)+')">'+(i-first+1)+'</a></td>');
					} else {
						calData.push('<td style="padding: 5px"><a href="#" onclick="return selectdate(this,'+(i-first+1)+')">'+(i-first+1)+'</a></td>');
					}
				}
				//$rows.eq(line+1).append(tag);
			}	
			
			calData.push('</tr></table>');
			element.parents('table.calendar_block').find('TD.td_3').html(calData.join('\n'));

/*
			element.parents('table.calendar_block').find('table.block_211').find('tr:gt(0)').empty();	
			var $rows = element.parents('table.calendar_block').find('table.block_211').find('tr');


			for (i=1;i<=last+first-1;i++)	{
				pos = first + i;
				line = Math.ceil(i / 7);

				if (i<first) {
					tag = "<td>&nbsp;</td>";
				} else {
					if ((i-first+1)==day) {					
						tag = '<td style="background:transparent url(/img/bg/ring.gif) no-repeat scroll center; padding: 5px"><a href="#" onclick="return selectdate(this,'+(i-first+1)+')">'+(i-first+1)+'</a></td>';	
					} else {
						tag = '<td style="padding: 5px"><a href="#" onclick="return selectdate(this,'+(i-first+1)+')">'+(i-first+1)+'</a></td>';
					}
				}

				$rows.eq(line+1).append(tag);
			}
*/

		} else { // Используется как inline алендарь
		
			$('div.block_selector').find('table.block_211').find('tr:gt(0)').empty();
			
			for (i=1;i<=last+first-1;i++)	{
				pos = first + i;
				line = Math.ceil(i / 7);

				if (i<first) {
					tag = "<td>&nbsp;</td>";
				} else {
					if ((i-first+1)==day) {					
						tag = '<td style="background:transparent url(/img/bg/ring.gif) no-repeat scroll center; padding: 5px"><a href="#" onclick="return selectdate(this,'+(i-first+1)+')">'+(i-first+1)+'</a></td>';	
					} else {
						tag = '<td style="padding: 5px"><a href="/daily/index?day='+(i-first+1)+'&month='+month+'&year='+year+'" >'+(i-first+1)+'</a></td>';
					}
				}

				$('div.block_selector').find('table.block_211').find('tr').eq(line+1).append(tag);
			}
		
		
		}

		
	};




	function selectdate(object,num) {		
		$('IMG.select_opener').attr('src','/img/select/03.gif');
		$(object).parents('div.options_list').hide(); 
		$(object).parents('.block_121').find('.select_day').val(num);
		$(object).parents('.block_121').find('.select_enabled').val('on');			

		var year = $(object).parents('.block_121').find('.select_year').val();
		var month = $(object).parents('.block_121').find('.select_month').val();

		var monthValue = parseInt(month); 
		var dateValue = num < 10 ? '0' + num : num;
		monthValue = monthValue < 10 ? '0' + monthValue : monthValue;
		$(object).parents('.block_121').find('.block_123').html(dateValue + '/' + monthValue + '/' + parseInt(year));

		return false;
	}
