var selPeriod = false;
var selPediodStart, selPediodEnd;
var pStart, pEnd;
var hash;
var strAll="";

if (document.location.hash!="") {
	hashTmp = document.location.hash.toString().substring(1);
	if (hashTmp)
		hash = hashTmp;

}

function calendarPeriod(type, date1, date2) {
	if (type == "empty") {
		$(".calendarPeriod").hide().find("span>span").empty();
	}
	else if (type == "set") {

		$(".calendarPeriod").show();

		if (date1!==false) {
			$(".calendarPeriod > span.from > span").html(date1)
		}
		else
			$(".calendarPeriod > span.from > span").html("")

		if (date2!==false)
			$(".calendarPeriod > span.to > span").html(date2)
		else
			$(".calendarPeriod > span.to > span").html("")
}
}

function loadPressContent() {

	$(".pressLoader").css("visibility", "visible");

	$.ajax({
		url: "/about/press/detail.php?"+getFilter(),
		type: "GET",
		success: function(msg){

			$(".pressLoader").css("visibility", "hidden");
	
			$("#press-content").html(msg);

			$("a", ".pages").click(function(){
			//nav_next

				if (isNaN(parseInt($(this).html()))) {
					if ($("img", this).attr("rel") == "nav_next")
						page++;
					else
						page--;
				}
				else
					page = parseInt($(this).html());

				loadPressContent();
				return false;
			})

			$("*").ifixpng(); 				

			// fancy
			$(".fancy").fancybox({
				'overlayShow'			: true,
				'padding'				: '0',
				'zoomSpeedIn'			: 600,
				'overlayOpacity'		: 0.6,
				'zoomSpeedOut'			: 500,
				'easingIn'				: 'easeOutBack',
				'easingOut'				: 'easeInBack',
				'hideOnContentClick'	: false,
				'callbackOnClose'		: function(){
					if ($("#jquery_jplayer", "#fancy_content").length==1) {
						$("#jquery_jplayer").stop();
					}
				},
				'callbackOnShow'		: function(){

											var href = this.itemArray[this.itemCurrent].href;
											href = href.substring(this.itemArray[this.itemCurrent].href.indexOf("#")+1)

											if ($("#fancy_content a.audio").length==1) {
												$("#fancy_div").html('<div id="jquery_jplayer"></div><div id="player_container"><ul id="icons" class="ui-widget ui-helper-clearfix"><li id="play" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-play"></span></li><li id="pause" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-pause"></span></li><li id="stop" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-stop"></span></li><li id="volume-min" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-volume-off"></span></li><li id="volume-max" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-volume-on"></span></li></ul><div id="sliderVolume"></div><div id="bars_holder"><div id="sliderPlayback"></div><div id="loaderBar"></div></div></div>');

												$("#fancy_outer").css({'width': '680px', 'height': '96px'});

												// audio
												var global_lp = 0;
											
												$("#jquery_jplayer").jPlayer({
													ready: function ()
													{
														$(this).setFile($("a.audio", "#"+href).attr("href")).play();
														showPauseBtn();
													}
												})
												.onProgressChange( function(lp,ppr,ppa,pt,tt) {
													var lpInt = parseInt(lp);
													var ppaInt = parseInt(ppa);
													global_lp = lpInt;
											
													$('#loaderBar').progressbar('option', 'value', lpInt);
													$('#sliderPlayback').slider('option', 'value', ppaInt);
												})
											
												$("#pause").hide();

												function showPauseBtn()
												{
													$("#play").fadeOut(function(){
														$("#pause").fadeIn();
													});
												}
											
												function showPlayBtn()
												{
													$("#pause").fadeOut(function(){
														$("#play").fadeIn();
													});
												}
											
												$("#play").click(function() {
													$("#jquery_jplayer").play();
													showPauseBtn();
													return false;
												});
											
												$("#pause").click(function() {
													$("#jquery_jplayer").pause();
													showPlayBtn();
													return false;
												});
											
												$("#stop").click(function() {
													$("#jquery_jplayer").stop();
													showPlayBtn();
													return false;
												});
											
											
												$("#volume-min").click( function() {
													$('#jquery_jplayer').volume(0);
													$('#sliderVolume').slider('option', 'value', 0);
													return false;
												});
											
												$("#volume-max").click( function() {
													$('#jquery_jplayer').volume(100);
													$('#sliderVolume').slider('option', 'value', 100);
													return false;
												});
											
												$("#player_progress_ctrl_bar a").click(function() {
													$("#jquery_jplayer").playHead(this.id.substring(3)*(100.0/global_lp));
													return false;
												});
											
												// Slider
												$('#sliderPlayback').slider({
													max: 100,
													range: 'min',
													animate: true,
											
													slide: function(event, ui)
												{
													$("#jquery_jplayer").playHead(ui.value*(100.0/global_lp));
												}
												});
											
												$('#sliderVolume').slider({
													value : 50,
													max: 100,
													range: 'min',
													animate: true,
											
													slide: function(event, ui)
												{
													$("#jquery_jplayer").volume(ui.value);
												}
												});
											
												$('#loaderBar').progressbar();
											
											
												//hover states on the static widgets
												$('#dialog_link, ul#icons li').hover(
													function() { $(this).addClass('ui-state-hover'); },
													function() { $(this).removeClass('ui-state-hover'); }
												);
																			
												// audio
				
											}
											else {

												var div = $("#fancy_content");
	
												$("#fancy_div").css("z-index", "101").css("position", "relative").css("height", "auto");
	
												$('object',div).prepend('<param value="opaque" name="wmode"/><param value="#000000" name="bgcolor"/>')//.css("z-index", "101");
		
												$("embed", div).attr('wmode', 'opaque').attr('bgcolor', '#000000')

												if ($.browser.opera)
													$("embed", div).css("z-index", "102").remove().appendTo($('object',div));
		
												w = $('#fancy_content embed').attr("width");
												h = $('#fancy_content embed').attr("height");
	
												if (w<=0) w = 640;
												if (h<=0) h = 507;
	
												$("#fancy_outer").css({'width': parseFloat(w)+'px', 'height': (parseFloat(h)-3+52)+'px'});
	
												$.fn.fancybox.scrollBox();
		
												$("#fancy_content object, #fancy_content embed").css('visibility', 'visible');
												$("#fancy_content object").css('position', 'absolute');



												$("#fancy_content").append($('<div class="sendfriend"><div class="l"></div><div id="sf_content"><img src="/bitrix/templates/.default/images/kia/send_friend_image.gif"><div class="status">Сообщение успешно отправлено</div><form id="sendmessage" action="/about/press/send.php" method="post"><input type="text" name="senderName" value="ваше имя" class="text"><input type="text" name="senderEmail" class="text" value="e-mail получателя"><input type="image" src="/bitrix/templates/.default/images/kia/send_friend_button.gif" name="sendFriend" class="send"></form></div><div class="r"></div></div>'));
												
												$("input[type=text]", "#fancy_content .sendfriend").each(function(){
													$(this)
														.attr("defaultValue", $(this).attr("value"))
														.focus(function(){
																		
															$(this).removeClass("error");
															
															if ($(this).val() == $(this).attr("defaultValue"))
																$(this).val("");
														})
														.blur(function(){
															if ($(this).val() == $(this).attr("defaultValue") || $(this).val() == "")
																$(this).val($(this).attr("defaultValue"))
														})
												})
												
												$("#sendmessage", "#fancy_content").submit(function(){
																									
													var ret = true;
																									
													$("input[type=text]", $(this)).each(function(){
														if ($(this).val() == "" || $(this).val() == $(this).attr("defaultValue") || ($(this).attr("name") == "senderEmail" && $(this).val().indexOf("@")<0)) {
															$(this).addClass("error");
															ret = false;
														}
														
													})
		
													if (ret) {
		
															$(".status", "#fancy_content").show();
															$.get(
																$("#sendmessage").attr("action"), 
																{ curPage: page, video: href, senderName: $("input[name=senderName]", "#sendmessage").val(), senderEmail: $("input[name=senderEmail]", "#sendmessage").val() },
																function(){
																	
																	setTimeout('$(".status", "#fancy_content").hide()', 3000);
																}
															);
													}
			
													return false;
												})
											}

										}
			});
			// fancy

			if (hash!="") {
				$("a[href=\"\#"+hash+"\"]").trigger("click");
				hash="";
			}

		}

	})
}


