function strTrim(tmpStr)
{
	tmpStr = tmpStr.replace(/^\s+/,"");//remove leading
	tmpStr = tmpStr.replace(/\s+$/,"");//remove trailing
	return tmpStr;
}
//------------------------------------------------------------------------------------
function trimFields()
{
	for(var i=0; i < obj.elements.length; i++)
	{
		if(obj.elements[i].type == "text" || obj.elements[i].type == "textarea" || obj.elements[i].type == "password")
		{
			obj.elements[i].value = strTrim(obj.elements[i].value);
		}
	}
}

//------------------------------------------------------------------------------------
function NewWindow(pageName, Width, Height)
{
	window.open(pageName, '', 'width='+Width+',height='+Height+',toolbar=0,menubar=0,location=0,left=50,top=75');
}

//Checks username against pattern
function chkUserName(tmpStr)
{
	var uname_pat = /^[a-z0-9]+$/i;
	return(uname_pat.test(tmpStr));
}

//Checks email against pattern
function chkEmail(tmpStr)
{
	var email_pat = /^[a-z0-9][a-z0-9_\.\-']*[a-z0-9]@[a-z0-9]+[a-z0-9\.\-_]*\.[a-z]+$/i;
	return(email_pat.test(tmpStr));
}

//Checks validity of date fields
function chkDate(tmpStr)
{
	var dt_pat = /^\d{2,2}\/\d{2,2}\/\d{4,4}$/;
	if(!dt_pat.test(tmpStr))
	{
		return false;
	}
	var dtGiven = new Date(tmpStr);
	var arrDt = tmpStr.split("/");
	var dtMon = parseInt(arrDt[0],10);//force decimal or else 08,09 will return 0
	var dtDay = parseInt(arrDt[1],10); //force decimal or else 08,09 will return 0
	var dtYear = parseInt(arrDt[2],10); //force decimal or else 08,09 will return 0
	if((dtGiven.getMonth() != dtMon - 1) || (dtGiven.getDate() != dtDay) || (dtGiven.getFullYear() != dtYear))
	{
		return false;
	}
	return true;
}

//Checks URL against pattern
function chkURL(tmpStr)
{
	var url_pat = /^(http|https|ftp):\/\/([\w-]+\.)+[\w-]+(\/[\w-\.\/?%&amp;,=#@\/:]*)?/;
	return(url_pat.test(tmpStr));
}

//Checks phone number by pattern
function chkPhone(tmpStr)
{
	var ph_pat = /^(\d{3})[-\.](\d{3})[-\.](\d{4})$/;
	return(ph_pat.test(tmpStr));
}

//Checks zipcode by pattern
function chkZip(tmpStr)
{
	var zip_pat = /^(\d{5})$/;
	return(zip_pat.test(tmpStr));
}

//Checks CC Number by pattern
function chkCCNum(tmpStr)
{
	var cc_pat = /^(\d{14,16})$/
	return(cc_pat.test(tmpStr));
}

//Checks only number by pattern
function chkOnlyNumber(tmpStr)
{
	var num_pat = /^[\d\.]*$/;
	return(num_pat.test(tmpStr));
}

//Checks for a float
function isFloat(tmpStr)
{
	var price_pat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/;
	return(price_pat.test(tmpStr));
}

/**Validate Login**/
function validateLogin()
{
	var Email = strTrim(objLogin.login_email.value);
	var Password = strTrim(objLogin.login_password.value);
	if(Email == "")
	{
		alert("Please enter your Login Email .");
		objLogin.login_email.focus();
		return false;
	}
	if(!chkEmail(Email))
	{
		alert("Invalid Email ID!\nPlease review and correct it.");
		objLogin.login_email.focus();
		objLogin.login_email.select();
		return false;
	}
	if(Password == "")
	{
		alert("Please enter your Password.");
		objLogin.login_password.focus();
		return false;
	}
	//All okay
	return true;
}

// Cares auto tab functions
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e)
{
    var keyCode = (isNN) ? e.which : e.keyCode;
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode))
    {
        input.value = input.value.slice(0, len);
        input.form[(getIndex(input)+1) % input.form.length].focus();
    }
    function containsElement(arr, ele)
    {
        var found = false, index = 0;
        while(!found && index < arr.length)
            if(arr[index] == ele)
                found = true;
            else
                index++;
        return found;
    }
    function getIndex(input)
    {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
            if (input.form[i] == input)index = i;
            else i++;
        return index;
    }
    return true;
}

function disableTab(input, len, e)
{
    var keyCode = (isNN) ? e.which : e.keyCode;
	if(keyCode == 9 && input.value.length < len && input.value != '')
	{
		return false;
	}
    return true;
}

function selTab(input, fldName)
{
	input.select();
	if(obj.elements[fldName+'1'].value == '')
	{
		obj.elements[fldName+'2'].setAttribute( 'tabindex', '-1' );
		obj.elements[fldName+'3'].setAttribute( 'tabindex', '-1' );
		obj.elements[fldName+'1'].value = '';
	}
}
