//Check that mandatory fields have information in them

function checkMandatoryFields(tvalue)
{
    alert(tvalue);
    if (tvalue)
    {
        alert('Hi');
        return true;
    }
    else
    {
        return false;
     }
}
//Check that the passwords match
function checkPasswordsMatch(pass1,pass2){
	if(pass1.value == pass2.value){
		return true;
	}else{
		alert("Your passwords are different. please try again");
		return false;
	}
}

// Change the color of text 
function changeColor(item,color){
	item.style.color = color
}

//check submissions do not exceed the maximum word allowance
function checkWordAllowance(form,items,itemtitles,nos){
	for(m=0;m<items.length;m++){		
		//alert(items[m] + "length:" + form.elements[items[m]].value.length)
		if(form.elements[items[m]].value.length > nos[m]){
			alert("The " + itemtitles[m] + " field exceeds the maximum number of characters allowed. \n please re-type and keep the length below " + (nos[m]).toString()+ " characters")
			return false;		
		}		
	}
	return true;	
}

function select(list, i) {
  if (list.selectedIndex != i) list.selectedIndex = i;
}

function selectiteminlist(list,value){
	for (var i = 0; i < list.options.length; ++i) {
		if (list.options[i].value==value) {
			select(list, i);
			return;
		}
	}
	select(list,0);
}


function isLength(control)
{
	if ((control.value.length) == 0)
	{
		//control.focus();
		return false;
	}
	return true;
}


function isSpace(control)
{
	var valid = " \t\r\n";
	var numSpaces = 0;
	if (!isLength(control)) {return false;}
	for (var i = 0; i < control.value.length; i++)
	{
		tmp = "" + control.value.substring(i, i+1);
		if (valid.indexOf(tmp) != "-1")	{ numSpaces++; }
	}
	if (numSpaces != control.value.length)
	{
		//control.focus();
		return false;
	}
	else
	{
		//control.focus();
	}
	return true;
}

function isNumeric(control)
{
    var strValidChars = "0123456789 ";
    var strChar;
    var blnResult = true;

   for (i = 0; i < control.value.length && blnResult == true; i++)
   {
      strChar = control.value.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
      {
            blnResult = false;
      }
   }
    return blnResult;
	/*var flag = true;

	if (!isLength(control))	{ flag = false;	}

	var data = parseInt(control.value, 10);
	if (!data) { flag = false; }
	else
	{
		var check = _removeLeadZeros(control.value);
		var tmp = "" + data;

		if (tmp.length != control.value.length)
		{
			if (tmp.length != check.length)
			{ 
				flag = false;	
			}
		}
	}
	
	if (!flag)
	{
		//control.focus();
	}
	return flag;*/
}

function isFloat(control)
{
	var flag = true;

	if (!isLength(control))	{ flag = false;	}

	var data = parseFloat(control.value);
	if (!data) { flag = false; }
	else
	{
		var check = _removeTailZeros(control.value);
		check = _removeTailZeros(check);
		var tmp = "" + data;
		
		if (tmp.length != control.value.length)
		{
		    if (tmp.length != check.length)
			{
				flag = false;	
			}
		}
	}
	
	if (!flag)
	{
		//control.focus();
	}
	return flag;
}

function isFloatNoTailZeros(control)
{
	var flag = true;

	if (!isLength(control))	{ flag = false;	}

	var data = parseFloat(control.value);
	if (!data) { flag = false; }
	else
	{
		var check = _removeTailZeros(control.value);
		//check = _removeTailZeros(check);
		var tmp = "" + data;
		
		if (tmp.length != control.value.length)
		{
		    if (tmp.length != check.length)
			{
				flag = false;	
			}
		}
	}
	
	if (!flag)
	{
		//control.focus();
	}
	return flag;
}

function isFloatNoFocus(control)
{
	var flag = true;

	if (!isLength(control))	{ return true;	}

	var data = parseFloat(control.value);
	if (!data) { flag = false; }
	else
	{
		var check = _removeLeadZeros(control.value);
		check = _removeTailZeros(check);
		var tmp = "" + data;
		if (tmp.length != control.value.length)
		{
			if (tmp.length != check.length)
			{ 
				flag = false;	
			}
		}
	}
	return flag;
}

function checkLength(control, len)
{
	if (control.value.length > len)
	{
		//control.focus();
		return false;
	}
	else
		return true;
}

