/*Tooltip*/
var elem, Ex,Ey;
function popup(name) {
	if (elem = document.getElementById(name));
	if (!elem) return;
	
	elem.style.display = "inline";
}
function popdown() {
	if (!elem) return;
	elem.style.display = "none";			
}

/*Ausklappen von Tabelle*/
function ShowTab(name){
	var obj = document.getElementById(name);
	if (!obj) return;

	if (obj.style.display == 'none')
		obj.style.display = '';
	else
		obj.style.display = 'none';
		
}

/*Auswahl welche Bestelltype bei neuem Shop*/
function getForm(type){
		if(type==1){
			document.getElementById('platform_form').style.display='block';
			document.getElementById('tarif_form').style.display='none';
		}
		else {
			document.getElementById('platform_form').style.display='none';
			document.getElementById('tarif_form').style.display='block';	
		}
}

/*Disable Bezahlweise bei Rechnung*/
function paymentcheck(elem) {
	var paytype = document.getElementById('payment');
	if(elem) {
		if(elem.value == 2) {
			paytype.disabled = false;
			
			for(var i = 0; i < paytype.options.length; ++i) {
				if (paytype.options[i].selected == true && paytype.options[i].value != 3){
					document.getElementById('payment_hint').style.display = 'none';
				}
			}
			
		} else {
			for(var i = 0; i < paytype.options.length; ++i) {
				if (paytype.options[i].value == 3){
					paytype.options[i].selected = true;
					document.getElementById('payment_hint').style.display = 'none';
				}
			}
        		paytype.disabled = true;
		}
	}
	else if(document.getElementById('payment_type_id').value != 2){
		paytype.disabled = true;
		document.getElementById('payment_hint').style.display='none';
	}
		
	document.getElementById('bank_daten').style.display = document.getElementById('payment_type_id').value == 2 ? '' : 'none';
	//document.getElementById('payment_hint').style.display = document.getElementById('payment_type_id').value == 2 ? '' : 'none';
}

/*Disable Bezahlhinweis bei Lastschrift*/
function paymenthintcheck(elem) {
	document.getElementById('payment_hint').style.display = elem.value < 3 ? '' : 'none';
}

/*Überprüft nummerische Ganzzahlwerte*/
var oldstring
function CheckNumbers(obj) {
	var text = obj.value;
	if(isNaN(text)==true || text.indexOf('.') >= 0){
		obj.value=oldstring;
	} 
	else {
		oldstring=text;
		if(text=="" || text=="undefined") {
			text="";
		}
	}
}

var was_checked=false;
/*Ajax Request für Gutscheincheck*/
function CheckVoucherCode(pr_id){
	var sel_pl="";
	var is_sel_pl = false;
	var obj=document.getElementById('voucher_code');
	var voucher_code_hint=document.getElementById('voucher_code_hint');	
	if(obj.value.length >= 10){
		//single Paket
		if(pr_id == 1){
			var option_elements=document.getElementsByTagName('input');
			for(var x=0; x<option_elements.length; x++){				
				if(option_elements[x].getAttributeNode("name").nodeValue == 'platform_radio' && option_elements[x].checked == true){
					sel_pl=option_elements[x].value + '::1';
				}
			}			
		}
		else{
			var option_elements=document.getElementsByTagName('input');
			for(var x=0; x<option_elements.length; x++){
				if(option_elements[x].getAttributeNode("id")){
					if(option_elements[x].getAttributeNode("id").nodeValue.indexOf('platform_count_') >= 0 && parseInt(document.getElementById(option_elements[x].getAttributeNode("id").nodeValue).value) > 0){
						if(is_sel_pl == true)
						sel_pl+=';';
						
						sel_pl+=option_elements[x].getAttributeNode("id").nodeValue.replace('platform_count_','') + '::' + parseInt(document.getElementById(option_elements[x].getAttributeNode("id").nodeValue).value);
						is_sel_pl = true;
					}
				}			
			}
		}

		was_checked=true;
		var ajax = new Ajax(
			"id=CheckVoucherCode&code=" + obj.value + "&pr_id=" + pr_id + "&sel_pl=" + sel_pl,
			function (req) {
				voucher_code_hint.innerHTML=req.responseText;
			}
		);
		ajax.request();	
		
	}
	else if(was_checked == true)
	voucher_code_hint.innerHTML='';
	
	return;	
}


