var globalCurrentValidationObj;
function growl(header,msg){		
			$.jGrowl(msg, { header: header,position:'bottom-right' });
}
function growlLong(header,msg){		
	$.jGrowl(msg, { header: header,position:'bottom-right',life: 10000 });
}


function validate(parent){
	var inputs = $(parent).find('input:visible');
	var isAllValid = true;
	$.each(inputs, function(key, value) {
		var cssClass = $(value).attr('class');
		var classes = cssClass.split(" ");
		for(i = 0; i < classes.length; i++){
			var fName = classes[i].toString();			
			if(fName.indexOf("validate") !=-1){
				 var funcCall = fName+ "();";
				 	try{
				 		globalCurrentValidationObj = $(value);
				 		isAllValid = eval(funcCall) && isAllValid;
				 	}catch(error){
				 		growl("Error!!!",error);
				 	}
			} 
		}		
	});	
	inputs = $(parent).find('textarea');	
	$.each(inputs, function(key, value) {
		var cssClass = $(value).attr('class');
		var classes = cssClass.split(" ");
		for(i = 0; i < classes.length; i++){
			var fName = classes[i].toString();			
			if(fName.indexOf("validate") !=-1){
				 var funcCall = fName+ "();";
				 	try{
				 		globalCurrentValidationObj = $(value);
				 		isAllValid = eval(funcCall) && isAllValid;
				 	}catch(error){
				 		growl("Error!!!",error);
				 	}
			} 
		}		
	});
	return isAllValid;
	
}
function validateOnlyNumbers(){
	if(globalCurrentValidationObj.val().length<=0)
	{		
		globalCurrentValidationObj.addClass('error');
		return false;
	}
	else
	{
		var intVal = parseInt(globalCurrentValidationObj.val());
		if(!intVal){
			globalCurrentValidationObj.addClass('error');
			return false;
		}
	}
	globalCurrentValidationObj.removeClass('error');
	return true;
	
}
function validateNotEmpty(){
	if(globalCurrentValidationObj.val().length<=0)
	{		
		globalCurrentValidationObj.addClass('error');
		return false;
	}
	globalCurrentValidationObj.removeClass('error');
	return true;
}
function validatePassword(){
	var value = globalCurrentValidationObj.val();	
	
	if(value.length<6 || value.indexOf("*")>=0)
	{	
		globalCurrentValidationObj.addClass('error');
		return false;
	}
	globalCurrentValidationObj.removeClass('error');
	return true;
}
function validateEmailAddress()
{			
	var emailRegExp = new RegExp("^[a-z0-9_]{1}[a-z0-9\-_]*(\.[a-z0-9\-_]+)*@[a-z0-9]{1}[a-z0-9\-_]*(\.[a-z0-9\-_]+)*\.[a-z]{2,4}$");			
	var value = globalCurrentValidationObj.val().trim().toLowerCase();					
	if (value.match(emailRegExp)){
		globalCurrentValidationObj.removeClass('error');
		return true;	
	}
	globalCurrentValidationObj.addClass('error');
	return false;					
};

function updateGridTrsHeights(context)
{		
	var gridIndex = $(context).find("input.gridindex").val();	
	var centralTableTr,leftTableTr,rightTableTr;
	var gridTrs;
	var cDivHeigth = $(context).parents("div.gridcontainer").find("div.scrollabble-part").height();
		gridTrs = $(context).parents("div.gridcontainer"  ).find("div.scrollabble-part")
    		.find("table").find('tbody').find("tr");              	
    	$.each(gridTrs, function(key, value) {
    		if($(value).find("input.gridindex").val()==gridIndex){
    			centralTableTr = $(value);    			
    		}
    	});
    	/*if(centralTableTr){
    		updateLastGridRow(centralTableTr.parents('tbody'));
    	}*/
    	
    	gridTrs = $(context).parents("div.gridcontainer").find("div.left-part")
			.find("table").find('tbody').find("tr");    
    	$.each(gridTrs, function(key, value) {    		
    		if($(value).find("input.gridindex").val()==gridIndex){
    			leftTableTr = $(value);	            			
    		}
    	});   
    	gridTrs = $(context).parents("div.gridcontainer").find("div.actions-part")
			.find("table").find('tbody').find("tr");
    	$.each(gridTrs, function(key, value) {
    		if($(value).find("input.gridindex").val()==gridIndex){
    			rightTableTr = $(value);	            			
    		}
    	});
		if(leftTableTr){
			/*updateLastGridRow(leftTableTr.parents('tbody'));*/			
			leftTableTr.height(centralTableTr.height());
		}
		
		if(rightTableTr){
			
			/*updateLastGridRow(rightTableTr.parents('tbody'));		*/	
			var h = parseInt(centralTableTr.height());
			rightTableTr.height(h);
			
		}
	
		centralTableTr = $(context).parents("div.gridcontainer").find("div.scrollabble-part")
			.find("table").find("thead").find("tr");
		leftTableTr =$(context).parents("div.gridcontainer").find("div.left-part")
			.find("table").find("thead").find("tr");
		if(leftTableTr.length>0)
			leftTableTr.height(centralTableTr.height());
	
		
		rightTableTr = $(context).parents("div.gridcontainer").find("div.actions-part")
			.find("table").find("thead").find("tr");
		if(rightTableTr.length>0)
			rightTableTr.height(centralTableTr.height());		
}