function isPositive(control)
{
	if (!isLength(control))	{ return true;	}
	if (isFloat(control))
	{
		if (parseFloat(control.value) > 0)
		{
			//control.focus();
			return true;
		}
	}
	return false;
}
function isPositiveInt(control)
{
	if (!isLength(control))	{ return true;	}
	if (isNumeric(control))
	{
		if (parseInt(control.value) > 0)
		{
			//control.focus();
			return true;
		}
	}
	return false;
}
function isPositiveIntOrZero(control)
{
	if (!isLength(control))	{ return true;	}
	if (parseInt(control.value) >= 0)
	{
		return true;
	}
	return false;
}

function isAlphabetic(control)
{
	var validStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	return _isPresent(control, validStr);
}

function isSpaceStr(control)
{
	if (isSpace(control))
		return false;

	//looks for a alphabetic string with/without spaces...
	var validStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.' ";
	return _isPresent(control, validStr);
}

function isNumSpace(control)
{
	var validStr = "1234567890 ";
	return _isPresent(control, validStr);
}

function isNum(control)
{
	var validStr = "1234567890";
	return _isPresent(control, validStr);
}

function isAlnum(control)
{
	if (isSpace(control))
		return false;

	//looks for a alpha numeric value...		
	var validStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.#,+-':/ ";
	return _isPresent(control, validStr);
}

function _isPresent(control, validStr)
{
	if (!isLength(control)) return false;
	for (var i = 0; i < control.value.length; i++)
	{
		tmp = "" + control.value.substring(i, i+1);
		if (validStr.indexOf(tmp) == "-1")
		{
			//control.focus();
			return false;
		}
	}
	return true;
}

function _removeLeadZeros(value)
{
	var startIndex = 0;
	for (var i = 0; i<value.length; i++)
	{
		if (value.charAt(i) != "0") break;
	}
	startIndex = i;
	var decimalPos = value.indexOf(".");
	var minusSign = value.indexOf("-");
	var plusSign = value.indexOf("+");
	if (plusSign==0) value = value.substring(1,value.length);
	if (decimalPos == startIndex) 
	{
		value = "0" + value.substring(startIndex, value.length);
	}
	return value.substring(startIndex, value.length);
}

function _removeTailZeros(value)
{
	var endIndex = value.length;
	var decimalPos = value.indexOf(".");
	if (decimalPos != "-1")
	{
		for (var i = value.length; i > 0 ; i--)
		{
			if (value.charAt(i-1) != "0") break;
		}
		endIndex = i;
	}
	if (decimalPos == endIndex - 1) endIndex --;
	return value.substr(0, endIndex);
}

function isValidDate(value)
{

	//looks for the format dd/mm/yyyy

	var flag = true;
	valid = "0123456789";
	var dateStr = value;

//	if ((dateStr.length < 8) || (dateStr.length > 10)) return false;
	if (dateStr.length == 0) return true;
	if (dateStr.length != 10) return false;
	slash1Pos = dateStr.indexOf("/");
	if (slash1Pos == "-1") return false;

	tmpStr = dateStr.substr(slash1Pos+1, value.length);
	
	slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;
	if (slash2Pos == "-1") return false;

	for (var i =0; i <  dateStr.length; i++)
	{
		if ((i==slash1Pos) || (i==slash2Pos)) continue;
		tmp = "" + dateStr.substring(i, i+1);
		if (valid.indexOf(tmp) == "-1")
		{
			return false;
		}		
	}


	var day = parseInt(dateStr.substr(0,slash1Pos), 10);
	var month = parseInt(dateStr.substr(slash1Pos+1,slash2Pos), 10);
	var year = parseInt(dateStr.substr(slash2Pos+1, dateStr.length), 10);
	if(year < 1900)
	{
	    flag = false;
	}

	if (month < 1 || month > 12) { flag = false;}
	if (day < 1 || day > 31) {flag = false;}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {flag = false;}
	if (month == 2) 
	{
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) 
		{
			flag = false;
   		}
	}

	return flag;
}

