// Hide instruction text for password field
function txt2pwd(obj, pwd){
	obj.style.visibility = "hidden";
	document.getElementById(pwd).focus();
}
// Display instruction text for password field
function pwd2txt(obj, txt){
	if(obj.value.length==0){
		document.getElementById(txt).style.visibility = "visible";
	}
}
// Display instruction text [str] if field is blank
// Clear instruction text if field is clicked
function resetField(obj,str){
	if(obj.value.length==0){
		obj.value=str;
		return;
	}
	if(obj.value==str){
		obj.value="";
	}
}

// funktion checks in Backoffice eingabe JA oder Abbrechen
function salereallydelete(sale)
{
	Check = confirm("Wollen Sie den Auftrag " + sale + " wirklich "+unescape("l%F6schen")+"?");
	if (Check == false){
		return false;
	}else {
		return true;
	}
	
	
	 
}

// funktion checks in Backoffice eingabe JA oder Abbrechen bei Umsetzen des Mailstatus
function checkemailvalid(mail, status)
{
	Check = confirm("Wollen Sie die E-Mail Adresse: " + unescape(mail) + " wirklich " + status + unescape("l%F6schen")+"?");
	if (Check == false){
		return false;
	}else {
		return true;
	}
	
	
	 
}

/* Function checks or uncheck all the input checkbox fields of given form */
function doToggleAllCB(formname, name, txt_switch )
{
	var form = $(formname);
	var td_switch = $(txt_switch) ;
	var cb_switch = $(name);
	
	var cbs = form.getInputs("checkbox");
	if(cb_switch.getValue() == "on" )
	{
		td_switch.innerHTML = "nichts markieren";
		cbs.each(function(item) {  item.checked = true;  });
	}else {
		td_switch.innerHTML = "alles markieren";
		cbs.each(function(item) {  item.checked = false;  });
	}
	
} 

/* Image Preview */

this.imagePreview_a = function(){	

	/* CONFIG */
	xOffset = 30;

	yOffset = 30;
	/* END CONFIG */

	$jq("a.preview").hover(function(e){

		this.t = this.title;

		this.title = "";	

		var c = (this.t != "") ? "<br/>" + this.t : "";

		$jq("body").append("<p id='thumbnailpreview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");								 

		$jq("#thumbnailpreview")

			.css("top",(e.pageY - xOffset) + "px")

			.css("left",(e.pageX + yOffset) + "px")

			.fadeIn("fast");						

    },

	function(){

		this.title = this.t;	

		$jq("#thumbnailpreview").remove();

    });	

	$jq("a.preview").mousemove(function(e){

		$jq("#thumbnailpreview")

			.css("top",(e.pageY - xOffset) + "px")

			.css("left",(e.pageX + yOffset) + "px");

	});			

};

this.imagePreview_img = function(){	

	/* CONFIG */
	xOffset = 80;

	yOffset = 30;
	/* END CONFIG */

	$jq("img.preview").hover(function(e){

		this.t = this.title;

		this.title = "";	

		var c = (this.t != "") ? "<br/>" + this.t : "";

		$jq("body").append("<p id='thumbnailpreview'><img src='"+ this.src +"' alt='Image preview' /></p>");								 

		$jq("#thumbnailpreview")

			.css("top",(e.pageY - xOffset) + "px")

			.css("left",(e.pageX + yOffset) + "px")

			.fadeIn("fast");						

    },

	function(){

		this.title = this.t;	

		$jq("#thumbnailpreview").remove();

    });	

	$jq("img.preview").mousemove(function(e){

		$jq("#thumbnailpreview")

			.css("top",(e.pageY - xOffset) + "px")

			.css("left",(e.pageX + yOffset) + "px");

	});			

};

// funktion checkt JA oder Abbrechen mit variabler Meldung 
function checkdelformvarmsg(msg , msg2)
{
	Check = confirm("Wollen Sie " + unescape(msg) + " wirklich " + unescape(msg2)+"?");
	if (Check == false){
		return false;
	}else {
		return true;
	}
}

// Switch two radiobuttons, with some ids 
function doSwitchByIDname(idnameon, idnameoff)
{
	if(idnameon.indexOf(",") > 0){
	  	var aIDon = idnameon.split(",");

		for(var k = 0; k < aIDon.length; k++)
		{
			document.getElementById(aIDon[k]).disabled = false;		
		}

	}else {
		document.getElementById(idnameon).disabled = false;
	}
	
	if(idnameoff.indexOf(",") > 0 ){
	  	var aIDoff = idnameoff.split(",");

		for(var k = 0; k < aIDoff.length; k++)
		{
			document.getElementById(aIDoff[k]).disabled = true;		
		}

	}else {
		document.getElementById(idnameoff).disabled = true;
	}
	

}

