var small_loader = "/images/loading_small.gif";

function popup(url, name, width, height){
  var properties;
  properties="screenX=50,screenY=50,location=0,resizable=1,titlebar=1,directories=0,toolbar=0,menubar=0,scrollbars=1,status=0";
  
  if(width>0) caract_width=",WIDTH="+width;
  else  caract_width="WIDTH=300";
  
  if(height>0) caract_height=",HEIGHT="+height;
  else  caract_height= ",HEIGHT=350";
    
  properties = properties + caract_width+caract_height;
  
  newWin=window.open(url, name, properties);
  var windowX = (screen.width/2)-(width/2);
  var windowY = (screen.height/2)-(height/2);
  
  newWin.moveTo(windowX,windowY)

  newWin.focus();
  onscreen=true;
}

function trim(str, chars) {
  return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
  chars = chars || "\\s";
  return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
  chars = chars || "\\s";
  return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

/*
 * Devuelve el color en notacion hexadecimal en minusculas
 * Pr ejemplo: rgb(255, 255, 255) -> #ffffff
 */
function rgbConvert(str) {
   str = str.replace(/rgb\(|\)/g, "").split(",");
   str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
   str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
   str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
   str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
   str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
   str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
   return ('#' + str.join(""));
}

/**
 * Devuelve la fecha actual en formato: YYYY-mm-dd hh:mm:ss
 */
function getCurrentDate()
{
  var cdate = new Date();
  var year = cdate.getFullYear();
  var month = cdate.getMonth() + 1;
  var day = cdate.getDate();

  var hours = cdate.getHours();
  var minutes = cdate.getMinutes();
  var seconds = cdate.getSeconds()

  if (day < 10) day = "0"+day;
  if (month < 10) month = "0"+month;
  if (hours < 10) hours = "0"+hours;
  if (minutes < 10) minutes = "0"+minutes;
  if (seconds < 10) seconds = "0"+seconds;

  var current_time = hours + ':' + minutes + ':' + seconds;
  var current_date = year + '-' + month + '-' + day + ' ' + current_time;

  return current_date;

}



/* Empresa: Estableciendo funcion con validadores para formulario */
var validateCompanyForm = function()
{
  flag_focus = false;
  //alert($(format_name+'_logo').value);
  var company_sector_id     = $(format_name+'_sector_id');
  var company_sub_sector_id = $(format_name+'_sub_sector_id');
  var company_category_id   = $(format_name+'_category_id');
  var company_name           = $(format_name+'_name');
  var company_description   = $(format_name+'_description');
  var company_ruc           = $(format_name+'_ruc');
  var company_logo          = $(format_name+'_logo');
  var company_address_1     = $(format_name+'_address_1');
  var company_phone         = $(format_name+'_phone');

  var flag = true;

  flag = validateElementForm(flag, 'text', null, company_sector_id, format_name+'_msg_sector_id', 'Campo Rubro requerido');
  flag = validateElementForm(flag, 'text', null, company_sub_sector_id, format_name+'_msg_sub_sector_id', 'Campo Sub-Rubro requerido');
  flag = validateElementForm(flag, 'text', null, company_category_id, format_name+'_msg_category_id', 'Campo Categoria requerido');
  flag = validateElementForm(flag, 'text', null, company_name, format_name+'_msg_name', 'Campo Nombre requerido');
  flag = validateElementForm(flag, 'text', 500, company_description, format_name+'_msg_description', 'Campo Descripci&oacute;n requerido');
  flag = validateElementForm(flag, '+num', 11, company_ruc, format_name+'_msg_ruc', 'Campo RUC requerido');
  flag = validateElementForm(flag, 'file', null, company_logo, format_name+'_msg_logo', 'Campo Logo');
  flag = validateElementForm(flag, 'text', null, company_address_1, format_name+'_msg_address_1', 'Campo Direcci&oacute;n 1 requerido');
  flag = validateElementForm(flag, '+num', null, company_phone, format_name+'_msg_phone', 'Campo Tel&eacute;fono requerido');

  if(flag == false) {
    return false;
  }

}

function iniciar()
{
  /* Empresa: Verificando definicion de formulario */
  if ( $('form_plt_company') != undefined) {

    format_name = 'company';
    var url_ajax = '/infomype.php/businessPlan/loadCategories';
    element_form = $('form_plt_company');
    element_form.onsubmit = validateCompanyForm;

    company_load_1 = new objElementLoad(format_name, 'sector_id', 'sub_sector_id', url_ajax);
    company_load_1.initialize();
    company_load_2 = new objElementLoad(format_name, 'sub_sector_id', 'category_id', url_ajax);
    company_load_2.initialize();

  }

}

Event.observe( window, 'load', iniciar, false);