function isValidDateNoFocus(value)
{

	//looks for the format dd/mm/yyyy

	var flag = true;
	valid = "0123456789";
	var dateStr = value;

	if (dateStr.length == 0) return true;
	if (dateStr.length != 10) return false;
	slash1Pos = dateStr.indexOf("/");
	if (slash1Pos == "-1") return false;

	tmpStr = dateStr.substr(slash1Pos+1, value.length);
	
	slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;
	if (slash2Pos == "-1") return false;

	for (var i =0; i <  dateStr.length; i++)
	{
		if ((i==slash1Pos) || (i==slash2Pos)) continue;
		tmp = "" + dateStr.substring(i, i+1);
		if (valid.indexOf(tmp) == "-1")
		{
			return false;
		}		
	}


	var day = parseInt(dateStr.substr(0,slash1Pos), 10);
	var month = parseInt(dateStr.substr(slash1Pos+1,slash2Pos), 10);
	var year = parseInt(dateStr.substr(slash2Pos+1, dateStr.length), 10);

	if (month < 1 || month > 12) { flag = false;}
	if (day < 1 || day > 31) {flag = false;}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {flag = false;}
	if (month == 2) 
	{
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) 
		{
			flag = false;
   		}
	}
	return flag;
}

function isMMDDYYYY(value)
{

	//looks for the format mm/dd/yyyy

	var flag = true;
	valid = "0123456789";
	var dateStr = value;

	if ((dateStr.length < 8) || (dateStr.length > 10)) return false;
	slash1Pos = dateStr.indexOf("/");
	if (slash1Pos == "-1") return false;

	tmpStr = dateStr.substr(slash1Pos+1, value.length);
	
	slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;
	if (slash2Pos == "-1") return false;

	for (var i =0; i <  dateStr.length; i++)
	{
		if ((i==slash1Pos) || (i==slash2Pos)) continue;
		tmp = "" + dateStr.substring(i, i+1);
		if (valid.indexOf(tmp) == "-1")
		{
			return false;
		}		
	}


	var month = parseInt(dateStr.substr(0,slash1Pos), 10);
	var day = parseInt(dateStr.substr(slash1Pos+1,slash2Pos), 10);
	var year = parseInt(dateStr.substr(slash2Pos+1, dateStr.length), 10);


	if (month < 1 || month > 12) { flag = false;}
	if (day < 1 || day > 31) {flag = false;}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {flag = false;}
	if (month == 2) 
	{
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) 
		{
			flag = false;
   		}
	}

	return flag;
}

function isFutureDate(value)
{
	var flag = false;
	if (isValidDate(value))
	{
		slash1Pos = value.indexOf("/");
		tmpStr = value.substr(slash1Pos+1, value.length);
		slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;

		day = parseInt(value.substr(0,slash1Pos), 10);
		month = parseInt(value.substr(slash1Pos+1,slash2Pos), 10);
		year = parseInt(value.substr(slash2Pos + 1,value.length), 10);
		var today = new Date();

		var todayYear = parseInt(today.getYear(), 10);
		var todayMonth = parseInt(today.getMonth(), 10) + 1;
		var todayDate = parseInt(today.getDate(), 10);

		var strToday = "";
		var strEntered = "";
		strToday  =  todayYear;
		if (todayMonth < 10){
			strToday = strToday + "0" + todayMonth;
		}
		else{
			strToday = strToday + todayMonth.toString();
		}
		if (todayDate < 10){
			strToday = strToday + "0" + todayDate;
		}
		else{
			strToday = strToday + todayDate.toString();
		}

		strEntered  =  year;
		if (month < 10){
			strEntered = strEntered + "0" + month;
		}
		else{
			strEntered = strEntered + month.toString();
		}
		if (day < 10){
			strEntered = strEntered + "0" + day;
		}
		else{
			strEntered = strEntered + day.toString();
		}
			
		if (strEntered > strToday){
			flag = true;
		}
	}
	else {flag = false;}

	return flag;
}

