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").fancyboxShare($.extend({}, fancyDefaultShareParams, {
				'overlayShow'			: true,
				'padding'				: '0',
				'zoomSpeedIn'			: 600,
				'overlayOpacity'		: 0.6,
				'zoomSpeedOut'			: 500,
				'easingIn'				: 'easeOutBack',
				'easingOut'				: 'easeInBack',
				'hideOnContentClick'	: false,
				'onClosed'				: function(){
					var href = false;
					if (this.orig[0].tagName == 'IMG')
						href = this.href;
					else
						href = this.orig[0].href;
					
					if (href !== false) {
						href = href.substring(href.indexOf("#")+1);
						$('#' + href).hide();
						
						var playerControls = $('#player_container, #jquery_jplayer');
						if (playerControls.length > 0)
							playerControls.remove();
					}

					if ($("#jquery_jplayer", "#fancybox-content").length==1) {
						$("#jquery_jplayer").stop();
					}
				},
				'onComplete'		: function(){
					$.fn.fancyboxShare(fancyDefaultShareParams);
						var href = false;
						if (this.orig[0].tagName == 'IMG')
							href = this.href;
						else
							href = this.orig[0].href;
						
						if (href !== false) {
							href = href.substring(href.indexOf("#")+1);
						
							if ($("#fancybox-content a.audio").length==1) {
								$("#fancybox-content").append('<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>');
								
								$("#fancybox-content > div").show();
								$("#fancybox-wrap, #fancybox-content").css({'width': '680px', 'height': '100px'});
								$('#fancybox-title .sendfriend_form_outer').css({'width': $("#fancybox-content").width()});
								$('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1 + 3);
								if(typeof(Cufon == 'function'))
									Cufon.refresh();

								$.fancybox.center();
								
								// 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 = $("#fancybox-content > div > div");
								div.show();

								$("#fancybox-content").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 = $('#fancybox-content embed').attr("width");
								h = $('#fancybox-content embed').attr("height");
								
								if (w<=0) w = 640;
								if (h<=0) h = 507;

								$("#fancybox-content, #fancybox-wrap").css({'width': parseInt(w), 'height': parseInt(h) + 4});
								
								$('#fancybox-title .sendfriend_form_outer').css({'width': $("#fancybox-content").width()});
								$('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1 + 3);
								
								if(typeof(Cufon == 'function'))
									Cufon.refresh();
								
								$("#fancybox-content object, #fancybox-content embed").css('visibility', 'visible');
								$("#fancybox-content object");//.css('position', 'absolute');
								
								$.fancybox.center();
							}
						}
					}
			}));
			// fancy
			
			if (hash!="") {
				$("#press-content a#"+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();

})

