// JavaScript Document
var bgimgs = 'url(/images/darkbgbar.gif),url(/images/lightbgbar.gif)'.split(",");
var nums  ="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31".split(",");
var Months="January,February,March,April,May,June,July,August,September,October,November,December".split(",");
//---------------------------
function setColor(o, c, w){ for(i=1; i<o.length; i++){ o[i].style.backgroundColor=(i%2==0)?colors[c]:colors[4]; } }
function selectValue(o, v) { for(i=0; i<o.length; i++){ if(o[i].value==v){ o[i].selected=true; i=o.length; } } }
function selectValuePart(o, v, n) { for(i=0; i<o.length; i++){ if(o[i].value.substr(0,7)==v.substr(0,7)){ o[i].selected=true; i=o.length; } } }

function colorSwitch(v1, v2){ for(i=0; i<v1.childNodes.length; i++){ v1.childNodes.item(i).style.backgroundColor=colors[v2]; } }
function colorSwitch1(v1, v2){ v1.style.backgroundColor = colors[v2]; }
function colorSwitch2(v1, v2){
for(i=0; i<v1.childNodes.length; i++){ for(j=0; j<v1.childNodes[i].childNodes.length; j++){ v1.childNodes[i].childNodes[j].style.backgroundColor=colors[v2]; }	}
//	for(i=0; i<v1.rows.length; i++){ for(j=0; j<v1.rows(i).cells.length; j++){ v1.rows(i).cells(j).style.backgroundColor=colors[v2]; } }
}
function colorSwitchBtn(v1, v2){
	if(v2==0){
		v1.style.borderTopColor=colors[2];		v1.style.borderRightColor=colors[3];		v1.style.borderBottomColor=colors[3];		v1.style.borderLeftColor=colors[2];
	} else {
		v1.style.borderTopColor=v1.style.borderRightColor;
		v1.style.borderRightColor=v1.style.borderLeftColor;
		v1.style.borderLeftColor=v1.style.borderBottomColor;
		v1.style.borderBottomColor=v1.style.borderRightColor;
		v1.style.borderTopColor=colors[3];		v1.style.borderRightColor=colors[2];		v1.style.borderBottomColor=colors[2];		v1.style.borderLeftColor=colors[3];
	}
	v1.style.backgroundColor = colors[v2];
}