/**
 * Toogle the Dateparaminputfields
 * @param c_id
 * @param idnames
 * @return
 */
function doToggleDates(c_id, idnames)
{
	if($jq('#'+c_id).attr('checked') == true)
	{
		doSwitchByIDname(idnames, "foo");
	}else {
		doSwitchByIDname("foo" , idnames);
	}
}
/*
 * Displays a modal 3d-View content box
 * 
 * @param string url
 * @param string provider 
 * @param int width
 * @param int height
 */
function modal3d(url,provider,width,height)
{

  var cwidth = 595;
  var cheight = 620;
  
  if(typeof(width) != 'undefined')
  {
    cwidth = width;
  }
    
  if(typeof(height) != 'undefined')
  {
    cheight = height;
  }

  var modalTrigger = $jq('#modal3dContent');
  $jq('#modal3dContent iframe').attr('src',url);
  modalTrigger.modal({
    onClose: function (dialog) {
      $jq('#modal3dContent iframe').attr('src','');
      $jq.modal.close();
    },
    containerCss: {height: cheight+'px', width: cwidth+'px'},
    closeTitle: 'Schlie&szlig;en'
  });
  return false;
}


/*
 * Wrapper for Modal Fussnoten-Box
 */
var modalFussnoten = function () 
{
  return modalPopUp('modalFussnoten',520,590);
}
 
/*
 * Wrapper for Modal Startseitenlogin-Box
 */
var modalLoginGreetings = function (w,h) 
{
	return modalPopUp('logingreetings',w,h);
}

/*
 * Wrapper for Modal Versanddetails
 */
var modalVersand = function () 
{
  return modalPopUp('modalBoxDelivery',500,560);
}

/*
 * Wrapper for Modal for Handysorglos info
 */
var modalSorglos = function ()
{
  return modalPopUp('modalBoxSorglos',550,590);
}

/*
 * Wrapper for Modal Tecdetails box
 */
var modalTecDetails = function (id)
{
  if(typeof(id) == 'undefined')
  {
    id = 'modalBoxTec';
  }
  return modalPopUp(id,420,410);
}

/*
 * Displays a modal popupBox
 * 
 * @param string modalContainer Id of modal container we should use
 * @param int width  width of modalContainer
 * @param int height height of modal container
 */
function modalPopUp(modalContainer,width,height)
{
  var modalTrigger = $jq('#'+modalContainer);
  var cwidth = 420;
  var cheight = 410;
  
  if(typeof(width) != 'undefined')
  {
    cwidth = width;
  }
    
  if(typeof(height) != 'undefined')
  {
    cheight = height;
  }
  
  modalTrigger.modal({
    onClose: function (dialog) {
      dialog.data.fadeOut('slow', function () {
        dialog.container.slideUp('slow', function () {
          dialog.overlay.fadeOut('slow', function () {
            $jq.modal.close();
            	//if(typeof(snowStorm) != 'undefined' ) { snowStorm.stop(); }
          });
        });
      });
    },
    onOpen: function (dialog) {
      dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function() {
          dialog.data.fadeIn('slow', function () {
            //$jq.modal.open();
          });
        });
      });
    },
    
    containerCss: {height: cheight+'px', width: cwidth+'px'},
    closeTitle: 'Schlie&szlig;en'
  });
  return false;
}

/*
 * Expands or collaps a table Row for a
 * given Class (cssClass) 
 *
 * @param string cssClass
 * @access public
 * @return false
 */
function toggleTableCheckbox(cssClass)
{
  if(typeof(cssClass) != 'undefined')
  {
    if($jq('.'+cssClass).css('display')=='none')
    {
      $jq('.'+cssClass).fadeIn();
    }
    else
    {
      $jq('.'+cssClass).fadeOut();
    }
  }  
  return false;
}

/*
 * Expands or collaps a table Row for a
 * given Class (cssClass) 
 *
 * @param string cssClass
 * @param string status (on/off)
 * @access public
 * @return false
 */
function toggleTableRadioOne(cssClass,status)
{
  if(typeof(cssClass) != 'undefined' && status != 'undefined')
  {
    if(status=='on')
    {
      $jq('.'+cssClass).fadeIn();
    }
    else
    {
      $jq('.'+cssClass).fadeOut();
    }
  }  
  return false;
}


function drucken()
{
	window.print();
}

/*
 * Expands or collaps tow diffrent Fieldsets with tow different
 * css classes
 * 
 * @param string cssClass1
 * @param string cssClass2
 * @access public
 * @return false
 */
