//---------------------------------------------------------
// er zijn 2 verschillende situaties denkbaar

// 1 men is al klant en gaat upgraden
//   men kan dat met 1 kaart tegelijk doen
//   in dit geval word de functie "deSelectInstap" aangeroepen als het een instap betreft
//   anders wordt de functie "selectProduct" aangeroepen

// 2 men gaat een nieuwe kaart van een pakket voorzien
//   men kan dan maximaal 3 kaarten tegelijk selecteren
//   altijd wordt de functie "selectProduct" aangeroepen
//---------------------------------------------------------
// de regel zou in wezen zo moeten zijn dat 
// 1 wat men niet kan kiezen is gedimd   en grijs         00
// 2 wat men wel kan kiezen  is gedimd   en gekleurd      01
// 3 wat men heeft gekozen   is ongedimt en gekleurd      11
// 4 wat men al had          is ongedimt en grijs         10
//---------------------------------------------------------

// in strSelectedProducts zitten de gekozen producten
// deze string moet worden veranderd



var XLproductId = '8'
function setFirstCharToUpper(obj){
	if(obj.value.length>1){
		obj.value=obj.value.substr(0,1).toUpperCase()+obj.value.substr(1,obj.value.length)
	}
}

function debug(str,clear){
        if(clear){
            document.getElementById('debug').innerHTML = ''
            return true
        }
		document.getElementById('debug').innerHTML += str + '<br>'
}

function resetClassNames(str1,str2,strObj,total){
    for(i=0;i<total;i++){
        var obj = document.getElementById(strObj+i)
        if(obj){
            obj.total = obj.className.replace(str1,str2)
        }
    }
}

//Geef de product keuze schermen weer
function showHideOA(strObj,total)
{
    var obj = document.getElementById(strObj)
    if(obj){
        for(i=1;i<total+1;i++){                                                
            if(document.getElementById(strObj.substr(0,strObj.indexOf('_')) + '_' +i)){            
                document.getElementById(strObj.substr(0,strObj.indexOf('_')) + '_' +i).style.display='none'                
            }
        }
//        //Open het geselecteerde smartcard block
        if(obj.style.display=='none'){
            obj.style.display = 'block'     
        }        
    }
}

//Hightlight het productblock wanneer de gebruiker er met de muis over heen gaat
function highLight(obj,cmd){
    if(obj.className.indexOf('oa_NotActive') == -1){//Controleer of het product wel als actief product is getoond.
        if(cmd == 'on'){
            obj.className = obj.className + ' oa_Highlight'
        }else{
            obj.className = obj.className.replace(' oa_Highlight','')
        }
    }
}


//Deselect currentselected "Instappakket" 
function deSelectInstap(currentProductId,strSelectedProducts,strObjAllowDowngrade,strShowOrderObj,iSmartcardNumber){

    var objSelectedProducts = document.getElementById(strSelectedProducts)	

	var arrNewSelectedProducts = new Array()
    if(objSelectedProducts){
		//Vraag de showOrder van het gekozen product op
		var objCurrentShowOrder = document.getElementById(strShowOrderObj+iSmartcardNumber+'_'+currentProductId)
		var arrSelectedProduct = new Array()
        arrSelectedProduct = objSelectedProducts.value.split(';')
        for(var i=0;i<arrSelectedProduct.length;i++){					
			//Vraag de showOrder van het te verwijderen product op
			var objPrevShowOrder = document.getElementById(strShowOrderObj+iSmartcardNumber+'_'+arrSelectedProduct[i])	
				
			if (objCurrentShowOrder && objPrevShowOrder){				
					//Vraag op of het een downgradebaar product is
					var ObjAllowDowngrade = document.getElementById(strObjAllowDowngrade+arrSelectedProduct[i])
		            //vraag de gekozen producten op en controleer of er een instapproduct tussen zit.
		            var objProductType = document.getElementById('productType_'+iSmartcardNumber+'_'+arrSelectedProduct[i])			
		            if (objProductType && ObjAllowDowngrade){            									
		                if (objProductType.value.toLowerCase() != 'instappakket' || ObjAllowDowngrade.value.toLowerCase() == 'true'){//Het product is geen instappakket		                    
							//Plaats het product in de array
							arrNewSelectedProducts[arrNewSelectedProducts.length] = arrSelectedProduct[i]                				
						}else if (ObjAllowDowngrade.value.toLowerCase() == 'false'){ //Controleer of het een instap product is en niet een downgradebaar product, zoals erotiek					
							//Controleer of het niet een downgrade betreft		
							if (objPrevShowOrder.value != objCurrentShowOrder.value){							
								//Deselecteerd het product
								//Haal het productKey object op
								var objProductKey = document.getElementById('KEY_' + iSmartcardNumber  + '_' + arrSelectedProduct[i])
								//Haal het combination object op
								var objCombination = document.getElementById('AllowedCombination_' + iSmartcardNumber + '_'  + arrSelectedProduct[i])																					
								selectProduct(arrSelectedProduct[i],objSelectedProducts.id,objProductKey.value,'AllowedCombi'+iSmartcardNumber,objCombination.value,'',iSmartcardNumber,'TotalMonthFee_','TotalActivationFee_','lblTotalMonthFee_','lblTotalActivationFee_','ActionId_')																
							}else{							
								arrNewSelectedProducts[arrNewSelectedProducts.length] = arrSelectedProduct[i]
							}
						}
		           }    	        				
			}
		}
		//Geef de array terug aan de inputbox met de geselecteerde producten
		objSelectedProducts.value = arrNewSelectedProducts.join(';') + ';'

    }
}

