// JavaScript Document



String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function resetRadius() {
	var dd = document.getElementById('radius');
	dd.selectedIndex = 0;
	
	}

var imdonereseller = false;
function setReseller(x,val) {
//alert(val);
if(!imdonereseller) {
var dd = document.getElementById('reseller');

for(var i = 0; i < dd.length; i++){
	
	if(dd.options[i].value == val){
		
		dd.selectedIndex = i;
		}
}// for
imdonereseller = true;
}

}


var imdonetopic = false;
function setTopic(x,val) {
if(!imdonetopic) {
var dd = document.getElementById('topic');
for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;

}
}
imdonetopic = true;
}
}


var imdone2 = false;
function setCountry(x,val) {


if(!imdone2) {
	
var dd = document.getElementById('country');
for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;

}
}

//window.setTimeout("refreshGrid()",2000);
refreshGrid();
imdone2 = true;
}
}


var imdoneState = false;
function setState(x,val) {
if(!imdoneState) {
	var dd = document.getElementById('state');
	for(var i = 0; i < dd.length; i++){
		if(dd.options[i].value == val.toUpperCase()){
		dd.selectedIndex = i;
		}
	}

refreshGrid();
imdoneState = true;
	}
}



var imdone5 = false;
function setCountry1(x,val) {

if(!imdone5) {
var dd = document.getElementById('country1');

for(var i = 0; i < dd.length; i++){
if(dd.options[i].value == val){
dd.selectedIndex = i;

}
}
imdone5 = true;
}
}


getGeo = function() {
	
	var geoCountries = new seminarCFC();
	
	var s = ColdFusion.getElementValue('type');
	var co = ColdFusion.getElementValue('country');
	
	
	if (co=='United States' || co=='Canada'){
		document.getElementById("dstate").style.display='block';
		document.getElementById("stateLabel").style.display='block';
		} else {
			document.getElementById("dstate").style.display='none';
			document.getElementById("stateLabel").style.display='none';
			}
	
	if (s!='w' ){
	
	geoCountries.setCallbackHandler(tagsHandler);
	geoCountries.getGeoCountries(getSeminarCounty());
	} else {
		document.getElementById("cust_zip").value='';
		var xx1=document.getElementById("selectform");
		xx1.radius[0].selected=true;
		
		
		document.getElementById("selectform").radius.style.display='none';
		document.getElementById("selectform").cust_zip.style.display='none';
		document.getElementById("radiusLabel").style.display='none';
		document.getElementById("cust_zipLabel").style.display='none';
		document.getElementById("dstate").style.display='none';
		document.getElementById("stateLabel").style.display='none';
		
		}
	}
getSeminarCounty = function() {
	var s = ColdFusion.getElementValue('country');
	return s;
	}
getSeminarZip = function() {
	var z = ColdFusion.getElementValue('cust_zip');
	return z;
	}

tagsHandler = function(returndata) {
	//alert(returndata)
	var x=ColdFusion.getElementValue('type');
	if (returndata==1 && x != 'w'){
		
		
		document.getElementById("selectform").radius.style.display='block';
		document.getElementById("selectform").cust_zip.style.display='block';
		document.getElementById("radiusLabel").style.display='block';
		document.getElementById("cust_zipLabel").style.display='block';
		
		
		
	} else {
		document.getElementById("cust_zip").value='';
		document.getElementById("selectform").radius.style.display='none';
		document.getElementById("selectform").cust_zip.style.display='none';
		document.getElementById("radiusLabel").style.display='none';
		document.getElementById("cust_zipLabel").style.display='none';
			
		// hide state				
		document.getElementById("dstate").style.display='none';
		document.getElementById("stateLabel").style.display='none';
	}
}
function getSeminarObj(id) {
	
	var objSeminar = new seminarCFC();
	objSeminar.setCallbackHandler(semHandler);
	
	objSeminar.isSeminarS(id,ColdFusion.getElementValue('lang1'));
	}
	
