var AO_admin_carCfg = function(){
	
	/* bl mode -> add, edit; */
	var mode;	
	var _import = false;
	var _acsrInterval = false;
	var _multiAdd = false;
	var _customAdd = false;
	
	
	/* bl basic els */
	var form,action,cardID;	
	
	/* bl selects els */
	var make,model,type,acsr,engine,trans;
	var acsrInterval, acsrPreload;	
	
	/* bl html containers els */
	var exactCarsCont,exactCarsCont,acsrBaseCont,acsrExtPacksCont,
		acsrExtItemsCont,salesParamsCont,acsrSearchFlagsCont,fotogalCont,videoCont,customTechParamsCont;	
	
	/* bl buttons els */
	var initCarCardBtn,saveCarCardBtn;	
	var showAllTypesBtn;
	
	/* action blockers */
	var progressIndicator = false;
	
	/* ajax form submit */
	var submit = function(ajaxSetup){				   		   
	    form.ajaxSubmit(ajaxSetup);		
	       
	    form.submit(function(){
	    	return false; 
	    });
	}
	
	/* ajax form basic j6on error */
	var responseError = function(){
		window.alert('J6ON error');
	}
	
	/* cardId getter/setter */
	var setCardID = function (id){
		cardID.get(0).value = id;		
	}	
	var getCardID = function (){
		return cardID.get(0).value;	
	}
	
	/* action getter/setter */
	var setAction = function (act){
		action.get(0).value = act;		
	}	
	var getAction = function (){
		return action.get(0).value;
	}

	var isTypeSelected = function (){			
							
		var enable = false;			
		var conf_car_type_info = $("input.conf_car_type_info");									
		jQuery.each(conf_car_type_info, function(key, value) {			 	
			if($(this).get(0).checked===true) enable = true;												
		});
		return enable;
		
	}
	
	var isSaveAllowed = function () {
		
		var action = getAction();
		if(mode=='add')	{
			if(action == 'get_type_info') {
				return true;		
			}else if(action == 'get_type_info_plus') {
				return true;
			}else if(action == 'get_type_info_custom') {
				return true;
			}else{
				return false
			}
		}else{
			return true;
		}
	}

	
	var resetManager = function(action) {		
		switch(action){				
			case 'get_model' :			AO.Common.Util.emptySelect([model.get(0),type.get(0),acsr.get(0),engine.get(0),trans.get(0)]);break;	
			case 'get_tvar_karoserie' :	AO.Common.Util.emptySelect([type.get(0),acsr.get(0),engine.get(0),trans.get(0)]); break;								
			case 'get_nazov_vybavy':	AO.Common.Util.emptySelect([acsr.get(0),engine.get(0),trans.get(0)]);break;	
			case 'get_motor' :			AO.Common.Util.emptySelect([engine.get(0),trans.get(0)]);break;								
			case 'get_prevodovka' :		AO.Common.Util.emptySelect([trans.get(0)]); break;								
			case 'get_typy' :			AO.Common.Util.emptySelect([]); break;								
			case 'get_typy_plus' :			AO.Common.Util.emptySelect([]); break;								
			case 'get_type_info' :			AO.Common.Util.emptySelect([model.get(0),type.get(0),acsr.get(0),engine.get(0),trans.get(0)]);	break;																							
			case 'get_type_info_plus' :		AO.Common.Util.emptySelect([]); break;	/*AO.Common.Util.emptySelect([model.get(0),type.get(0),acsr.get(0),engine.get(0),trans.get(0)]);*/	break;																							
			case 'get_type_info_custom' :	AO.Common.Util.emptySelect([model.get(0),type.get(0),acsr.get(0),engine.get(0),trans.get(0)]); break;	/*AO.Common.Util.emptySelect([model.get(0),type.get(0),acsr.get(0),engine.get(0),trans.get(0)]);*/	break;																							
		}		
	}
	
	var renderManager = function (cmd, response) {
		switch(cmd){							
			/*SELECT OPTIONS*/
			case 'model' :				renderModels(response.model);break;
			case 'vehtype' :			renderVehType(response.vehtype);break;
			case 'tvar' :				renderTypes(response.tvar);break;
			case 'nazov_vybavy' :		renderAcsr(response.nazov_vybavy);break;
			case 'motor' :				renderEngine(response.motor);break;
			case 'prevodovka' :			renderTrans(response.prevodovka);break;										
			/*HTML CONTAINERS*/
			case 'html_table_typy' :		renderExactCars(response.html_table_typy);break;
			case 'html_st_vybava' :			renderAcsrBase(response.html_st_vybava);break;
			case 'html_add_vybava' :		renderAcsrExtItems(response.html_add_vybava);break;
			case 'html_add_vybava_packs' :	renderAcsrExtPacks(response.html_add_vybava_packs);break;
			case 'html_sales_params' :		renderSalesParams(response.html_sales_params);break;			
			case 'html_vybava_flags' :		renderAcsrSearchFlags(response.html_vybava_flags);break;							
			case 'html_custom_fotogal' :	renderCustomFotogal(response.html_custom_fotogal);break;							
			case 'html_video_embed' :		renderVideoEmbed(response.html_video_embed);break;
			case 'html_tech_params' :		renderCustomTechParams(response.html_tech_params);break;							
			/*HANDLE UNEXPECTED*/
			default:						alert('no valid CMD '+ cmd +' in JSON');break;
		}			
	}

	/* basic renderer */
	var render = function (responseText, statusText){				
		var response = responseText.data;
		var result = responseText.result;		
		progressIndicator=false;
		/* action summary add_item,update_item,get_typy,get_type_info,get_prevodovka,get_motor,get_nazov_vybavy,get_tvar_karoserie,get_model*/
		var action = getAction();				
		/* handle false result */
		if(!result) alert('Error code: ' + responseText.error.code + 'app part :'+ responseText.error.app_part);				
		/* reset fields and containters */
		resetManager(action);			
		/* generate fields and containters */
		for(var cmd in response) renderManager(cmd, response);		
		/* remove type onload  status text etc...*/
		if(action == 'get_type_info') {
			
			if(response.html_sales_params != undefined && _acsrInterval && !_import)				
				$('#cfg_addition_interval').change(getAcsrByInterval);	
													
			if(!_import)		
				AO_admin_carCfg_acsr_priceCalc.init();
			
			$('#initCarCardResult').get(0).innerHTML='';
		}					
		
		if(action == 'get_type_info_plus') {
			$('#initCarCardResult').get(0).innerHTML='';
		}
		
		if(action == 'get_type_info_custom') {
						
			if(_customAdd && response.html_tech_params != undefined ){				
				$('#cfg_custom_autokarty_vybavy').change(getAcsrPreload);
			}	
			
			$('#initCarCardResult').get(0).innerHTML='';
		}	
	}
			
	/* special renderer for response of card save handler [action : add_item, update_item] -> change to edit mode	*/
	var renderSaveCard = function(responseText, statusText){		
		var response = responseText.data;
		var result = responseText.result;
		var action = getAction();
		progressIndicator=false;

		if(action=='add_item'){
			if(result==1){
				if(AO && AO.AutoGaraz && AO.AutoGaraz.isGaraz()) AO.AutoGaraz.refreshGaraz('my_cars');
				$('#saveCarCardResult').get(0).innerHTML='Autokarta bola uložená...';
				editCarCardBtn.show();
				
			}else{
				$('#saveCarCardResult').get(0).innerHTML='Autokarta nebola uložená...';	
			}
		}
		
		if(action=='add_item_plus'){								
			if(result==1){				
				$('#saveCarCardResult').get(0).innerHTML='Autokarty boli uložené pod GROUP ID [ '+response.group_id+' ]...';
				saveCarCardBtn.hide();			
			}else{
				$('#saveCarCardResult').get(0).innerHTML='Autokarty neboli uložené...';	
			}				
		}	
		
		if(action=='add_item_custom'){
			if(result==1){
				/*
				if(AO && AO.AutoGaraz && AO.AutoGaraz.isGaraz()) AO.AutoGaraz.refreshGaraz('my_cars');
				*/
				$('#saveCarCardResult').get(0).innerHTML='Autokarta bola uložená...';
				editCarCardBtn.show();
				
			}else{
				$('#saveCarCardResult').get(0).innerHTML='Autokarta nebola uložená...';	
			}
		}
		
		if(action=='update_item'){
			if(result==1){
				if(AO && AO.AutoGaraz && AO.AutoGaraz.isGaraz()) AO.AutoGaraz.refreshGaraz('my_cars'); 				
				$('#saveCarCardResult').get(0).innerHTML='Autokarta bola uložená...';	
			}else{
				$('#saveCarCardResult').get(0).innerHTML='Autokarta nebola uložená...';	
			}
		}
		
		if(action=='update_item_custom'){
			if(result==1){
				/*
				if(AO && AO.AutoGaraz && AO.AutoGaraz.isGaraz()) AO.AutoGaraz.refreshGaraz('my_cars'); 				
				*/
				$('#saveCarCardResult').get(0).innerHTML='Autokarta bola uložená...';	
			}else{
				$('#saveCarCardResult').get(0).innerHTML='Autokarta nebola uložená...';	
			}
		}
		
		/* handle false result */
		if(!result) alert('Error code: ' + responseText.error.code + 'app part :'+ responseText.error.app_part);	
		
		if(response!=false){			
			setCardID(response.autokarta_id);			
			if(response.html_vybava_flags){
				renderAcsrSearchFlags(response.html_vybava_flags);			
			}
			
			if(response.html_custom_fotogal)
				renderCustomFotogal(response.html_custom_fotogal);
			
			if(response.html_video_embed)
				renderVideoEmbed(response.html_video_embed);
		
			if(response._action=='update_item') mode='edit';			
			if(response._action=='update_item_custom') mode='edit';			
		}							
	}
		
	/* render select gen responses */
	var renderModels = function (data){		
		var field = model.get(0);
		var sel = data.value;
		var opts = data.options;				
		AO.Common.Util.generateOptions(field, opts, sel);				
	}

	var renderTypes = function (data){		
		var field = type.get(0);
		var sel = data.value;
		var opts = data.options;
		AO.Common.Util.generateOptions(field, opts, sel);							
	}	
	var renderAcsr = function (data){		
		var field = acsr.get(0);
		var sel = data.value;
		var opts = data.options;
		AO.Common.Util.generateOptions(field, opts, sel);					
	}	
	var renderEngine = function (data){		
		var field = engine.get(0);
		var sel = data.value;
		var opts = data.options;
		AO.Common.Util.generateOptions(field, opts, sel);		
	}	
	var renderTrans = function (data){		
		var field = trans.get(0);
		var sel = data.value;
		var opts = data.options;
		AO.Common.Util.generateOptions(field, opts, sel);		
	}

	/* render container gen responses */	
	var renderExactCars = function (html){			
		var cont = exactCarsCont.get(0);				
		cont.innerHTML=html;						
	}
	var renderAcsrBase = function (html){		
		if(_customAdd) return;
		var cont = acsrBaseCont.get(0);				
		cont.innerHTML=html;		
	}
	var renderAcsrExtItems = function (html){
		if(_customAdd) return;
		var cont = acsrExtItemsCont.get(0);				
		cont.innerHTML=html;				
	}
	var renderAcsrExtPacks = function (html){
		if(_customAdd) return;
		var cont = acsrExtPacksCont.get(0);				
		cont.innerHTML=html;				
	}
	var renderSalesParams = function (html){		
		
		var cont = salesParamsCont.get(0);				
		cont.innerHTML=html;			
	}
	var renderCustomTechParams = function (html){		
		if(!_customAdd) return;
						
		var cont = customTechParamsCont.get(0);				
		cont.innerHTML=html;										
	}
	
	var renderCustomFotogal = function (html){				
		var cont = fotogalCont.get(0);				
		cont.innerHTML=html;
		
		AO.ConfiguratorFotogal.setUpCustomPics();				
	}
	
	var renderVideoEmbed = function (html){				
		
		//alert(html);
		var cont = videoCont.get(0);				
		cont.innerHTML=html;
	}
	
	var renderAcsrSearchFlags = function (html){		
		var cont = acsrSearchFlagsCont.get(0);		
		if(cont){		
			cont.innerHTML=html;			
		}
	}

	/*render other*/
	var renderAcsrPreload = function (responseText, statusText){
		
		var response = responseText.data;
		var result = responseText.result;		
		progressIndicator=false;		
		/* handle false result */
		if(!result) alert('Error code: ' + responseText.error.code + 'app part :'+ responseText.error.app_part);
		
		$('#cfg_custom_vybava').val(response.custom_vybava);				
		$('#cfg_custom_add_vybava').val(response.custom_add_vybava);											
	}
	
	var saveVideoComplete  = function (responseText, statusText){
		
		var response = responseText.data;
		var result = responseText.result;		
		progressIndicator=false;		
		/* handle false result */
		if(!result) 
			alert('Error code: ' + responseText.error.code + 'app part :'+ responseText.error.app_part);
		else {
				
			$('#editCarCardVideoMsg').get(0).innerHTML='Video bolo uložené...';
			
			$('#video_embed_preview').html($('#video_embed').val());
		}
	}
	
	
	
	/* get other data types*/
	var getAcsrByInterval = function(){setAction('get_type_info');				
		var opt = { 		        
	        success: render,error:AO.Common.handler.ajaxError,
	        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator&change_addition_interval=1',
	        dataType:'json'
    	};		    		    	
    	submit(opt);		    	
	}
	
	var getAcsrPreload = function(){
		var id = $('#cfg_custom_autokarty_vybavy').attr('value');
		
		if(id == undefined) return;
		
	    var  url = '/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator&_action=get_custom_vybava_info';		    	    		    
	   	
	    $.post( url, {autokarta_id: id}, renderAcsrPreload, 'json');
	}

	return {
		
		init : function(m){
			mode = m;						
			
			/* basics */
			form = $('#carCfgForm');
			action = $("#carCfgAction");
			cardID = $("#carCardID");			
			
			/* html containers*/
			exactCarsCont = $("#html_table_typy");
			acsrBaseCont = $("#html_st_vybava");
			acsrExtPacksCont = $("#html_add_vybava_packs");
			acsrExtItemsCont = $("#html_add_vybava");
			salesParamsCont = $("#html_sales_params");								
			customTechParamsCont = $("#html_tech_params");								
			acsrSearchFlagsCont = $("#html_vybava_flags");								
			fotogalCont = $("#html_custom_fotogal");
			videoCont = $("#html_video_embed");
			
			showAllTypesBtn= $("#confTypyAllButton");
			showAllTypesBtn.click(this.showAllTypes);
			
			/* buttons	*/
			initCarCardBtn = $("#initCarCard");
			saveCarCardBtn = $("#saveCarCard");
			
			if(!_multiAdd)
				editCarCardBtn = $("#editCarCard").hide();			
			
			/*selects*/
			make = $('#cfg_idd_make');
			model = $('#cfg_idd_model');
			type = $('#cfg_idd_type');
			acsr = $('#cfg_idd_acsr');
			engine = $('#cfg_idd_engine');
			trans = $('#cfg_idd_trans');
			
						
			/* load models */
			make.change(this.getModels);			
			/* load types, car exact types*/
			model.change(this.getTypes);			
			/* load acsr, car exact types*/
			type.change(this.getAcsr);			
			/* load engines, car exact types*/
			acsr.change(this.getEngine);			
			/* load trans, car exact types*/
			engine.change(this.getTrans);			
			/* load car exact types*/
			trans.change(this.getExactCars);			
			
			if(mode=='edit'){
				//alert(_acsrInterval +' '+_import);
				if(_acsrInterval && !_import)
					$('#cfg_addition_interval').change(getAcsrByInterval);
				
				if(_customAdd)
					$('#cfg_custom_autokarty_vybavy').change(getAcsrPreload);
					
				if(!_import && !_multiAdd && !_customAdd)		
					AO_admin_carCfg_acsr_priceCalc.init();															
			}

			/* init car card*/			
			initCarCardBtn.click(this.createCarCard);
			/* save car card*/
			saveCarCardBtn.click(this.saveCarCard);				
			/* save car card */
			if(!_multiAdd)
				editCarCardBtn.click(this.saveCarCard);
		},
		
		getModels : function(){ setAction('get_model');				
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator',
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},		
		getTypes :function(){	setAction('get_tvar_karoserie');				
			
			if(_multiAdd) var urlAddCfgPlus = "&plus=1";
			else 		  var urlAddCfgPlus = "";
		
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator'+urlAddCfgPlus,
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},		
		getAcsr : function(){	setAction('get_nazov_vybavy');	

			if(_multiAdd) var urlAddCfgPlus = "&plus=1";
			else 		  var urlAddCfgPlus = "";
				
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator'+urlAddCfgPlus,
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},		
		getEngine : function(){	setAction('get_motor');		
			
			if(_multiAdd) var urlAddCfgPlus = "&plus=1";
			else 		  var urlAddCfgPlus = "";
			
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator'+urlAddCfgPlus,
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},		
		getTrans : function(){	setAction('get_prevodovka');		

			if(_multiAdd) var urlAddCfgPlus = "&plus=1";
			else 		  var urlAddCfgPlus = "";
		
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator'+urlAddCfgPlus,
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},		
		
		
		
		getExactCars : function(){
			if(_multiAdd) setAction('get_typy_plus');				
			else 		  setAction('get_typy');	
							
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator',
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},
		
							
		createCarCard : function (){			
			if(progressIndicator) return;			
			var valid_type = isTypeSelected();
			
			 if(valid_type){			
			 		
				if(!_multiAdd) 
			 		$('#initCarCardResult').get(0).innerHTML='Prebieha inicializácia autokarty...';	
			 	else
			 		$('#initCarCardResult').get(0).innerHTML='Prebieha inicializácia autokariet...';	
			 		
				if(_multiAdd) 
					setAction('get_type_info_plus');				
				else if(_customAdd)
					setAction('get_type_info_custom');
				else 		  
					setAction('get_type_info');			 	
			 					
			 				 			 								 
				var opt = { 		        
			        success: render,
			        error:AO.Common.handler.ajaxError,
			        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator',
			        dataType:'json'
		    	};		    			    	
		    	progressIndicator=true;
		    	submit(opt);			    			    			    
			 }else{			 				 
			 	$('#initCarCardResult').get(0).innerHTML='Vyberte konkrétny model automobilu z tabuľky vyššie.';
			 }
		},	
		/*
		getAcsrByInterval : function(){setAction('get_type_info');				
			var opt = { 		        
		        success: render,error:AO.Common.handler.ajaxError,
		        url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator',
		        dataType:'json'
	    	};		    		    	
	    	submit(opt);		    	
		},
		*/	
		saveCarCard : function(){						
			if(progressIndicator) return;
			var valid_type = isSaveAllowed();
			
			if(valid_type){			
				$('#saveCarCardResult').get(0).innerHTML='Prebieha ukladanie autokarty...';	
				
				if(mode=='add')	{
					if(_multiAdd) 
						setAction('add_item_plus');
					else if(_customAdd) 
						setAction('add_item_custom');	
					else 		  
						setAction('add_item');						
				}
				if(mode=='edit'){
					if(_customAdd) 
						setAction('update_item_custom');
					else
						setAction('update_item');
				}
																														
				var opt = { 		        
				    success: renderSaveCard,
				    error:AO.Common.handler.ajaxError,
				    url:'/ibase.php?_server=ao&_pack=autoKonfigurator&mode=konfigurator',
				    dataType:'json'
				};		   
				
				if(_customAdd)
				{
					opt['beforeSubmit'] = function(fData,jForm,oOPtions)
					{
						// too many fields, make it one entry !!
						var aCusVybava = [];
						var aCusAddVybava = [];
						var aCusIdVybava = [];
						var aCusIdAddVybava = [];
						var sKey;
						var i=0;
						
						while(i < fData.length)
						{
							sKey = fData[i]['name'];
							
							if(sKey.indexOf("custom_vybava") != -1)
							{
								aCusVybava.push(fData[i]["value"]);
								// delete fData[i][sKey];
								fData.splice(i,1);
							}else if(sKey.indexOf("custom_add_vybava") != -1)
							{
								aCusAddVybava.push(fData[i]["value"]);
								// delete fData[sKey];
								fData.splice(i,1);
							}else if(sKey.indexOf("custom_id_vybava") != -1)
							{
								aCusIdVybava.push(fData[i]["value"]);
								// delete fData[sKey];
								fData.splice(i,1);
							}else if(sKey.indexOf("custom_id_add_vybava") != -1)
							{
								aCusIdAddVybava.push(fData[i]["value"]);
								// delete fData[sKey];
								fData.splice(i,1);
							}else
							{
								i++;	
							}								
						}
						
						/*
						for(var i = 0; i < fData.length; i++)
						{
							sKey = fData[i]['name'];
							
							if(sKey.indexOf("custom_vybava"))
							{
								aCusVybava.push(fData[sKey]);
								delete fData[i][sKey];
							}else if(sKey.indexOf("custom_add_vybava"))
							{
								aCusAddVybava.push(fData[sKey]);
								delete fData[sKey];
							}
						}
						*/
						
						fData.push({
							name: 'custom_vybava',
							value: aCusVybava.join("~~~")
						});
						
						fData.push({
							name : 'custom_add_vybava',
							value : aCusAddVybava.join("~~~")
						});
						
						fData.push({
							name: 'custom_id_vybava',
							value: aCusIdVybava.join("~~~")
						});
						
						fData.push({
							name : 'custom_id_add_vybava',
							value : aCusIdAddVybava.join("~~~")
						});
						
						// fData["custom_add_vybava"] = aCusAddVybava.join("~");
					}	
				}
				
				progressIndicator=true;		    
				submit(opt);		    			    			   
			}else{			 				 
				$('#saveCarCardResult').get(0).innerHTML='Vyberte konkrétny model automobilu z tabuľky vyššie.';
			}
			
		},	
		setACimported : function(v){
			_import=v;
		},
		setIsAcsrByInterval : function(v){
			_acsrInterval=v;
		},
		setMultiAdd : function(v){
			_multiAdd=v;
		},
		setCustomAdd : function(v){
			_customAdd=v;
		},		
		showAllTypes : function(e){
			//alert(123);
			e.preventDefault();
			$('#confTableTypy tr.confTypyTr').toggleClass('trDnone');
		},
		saveVideo : function () {
			
			var url = '/ibase.php?_server=ao&_pack=autoKonfigurator&_action=set_video';		    	    		    
		   	var id = getCardID();
			var videoContent = $('#video_embed').val();
			
		    $.post( url, {autokarta_id: id, video:videoContent}, saveVideoComplete, 'json');
			
		}
	}
			
	
}();