function isPastDate(value)
{
	var flag = false;
	if (isValidDate(value))
	{
		slash1Pos = value.indexOf("/");
		tmpStr = value.substr(slash1Pos+1, value.length);
		slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;

		day = parseInt(value.substr(0,slash1Pos), 10);
		month = parseInt(value.substr(slash1Pos+1,slash2Pos), 10);
		year = parseInt(value.substr(slash2Pos + 1,value.length), 10);
		var today = new Date();

		var todayYear = parseInt(today.getYear(), 10);
		var todayMonth = parseInt(today.getMonth(), 10) + 1;
		var todayDate = parseInt(today.getDate(), 10);

		var strToday = "";
		var strEntered = "";
		strToday  =  todayYear;
		if (todayMonth < 10){
			strToday = strToday + "0" + todayMonth;
		}
		else{
			strToday = strToday + todayMonth.toString();
		}
		if (todayDate < 10){
			strToday = strToday + "0" + todayDate;
		}
		else{
			strToday = strToday + todayDate.toString();
		}

		strEntered  =  year;
		if (month < 10){
			strEntered = strEntered + "0" + month;
		}
		else{
			strEntered = strEntered + month.toString();
		}
		if (day < 10){
			strEntered = strEntered + "0" + day;
		}
		else{
			strEntered = strEntered + day.toString();
		}
			
		if (strToday > strEntered){
			flag = true;
		}
	}
	else {flag = false;}

	return flag;
}

function isToday(value)
{
	var flag = false;
	if (isValidDate(value))
	{
		slash1Pos = value.indexOf("/");
		tmpStr = value.substr(slash1Pos+1, value.length);
		slash2Pos = slash1Pos + tmpStr.indexOf("/") + 1;

		day = parseInt(value.substr(0,slash1Pos), 10);
		month = parseInt(value.substr(slash1Pos+1,slash2Pos), 10);
		year = parseInt(value.substr(slash2Pos + 1,value.length), 10);
		var today = new Date();

		var todayYear = parseInt(today.getYear(), 10);
		var todayMonth = parseInt(today.getMonth(), 10) + 1;
		var todayDate = parseInt(today.getDate(), 10);

		if ((todayYear == year) && (todayMonth == month) && (todayDate == day)) {flag = true;}
	}
	else {flag = false;}

	return flag;
}

function isValidStartEndDate(start, end)
{
	var flag = true;
	
	startSlash1Pos = start.indexOf("/");
	tmpStr = start.substr(startSlash1Pos+1, start.length);
	startSlash2Pos = startSlash1Pos + tmpStr.indexOf("/") + 1;

	endSlash1Pos = end.indexOf("/");
	tmpStr = end.substr(endSlash1Pos+1, end.length);
	endSlash2Pos = endSlash1Pos + tmpStr.indexOf("/") + 1;

	startDay = parseInt(start.substr(0,startSlash1Pos), 10);
	startMonth = parseInt(start.substr(startSlash1Pos+1,startSlash2Pos), 10);
	startYear = parseInt(start.substr(startSlash2Pos + 1,start.length), 10);
	startYear = parseInt(start.substr(startSlash2Pos + 1,start.length), 10);

	endDay = parseInt(end.substr(0,endSlash1Pos), 10);
	endMonth = parseInt(end.substr(endSlash1Pos+1,endSlash2Pos), 10);
	endYear = parseInt(end.substr(endSlash2Pos + 1,end.length), 10);

	var startDate = new Date(startYear, startMonth, startDay);
	var endDate = new Date(endYear, endMonth, endDay);

	if (startDate >= endDate){
		flag = false;
	}
	else{
		flag = true;
	}

	return flag;
}

function isEAddress(control)
{
    
	/*if (control.value.indexOf('@') == 0){
		return false;
	}
	if ( (control.value.indexOf('@') == -1) || (control.value.indexOf('.') == -1)) {
		return false;
	}

	if ( (control.value.lastIndexOf('.')) < (control.value.lastIndexOf('@')) ) {
		return false;
	}
	if(control.value.substring(control.value.length-1,control.value)=="."){
        return false;
     }*/
	//return true;
	
	var str = control.value;
	var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    if (str.indexOf(at)==-1){
       return false;
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       return false;
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        return false;
    }

     if (str.indexOf(at,(lat+1))!=-1){
        return false;
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false;
     }

     if (str.indexOf(dot,(lat+2))==-1){
        return false;
     }
	
     if (str.indexOf(" ")!=-1){
        return false;
     }
     if(str.substring(str.length-1,str.length)==dot){
        return false;
     }

     return true;
}

function TrimJS(Strs){
var TempStr
TempStr = ""
for (i=0;i<Strs.length;i++)
{
if (Strs.charAt(i) != " " )
    TempStr = TempStr + Strs.charAt(i)
}
return TempStr 
}