//Controleer of er een upgrade plaats vind, zoja controleer of de geselecteerde producten zijn gewijzigd.
function checkIfCorrectUpgrade(strSelectedProducts,strOldSelectedProducts){
    var newObj = document.getElementById(strSelectedProducts)
    var oldObj = document.getElementById(strOldSelectedProducts)
    if(oldObj){
        if(oldObj.value == newObj.value){
            alert('Vous servez votre paquet à upgraden')
            return false //De geselecteerde producten zijn niet gewijzigd
        }else{
            return true //De geselecteerde producten zijn gewijzigd
        }
    }else{
        return true //Er heeft geen upgrade plaats gevonden
    }
}

function checkStandardPakkets(strObjSelectedProducts,amountOfCards,type1,type2){
    //Haal alle input velden op
    var arrObjInput = document.getElementsByTagName('INPUT')
    var productOk = new Array()
    //Haal de geselecteerde producten per smartcard op
    for(var x=1;x<amountOfCards+1;x++){        
        var obj = document.getElementById(strObjSelectedProducts+'_'+x)        
        if(obj){
            var arrSelectedProducts = obj.value.split(';')
            //Loop alle input velden door en filter deze op het productType
            for(var y=0;y<arrObjInput.length;y++){
                if(arrObjInput[y].id.indexOf('productType_'+x)>=-1){
                    for(var q=0;q<arrSelectedProducts.length;q++){
                        if(arrSelectedProducts[q]==arrObjInput[y].id.replace('productType_'+x+'_','')){//controleer het productId
                            if(arrObjInput[y].value.toLowerCase() == type1.toLowerCase() || arrObjInput[y].value.toLowerCase() == type2.toLowerCase()){
                                productOk[x] = true
                            }
                        }
                    }
                }
            }            
        }
    }
    for(var x=1;x<amountOfCards+1;x++){
        if (!productOk[x]){
            alert('Vous n\'avez pas choisi d\'abonnement')
            return false        
        }
    }
    return true
}

function getAllowedCombinations(productKey,strObj,strCombination,override){
	obj = document.getElementById(strObj)
	if (obj.value!='' && !override){ //Controleer of er het de eerste product keuze is
		if (obj.value.indexOf(productKey) > -1){			
			return true
		}else{
			return false
		}
	}else{
		obj.value = strCombination
		return true
	}//De keuze is correct
}

function IsSelectedArticlesEqualToXL(objSelectedProducts,objXLCombination,iSmartcardNumber){
	return false //Tijdelijk omdat er geen XL pakket is voorlopig
	var arrSelectedProductIds,arrSelectedKeys,str='',tmpstr=''
	var itemFound = false
	tmpstr = objSelectedProducts.value.substring(0,objSelectedProducts.value.length-1)
	arrSelectedProductIds = tmpstr.split(';')
	if (arrSelectedProductIds.length>1){
		for(var i=0;i<arrSelectedProductIds.length;i++){		
			if (document.getElementById('KEY_'+iSmartcardNumber+'_'+arrSelectedProductIds[i])){
				if(document.getElementById('KEY_'+iSmartcardNumber+'_'+arrSelectedProductIds[i]).value !=''){
					str += document.getElementById('KEY_'+iSmartcardNumber+'_'+arrSelectedProductIds[i]).value + ';'
				}
			}		
		}
		str = str.substring(0,str.length-1)
		arrSelectedKeys = str.split(';')		
		arrSelectedKeys = arrSelectedKeys.sort()
		var arrXLCombination = objXLCombination.value.split(';')		
		for(var x=0;x<arrXLCombination.length;x++){			
			itemFound = strExistsInArray(arrXLCombination[x],arrSelectedKeys)
			if(!itemFound){return itemFound}
		}		
		return itemFound
	}	
}