function addDays(v1){ for(i=1; i<=31; i++){ v1[i-1]=new Option(nums[i-1], nums[i-1], false, false); } v1[currDate.substr(8,2)-1].selected=true; }
function addyyyymm(v1){
	for(i=maxDate.substr(0,4); i>=minDate.substr(0,4); i--){
	if(minDate.substr(0,4)==i){ st=eval(minDate.substr(5,2)); } else {st=1;}
	if(maxDate.substr(0,4)==i){ ed=eval(maxDate.substr(5,2)); } else {ed=12;}
		for(j=ed; j>=st; j--){ v1.options[v1.options.length] = new Option(i+" "+Months[j-1].substr(0,3), i+"-"+nums[j-1], false, false); }
	}
}
//image preloader
simplePreload( '/images/lightbgbar.gif', '/images/darkgbar.gif' ); 
function simplePreload(){ 
  var args = simplePreload.arguments; document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++){ document.imageArray[i] = new Image; document.imageArray[i].src = args[i]; }
}
//-------------------------------
function termList(v1, v2, v){ for(i=0; i<v2.length; i++){ v2[i] = null; i--; }
	sD= new myDate(minDate.substr(0,4), minDate.substr(5,2), minDate.substr(8,2));
	eD= new myDate(mxD[v][0], mxD[v][1], mxD[v][2]);
	switch (v) {
	case "Y": while(sD.year<=eD.year         ) { v2[v2.length] = new Option(eD.getPeriodOf("Z"), eD.getEndDate("H"), false, false); eD.add("H", -1); } break;
	case "H": while(sD.yearmonth<eD.yearmonth) { v2[v2.length] = new Option(eD.getPeriodOf("H"), eD.getEndDate("H"), false, false); eD.add("H", -1); } break;
	case "Q": while(sD.yearmonth<eD.yearmonth) { v2[v2.length] = new Option(eD.getPeriodOf("Q"), eD.getEndDate("Q"), false, false); eD.add("Q", -1); } break;
	case "M": while(sD.yearmonth<=eD.yearmonth){ v2[v2.length] = new Option(eD.getPeriodOf("M"), eD.getEndDate("M"), false, false); eD.add("M", -1); } break;
	case "W": eD.goStartOf("W", 0); while(sD.value<eD.value){ v2[v2.length] = new Option(eD.getPeriodOf("W"), eD.date, false, false); eD.add("D", -7); } break;
	} setColor(v2, colors[1]);
}
//-------------------------------
//----------------------------------------------------------------------------------------------------------
// myDate Object
var Months="January,February,March,April,May,June,July,August,September,October,November,December".split(",");
var Days  ="Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(",");
var nums  ="01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31".split(",");
var EOM1  = "31,29,31,30,31,30,31,31,30,31,30,31".split(",");
var EOM2  = "31,28,31,30,31,30,31,31,30,31,30,31".split(",");
// Methods for myDate()
function setValues(d){
	this.day=this.d.getDate();
	this.dOW=this.d.getDay();
	this.Day=Days[this.dOW].substr(0,3);
	this.DayName=Days[this.dOW];
	this.month=this.d.getMonth()+1;
	this.Mon=Months[this.month-1].substr(0,3);
	this.Month=Months[this.month-1];
	this.year =this.d.getFullYear();
	this.yearmonth=this.year+nums[this.month-1];
	this.date=this.year+"-"+nums[this.month-1]+"-"+nums[this.day-1];
	this.isLeap=(this.year%4==0)?true:false;
	this.endOfMonth=(this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1];
	d=0; for(i=1; i<this.month; i++){ d=d+eval((this.isLeap)?EOM1[i-1]:EOM2[i-1]); }
	this.dayOfYear=d+this.day;
	this.value=this.year+nums[this.month-1]+nums[this.day];
}
function add(v1, v2){
	switch (v1){
	case "D": this.d = new Date(this.year, this.month-1, eval(this.day+"+"+v2)); break;
	case "W": this.d = new Date(this.year, this.month-1, eval(this.day+"+"+v2+"*7")); break;
	case "M": this.d = new Date(this.year, eval(this.month-1+"+"+v2), this.day); break;
	case "Q": this.add("M", eval(v2+"*3")); break;
	case "H": this.add("M", eval(v2+"*6")); break;
	case "Y": this.add("M", eval(v2+"*12")); break;	} this.setValues();
}
function goStartOf(v1, v2){
	switch (v1){
	case "W": this.add("D", eval("-"+this.dOW+"+1"));	break;
	case "M": this.d = new Date(this.year, this.month-1, 1); break;
	case "Q": this.d = new Date(this.year, this.month-(this.month%3)-1, 1); break;
	case "H": this.d = new Date(this.year, this.month-(this.month%6)-1, 1); break;
	case "Y": this.d = new Date(eval(this.year+"+"+v2), 1-1, 1); break;	} this.setValues();
}
function goEndOf(v1){
//	switch (v1){
//	case "W": this.d = new Date(this.year, this.month-1, eval(this.day+"+"+v2)); break;
//	case "M": this.d = new Date(this.year, this.month-1, (this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1]); break;
//	case "Q": m=(this.month%3==0)?this.month:this.month+(3-this.month%3) this.d = new Date(this.year, m-1, 1); this.setValues(); this.d = new Date(this.year, this.month-1, (this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1]); break;
//	case "H": this.add("M", eval(v2+"*6")); break;
//	case "Y": this.d = new Date(this.year, 12-1, 31); break;	} this.setValues();
}
function getPeriodOf(v1, v2){
	switch (v1){
	case "W": d=this.Mon+" "+this.day+" to "; this.add("D", 5); d=d+this.Mon+" "+this.day+" "+this.year; this.add("D", -5); break;
	case "M": e=(this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1]; d=this.Mon+" "+this.year; break;
//	case "M": e=(this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1]; d=this.Mon+" 1 to "+this.Mon+" "+e+" "+this.year; break;
	case "Q": d= this.month; if(d>=1  && d<=3) { d="Jan-Mar "; } if(d>=4  && d<=6) { d="Apr-Jun "; } if(d>=7  && d<=9) { d="Jul-Sep "; } if(d>=10 && d<=12){ d="Oct-Dec "; } d +=this.year;
	break;
	case "H": d=(this.month>=1  && this.month<=6)?"Jan-Jun ":"Jul-Dec "; d +=this.year; break;
	case "Y": d="Jan-Dec "+this.year; break;
	case "Z": if(this.month<7){ d="Jun "+this.year; } else { d="Dec "+this.year; } 
	break; }
	return d;
}
function getEndDate(v1){
	switch (v1){
//	case "W": d=this.Mon+" "+this.day+" to "; this.add("D", 5); d=d+this.Mon+" "+this.day+" "+this.year; this.add("D", -5); break;
	case "M": e=(this.isLeap)?EOM1[this.month-1]:EOM2[this.month-1]; d = this.year+"-"+nums[this.month-1]+"-"+e; break;
	case "Q": e=(this.month%3==0)?this.month:this.month+(3-this.month%3); f=(this.isLeap)?EOM1[e-1]:EOM2[e-1]; d=this.year+"-"+nums[e-1]+"-"+f; break;
	case "H": e=(this.month%6==0)?this.month:this.month+(6-this.month%6); f=(this.isLeap)?EOM1[e-1]:EOM2[e-1]; d=this.year+"-"+nums[e-1]+"-"+f; break;
	case "Y": d = this.year+"-12-31"; break; }
	return d;
}
// myDate object constructor
function myDate(y, m, d){ this.d= new Date(y, m-1, d); this.setValues=setValues; this.setValues(); this.add=add; this.goStartOf=goStartOf; this.goEndOf=goEndOf; this.getPeriodOf=getPeriodOf; this.getEndDate=getEndDate; }
//a= new myDate(2003, 3,1);
//-----------------------------------------------------------------------------------------------------
function openCenteredWindow(url, height, width, name, parms) {
   var left =Math.floor( (screen.width - width) / 2);
   var top = Math.floor( (screen.height - height) / 2);
   var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
   if (parms) { winParms += "," + parms; }
   var win = window.open(url, name, winParms);
   if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
   return win;
}
//-------------------------------------------
/* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message Digest Algorithm, as defined in RFC 1321.
 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License See http://pajhome.org.uk/crypt/md5 for more info. */
