var menu = {
    showSub : function(tab) {
        $('#drop_' + tab).show();
	if(menu.timeout)
	{
		window.clearTimeout(menu.timeout);
	}
    },
    
    hideSub : function(tab) {
	menu.timeout = window.setTimeout(function() {$('#drop_' + tab).hide();}, 100);
    }
};

var SMSTest = {
    send: function() {
	   $('#smsmeldung').html("");

	    var mail =  $('#smsmail').val();
	    var handynr = $('#smshandy').val();
	  //   var route = $('#smsroute').val();
	    var route = document.getElementById("smsrouteaa").value;
	    var vorw = document.getElementById("smsvorw").value;

	    if(mail == "" || handynr == "")
	    {
		this.meldung("Bitte alle Felder ausf&uuml;llen!", "error");
		return;
	    }

	    $('#sbtndiv').hide();
	    $('#spdiv').show();

	    $.ajax({
            type: "POST",
            url: "ajax.php",
            data: "rs=sendSMS&page=home,home&rsargs[]=" + mail + "&rsargs[]=" + handynr + "&rsargs[]=" + route + "&rsargs[]=" + vorw,
            dataType: "json",
            success: function(data){
		   $('#sbtndiv').show();
		   $('#spdiv').hide();
                if(data.status == "error")
		{
			SMSTest.meldung(data.text, "error");
		} else {
			SMSTest.meldung(data.text, "success");
		}
            }
        });

    },
    meldung: function(text, type) {
	   $('#smsmeldung').html('<div class="status_msg ' + type + '" style="margin-left: -10px; width: 520px;"><span class="clearfix"><b>' + text + '</b></span></div>');
    },
    changePrefix: function(ele) {
	    var routes = "";
	    if(ele.value == "49")
	    {
		routes = '<select id="smsrouteaa" style="width: 154px; border: none;"><option value="basic">Basic</option><option selected value="gold">Gold</option><option value="direct">Direct</option></select>';
	    } else {
		routes = '<select id="smsrouteaa" style="width: 154px; border: none;"><option value="gold">Gold</option><option value="direct">Direct</option></select>';
	    }
	    
	    $('#rdivas').html(routes);
    }
};

var appslider = {
	open : "",
	show : function(ele)
	{
		if(appslider.open != "") appslider.hide(appslider.open);
		if(appslider.open == ele){appslider.open = "";return;}
		appslider.open = ele;
		$("#app_text_"+ele).slideDown(500, function() {});
	},
	hide : function(ele)
	{
		$("#app_text_"+ele).slideUp(500, function() {});
	}
};

var PrepaidRechnung = {
	tarifklassen: {
		'0': [20, 150],
		'C': [150, 500],
		'B': [500, 1000],
		'A': [1000, 5000],
		'E': [5000, 100000]
	},
	onKeyPress: function(event) {
		if (event && event.which == 13)
		{
			this.berechne();
		}
	},
	berechne: function() {
		var eingabe = $('#prepaidwert').val();

		eingabe = eingabe.replace(/,/g, ".");
		eingabe = eingabe*1;

		if(isNaN(eingabe) || eingabe == "")
		{
			eingabe = 20;
			$('#prepaidwert').val(eingabe);
		}

		if(eingabe < 20)
		{
			alert($('#jstr5').html());
			$('#rtable_prepaid').hide();
			return;
		}
		
		for(klasse in PrepaidRechnung.tarifklassen) {
			if(eingabe < PrepaidRechnung.tarifklassen[klasse][1])
			{
				break;
			}
		}
		
		if(klasse != "E")
		{
			var str1 = sprintf($('#jstr1').html(), PrepaidRechnung.tarifklassen[klasse][0], PrepaidRechnung.tarifklassen[klasse][1], klasse);
			var str2 = sprintf($('#jstr2').html(), klasse);
		} else {
			var str1 = sprintf($('#jstr1_2').html(), PrepaidRechnung.tarifklassen[klasse][0], klasse);
			var str2 = $('#jstr2_1').html();
		}
		
		$('#rtable_prepaid').show();
		$('#pre_str1').html(str1);
		$('#pre_str2').html(str2);
	}
};

