    function trimString(toTrim)
    {
        var tempStr;
        var flag= false;
        var to_trim_length = toTrim.length;

        for(var counter = 0; counter < to_trim_length ; counter++)
        {
            tempStr = toTrim.charAt(counter);
            if(tempStr != " ")
            {
                flag = true;
                break;
            }
        }
        return flag;
    }

    function checkDate(day, month, year)
    {
        var error = 0;
		//return 1 => date error
		//return 2 => month error
		//return 3 => yr error
		if (isNaN(day)) return "dt";
		if (isNaN(month)) return "mth";
		if (isNaN(year)) return "yr";

        if (month < 1 || month > 12) return "mth";
        if (day < 1 || day > 31) return "dt";
        if (year < 0) return "yr";
        if (month == 4 || month == 6 || month == 9 || month == 11)
            if (day == 31) return "dt";
        if (month == 2)
        {
            var is_leap_year = parseInt(year/4);
            if (isNaN(is_leap_year))
                return "mth";
            if (day > 29) return "dt";
            if (day == 29 && ((year/4)!=parseInt(year/4))) return "dt";
        }
		return error;
    }

	function checkWithCurrDate(dt, mth, yr)
	{
		var aMth = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
		today = new Date();
		today = aMth[today.getMonth()]+' '+today.getDate()+', '+today.getFullYear()+' 23:59:59 GMT';
		if (Date.parse(aMth[mth-1]+' '+dt+', '+yr+' 23:59:59 GMT') > Date.parse(today))
			return 1;
		else
			return 0;
	}

	function validateEmail(email)
	{
		var is_valid_email = false;
		if(email == null || email == "" || email.length == 0)
		{
			alert("Enter the email address");
			return false;
		}
		else
		{
		   if(email.charAt(0) == " " || email.charAt(0) == "-")
		   {
				alert("First character of email cannot be a blank or '-'");
				return false;
		   }
		   else
		   {
				if(email != "")
				{
					var email_length = email.length;
					var i;
					for(i=0; i<=email_length; i++)
					{
						if(email.substring(i,i+1)==" ")
						{
							alert("Email cannot contain blank spaces");
							return false;
						}
					}
					var email_user = email.indexOf("@", 0);
					var email_domain = email.indexOf(".", 0);
					if (email_user == -1 || email_domain == -1)
					{
						alert("Email address should contain atleast @ and .");
						return false;
					}
					if(email_user == -1 || email_user == 0)
					{
						alert("@ cannot be the first character of an email address");
						return false;
					}
					if(email_user == email.length-1)
					{
						alert("@ cannot be the last character of an email address");
						return false;
					}
					if(email_domain == -1 || email_domain == 0)
					{
						alert("Dot (.) cannot be the first character of an email address");
						return false;
					}
					if(email_domain == email_length-1)
					{
						alert("Dot (.) cannot be the last character of an email address");
						return false;
					}
					if ((email_domain - email_user) <= 1)
					{
						alert("Email address should contain a proper domain");
						return false;
					}

					var at_count=0;
					for(i=0; i<=email_length; i++)
					{
						var character = email.substring(i,i+1);
						if(character == "@")
						at_count++;
						if(at_count>1)
						{
							alert("More than one @ not allowed in email");
							return false;
						}
						if(character == "!" || character == "#" || character == "$" || character == "%" || character == "^" || character == "&" || character == "*" || character == "'" || character == '"' ||
							character == "(" || character == ")" || character == "+" || character == "=" || character == "|" || character ==  ">" || character == "<" || character == "?" || character == "/"
							|| character == ":" || character == ";" || character == "[" || character == "]" || character == "{" || character == "}" || character == "\\" || character == ",")
						{
							alert("Invalid Character in your Email id " );
							return false;
						}
					}
				}
			}
		}
		return true;
	}

	function validateNumber(nValue)
	{
		var nLength = nValue.length;
		for (nCnt = 0; nCnt < nLength; nCnt++)
			if (isNaN(parseInt(nValue.substr(nCnt, 1))))
				return false;
		return true;
	}

	function validateString(strValue)
	{
		var nLength = strValue.length;
		var currChar;
		for (nCnt = 0; nCnt < nLength; nCnt++) 
		{
			currChar = strValue.charCodeAt(nCnt);
			if (!(currChar >= 65 && currChar <= 90))
				if (!(currChar >= 97 && currChar <= 122))
					return false;
		}
		return true;
	}

/* functions used in add referrer, campaign details pages */

/* trim a string  - remove leading and trailing spaces */
function trim(strValue)
{
	strValue = strValue.replace(/^ +/,'');
	strValue = strValue.replace(/ +$/,'');
	return strValue;
}

/* check not null */
function checkEmpty(name,value)
{
	if (value == null || value == "")
	{
		alert('Please enter the '+name);
		return false;
	}
	else
		return true;
}

/* check for name field */
function checkName(name,value)
{
	var strvalue = new String(value);
	strvalue = strvalue.toLowerCase();
	strvalue = trim(strvalue);
	var strlen = strvalue.length;      
	for (nCnt = 0; nCnt < strlen; nCnt++)
	{
		ch = strvalue.charAt(nCnt);
		nch = strvalue.charCodeAt(nCnt);
		if (!(ch == ' ') && !(nch >= 97 && nch <= 122))
		{
			alert('Please enter valid name for \''+name+'\' field');
			return false;
		}
	}
	return true;
}

function checkAlphaNumeric(value)
{
	var regexp = new RegExp('[a-z0-9 ]+$', 'i');
	var strvalue = new String(value);
	strvalue = strvalue.toLowerCase();
	strvalue = trim(strvalue);
	var chkVal = strvalue.search(regexp);
	if (chkVal <= -1)
		return false;
	return true;
}

/* check for numeric field */
function checkNumeric(name, value, type)
{
	//type = N - Numeric/ D - Decimal
	var strvalue = new String(value);
	strvalue = trim(strvalue);
	var regexp;
	if (type == 'N')
		regexp = new RegExp('^[0-9]+$');
	else
		regexp = new RegExp('^[0-9]+[\.]{1}[0-9]+$|^[0-9]+$');

	var chkReg = strvalue.search(regexp);
	if (chkReg == 0)
	{
		if (strvalue.indexOf(".") != strvalue.lastIndexOf("."))
		{
			alert('Please enter a valid numeric value for \''+name+'\' field');
			return false;
		}
	}
	else
	{
		alert('Please enter a valid numeric value for \''+name+'\' field');
		return false;
	}
	return true;
}
function openURL(url, pagename)
{	
        var today = new Date();
        var page = pagename+today.getFullYear()+today.getMonth()+today.getDate()+today.getHours()+today.getMinutes()+today.getSeconds();
	
        window.open (url, page, 'width=800, height=400, menubar=no, toolbar=no, status=yes, resizable=yes,scrollbars=yes,top=50,left=0');
}

function openCities(url, pagename)
{	
        var today = new Date();
        var page = pagename+today.getFullYear()+today.getMonth()+today.getDate()+today.getHours()+today.getMinutes()+today.getSeconds();
	
        window.open(url, page, 'width=750, height=450, menubar=no, toolbar=no, status=yes, resizable=yes,scrollbars=yes,top=50,left=0');
}
