// Translations GLOBAL
var translations = new Object();
var loading = new Object();
var option_selected = new Object();
var browser = navigator.appName;	
option_selected.value = '';
option_selected.element = '';

var glink = '';



function get_translation(textcode)
{
  if (! translations.textcode)
  {
	return '';
  }
}

/* TOOLTIP 
this.tooltip = function(){	
	//CONFIG 		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	// END CONFIG 		
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};
*/
$(document).ready(function() {
	   $(".help a").click(function(e) {     
			e.preventDefault();	
			window.open('/home/get/help_message');
			return false;
	   });
	   
	//tooltip(); // starting the script on page load
    
	var js_errors = $('#js_errors').val();
	translations = $.evalJSON(js_errors);	
	
	$('#limit').change(function(){
	  $("#sorting_form").submit();	 	 
	});	
	
	$(".row").mouseover(function(){
	      $(this).removeClass("row").addClass("row_selected");
	      $(".td_selected", this).removeClass("td_selected").addClass("td_off"); 
	    }).mouseout(function(){
	    	$(this).removeClass("row_selected").addClass("row");
		    $(".td_off", this).removeClass("td_off").addClass("td_selected"); 
	    });
	
	
  // init translations
  /*	
  	$.ajax({url:"?ajax_translations", 
	    dataType:'json',
	    data: "", 
	    timeout: 15000, 
	    success:translations_call
    });
  
  function translations_call(datos)
  {	
    translations = datos;
    loading = [{"name" : translations['loading']+"...", "val": ''}];
  }	
  */
	
   $("a.delete").click(function(e) {     
     if (! confirm(translations['delete']))
       e.preventDefault();   	 
   });
});

// EMAIL validation
function isValidEmailAddress(emailAddress) {
  var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  return pattern.test(emailAddress);
}
/* EXAMPLE of usage
$("#email").keyup(function(){
	$("this").toggleClass("email_validation_false");

	if($("this").val() != 0 && isValidEmailAddress($("this").val()))
	  $("this").toggleClass("email_validation_true");
});
*/

/* CHECKBOX LIST*/
function create_checkbox_list(selected_container, checkbox_name, received_data)
{
	  var received_data_length = received_data.length;
	  if (received_data_length > 0)
	  {
		  $(selected_container).empty();
	      for (var i = 0; i < received_data_length; i++) {
	          var text = received_data[i].name;
	          var val  = received_data[i].val;
	          var is_checked = received_data[i].is_checked;
	          
	          var css_class = '';

	          if (received_data[i].css_class !== "undefined") 
	            css_class = received_data[i].css_class;
	        	
	          if (is_checked == 1) is_checked = 'checked';  
	          else is_checked = '';

	          $(selected_container).append('<div><input type="checkbox" name="'+checkbox_name+'" value="'+val+'" '+is_checked+' class="multidropdown"><label for="'+text+'">'+text+'</label></div>');
	      } 
	  }	
}


/* DROPDOWN fill in */
/**
 * update_dropdown()
 * dynamicaly update dropdowns, selected_name need to be ID
 * like #update_dropdown
 */
function update_dropdown(selected_name, received_data)
{
	  var received_data_length = received_data.length;
	  if (received_data_length > 0)
	  {
	      for (var i = 0; i < received_data_length; i++) {
	          var text = received_data[i].name;
	          var val  = received_data[i].val;
	          var css_class = '';

	          if (received_data[i].css_class !== "undefined") 
	            css_class = received_data[i].css_class;

	          var is_selected = '';
	          if (option_selected.element == selected_name && option_selected.value != '' && option_selected.value == val)
	        	  is_selected = 'selected';
	        	  
	          $(selected_name).append('<option value="'+val+'" '+is_selected+'>'+text+'</option>');
	          $(selected_name+' option:last').toggleClass(css_class);
	      } 
	  }
}

function applet_labels()
{
  var tmp = new Array();
  tmp['delete'] = translations['applet_delete'];
  tmp['upload'] = translations['applet_upload'];
  tmp['cancel'] = translations['applet_cancel'];
  tmp['reset']  = translations['applet_reset'];
  
	return tmp;
}

/* TABLE HEADER SORTING */
$(function() {
  $(".headers a").click(function(e) {
	e.preventDefault();
	var sort = $(this).attr("rel");
    $("#sorting").val(sort); 
    $("#sorting_form").submit();
  });
});

/*
function sortby(sort)
{		
 var sorting_form = document.forms['sorting_form'];
 document.getElementById('sorting').value = sort;
 sorting_form.submit();
}
*/

/* 2 SELECT <> SHARING */
var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);

function addOption(theSel, theText, theValue)
{
  var selLength = theSel.length;

  var found_same = false;
  for(i=selLength-1; i>=0; i--)
  {
    if(theSel.options[i].text == theText && theSel.options[i].value == theValue)
    { 
      found_same = true;
    }
  }
  
  if (theValue == '') found_same = true;
  
  if (found_same == false)
  {
  	var newOpt = new Option(theText, theValue);
	theSel.options[selLength] = newOpt;  
  }
}

function deleteOption(theSel, theIndex)
{ 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveOptions(theSelFrom, theSelTo, keep, add)
{
  if (keep) 
  {
    keep = 1;
  }
  else
  {
    keep = 0;
  }
  
  if (add) 
  {
    add = 1;
  }
  else
  {
    add = 0;
  }
  
  var selLength      = theSelFrom.length;
  var selectedText   = new Array();
  var selectedValues = new Array();
  var selectedCount  = 0;
  
  var i;
  
  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount]   = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      theSelFrom.options[i].selected = false;
      if (keep == 0) deleteOption(theSelFrom, i);
      selectedCount++;
    }
  }
  
  // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  if (add == 1)
  {
    for(i=selectedCount-1; i>=0; i--)
    {
      addOption(theSelTo, selectedText[i], selectedValues[i]);
    }
  }
  
  if(NS4) history.go(0);  
}
