
//fechas de inicio y fin del calendar
var sdate;
var edate;

var time1; //avatar

var showNextCalendar;

//var appName = '/frontend';

var ajax_request;


//get parameter from querystring (sonatine format)
function getParameter(param, qs) {
  
  ret = '';    
  
  vqs = qs.split("/");  
  for (i=0; i<vqs.length; i++) {    
    if (vqs[i] == param) {
      ret = vqs[i+1];
      break;
    }
  }
  
  return ret;  
  
}

// capitalize first letter
function ucfirst(str) {
    var firstLetter = str.substr(0, 1);
    return firstLetter.toUpperCase() + str.substr(1);
}


function changeColor(schema) {
	
	el = document.getElementById("color-stylesheet");
	nr = Math.random();
	el.href = "css-color/color.php?scheme="+schema+"&rand="+nr;	
	
}


/*** new list viewing options **/
function toggle_item_list_view_opt(lid) {

	if ( $('#see-calendar').css("display") != 'none') {
		$('#see-calendar').toggle();
		$('#tgc').toggleClass('active');
		$('#tgc').toggleClass('color4');
	}

	$('#tlvo').toggleClass('color4');
	$('#tlvo').toggleClass('active');
	$('#item-list-view-opt').toggle();
	
}



/*** see calendar **/

function toggle_calendar(lid) 
{
  
	if ( $('#item-list-view-opt').css("display") != 'none') {
		$('#item-list-view-opt').toggle();
		$('#tlvo').toggleClass('active');
		$('#tlvo').toggleClass('color4');
	}
	
	$('#tgc').toggleClass('color4');
	$('#see-calendar').toggle();	
	
	//select 2 dates
	if ( $('#see-calendar').css('display') != 'none' ) {	  
	  showCalendar( $('#dateStart') , true);
	  $('#apply-calendar a.button').hide();
	}
	
}







//verificar si una lista est� vac�a (items ocultos), y a�adir item "tonto"
function empty_list() {
	//alert("finnn");
	
	
	list = $(this).parent();

	empty = true;
	
	list.children().each(function (i) {
		//alert(i);
		
		if ( $(this).css("display") != "none" )
			empty = false;
			
	});
	
	if (empty == true)
		alert("list is empty");

}

//verificar si una lista est� vac�a (vac�a de verdad), y a�adir item "tonto"
function empty_list2() {
	
	//alert("finnn");
	return false;
	
}



function setViewingFilters() 
{
  $('#media-select li').removeClass('hasAlarms'); //remove marks for alarms for other types
  data = { roomId: roomId, keyphraseId: keyphraseId, sortBy: freshness, filterLabel: filterLabel, soType: soType };
  $.post('/frontend/share/set_viewing_filters/module/new/', data);  
}

function resetViewingFilters()
{
  $('#media-select li').removeClass('hasAlarms'); //remove marks for alarms for other types
  $.post('/frontend/share/set_viewing_filters/module/new/reset/1');  
  filterLabel = '';
}




$(document).ready(init);


