/*

 

    -------------------------------------------------------------------------  

*/



function relationItem(iname,ival,code,required,validation,lname,ltitle){

	this.name=iname;

	this.value=ival;

	this.code=code;

	this.required=required;

	this.validation=validation;

	this.lname=lname;

	this.ltitle=ltitle;

}



function relManager(){



this.inputrelations=new Array();



this.addRelation=function (rel,code,required,validation,ln,lt){

	var s=rel.split(':', 2);



	var item=new relationItem(s[0],s[1],code,required,validation,ln,lt);

	this.inputrelations.push(item);

}



this.initInputs=function (){

	

	

	for(i=0;i<this.inputrelations.length;i++){

		this.swapInput(this.inputrelations[i].name);

	}

}



this.swapInput=function(iname){

	var wasshown=new Array();

	

	for(var i=0;i<this.inputrelations.length;i++){

	

		if(this.inputrelations[i].name==iname){

			

			var inp=document.getElementById('frmel_'+iname);

			var lname=this.inputrelations[i].lname;

			

			var isarray=0;

			var arr;

			

			if(this.inputrelations[i].value.indexOf(';')>-1){

				arr=this.inputrelations[i].value.split(';');

				isarray=1;

			}

			

			var found=0;

			if(isarray==0 && inp.value==this.inputrelations[i].value || isarray==1 && in_array(inp.value,arr)){

				

				document.getElementById('forminputdiv_'+lname+'_body').innerHTML=this.inputrelations[i].code;

				document.getElementById('forminputdiv_'+lname+'_title').style.display='block';

				var addedel=document.getElementById('frmel_'+lname);

				manageRelations(addedel);

				found=1;

				wasshown.push(lname);

				if(this.inputrelations[i].required=='y' )

					frmvalidator.addValidation(this.inputrelations[i].lname,'req',this.inputrelations[i].ltitle+': Required field');

				if(this.inputrelations[i].validation!='')

					frmvalidator.addValidation(this.inputrelations[i].lname,this.inputrelations[i].validation,this.inputrelations[i].ltitle+': is not correct');

				//break;

			}

			if(found==0 && !in_array(lname,wasshown)){

			

				//hide not active

				document.getElementById('forminputdiv_'+lname+'_body').innerHTML='';

				document.getElementById('forminputdiv_'+lname+'_title').style.display='none';

				

				//probably try to remove validation if it was added

				

			}

		}

	}

}



}



var frmrelmanager  = new relManager();



function manageRelations(obj){

	frmrelmanager.swapInput(obj.name);

}



function in_array(what, where) {

	var a=false;

	for(var i=0; i<where.length; i++) {

		if(what == where[i]) {

			a=true;

			break;

		}

	}

	return a;

}
