/* javascript functions made by agent, october 2008 
 * including: function to manipulate order form; distinguishing
 * options dependend on terminal type and independent on type
 *
 *
 * last edited: 17. Mai 2009
 */
 
 
/******************************************************* for all terminals */

// redirect to adequate terminal order form 
function redirect() {
	 term = document.getElementById('cfTerminal').value;
	 window.location.href = "https://ssl.webpack.de/simplepay.de/order"+term+".html"
}; 
 
 
// monatlicher preis fÃ¼r den service  
function changeService() {
	// set prices to months
	var Service = new Array();
	Service['small'] =  "0,00";
	Service['full'] =  "6,90";
	Service['premium'] =  "19,90";
	
	// get the months from select field
	position = document.getElementById('cfService').value;
	
	// return the price to div
	document.getElementById('cfServicePreis').value=Service[position];
}


//ab sfort lÃ¶schen
function clearHint(target) {
	document.getElementById(target).value="";
}


// einmaliger preis fÃ¼r die bereitstellung je nach anschluss 
function changeAccess() {
	// set prices to months
	var Access = new Array();
	Access['ANALOG'] 	=  "35,00";
	Access['ISDN'] 		=  "35,00";
	Access['DSL'] 		=  "99,00";
	Access['WLAN'] 		=  "99,00";
	Access['GSM'] 		=  "35,00";
	
	// get the months from select field
	position = document.getElementById('cfAccess').value;
	
	// return the price to div
	document.getElementById('cfAccessPreis').value=Access[position];
}


// preise fÃ¼r den versand 
function changeTrans() {
	// set prices to months
	var Trans = new Array();
	Trans[100] =  "0,10";
	Trans[200] =  "0,09";
	Trans[201] =  "0,08";
	
	// get the months from select field
	transaktion = document.getElementById('cfTrans').value;
	
	// return the price to div
	document.getElementById('cfTransPreis').value=Trans[transaktion];
}


// preise fÃ¼r den versand 
function changeDelivery() {
	// set prices to months
	var Delivery = new Array();
	Delivery['Fast Delivery'] =  "0,00";
	Delivery['Same Day Delivery'] =  "nach Absprache";
	Delivery['Next Day Delivery'] =  "44,90";
	
	
	// get the months from select field
	position = document.getElementById('cfDelivery').value;
	
	// return the price to div
	document.getElementById('cfDeliveryPreis').value=Delivery[position];
}
 
 
// exclude 'no credit cards' from 'mastercard' or 'visa' or 'amex'
// checkboxen deaktivieren
function changeCards(source) {
	
	var active = source;
	if(active == 'None'){
		document.getElementById('Mastercard').checked=false;	
		document.getElementById('Visa').checked=false;	
		document.getElementById('Amex').checked=false;			
	} 
	
	else if (active == 'Mastercard' || active == 'Visa' || active == 'Amex'){
		document.getElementById('None').checked=false;		
	}
}
 

// wird nicht mehr aufgerufen 
// genaue ausgabe des gerÃ¤tetyps bei entsprechender auswahl
function showTerminal() {
	var Terminal = new Array();
	Terminal[5100] =  "Ingenico 5100 stationÃ�Â¤r";
	Terminal[7780] =  "Ingenico 7780 portabel";
	Terminal[7810] =  "Ingenico 7810 portabel";
	Terminal[7910] =  "Ingenico 7910 mobil";
	
	// get the terminal from select field
	term = document.getElementById('cfTerminal').value;
	
	// return the description of terminal 
	document.getElementById('cfTerminalDescription').value=Terminal[term];
	
	var Prices = new Array();
	Prices[5100] =  "7,90";
	Prices[7780] =  "13,90";
	Prices[7810] =  "13,90";
	Prices[7910] =  "13,90";
	
	// return the price to div
	document.getElementById('cfMonthly').value=Prices[term];
}

/******************************************************* for specific terminals */