// DD/MM/YYYY format
function dateDiff(startDate, endDate){
	var startYearPart, startMonthPart, startDayPart;
	var endYearPart, endMonthPart, endDayPart;
	
	startYearPart = startDate.substring(startDate.lastIndexOf("/") + 1, 11);
	startMonthPart  = startDate.substring(startDate.indexOf("/") + 1, 5);
	startDayPart = startDate.substring(0, 2);

	endYearPart = endDate.substring(endDate.lastIndexOf("/") + 1, 11);
	endMonthPart  = endDate.substring(endDate.indexOf("/") + 1, 5);
	endDayPart = endDate.substring(0, 2);

	var stDate = new Date(startYearPart, startMonthPart, startDayPart);
	var enDate = new Date(endYearPart, endMonthPart, endDayPart);

	var earlySecs=stDate.getTime();
	var laterSecs=enDate.getTime();
	
	return Math.floor ((((((laterSecs-earlySecs)/1000)/60)/60)/24));
}

// DD/MM/YYYY format
function dateDiffInYears(startDate, endDate){
	var startYearPart, startMonthPart, startDayPart;
	var endYearPart, endMonthPart, endDayPart;
	
	startYearPart = startDate.substring(startDate.lastIndexOf("/") + 1, 11);
	startMonthPart  = startDate.substring(startDate.indexOf("/") + 1, 5);
	startDayPart = startDate.substring(0, 2);

	endYearPart = endDate.substring(endDate.lastIndexOf("/") + 1, 11);
	endMonthPart  = endDate.substring(endDate.indexOf("/") + 1, 5);
	endDayPart = endDate.substring(0, 2);

	var stDate = new Date(startYearPart, startMonthPart, startDayPart);
	var enDate = new Date(endYearPart, endMonthPart, endDayPart);

	var earlySecs=stDate.getTime();
	var laterSecs=enDate.getTime();
	
	return Math.floor (((((((laterSecs-earlySecs)/1000)/60)/60)/24)/365));
}

// DD/MM/YYYY format
function getFirstOfMonth(passeddate){
	var yearPart, monthPart, dayPart;
	
	
	yearPart = passeddate.substring(passeddate.lastIndexOf("/") + 1, 11);
	monthPart  = passeddate.substring(passeddate.indexOf("/") + 1, 5);
	dayPart = '01';

	return dayPart + '/' + monthPart + '/' + yearPart;
}

// DD/MM/YYYY format
function isFirstOfMonth(passeddate){
	var dayPart;
	
	dayPart = passeddate.substring(0, passeddate.indexOf("/"));
	if ( (dayPart != '01') && (dayPart != '1'))
		return false;
	else
		return true;
}

function getToday(){
	var thedate = new Date( );
	var theyear = thedate.getYear();
	if ((thedate.getMonth() + 1) > 9)
		var themonth = thedate.getMonth() + 1;
	else
		var themonth = '0' + (thedate.getMonth() + 1);
	if ((thedate.getDate()) > 9)
		var theday = thedate.getDate();
	else
		var theday = '0' + thedate.getDate();

	return (theday + "/" + themonth + "/" + theyear); 
}

function getWeekFirst(){

	var Y = new Date();
	var thedate = new Date(Y.setDate(Y.getDate() - (Y.getDay()%7) + 1));
	var theyear = thedate.getYear();
	if ((thedate.getMonth() + 1) > 9)
		var themonth = thedate.getMonth() + 1;
	else
		var themonth = '0' + (thedate.getMonth() + 1);
	if ((thedate.getDate()) > 9)
		var theday = thedate.getDate();
	else
		var theday = '0' + thedate.getDate();

	return (theday + "/" + themonth + "/" + theyear); 
}

function getWeekSecond(){

	var Y = new Date();
	var X = new Date(Y.setDate(Y.getDate() + (7 - (Y.getDay()))));
	var thedate = X;
	var theyear = thedate.getYear();
	if ((thedate.getMonth() + 1) > 9)
		var themonth = thedate.getMonth() + 1;
	else
		var themonth = '0' + (thedate.getMonth() + 1);
	if ((thedate.getDate()) > 9)
		var theday = thedate.getDate();
	else
		var theday = '0' + thedate.getDate();

	return (theday + "/" + themonth + "/" + theyear); 
}

