
var IE = (document.all) ? 1 : 0;
var hiddenFields = new Array();
var selectFields = document.getElementsByTagName("select");
var showFields = new Array();

function showHint( id ) {
	var _IFRAME = document.getElementById( componentId + id + '_IFRAME' );
	var _DIV = document.getElementById( componentId + id + '_HINT' );
	var _IMG = document.getElementById( id + '_IMG_HINT' + componentId );
	_DIV.style.display='';
	if(_IMG != null){
         var coords = getElementCoords( _IMG );
        _DIV.style.top = (coords.y + 5) + "px";
        _DIV.style.left = (coords.x + coords.w + 5) + "px";
        _IFRAME.style.top = (coords.y + 5) + "px";
        _IFRAME.style.left = (coords.x + coords.w + 5) + "px";
        _IFRAME.style.height = (_DIV.offsetHeight) + "px";
    }
    var coords2 = getElementCoords( _DIV );
	
	_IFRAME.style.display='';
}

function showHint2( id, imgHintElem ) {
	var _IFRAME = document.getElementById( componentId + id + '_IFRAME' );
	var _DIV = document.getElementById( componentId + id + '_HINT' );
	var _IMG = imgHintElem;
	_DIV.style.display='';
	if(_IMG != null){
         var coords = getElementCoords( _IMG );
        _DIV.style.top = (coords.y + 5) + "px";
        _DIV.style.left = (coords.x + coords.w + 5) + "px";
        _IFRAME.style.top = (coords.y + 5) + "px";
        _IFRAME.style.left = (coords.x + coords.w + 5) + "px";
        _IFRAME.style.height = (_DIV.offsetHeight) + "px";
    }
    var coords2 = getElementCoords( _DIV );
	
	_IFRAME.style.display='';
}

function hideHint( id ) {
    var _DIV = document.getElementById( componentId + id + '_HINT' );
    var _IFRAME = document.getElementById( componentId + id + '_IFRAME' );
    _DIV.style.display="none";
    _IFRAME.style.display="none";
} 
        
function showSelectFields(id) {
    var element = document.getElementById(componentId + id + '_ANSWER');
   if (IE && element) { 
   		if(element.tagName.toLowerCase() == 'select'){
			element.style.visibility = "visible";
    	}       
   }
}

function hideSelectFields(id) {
	var element = document.getElementById(componentId + id + '_ANSWER');
   if (IE && element) { 
   		if(element.tagName.toLowerCase() == 'select'){
			element.style.visibility = "hidden";
    	}            
        
   }
}

function getValueQuestion(questionId){
	var value = '';
	var counter = 0;
	var element = document.getElementById(componentId + questionId + '_ANSWER');
	if(!element){
		element = document.getElementById(componentId + questionId + '_ANSWER' +'_' + counter);
	}
	while(element){		
		if(element.tagName.toLowerCase() == 'input'){
			if(element.type && (element.type.toLowerCase() == 'radio' || element.type.toLowerCase() == 'checkbox')){
				if(element.checked){
					var val = element.value;
					if(val && val != null && val != ''){
							value += val + ','
					}
				}
			}else if (element.type && (element.type.toLowerCase() == 'text' || element.type.toLowerCase() == 'hidden')){
				var val = element.value;
				if(val &&  val != null && val != ''){						
					value += val + ','
				}
			}
		}else if(element.tagName.toLowerCase() == 'select'){
			for(var j = 0; j < element.options.length; j++ ){
				if(element.options[j]){
					if(element.options[j].selected){
						var val = element.options[j].value;
						if(val && val != null && val != ''){
							value += val + ','
						}
					}
				}
			}
		}else if(element.tagName.toLowerCase() == 'textarea'){
			var val = element.value;
			if(val &&  val != null && val != ''){						
				value += val + ','
			}
		}
		counter++;							
		element = document.getElementById(componentId + questionId + '_ANSWER' +'_' + counter);
		
	}										
	if(value != ''){
		value = value.substring(0, value.length-1);
	}
	return value;
}


function containsInArray(array, param){
	//alert("array:" + array + " param:" + param);
	if(array){
		for(var i=0; i<array.length; i++ ){
			if( array[i] == param ){
				return true;
			}
		}
	}
	return false;
}

/**
 * Serializowanie obiektu do jsona
 * @param obiekt
 * @return null lub zserializowana postac obiektu
 */
