$(document).ready(function(){
	if (/*@cc_on!@*/false) { // check for Internet Explorer
		document.onfocusin = onFocus;
		document.onfocusout = onBlur;
	} else {
		window.onfocus = onFocus;
		window.onblur = onBlur;
	}
});

function onBlur() {
	document.body.className = 'blurred';
}
function onFocus(){
	document.body.className = 'focused';
}

function _toggle(mit){
	$(mit).slideToggle();
}
function hide(mit){
	$(mit).hide();
}
function show(mit){
	$(mit).show();
}

function stripHTML(oldString) {
  return oldString.replace(/<&#91;^>&#93;*>/g, "");  
}

function toggle_chat(){
	$("div#chatzone").slideToggle("fast");
}
function toggle_dropbox(){
	$("div#dropbox").slideToggle();
}

// form elemek renderelése
function renderForm(data){
	switch(data.type){
		case 'text':
			if(!data.value){
				data.value = '';
			}
			var content = '<label>' + data.label + '</label><input type="text" name="' + data.name + '" value="' + data.value + '" />';
			break;
			
		case 'textarea':
			if(!data.value){
				data.value = '';
			}
			var content = '<label>' + data.label + '</label><textarea name="' + data.name + '">' + data.value + '</textarea>';
			break;
			
		case 'select':
			var content = '<label>' + data.label + '</label><select name="' + data.name + '">';
			if(data.values){
   			$.each(data.values, function(i, option){
   				content += '<option value="' + i + '">' + option + '</option>';
   			});
			}
			content += '</select>';
			break;
	}

	return content + "<br />";
}

// menüpont tárolás
function setState(modul){
	var stateObj = {foo: "bar"};
	history.pushState(stateObj, "page 2", "/"+modul);	
	document.title = modul;
}


function in_array (needle, haystack, argStrict) {
  var key = '',
      strict = !! argStrict;

  if (strict) {
      for (key in haystack) {
          if (haystack[key] === needle) {
              return true;
          }
      }
  } else {
      for (key in haystack) {
          if (haystack[key] == needle) {
              return true;
          }
      }
  }
	return false;
}

function showUsers() {
	$("div.napi_feladatok").slideToggle();
	$("div#dropbox").slideUp('slow', function() {
    // Animation complete.
  });
	$("div.send_images").slideDown('slow', function() {
    // Animation complete.
  });
	$(element).toggleClass("white");
}

function show_dropbox(element){
	$("div.napi_feladatok").slideToggle();
	$("div#dropbox").slideDown('slow', function() {
    // Animation complete.
  });
	$("div.send_images").slideUp('slow', function() {
    // Animation complete.
  });
	$(element).toggleClass("white");
}

/*
*/
function reload(){
  $(".system_message").slideUp("slow", function(){
    $(".system_message").html("");
  });

  $.ajax({
    type: "GET",
    url: "/Modules/Ajax_functions/Core.php",                 
    //cache: false,
    
    dataType: "script",
    
    beforeSend: function(){},                 
    success: function(msg){},
    error: function(){ /*alert("Elkúrtuk. Nem kicsit. Nagyon.");*/ }
  });
}

function blinkTitle(pos,orig,newt){
	if(pos==0){
		document.title = newt;
		pos = 1;
	}
	else{
		document.title = orig;
		pos = 0;
	}
	
	if(document.body.className=="focused"){
		clearTimeout(window.blinkTimer);
		document.title = orig;
	}
	else{
		window.blinkTimer = setTimeout("blinkTitle('"+pos+"','"+orig+"','"+newt+"')", 1000);
	}
}

function core(blink){
  $(".system_message").slideUp("slow", function(){
    $(".system_message").html("");
  });

  $.ajax({
    type: "POST",
    url: "/Modules/Ajax_functions/Core2.php",
    cache: false,

    dataType: "json",
    
    data:{
    	"blink":blink
    },

    beforeSend: function(){},
    success: function(data){
    	// aktív user-ek jelölése
    	if(data.online){
    		$("img.active_message").removeClass("online");
    		
		 		$.each(data.online, function(i, value){
		 			$("img.user_" + value).addClass("online");
		 		});
			}
    	
    	// instant partnerek számának megjelenítése a dom-ban
    	$(".instant_message").html("["+data.online_users+"]");

			// a frissen bejelentkezők mutatása
			if(data.fresh_login){
		 		$.each(data.fresh_login, function(i, user){
		 			if($(".user_"+user.id).length == 0){
		 				gritter("belépett","szoveg",user.img,"user_"+user.id)
		 			}
		 		});
			}
			
			// saját napi feladatok mutatása
			if(data.napi_feladatok){
		 		$.each(data.napi_feladatok, function(i, feladat){
		 			if($('#feladat_'+feladat.id).length == 0){
		 				// elem illesztése a dom-ba
		 				$(".napi_feladatok").append('<ul id="feladat_'+feladat.id+'"><li>'+feladat.kezdo_idopont+'-'+feladat.veg_idopont+'</li><li class="timer">&nbsp;</li></ul>');
		 				
		 				// timer objektum hozzáadása az elemhez
		 				$("#feladat_"+feladat.id+" li.timer").timer({
	            running: feladat.running,
							from: feladat.worktime,
							id: feladat.id
		        });
        
		 			}
		 		});
			}
			
			// futó feladatok mutatása
			if(data.running_tasks){
		 		if($("div.holder div.running_tasks").length == 0){
		 			$("div.holder").prepend('<div class="running_tasks">&nbsp;</div>');		
		 		}
	 			
		 		var obj = $("div.holder div.running_tasks");
		 		
		 		
		 		$.each(data.running_tasks, function(i, feladat){
		 			//alert(obj)
		 			if(!$("#rt_"+feladat.id).length){
						$(obj).append('<ul id="rt_'+feladat.id+'"><li>'+feladat.id+'</li></ul>');	
		 			}
		 		});
			}
			
			
			// chat adatok parsolása
			if(data.chat){
				$.each(data.chat, function(i, chat){
					
					if($("div.chat_"+i).length == 0){
		 				// show_user() helye a qs.chat2.js	
		 				show_user(i, data.users[i].nev, data.users[i].image);
		 			}
		 			
					$.each(chat, function(j, _chat){
						// ha még nem volt hozzáadva ez a message id
						if($("#message_"+_chat.id).length == 0){
							if(_chat.visible == 0){
								$(".chat_"+i+" ul.messages").hide();
								$(".chat_"+i+" input").hide();
							}
							
							
							
							if(blink>0){
								if($("#chat_"+i+" ul.messages").is(":hidden")){
									$("#chat_"+i).addClass("chatblink");
								}
								else{
									$("#chat_"+i).removeClass("chatblink");
								}
								
								var originalTitle = document.title;
								var newTitle = 'Új chat üzenet érkezett!';
								
								if(document.body.className=="blurred"){
									clearTimeout(window.blinkTimer);
									window.blinkTimer = setTimeout("blinkTitle('0','"+originalTitle+"','"+newTitle+"')", 1000);
								}
								
							}
		
							// appendelem az üzenetet
							if($("div.chat_"+i+" > ul.messages li:last").attr("class") == "user_"+_chat.user_from){
		 						$("div.chat_"+i+" > ul.messages > div").append('<li id="message_' + _chat.id + '" class="user_'+_chat.user_from+'">' + _chat.message + '</li>');
							} 
							else {
		 						$("div.chat_"+i+" > ul.messages > div").append('<li id="message_' + _chat.id + '" class="user_'+_chat.user_from+'"><b>'+_chat.user_nev+'</b><br />' + _chat.message + '</li>');
		 					}
		 					
		 					// a tartalom scrollozása a div legaljára
  						//scrollheight = $("div.chat_" + i + " > ul.messages").attr("scrollHeight");
  						
  						//$("div.chat_" + i + " ul.messages").attr("scrollTop", scrollheight);
		 				}
						
		 			});
		 			
		 			var ertek = $("div.chat_"+i+" ul.messages div").height();
		 			$("div.chat_"+i+" ul.messages").scrollTop(ertek);
  				//alert(ertek);
		 		});
		 		
			}
			
    	// file ismételt hívása $3000 ms-enként
			setTimeout("core(1)", 3000);
    },
    error: function(){}
  });
}


// youtube kép lekérése
function getScreen( url, size ){
  if(url === null){return "";}

  size = (size === null) ? "big" : size;
  var vid;
  var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  if(size == "small"){
    return "http://img.youtube.com/vi/"+vid+"/2.jpg";
  }else {
    return "http://img.youtube.com/vi/"+vid+"/0.jpg";
  }
}

// youtube kép lekérése
function getVideoId( url ){
  if(url === null){return "";}

  var vid;
  var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  return vid;
}


function erase_active_conversation(elem, conversation_id){
  $.ajax({
    type: "GET",
    url: "/Modules/Ajax_functions/Active_message_erase_conversation.php",
    //cache: false,    
    data:{
      conversation_id:conversation_id
    },
    
    beforeSend: function(){},
    success: function(msg){
      $(elem).parent().parent().remove();
    },
    error: function(){ /*alert("Elkúrtuk. Nem kicsit. Nagyon.");*/ }
  });
}



function gritter(cimsor,szoveg,kep,cl){
	//console.log(cl);
	
	$.gritter.add({
		// (string | mandatory) the heading of the notification
		//title: "This is a regular notice!",
		title: cimsor,
		
		// (string | mandatory) the text inside the notification
		//text: "This will fade out after a certain amount of time.",
		text: szoveg,
		
		// (string | optional) the image to display on the left
		//image: "http://a0.twimg.com/profile_images/59268975/jquery_avatar_bigger.png",
		image: kep,				
		
		// (bool | optional) if you want it to fade out on its own or just sit there
		sticky: false,	

		// (int | optional) the time you want it to be alive for before fading out (milliseconds)
		time: 8000,
    
    // (function | optional) function called before it opens
		before_open: function(){
			//alert("I am a sticky called before it opens");
		},
		
		// (function | optional) function called after it opens
		after_open: function(e){
			e.addClass(cl);
			//alert("I am a sticky called after it opens: \nI am passed the jQuery object for the created Gritter element...\n" + e);
		},
	
		// (function | optional) function called before it closes
		before_close: function(e){
			//alert("I am a sticky called before it closes: I am passed the jQuery object for the Gritter element... \n" + e);
		},

		// (function | optional) function called after it closes
		after_close: function(){
			//alert("I am a sticky called after it closes");
		}
	});
}


function play_sound(sound){
  var audioElement = document.createElement('audio');
  audioElement.setAttribute('src', sound);
  audioElement.setAttribute('autoplay', 'autoplay');
  //audioElement.volume=0;
  audioElement.load();
}

function remove_attached(id, element){
  $.ajax({
    type: "POST",
    url: "/Modules/Ajax_functions/Attached_files_remove.php",                 
    //cache: false,
    
    //dataType: "script",
    data:{
      id:id
    },
    
    beforeSend: function(){},                 
    success: function(msg){},
    error: function(){ 
      //alert("Elkúrtuk. Nem kicsit. Nagyon."); 
    }
  });
    
  $(element).parent().parent().remove();
}