function getLastWeekFirst(){
	var OD = makeDate(getWeekFirst());
	var Y = makeDate(getWeekFirst());
	var X = new Date(Y.setDate(OD.getDate() - 7));
	
	
	if (OD.getDate() <= 7){
		if (OD.getMonth() == 0){
			var themonth = 12;
			var theyear = OD.getYear() - 1;
		}
		else{
			if (OD.getMonth() < 10)
				var themonth = '0' + (OD.getMonth());
			else
				var themonth = (OD.getMonth());
			var theyear = OD.getYear();
		}
	}else{
		if (OD.getMonth() < 9){
			var themonth = '0' + (OD.getMonth() + 1);
		}
		else
			var themonth = (OD.getMonth() + 1);
		var theyear = OD.getYear();
	}
	if ((X.getDate()) > 9)
		var theday = X.getDate();
	else
		var theday = '0' + X.getDate();
	return (theday + "/" + themonth + "/" + theyear); 
}

function getLastWeekSecond(){
	var OD = makeDate(getWeekSecond());
	var Y = makeDate(getWeekSecond());
	var X = new Date(Y.setDate(OD.getDate() - 7));
	
	if (OD.getDate() <= 7){
		if (OD.getMonth() == 0){
			var themonth = 12;
			var theyear = OD.getYear() - 1;
		}
		else{
			if (OD.getMonth() < 10)
				var themonth = '0' + (OD.getMonth());
			else
				var themonth = (OD.getMonth());
			var theyear = OD.getYear();
		}
	}else{
		if (OD.getMonth() < 9)
			var themonth = '0' + (OD.getMonth() + 1);
		else
			var themonth = (OD.getMonth() + 1);
		var theyear = OD.getYear();
	}
	if ((X.getDate()) > 9)
		var theday = X.getDate();
	else
		var theday = '0' + X.getDate();
	return (theday + "/" + themonth + "/" + theyear); 
}

function getNextWeekFirst(){
	var OD = makeDate(getWeekFirst());
	var Y = makeDate(getWeekFirst());
	var X = new Date(Y.setDate(OD.getDate() + 7));

	if (X.getDate() <= 7){
		if (OD.getMonth() == 11){
			var themonth = '01';
			var theyear = OD.getYear() + 1;
		}
		else{
			if (OD.getMonth() < 9)
				var themonth = '0' + (OD.getMonth() + 2);
			else
				var themonth = (OD.getMonth() + 2);
			var theyear = OD.getYear();
		}
	}else{
		if (OD.getMonth() < 10)
			var themonth = '0' + (OD.getMonth() + 1);
		else
			var themonth = (OD.getMonth() + 1);
		var theyear = OD.getYear();
	}
	if ((X.getDate()) > 9)
		var theday = X.getDate();
	else
		var theday = '0' + X.getDate();
	return (theday + "/" + themonth + "/" + theyear); 
}

function getNextWeekSecond(){
	var OD = makeDate(getWeekSecond());
	var Y = makeDate(getWeekSecond());
	var X = new Date(Y.setDate(OD.getDate() + 7));
	
	if (X.getDate() <= 7){
		if (OD.getMonth() == 11){
			var themonth = '01';
			var theyear = OD.getYear() + 1;
		}
		else{
			if (OD.getMonth() < 9)
				var themonth = '0' + (OD.getMonth() + 2);
			else
				var themonth = (OD.getMonth() + 2);
			var theyear = OD.getYear();
		}
	}else{
		if (OD.getMonth() < 10)
			var themonth = '0' + (OD.getMonth() + 1);
		else
			var themonth = (OD.getMonth() + 1);
		var theyear = OD.getYear();
	}
	if ((X.getDate()) > 9)
		var theday = X.getDate();
	else
		var theday = '0' + X.getDate();
	return (theday + "/" + themonth + "/" + theyear); 
}

function getMonthFirst(){
	var dtMonth = new Date();
	var theday = '01';
	var theyear = dtMonth.getFullYear();
	var themonth = dtMonth.getMonth();
	
	if ((dtMonth.getMonth() + 1) > 9)
		{  	
			themonth = dtMonth.getMonth() + 1; 
		}
	else
		{
			themonth = '0' + (dtMonth.getMonth() + 1);
		}
		
	if (themonth == '13')
		{			
			themonth = '01';
			theyear = dtMonth.getFullYear() + 1;
		}
	return (theday + "/" + themonth + "/" + theyear);
}