function store (obj){
    var ret = '';
    if(obj instanceof Object ){
        try { 
        	for( i in invisible ){
        		if( invisible[i] ){
        			ret += i;
        			ret += ',';
        		}
        	}
        	if( ret.length > 1 ){
        		ret = ret.substring( 0, ret.length-1 );
        	}
        } catch (e){
        	//alert(e);
        }
    }
    return ret;
}
 
function validate_scripts( ret, questionFormName ){
	return ret;
}

/*
 * condElemId - identyfikator input'a zgodny z konewncja modulu
 * elemsIds - tablica identyfikatorow elementow formularza (fromName)
 * cond - true, warunek ma byc spelniony, false warunek ma by niespelniony
 * @future ( value - wartosc jaka powinno przyjmowac pole, bo teraz jest brzydko po indeksach :( )
 */
function showElementsCond( condElemId, elemsIds, cond ){
	var condElem = document.getElementById( componentId + '' + condElemId );
	var index = -1;
	if( !condElem ){
		//moze to select?
		index = condElemId.lastIndexOf('_');
		if( index > -1 ){
			var option = condElemId.substring( index+1, condElemId.length );
			condElemId = condElemId.substring( 0, index );
			condElem = document.getElementById( componentId + '' + condElemId );
			
			if( cond && condElem != null && condElem.selectedIndex == option ){
				showElements( elemsIds );
				var ind = condElemId.indexOf('_ANSWER');
				showFields[condElemId.substring(0,ind)] = elemsIds;
			}else if( !cond && condElem != null && condElem.selectedIndex != option){
				showElements( elemsIds );
				var ind = condElemId.indexOf('_ANSWER');
				showFields[condElemId.substring(0,ind)] = elemsIds;
			}
		}
	}else{
		if( condElem ){
  	if( cond && condElem.checked ){
  		showElements( elemsIds );
  		var ind = condElemId.indexOf('_ANSWER');
  		showFields[condElemId.substring(0,ind)] = elemsIds;
  	}else if( !cond && !condElem.checked ){
  		showElements( elemsIds );
  		var ind = condElemId.indexOf('_ANSWER');
  		showFields[condElemId.substring(0,ind)] = elemsIds;
  	}
 	}
	}
	return true;
}

function showElements( elemsIds ){
	infoShownElements( elemsIds );
	for(var i = 0; i<elemsIds.length; i++) {
		showElement( elemsIds[i] );
	}
}

/**
 * info o pokazanych dla state
 * @param {Object} elemsIds
 */
function infoShownElements( elemsIds ) {
	var valueElem = $( componentId + 'JS_POLLING_MODEL' );
	if(valueElem!=null) {
		var tempString = valueElem.value;
		valueElem.value = '';
		var split = tempString.split(',');
		for(var i = 0; i<elemsIds.length; i++) {
			for(var j=0; j<split.length; j++) {
				if(elemsIds[i]==split[j]) {
					split[j] = null;
					//break;
				}
			}
		}
		for(var i = 0; i<split.length; i++ ) {
			if(split[i]!=null) {
				if(valueElem.value!='' && valueElem.value.lastIndexOf(',')!=(valueElem.value.length-1)) {
					valueElem.value += ',';
				}
				valueElem.value += split[i];
			}
		}
	}
}

function showElement( elemId ) {
	var element = document.getElementById( componentId + elemId );
	element.style.display = '';
	invisible[elemId]=null;
//	showSubElements(elemId);
	if(initScriptsEvaluation!=null) {
    	for ( var i = 0; i < initScriptsEvaluation.length; i++ ) {
        	if( initScriptsEvaluation[i].questionId == elemId){
        		setTimeout( initScriptsEvaluation[i].script, 50 );
        		break;
        	}		            	
        }
    }
	reloadSelectsInParent(componentId + elemId);
}

function isElementVisible( elemId ){
	var parent = pollingModel[elemId];
	if( parent ){
		return invisible[elemId] != 1 && invisible[parent] != 1 ;
	}
	return invisible[elemId] != 1;
}

