function open_default_option( pid, type )
{
  var layeropen;
  var layerhide;
  
  switch( type )
  {
    case 4: //SUBSCRIPTIONS
      layeropen = 'type_subscriptionaccount' + pid + 'open';
      layerhide = 'type_subscriptionaccount' + pid + 'close';
      if( document.getElementById( layerhide ) )
      {
        document.getElementById( layerhide ).style.display = "none";      
        document.getElementById( layeropen ).style.display = "block";
      }
      break; 
    case 2: //PREPAID
      layeropen = 'type_prepaidaccount' + pid + 'open';
      layerhide = 'type_prepaidaccount' + pid + 'close';
      if( document.getElementById( layerhide ) )
      {
        document.getElementById( layerhide ).style.display = "none";      
        document.getElementById( layeropen ).style.display = "block";
      }
      break;
    case 3: //TICKET
      layeropen = 'type_ticket' + pid + 'open';
      layerhide = 'type_ticket' + pid + 'close';
      if( document.getElementById( layerhide ) )
      {
        document.getElementById( layerhide ).style.display = "none";      
        document.getElementById( layeropen ).style.display = "block";
      }
      break;
    case 1: //ON THE PHONE
      layeropen = 'type_onthephone' + pid + 'open';
      layerhide = 'type_onthephone' + pid + 'close';
      if( document.getElementById( layerhide ) )
      {
        document.getElementById( layerhide ).style.display = "none";      
        document.getElementById( layeropen ).style.display = "block";
        setTimeout( 'prod' + pid + '_otp_begin_timeout()', 500 );
      }
      break;
  }
}


