/*extern Element */

/**
 * Perfect example of undocumented obfuscated code that mix deprecated functions,
 * functions that have more than one purpose, and different input that share same name.
 *
 * @FIXME rewrite it CLEANLY with doc :-)
 */
 
 /*
  * Display the direct call rates (Rates/Direct Call + choose a country)
  */
function displayRates(pays)
{
    $('land_line').hide();
    $('land_rate').hide();
    $('mobile_line').hide();
    $('mobile_rate').hide();
    $('mobile_landline_line').hide();
    $('mobile_landline_rate').hide();

    if (pays !== '')
    {
        chaine_explode = pays.split("_");
        var land_rate = parseFloat(chaine_explode[0]);
        var mobile_rate = parseFloat(chaine_explode[1]);

        land_rate = formatRateDisplay(land_rate);
        mobile_rate = formatRateDisplay(mobile_rate);
        

        if (land_rate == mobile_rate)
        {
            Element.update('mobile_landline_rate', land_rate);
            $('mobile_landline_line').show();
            $('mobile_landline_rate').show();
        }
        else
        {
            if ( land_rate!='' && land_rate!=0 )
            {
                Element.update('land_rate', land_rate);
                $('land_line').show();
                $('land_rate').show();
            }
            if ( mobile_rate!='' && mobile_rate!=0)
            {
                Element.update('mobile_rate', mobile_rate);
                $('mobile_line').show();
                $('mobile_rate').show();
            }
        }

    }
}


 /*
  * Display the iNum rates (Rates/iNum + choose a country)
  */
function displayiNumRates(pays)
{
    $('iNum_land_line').hide();
    $('iNum_land_rate').hide();
    $('iNum_mobile_line').hide();
    $('iNum_mobile_rate').hide();
    $('iNum_mobile_landline_line').hide();
    $('iNum_mobile_landline_rate').hide();

    if (pays !== '')
    {
        chaine_explode = pays.split("_");
        var land_rate = parseFloat(chaine_explode[0]);
        var mobile_rate = parseFloat(chaine_explode[1]);

        land_rate = formatRateDisplay(land_rate);
        mobile_rate = formatRateDisplay(mobile_rate);
        

        if (land_rate == mobile_rate)
        {
            Element.update('iNum_mobile_landline_rate', land_rate);
            $('iNum_mobile_landline_line').show();
            $('iNum_mobile_landline_rate').show();
        }
        else
        {
            if ( land_rate!='' && land_rate!=0 )
            {
                Element.update('iNum_land_rate', land_rate);
                $('iNum_land_line').show();
                $('iNum_land_rate').show();
            }
            if ( mobile_rate!='' && mobile_rate!=0)
            {
                Element.update('iNum_mobile_rate', mobile_rate);
                $('iNum_mobile_line').show();
                $('iNum_mobile_rate').show();
            }
        }

    }
}


// Visitor : country <select> (that pre-select 'landline' and add optionnaly 'mobile' option)
function filterPhoneTypeVisitor()
{
    $('land_line2').hide();
    $('land_rate2').hide();
    $('mobile_line2').hide();
    $('mobile_rate2').hide();
    $('mobile_landline_line2').hide();
    $('mobile_landline_rate2').hide();

    if ($F('ctry_rates2') !== '')
    {
        //$('phone_type2').length = 1;
        var chaine_explode = $F('ctry_rates2').split('_');
        var land_rate = parseFloat(chaine_explode[0]);
        var mobile_rate = parseFloat(chaine_explode[1]);

        if (!isNaN(land_rate))
        {
            //$('phone_type2').options[$('phone_type2').length] = new Option(trad_landline,'landline');
            //$('phone_type2').selectedIndex = $('phone_type2').length - 1;
            
            $('phone_type_radio_landline').checked = true; 
        }
        
        if (!isNaN(mobile_rate) && mobile_rate>0 )
        {
            //$('phone_type2').options[$('phone_type2').length] = new Option(trad_mobile,'mobile');
            $('phone_type_radio_mobile').enable();
        } else {
            $('phone_type_radio_mobile').disable();
        }
        
        // Force Display, if possible
        displayRatesVisitor();
        
    }
}