/*
// explanation
function setRules5100() {

	document.getElementById('cfAccess').selectedIndex="0";
	document.getElementById('cfAccessPreis').value="35,00";
	// disable wlan and gsm
	document.getElementById('cfAccess').options[0].disabled = false;
	document.getElementById('cfAccess').options[1].disabled = false;
	document.getElementById('cfAccess').options[2].disabled = false;
	document.getElementById('cfAccess').options[3].disabled = true;
	document.getElementById('cfAccess').options[4].disabled = true;
	// disable GSM
	document.getElementById('cfGsm').checked=false;
	document.getElementById('cfGsm').disabled=true;

}

// explanation
function setRules7780() {

	document.getElementById('cfAccess').selectedIndex="0";
	document.getElementById('cfAccessPreis').value="35,00";
	// disable wlan and gsm
	document.getElementById('cfAccess').options[0].disabled = false;
	document.getElementById('cfAccess').options[1].disabled = false;
	document.getElementById('cfAccess').options[2].disabled = false;
	document.getElementById('cfAccess').options[3].disabled = true;
	document.getElementById('cfAccess').options[4].disabled = true;
	// disable GSM
	document.getElementById('cfGsm').checked=false;
	document.getElementById('cfGsm').disabled=true;
}

// explanation
function setRules7810() {
	document.getElementById('cfAccess').selectedIndex="3";
	document.getElementById('cfAccessPreis').value="99,00";

	document.getElementById('cfAccess').options[0].disabled = true;
	document.getElementById('cfAccess').options[1].disabled = true;
	document.getElementById('cfAccess').options[2].disabled = true;
	document.getElementById('cfAccess').options[3].disabled = false;
	document.getElementById('cfAccess').options[4].disabled = true;
	
	// disable GSM
	document.getElementById('cfGsm').checked=false;
	document.getElementById('cfGsm').disabled=true;
}

// explanation
function setRules7910() {
	document.getElementById('cfAccess').selectedIndex="4";
	document.getElementById('cfAccessPreis').value="35,00";
	
	document.getElementById('cfAccess').options[0].disabled = true;
	document.getElementById('cfAccess').options[1].disabled = true;
	document.getElementById('cfAccess').options[2].disabled = true;
	document.getElementById('cfAccess').options[3].disabled = true;
	document.getElementById('cfAccess').options[4].disabled = false;

	document.getElementById('cfGsm').checked=true;
	document.getElementById('cfGsm').disabled=false;
}
*/

/******************************************************* helper functions */

// clearing, card akzeptanz und agbs mÃ¼ssen extra markiert werden wegen FireFox
function markHeadlines() {
	
	var fields = Array();
	fields = getElementsByClassName('requiredValue');
	
	var txt = "";
	var current = "";
	var expression = "#E50454";
	for(i=0;i<fields.length;i++){
		current = "error_"+fields[i]['name']; 
		if(current == "error_agb" || current == "error_cards[]" || current == "error_clearing")
			//document.getElementById(current).style.display="none"; 	
			document.getElementById(current).style.backgroundColor=expression;
		txt += current + "<br />";
	}
	
	//document.getElementById('orderresumee').innerHTML="Text:"+txt;
}


// alle objecte einer css classe holen
function getElementsByClassName(class_name)	{
	var all_obj,ret_obj=new Array(),
	j=0,
	teststr;

	if(document.all)all_obj=document.all;

	else if(document.getElementsByTagName && !document.all)
		all_obj=document.getElementsByTagName("*");

	for(i=0;i<all_obj.length;i++){
		if(all_obj[i].className.indexOf(class_name)!=-1){
			teststr=","+all_obj[i].className.split(" ").join(",")+",";

			if(teststr.indexOf(","+class_name+",")!=-1){
				ret_obj[j]=all_obj[i];
				j++;
			}
		}
	}
	return ret_obj;
}





// Funktion zur Dekodierung von HTML EntitÃ¤ten
function decodeEntities(sHTML) {
var sText = null;
if (typeof document.createElement != "undefined") {
var oElem = document.createElement("span");
if (typeof oElem.innerHTML != "undefined") {
oElem.innerHTML = sHTML;
if (typeof oElem.firstChild != "undefined"
&& typeof oElem.firstChild.nodeValue != "undefined")
sText = oElem.firstChild.nodeValue;
}
}
return sText;
}

/******************************************************* old or obsolete */

// ??? wozu?
function setTerminal(terminal_id) {
	document.getElementById('cfTerminal').selectedIndex=terminal_id;
 	
 	//if(terminal_id==1) {
	//document.getElementById('hint').innerText="Bitte spezifizieren Sie das portable Gerï¿½t.";
	//}
}

/* 
// anschlusspreis je nach terminal 
function changeService() {
	// set prices to months
	var Service = new Array();
	Service['small'] =  "0,00";
	Service['full'] =  "6,90";
	Service['premium'] =  "19,90";
	
	// get the months from select field
	position = document.getElementById('cfService').value;
	
	// return the price to div
	document.getElementById('cfServicePreis').value=Service[position];
}
*/ 

/* 
// monatlicher preis des gerÃ¤ts bei entsprechender laufzeit
// wahrscheinlich noch Ã¤nderung nach gerÃ¤t 
function changePrice() {
	// set prices to months
	var Prices = new Array();
	Prices[5100] =  "7,90";
	Prices[7780] =  "13,90";
	Prices[7810] =  "13,90";
	Prices[7910] =  "13,90";
	
	// get the months from select field
	type = document.getElementById('cfTerminal').value;
	
	// return the price to div
	document.getElementById('cfMonthly').value=Prices[type];
}
*/