function selectProduct(productId,strContSelectedProduct,productKey,strCombinationObj,strCombination,strXLCombination,iSmartcardNumber,hfTotalMonthFee,hfTotalActivationFee,lblTotalMonthFee,lblTotalActivationFee,hfActionIdCont){
	var obj = document.getElementById(strContSelectedProduct)		
	if (obj){
	    var prevSelection = obj.value
		if (obj.value.indexOf(productId) == -1){		
			if (getAllowedCombinations(productKey,strCombinationObj,strCombination)){				
				obj.value += productId + ';'				
				document.getElementById(productId+'_'+iSmartcardNumber).src=document.getElementById(productId+'_'+iSmartcardNumber).src.replace('_off.gif','_on.gif')
				updateTotalPrices(hfTotalMonthFee+iSmartcardNumber,hfTotalActivationFee+iSmartcardNumber,lblTotalMonthFee+iSmartcardNumber,lblTotalActivationFee+iSmartcardNumber,productId,'PLUS',iSmartcardNumber) //Update de total prijzen
				isActionIdUsed(hfActionIdCont,productId,iSmartcardNumber,'ADD')				
				
				updateAllowedCombinationField(obj,strCombinationObj,iSmartcardNumber)	
				
				//Transparant maken de producten welke niet binnen de mogelijk combinatie van het gekozen product vallen		
		        setAlpha(document.getElementById(strCombinationObj),iSmartcardNumber)
			}else{
				alert('Vous ne pouvez pas ajouter cette option aux choix effectués précédemment.')
			}
		}else{ //Deactiveer het gekozen product
			obj.value = obj.value.replace(productId+';','')						
			
			updateTotalPrices(hfTotalMonthFee+iSmartcardNumber,hfTotalActivationFee+iSmartcardNumber,lblTotalMonthFee+iSmartcardNumber,lblTotalActivationFee+iSmartcardNumber,productId,'MINUS',iSmartcardNumber) //Update de total prijzen			
			document.getElementById(strCombinationObj).value =''
			var tmpArr = new Array()
			tmpArr = obj.value.split(';')
            updateAllowedCombinationField(obj,strCombinationObj,iSmartcardNumber)	
			setAlpha(document.getElementById(strCombinationObj),iSmartcardNumber)
			
			document.getElementById(productId+'_'+iSmartcardNumber).src=document.getElementById(productId+'_'+iSmartcardNumber).src.replace('_on.gif','_off.gif')					
		}
		//Controleer of de gekozen producten gelijk zijn aan het XL pakket
		if (IsSelectedArticlesEqualToXL(obj,document.getElementById(strXLCombination),iSmartcardNumber)){//Wanneer dit zo is moeten andere producten gedeactiveerd worden en het xl pakket actief worden.
			//Reset de vinkjes
			resultSelectionMarkers(obj.value,iSmartcardNumber)
			
			//Filter de producten welke NIET resulteren in het XL product
			var restProducts = FilterNonXLCombinedProducts(obj,document.getElementById(strXLCombination),iSmartcardNumber)
			//De geselecteerde producten zijn Id van het XL pakket en de reeds geselecteerde opties 
			obj.value = XLproductId+';' + restProducts
			
			//Reset het combinatie veld
			document.getElementById(strCombinationObj).value=''
			
			//Update het combinatie veld
			getAllowedCombinations(document.getElementById('KEY_'+iSmartcardNumber+'_'+XLproductId).value,strCombinationObj,document.getElementById('AllowedCombination_'+iSmartcardNumber+'_'+XLproductId).value)
			
			//Reset de vinkjes
			resultSelectionMarkers(prevSelection,iSmartcardNumber)
			
			//Set het vinkje van het XL product op actief
			//document.getElementById(XLproductId+'_'+iSmartcardNumber).src=document.getElementById(XLproductId+'_'+iSmartcardNumber).src.replace('.jpg','_on.jpg')
			resultSelectionMarkers(obj.value,iSmartcardNumber,true)
			
			//Update de prijzen
			updateTotalPrices(hfTotalMonthFee+iSmartcardNumber,hfTotalActivationFee+iSmartcardNumber,lblTotalMonthFee+iSmartcardNumber,lblTotalActivationFee+iSmartcardNumber,productId,'ZERO',iSmartcardNumber) //Update de total prijzen\
			
			//Transparant maken de producten welke niet binnen de mogelijk combinatie van het gekozen product vallen		
		    setAlpha(document.getElementById(strCombinationObj),iSmartcardNumber)
		}				
	    //Sorteer de geselecteerde producten
	    sortProducts(obj,iSmartcardNumber)
	}
}

