
/** FORMAT CLASS **/
/**********************************************************/
$(document).ready(function(){

  // rollovers buttons
  $(".rounded_bt_tryit_small").hover(function(){
    $(this).addClass("rounded_bt_tryit_small_hover");
    $(this).children(".sm_button_gray").addClass("sm_button_gray_hover");
  },function(){
    $(this).removeClass("rounded_bt_tryit_small_hover");
    $(this).children(".sm_button_gray").removeClass("sm_button_gray_hover");
  });
  
	// show/hide help boxes handller
	$("a.help_btn").bind("click", cityspk.format.bindHelper);

});

/**
 * bind help bubble to selected links
 * @param e : the event object
 */
cityspk.format.bindHelper = function(obj)
{
  var curr_rel = this.rel;
  if( $(curr_rel).css("display") == "block" ) 
  {
    $(this.rel).toggle();
    $(this).css("background-position","-23px 0px");
  }
  else 
  {
    $(".info-box").hide();$(this.rel).toggle();
    $("a.help_btn").css("background-position","-23px 0px");
    $(this).css("background-position","0px 0px");
  }
  return false;
};

/**
 * Vertical Centered positioning for those elements
 * @param e : the event object
 */
cityspk.format.catchEnter = function(e)
{
  var characterCode;
  if(e && e.which)
  {
    e = e;
    characterCode = e.which;
  }
  else
  {
    e = event;
    characterCode = e.keyCode;
  }  
  if(characterCode == 13){
    e.data.callback();
    return false;
  }
};

/**
 * set/update the UI pagers after any response
 * @param current page
 * @param total pages
 * @param update display function
 * @param container
 */
cityspk.format.setUIPagers = function(page,pages,pager_func,container)
{
	var uipage = parseInt(page);
	var uipages = parseInt(pages);
	
	html = '<div class="pagination_filter_insert"><ul class="list_pages">';
	if( uipage > 1 ) 
	{
		html += '<li class="prev"><a href="#" onclick="'+pager_func+'(\''+((uipage)-1)+'\'); return false;"><span> < </span></a></li>';
	}
	else
	{
		html += '<li class="prev">&nbsp;</li>';
	}		
	for(i=1;i<uipages+1;i++)
	{
		var active_class='';
		var pos_class='';
		
		if ( (i == 1) && (i == uipage) )
			html += '<li class="first"><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;" class="active">'+i+'</a></li>';
		else if ( (i == 1) && (i != uipage) )
			html += '<li class="first"><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;">'+i+'</a></li>';
		else if ( (i == uipages) && (i == uipage) )
			html += '<li class="last"><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;" class="active">'+i+'</a></li>';
		else if ( (i == uipages) && (i != uipage) )
			html += '<li class="last"><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;">'+i+'</a></li>';
		else if ( (i == uipage) )
			html += '<li class=""><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;" class="active">'+i+'</a></li>';
		else if( (i == (uipage - 1)) || (i == (uipage - 2)) || (i == (uipage + 1)) || (i == (uipage + 2)) )
			html += '<li class=""><a href="#" onclick="'+pager_func+'(\''+i+'\'); return false;">'+i+'</a></li>';
    else if( (i == (uipage - 3)) || (i == (uipage + 3)) )
      html += '<li class="">...</li>';
	};
	if( uipage < uipages )
	{
		html += '<li class="next"><a href="#" onclick="'+pager_func+'(\''+((uipage)+1)+'\'); return false;"><span> > </span></a></li>';
	}
	else
	{
		html += '<li class="next">&nbsp;</li>';
	}
	html += '</ul></div>';
  
	$(container).html(html);
};

/**
 * set form. legend position
 * @param html elements collected by $() method or stored in an Array object
 * @param initial position (padding of the legend)
 * @return void
 */
cityspk.format.setLegendPosition = function(elts, initPosition){
	for(var j = 0; j < elts.length; j++){
		var elt = elts[j];
		var legend = $(elt);
		var parent = $(legend).parents()[0];
		if(!parent.tagName) continue;
		var brothers = $(parent).children();
		var length = (initPosition)? new Number(initPosition) : 0;
		for(var i = 0; i < brothers.length; i++){
			var brother = brothers[i];
			if(!brother.tagName) continue;
			var brother_length = parseInt($(brother).width());
			length += brother_length;
		};	
		$(parent).css('width', length + 'px');
	};	
};

/**
 * activate validate button / organizer modal edition
 * @param locationId : location id
 */
cityspk.format.activateSaveBtn = function(action,id_button)
{
	var curr_enabled_class	= 'bt_active';
	var curr_disabled_class	= 'bt_inactive'; 
  $(".back_navigation").hide();
	$(id_button+" a").removeClass(curr_disabled_class);
	$(id_button+" a").removeClass('sm_button_link');
	$(id_button+" a").addClass(curr_enabled_class);
	$(id_button+" a").bind("click", action);
};

/**
 * desactivate validate button / organizer modal edition
 * @param none
 */
cityspk.format.desactivateSaveBtn = function(id_button)
{
	var curr_enabled_class	= 'bt_active';
	var curr_disabled_class	= 'bt_inactive';
  $(".back_navigation").show();  
	$(id_button+" a").addClass(curr_disabled_class);
	$(id_button+" a").addClass('sm_button_link');
	$(id_button+" a").removeClass(curr_enabled_class);
	$(id_button+" a").unbind();
};