function toggleTableRadio(cssClass1,cssClass2)
{
  if(typeof(cssClass1) != 'undefined' && cssClass2 != 'undefined')
  {
    if($jq('.'+cssClass1).css('display')=='none')
    {
      $jq('.'+cssClass2).fadeOut(function()
      {
        $jq('.'+cssClass1).fadeIn();
      });
    }
    else
    {
      $jq('.'+cssClass1).fadeOut(function()
      {
        $jq('.'+cssClass2).fadeIn();
      });
    }
  }  
  return false;
}


/*
 * function for email empfehlung
 */
function doSwitchVorlage(){
	document.getElementById('ispersonal').checked=true;
}
function setButtonToPreview(){
	document.getElementById('personal_button').style.display='block';
	document.getElementById('edit_button').style.display='none';
}
function showElement(elementid){
	document.getElementById(elementid).style.display = 'block';
}
function hideElement(elementid){
	document.getElementById(elementid).style.display = 'none';
}
function hideAllElement(elementname){
	var allElement = document.getElementsByTagName(elementname);
	if (allElement != null){
		for (var i=0; i < allElement.length; i++){
			allElement[i].style.display = 'none';
		}
	}	
}

function setMkontaktToLeer(){
	document.getElementById('mkontakt').value='';
}
function check_function(){
	if (document.getElementById('form_status').value == '1')
		return true;
	else
		return false;
}

function selectAllOptions(elementid)
{
  var selObj = document.getElementById(elementid);
  for (var i=0; i<selObj.options.length; i++) {
    selObj.options[i].selected = true;
  }
}


/**
 * Tarifoptionen
 * 
 * @param string id
 * @param string itemId
 * @return void
 */
var toggleBaseSmsFlat = function(id,itemId) {

  switch(id)
  {
   /*
    * User clicked on SMS_ALL_NET_FLATRATE
    */
    case itemId+'_tarifoptionen_SMS_ALL_NET_FLATRATE':
        
     /*
      * User needs to activate Online Vorteil 20
      */      
      if($jq('#'+itemId+'_onlinevorteil_OV_20_RABATT').attr('checked') == false)
      {
        $jq('#'+id).attr("checked","");
        alert('Für diesen Tarif benötigen Sie den Online Vorteil 20');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_5_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 5€ Rabatt');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_15_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 15€ Rabatt');
      }
      else if($jq('#'+itemId+'_tarifoptionen_BASE_SMS_FLAT').attr('checked') == true)
      {
        $jq('#'+id).attr("checked","");
        alert('Die SMS AllNet-Flatrate ist nicht mit der SMS Flatrate kombinierbar');
      }
      else if($jq('#'+itemId+'_tarifoptionen_SMS_ALL_NET_100').attr('checked') == true)
      {
        $jq('#'+id).attr("checked","");
        alert('Die SMS AllNet-Flatrate ist nicht mit der Option SMS AllNet 100 kombinierbar');
      }
      else
      {
        if($jq('#'+id).attr("checked"))
        {
          $jq('#'+id).attr("checked","checked");
        }
        else
        {
          $jq('#'+id).attr("checked","");
        }
      }
      break;
      
    /*
     * User clicked on BASE SMS FLAT
     */
    case itemId+'_tarifoptionen_BASE_SMS_FLAT':
      
      if($jq('#'+itemId+'_onlinevorteil_OV_20_RABATT').attr('checked') == false)
      {
        $jq('#'+id).attr("checked","");
        alert('Für diesen Tarif benötigen Sie den Online Vorteil 20% auf Monatspaketpreis');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_5_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 5€ Rabatt');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_15_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 15€ Rabatt');
      }
      else if($jq('#'+itemId+'_tarifoptionen_SMS_ALL_NET_FLATRATE').attr('checked') == true)
      {
        $jq('#'+id).attr("checked","");
        alert('Die SMS Flatrate ist nicht mit der SMS AllNet-Flatrate kombinierbar');
      }
      else
      {
        if($jq('#'+id).attr("checked"))
        {
          $jq('#'+id).attr("checked","checked");
        }
        else
        {
          $jq('#'+id).attr("checked","");
        }
      }
      break;
    
    /*
     * User clicked on BASE SMS ALL NET 100
     */
    case itemId+'_tarifoptionen_SMS_ALL_NET_100':
      
      if($jq('#'+itemId+'_onlinevorteil_OV_20_RABATT').attr('checked') == false)
      {
        $jq('#'+id).attr("checked","");
        alert('Für diesen Tarif benötigen Sie den Online Vorteil 20% auf Monatspaketpreis');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_5_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 5€ Rabatt');
      }
      else if($jq('#'+itemId+'_onlinevorteil_OV_15_RABATT').attr('checked') == false)
      {
          $jq('#'+id).attr("checked","");
          alert('Für diesen Tarif benötigen Sie den Online Vorteil 15€ Rabatt');
      }
      else if($jq('#'+itemId+'_tarifoptionen_SMS_ALL_NET_FLATRATE').attr('checked') == true)
      {
        $jq('#'+id).attr("checked","");
        alert('Die Option SMS AllNet 100 ist nicht mit der SMS AllNet-Flatrate kombinierbar');
      }
      else
      {
        if($jq('#'+id).attr("checked"))
        {
          $jq('#'+id).attr("checked","checked");
        }
        else
        {
          $jq('#'+id).attr("checked","");
        }
      }
      break;  
      
  }
}


