function noSpaces(str) {
	return str.replace(/\s*/g, '')
}
function singleSpaces(str) {
	str = str.replace(/\s+/g, ' ')
	str = str.replace(/^\s*/, '')
	str = str.replace(/\s*$/, '')
	return str
}

function validateDateValue(value){
	var dateArray = value.split(/\//)
	if(dateArray.length == 3){
		var theDate=new Date(dateArray[2],dateArray[0] - 1,dateArray[1])
		if(dateArray[2].length == 4 && (dateArray[1]==theDate.getDate()) && (dateArray[0] - 1 == theDate.getMonth()) && (dateArray[2]==theDate.getFullYear())) {
			var myDate = ''
			if(theDate.getMonth() + 1 < 10 ){
				myDate += '0' + (theDate.getMonth() + 1)
			}else{
				myDate += (theDate.getMonth() + 1)
			}
			myDate += '/'
			if(theDate.getDate() < 10){
				myDate += '0' + theDate.getDate() 
			}else{
				myDate += theDate.getDate() 
			}
			myDate += '/' + theDate.getFullYear()
			var today=new Date();
			var InputDate=new Date(dateArray[2]+"/"+dateArray[0]+"/"+dateArray[1]);
			var one_day=1000*60*60*24;
			var result = Math.ceil((InputDate.getTime()-today.getTime())/(one_day));
 			if(result > 0){ return false; }
			return myDate
		}
	}
	return false
}
function validateDate(field){
	var dateArray = field.value.split(/\//)
	if(dateArray.length == 3){
		var theDate=new Date(dateArray[2],dateArray[0] - 1,dateArray[1])
		if(dateArray[2].length == 4 && (dateArray[1]==theDate.getDate()) && (dateArray[0] - 1 == theDate.getMonth()) && (dateArray[2]==theDate.getFullYear())) {
			var myDate = ''
			if(theDate.getMonth() + 1 < 10 ){
				myDate += '0' + (theDate.getMonth() + 1)
			}else{
				myDate += (theDate.getMonth() + 1)
			}
			myDate += '/'
			if(theDate.getDate() < 10){
				myDate += '0' + theDate.getDate() 
			}else{
				myDate += theDate.getDate() 
			}
			myDate += '/' + theDate.getFullYear()
				return myDate
		}
	}
	return false
}
function validateFutureDate(field){
	var dateArray = field.value.split(/\//)
	if(dateArray.length == 3){
		var theDate=new Date(dateArray[2],dateArray[0] - 1,dateArray[1])
		if(dateArray[2].length == 4 && (dateArray[1]==theDate.getDate()) && (dateArray[0] - 1 == theDate.getMonth()) && (dateArray[2]==theDate.getFullYear())) {
			var myDate = ''
			if(theDate.getMonth() + 1 < 10 ){
				myDate += '0' + (theDate.getMonth() + 1)
			}else{
				myDate += (theDate.getMonth() + 1)
			}
			myDate += '/'
			if(theDate.getDate() < 10){
				myDate += '0' + theDate.getDate() 
			}else{
				myDate += theDate.getDate() 
			}
			myDate += '/' + theDate.getFullYear()
			var today=new Date();
			var InputDate=new Date(dateArray[2]+"/"+dateArray[0]+"/"+dateArray[1]);
			var one_day=1000*60*60*24;
			var result = Math.ceil((InputDate.getTime()-today.getTime())/(one_day));
 			if(result <= 0){ return false; }
				return myDate
		}
	}
	return false
}
function checkPositiveInt(number){
	return /^[0-9]+?$/.test(number) && number > 0
}

function checkPositiveIntAllowZero(number){
	return /^[0-9]+?$/.test(number)
}

function checkPositiveFloat(number){
	return /^[0-9]+(\.[0-9]{1,2})?$/.test(number) && number > 0
}
function checkPositiveFloatWhole(number){
	return /^[0-9]+(\.[0-9]{1,2})?$/.test(number)
}
function checkNumber(number){
	return /^[-]?[0-9]+(\.[0-9]{1,2})?$/.test(number)
}
function isValidEmail(email){
	return /^^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/.test(email)
}

function convertToDollar(val) {
	if(val == '0.00' || val == '0') return '0.00'
	var str,pos,rnd=0;
	if (val < .995) rnd = 1; 
	str = escape (val*1.0 + 0.005001 + rnd); 
	pos = str.indexOf (".");
	if (pos > 0) str = str.substring (rnd, pos + 3);
	return str;
}

function checkAndFormatCurrencyasPositive(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(!checkPositiveFloatWhole(num)){
		return false;
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function compareDates(date1,dateformat1,date2,dateformat2)
{
	var fromArray = date1.split(/\//);
	var toArray   = date2.split(/\//);

	var fromDate = new Date(fromArray[2]+"/"+fromArray[0]+"/"+fromArray[1]);
	var toDate   = new Date(toArray[2]+"/"+toArray[0]+"/"+toArray[1]);

	if(fromDate.getTime() > toDate.getTime()){
		return 1;
	}else{
		return 0;
	}
} 

function delConfirm(confirmMess) {
	var answer = confirm(confirmMess)
	if (answer){
		return true;
	}
	else{
		return false;
	}
}

// Following functions are added for VMW-3295 where tree collpse expand function were expected. 

function getItem(id) {
	var itm = false;
	if(document.getElementById(id))
		itm = document.getElementById(id);
	else if(document.all)
			itm = document.all[id];
	else if(document.layers)
			itm = document.layers[id];
	return itm;
}

function toggleAll(dowhat) {
	var plusimg = 'https://www.vimo.com/images/plus_9x9.gif';
	var minusimg = 'https://www.vimo.com/images/minus_9x9.gif';
	var tags = document.getElementsByTagName('tbody');
	var btn = document.getElementById('toggleAll');
	tagimg = 'imgTbody';
	if(!tags)
		return false;
	
	for(var i = 0; i < tags.length; i++) {
		imagevar = tagimg+i;
		itm = getItem(imagevar);
		
		if(itm){
			imageobj = document.getElementById(imagevar);
			if(imageobj.src == plusimg)
				imageobj.src = minusimg;
			else
				imageobj.src = plusimg;	
		}	
		if(tags[i].className == 'collapse_obj')	{
			if(btn.value == 'Collapse All'){
				tags[i].style.display = 'none';
			}else{
				tags[i].style.display = '';
			}
		}
	
	}
	if(btn.value == 'Collapse All'){
		btn.value = 'Expand All';
	}else{
		btn.value = 'Collapse All';
	}
	return false;
}

function toggleImage(id){
	var plusimg = 'https://www.vimo.com/images/plus_9x9.gif';
	var minusimg = 'https://www.vimo.com/images/minus_9x9.gif';
	imageobj = document.getElementById(id);
	if(imageobj.src == plusimg)
		imageobj.src = minusimg;
	else
		imageobj.src = plusimg;	
	return false;
}

function toggleItem(id){
	var plusimg = 'https://www.vimo.com/images/plus_9x9.gif';
	var minusimg = 'https://www.vimo.com/images/minus_9x9.gif';
	
	itm = getItem(id);
	
	if(!itm)
	return false;

	if(itm.style.display == 'none'){
	itm.style.display = '';
	imageobj = document.getElementById('img'+id);
	if(imageobj.src == plusimg)
			imageobj.src = minusimg;
		else
			imageobj.src = plusimg;	
	}else{
		itm.style.display = 'none';
		imageobj = document.getElementById('img'+id);
		if(imageobj.src == plusimg)
				imageobj.src = minusimg;
			else
				imageobj.src = plusimg;	
	}
	return false;
}