/*
* condElemId - identyfikator input'a zgodny z konewncja modulu
* elemsIds - tablica identyfikatorow elementow formularza (fromName)
* cond - true, warunek ma byc spelniony, false warunek ma by niespelniony
* @future ( value - wartosc jaka powinno przyjmowac pole, bo teraz jest brzydko po indeksach :( )
*/
function hideElementsCond( condElemId, elemsIds, cond ){
   	var condElem = document.getElementById( componentId + '' + condElemId );
   	var index = -1;
   	if( !condElem ){
   		//moze to select?
   		index = condElemId.lastIndexOf('_');
   		if( index > -1 ){
   			var option = condElemId.substring( index+1, condElemId.length );
   			condElemId = condElemId.substring( 0, index );
   			condElem = document.getElementById( componentId + '' + condElemId );
   			if( cond && condElem != null && condElem.selectedIndex == option ){
   				hideElements( elemsIds );
   				var sub = condElemId.substring(0,condElemId.indexOf('_ANSWER'));
   		  		showFields[sub] = deleteFromShow(sub, elemsIds);
   			}else if( !cond && condElem != null && condElem.selectedIndex != option){
   				hideElements( elemsIds );
   				var sub = condElemId.substring(0,condElemId.indexOf('_ANSWER'));
   		  		showFields[sub] = deleteFromShow(sub, elemsIds);
   			}
   		}
   	}else{
   		if( condElem ){
     	if( cond && condElem.checked ){
     		hideElements( elemsIds );
     		var sub = condElemId.substring(0,condElemId.indexOf('_ANSWER'));
		  	showFields[sub] = deleteFromShow(sub, elemsIds);
     	}else if( !cond && !condElem.checked ){
     		hideElements( elemsIds );
     		var sub = condElemId.substring(0,condElemId.indexOf('_ANSWER'));
		  	showFields[sub] = deleteFromShow(sub, elemsIds);
     	}
    	}
   	}
   	return true;
}
function deleteFromShow(sub, elemsIds){
	
	var flag = true;
	var list = new Array();
	if(showFields[sub] && showFields[sub]!=''){
		for(var i = 0;i < showFields[sub].length;i++){
			for(var j = 0;j<elemsIds.length;j++){
				if(showFields[sub][i] == elemsIds[j]){
					flag = false;
					break;
				}
			}
			if(flag == true){
				list.push(showFields[sub][i]);
				
			}else{
				flag = true;
			}
			
		}
	}
		return list;
}

function resetElementsCond( condElemId ){
   	var condElem = document.getElementById( componentId + '' + condElemId + '_ANSWER');

   	if( !condElem ){
   	//moze to radio?
   		condElem = document.getElementById( componentId + '' + condElemId + '_ANSWER_0');
   		
   		for(var i = 1;condElem ;i++){
   			if(condElem.checked==true){
   	   			condElem.checked=false;
   	   		}
   			condElem = document.getElementById( componentId + '' + condElemId + '_ANSWER_' + i);
   		}
   		
   	}else{
   		if(condElem.type.toLowerCase()=='select' || condElem.type.toLowerCase()=='select-one'){
   			condElem.selectedIndex = '0';
   			
   		}else if(condElem.type.toLowerCase()=='checkbox'){
   			if(condElem.checked==true){
   	   			condElem.checked=false;
   	   		}	
   		}   		
   	}
   			
   	return true;
}
function hideSubElements(condElemId){
	if(showFields[condElemId] && showFields[condElemId]!=''){
//		resetElementsCond( condElemId )
   		hideElements( showFields[condElemId] );
//   		showFields[condElemId] = '';
   	}
}

function showSubElements(condElemId){
	if(showFields[condElemId] && showFields[condElemId]!=''){
		showElements( showFields[condElemId] );
   	}
}
   
function hideElements( elemsIds ){
	infoHiddenElements( elemsIds );
	for(var i = 0; i<elemsIds.length; i++) {
		hideElement( elemsIds[i] );
	}
}

function hideElement( elemId ) {
	document.getElementById( componentId + elemId ).style.display = 'none';
	invisible[elemId]=1;
	hideSubElements(elemId);
}

/**
 * info o ukrytych dla state
 * @param {Object} elemsIds
 */
function infoHiddenElements( elemsIds ) {
	var valueElem = $( componentId + 'JS_POLLING_MODEL' );
	if(valueElem!=null) {
		var tempString = valueElem.value;
		var split = tempString.split(',');
		for(var i = 0; i<elemsIds.length; i++) {
			var isFound = false;
			for(var j=0; j<split.length; j++) {
				if(elemsIds[i]==split[j]) {
					isFound = true
				}
			}
			if(!isFound) {
				if(valueElem.value!='' && valueElem.value.lastIndexOf(',')!=(valueElem.value.length-1)) {
					valueElem.value += ',';
				}
				valueElem.value += elemsIds[i]; 
			}
		}
	}
}
   
