/*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,cookiename, id){
	if(cookiename.length > 0 && id.length > 0)
	var name = 'tab' + cookiename + id;
	
	var obj = document.getElementById(name);
	if (!obj) return;

	if (obj.style.display == 'none'){
		obj.style.display = '';
		
		if(cookiename.length > 0 && id.length > 0){
			document.getElementById('closeTab' + cookiename + id).style.display = '';
			document.getElementById('openTab' + cookiename + id).style.display = 'none';
		}
	}
	else {
		obj.style.display = 'none';
		if(cookiename.length > 0 && id.length > 0){
			document.getElementById('closeTab' + cookiename + id).style.display = 'none';
			document.getElementById('openTab' + cookiename + id).style.display = '';
		}
	}
}

/*Dynamische Tabelle (auf-/zuklappen)*/
function closeTab(id, cookiename){
	document.getElementById('tab' + cookiename + id).style.display = 'none';
	document.getElementById('closeTab' + cookiename + id).style.display = 'none';
	document.getElementById('openTab' + cookiename + id).style.display = '';
	
	var ablauf = new Date();
	var infuenfTagen = ablauf.getTime() - (24 * 60 * 60 * 1000);
	ablauf.setTime(infuenfTagen);
	document.cookie = cookiename+"["+id+"]="+id+"; expires=" + ablauf.toGMTString();
}
function openTab(id, cookiename){
	document.getElementById('tab' + cookiename + id).style.display = '';
	document.getElementById('closeTab' + cookiename + id).style.display = '';
	document.getElementById('openTab' + cookiename + id).style.display = 'none';
	
	var ablauf = new Date();
	var infuenfTagen = ablauf.getTime() + (24 * 60 * 60 * 1000);
	ablauf.setTime(infuenfTagen);
	document.cookie = cookiename+"["+id+"]="+id+"; expires=" + ablauf.toGMTString();
	//alert(document.cookie);
}

/*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=parseInt(document.getElementById('platform_inklusive_val').value);
	var inkl_sel_obj=parseInt(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){
			var out_price = roundit(((sel_pl-(inkl_obj-inkl_sel_obj)) * exkl_price), 2);
			exkl_obj.innerHTML='<strong>Gewählte Plattformen:</strong><br />' + sel_pl + '<br /><br /><strong>Gesamtpreis:</strong><br />' + (out_price < 0 ? '0,00' : out_price.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);
  }
}

function deleteRow(id,rowlink){
	var i = rowlink.parentNode.parentNode.rowIndex;
	var tbl = document.getElementById(id);
	tbl.deleteRow(i);
	var td = tbl.getElementsByTagName('td');
	if(td.length > 2){
		td[(td.length-1)].innerHTML+= ' <input type="button" name="del" value="Schritt entfernen" onclick="deleteRow(\'kundeninfo_config\',this)" class="bg_button" />';
	}

	td[(td.length-1)].innerHTML+= ' <input type="button" name="add" value="Schritt hinzufügen" onclick="addRow(\'kundeninfo_config\')" class="bg_button" />';
}

function addRow(id){
	var tbl = document.getElementById(id);
	var lastRow = tbl.rows.length;
	var x=tbl.insertRow(lastRow++);
	var a=x.insertCell(0);
	a.align='right';
	a.style.padding = '4px';
	a.vAlign='top';
	a.width='25%';
	var b=x.insertCell(1);
	b.align='left';
	b.style.padding = '4px';
	b.vAlign='top';
	b.width='75%';
	a.innerHTML='Schritt ' + lastRow + ':';
	var buttons = '<textarea name="config[kundeninfo]['+lastRow+']" style="width:480px;height:150px;" id="kundeninfo_warenkorb_'+lastRow+'"></textarea>';		
	buttons+=lastRow < 8 ? '<br /><input type="button" name="add" value="Beispieltext einfügen" onclick="addRowText('+lastRow+')" class="bg_button" />' : '<br />';
 	buttons+=' <input type="button" name="del" value="Schritt entfernen" onclick="deleteRow(\'kundeninfo_config\',this)" class="bg_button" />' + (tbl.rows.length > 9 ? '' : ' <input type="button" name="add" value="Schritt hinzufügen" onclick="addRow(\'kundeninfo_config\')" class="bg_button" />');
	b.innerHTML=buttons;
	
	lastRow--;
	var td = tbl.getElementsByTagName('td');
	td[(td.length-3)].innerHTML = '<textarea name="config[kundeninfo]['+lastRow+']" style="width:480px;height:150px;" id="kundeninfo_warenkorb_'+lastRow+'">'+document.getElementById('kundeninfo_warenkorb_'+ lastRow).value+'</textarea>' + (lastRow < 8 ? '<br /><input type="button" name="add" value="Beispieltext einfügen" onclick="addRowText('+lastRow+')" class="bg_button" />' : '');
}

function MarkMessageReaded(mid){
	var ajax = new Ajax(
		"id=MarkMessageReaded&mid=" + mid,
		function (req) {
			handleJS(req);
		}
	);
	ajax.request();		
}

function IFrameInit(obj){
	obj.designMode='On';
/* CSS Datei in Iframe laden
	//Samples: http://www.quirksmode.org/bugreports/archives/2006/01/IE_wont_allow_documentcreateElementstyle.html
	var cssLink = document.createElement("link");
  cssLink.href = "/sys/css/default.css"; 
  cssLink .rel = "stylesheet"; 
  cssLink .type = "text/css";
  var doc=obj.contentWindow.document 
  doc.body.appendChild(cssLink);
*/
  var doc=obj.contentWindow.document 
  var cssStr = "body {font-family: arial, verdana, sans-serif; font-size: 13px;}";
	var style = doc.createElement("style");
	style.setAttribute("type", "text/css");
	if(style.styleSheet){// IE
		style.styleSheet.cssText = cssStr;
	} 
	else {// w3c
		var cssText = doc.createTextNode(cssStr);
		style.appendChild(cssText);
	}
  //Then append child
	doc.body.appendChild(style);
}

function regmode(chk1, name){
	var cobj1 = document.getElementById(chk1);
	var obj = document.getElementById(name);
	if (!cobj1 || !obj) return;

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