/*Ajax Request für alternative Pakete*/
function pl_check(max_pl, pr_id){
	var option_elements=document.getElementsByTagName('input');
	var inkl_obj=document.getElementById('platform_inklusive');
	var exkl_obj=document.getElementById('platform_exklusive');
	var sel_pl=0;
	for(var x=0; x<option_elements.length; x++){
		if(option_elements[x].getAttributeNode("id")){
			if(option_elements[x].getAttributeNode("id").nodeValue.indexOf('platform_count_') >= 0){
				sel_pl+=parseInt(document.getElementById(option_elements[x].getAttributeNode("id").nodeValue).value);				
			}
		}			
	}
	
	if(sel_pl > max_pl){
		inkl_obj.innerHTML=max_pl+' von '+max_pl;
		var ajax = new Ajax(
			"id=GetPlatformCheck&pr_id=" + pr_id + "&sel_pl=" + sel_pl,
			function (req) {
				exkl_obj.innerHTML=req.responseText;
			}
		);
		ajax.request();
		
	}
	else {
		exkl_obj.innerHTML='';
		inkl_obj.innerHTML=max_pl >= sel_pl ? sel_pl+' von '+max_pl : '0 von '+max_pl;
	}
}

/*Anzeige von gewählten Paketen*/
function pl_extra_check(){
	var option_elements=document.getElementsByTagName('input');
	var exkl_obj=document.getElementById('platform_exklusive');
	var inkl_obj=document.getElementById('platform_inklusive_val').value;
	var inkl_sel_obj=document.getElementById('platform_inklusive_sel').value;
	var exkl_price=document.getElementById('exprice').value;
	var shop_id=document.getElementById('sid').value;
	var sel_pl=0;
	for(var x=0; x<option_elements.length; x++){
		if(option_elements[x].getAttributeNode("id")){
			if(option_elements[x].getAttributeNode("id").nodeValue.indexOf('platform_count_') >= 0){
				sel_pl+=parseInt(document.getElementById(option_elements[x].getAttributeNode("id").nodeValue).value);				
			}
		}			
	}
	
	if(sel_pl > 0){		
		if(inkl_sel_obj < inkl_obj)
		exkl_obj.innerHTML='<strong>Gewählte Plattformen:</strong><br />' + sel_pl + '<br /><br /><strong>Gesamtpreis:</strong><br />' + roundit(((sel_pl-(inkl_obj-inkl_sel_obj)) * exkl_price), 2).replace('.',',') + '&euro; / Monat';		
		else
		exkl_obj.innerHTML='<strong>Gewählte Plattformen:</strong><br />' + sel_pl + '<br /><br /><strong>Gesamtpreis:</strong><br />' + roundit((sel_pl * exkl_price), 2).replace('.',',') + '&euro; / Monat';
	}
	else
		exkl_obj.innerHTML='<strong>Gewählte Plattformen:</strong><br />0<br /><br /><strong>Gesamtpreis:</strong><br />0,00&euro; / Monat';
}

/*Pfeil Counter bei Platformbestellung*/
function pl_count(id, mode,max_pl, pr_id){
	var obj = document.getElementById(id);
	var zahl = parseInt(obj.value);

	if(isNaN(zahl) == false){
		if(mode == 'down' && zahl < 1)
		return;
		else if(mode == 'down' && zahl > 0)
		obj.value = zahl-1;
		else
		obj.value = zahl+1;
		
		if(max_pl && pr_id)
		pl_check(max_pl, pr_id);
		else
		pl_extra_check();
	}
	else
		obj.value = 0;
}

/*Standardtext entfernen*/
function cleardefaulttext(obj, txt){
	if(typeof(obj) == 'object')
	obj.value = obj.value.replace(txt,'');
	else{
		var obj1 = document.getElementById(obj);
		obj1.value = obj1.value.replace(txt,'');	
	}
	
}

function copytext2area(id_text, id_area){
	var ctext = document.getElementById(id_text);
	var carea = document.getElementById(id_area);
	
	if(!ctext || !carea)
	return;
	if(carea.value.length > 0)
		carea.value = carea.value + "\n" + ctext.innerHTML.replace(/<br>/gi, "\n");
	else
		carea.value = ctext.innerHTML.replace(/<br>/gi, "\n");
}

function textCounter(field, countfield, maxlimit) {
	 // if too long...trim it!
	if (field.value.length > maxlimit)
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else 
	countfield.value = maxlimit - field.value.length;
}

/*Blendet Inhaber/gesellschafterfeld im Bestellvorgang aus*/
function ShowHideCompanyHolder(company_form, row){
	var obj = document.getElementById(row);
	if(company_form == 'eKfm' || company_form == 'GbR' || company_form == 'EU')
	obj.style.display = '';
	else
	obj.style.display = 'none';
}

/*Table Hover Effekt für IE6*/
function mover() {
	for (var i = 0; i < this.cells.length; i++) {
		if (this.cells[i].className == 'tab_level1') this.cells[i].className = 'hlt-tab_level1';
		else this.cells[i].className = 'hlt';
	}
}
function mout() {
	for (var i = 0; i < this.cells.length; i++) {
		if (this.cells[i].className.replace('hlt-','') == 'tab_level1') this.cells[i].className = 'tab_level1';
		else this.cells[i].className = '';
	}
}

function roundit(x,s){
  if(x.toFixed){
    return x.toFixed(s);
  }
  else{
    return parseInt(x*Math.pow(10,s)+0.5)/Math.pow(10,s);
  }
}