function setPollingJSModel( inputId ) {
    var input = document.getElementById( inputId );
    if (input != null) {
        input.value = store( invisible );
    }
}

function selectValuesToBeCleared(dictionary, select) {
	if(dictionary.length==select.options.length) {
		for(var i = 0; i<dictionary.length; i++) {
			var entry = dictionary[i];
			var option = select.options[i];
			if(entry.value != option.value) {
				return true;
			}
		}
	} else {
		return true;
	}
	return false;
}

function more_click(componentId, formName) {
	var elemVarName = componentId + '' + formName;
    var selectedIndex = document.getElementById(elemVarName).selectedIndex;
    var size = document.getElementById(elemVarName).length;
    if(selectedIndex < size - 1) {
    	selectedIndex += 1;
    	if( typeof(AMG)!='undefined' && AMG ){
        	AMG.CustomForms.Controls.selectOption(elemVarName, selectedIndex, false);
        } else {
        	document.getElementById(elemVarName).selectedIndex = selectedIndex;
	    }
    }
}

function less_click(componentId, formName) {
    var elemVarName = componentId + '' + formName;
    var selectedIndex = document.getElementById(elemVarName).selectedIndex;
    if(selectedIndex > 0) {
        selectedIndex -= 1;
        if( typeof(AMG)!='undefined' && AMG ){
        	AMG.CustomForms.Controls.selectOption(elemVarName, selectedIndex, false);
        } else {
	        document.getElementById(elemVarName).selectedIndex = selectedIndex;
	    }
    }
}

function setFormsPostal (value, formName){
    var count = 0;
    if(value && value.length == 6){
        for(var i=0; i<6; i++){
            if(i != 2){
                var field = document.getElementById(formName + 'postCode' + count);
                field.value = value.charAt(i);
                count ++;
            }
        }
    }
}

function getFormsPostalCode(k, e, formName, componentId){
    var keyID = (window.event) ? event.keyCode : e.keyCode;
    var shiftKey = (window.event) ? event.shiftKey : e.shiftKey;
    var postalCode = '';
    if(((keyID >=48 && keyID <= 57) || (keyID >=96 && keyID <= 105)) && !shiftKey){
    //cyfry
        var j = k<4 ? k+1 : k;
        document.getElementById(formName + 'postCode' + j).focus();
        for(var i=0; i<5; i++){
            postalCode += document.getElementById(formName + 'postCode' + i).value;
            if(i == 1){
               postalCode += '-';
            } 
        }
        document.getElementById(componentId + formName + '_ANSWER').value = postalCode;
        return;
    } else {
    	//inne przyciski
        for(var i=0; i<5; i++){
            postalCode += document.getElementById(formName + 'postCode' + i).value;
            if(i == 1){
               postalCode += '-';
            } 
        }
        document.getElementById(componentId + formName + '_ANSWER').value = postalCode;
    }
    var field = document.getElementById(formName + 'postCode' + k); 
    if(!field.value.match(/\d{1}/)){
        field.value = '';
    }
}

function runPostalCodeAction(componentId, formName, dictionary) {
	var actCode = document.getElementById(componentId + formName + '_ANSWER').value;
	if(actCode && actCode.match(/^\d{2}[-]\d{3}/)) {
		dictionary.executeUrl();
		for(i = 0; i<dictionary.reletedName.length; i++) {
			if(dictionary.reletedName[i]!=formName) {
				document.getElementById(componentId + dictionary.reletedName[i] + "_ANSWER").value = '';
				document.getElementById(dictionary.reletedName[i] + "Process").style.visibility = "visible";
			}
		}
	} else {
		for(i = 0; i<dictionary.reletedName.length; i++) {
			if(dictionary.reletedName[i]!=formName) {
				document.getElementById(componentId + dictionary.reletedName[i] + "_ANSWER").value = '';
			}
		}
	}
}

function sliders_onMouseOver(id){
	var _DIV = document.getElementById(id);
	if(_DIV && _DIV != null){
		_DIV.className = "check";
	}	
}

function sliders_onMouseOut(id){
	var _DIV = document.getElementById(id);
	if(_DIV && _DIV != null){
		_DIV.className = "uncheck";
	}
}