function openseminarRegistration(var1) {
	
	var debug_log = new seminarCFC();
	debug_log.setCallbackHandler(debugHandler);
	
	
	if (var1.REGISTRATIONURL !=null && var1.REGISTRATIONURL.trim() != '')
	{
	window.open(var1.REGISTRATIONURL,'_blank');	} else 	
	{
	var loc='';
	var loc_st_seperator='';
	var st_co_seperator='';
	if ((var1.LOCATION.trim()==null || var1.LOCATION.trim()=='') &&(var1.STATE.trim()==null || var1.STATE.trim()=='')) {
		loc_st_seperator='';
		} else {
			loc_st_seperator=', ';
			}
			
			
	if ((var1.STATE.trim()==null || var1.STATE.trim()=='') &&(var1.COUNTRY.trim()==null || var1.COUNTRY.trim()=='')) {
		st_co_seperator='';
		} else {
			st_co_seperator=', ';
			}
	
	
	
	if(var1.SEMINARTYPE == 'w'){
		var loc=var1.COUNTRY.trim();
	} else if (var1.SEMINARTYPE = 's' && (var1.COUNTRY== 'United States' || var1.COUNTRY == 'Canada'|| var1.COUNTRY == 'US/Canada')) {
			var loc=var1.LOCATION + loc_st_seperator + var1.STATE + st_co_seperator + var1.COUNTRY;
			
		} 
		else {
			var loc=var1.LOCATION + ' ' + var1.COUNTRY;
		}
	
	
	if(var1.REG_COUNT < var1.SEATLIMIT || var1.SEATLIMIT == 0){
		  var type2='reg';
		} else {
			var type2='wait';
			}
	
	document.getElementById("r_location").innerHTML=loc.trim();
	
	rf=document.getElementById("registerform");
	rf.reg_status.value=type2;
	rf.seminar_type.value=var1.SEMINARTYPE;
	rf.iCompanyID.value=var1.SBL_ROWID;
	rf.iSeminarID.value=var1.VARSEMINARID;
	rf.topic1.value=var1.TOPIC_CODE;
	rf.language.value=var1.LANGUAGECODE;
	rf.type1.value=var1.TYPE;
	
	//obj1= new Object();
	var1.iSeminarIDFIELD=rf.iSeminarID.value;
	
	
	// set producttype for siebel. 
	if (var1.TOPIC_CODE==1 || var1.TOPIC_CODE==3){
		document.getElementById("ProductType").value=8;
		}else{
			document.getElementById("ProductType").value=9;
			}
	// end populating hidden fields on reg form
	
	
	document.getElementById("r_phone").innerHTML=var1.PHONE;
	document.getElementById("r_reseller").innerHTML='<a href="'+var1.RESELLERURL+'" target="_blank">'+var1.RESELLER+'<a/>';

	document.getElementById("r_thedate").innerHTML=dateFormat(var1.THEDATE, "mmm dS, yyyy");
	document.getElementById("r_thetime").innerHTML=var1.THETIME;
	document.getElementById("r_directions").innerHTML=var1.DIRECTIONS;
	
	ColdFusion.Window.onShow("registerwindow", onshow);
	myWindow = ColdFusion.Window.getWindowObject('registerwindow');
   	myWindow.render(); 
	myWindow.center();
	document.getElementById("windisplay").style.display='block';
	document.getElementById("registerform").Register3.style.display='block';
	document.getElementById("registerform").Register4.style.display='block';
	ColdFusion.Window.show('registerwindow');
	

	
	
 } // end if (var1.REGISTRATIONURL.trim() != '')
	
	
	}
	
function semHandler(returndata) {
	openseminarRegistration(returndata);
	}
	
function debugHandler(returndata) {
	
	}	
	
function cancelRegistration() {
		document.getElementById("displayform").style.display='block';
		document.getElementById("displaysuccess").style.display='none';
		ColdFusion.Window.hide('registerwindow');
	
		}	


function onshow() {

	}


var returncw = function(){
	alert(' 0= '+cm.getColumnWidth(0)+' 1= '+cm.getColumnWidth(1)+' 2= '+cm.getColumnWidth(2)+' 3= '+cm.getColumnWidth(3)+' 4= '+cm.getColumnWidth(4)+' 5= '+cm.getColumnWidth(5)+' 6= '+cm.getColumnWidth(6));
		}