function openoption( layer, pid )
{
	var layeropen = layer + pid + "open";
	var layerhide = layer + pid + "close";
	document.getElementById( layerhide ).style.display = "none";
	document.getElementById( layeropen ).style.display = "block";
  
  switch( layer )
  {
    case 'type_ticket':
      if( document.getElementById( 'type_onthephone' + pid + 'open' ) ) document.getElementById( 'type_onthephone' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'open' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'open' ) )document.getElementById( 'type_prepaidaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_onthephone' + pid + 'close' ) ) document.getElementById( 'type_onthephone' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'close' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'close' ) ) document.getElementById( 'type_prepaidaccount' + pid + 'close' ).style.display = "block";
      break;
    case 'type_onthephone':
      if( document.getElementById( 'type_ticket' + pid + 'open' ) ) document.getElementById( 'type_ticket' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'open' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'open' ) )document.getElementById( 'type_prepaidaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_ticket' + pid + 'close' ) ) document.getElementById( 'type_ticket' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'close' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'close' ) ) document.getElementById( 'type_prepaidaccount' + pid + 'close' ).style.display = "block";
      break;
    case 'type_subscriptionaccount':
      if( document.getElementById( 'type_ticket' + pid + 'open' ) ) document.getElementById( 'type_ticket' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_onthephone' + pid + 'open' ) ) document.getElementById( 'type_onthephone' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'open' ) )document.getElementById( 'type_prepaidaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_ticket' + pid + 'close' ) ) document.getElementById( 'type_ticket' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_onthephone' + pid + 'close' ) ) document.getElementById( 'type_onthephone' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_prepaidaccount' + pid + 'close' ) ) document.getElementById( 'type_prepaidaccount' + pid + 'close' ).style.display = "block";
      break;
    case 'type_prepaidaccount':
      if( document.getElementById( 'type_ticket' + pid + 'open' ) ) document.getElementById( 'type_ticket' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_onthephone' + pid + 'open' ) ) document.getElementById( 'type_onthephone' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'open' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'open' ).style.display = "none";
      if( document.getElementById( 'type_ticket' + pid + 'close' ) ) document.getElementById( 'type_ticket' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_onthephone' + pid + 'close' ) ) document.getElementById( 'type_onthephone' + pid + 'close' ).style.display = "block";
      if( document.getElementById( 'type_subscriptionaccount' + pid + 'close' ) ) document.getElementById( 'type_subscriptionaccount' + pid + 'close' ).style.display = "block";
      break;
  }
}



function closeoption( layer, pid )
{
  var layerhide = layer + pid + "open";
  var layeropen = layer + pid + "close";
  document.getElementById( layerhide ).style.display = "none";
  document.getElementById( layeropen ).style.display = "block";
    
  switch( layer )
  {
    case 'type_prepaidaccount':
      restore_type( 'prepaid', pid, '2' );
      break;
      
    case 'type_ticket':
      restore_type( 'prepaid', pid, '3' );//prepaid string is NOT a typo!!
      break;
    
    case 'type_subscriptionaccount':
      restore_type( 'subscription', pid, '1' );
      break;
  }
}



function restore_type( layer, pid, type )//Third value must be a string
{
  var inputs = document.getElementsByTagName('input');      
  var iframe = document.getElementById( layer + '_form' + pid );
  
  if( iframe )
  {
    iframe.parentNode.removeChild( iframe );
    for( i = 0; i < inputs.length; i++ )
    {
      if( inputs[i].name == layer + 'object' + pid + '_' + type )
      {
        if( ! inputs[i].checked )
        {
          var obj = 'obj' + inputs[i].value;
          document.getElementById( obj ).style.display = 'block';
        }
      }
    }
    document.getElementById( layer + '_button' + pid + '_' + type ).style.display = 'block';
  }
}



function changelayer(layer)
{
	name = layer + "close";
	img = "url('images/"+ layer + "boxover.jpg')";
	document.getElementById(name).style.backgroundImage = img;  
}



function changelayerundo(layer)
{
	name = layer + "close";
	img = "url(images/"+ layer + "box.jpg)";
	document.getElementById(name).style.backgroundImage = img;
}



function popup( lng )
{
  if( lng != 'ES' )
    lng = 'EN';
  
  var url     = "generic/lng_" + lng + "/conditions.html";
  var width   = 510;
  var height  = 560;
  var posX    = 600;
  var posY    = 150;
  
  var options = "toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=1";
  options    += ",width=" + width  + ",height=" + height + ",left=" + posX + ",top=" + posY;
  
  window.open( url, 'legal', options );
}



function popup_legal( layout, lng )
{
  lng = lng.toLowerCase();
  if( lng != 'es' )
    lng = 'en';
    
  var webparts = layout.split('.');
  var webext   = webparts[ webparts.length - 1 ];
  var webname  = layout.substr( 0, layout.length - webext.length - 1 );
  
  if( layout == 'accesozonaprivada.com' )
  {
    var url = "http://www.argatel.com/legal_footer/conditions.php?company=argatel";
  }
  else
  {
    var url = "http://www.sinermedia.com/legal_footer/conditions.php?company=sinergyne";
  }
  url    += "&nameweb=" + webname;
  url    += "&extweb=" + webext;
  url    += "&language=" + lng;
  
  var width   = 825;
  var height  = 715;
  var posX    = 200;
  var posY    = 200;
  
  var options = "toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=1";
  options    += ",width=" + width  + ",height=" + height + ",left=" + posX + ",top=" + posY;
  
  window.open( url, 'legal', options );
}



function popup_form( lng )
{
  if( lng != 'ES' )
    lng = 'EN';
  
  var url    = "../generic/lng_" + lng + "/conditions.html";
  var width  = 510;
  var height = 560;
  var posX   = 600;
  var posY   = 150;
  
  var options = "toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=1";
  options    += ",width=" + width  + ",height=" + height + ",left=" + posX + ",top=" + posY;
  
  window.open( url, 'legal', options );
}



function validate_email( email )
{
  var at   = "@";
  var dot  = ".";
  var lat  = email.indexOf(at);
  var lstr = email.length;
  var ldot = email.indexOf(dot);
  
  if( email.indexOf(at) == -1 )
    return false;

  if( email.indexOf(at) == -1 || email.indexOf(at) == 0 || email.indexOf(at) == lstr )
    return false;

  if( email.indexOf(dot) == -1 || email.indexOf(dot) == 0 || email.indexOf(dot) == lstr )
    return false;

  if( email.indexOf( at,( lat + 1 ) ) != -1 )
    return false;

  if( email.substring( lat - 1, lat ) == dot || email.substring( lat + 1, lat + 2 ) == dot )
	return false;

  if( email.indexOf( dot, ( lat + 2 ) ) == -1 )
	return false;
		
  if( email.indexOf(" ") != -1)
	return false;

  return true;				
}



function password_power( id )
{
  //One to Four are status for the password.
  var value = document.getElementById( id ).value;
  var num   = document.getElementById( id ).value.length;
  var power = password_power_calculator( value, num );

  return power;
}


function password_power_calculator( val, num )
{
  var res;
  var special = 0;

  //Check how many special characters
  res = val.match( /[\!\@\#\$\%\^\&\*\(\)\+\=\-\[\]\\\'\;\,\.\/\{\}\|\"\:\<\>\?]/g );

  if( res == null )
    res = new Array(0);

  special = res.length * 3;

  //Check how many characters are letters.
  res = val.match( /[a-zA-Z]/g );

  if( res == null )
    res = new Array(0);

  if( special > 0 && res.length > 0 )
  {
    special += res.length + 4;
  }
  else
  {
    special += res.length;
  }

  //Check if all characters are numerics.
  res = val.match( /[0-9]/g );

  if( res == null )
    res = new Array(0);
  if( special > 0 && res.length > 0 )
  {
    special += res.length + 4;
  }
  else
  {
    special += res.length;
  }

  return special;
}

function show_power( password_id, powerdiv_id, power_levels )
{ 
  var power = password_power( password_id );
  if( power > 20 ) power = 20;
  var width = power * 8;
  var text;
  var css; 
  if( power < 6 )
  {
    text = power_levels[0];
    css  = 'short'; 
  }
  else if( power < 11 ) 
  {
    text = power_levels[1];
    css  = 'insufficient';
  }
  else if( power < 16 )
  {
    text = power_levels[2];
    css  = 'acceptable';
  }
  else
  {
    text = power_levels[3];
    css  = 'strong'; 
  }

  $(powerdiv_id).style.visibility = "visible";
  $(powerdiv_id).innerHTML  = '<p>Password Power: ' + text + '</p>';
  $(powerdiv_id).innerHTML += '<hr id="' + powerdiv_id + '_hr" width='+ width +'px></hr>';
  $(powerdiv_id + '_hr').className = css;
  $(powerdiv_id).style.visibility = 'visible';
  $(powerdiv_id).style.zIndex = 1000;
}


function language_country( iso )
{
  switch( iso )
  {
    case 'AD':
    case 'ES':
    case 'CR':
    case 'MX':
    case 'PR':
    case 'AR':
    case 'CL':
    case 'CO':
    case 'BO':
    case 'PE':
    case 'DO':
    case 'HN':
    case 'PY':
    case 'UY':
    case 'VE':
      return 'ES';
      break;
    case 'DE':
    case 'AT':
    case 'LI':
      return 'DE';
      break;
    case 'BE':
    case 'CI':
    case 'BJ':
    case 'BF':
    case 'BI':
    case 'CM':
    case 'CF':
    case 'TD':
    case 'KM':
    case 'CG':
    case 'DJ':
    case 'GQ':
    case 'FR':
    case 'GA':
    case 'LU':
    case 'MC':
    case 'CH':
      return 'FR';
      break;
    case 'IT':
    case 'SM':
    case 'VA':
      return 'IT';
      break;
    case 'NL':
      return 'NL';
      break;
    case 'BR':
    case 'AO':
    case 'CV':
    case 'PT':
      return 'PT';
      break;
    default:
      return 'EN';
      break;
  }
}


function currency_country( iso )
{
  switch( iso )
  {
    case 'AD':
    case 'AT':
    case 'BE':
    case 'BG':
    case 'HR':
    case 'CZ':
    case 'DK':
    case 'FI':
    case 'FR':
    case 'GF':
    case 'PF':
    case 'TF':
    case 'DE':
    case 'GR':
    case 'IE':
    case 'IM':
    case 'IT':
    case 'LI':
    case 'LT':
    case 'LU':
    case 'MK':
    case 'NL':
    case 'AN':
    case 'NO':
    case 'PL':
    case 'PT':
    case 'RE':
    case 'RO':
    case 'ES':
    case 'SE':
    case 'CH':
    case 'EN':
    case 'GB':
    case 'VA':
    case 'GI':
    case 'SM':
    case 'MT':
      return 'EUR';
      break;
    default:
      return 'USD';
      break;
  }
}


function redirect( url )
{
  try 
  {
    var qs, item;
    qs   = new Querystring();
    item = qs.get('GUA');
    if( item != null )
      url += '&GUA=' + item;
    
    item = qs.get('gclid');
    if( item != null )
      url += '&gclid=' + item;
    
  } catch (e) 
  {
  //does nothing
  }
  
  if( parent.frames )
    top.location.replace( url );
  else
    window.location.replace( url );
}


function setSelectedIndexByValue( select_id, value )
{
  var select = document.getElementById( select_id );
  if( ! select_id )
    return;
  if( ! select.options )
    return;
  if( select.options[select.selectedIndex].value == value )
    return;
  
  for( var i = 0; i < select.options.length; i++ )
  {
    if( select.options[i].value == value )
    {
      select.selectedIndex = i;
      return;
    }
  }
}


function openCertificate()
{
  var url     = "https://www.thawte.com/core/process?process=public-site-seal-cert-details&public-site-seal-cert-details.referer=https://www.payiteasy.net/";
  var width   = 550;
  var height  = 600;
  var posX    = 600;
  var posY    = 150;
  
  var options = "toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0,scrollbars=1";
  options    += ",width=" + width  + ",height=" + height + ",left=" + posX + ",top=" + posY;
  
  window.open( url, 'thawte', options );
}


function isset(variable_name) 
{
  try 
  {
    if( typeof( eval(variable_name) ) != 'undefined' )
      if( eval(variable_name) != null )
        return true;
   }catch(e){ }
  return false;
}



function show_contact()
{
  $('contact').style.display = 'block';
}
function hide_contact()
{
  $('contact').style.display = 'none';
}


function add_param_to_url( url, name, value )
{
  if( url.indexOf("?") == -1 )
    url += '?';
  else
    url += '&';

  url += name + "=" + escape( value );
  return url;
}



function check_username_availability( username_id, available_msg, not_available_msg, generic_error_msg, another_website_msg, website_id )
{
  var username      = $( username_id ).value;
  var username_span = $( username_id + '_span' );
  if( !username_span )
    return false;
  
  username_span.innerHTML = '';
  username_span.style.display = 'none';
  
  if( ( username.trim() ).length == 0 )
    return false;
    
  //send ajax request.
  var params = 'req=availability&user=' + escape( username ) + '&wid=' + website_id;
  var req    = new Ajax.Request( 'process/check_user.php', {
                  method: 'post', parameters: params, 
                  onSuccess: function(){ onsuccess_check_username_availability( req.getResponseText(), username_id, available_msg, not_available_msg, generic_error_msg, another_website_msg, website_id ); }, 
                  onFailure: function(){ onfailure_check_username_availability( username_id, generic_error_msg ); } 
            } );
}

function onsuccess_check_username_availability( response, username_id, available_msg, not_available_msg, generic_error_msg, another_website_msg, generic_error_msg )
{
  switch( response )
  {
    case '200':
    {
      var username_span = $( username_id + '_span' );
      if( username_span )
      {
        username_span.innerHTML = available_msg;
        username_span.className = 'success';
        username_span.style.display = 'inline';
      }
      
      break;
    }
    case '401':
    {
      display_error( username_id, not_available_msg );
      break;
    }
    case '403':
    {
      display_error( username_id, another_website_msg );
      break;
    }
    default:
    {
      display_error( username_id, generic_error_msg );
      break;
    }
  }
  
}


function onfailure_check_username_availability( username_id, generic_error_msg )
{ 
  onsuccess_check_username_availability( '500', username_id, '', '', generic_error_msg );
}


String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') }


function clear_errors()
{
  var spans = document.getElementsByTagName( 'span' );
  for( var i = 0; i < spans.length; i++ )
  {
    var id = spans[i].id;
    if( id.substr( id.length - 5, 5 ) == '_span' )
    {
      spans[i].innerHTML = '';
      spans[i].style.display = 'none';
    }
  }
  var inputs = document.getElementsByTagName( 'input' );
  for( var i = 0; i < inputs.length; i++ )
  {
    if( inputs.className == 'red_input' )
    {
      inputs[i].className = '';
    }
  }
}

function display_error( id, msg )
{
  var input = $( id );
  if( input )
    input.className = 'red_input';
    
  var span = $( id + '_span' );
  if( span )
  {
    span.className = 'error';
    span.innerHTML = msg;
    span.style.display = 'inline';
  }
}