//Sorteren van de geselecteerde producten
function sortProducts(obj,iSmartcardNumber){
    var tmpArr = new Array()
    if(obj){    
        var arrSelectedProducts = obj.value.split(';')
        for(var i=0;i<arrSelectedProducts.length;i++){
            var objShowOrder = document.getElementById('productOrder_'+iSmartcardNumber+'_'+arrSelectedProducts[i])            
            if(objShowOrder){
                var showOrder = objShowOrder.value                
                tmpArr[showOrder] = arrSelectedProducts[i]
            }        
        }
        i=0
        while(i<tmpArr.length){
            if (tmpArr[i] == undefined){            
                tmpArr.splice(i,1)
            }else{
               i++
            }
        }        
        obj.value = tmpArr.join(';') + ';'
    }
}

//Filter uit de geselecteerde producten alleen de producten die niet de XL combinatie als resultaat geven
function FilterNonXLCombinedProducts(obj,objXL,iSmartcardNumber){
	var arr = obj.value.substring(0,obj.value.length-1).split(';')
	var arrXL = objXL.value.split(';')
	//Loop alle geselecteerde producten door
	var x=0
	while(x<arr.length){
		var objKey = document.getElementById('KEY_'+iSmartcardNumber+'_'+arr[x])//Vraag de key van het huidige product op				
		if(strExistsInArray(objKey.value,arrXL)){ //Controleer of de key vookomt in de array met de combinatie welke resulteerd in het XL pakket
			debug('remove: ' + arr[x])
			arr.splice(x,1)//Verwijder het product
		}else{
		x++}
	}	
	if(arr.length>0){arr.splice(arr.length,1,'')}		
	return arr.join(';')

}

//Reset de vinkjes van de op dit moment geselecteerde producten welke resulteren in het XL pakket
function resultSelectionMarkers(str,iSmartCardNumber,set){
    var arr = str.substring(0,str.length-1).split(';')
    for(var i=0;i<arr.length;i++){
        if (arr != ''){
			if(set==true){			    
				document.getElementById(arr[i]+'_'+iSmartCardNumber).src = document.getElementById(arr[i]+'_'+iSmartCardNumber).src.replace('_off.gif','_on.gif')
			}else{
				document.getElementById(arr[i]+'_'+iSmartCardNumber).src = document.getElementById(arr[i]+'_'+iSmartCardNumber).src.replace('_on.gif','_off.gif')
			}
        }
    }
}

//Controleer of de string in de array voorkomt
function strExistsInArray(str,arr){
	var itemFound = false
	for(var i=0;i<arr.length;i++){
		if (str.toLowerCase() == arr[i].toLowerCase()){
			itemFound = true
		}
	}
	return itemFound
}

function updateAllowedCombinationField(objSelectedProducts,strCombinationObj,iSmartcardNumber,cmd){      
    //Ophalen alle keys
    var arrAllKeys = getAllKeys().split(';')
    arrAllKeys = arrAllKeys.sort()
    
    //Ophalen geselecteerde keys		
    var arrSelectedKeys = getAllSelectedKeys(objSelectedProducts.value,iSmartcardNumber).split(';')
    arrSelectedKeys = arrSelectedKeys.sort()
    
    //Filter de niet geselecteerde keys uit alle keys
    var x=0
    for(var y=0;y<arrSelectedKeys.length;y++){    
        while(x<arrAllKeys.length){        
           if(arrAllKeys[x] == arrSelectedKeys[y]){            
                arrAllKeys.splice(x,1)
                break
            }
            else{
                x++
            }
        }
    }        
    //Controleer de combinaties per product, wanneer 1 van de keys niet voorkomt in de arrAllKeys dan wordt deze verwijdert als mogelijk combi		
    //Haal alle combi velden van de producten op
    var objCombies = document.getElementsByTagName('INPUT')	
	if (objSelectedProducts.value.length==0){//Wanneer er geen product is geselecteerd dan moeten alle combinaties worden toegestaan.
		document.getElementById(strCombinationObj).value = arrAllKeys.join(';')		
	}else {//if(objSelectedProducts.value.length>2){
        var combinations = new Array()		
		for(q=0;q<objCombies.length;q++){//Loop alle gevonden input velden door        
            if(objCombies[q].id.indexOf('AllowedCombination_')>-1){//Alleen de combinatie velden
				if(arrSelectedKeys.join(';').indexOf(document.getElementById(objCombies[q].id.replace('AllowedCombination_','KEY_')).value)!=-1){//De key moet geselecteerd zijn										
					combinations.splice(combinations.length,1,objCombies[q].value)
					
				}
            }
        }				
		document.getElementById(strCombinationObj).value = cleanCombinations(combinations,arrAllKeys)		
    }    	
}