var hideType = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(0,true);
	cm.setColumnWidth(1,319);
	//mygrid.reconfigure(mygrid.getDataSource(),cm);
	mygrid.reconfigure(mygrid.getStore(),cm);
	
	}
	
	
var showType = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(0,false);
	cm.setColumnWidth(1,254);
	//mygrid.reconfigure(mygrid.getDataSource(),cm);
	mygrid.reconfigure(mygrid.getStore(),cm);
	}	
var hideDist = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(5,true);
	cm.setColumnWidth(4,105);
	cm.setColumnWidth(3,120);
	mygrid.reconfigure(mygrid.getStore(),cm);
	//mygrid.reconfigure(mygrid.getDataSource(),cm);
	}
	
var showDist = function(){
	mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
	cm = mygrid.getColumnModel();
	cm.setHidden(5,false);
	cm.setColumnWidth(4,80);
	cm.setColumnWidth(3,90);
	mygrid.reconfigure(mygrid.getStore(),cm);
	//mygrid.reconfigure(mygrid.getDataSource(),cm);
	}

setDistance = function(data,cellmd,record,row,col,store) {
   var co = ColdFusion.getElementValue('country');
   if(co=='United States' || co=='United Kindom')
  { return data+ ' MI';} else {
   return data+ ' KM';}
} 

setDesc = function(data,cellmd,record,row,col,store) {
 prod=record.data.PRODUCTS;

 
 return record.data.DESC1+'<br />'+record.data.PRODUCTS;

 } 

var initGrid = function(){
mygrid = ColdFusion.Grid.getGridObject('seminarGrid');
cm = mygrid.getColumnModel();

for(var i=0; i<cm.getColumnCount();i++) {
   colid = cm.getColumnId(i);
   col = cm.getColumnById(colid);
    col.resizable=false;
    }
// end prevent resizing grid
cm.setRenderer(2, Ext.util.Format.dateRenderer('M d, Y'));
cm.setRenderer(5,setDistance);


mygrid.reconfigure(mygrid.getStore(),cm);
//mygrid.reconfigure(mygrid.getDataSource(),cm);

//add rowclick listner
mygrid.addListener("rowclick",register1);

}
function register1(grid,rowIndex,e) {
	
	var record = grid.getStore().getAt(rowIndex);
	//console.log(record.data);
	//var record = grid.getDataSource().getAt(rowIndex);
    //var id1 = row.data.TOPIC; 
	//openseminarRegistration(record.data.TOPIC);
	openseminarRegistration(record.data);
	      }
		  



function getCountrySearch() 
	{
   		var s = ColdFusion.getElementValue('country');
	    return s;
	}

function getStateSearch() 
	{
   		var s = ColdFusion.getElementValue('state');
	    return s;
	}

	function getTypeSearch() 
	{
 		var s = ColdFusion.getElementValue('type');
		var results1 = document.getElementById("dtype");
		if(s=='s' || s=='w') {
			if(s=='s'){
				
				results1.innerHTML = "Seminars";
				
				
				} else {
					results1.innerHTML = "Webcast";
					}
		hideType();
		} else 	{
			showType();
			results1.innerHTML = "";
			}
		getGeo();
		return s;
	}
	function getTopicSearch() 
	{
   		
		var s = ColdFusion.getElementValue('topic');
		return s;
	}
	function getProductSearch() 
	{
   		var s = ColdFusion.getElementValue('product');
	    return s;
	}
	function getResellerSearch() 
	{
   		var s = ColdFusion.getElementValue('reseller');
	    return s;
	}
	function getCustomerZip() 
	{
   		var s = ColdFusion.getElementValue('cust_zip');
	    return s;
	}
function getRadius() 
	{
		var s = ColdFusion.getElementValue('radius');
		var z = ColdFusion.getElementValue('cust_zip');
	
		if(s=='') {
		hideDist();
		} else if (z.trim()=='') 
		{
			hideDist();
			} else {
				showDist();
				}
		return s;
		} 
			