function getMonthSecond(){
	var today = new Date( );
	var MonthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	theYear = today.getYear();
	if (theYear < 1000) theYear +=1900;
	
	StartOfThisYear = new Date(theYear,0,1);
	EndOfThisYear = new Date(theYear,11,31);

	StartOfLastYear = new Date(theYear-1,0,1);
	EndOfLastYear = new Date(theYear-1,11,31);
	
	if (today.getMonth()==0)
	 {
	   StartOfLastMonth = new Date(theYear,11,1);
	   EndOfLastMonth = new Date(theYear-1,12,MonthDays[11]);
	}
	else 
	{
	   StartOfLastMonth = new Date(theYear,today.getMonth(),1);
	   LastMonth = today.getMonth();
	   DaysInLastMonth = MonthDays[LastMonth];
	   if (LastMonth == 1) 
	   { // February
	      if (theYear%400==0 || (theYear%4 == 0 && theYear%100!=0) ) DaysInLastMonth +=1;
	   }
	   EndOfLastMonth = new Date(theYear,today.getMonth(),DaysInLastMonth);
	}

//	StartOfLastWeekMS = today.getTime() - ( 24*60*60*1000*(today.getDay()+6) ); 
//	StartOfLastWeek = new Date(StartOfLastWeekMS);
//	EndOfLastWeek = new Date(StartOfLastWeekMS+24*60*60*1000*6);

	if (EndOfLastMonth.getDate() < 10)
		 var theday = "0" + EndOfLastMonth.getDate();
	else
		 var theday= EndOfLastMonth.getDate();
	
	if ((EndOfLastMonth.getMonth() + 1) < 10)
		 var themonth= theday + "/0" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();
	else
		var themonth=  theday + "/" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();												
	
	return(themonth);	
}

function getNextMonthFirst(){
	var dtNextMonth = new Date( );
	var theday = '01';
	var theyear = dtNextMonth.getFullYear();
	var themonth = dtNextMonth.getMonth();
	
	if ((dtNextMonth.getMonth() + 1) > 9)
		{  	
			themonth = dtNextMonth.getMonth() + 2; 
		}
	else
		{
			themonth = '0' + (dtNextMonth.getMonth() + 2);
		}
		
	if (themonth == '13')
		{			
			themonth = '01';
			theyear = dtNextMonth.getFullYear() + 1;
		}
		
	return (theday + "/" + themonth + "/" + theyear);
}

function getNextMonthSecond(){
	var today = new Date( );
	var MonthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	var theYear = today.getYear();
	if (theYear < 1000) theYear +=1900;
	
	if (today.getMonth() == 11)
	{
		EndOfLastMonth = new Date(theYear,12,MonthDays[11]);
		LastMonth = 0;
	}
	else 
	{
		LastMonth = today.getMonth() + 1;
		EndOfLastMonth = new Date(theYear,LastMonth,MonthDays[LastMonth]);
	}

	DaysInLastMonth = MonthDays[LastMonth];
	//alert(EndOfLastMonth);
	if (LastMonth == 1) 
	{ // February
	   if (theYear%400==0 || (theYear%4 == 0 && theYear%100!=0) ) DaysInLastMonth +=1;
	}
	if (DaysInLastMonth < 10)
		 var theday = "0" + DaysInLastMonth;
	else
		 var theday = DaysInLastMonth;
	
	if ((EndOfLastMonth.getMonth() + 1) < 10)
		 var themonth= theday + "/0" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();
	else
		var themonth=  theday + "/" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();												
	
	return(themonth);	
}

/* ************************************* */

function getLastMonthFirst(){
	var dtNextMonth = new Date( );
	var theday = '01';
	var theyear = dtNextMonth.getFullYear();
	var themonth = dtNextMonth.getMonth();
	
	if ((dtNextMonth.getMonth()) > 9)
		{  	
			themonth = dtNextMonth.getMonth(); 
		}
	else
		{
			themonth = '0' + (dtNextMonth.getMonth()) ;
		}
		
	if (themonth == '00')
		{			
			themonth = '12';
			theyear = dtNextMonth.getFullYear()-1;
		}
		
	return (theday + "/" + themonth + "/" + theyear);
}