/* Configurable variables. You may need to tweak these to be compatible with the server-side, but the defaults work in most cases. */
var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */
var b64pad  = ""; /* base-64 pad character. "=" for strict RFC compliance   */
var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */

/* These are the functions you'll usually want to call They take string arguments and return either hex or base-64 encoded strings */
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
/* Perform a simple self-test to see if the VM is working */
function md5_vm_test(){  return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; }
/* Calculate the MD5 of an array of little-endian words, and a bit length */
function core_md5(x, len){
  /* append padding */
  x[len >> 5] |= 0x80 << ((len) % 32);
  x[(((len + 64) >>> 9) << 4) + 14] = len;

  var a =  1732584193;
  var b = -271733879;
  var c = -1732584194;
  var d =  271733878;

  for(var i = 0; i < x.length; i += 16){
    var olda = a;
    var oldb = b;
    var oldc = c;
    var oldd = d;

    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);

    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
    c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
    b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
    a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
    d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
    c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
    b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

    a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
    d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
    c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
    b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
    a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
    d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
    c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
    b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
    a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
    d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
    c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
    b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
    a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
    d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
    c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
    b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

    a = safe_add(a, olda);
    b = safe_add(b, oldb);
    c = safe_add(c, oldc);
    d = safe_add(d, oldd);
  }
  return Array(a, b, c, d);
}
/* These functions implement the four basic operations the algorithm uses. */
function md5_cmn(q, a, b, x, s, t)  { return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); }
function md5_ff(a, b, c, d, x, s, t){ return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); }
function md5_gg(a, b, c, d, x, s, t){ return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); }
function md5_hh(a, b, c, d, x, s, t){ return md5_cmn(b ^ c ^ d, a, b, x, s, t); }
function md5_ii(a, b, c, d, x, s, t){ return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); }