function _ConstructorKeyObjectvar(Key){
    this._key = Key
    this._arradd = new Array()    
}

function cleanCombinations(arrCombinations,arrAllKeys){
//Maak een object aan waarin alle keys worden opgeslagen, hierzal een array of flags worden aangemaakt zodat later gecontroleerd kan worden
//of alle flags op true staan. En de combinatie gebruikt kan worden
//Loop alle key door en voeg deze toe aan het object
//var arrOKeys = new Array()
//for(i=0;i<arrAllKeys.length;i++){
//    var obj =  new _ConstructorKeyObjectvar(arrAllKeys[i])    
//    arrOKeys[i] = obj
//}
//einde doorlopen keys    
	//array waarin de terug te geven keys worden opgeslagen		
	var arrReturn = new Array()
	//Loop alle combinaties door
	for(var x=0;x<arrCombinations.length;x++){
		//Vul de array met de keys van de huidige combinatie
		var arrCombinationKeys = arrCombinations[x].split(';')		
		//Loop de keys door		
		for(var y=0;y<arrCombinationKeys.length;y++){
			//Flag voor het bijhouden of het item wel of niet toegevoegt moet worden aan de return waarden
			var mustAdd = false			
			//Loop alle overige combinaties door			
			for(var z=0;z<arrCombinations.length;z++){
				//Voorkom dat de huidige combinatie nogmaals wordt doorlopen
				if(arrCombinations[z]!=arrCombinations[x]){				
					//Vul de array met de keys van de overige combinaties
					var arrRestKeys = arrCombinations[z].split(';')
					//Doorloop de keys van de overige combinaties					
					for(var c=0;c<arrRestKeys.length;c++){
						//Controleer of de key voorkomt, zo ja voeg deze toe aan de return array
						if(arrRestKeys[c]==arrCombinationKeys[y]){						    
							if(!strExistsInArray(arrCombinationKeys[y],arrReturn)){	
							//	arrReturn.splice(arrReturn.length,1,arrCombinationKeys[y])
							mustAdd=true
							}
						}//Einde controle of de key voorkomt
					}//einde doorlopen keys van overige combinaties
					
				}//Einde voorkomen dat huidige combinatie nogmaals wordt doorlopen							
			    if(mustAdd){
		        //arrReturn.splice(arrReturn.length,1,arrCombinationKeys[y])		    
    		    }
			}//einde doorlopen overige combinaties		    
		}//einde doorlopen keys
	}//einde doorlopen combinaties
	if(arrReturn.length==0){	
		///arrReturn = arrCombinations[0].split(';')	
	}			
	return arrReturn.join(';')
}

function getAllKeys(){
    //Haal alle input velden op en filter deze op het voorkomen van de key in het ID
    var inputs = document.getElementsByTagName('INPUT')
    var arrKeys = new Array()    
    for(var i=0;i<inputs.length;i++){
        var keyExcists = false
        if (inputs[i].id.toLowerCase().indexOf('key')>-1){
            //Loop de array met de keys door, zodat er gecontrolleerd kan worden of de key al bestaat
            for(var x;x<arrKeys.length;x++){
                if (arrKeys[x] == inputs[i].value){//De key staat al
                    keyExcists = true
                }
            } 
            if (!keyExcists){//De key is niet gevonden in de array, dus kan deze worden toegevoegd                
                arrKeys.splice(arrKeys.length,1,inputs[i].value)
            }
        }
    }
    return arrKeys.join(';')
}

function getAllSelectedKeys(strProducts,iSmartcardNumber){
    var arrProducts = strProducts.split(';')    
    var arrKeys = new Array()
    for(var i=0;i<arrProducts.length;i++){
        var obj = document.getElementById('KEY_'+iSmartcardNumber+'_'+arrProducts[i])
        var keyExcists = false
        if(obj){
           //Loop de array met de keys door, zodat er gecontrolleerd kan worden of de key al bestaat
            for(var x;x<arrKeys.length;x++){
                if (arrKeys[x] == obj.value){//De key staat al
                    keyExcists = true
                }
            } 
            if (!keyExcists){//De key is niet gevonden in de array, dus kan deze worden toegevoegd                
                arrKeys.splice(arrKeys.length,1,obj.value)
            }     
        }        
    }
    return arrKeys.join(';')
}