function getLastMonthSecond(){
var today = new Date( );
	var MonthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	var theYear = today.getYear();
	if (theYear < 1000) theYear +=1900;
	
	if (today.getMonth() == 0)
	{
		EndOfLastMonth = new Date(theYear - 1,11,MonthDays[11]);
		LastMonth = 11;
	}
	else 
	{
		LastMonth = today.getMonth() - 1;
		EndOfLastMonth = new Date(theYear,LastMonth,MonthDays[LastMonth]);
	}

	DaysInLastMonth = MonthDays[LastMonth];
	if (LastMonth == 1) 
	{ // February
	   if (theYear%400==0 || (theYear%4 == 0 && theYear%100!=0) ) DaysInLastMonth +=1;
	}
	if (DaysInLastMonth < 10)
		 var theday = "0" + DaysInLastMonth;
	else
		 var theday = DaysInLastMonth;
	
	if ((EndOfLastMonth.getMonth() + 1) < 10)
		 var themonth= theday + "/0" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();
	else
		var themonth=  theday + "/" + (EndOfLastMonth.getMonth() + 1) + "/" + EndOfLastMonth.getYear();												
	
	return(themonth);	
}



function isCurrency(control)
{
	var iPos;
	if (control.value == ""){
		return true;
	}
	
	var validStr = "0123456789.,$£€";
	iPos = control.value.indexOf(".");
	if (iPos > 0){
		if (control.value.indexOf(".", iPos+1) > 0){
			return false;
		}
	}
	return _isPresent(control, validStr);
}

// allows entries to transfer between the two list boxes..
function transfer(takeFrom,takeTo,shareList,maxOptions) {
	if (arguments.length==4){
		if (takeTo.length>=maxOptions){
			alert('Maximum of 10 shares is allowed');
			return
		}// number of chosen items is 15
	}// taking an option back
    var index = takeFrom.selectedIndex;
    if (index>=0) {
		if (index > -1) {
		    var newoption = new Option(takeFrom.options[index].text, takeFrom.options[index].value, true, true);
		    takeTo.options[takeTo.length] = newoption;
		    takeTo.selectedIndex=-1;
		    takeFrom.options[index] = null;
		    takeFrom.selectedIndex = -1;
		    if (arguments.length==4){// max options specified so take options from to box
				buildUpShare(takeTo,shareList);
		    }
		    else {// max options not specified so take list from from box
				buildUpShare(takeFrom,shareList);
		    }
		}
	}//real option not first and dummy
}

function buildUpShare(shareBox,shareList) {
	shareList.value='';
	for (var i=0;i<shareBox.length;i++){
		shareList.value+= shareBox.options[i].value + '|';
	}
}

function reverse(str){
	var reversedstr = "";
	var strArray;
	strArray = str.split("");

	for(var i = str.length -1 ; i >= 0 ; i--)
	{
	reversedstr += strArray[i];
	}
	return reversedstr;
}

function isLessThan(strFirstValue, strSecondValue) {
	var str1=strFirstValue;
	var str2;
	var float1;
	var float2;
	var iCtr, iLength;
	iLength = str1.length;
	str2 = ""
	for (iCtr=0;iCtr<=iLength;iCtr++){
		if (parseInt(str1.substring(iCtr, iCtr+1)) || (str1.substring(iCtr, iCtr+1) == "0") || (str1.substring(iCtr, iCtr+1) == ".")){
			str2 = str2 + str1.substring(iCtr, iCtr+1);
		}
	}
	float1 = parseFloat(str2);
	float2 = parseFloat(strSecondValue);
	if (float1 < float2){
		return true;
	}
	return false;
	
}

function makeDate(dt){

	var ypart = dt.substring(dt.lastIndexOf("/") + 1, 11);
	var mpart  = dt.substring(dt.indexOf("/") + 1, 5);
	var dpart = dt.substring(0, 2);

	var rtDate = new Date(ypart, mpart - 1, dpart);
	
	return rtDate;

}
function getTheDay(str)
{
    //myDate=new Date(eval('"'+aText.value+'"'))
    //alert(weekday[inputDate.getDay()]);
    var weekday = new Array(7);
	weekday=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
	var inputDate = makeDate(str);
	switch(inputDate.getDay())
	{
	    case 0:
	        return false;
	        break;
	    case 1:
	        return false;
	        break;
	    case 2:
	        return false;
	        break;
	    case 3:
	        return false;
	        break;
	    case 4:
	        return false;
	        break;
	    case 5:
	        return true;
	        break;
	    case 6:
	        return false;
	        break;
	}
	return true;
}
function GoTo(name)
{
    document.location.href = '#' + name;
}