/* Calculate the HMAC-MD5, of a key and some data */
function core_hmac_md5(key, data){
  var bkey = str2binl(key);
  if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
  var ipad = Array(16), opad = Array(16);
  for(var i = 0; i < 16; i++){
    ipad[i] = bkey[i] ^ 0x36363636;
    opad[i] = bkey[i] ^ 0x5C5C5C5C;
  }
  var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
  return core_md5(opad.concat(hash), 512 + 128);
}

/* Add integers, wrapping at 2^32. This uses 16-bit operations internally to work around bugs in some JS interpreters. */
function safe_add(x, y){
  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}
/* Bitwise rotate a 32-bit number to the left. */
function bit_rol(num, cnt){  return (num << cnt) | (num >>> (32 - cnt));}
/* Convert a string to an array of little-endian words If chrsz is ASCII, characters >255 have their hi-byte silently ignored. */
function str2binl(str){
  var bin = Array();
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < str.length * chrsz; i += chrsz)
    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
  return bin;
}
/* Convert an array of little-endian words to a string */
function binl2str(bin){
  var str = "";
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < bin.length * 32; i += chrsz)
    str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  return str;
}
/* Convert an array of little-endian words to a hex string. */
function binl2hex(binarray){
  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i++){
    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);
  }
  return str;
}
/* Convert an array of little-endian words to a base-64 string */
function binl2b64(binarray){
  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i += 3)  {
    var triplet = (((binarray[i   >> 2] >> 8 * ( i   %4)) & 0xFF) << 16)
                | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
                |  ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
    for(var j = 0; j < 4; j++){
      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}
//----------------------------------------------------------------

// JavaScript Document
// -----------------function ends------------------------
function checkpostal(txt){
	var re5digit=/^\d{6}$/ //regular expression defining a 5 digit number
	if (txt.value.search(re5digit)==-1) {//if match failed
		return false;
	}
	else return true;
}

// -----------------function ends------------------------
function checkstring(txt) {
	var re5digit=/^[(a-z)|(A-Z)]{1,2}$/
	if (txt.value.search(re5digit)==-1) {//if match failed
		return false;
	}
	else return true;
} // function ends

// -----------------function ends------------------------
	function drop1(v1){ 
		for(i=0; i<v1.length; i++){ 
			if(v1.options[i].selected){ 
				v1.options[i]= null; 
				i=-1; 
			} 
		} 
	}

// -----------------function ends------------------------

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function

///----------------------------------------------
	function checknumber(myfield) {
		mynum = parseInt(myfield.value);
		alert(mynum);
		if(mynum == NaN) {
			alert("Not a number");
 			myfield.focus();
			//return true;
		}
		//else return false;
	}

function validateEmail(strValue) {
	//var objRegExp  = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
  	//check for valid email
 	 //return objRegExp.test(strValue);
	 
	 if(strValue.indexOf('@')>-1 && strValue.indexOf('.')>-1)
	 	return true;
	else
		return false;
}
///----------------------------------------------

function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only
    valid dates with 2 digit month, 2 digit day,
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

REMARKS:
   Avoids some of the limitations of the Date.parse()
   method such as the date separator character.
*************************************************/
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/

  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var strSeparator = strValue.substring(2,3) //find date separator
    var arrayDate = strValue.split(strSeparator); //split date into month, day, year
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
    var intDay = parseInt(arrayDate[1]);

    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }

    //check for February
    var intYear = parseInt(arrayDate[2]);
    var intMonth = parseInt(arrayDate[0]);
    if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
      return true; //Feb. had valid number of days
  }
  return false; //any other values, bad date
}

function getUserDate(date) {
	mydate= new myDate(date.substr(0,4), date.substr(5,2), date.substr(8,2));
	return date;
}
