
/*jQuery.each() bugos IE alatt, ez helyettesíti*/
if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}

function set_background_size(){
	$j("#background-poser").find("img").andSelf().css("height",$j(document).height());
}

$j(function(){
	//alert(screen.width/screen.height);
	//alert("doc height: "+$j(document).height()+"  window height: "+$j(window).height());
	//$j("#background-poser").css("height",$j(document).height());
	/*$j(window).resize(function(){
		set_background_size();
	});*/
	
	$j(".box_button_minimize").live("click",function() {
		var box		= $j(this).parent().parent();
		var bid		= box.attr('id');
		if(bid) {
			var c				= $j("#"+bid+" .box_content");
			var title_div 		= $j(".box_title_text",$j(this).parent());
			var title_div_text	= title_div.text();
			var box_current_pos = box.position();
			
			var min_box_id = "min_"+bid;
			var data_div = $j("<div id='"+min_box_id+"' class='minimized_div'>"+title_div_text+"</div>");
			var data_div_clone = data_div.clone();
			data_div_clone.css({"position":"absolute","top":box_current_pos.top,"left":box_current_pos.left});
			$j("#frame_body_center").append(data_div_clone);
			
			box.css("display","none");
			
			data_div_clone.animate({
				top:800,
				left:0,
				opacity:0
			},1000,function(){
				data_div_clone.remove();
				data_div.appendTo($j("#minimized_container"));
				
				cookie_set_minimized_boxes();
				init_menu_elements_maximize_event();
			});
		}
	});
	
	$j("#minimized_container div").live("click",function(){
		var min_box_id	= $j(this).attr("id");
		var box_id		= min_box_id.substring(4);
		var $cont_div = $j(this);
	
		display_box(box_id);
		
		$cont_div.remove();
		
		cookie_set_minimized_boxes();
	});
	
	$j(".resizable").each(function(){
		var bid = $j(this).attr('id');
		
		$j(this).resizable();
	});
	
	$j(".draggable_box, .draggable_box_memory").live("click",function(){
		var max_zindex = 0;
		$j(".draggable_box, .draggable_box_memory").each(function() {
			var curr_zindex = parseInt($j(this).css("z-index"));
			if(curr_zindex>max_zindex){
				max_zindex = curr_zindex;
			}
		});
		
		$j(this).css("z-index",max_zindex+1);
	});
	
	init_draggable();
	init_scrollpane();
	init_menu_elements_maximize_event();
});

function display_box(box_id){
	if($j("#"+box_id).length){
		var box = $j("#"+box_id);
		box.css("display","block");
		
	}
	else{
		$j.post("ajax.php",{act:"maximize_box",box_name:box_id},function(datas){
			$j("#frame_body_center").append(datas);
			init_draggable();
			init_scrollpane();
		});
	}
}

function cookie_set_minimized_boxes(){
	var minimized_box_ids = new Array();
	$j("#minimized_container div").each(function(){
		var mb_id 		= $j(this).attr("id");
		var box_title	= $j(this).text();
		var box_id		= mb_id.substring(4);

		minimized_box_ids.push(box_id+"|"+box_title);
	});
	
	cookie_set("minimized_boxes",minimized_box_ids.join(","));
}

/*click eseményt rendel a menuponthoz, ha van olyan classa ,ami min_-el kezdődik*/
function init_menu_elements_maximize_event(){
	$j('li[id^="menu_element_"]').filter(function(){
		var temp_class = $j(this).attr("class");
		if(!temp_class.indexOf("min_")) return true;
		return false;
	}).click(function(){
		maximize_div_id = "";
		var temp_class	= $j(this).attr("class");
		var classes		= new Array();
		classes			= temp_class.split(" ");
		
		classes.forEach(set_maximize_div_id);
		
		display_box(maximize_div_id);
		
		if($j("#min_"+maximize_div_id).length){
			$j("#min_"+maximize_div_id).remove();
		}
		
		cookie_set_minimized_boxes();
	});
}

function set_maximize_div_id(element,index,array){
	if(element.substr(0,4)=="min_"){
		maximize_div_id = element.substr(4);
	}
}

function set_scroll_content(element,index,array){
	if(element.substr(0,7)=="scroll_"){
		scroll_content = element.substr(7);
	}
}

function init_scrollpane(){
	$j(".draggable_box, .draggable_box_memory").each(function(i) {
		
		scroll_content 		= "box_body";
		var class_box		= $j(this).attr("class");
		var scroll_class 	= class_box.indexOf("scroll");
		
		if(scroll_class>0){
			var classes	= new Array();
			classes		= class_box.split(" ");
			classes.forEach(set_scroll_content);
		}
		
		$j("."+scroll_content,this).jScrollPane({scrollbarWidth:10,showArrows: true,arrowSize:5});
		
	})
}

function init_draggable(){
	$j(".draggable_box, .draggable_box_memory").draggable({
		"zIndex": 999,
		"handle": '.box_title',
		"start"	: function(){
			$j(this).css("opacity",0.4);
		},
		"stop"	: function() {
			var d			= $j(this);
			var id			= d.attr("id");
			var positions	= $j(this).position();
			var top_pos		= positions.top;
			var left_pos	= positions.left;
			
			d.css("opacity",1);
			d.css("opacity","none");
			
			if(top_pos<0){
				top_pos		= 0;
				d.css("top",top_pos);
			}
			
			if(d.hasClass("draggable_box_memory") && id) {
				cookie_set("draggable_box_memory_"+id,left_pos+"##"+top_pos,365);
			}
			
			$j(this).trigger("click");
		}
	});
	
	$j(".draggable_box, .draggable_box_memory").each(function(i) {
		var d	= $j(this);
		var id	= d.attr("id");
		d.data("defaultLeft",d.css("left"));
		d.data("defaultTop",d.css("top"));
		if(d.hasClass("draggable_box_memory") && id) {
			var pos = cookie_get("draggable_box_memory_"+id);
			if(pos) {
				pos = pos.split("##");
				d.css("left",pos[0]);
				d.css("top",pos[1]);
			}
		}
		
		$j(this).css("z-index",i);
	});
	
}