function getFilter(){
	var objString = {};
	objString.smis = new Array();
	objString.models = new Array();
	objString.type = new Array();
	objString.dateDay = new Array();
	objString.dateMonth = new Array();
	objString.dateYear = new Array();
	
	$(".active", ".press-filter").each(function(){
		if ($(this).attr("rel") != "dateDay")
			eval("objString." + $(this).attr("rel") + ".push('"+$(this).attr("value")+"')");
	})

	if (pStart>0 && pEnd>0) {
		objString.dateDay.push(new Date(pStart).asString());
		objString.dateDay.push(new Date(pEnd).asString());
	}

	str = "set_filter=Y";
	for (i in objString) {
		if (objString[i].length>0) {
			for(y=0; y<objString[i].length; y++) {
				str += "&" + i+"[]=" + objString[i][y];
			}
		}
	}
	
	if (page)
		str += "&PAGEN_1="+page;
		
	return str+strAll;
}

$(function() {
	
	function in_array(needle, haystack, strict) {	// Checks if a value exists in an array
		var found = false, key, strict = !!strict;
		for (key in haystack) {
			if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
				found = true;
				break;
			}
		}
		return found;
	}

	function loadajaxlist(obj) {

		var str = "?";
		$("li.active", obj.parentNode).each(function(){
			str += "&types[]=" + $(this).attr("value");
		})

		$("li.active", ".smi").each(function(){
			str += "&smis[]=" + $(this).attr("value");
		})

		$(".types", ".smi").load("/about/press/ajax_list.php"+str, function(){
			$(".smi .types li").unbind("click").click(function(){
				$(this).toggleClass("active");
				$("#other").removeClass("active");

				$("#other").click(function(){
					var obj = this;
					$(this).parent().find(".active").each(function(){
						if (obj != this)
							$(this).removeClass("active");
					})
					return false;
				})

				loadPressContent();
				return false;
			})
			loadPressContent();
		})

	}

	function selectPediod(start, end) {

		$("td.tdcontent", ".dp-calendar").each(function(){

			if (
					$(this).hasClass("tdcontent")
					&&
					Date.fromString($(this).attr("value")).getTime() >= start
					&&
					Date.fromString($(this).attr("value")).getTime() <= end
				) {
				$(this).addClass("active");
			}

		})
	}
	
	$('#date_input').datePicker(
		{
			inline:true,
			startDate:'01/01/2009',
			endDate:new Date().asString("dd/mm/yyyy"),
			renderCallback: function(d, currentDate, month, year){ 
				d.addClass((in_array(d.attr("value"), datesArray))?"tdcontent":"disabled"); 
				d.click(function(){ 

									if (!selPeriod) {
										selPediodStart=d;
										selPeriod = true;
										pStart=0; pEnd=0;
										$(".dp-calendar td.active").removeClass("active");
										$(this).addClass("active");
										calendarPeriod("set", $(this).attr("value"), false);
									}
									else {
										selPediodEnd=d;
										selPeriod = false;
										pStart = Date.fromString(selPediodStart.attr("value")).getTime();
										pEnd = Date.fromString(selPediodEnd.attr("value")).getTime();


										if (pStart>pEnd) {

											t=selPediodEnd;
											selPediodEnd=selPediodStart;
											selPediodStart=t;
											t=pEnd;
											pEnd=pStart;
											pStart=t;
										}


										selectPediod(pStart, pEnd);
										calendarPeriod("set", selPediodStart.attr("value"), selPediodEnd.attr("value"));
										loadPressContent();
									}
								 
				})
			}
		}
	)
	.bind(
		'dpMonthChanged',
		function(event, displayedMonth, displayedYear)
		{
			selectPediod(pStart, pEnd);
		}
	)


	$(".types li[class!=sep], #other, .span-month, .span-year").click(function(){
		$(this).toggleClass("active");
		return false;
	})
	
	$(".larrow, .rarrow").click(function(){

		selectPediod(pStart, pEnd);
		$(".span-year, .span-month", this.parentNode.parentNode).removeClass("active");
		$("td.active", ".dp-calendar").removeClass("active");
//		loadPressContent();
	})


	$(".span-month").click(function(){ $(".span-year, .jCalendar td").removeClass("active"); })
	$(".span-year").click(function(){ $(".span-month, .jCalendar td").removeClass("active"); })
	$(".dp-calendar").click(function(){ $(".span-month, .span-year").removeClass("active"); })
	$(".smi .types li").click(function(){ $("#other").removeClass("active"); })
	
	$("#cancelFilter, #other").click(function(){
		var obj = this;
		$(this).parent().find(".active").each(function(){
			if (obj != this)
				$(this).removeClass("active");
		})
		return false;
	})

	$("#cancelFilter").click(function(){
		pStart=0;
		pEnd=0;
		
		calendarPeriod("empty");
		
		return false;
	})

	$("li[class!=sep]", ".types3").click(function(){
		loadajaxlist(this);
	})

	$(".types li[class!=sep], #other, .span-month, .span-year, .dp-calendar .tdcontent, #cancelFilter").click(function(){ 

		if ($(this).hasClass("span-month")) {

			if ($(this).hasClass("active")) {
				dateFrom = "01."+$(this).attr("value");
				calendarPeriod("set", dateFrom, Date.fromString(dateFrom).addMonths(1).addDays(-1).asString());
			}
			else {
				calendarPeriod("empty");
			}
		}
		if ($(this).hasClass("span-year")) {

			if ($(this).hasClass("active")) {
				dateFrom = "01.01."+$(this).attr("value");
				calendarPeriod("set", dateFrom, Date.fromString(dateFrom).addYears(1).addDays(-1).asString());
			}
			else {
				calendarPeriod("empty");
			}
		}

//		loadajaxlist($(".types li:eq(0)"));

		if (!$(this).hasClass("tdcontent")) loadPressContent();
	});

	loadPressContent();

})
