var gtvt_ui={
isForumActive:false,
calcHeight:function(id){
var the_height=
document.getElementById(id).contentWindow.document.body.scrollHeight;
document.getElementById(id).height=the_height;},
isNull:function(obj){
return(obj==null||obj=='undefined');},
uniqueList:function(str){
str=str.replace(/\r/gi,"\n");
str=str.replace(/\n+/gi,"\n");
var hash={},uniqueListArr=[],allList=str.split('\n');
for(var i=0;i<allList.length;i++){
var data=(this.isNull(allList[i]))?null:this.trim(allList[i]);
if(data!=null&&data.length>0&&hash[data.toLowerCase()]!=1){
uniqueListArr.push(data);
hash[data]=1;}}
return uniqueListArr;},
getTag:function(tag){
if(document.getElementById){
return document.getElementById(tag);}else{
if(document.layers){
return document.layers[tag];}else{
return document.all[tag];}}
return tag;},
hideTag:function(id){
var tag=this.getTag(id);
tag.className='invisible';},
showTag:function(id,className){
className=className?"visible":className;
var tag=this.getTag(id);
tag.className=className;},
toggleClass:function(visible,invisible,newClass){
var invisibleTag=this.getTag(invisible),visibleTag=this.getTag(visible);
if(!this.isNull(invisibleTag)){invisibleTag.className='invisible';}
if(!this.isNull(visibleTag)){visibleTag.className=newClass;}},
showEvent:function(){
this.hideTag('event_out');
this.showTag('event_in');
this.showTag('event');
document.forms.gtvtForm.addEventYn.value='Y';
var startDate=dojo.widget.byId('gtvt_calendar_id_eventFromDate_');
var endDate=dojo.widget.byId('gtvt_calendar_id_eventToDate_');
if(startDate.getValue()==''){startDate.setDate(new Date());}
var equalDates=this.compareDates(endDate.getValue(),dateFormat,startDate.getValue(),dateFormat);
if(!this.isDate(endDate.getValue(),dateFormat)||equalDates<0){
endDate.setDate(startDate.getDate());
equalDates=0;}
var startTime=document.forms.gtvtForm.eventFromTime.value;
var endTime=document.forms.gtvtForm.eventToTime.value;
if(this.isNull(startTime)||this.trim(startTime)==''){
startTime='6:00pm';}
if(this.isNull(endTime)||this.trim(endTime)==''){
endTime='8:00pm';}
var ampm=0;
if(startTime.substring(startTime.length-2,startTime.length)=='pm'){
ampm=12;}else{
ampm=0;}
var startHour=startTime.substring(1,startTime.indexOf(':')-1)*1+ampm;
var startMin=startTime.substring(startTime.indexOf(':')+1,startTime.length-2)*1;
if(endTime.substring(endTime.length-2,endTime.length)=='pm'){
ampm=12;}else{
ampm=0;}
var endHour=endTime.substring(1,endTime.indexOf(':')-1)*1+ampm;
var endMin=endTime.substring(endTime.indexOf(':')+1,endTime.length-2)*1;
if(equalDates==0&&(startHour>endHour||(startHour==endHour&&startMin>endMin))){
startTime='6:00pm';
endTime='8:00pm';}
document.forms.gtvtForm.eventFromTime.value=startTime;
document.forms.gtvtForm.eventToTime.value=endTime;},
showAllDayEvent:function(){
if(document.forms.gtvtForm.eventAllDayYn.checked==false){
document.forms.gtvtForm.eventFromTime.style.visibility='visible';
document.forms.gtvtForm.eventToTime.style.visibility='visible';}else{
document.forms.gtvtForm.eventFromTime.style.visibility='hidden';
document.forms.gtvtForm.eventToTime.style.visibility='hidden';
dojo.widget.byId('gtvt_calendar_id_eventToDate_').setDate(dojo.widget.byId('gtvt_calendar_id_eventFromDate_').getDate());}},
removeEvent:function(){
this.hideTag('event_in');
this.showTag('event_out');
this.hideTag('event');
document.forms.gtvtForm.addEventYn.value='N';},
listMessages:function(action){
if(action=="filter"){
if(document.forms.gtvtForm.activeFolder!=null){
var val=document.forms.gtvtForm.activeFolder.value;}}
var hd=document.createElement("input");
hd.type='hidden';
hd.value=action;
hd.name='action';
document.forms.gtvtForm.appendChild(hd);
document.forms.gtvtForm.submit();},
sortMessages:function(){
var hd=document.createElement("input");
hd.type='hidden';
hd.value='sort';
hd.name='action';
document.forms.gtvtForm.appendChild(hd);
document.forms.gtvtForm.action=document.forms.gtvtForm.sortColumn.value;
document.forms.gtvtForm.submit();},
setAlertSettings:function(id,tag){
var settings=this.getTag(id);
settings.checked="checked";
settings.value=tag;},
messageReportSubmit:function(module,action){
document.forms.gtvtForm.module.value=module;
document.forms.gtvtForm.action.value=action;
document.forms.gtvtForm.submit();},
addOption:function(theSel,theText,theValue){
var newOpt=new Option(theText,theValue);
var selLength=theSel.length;
theSel.options[selLength]=newOpt;},
deleteOption:function(theSel,theIndex){
var selLength=theSel.length;
if(selLength>0){
theSel.options[theIndex]=null;}},
popNewMessage:function(forum_id,topic_id,pk,uId,tId,subject){
if(dlgNewPost==null){dlgNewPost=dojo.widget.createWidget("dojo:Dialog",{id:"newPost",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,closeNode:"np_cls_hider",closeOnBackgroundClick:"true"},dojo.byId("newPost"));tinyMCE.execCommand("mceAddControl",false,"postDescription");}
document.forms.newMessageForm.tId.value=tId;
document.forms.newMessageForm.uId.value=uId;
document.forms.newMessageForm.pk.value=pk;
document.forms.newMessageForm.forum_id.value=forum_id;
document.forms.newMessageForm.topic_id.value=topic_id;
document.forms.newMessageForm.subject.value=subject;
dlgNewPost.show();},
checkAll:function(){
var inputs=document.getElementsByTagName("input");
var count=0;
if(inputs&&inputs.length){
count=inputs.length;}
for(i=0;i<count;i++){
if(inputs[i].type=='checkbox'){inputs[i].checked=true;}}},
clearAll:function(){
var inputs=document.getElementsByTagName("input");
var count=0;
if(inputs&&inputs.length){
count=inputs.length;}
for(i=0;i<count;i++){
if(inputs[i].type=='checkbox'){
inputs[i].checked=false;}}},
closeDialog:function(widgetId){
dojo.widget.byId(widgetId).hide();},
qDetails:function(qId,tId){
if(dlg_entityDetails==null){dlg_entityDetails=dojo.widget.createWidget("dojo:Dialog",{id:"entityDetails_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,executeScripts:"true",cacheContent:"false",href:""},dojo.byId("entityDetails_div"));}
dlg_entityDetails.setUrl("");
dlg_entityDetails.setUrl("response.do?qId="+qId+"&module=response&action=questionDetails&tId="+tId);
dlg_entityDetails.show();},
recDetails:function(recId,tId){
if(dlg_entityDetails==null){dlg_entityDetails=dojo.widget.createWidget("dojo:Dialog",{id:"entityDetails_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,executeScripts:"true",cacheContent:"false",href:""},dojo.byId("entityDetails_div"));}
dlg_entityDetails.setUrl("");
dlg_entityDetails.setUrl("response.do?recId="+recId+"&module=response&action=recipientDetails&tId="+tId);
dlg_entityDetails.show();},
questionsPreview:function(tId){
if(dlg_questionsPreview==null){dlg_questionsPreview=dojo.widget.createWidget("dojo:Dialog",{id:"questionsPreview_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,executeScripts:"true",cacheContent:"false",href:""},dojo.byId("questionsPreview_div"));}
dlg_questionsPreview.setUrl("");
dlg_questionsPreview.setUrl("smReport.do?module=response&action=previewQuestions&tId="+tId);
dlg_questionsPreview.show();},
showRa:function(){
if(dlg_ra==null){dlg_ra=dojo.widget.createWidget("dojo:Dialog",{id:"ra_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,closeNode:"ra_cls_hider",closeOnBackgroundClick:"true"},dojo.byId("ra_div"));tinyMCE.execCommand("mceAddControl",false,"postDescription");}
dlg_ra.show();},
uploadContacts:function(){
if(this.isForumActive){return;}
var oldtag=this.getTag("current");
if(!this.isNull(oldtag)){
oldtag.removeAttribute('id');}
var tag=this.getTag("ucmenu");
tag.id='current';
this.isForumActive=true;
this.getTag('ab').innerHTML=this.getTag('uc').innerHTML;},
viewATEAppmail:function(ateUrl){
window.open(ateUrl,'ATEMessage','toolbar=no,menubar=no,resizable=no,scrollbars=yes,status=no,location=no,width=824,left=150, top=150,height=500');},
popNewPvtMsg:function(uId,tId,pk,jUserId,author){
if(dlg_pm==null){dlg_pm=dojo.widget.createWidget("dojo:Dialog",{id:"pm_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,executeScripts:"true",cacheContent:"false",href:""},dojo.byId("pm_div"));var pm_btn=document.getElementById("pm_hider");dlg_pm.setCloseControl(pm_btn);}
document.forms.pmForm.tId.value=tId;
document.forms.pmForm.uId.value=uId;
document.forms.pmForm.pk.value=pk;
document.forms.pmForm.toUsername.value=author;
document.forms.pmForm.toUserId.value=jUserId;
dlg_pm.show();},
popForwardMsg:function(uId,tId,pk){
if(dlgForward==null){dlgForward=dojo.widget.createWidget("dojo:Dialog",{id:"forward_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,closeNode:"fwd_cls_hider",closeOnBackgroundClick:"true"},dojo.byId("forward_div"));var forward_btn=document.getElementById("forward_hider");dlgForward.setCloseControl(forward_btn);}
document.forms.gtvtForwardForm.tId.value=tId;
document.forms.gtvtForwardForm.uId.value=uId;
document.forms.gtvtForwardForm.pk.value=pk;
dlgForward.show();},
postSubmit:function(actionName,message,formName){
this.setMessage(message);
document.forms[formName].submit();},
setMessage:function(message){
var mainData=this.getTag('fadedojo');
mainData.innerHTML=message;
mainData.className='visible content';
dojo.lfx.html.fadeIn("fadedojo",1).play();
setTimeout('dojo.lfx.html.fadeOut("fadedojo", 1100).play()',3000);},
searchMessages:function(action){
var keywords=document.forms.gtvtForm.keywords.value;
if(keywords==null||keywords.length==0||this.trim(keywords).length==0){
alert("Please enter valid keyword(s) to search.");
return;}
document.forms.gtvtForm.activeFolder.value='M';
var hd=document.createElement("input");hd.type='hidden';hd.value=action;hd.name='action';document.forms.gtvtForm.appendChild(hd);
document.forms.gtvtForm.submit();},
browserCheck:{
init:function(){
this.browser=this.searchString(this.dataBrowser)||"An unknown browser";
this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";
this.OS=this.searchString(this.dataOS)||"an unknown OS";
if((this.browser=="Netscape"&&this.version>=3)||(this.browser=="Explorer"&&this.version>=4)||(this.browser=="Firefox")||(this.browser=="Safari" && this.version >=3)||(this.browser==="Chrome")){version="n3";}
else{version="n2";}
if(version=="n2"){
var brwId=gtvt_ui.getTag('browser-check');
if(!gtvt_ui.isNull(brwId)){
brwId.className="browserCheck";}}},
searchString:function(data){
for(var i=0;i<data.length;i++){
var dataString=data[i].string;
var dataProp=data[i].prop;
this.versionSearchString=data[i].versionSearch||data[i].identity;
if(dataString){
if(dataString.indexOf(data[i].subString)!=-1){return data[i].identity;}}
else if(dataProp){return data[i].identity;}}},
searchVersion:function(dataString){
var index=dataString.indexOf(this.versionSearchString);
if(index==-1){return;}
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},
dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS:[{
string:navigator.platform,
subString:"Win",
identity:"Windows"},{
string:navigator.platform,
subString:"Mac",
identity:"Mac"},{
string:navigator.platform,
subString:"Linux",
identity:"Linux"}]},
sErrIsEmpty:" is required.\n",
sErrValidateTextMinLength1:" must be at least ",
sErrValidateTextMinLength2:" characters.\n",
sErrValidateTextMaxLength1:" can be at most ",
sErrValidateTextMaxLength2:" characters.\n",
sErrValidateNumber:" must only contain a number.\n",
sErrValidateNumberMin:" Minimum value is ",
sErrValidateNumberMax:" Maximum value is ",
sErrValidateEmail:" invalid email address(es).\n",
sErrValidateDate:" is not a valid date for ",
sErrCompareDatesSameAs:"same as",
sErrCompareDatesLessOrEqual:"less or equal to",
sErrCompareDatesMoreOrEqual:"more or equal to",
sErrCompareDatesLessThan:"less than",
sErrCompareDatesMoreThan:"more than",
sErrCompareDatesDifferent:"different",
MONTH_NAMES:['January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
DAY_NAMES:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat'],
LZ:function(x){return(x<0||x>9?"":"0")+x;},
g_arrValidDateFormats:["MM/DD/YYYY","DD/MM/YYYY","YYYY/DD/MM","YYYY/MM/DD","MM-DD-YYYY","DD-MM-YYYY","YYYY-DD-MM","YYYY-MM-DD","YYYYMMDD","YYMMDD","YY-MM-DD"],
g_sLastValidDateFormat:null,
validateText:function(sText,sName,bAllowEmpty,iMinLength,iMaxLength){
var sErrorMsg="";
sText=this.trim(sText);
if(!bAllowEmpty&&sText==""){
sErrorMsg=sName+this.sErrIsEmpty;}
else if(sText!=""){
if(iMinLength!=null&&sText.length<iMinLength){
sErrorMsg+=sName+this.sErrValidateTextMinLength1+iMinLength+this.sErrValidateTextMinLength2;}
if(iMaxLength!=null&&sText.length>iMaxLength){
sErrorMsg+=sName+this.sErrValidateTextMaxLength1+iMaxLength+this.sErrValidateTextMaxLength2;}}
return sErrorMsg;},
validateNumber:function(sNumber,sName,bAllowEmpty,iMinValue,iMaxValue,bAllowNegative){
var sErrorMsg="";
sNumber=this.trim(sNumber);
if(!bAllowEmpty&&sNumber==""){
sErrorMsg=sName+this.sErrIsEmpty;}
else if(sNumber!=""){
if(bAllowNegative&&sNumber.charAt(0)=="-"){sNumber=sNumber.slice(1);}
var objRegExp=new RegExp("[^0-9]","g");
var iInvalidPos=sNumber.search(objRegExp);
if(iInvalidPos!=-1){
sErrorMsg+=sName+this.sErrValidateNumber;}
else{
if(iMinValue!=null&&(+sNumber)<iMinValue){
sErrorMsg+=sName+this.sErrValidateNumberMin+iMinValue+".\n";}
if(iMaxValue!=null&&(+sNumber)>iMaxValue){
sErrorMsg+=sName+this.sErrValidateNumberMax+iMaxValue+".\n";}}}
return sErrorMsg;},
isDate:function(val,format){
var date=this.getDateFromFormat(val,format);
if(date==0){return false;}
return true;},
formatDate:function(date,format){
format=format+"";
var result="";
var i_format=0;
var c="";
var token="";
var y=date.getYear()+"";
var M=date.getMonth()+1;
var d=date.getDate();
var E=date.getDay();
var H=date.getHours();
var m=date.getMinutes();
var s=date.getSeconds();
var value={};
if(y.length<4){y=""+(y-0+1900);}
value.y=""+y;
value.yyyy=y;
value.yy=y.substring(2,4);
value.M=M;
value.MM=this.LZ(M);
value.MMM=this.MONTH_NAMES[M-1];
value.NNN=this.MONTH_NAMES[M+11];
value.d=d;
value.dd=this.LZ(d);
value.E=this.DAY_NAMES[E+7];
value.EE=this.DAY_NAMES[E];
value.H=H;
value.HH=this.LZ(H);
if(H==0){value.h=12;}
else if(H>12){value.h=H-12;}
else{value.h=H;}
value.hh=this.LZ(value.h);
if(H>11){value.K=H-12;}else{value.K=H;}
value.k=H+1;
value.KK=this.LZ(value.K);
value.kk=this.LZ(value.k);
if(H>11){value.a="PM";}
else{value.a="AM";}
value.m=m;
value.mm=this.LZ(m);
value.s=s;
value.ss=this.LZ(s);
while(i_format<format.length){
c=format.charAt(i_format);
token="";
while((format.charAt(i_format)==c)&&(i_format<format.length)){
token+=format.charAt(i_format++);}
if(value[token]!=null){result=result+value[token];}
else{result=result+token;}}
return result;},
_isInteger:function(val){
var digits="1234567890";
for(var i=0;i<val.length;i++){
if(digits.indexOf(val.charAt(i))==-1){return false;}}
return true;},
_getInt:function(str,i,minlength,maxlength){
for(var x=maxlength;x>=minlength;x--){
var token=str.substring(i,i+x);
if(token.length<minlength){return null;}
if(this._isInteger(token)){return token;}}
return null;},
getDateFromFormat:function(val,format){
val=val+"";
format=format+"";
var i_val=0;
var i_format=0;
var c="";
var token="";
var token2="";
var x,y;
var now=new Date();
var year=now.getYear();
var month=now.getMonth()+1;
var date=1;
var hh=now.getHours();
var mm=now.getMinutes();
var ss=now.getSeconds();
var ampm="";
while(i_format<format.length){
c=format.charAt(i_format);
token="";
while((format.charAt(i_format)==c)&&(i_format<format.length)){
token+=format.charAt(i_format++);}
if(token=="yyyy"||token=="yy"||token=="y"){
if(token=="yyyy"){x=4;y=4;}
if(token=="yy"){x=2;y=2;}
if(token=="y"){x=2;y=4;}
year=this._getInt(val,i_val,x,y);
if(year==null){return 0;}
i_val+=year.length;
if(year.length==2){
if(year>70){year=1900+(year-0);}
else{year=2000+(year-0);}}}
else if(token=="MMM"||token=="NNN"){
month=0;
for(var i=0;i<this.MONTH_NAMES.length;i++){
var month_name=this.MONTH_NAMES[i];
if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){
if(token=="MMM"||(token=="NNN"&&i>11)){
month=i+1;
if(month>12){month-=12;}
i_val+=month_name.length;
break;}}}
if((month<1)||(month>12)){return 0;}}
else if(token=="EE"||token=="E"){
for(var j=0;j<this.DAY_NAMES.length;j++){
var day_name=this.DAY_NAMES[j];
if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){
i_val+=day_name.length;
break;}}}
else if(token=="MM"||token=="M"){
month=this._getInt(val,i_val,token.length,2);
if(month==null||(month<1)||(month>12)){return 0;}
i_val+=month.length;}
else if(token=="dd"||token=="d"){
date=this._getInt(val,i_val,token.length,2);
if(date==null||(date<1)||(date>31)){return 0;}
i_val+=date.length;}
else if(token=="hh"||token=="h"){
hh=this._getInt(val,i_val,token.length,2);
if(hh==null||(hh<1)||(hh>12)){return 0;}
i_val+=hh.length;}
else if(token=="HH"||token=="H"){
hh=this._getInt(val,i_val,token.length,2);
if(hh==null||(hh<0)||(hh>23)){return 0;}
i_val+=hh.length;}
else if(token=="KK"||token=="K"){
hh=this._getInt(val,i_val,token.length,2);
if(hh==null||(hh<0)||(hh>11)){return 0;}
i_val+=hh.length;}
else if(token=="kk"||token=="k"){
hh=this._getInt(val,i_val,token.length,2);
if(hh==null||(hh<1)||(hh>24)){return 0;}
i_val+=hh.length;hh--;}
else if(token=="mm"||token=="m"){
mm=this._getInt(val,i_val,token.length,2);
if(mm==null||(mm<0)||(mm>59)){return 0;}
i_val+=mm.length;}
else if(token=="ss"||token=="s"){
ss=this._getInt(val,i_val,token.length,2);
if(ss==null||(ss<0)||(ss>59)){return 0;}
i_val+=ss.length;}
else if(token=="a"){
if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}
else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}
else{return 0;}
i_val+=2;}
else{
if(val.substring(i_val,i_val+token.length)!=token){return 0;}
else{i_val+=token.length;}}}
if(i_val!=val.length){return 0;}
if(month==2){
if(((year%4==0)&&(year%100!=0))||(year%400==0)){
if(date>29){return 0;}}
else{if(date>28){return 0;}}}
if((month==4)||(month==6)||(month==9)||(month==11)){
if(date>30){return 0;}}
if(hh<12&&ampm=="PM"){hh=hh-0+12;}
else if(hh>11&&ampm=="AM"){hh-=12;}
var newdate=new Date(year,month-1,date,hh,mm,ss);
return newdate.getTime();},
validateDate:function(sDate,sName,arrValidFormats,bAllowEmpty){
var sErrorMsg="";
var bValidFound=false;
var bEmpty=false;
sDate=this.trim(sDate);
if(arrValidFormats==null){
arrValidFormats=this.g_arrValidDateFormats;}
if(!bAllowEmpty&&sDate==""){
sErrorMsg=sName+this.sErrIsEmpty;}
else if(sDate!=""){
var sAllDates="";
for(var i=0;i<arrValidFormats.length;i++){
var sValidDate=arrValidFormats[i];
var bThisValid=true;
if(sDate.length==sValidDate.length){
var iYear,iMonth,iDate,rgExp;
var iYearLen=(sValidDate.lastIndexOf("Y")!=-1)?sValidDate.lastIndexOf("Y")-sValidDate.indexOf("Y")+1:0;
var iMonthLen=(sValidDate.lastIndexOf("M")!=-1)?sValidDate.lastIndexOf("M")-sValidDate.indexOf("M")+1:0;
var iDateLen=(sValidDate.lastIndexOf("D")!=-1)?sValidDate.lastIndexOf("D")-sValidDate.indexOf("D")+1:0;
if(iYearLen!=0){
iYear=sDate.slice(sValidDate.indexOf("Y"),sValidDate.indexOf("Y")+iYearLen);
rgExp=new RegExp("[0-9]{"+iYearLen+"}");
if(iYear.search(rgExp)==-1){
bThisValid=false;}}
if(iMonthLen!=0&&bThisValid){
iMonth=sDate.slice(sValidDate.indexOf("M"),sValidDate.indexOf("M")+iMonthLen);
rgExp=new RegExp("[0-9]{"+iMonthLen+"}");
if(iMonth.search(rgExp)>-1){
if(iMonth<1||iMonth>12){
bThisValid=false;}}
else{
bThisValid=false;}}
if(iDateLen!=0&&bThisValid){
iDate=sDate.slice(sValidDate.indexOf("D"),sValidDate.indexOf("D")+iDateLen);
rgExp=new RegExp("[0-9]{"+iDateLen+"}");
if(iDate.search(rgExp)>-1){
if(iDate<1||iDate>31){
bThisValid=false;}
if(iMonth==4||iMonth==6||iMonth==9||iMonth==11){
if(iDate==31){
bThisValid=false;}}
if(iMonth==2){
if(iDate>29){
bThisValid=false;}
if(iYear){
if(iDate==29&&((iYear/ 4)!= parseInt(iYear/ 4,10))){
bThisValid=false;}}}}
else{
bThisValid=false;}}
if(bThisValid){
rgExp=new RegExp("[^YMD]","g");
rgExp2=new RegExp("[^0-9]","g");
var arrMatches=sValidDate.match(rgExp);
var arrMatches2=sDate.match(rgExp2);
if(arrMatches!=null){
for(var i2=0;i2<arrMatches.length;i2++){
if(arrMatches2==null||
arrMatches2.length<arrMatches.length||
arrMatches[i2]!=arrMatches2[i2]){bThisValid=false;}}}}}
else{
bThisValid=false;}
if(bThisValid){
bValidFound=true;
this.g_sLastValidDateFormat=sValidDate;}
sAllDates+="\"" + arrValidFormats[i] + "\", ";
if(i==arrValidFormats.length-1){sAllDates=sAllDates.slice(0,sAllDates.length-2);}}
if(!bValidFound){sErrorMsg=sDate+sErrValidateDate+sName+".\n";}}
return sErrorMsg;},
compareDates:function(date1,dateformat1,date2,dateformat2){
var d1=this.getDateFromFormat(date1,dateformat1);
var d2=this.getDateFromFormat(date2,dateformat2);
if(d1==0||d2==0){
return -1;}
else if(d1>d2){
return 1;}
else if(d1<d2){
return -1;}
return 0;},
compareDateValidation:function(sDate1,sDate1Name,sMethod,sDate2,sDate2Name){
var compareTo=this.compareDates(sDate1,dateFormat,sDate2,dateFormat);
switch(sMethod){
case "==":if(compareTo==0){return sDate1Name+' '+this.sErrCompareDatesSameAs+' '+sDate2Name;}break;
case "<=":if(compareTo<=0){return sDate1Name+' '+this.sErrCompareDatesLessOrEqual+' '+sDate2Name;}break;
case ">=":if(compareTo>=0){return sDate1Name+' '+this.sErrCompareDatesMoreOrEqual+' '+sDate2Name;}break;
case "<":if(compareTo<0){return sDate1Name+' '+this.sErrCompareDatesLessThan+' '+sDate2Name;}break;
case ">":if(compareTo>0){return sDate1Name+' '+this.sErrCompareDatesMoreThan+' '+sDate2Name;}break;
case "!=":if(compareTo!=0){return sDate1Name+' '+this.sErrCompareDatesDifferent+' '+sDate2Name;}break;}},
validateTime:function(sTime,sName,bAllowEmpty){
var sErrorMsg="";
var sColon=":";
var iHour="";
var iMinutes="";
sTime=this.trim(sTime);
if(!bAllowEmpty&&sTime.length==0){
sErrorMsg=sName+this.sErrIsEmpty;}
return sErrorMsg;},
validateEmail:function(sEmail,sName,bAllowEmpty){
var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
var check=/@[\w\-]+\./;
var checkend=/\.[a-zA-Z]{2,3}$/;
var sErrorMsg="";
sEmail=this.trim(sEmail);
if(!bAllowEmpty&&sEmail==""){
sErrorMsg=sName+this.sErrIsEmpty;}
else if(sEmail!=""){
if(((sEmail.search(exclude)!=-1)||(sEmail.search(check))==-1)||(sEmail.search(checkend)==-1)){
sErrorMsg=sName+this.sErrValidateEmail;}}
return sErrorMsg;},
trimCR:function(sValue){
return sValue.replace(/^\s+|\s+$/g,"");},
ltrim:function(sValue){
while(1){
if(sValue.substring(0,1)!=" "){
break;}
sValue=sValue.substring(1,sValue.length);}
return sValue;},
rtrim:function(sValue){
while(1){
if(sValue.substring(sValue.length-1,sValue.length)!=" "){
break;}
sValue=sValue.substring(0,sValue.length-1);}
return sValue;},
trim:function(sValue){
var sTemp=this.ltrim(sValue);
return this.rtrim(sTemp);},
anyEmailIdsError:function(emails,sName,errorId){
var trimEmails=this.trimCR(emails);
if(!this.anyNullTextError(trimEmails,sName,errorId)){
var emailList=trimEmails.split(/[,;]/);
var errorMsg=this.validateText(trimEmails,sName,false);
for(var i=0;i<emailList.length;i++){
errorMsg=this.validateEmail(emailList[i],'',false);
if(!this.isNull(errorMsg)){break;}}
return this.setErrorTag(errorMsg,errorId);}
return true;},
anyNullTextError:function(sText,sName,errorId){
return this.setErrorTag(this.validateText(sText,sName,false),errorId);},
anyNumberError:function(sNumber,sName,bAllowEmpty,bAllowNegative,errorId){
return this.setErrorTag(this.validateNumber(sNumber,sName,bAllowEmpty,bAllowNegative),errorId);},
setErrorTag:function(errorMsg,errorId){
if(!this.isNull(errorMsg)&&this.trim(errorMsg)!=''){
var errorTag=this.getTag(errorId);
errorTag.innerHTML=errorMsg;
errorTag.className='error';
return true;}
return false;},
anyDateError:function(sText,sName,allowEmpty,errorId){
return this.setErrorTag(this.validateDate(sText,sName,null,allowEmpty),errorId);},
anyDateCompareError:function(sDate1,sDate1Name,sMethod,sDate2,sDate2Name,errorId){
return this.setErrorTag(this.compareDateValidation(sDate1,sDate1Name,sMethod,sDate2,sDate2Name),errorId);},
anyTimeError:function(sText,sName,allowEmpty,errorId){
return this.setErrorTag(this.validateTime(sText,sName,allowEmpty),errorId);},
confirmUserAction:function(message,action){
if(confirm(message)){
var hd=document.createElement("input");
hd.type='hidden';
hd.value=action;
hd.name='userAction';
document.forms.gtvtForm.appendChild(hd);
document.forms.gtvtForm.submit();
return true;}
else{
return false;}},
showForward:function(){
if(dlg_rf==null){dlg_rf=dojo.widget.createWidget("dojo:Dialog",{id:"rf_div",bgColor:"white",bgOpacity:0.5,toggle:"fade",toggleDuration:500,closeNode:"rf_cls_hider",closeOnBackgroundClick:"true"},dojo.byId("rf_div"));
var rf_btn=document.getElementById("rf_hider");
dlg_rf.setCloseControl(rf_btn);}dlg_rf.show();},
showData:function(id,inn,out){
var inid=inn+'_'+id;
var outid=out+'_'+id;
if(document.getElementById){
if(document.getElementById(inid).style.display=="none"){
document.getElementById(inid).style.display='block';
document.getElementById(outid).style.display='none';}else{
document.getElementById(inid).style.display='none';
document.getElementById(outid).style.display='block';}}else{
if(document.layers){
if(document.inid.display=="none"){
document.inid.display='block';
document.outid.display='none';}else{
document.inid.display='none';
document.outid.display='block';}}else{
if(document.all.inid.style.visibility=="none"){
document.all.inid.style.display='block';
document.all.outid.style.display='none';}else{
document.all.inid.style.display='none';
document.all.outid.style.display='block';}}}},
openidPopupClose: function(){

 if (window.opener && !window.opener.closed) {
    window.opener.document.gtvtForm.from.value= document.forms.myform.myemail.value;
  }
 window.close();
},
submitSignup: function(){if(!document.forms["gtvtForm"].agreed.checked) {alert('Please accept terms of service to continue');return;}document.forms["gtvtForm"].submit();},
verifyUser: function(email, userId){var userDiv=getTag('user_email');userDiv.innerHTML=email;}
};