//Update de containers waarin de totaal prijzen worden getoond.
function updateTotalPrices(hfTotalMonthFee,hfTotalActivationFee,lblTotalMonthFee,lblTotalActivationFee,productId,cmd,iSmartCardNumber){
    //Vraag de objecten op
    var objHfTotalMonthFee = document.getElementById(hfTotalMonthFee)   
    var objHfTotalActivationFee = document.getElementById(hfTotalActivationFee)
    var objLblTotalMonthFee = document.getElementById(lblTotalMonthFee)
    var objLblTotalActivationFee = document.getElementById(lblTotalActivationFee)
 
    //Zoek de container met de prijs van het meegegeven product op   
    var objMonthFee = document.getElementById('MonthFee_'+iSmartCardNumber+'_'+productId)    
    var objActivationFee = document.getElementById('ActivationFee_'+iSmartCardNumber+'_'+productId)
      
    //Typecasting van de waarde in objHfTotalMonthFee
    var iTotalMonthFee = parseFloat(objHfTotalMonthFee.value.replace(',','.'))   
    if (isNaN(iTotalMonthFee)){iTotalMonthFee=0}//Controleer of de typecast gelukt is, zoniet dan wordt de variabele gevuld met 0
    //einde typecasting objHfTotalMonthFee
    
    //Typecasting van de waarde in objHfActivationFee
    var iTotalActivationFee = parseFloat(objHfTotalActivationFee.value.replace(',','.'))
    if (isNaN(iTotalActivationFee)){iTotalActivationFee=0}//Controleer of de typecast gelukt is, zoniet dan wordt de variabele gevuld met 0
    //einde typecasting objHfActivationFee
        
    //Maandelijks bedrag    
    if (objMonthFee){
        //Typecast het maand bedrag        
        var monthFee = parseFloat(objMonthFee.value.replace(',','.'))
        if (isNaN(monthFee)){monthFee=0}//Controleer of de typecast gelukt is, zoniet dan wordt de variabele gevuld met 0
        //Controleer of welke type berekening er uitgevoerd moet worden (optellen/aftrekken
        switch(cmd){
            case 'PLUS' : 
                objHfTotalMonthFee.value =  (iTotalMonthFee + monthFee).toFixed(2)
                break
            case 'MINUS' :
                objHfTotalMonthFee.value =  (iTotalMonthFee - monthFee).toFixed(2)
                break
            case 'ZERO':
                objHfTotalMonthFee.value =  monthFee.toFixed(2)
                break
        }
        if (objLblTotalMonthFee){
            objLblTotalMonthFee.innerHTML = objHfTotalMonthFee.value
        }
    }
    //einde maandelijks bedrag
    
    //activerings vergoeding    
    if (objActivationFee){
        //Typecase de activerings vergoeding
        var ActivationFee = parseFloat(objActivationFee.value.replace(',','.'))        		
        if (isNaN(ActivationFee)){ActivationFee=0}//Controleer of de typecast gelukt is, zoniet dan wordt de variabele gevuld met 0
        //Controleer of het nieuwe activatie lager is dan het oude, dit inverband met een actie activeringsprijs		
		objHfTotalActivationFee.value = (ActivationFee).toFixed(2)		        
        if (objLblTotalActivationFee){       
            objLblTotalActivationFee.innerHTML = objHfTotalActivationFee.value
        }
    }
    //einde activerings vergoeding
}

//Controleer of het meegegeven productId een aktie heeft, wanneer dit zo is wordt deze toegevoegd aan de het hiddenfield actionId
function isActionIdUsed(hfStrActionCont,productId,iSmartcardNumber,cmd){
   var obj = document.getElementById('ActionId_'+iSmartcardNumber+'_'+productId)   
   if (obj){
    if (obj.value !=''){ //Controleer of er een aktie in het hidden field is opgeslagen    
        if(cmd=='ADD'){            
            document.getElementById(hfStrActionCont+'_'+iSmartcardNumber).value += obj.value
        }else{
            document.getElementById(hfStrActionCont+'_'+iSmartcardNumber).value.replace(obj.value,'')
        }
    }
   }
}


//Reset het alpha filter van het geselecteerde instappaket
function resetAlpha(objSelectedProducts,iSmartcardNumber){
    var arr = new Array
    arr = objSelectedProducts.value.split(';')    
    //Loop de geselecteerde producten door
    for(var i=0;i<arr.length-1;i++){
        var objProductType = document.getElementById('productType_'+iSmartcardNumber+'_'+arr[i])
        if(objProductType){
            if (objProductType.value.toLowerCase()=='instappakket'){
                var objProductCont = document.getElementById('cont_'+iSmartcardNumber+'_'+arr[i])
                if (objProductCont){                    
                    objProductCont.className = objProductCont.className.replace(' oa_NotActive','')
                }
            }
        }
//        var objAllowDowngrade = document.getElementById('allowDowngrade_'+iSmartcardNumber+'_'+arr[i])
//        if(objAllowDowngrade){
//            if(objAllowDowngrade.value='true'){
//                var objProductCont = document.getElementById('cont_'+iSmartcardNumber+'_'+arr[i])
//                if (objProductCont){                    
//                    objProductCont.className = objProductCont.className.replace(' oa_Active','')
//                }
//            }
//        }        
    }
    //einde doorlopen geselecteerde producten
}