function init() {
  
  
	//inicializaciones de los m�dulos
  if (typeof(initNew) == 'function')  initNew();
  if (typeof(initConversations) == 'function') initConversations();
  if (typeof(initContacts) == 'function') initContacts();
  if (typeof(initStats) == 'function') initStats();
  if (typeof(initLogin) == 'function') initLogin();
  if (typeof(initFront) == 'function') initFront();
  if (typeof(initUser) == 'function') initUser();
  if (typeof(initProject) == 'function') initProject();
  if (typeof(initTask) == 'function') initTask();  
  if (typeof(initRoom) == 'function') initRoom();	
  if (typeof(initWelcome) == 'function') initWelcome();	  
  if (typeof(initTwitter) == 'function') initTwitter();	  
  if (typeof(initFacebook) == 'function') initFacebook();	  
  if (typeof(initSpread) == 'function') initSpread();	
  
  
  if (document.getElementById("dateStart")) {
	
  	var sdate = document.getElementById("dateStart").value;
  	var edate = document.getElementById("dateEnd").value;
  	
  	sdate = jsDate(sdate);
  	edate = jsDate(edate);  		


  	//inicializar fechas "see calendar"  	  	
  	$("#cStart").datepicker({ altField: '#dateStart', altFormat:'M d - yy', dateFormat: 'yy-mm-dd', defaultDate:sdate, onSelect:selectStartDate, maxDate:'+0d', minDate:'-1y' });	
  	$("#cEnd").datepicker({ altField: '#dateEnd', altFormat:'M d - yy', dateFormat: 'yy-mm-dd', defaultDate:edate, onSelect:selectEndDate, maxDate:'+0d', minDate:'-1y' });	
  	
  	
  	/*
    //calendar functions  	
  	$('#dateStart, #dateEnd').click(function(ev){
  	  //alert(  $(this).attr('id')  );
  	  showCalendar( $(this), false);
  	  ev.preventDefault();
  	  $(this).blur();
  	  return false;
  	});
  	*/
  	
  	
  	//toggle stats calendar
  	$('#tgc').click(function(){
  	  toggle_calendar( $(this) );
  	  return false;
  	});  	
  	
	
  }


  
  
  
  //search in pageHeader
  $('#search').focus(function() {  
       if (this.value == this.defaultValue){  
           this.value = '';  
       }  
       if(this.value != this.defaultValue){  
           this.select();  
       }  
   });  
   $('#search').blur(function() {  
       if ($.trim(this.value) == ''){  
           this.value = (this.defaultValue ? this.defaultValue : '');  
       }  
   });  
  
  
  //first-word
  
  
  
  //init switch project
  $('#toggle-switch-project').click(function(e){    
    
    l = $('#toggle-switch-project').attr('offsetLeft');
    w = $('#toggle-switch-project').attr('offsetWidth');
    h = $('#toggle-switch-project').attr('offsetHeight');
    t = $('#toggle-switch-project').attr('offsetTop');
    
    cleft = l;
    ctop = t + h;
    
    //alert("l:"+l+" w: "+w+" h: "+h+" t:"+t+"");
    
    $('#switch-project').css("left", cleft+"px");
    $('#switch-project').css("top", ctop+"px");
    $('#switch-project').toggle();

    $('#switch-project-cancel').click ( hideSwitchProject );
    
    wh = $(document).height();
    $('#overlayer').css('height', wh+'px');    
    
    if ($.browser.msie)
      $('#overlayer').show();    
    else
      $('#overlayer').fadeIn('fast');    
    
    $('#overlayer').click ( hideSwitchProject );
    
    
    resetViewingFilters();
    
    
  });
  
  
  //change current project
  $('#switch-project ul a').click(function()
  {    
    //cancel current load
    window.stop();    
       
    $(this).parents('.inner').html('<div align="center" style="margin:30px"><img src="/images/loading.gif" align="Please wait while loading content" /></div>');
  });
  
  
  //upload avatar
  $('.admin-head-img').mouseenter(function(){
   clearTimeout(time1);
   $(this).find('.upload-button').show();
  });
  
  $('.admin-head-img').mouseleave(function(){
   time1 = setTimeout( "$('.upload-button').hide()" , 2000);
  });

  
  //close notice
  $('#close-maintenance').click(function(){
    $.get("/user/setOptions", { user_show_maintenance: "0" } );
    $('#notice-inner').hide();
    $('#notice-link').show();
    $('#notice-bs').addClass('hidden');
  });
  
  //show notice
  $('#show-maintenance').click(function(){
    $.get("/user/setOptions", { user_show_maintenance: "1" } );
    $('#notice-link').hide();
    $('#notice-inner').slideDown('fast');    
    $('#notice-bs').removeClass('hidden');
  });
  
  

}//init


//toggle diferent contexts in alarm
function toggle_keyphrase() {  

	$('.kpl').click(function() {
	  
	  id = ($(this).attr('id')).substr(1);	  
	  //parentId = 'a' + id.split('-')[0];	  
	  parentId = $(this).parents('.ili').attr('id');
	  	  
	  item = $('#'+id);
	  
	  //deactivate old context and activate current
	  $('#'+parentId+' .activeAlarm').removeClass('activeAlarm');
	  item.toggleClass('activeAlarm');
	  
	  //footer
	  $(this).toggleClass('activeAlarm');
	  
	  return false;
	}); 

}


	  


function hideSwitchProject() 
{
  $('#switch-project').hide();
  $('#overlayer').hide();          
}






/*** view post (temporal) **/
function viewConv(number, element) {
	$("#conversations-list").effect("highlight", {color:"#fded37"} );
	$("#conversations-list").load("post"+number+".php");	
}




/**** date functions ****/


function wrongDate(divId) 
{
 	pdate = $(divId).datepicker('getDate');
	today = new Date();
	if (pdate > today) 
	  return true;
	else
	  return false;  
}


//click start-date
function selectStartDate() 
{       
	if (wrongDate('#cStart')) {
		alert("The start date can't be greater than today");
		//select again
		showCalendar( $('#dateStart') , true);
		return;
	}	
  
  $('#capt-start-date').html( 'Selected Start date: ' + $('#dateStart').val() );
  //$('#cStart').effect("transfer", { to: $("#capt-start-date") }, 400);
  $('#capt-start-date').effect('highlight');
  
  if (showNextCalendar)
  { 
    $('.calbox[rel=dateStart]').hide();
    $('.calbox[rel=dateEnd]').show();    
    showNextCalendar = false;
  }  
}