// Logged user : display phone rates on user phone [phonetype] selection or country selection
function displayRatesMember()
{
	
    $('land_line2').hide();
    $('land_rate2').hide();
    $('mobile_line2').hide();
    $('mobile_rate2').hide();
    $('mobile_landline_line2').hide();
    $('mobile_landline_rate2').hide();
    var rate_from = 0;

    if ('' !== $F('ctry_rates2') && '' !== $F('ctry_rates3'))
    {
        var chaine_explode = $F('ctry_rates2').split("_");
        rate_from = parseFloat(chaine_explode[0]);

        chaine_explode = $F('ctry_rates3').split("_");
        var land_rate_to = parseFloat(chaine_explode[0]);
        var mobile_rate_to = parseFloat(chaine_explode[1]);

        land_rate_total = rate_from + land_rate_to;
        mobile_rate_total = rate_from + mobile_rate_to;

        land_rate_total = formatRateDisplay(land_rate_total);
        mobile_rate_total = formatRateDisplay(mobile_rate_total);

        $('div_callback_rates').show();
        

		// New display :-(
          if ((land_rate_to == mobile_rate_to) && (land_rate_to > 0))
          {
            Element.update('mobile_landline_rate2', land_rate_total);
            $('mobile_landline_line2').show();
            $('mobile_landline_rate2').show();
          }
          else
          {
            if (!isNaN(land_rate_to) && land_rate_to > 0 )
            {
                Element.update('land_rate2', land_rate_total);
                $('land_line2').show();
                $('land_rate2').show();
            }

            if (!isNaN(mobile_rate_to) && mobile_rate_to > 0 )
            {
                Element.update('mobile_rate2', mobile_rate_total);
                $('mobile_line2').show();
                $('mobile_rate2').show();
            }
          }

    }
}



// Visitor : display rate on phonetype or country selection
function displayRatesVisitor()
{
    var rate_from = 0;

    $('land_line2').hide();
    $('land_rate2').hide();
    $('mobile_line2').hide();
    $('mobile_rate2').hide();
    $('mobile_landline_line2').hide();
    $('mobile_landline_rate2').hide();

    if ('' !== $F('ctry_rates2') && '' !== $F('ctry_rates3'))
    {
        var chaine_explode = $F('ctry_rates2').split("_");


			if( $('phone_type_radio_mobile').checked==false )
			//if( $('phone_type_radio_landline').checked )
            {
                rate_from = parseFloat(chaine_explode[0]);
            }
            else
            {
                rate_from = parseFloat(chaine_explode[1]);
            }

        chaine_explode = $F('ctry_rates3').split("_");
        var land_rate_to = parseFloat(chaine_explode[0]);
        var mobile_rate_to = parseFloat(chaine_explode[1]);

        land_rate_total = rate_from + land_rate_to;
        mobile_rate_total = rate_from + mobile_rate_to;

        land_rate_total = formatRateDisplay(land_rate_total);
        mobile_rate_total = formatRateDisplay(mobile_rate_total);

        $('div_callback_rates').show();
        

		  if( land_rate_to>0 ) {
            Element.update('land_rate2', land_rate_total);
            $('land_line2').show();
            $('land_rate2').show();
		  } 
		  if( mobile_rate_to>0 ) {
            Element.update('mobile_rate2', mobile_rate_total);
            $('mobile_line2').show();
            $('mobile_rate2').show();		
		  }
		  
    }
}

function formatRateDisplay(rate)
{
    if (isNaN(rate) || rate === 0)
    {
        //no rates for this country
        return 0;
    }

    if (rate >= 1.0)
    {
        rate = rate.toFixed(2)  + "$";
    }
    else
    {
        rate = rate * 100;
        rate = rate.toFixed(1) + "&cent;";
    }
    return rate + '<em>' + trad_per_minute + '</em>';
}

function display_price()
{
    $('price1').show();
    $('price2').show();
}

document.observe('dom:loaded',function(){
	new Control.Tabs('tabs_rates');

	});