//Pas het alpha filter aan wanneer de key niet in het combination veld voorkomt
function setAlpha(objHfCombination,iSmartcardNumber){

   
    //Haal alle inputs op
    var objs = document.getElementsByTagName('INPUT')
    //Vul de array met de combinatie Key
    var arrCombination = objHfCombination.value.split(';')
    
    //Loop alle input door    
    for(var x=0;x<objs.length;x++){
        if(objs[x].id.toLowerCase().indexOf('key_')>-1){//Filter alleen de key velden
            //controleer of de key in de mogelijke combinaties voorkomt
            var possibleKey = false
            for(y=0;y<arrCombination.length;y++){            
                if(arrCombination[y]==objs[x].value){
                    possibleKey=true
                }
            }
            var alphaObj = document.getElementById(objs[x].id.toLowerCase().replace('key_','cont_'))//Laad de pakket container
            if(alphaObj){
                if(possibleKey){
                    alphaObj.className = alphaObj.className.replace(' oa_NotActive','')
                }else{
                    alphaObj.className = alphaObj.className + ' oa_NotActive'
                }
            }           
        }
    }
}


//----------------------------------------------------------------------------------------------------------------------------------------
//Overgenomen uit Tv-Vlaanderen online abonneren\
//----------------------------------------------------------------------------------------------------------------------------------------
function fnEro(p_lngSmartCard, p_strEro){
    window.status==''
    eval("document.form.hidSmartCard" + p_lngSmartCard + "Ero.value='" + p_strEro + "'");
}
function fnManx(p_lngSmartCard){
   if (eval("document.form.optSmartCard" + p_lngSmartCard + "Manx.checked")) waarde='checked'; else waarde='';
    eval("document.form.hidSmartCard" + p_lngSmartCard + "Manx.value='" + waarde + "'");
}


function fnSelectProduct(p_objSelect, i, p_blnExistingCustomer){
    var strSelectedProduct;
    strSelectedProduct = p_objSelect[p_objSelect.selectedIndex].value;

    if(strSelectedProduct == 'korting')
    {
        eval("document.form.optSmartCard" + i + "Ero[0].checked = false");
        eval("document.form.optSmartCard" + i + "Ero[1].checked = false");
        //eval("document.form.optSmartCard" + i + "Ero[2].checked = false");
        eval("document.form.optSmartCard" + i + "Manx.checked = false");

        eval("document.form.optSmartCard" + i + "Ero[0].disabled = true");
        eval("document.form.optSmartCard" + i + "Ero[1].disabled = true");
        //eval("document.form.optSmartCard" + i + "Ero[2].disabled = true");
        eval("document.form.optSmartCard" + i + "Manx.disabled = true");
    }
    else
    {
        eval("document.form.optSmartCard" + i + "Ero[0].checked = true");

        eval("document.form.optSmartCard" + i + "Ero[0].disabled = false");
        eval("document.form.optSmartCard" + i + "Ero[1].disabled = false");
        //eval("document.form.optSmartCard" + i + "Ero[2].disabled = false");
        eval("document.form.optSmartCard" + i + "Manx.disabled = false");
    }

    if((p_blnExistingCustomer == 'yes') && (i == 1))
    {
        if(p_objSelect[p_objSelect.selectedIndex].value == 'korting')
        {
            document.form.hoofdabo.checked = false;
            document.getElementById("idhoofdabo").style.visibility = "visible";
        }
        else
        {
            document.form.hoofdabo.checked = true;
            document.getElementById("idhoofdabo").style.visibility = "hidden";
        }
    }
}

function fnSpaceUp(p_strSmartCard, p_lngLength){
    var lngLength, i
    var strReturn

    strReturn = p_strSmartCard
	if (p_strSmartCard.length>0){
		lngLength = (p_strSmartCard.length - p_lngLength) * -1;
		for(i=1;i<=lngLength;i++)
		{
			strReturn += strReturn + ' ';
		}
	}
    return strReturn;
}