function validate_zip(msg_ziprequired,msg_zipinvalid,msg_distancerequired,msg_zipinvalid2,msg_clickhere,msg_zipinvalid3) {
		
		var resultDiv = document.getElementById("zipmsg");
		resultDiv.innerHTML = '';
		
		var msg='';
		var err=false;
		var z = ColdFusion.getElementValue('cust_zip');
		var r = ColdFusion.getElementValue('radius');
		var geoObj = new mapquestCFC();
		if (z==null || z=="") 	{
			redisplayGrid();
			return true;
			
			
		} else{
				
		geoObj.setCallbackHandler(geoHandler);
		geoObj.geocode(getSeminarCounty(),'','',getSeminarZip(),msg_zipinvalid,msg_zipinvalid2,msg_clickhere,msg_zipinvalid3);}
				
}  


geoHandler = function(returndata) {
	// z is results based on zip code and A is the results are good
	// this section will change for BING
	var c = ColdFusion.getElementValue('country');
	if(returndata.RESULTCODE.charAt(0)=='H' && returndata.RESULTCODE.charAt(returndata.RESULTCODE.length-1)=='h')
	{
		redisplayGrid();
		return true;
		
		} else {
		document.getElementById("cust_zip").focus();
		var resultDiv = document.getElementById("zipmsg");

		resultDiv.innerHTML = returndata.INVALIDZIP + ' <a href="?&country=' + c + '">' +returndata.CLICKHERE+'</a> ' +returndata.INVALIDZIP2+' '+ c +' '+ returndata.INVALIDZIP3;
		
		resetRadius();
		displayGridNoResults();

	}

		

}



//////////////////////////////////////////////
////// form specific validation          /////
////// individual functions are here:    /////
////// /includes/js/form_validation.js   /////
//////////////////////////////////////////////
var gotFocus = '';		
function validate_regform(thisform,ms_fname,ms_lname,ms_addr,ms_city,ms_company,ms_phone,ms_email,ms_emailinvalid,ms_siebelphone) {
	//function validate_regform(thisform) {
	//alert(msg_fname);
	with (thisform)
	{
	var errormsg='';
	var errorflag=false;
	

if (validate_required(FName,errormsg)==false)
 {
 errormsg=errormsg + ms_fname + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'FName';
}  


  
if (validate_required(LName,errormsg)==false)
 {
 errormsg=errormsg + ms_lname + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'LName';
} 
if (validate_required(Company,errormsg)==false)
 {
 errormsg=errormsg + ms_company + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'Company';
} 
if (validate_required(Address,errormsg)==false)
 {
 errormsg=errormsg + ms_addr + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'Address';
}  
if (validate_required(City,errormsg)==false)
 {
 errormsg=errormsg + ms_city + '\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'City';
}  

if (validate_required(zip)==false )
 {
 errormsg=errormsg + 'Zip Code / Postal Code Required \n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'zip';
} 

if ((SingleSelectValue(country1,'USA') == true || SingleSelectValue(country1,'Canada') ==true) && SingleSelectRequired(state1)==false)
 {
 errormsg=errormsg + 'State / Province Required for Country  = "USA" or "Canada"\n';
 var errorflag=true;
 if (gotFocus.length == 0)
 gotFocus = 'state1';
} 



if (validate_required(Phone,errormsg)==false)
    {
    errormsg=errormsg + ms_phone + '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'Phone';

    } else {
     if (validate_siebelphone(Phone,errormsg)==false)
    {
    errormsg=errormsg + ms_siebelphone+ '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'Phone';
    }
  
  }



if (validate_required(email,errormsg)==false)
    {
    errormsg=errormsg + ms_email + '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'email';

    } else {
     if (validate_email(email,errormsg)==false)
    {
    errormsg=errormsg + ms_emailinvalid+ '\n';
    var errorflag=true;
    if (gotFocus.length == 0)
    gotFocus = 'email';
    }
  
  }


if (errorflag==true) {
		eval(gotFocus + ".focus()");
		gotFocus = '';
		{alert(errormsg);return false;}
		} 
		 return true;
		}
			
		}

