function(condition,Conditional,Template){
	this.leftSide = Noodles.Utilities.parseType(Template,condition[2]);
	Conditional.needs = Noodles.Utilities.mergeObjectWith(Conditional.needs,this.leftSide.needs);
	this.leftNegate = condition[1].length > 0;
	this.super = false;
	if(typeof condition[3] !== "undefined" && condition[5].length > 0){
		switch(condition[3]){
			case Template.language.other('contains'):
				this.expression = 'contains';
				break;
			case Template.language.other('startswith'):
				this.expression = 'startswith';
				break;
			case Template.language.other('endswith'):
				this.expression = 'endswith';
				break;
			case Template.language.other('matches'):
				this.expression = 'matches';
			default:
				this.expression = condition[3].toLowerCase();
		}
		this.rightSide = Noodles.Utilities.parseType(Template,condition[5]);
		this.rightNegate = condition[4].length > 0
		Conditional.needs = Noodles.Utilities.mergeObjectWith(Conditional.needs,this.rightSide.needs);
	}
	else{
		this.expression = false;
	}
}
function(condition,Conditional,Template){
	this.leftSide = Noodles.Utilities.parseType(Template,condition[2]);
	Conditional.needs = Noodles.Utilities.mergeObjectWith(Conditional.needs,this.leftSide.needs);
	this.leftNegate = condition[1].length > 0;
	this.super = false;
	if(typeof condition[3] !== "undefined" && condition[5].length > 0){
		switch(condition[3]){
			case Template.language.other('contains'):
				this.expression = 'contains';
				break;
			case Template.language.other('startswith'):
				this.expression = 'startswith';
				break;
			case Template.language.other('endswith'):
				this.expression = 'endswith';
				break;
			case Template.language.other('matches'):
				this.expression = 'matches';
			default:
				this.expression = condition[3].toLowerCase();
		}
		this.rightSide = Noodles.Utilities.parseType(Template,condition[5]);
		this.rightNegate = condition[4].length > 0
		Conditional.needs = Noodles.Utilities.mergeObjectWith(Conditional.needs,this.rightSide.needs);
	}
	else{
		this.expression = false;
	}
}
function ( condition , Conditional , Template ) { this . leftSide = Noodles . Utilities . parseType ( Template , condition [ 2 ] ) ; Conditional . needs = Noodles . Utilities . mergeObjectWith ( Conditional . needs , this . leftSide . needs ) ; this . leftNegate = condition [ 1 ] . length > 0 ; this . super = false ; if ( typeof condition [ 3 ] !== "undefined" && condition [ 5 ] . length > 0 ) { switch ( condition [ 3 ] ) { case Template . language . other ( 'contains' ) : this . expression = 'contains' ; break ; case Template . language . other ( 'startswith' ) : this . expression = 'startswith' ; break ; case Template . language . other ( 'endswith' ) : this . expression = 'endswith' ; break ; case Template . language . other ( 'matches' ) : this . expression = 'matches' ; default : this . expression = condition [ 3 ] . toLowerCase ( ) ; } this . rightSide = Noodles . Utilities . parseType ( Template , condition [ 5 ] ) ; this . rightNegate = condition [ 4 ] . length > 0 Conditional . needs = Noodles . Utilities . mergeObjectWith ( Conditional . needs , this . rightSide . needs ) ; } else { this . expression = false ; } }
/*--module--
name: Condition
description: Condition
@param {array}
@param {Conditional}
@param {Noodles.Template}
/ * -- module -- name : Condition description : Condition