var ProfessionalRechnung = {
	preise_tarifklassen: {
		'0': {
			'BasicSMS': 0.024,
			'GoldSMS': 0.055,
			'DirectSMS': 0.084
		},
		'C': {
			'BasicSMS': 0.018,
			'GoldSMS': 0.051,
			'DirectSMS': 0.081
		},
		'B': {
			'BasicSMS': 0.017,
			'GoldSMS': 0.050,
			'DirectSMS': 0.080
		},
		'A': {
			'BasicSMS': 0.016,
			'GoldSMS': 0.049,
			'DirectSMS': 0.079
		}
	},
	onKeyPress: function(event) {
		if (event && event.which == 13)
		{
			this.berechne();
		}
	},
	berechne: function() {
		
		var basicsms = $('#prof_basicsms').val();
		var goldsms = $('#prof_goldsms').val();
		var directsms = $('#prof_directsms').val();
		
		if(isNaN(basicsms) || basicsms == "") basicsms = 0;
		if(isNaN(goldsms) || goldsms == "") goldsms = 0;
		if(isNaN(directsms) || directsms == "") directsms = 0;
		
		$('#prof_basicsms').val(basicsms);
		$('#prof_goldsms').val(goldsms);
		$('#prof_directsms').val(directsms);
		
		var zwischenpreis_letzter_monat_basic = basicsms * ProfessionalRechnung.preise_tarifklassen.A.BasicSMS;
		var zwischenpreis_letzter_monat_gold = goldsms * ProfessionalRechnung.preise_tarifklassen.A.GoldSMS;
		var zwischenpreis_letzter_monat_direct = directsms * ProfessionalRechnung.preise_tarifklassen.A.DirectSMS;
		
		var zwischenpreis_gesamt = zwischenpreis_letzter_monat_basic + zwischenpreis_letzter_monat_gold + zwischenpreis_letzter_monat_direct;
		
		$('#anz_basic').html(basicsms);
		$('#anz_gold').html(goldsms);
		$('#anz_direct').html(directsms);
		
		$('#anz_basic1').html(basicsms);
		$('#anz_gold1').html(goldsms);
		$('#anz_direct1').html(directsms);
		
		$('#anz_basic2').html(basicsms);
		$('#anz_gold2').html(goldsms);
		$('#anz_direct2').html(directsms);
		
		$('#zw_pr_basic').html(number_format(zwischenpreis_letzter_monat_basic, 2, ',', '.'));
		$('#zw_pr_gold').html(number_format(zwischenpreis_letzter_monat_gold, 2, ',', '.'));
		$('#zw_pr_direct').html(number_format(zwischenpreis_letzter_monat_direct, 2, ',', '.'));
		
		$('#zw_pr_gesamt').html(number_format(zwischenpreis_gesamt, 2, ',', '.'));
		
		for(klasse in PrepaidRechnung.tarifklassen) {
			if(zwischenpreis_gesamt < PrepaidRechnung.tarifklassen[klasse][1])
			{
				break;
			}
		}
		
		if(klasse == "E")
		{
			$('#proftable').hide();
			alert($('#jstr4').html());
			return;
		} else {
			$('#etab').show();
		}
		
		var s = "Dadurch ergibt sich zun&auml;chst eine Summe von %s EUR, welche unter %d EUR liegt. Dadurch werden Sie in die Tarifklasse %s eingestuft. Nach der Einordnung wird die Anzahl der SMS mit den Preisen der Tarifklasse %s multipliziert.";
		
		s = $('#jstr3').html();
		
		var str1 = sprintf(s, number_format(zwischenpreis_gesamt, 2, ',', '.'), PrepaidRechnung.tarifklassen[klasse][1], klasse, klasse);
		
		$('#sks').html(klasse);
		
		$('#str3').html(str1);
		
		$('#preis_basic').html(number_format(ProfessionalRechnung.preise_tarifklassen[klasse].BasicSMS, 3, ',', '.'));
		$('#preis_gold').html(number_format(ProfessionalRechnung.preise_tarifklassen[klasse].GoldSMS, 3, ',', '.'));
		$('#preis_direct').html(number_format(ProfessionalRechnung.preise_tarifklassen[klasse].DirectSMS, 3, ',', '.'));
		
		var endpreis_basic = basicsms * ProfessionalRechnung.preise_tarifklassen[klasse].BasicSMS;
		var endpreis_gold = goldsms * ProfessionalRechnung.preise_tarifklassen[klasse].GoldSMS;
		var endpreis_direct = directsms * ProfessionalRechnung.preise_tarifklassen[klasse].DirectSMS;
		
		var endpreis = endpreis_basic + endpreis_gold + endpreis_direct;
		
		$('#endpreis_basic').html(number_format(endpreis_basic, 2, ',', '.'));
		$('#endpreis_gold').html(number_format(endpreis_gold, 2, ',', '.'));
		$('#endpreis_direct').html(number_format(endpreis_direct, 2, ',', '.'));
		
		$('#endpreis').html(number_format(endpreis, 2, ',', '.'));
		$('#endpreis2').html(number_format(endpreis, 2, ',', '.'));
		
		var gg = 0;
		
		if(endpreis < 150)
		{
			$('#gg').html("9"+seperator+"90");
		} else {
			$('#gg').html("0"+seperator+"00");
		}
		
		
		$('#proftable').show();
		
	}
	
};