var  AO_admin_carCfg_acsr_priceCalc = function(){
	
	var sum = 0;
	var sumEur = 0;
	var sumSkk = 0;
	var sumEl;
	var aoPriceEl;
	/*eur/skk*/
	var skkValue,eurValue;
	var exRateSkk=1/30.126;
	var exRateEur=30.126;
	
	
	var calculate = function(item){
			
		var plus = item.get(0).checked;		
		var priceInt = item.get(0).alt;			
		var priceStr = priceInt.toString();		
		var priceStrValid = priceStr.replace(',','.');
		var priceStrValid = priceStrValid.replace(' ','');			
		var priceNumber = Number(priceStrValid);
		if(isNaN(priceNumber)) priceNumber=0;
		
		if(plus)
			sum =  sum + priceNumber;
		else
			sum =  sum - priceNumber;												
		
		//sumEur=skk2eur(sum);
		sumSkk=eur2skk(sum);
			
			
		displaySum();
	}	

	var displaySum = function(){		
		sumEl.get(0).value=sum;
		//sumEurEl.html(sumEur);				
		sumSkkEl.html(sumSkk);				
	}
	
	/*eur*/
	function skk2eur(skk){
		
			var sum=''+skk;+'';
			skkValue=sum.replace(",", ".");	
			eurValue=Math.round(exRateSkk*skkValue*100)/100;
			eurValue=''+eurValue+'';
			eurValue=eurValue.replace(".", ",");
			eurValue = FormatNumberBy3(eurValue, ",", ".")											
			return eurValue;			
	}
	
	function eur2skk(eur){
		
			var sum=''+eur;+'';
			eurValue=sum.replace(",", ".");	
			skkValue=Math.round(exRateEur*eurValue*10)/10;
			skkValue=''+skkValue+'';
			skkValue=skkValue.replace(".", ",");
			skkValue = FormatNumberBy3(skkValue, ",", ".")											
			return skkValue;			
	}
	
	function FormatNumberBy3(num, decpoint, sep) {
		// check for missing parameters and use defaults if so
		if (arguments.length == 2) {
			sep = ",";
		}
		if (arguments.length == 1) {
			sep = ",";
			decpoint = ".";
		}
		// need a string for operations
		num = num.toString();
		// separate the whole number and the fraction if possible
		a = num.split(decpoint);
		x = a[0]; // decimal
		y = a[1]; // fraction
		z = "";
		
		
		if (typeof(x) != "undefined") {
			// reverse the digits. regexp works from left to right.
			for (i=x.length-1;i>=0;i--)
			  z += x.charAt(i);
			// add seperators. but undo the trailing one, if there
			z = z.replace(/(\d{3})/g, "$1" + sep);
			if (z.slice(-sep.length) == sep)
			  z = z.slice(0, -sep.length);
			x = "";
			// reverse again to get back the number
			for (i=z.length-1;i>=0;i--)
			  x += z.charAt(i);
			// add the fraction back in, if it was there
			if (typeof(y) != "undefined" && y.length > 0)
			  x += decpoint + y;
		}
		return x;
	}
	
	return {
		
		init: function(){
					
			sumEl = $('#cfg_cena_cennikova_s_dph');				
			//sumEurEl = $('#cfg_cena_cennikova_s_dph_eur');				
			sumSkkEl = $('#cfg_cena_cennikova_s_dph_skk');				
								
			if(sumEl.get(0)==undefined) return;			
			sum = Number(sumEl.get(0).value);			
			var sel=$('div.conf-vybava input.acsrPrice');

			aoPriceEl = $('#cfg_cena_autoolymp_s_dph');
			
			
			//if(aoPriceEl.get(0) != undefined){}
			aoPriceEl.click(function(){
				$(this).removeClass('invalid');
			});
			
					
			sel.click(function(){				
				var el=$(this);
				//if(aoPriceEl.get(0) != undefined){}
				aoPriceEl.addClass('invalid');							
				calculate(el);				
			});
			/*
			jQuery.each(sel, function(key, value) {			 	
				if($(this).get(0).checked==true) {
					var el=$(this);					
					calculate(el);						
				}
			});*/	
		}
					
	}
}();