function sliders_onClick(value, formName, zoomSliderObj, sliderDictArr){
	zoomSliderObj.setValue(value, 0);
	var val = formName + '_' + sliderDictArr[value-1].value;
    for(var index=0, len=sliderDictArr.length; index < len; ++index) {
    	document.getElementById(formName + '_' + sliderDictArr[index].value).className="percent";
    }
	document.getElementById(val).className="percentHidden";
	document.getElementById(componentId + formName + '_ANSWER').value = sliderDictArr[value-1].value;
	document.getElementById('currentPercent_' + formName).innerHTML = sliderDictArr[value-1].label;
}

function getStubArrayByIndexes(array) {
    var onlyIndexes = new Array();
    for(var index=0, len=array.length; index < len; ++index) {
        onlyIndexes[index] = index + 1;
    }
    return onlyIndexes;
}

function showSliderValuesForQuestion(imgSize, tdSize, sliderArray, formName){
	var isMSIE = navigator.userAgent.indexOf('MSIE 6.0');
    var slideDiv = $('zoom_slider_' + formName);
    if(slideDiv){
		slideDiv.style.width = sliderArray.length * imgSize + 'px';
        var padd = (imgSize - tdSize) / 2;
   		var html = '<table width="100%" cellpadding="0" cellspacing="0">';
       	for(var i = 0; i< sliderArray.length; i++){
       		var td_id = formName + '_' + sliderArray[i].value; 
       		var div_id = formName + '_DIV_' + sliderArray[i].value;
       		html += '<td class="percent" style="padding-right:'+ padd +'px; padding-left:'+ padd +'px;" width="' + tdSize +' px" height="24px" id="' + td_id + '">';
       		html += '<div class="uncheck "id="' + div_id + '" onmouseover="sliders_onMouseOver(\'' +div_id + '\');" onmouseout="sliders_onMouseOut(\'' + div_id + '\');" onClick="sliders_onClick(' +(i+1) +', \'' + formName + '\', zoomSliderArray[\'' + formName + '\'], sliderDictArray[\'' + formName + '\']);" >'; 
       		html += '' + sliderArray[i].label + '</div></td>';              		
       	}
       	html += '</tr>';
        html += '</table>';
        html += '<div id="handle_' + formName + '" class="handle">';
        if(isMSIE != -1){
        	html += '<div class="handleIE6">';
           	html += '<img id="IMAGE_' + formName + '" class="alphaIE6" src="' + PORTAL_SKIN + '/img/slider2.png" alt=""  width="' + imgSize + 'px" height="32px">';
            html += '</div>';
            html += '<CENTER class="currentPercentIE6" ><label style="text-align: center;" id="currentPercent_' + formName + '" class="percent"></label></CENTER>';
        }else{
         	html += '<img id="IMAGE_' + formName + '" src="' + PORTAL_SKIN + '/img/slider2.png" alt="" width="' + imgSize + 'px" height="32px">';
            html += '<CENTER class="currentPercent" style="width:100%;"><label style="width:100%; text-align: center;" id="currentPercent_' + formName + '" ></label></CENTER>';
        }
        html += '</div>';

       	slideDiv.innerHTML = html;	     
	}
}

var showDictionaryPlusMinusElem = function( dictionary, values, formName, lastAnswer, rels){
 	var row = document.getElementById( componentId + '' + formName + 'Dict' );
	if(row ){
		var select = row.getElementsByTagName("select")[0];
		var tmpSelect = select.cloneNode(false);
		for(var i = 0; i<dictionary.length; i++){
			var entry = dictionary[i];
			var option = document.createElement('option');
			option.value = entry.value;
			if( values ){
				if(containsInArray(values, entry.value)){
					option.selected=true;
				}
			}
			option.innerHTML = entry.label;
			tmpSelect.appendChild(option);
		}
		select.parentNode.replaceChild( tmpSelect, select );
	}
}

var showDictionarySliderElem = function( dictionary, values, formName, lastAnswer, rels){      			
	sliderDictArray[formName] = dictionary;
	for(var i = 0; i<dictionary.length; i++){     					
		if(dictionary[i].value == lastAnswer){
			initialSelectedIndexArray[formName] = i;
			break;
		}
	}
	showSliderValuesForQuestion(imgSize, tdSize, sliderDictArray[formName], formName);
	document.getElementById(componentId + formName + "_ANSWER").value = sliderDictArray[formName][initialSelectedIndexArray[formName]].value;
	document.getElementById("currentPercent_" + formName).innerHTML = sliderDictArray[formName][initialSelectedIndexArray[formName]].label;
	document.getElementById(formName + "_" + document.getElementById(componentId + formName + "_ANSWER").value).className="percentHidden";
}