/**
 * Tarifoptionen 
 * Prüfung das nur einer der Flatratetarife ausgewählt ist.
 * 
 * @param string art (eplus|base|vybe)
 * @param string id
 * @param string itemId
 * @return void
 */
var toggleHandyInternetFlat = function(art,id,itemId) {

	if(art == "eplus")
	{
		switch(id)
		{
			case itemId+'_tarifoptionen_EPLUS_HANDY_TOP3_FLAT':
				
				if($jq('#'+itemId+'_tarifoptionen_EPLUS_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_EPLUS_LAPTOP_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Laptop Internet Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
		
			case itemId+'_tarifoptionen_EPLUS_HANDY_FLATRATE':
				
				if($jq('#'+itemId+'_tarifoptionen_EPLUS_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_EPLUS_LAPTOP_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Laptop Internet Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
				
			case itemId+'_tarifoptionen_EPLUS_LAPTOP_FLATRATE':
				
				if($jq('#'+itemId+'_tarifoptionen_EPLUS_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Laptop Internet Flatrate ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_EPLUS_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Laptop Internet Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;	
		
		}
		
	}else if(art == "base") {
		switch(id)
		{
			case itemId+'_tarifoptionen_BASE_HANDY_TOP3_FLAT':
				
				if($jq('#'+itemId+'_tarifoptionen_BASE_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_BASE_LAPTOP_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Laptop Internet Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
		
			case itemId+'_tarifoptionen_BASE_HANDY_FLATRATE':
				
				if($jq('#'+itemId+'_tarifoptionen_BASE_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_BASE_LAPTOP_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Laptop Internet Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
				
			case itemId+'_tarifoptionen_BASE_LAPTOP_FLATRATE':
				
				if($jq('#'+itemId+'_tarifoptionen_BASE_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Laptop Internet Flatrate ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_BASE_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Laptop Internet Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;	
		
		}
	}else if(art == "vybe") {
		switch(id)
		{
			case itemId+'_tarifoptionen_VYBE_HANDY_TOP3_FLAT':
				
				if($jq('#'+itemId+'_tarifoptionen_VYBE_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_VYBE_SURF_MUSIC_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Top3 Flat ist nicht mit der Surf and Music Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
		
			case itemId+'_tarifoptionen_VYBE_HANDY_FLATRATE':
				
				if($jq('#'+itemId+'_tarifoptionen_VYBE_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_VYBE_SURF_MUSIC_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Handy Internet Flatrate ist nicht mit der Surf and Music Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
			
			case itemId+'_tarifoptionen_VYBE_SURF_MUSIC_FLAT':
				
				if($jq('#'+itemId+'_tarifoptionen_VYBE_HANDY_TOP3_FLAT').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Surf and Music Flatrate ist nicht mit der Handy Top3 Flat kombinierbar');
			    }
				else if($jq('#'+itemId+'_tarifoptionen_VYBE_HANDY_FLATRATE').attr('checked') == true)
			    {
			        $jq('#'+id).attr("checked","");
			        alert('Die Option Surf and Music Flatrate ist nicht mit der Handy Internet Flatrate kombinierbar');
			    }
			    else
			    {
			        if($jq('#'+id).attr("checked"))
			        {
			          $jq('#'+id).attr("checked","checked");
			        }
			        else
			        {
			          $jq('#'+id).attr("checked","");
			        }
			    }
				
			break;
		
		}
	}
}

 
/**
 * Prüft beim Click auf Checkbox, ob bei "Checked" auch nur erlaubte
 * parallel noch gecheckt sind
 * @param id
 * @param itemId
 * @return
 */ 
var checkBASEflatOptions = function(id, itemId)
{
	 var tmp = id.split("_");
	 var sel_name = tmp[2];
	 
	 if($jq('#'+id).attr("checked") == true && typeof(my_Opt2ID) != 'undefined' && typeof(my_ID2Opt) != 'undefined' && typeof(my_Opt2Opt) != 'undefined' && sel_name)
	 {
		opt_id = my_Opt2ID[sel_name] ;
		if(opt_id > 0 && my_Opt2Opt[opt_id])
		{
			matches = my_Opt2Opt[opt_id];
			
			$jq.each(my_Opt2ID, function(key, value) 
			{
				if(value != opt_id && $jq('#'+itemId+'_tarifoptionen_'+key).attr('checked') == true && in_array(value, matches) == false )
				{
					wrong_name = my_ID2Opt[value];
					$jq('#'+itemId+'_tarifoptionen_'+wrong_name).attr('checked', "");
				}
		    });
		}
	 }	
}


/**
 * Resets "Base Online vorteil" und extra package fields
 * 
 * @param string id
 * @param string itemId
 * @return void
 */
var resetBaseOptions = function(id,itemId)
{
  var sendMsg = false;
  
  if($jq('#'+itemId+'_tarifoptionen_SMS_ALL_NET_FLATRATE').attr("checked") ||
  $jq('#'+itemId+'_tarifoptionen_BASE_SMS_FLAT').attr("checked")){
    sendMsg = true;
  }
  
  $jq('#'+itemId+'_tarifoptionen_SMS_ALL_NET_FLATRATE').attr("checked","");
  $jq('#'+itemId+'_tarifoptionen_BASE_SMS_FLAT').attr("checked","");
  
  if(sendMsg==true)
  {
    alert("Hinweis: Ihre Zusatzoptionen wurden zurückgesetzt.");
  }
}

/*
 * Übergibt das Tarifoptionen Formular an die Teaserbox um die
 * Werte neu zu berechnen 
 */
var doUpdateTeaserMobileBox = function()
{
	fieldData = $jq('#tarifoptionForm').formSerialize();
	
	if(typeof(fieldData) != 'undefined' )
	{	
		$jq.ajax({
			  url: "/ordernow/ajax/teasermobile.html",
			  type: 'POST',
		      async: false,
		      cache: false,
		      data: fieldData,
			  success: function(text) {
				$jq('#teasermobile:first').fadeOut('fast',function() {
			      $jq('#teasermobile:first').html(text).fadeIn('normal');
			    });
			  }
			});
	}
}
 
/**
 * enables or disabled select boxes for "Rechtsform" options on
 * personal details page
 * 
 * @param string id
 * @return void 
 */
var toggleRechtsform = function(id)
{
  switch(id)
  {
    case 'firma_gesellschaft_PERSONEN':
      $jq('#firma_pgrechtsform').show();
      $jq('#firma_kgrechtsform').hide();
      break;
    case 'firma_gesellschaft_KAPITAL':
      $jq('#firma_pgrechtsform').hide();
      $jq('#firma_kgrechtsform').show();
      break;
  }
}


/**
 * Unchecks Marketing Checkboxes
 */
var uncheckMarketingChkBox = function()
{
  if($jq('#marketing_bestandsdaten').attr('checked')==false &&
     $jq('#marketing_verkehrdaten').attr('checked')==false
  ) 
  {
    $jq('#marketing_sms').attr('checked','');
    $jq('#marketing_mms').attr('checked','');
    $jq('#marketing_email').attr('checked','');
    $jq('#marketing_brief').attr('checked','');
    $jq('#marketing_telefon').attr('checked','');
    
    return true;
  }
  return false;
}

 function in_array (needle, haystack, argStrict) 
 {
	 // http://kevin.vanzonneveld.net
	 // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	 // +   improved by: vlado houba
	 // +   input by: Billy
	 // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
	 // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	 // *     returns 1: true
	 // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
	 // *     returns 2: false
	 // *     example 3: in_array(1, ['1', '2', '3']);
	 // *     returns 3: true
	 // *     example 3: in_array(1, ['1', '2', '3'], false);
	 // *     returns 3: true
	 // *     example 4: in_array(1, ['1', '2', '3'], true);
	 // *     returns 4: false

	 var key = '', strict = !!argStrict;

	 if (strict) {
		 for (key in haystack) {
			 if (haystack[key] === needle) {
				 return true;
			 }
		 }
	 } else {
		 for (key in haystack) {
			 if (haystack[key] == needle) {
				 return true;
			 }
		 }
	 }

	 return false;
 } 
 
 
function doUpdateCssClass(id_of_element, add_class, value)
{
	if(value == "1")
	{
		$jq("#"+id_of_element).addClass( add_class )
	}else {
		$jq("#"+id_of_element).removeClass( add_class )
	}
	return true; 
}