//click end-date
function selectEndDate()
{
  //get interval dates
  sdate = $('#cStart').datepicker('getDate');
	edate = $('#cEnd').datepicker('getDate');
  
	//check dates
	if (wrongDate('#cEnd')) {
		alert("The end date can't be greater than today");
		showCalendar( $('#dateEnd') , false);
		return;
	} else if (edate < sdate) {
		alert("The end date must be greater or equal than the start date");
		showCalendar( $('#dateEnd') , false);
	  return;
	}
  
  $('#capt-end-date').html( 'Selected End date: ' + $('#dateEnd').val() );
  //$('#cEnd').effect("transfer", { to: $("#capt-end-date") }, 400);
  $('#capt-end-date').effect('highlight');  
  $('#apply-calendar a.button').show();
}


//display calendar
function showCalendar(dateField, goNext) {
  
  //display next calendar ?  
  if (goNext == true) 
  {    
    //clear start date
    $('#cStart').datepicker('setDate');
    $('#capt-start-date').html('');
   
    showNextCalendar = true;
  }   
  
  
  //clear end date
  $('#cEnd').datepicker('setDate');
  $('#capt-end-date').html(''); 
  
  
  fieldId = $(dateField).attr('id');
  
  $('.calbox').hide();
  $('.calbox[rel='+fieldId+']').show();   
  
}



function set_default_dates() {
  
  $("#cStart").datepicker( 'setDate', '-1m' );	
  $("#cEnd").datepicker( 'setDate', '-0d' );	
  
  reloadCalendar();  
  
}




//string "2008-05-04" to javascript Date
/*
function str2date(pdate) {
	
	var sDate = new Date();
	
	y = pdate.substr(0,4);
	m = pdate.substr(5,2)-1;
	d = pdate.substr(8,2);
	
	sDate.setFullYear(y,m,d);
	
	return sDate;
}
*/


//date conversion format
function cDate(pdate) {	

	var months = new Array(12);
	months[0]  = "January";
	months[1]  = "February";
	months[2]  = "March";
	months[3]  = "April";
	months[4]  = "May";
	months[5]  = "June";
	months[6]  = "July";
	months[7]  = "August";
	months[8]  = "September";
	months[9]  = "October";
	months[10] = "November";
	months[11] = "December";

	//var sDate = new Date();
	
	y = pdate.substr(0,4);
	m = pdate.substr(5,2)-1;
	d = pdate.substr(8,2);
	
	rdate = months[m] +' '+ d +', '+y ;
	
	return rdate;	
	
}






//param strDate as "2009-12-31" 
//return javascript Date object
function jsDate(strDate) {
  
  strDate = strDate.split("-");
  ret = new Date(strDate[0], strDate[1]-1, strDate[2] );
  
  return ret;  
}



function date2str(pdate)
{  
  y = pdate.getFullYear();
  m = pdate.getMonth()+1;
  d = pdate.getDate();  
  
  if (m.toString().length < 2)
    m = "0" + m;
    
  if (d.toString().length < 2)
    d = "0" + d;

  return y +'-'+ m +'-'+ d;  
}

function date2display(pdate)
{
	  y = pdate.getFullYear();
	  m = pdate.getMonth()+1;
	  d = pdate.getDate()+'';//convert to string  
	  
	  switch(m)
	  {
	  case  1: m="Jan";break;
	  case  2: m="Feb";break;
	  case  3: m="Mar";break;
	  case  4: m="Apr";break;
	  case  5: m="May";break;
	  case  6: m="Jun";break;
	  case  7: m="Jul";break;
	  case  8: m="Aug";break;
	  case  9: m="Sep";break;
	  case 10: m="Oct";break;
	  case 11: m="Nov";break;
	  case 12: m="Dec";break;
	  }
	  switch(d.charAt(d.length-1))
	  {
	  case '1':	d+="st";break;
	  case '2':	d+="nd";break;
	  case '3':	d+="rd";break;
	  default:	d+="th";break;
	  }
	  return m+" "+d+" "+y;
}

function new_keyp_added(sender, keypId) {  
  
  //alert('new_keyp_added:'+sender);
  
  //re-activate button
  if (typeof(sender) != 'undefined') {
    sender.className = 'button';
    sender.disabled = '';
  }  
  
  //empty textbox
  $('#keyphrase').val('');
  
  //highlight added room    
  $('#room-list li#r'+keypId+'').effect('highlight', {}, 3000);
  
}

function displayInfoBar(msg)
{ 
  
  $('#infoBar').html(msg);  
  $('#infoBar').slideDown();
  
  var tmm = setTimeout( function(){ 
    $('#infoBar').slideUp( function() { $('#infoBar').html(''); });     
  }, 10000);  
  
}