/* js to support ajax 


*/
//msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email
function doSubmitForm(msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email,msg_emailinvalid,msg_siebelphone) {
	//alert(msg_email);
//,msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email
	if (validate_regform(document.registerform,msg_fname,msg_lname,msg_addr,msg_city,msg_company,msg_phone,msg_email,msg_emailinvalid,msg_siebelphone))
	//if (1==1)
		{
			document.getElementById("registerform").Register3.style.display='none';
			document.getElementById("registerform").Register4.style.display='none';
			
ColdFusion.Ajax.submitForm('registerform','/CFC/seminars/seminar.cfc?method=submitSeminarRegistration', resultRegHandler, editErrorHandler);
		}
		
	}

function resetRadius() {
	//var xx1=document.getElementById("selectform");
	//xx1.radius[0].selected=true;
	document.getElementById("cust_zip").value='';
}
function removeMsg() {
	var resultDiv = document.getElementById("zipmsg");
	resultDiv.innerHTML = '';
}

// other grid refreshes
function displayGridNoResults() {
 document.getElementById("gridtest").value='1';
 ColdFusion.Grid.refresh('seminarGrid',false);
 document.getElementById("gridtest").value='0';
}


function redisplayGrid() {
	 
	 ColdFusion.Grid.refresh('seminarGrid',false);
}


// for initial loaded called from setCountry()
function refreshGrid(selectObj) {
	ColdFusion.Grid.refresh('seminarGrid', true);
	document.getElementById("gridpage").style.display='block';
	$('div#nopage').hide();
	 }

function refreshGrid1(selectObj) {
	setReseller('',selectObj);
	ColdFusion.Grid.refresh('seminarGrid', true);
	document.getElementById("gridpage").style.display='block';
	$('div#nopage').hide();
	}
	
 	

function resultRegHandler(x) {
		//alert(x);
		//document.getElementById("Register3").disabled=true;
		//document.getElementById("Register4").disabled=true;
		document.getElementById("displayform").style.display='none';
		document.getElementById("displaysuccess").style.display='block';
		var resultDiv = document.getElementById("result1");
		resultDiv.innerHTML = x;
		
		
		
	}
	
	
function editErrorHandler() {
		var resultDiv = document.getElementById("result1");
		resultDiv.innerHTML = "Error Occured while processing form";
		
	}	








/*
 * Date Format 1.2.3
 * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
 * MIT license
 *
 * Includes enhancements by Scott Trenda <scott.trenda.net>
 * and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
 */

var dateFormat = function () {
	var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
		timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (val, len) {
			val = String(val);
			len = len || 2;
			while (val.length < len) val = "0" + val;
			return val;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask, utc) {
		var dF = dateFormat;

		// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
		if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
			mask = date;
			date = undefined;
		}

		// Passing date through Date applies Date.parse, if necessary
		date = date ? new Date(date) : new Date;
		if (isNaN(date)) throw SyntaxError("invalid date");

		mask = String(dF.masks[mask] || mask || dF.masks["default"]);

		// Allow setting the utc argument via the mask
		if (mask.slice(0, 4) == "UTC:") {
			mask = mask.slice(4);
			utc = true;
		}

		var	_ = utc ? "getUTC" : "get",
			d = date[_ + "Date"](),
			D = date[_ + "Day"](),
			m = date[_ + "Month"](),
			y = date[_ + "FullYear"](),
			H = date[_ + "Hours"](),
			M = date[_ + "Minutes"](),
			s = date[_ + "Seconds"](),
			L = date[_ + "Milliseconds"](),
			o = utc ? 0 : date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
				S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
			};

		return mask.replace(token, function ($0) {
			return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();

// Some common format strings
dateFormat.masks = {
	"default":      "ddd mmm dd yyyy HH:MM:ss",
	shortDate:      "m/d/yy",
	mediumDate:     "mmm d, yyyy",
	longDate:       "mmmm d, yyyy",
	fullDate:       "dddd, mmmm d, yyyy",
	shortTime:      "h:MM TT",
	mediumTime:     "h:MM:ss TT",
	longTime:       "h:MM:ss TT Z",
	isoDate:        "yyyy-mm-dd",
	isoTime:        "HH:MM:ss",
	isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
	isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};

// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};

// For convenience...
Date.prototype.format = function (mask, utc) {
	return dateFormat(this, mask, utc);
};