var videolayer = {
	show: function() {
		$('#videolayer').show();
	},
	hide: function() {
		$('#videolayer').hide();
	}
};


var home = {
    toggleCountryList : function() {
        
        var country = $('#country_list').val();
	$('#wd').html("<img src='images/spinner_small.gif' />");
        $.ajax({
            type: "POST",
            url: "ajax.php",
            data: "rs=toggleList&page=home,home&rsargs[]=" + country,
            dataType: "json",
            success: function(data){
                $("#network_list").empty();
		$('#wd').empty();
                $.each(data, function(index, value) {
                    $("#network_list").append('<div class="network_entry"><span class="network_name">' + value + '</span><i style="float: right;" class="icon_list_checked"></i></div>');
                });
                if(country == 49) {
                    $("#network_list").append('<div class="network_entry"><span class="network_name"><b>' + $('#ab1').html() + '</b></span></div>');
                }
                else {
                    $("#network_list").append('<div class="network_entry"><span class="network_name"><b>' + $('#ab2').html() + '</b></span></div>');
                }
            }
        });
    }
};

var vergleich = {
    
    shows : 4,
    
    toggle : function(show, paket) {
        
        if(show) {
            vergleich.shows++;
            $('.' + paket + '_info').show();
        }
        else {
            if(vergleich.shows <= 1) {
                $('#chb_' + paket).attr('checked', 'checked');
                return;
            }
            
            vergleich.shows--;
            $('.' + paket + '_info').hide();
        }
    },
    
    init : function() {
       $('.list_prof').hide();
    },
    
    toggleTarifList : function(show, tarif) {
        if(show) {
            $('.list_' + tarif).show();
        }
        else {
            $('.list_' + tarif).hide();
        }
    }
};

function sprintf() {
 if( sprintf.arguments.length < 2 ) {
  return;
 }
 
 var data = sprintf.arguments[ 0 ];
 
 for( var k=1; k<sprintf.arguments.length; ++k ) {
 
  switch( typeof( sprintf.arguments[ k ] ) )
  {
   case 'string':
    data = data.replace( /%s/, sprintf.arguments[ k ] );
    break;
   case 'number':
    data = data.replace( /%d/, sprintf.arguments[ k ] );
    break;
   case 'boolean':
    data = data.replace( /%b/, sprintf.arguments[ k ] ? 'true' : 'false' );
    break;
   default:
    /// function | object | undefined
    break;
  }
 }
 return( data );
};

 function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) 
 {
   var x = Math.round(num * Math.pow(10,dec));
   if (x >= 0) n1=n2='';
  
   var y = (''+Math.abs(x)).split('');
   var z = y.length - dec;
  
   if (z<0) z--;
  
   for(var i = z; i < 0; i++) 
     y.unshift('0');
  
   y.splice(z, 0, pnt);
   if(y[0] == pnt) y.unshift('0');
  
   while (z > 3) 
   {
     z-=3;
     y.splice(z,0,thou);
   } 
  
   var r = curr1+n1+y.join('')+n2+curr2;
   return r;
 };
 
 function /*out: String*/ number_format( /* in: float   */ number,
                                        /* in: integer */ laenge,
                                        /* in: String  */ sep,
                                        /* in: String  */ th_sep ) {
sep = seperator;
  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
  str_number = number+"";
  arr_int = str_number.split(".");
  if(!arr_int[0]) arr_int[0] = "0";
  if(!arr_int[1]) arr_int[1] = "";
  if(arr_int[1].length < laenge){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= laenge; i++){nachkomma += "0";}
    arr_int[1] = nachkomma;
  }
  if(th_sep != "" && arr_int[0].length > 3){
    Begriff = arr_int[0];
    arr_int[0] = "";
    for(j = 3; j < Begriff.length ; j+=3){
      Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
      arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
  }
  return arr_int[0]+sep+arr_int[1];
};