function fnExtraCard(p_intNumberOfCards, p_strTest){
	//1e smartcard
	var strCard1,strCard1Prod,allowedCombi1,strUrl,strActionId1;
    strCard1 = fnSpaceUp(document.getElementById('sc1_1').value,1);
    strCard1 += fnSpaceUp(document.getElementById('sc2_1').value,2);
    strCard1 += fnSpaceUp(document.getElementById('sc3_1').value,3);
    strCard1 += fnSpaceUp(document.getElementById('sc4_1').value,3);
    strCard1 += fnSpaceUp(document.getElementById('sc5_1').value,3);
    strCard1 += fnSpaceUp(document.getElementById('sc6_1').value,2);
	strCard1Prod = document.getElementById('selectedProducts_1').value
	allowedCombi1 = document.getElementById('hfAllowedCombi_1').value
	strMonthFee1 = document.getElementById('hfTotalMonthFee_1').value  
	strActivationFee1 = document.getElementById('hfTotalActivationFee_1').value		
	strActionId1 = document.getElementById('hfActionId_1').value
	
		//alert('strCard1: ' + strCard1 +'\n' + 'strCard1Prod: '+ strCard1Prod +'\n' + 'allowedCombi1: ' + allowedCombi1 +'\n' +'strMonthFee1: ' + strMonthFee1 +'\n' + 'strActivationFee1: ' + strActivationFee1 +'\n' +	'strActionId1: ' + strActionId1 +'\n')
	//einde 1e smartcard

	//2e smartcard
	var strCard2,strCard2Prod,allowedCombi2,strActionId2
    if(p_intNumberOfCards > 1){
        strCard2 = document.getElementById('sc1_2').value;
        strCard2 += document.getElementById('sc2_2').value;
        strCard2 += document.getElementById('sc3_2').value;
        strCard2 += document.getElementById('sc4_2').value;
        strCard2 += document.getElementById('sc5_2').value;
        strCard2 += document.getElementById('sc6_2').value;
        strCard2Prod = document.getElementById('selectedProducts_2').value
		AllowedCombi2 = document.getElementById('hfAllowedCombi_2').value
		strMonthFee2 = document.getElementById('hfTotalMonthFee_2').value  
	    strActivationFee2 = document.getElementById('hfTotalActivationFee_2').value
	    strActionId2 = document.getElementById('hfActionId_2').value
    }
	//einde 2e smartcard

	//3e smartcard
	var strCard3,strCard3Prod,allowedCombi2,strActionId3
    if(p_intNumberOfCards > 2){
        strCard3 = document.getElementById('sc1_3').value;
        strCard3 += document.getElementById('sc2_3').value;
        strCard3 += document.getElementById('sc3_3').value;
        strCard3 += document.getElementById('sc4_3').value;
        strCard3 += document.getElementById('sc5_3').value;
        strCard3 += document.getElementById('sc6_3').value;
        strCard3Prod = document.getElementById('selectedProducts_3').value
		allowedCombi3 = document.getElementById('hfAllowedCombi_3').value
		strMonthFee3 = document.getElementById('hfTotalMonthFee_3').value  
	    strActivationFee3 = document.getElementById('hfTotalActivationFee_3').value
	    strActionId3 = document.getElementById('hfActionId_3').value
    }
	//einde 3e smartcard


	//Formuleer het url waarnaar geredirect moet worden
	strUrl = 'abonneren.asp?step=1&t=abonneren&cards=' + p_intNumberOfCards + '&card1=' + strCard1 + '&selectedProducts_1=' + strCard1Prod+'&allowedCombi1='+allowedCombi1+'&TotalMonthFee1='+strMonthFee1+'&TotalActivationFee1='+strActivationFee1+'&ActionId1='+strActionId1 //1e smartcard
    if(p_intNumberOfCards >= 2){
     strUrl += '&card2=' + strCard2 + '&selectedProducts_2=' + strCard2Prod+'&allowedCombi2='+allowedCombi2+'&TotalMonthFee2='+strMonthFee2+'&TotalActivationFee2='+strActivationFee2+'&ActionId12'+strActionId2 //2e smartcard
    }
	if(p_intNumberOfCards >= 3){
     strUrl += '&card3=' + strCard3 + '&selectedProducts_3=' + strCard3Prod+'&allowedCombi2='+allowedCombi3+'&TotalMonthFee3='+strMonthFee3+'&TotalActivationFee3='+strActivationFee3+'&ActionId3='+strActionId3 //3e smartcard
    }

    document.location= strUrl;
}

//----------------------------------------------------------------------------------------------------------------------------------------
//einde overgenomen uit Tv-Vlaanderen online abonneren
//----------------------------------------------------------------------------------------------------------------------------------------