var showDictionarySelectElem = function( dictionary, values, formName, lastAnswer, rels){
	var row = document.getElementById( componentId + '' + formName + 'Dict' );
	if(row){
		var select = row.getElementsByTagName("select")[0];
		var tmpSelect = select.cloneNode(false);
		var sToBeChanged = selectValuesToBeCleared(dictionary, select);
		if(sToBeChanged) {
			var hasPrevOptions = false;
			for(var i = 0; i<dictionary.length; i++){
				var entry = dictionary[i];
				var option = document.createElement('option');
				option.value = entry.value;
				if( values ){
					if(containsInArray(values, entry.value)){
						option.selected=true;
						hasPrevOptions = true;
					}
				}
				option.innerHTML = entry.label;
				tmpSelect.appendChild(option);
			}
			if(!hasPrevOptions) {
	        	if(tmpSelect.options.length==2 && tmpSelect.options[0].value=="") {
	        		tmpSelect.options[1].selected=true;
	        	} else {
	        		tmpSelect.options[0].selected=true;
	        	}
        	}
			select.parentNode.replaceChild( tmpSelect, select );
			
			var selToReplace = [];
			selToReplace[0] = tmpSelect;
			if(PORTAL_SKIN && PORTAL_SKIN!='/local_templates/skins/generalidirect') {
				AMG.CustomForms.Controls.removeSelectDirectly(tmpSelect ,tmpSelect.id);
				AMG.CustomForms.replaceSelects(selToReplace ,{});
			}
		}
	}
	if(document.getElementById(formName + 'Process') && document.getElementById(formName + 'Process')!=null) {
		document.getElementById(formName + 'Process').style.visibility = 'hidden';
	}
}

var showDictionaryPostElem = function( dictionary, values, formName, lastAnswer, rels){
	var dictionaryDefaultValue = 'nieprawid\u0142owy kod pocztowy';
	for(i = 0; i<rels.length; i++) {
		if(rels[i]!=formName) {
			if(dictionary[0].value && dictionary[0].value!=null && dictionary[0].value!='null') {
				document.getElementById(componentId + rels[i] + "_ANSWER").value = dictionary[0].value;
			} else {
				document.getElementById(componentId + rels[i] + "_ANSWER").value = dictionaryDefaultValue;
			}
			document.getElementById(rels[i] + "Process").style.visibility = "hidden";
		}
	}
}

function setFormsNip (value, formName){
    if(value && value.length == 10){
    	var v0='', v1='';
        for(var i=0; i<3; i++){
            v0 += value.charAt(i);
            v1 += value.charAt(i+3);
        }
        document.getElementById(formName + 'nipField' + 0).value = v0;
        document.getElementById(formName + 'nipField' + 1).value = v1;
        v0='';
        v1='';
        for(var i=0; i<2; i++){
            v0 += value.charAt(i+6);
            v1 += value.charAt(i+8);
        }
        document.getElementById(formName + 'nipField' + 2).value = v0;
        document.getElementById(formName + 'nipField' + 3).value = v1;
    }
}

function getFormsNip(k, e, formName, componentId){
	var keyID = (window.event) ? event.keyCode : e.keyCode;
    var shiftKey = (window.event) ? event.shiftKey : e.shiftKey;
    var nipNumber = '';
    
    if ( ((keyID >=48 && keyID <= 57) || (keyID >=96 && keyID <= 105)) && !shiftKey ){
    	var nf = document.getElementById(formName + 'nipField' + 0);
    	nipNumber += nf.value;
    	if( (/\d{3}/.test(nf.value)) && k==0){
    		document.getElementById(formName + 'nipField' + 1).focus();
    	}
    	
    	nf = document.getElementById(formName + 'nipField' + 1)
    	nipNumber += nf.value;
    	if(/\d{3}/.test(nf.value) && k==1){
    		document.getElementById(formName + 'nipField' + 2).focus();
    	}
    	
    	nf=document.getElementById(formName + 'nipField' + 2)
    	nipNumber += nf.value;
    	if(/\d{2}/.test(nf.value) && k==2){
    		document.getElementById(formName + 'nipField' + 3).focus();
    	}
    	
    	nf = document.getElementById(formName + 'nipField' + 3)
    	nipNumber += nf.value;
    }

	document.getElementById(componentId + formName + '_ANSWER').value = nipNumber;
}

function runNipAction(componentId, formName, dictionary) {}



