////////////////////////////////
//   Standard Mask definitions
////////////////////////////////
var definitions = [
				   
//////////////////////////////////////
//     MULTIPLE GRAPHICAL HELPERS   //
//////////////////////////////////////
{className : "IC_Date",
type : "dateTime/calendar/spinner",
mask : "M/d/y",
compactDropDown : true,
calendarTemplate : "WiseblocksCalendar"}//

,{className : "IC_Num",
type : "numeric/spinner/calc",
mask : "###,###,###,###.##",
calcTemplate : "WiseblocksCalculator"}//

/////////////////////////
//     NUMERIC MASKS   //
/////////////////////////
,{className : "IC_Num_Imp",
type : "numeric/mask",
mask : "###,###,###.##",
cursorOnFocus : "firstEmpty",
decimalSeparator : ".",
thousandsSeparator : ","}//

,{className : "IC_Num_Metric",
type : "numeric/mask",
mask : "###,###,###.##",
cursorOnFocus : "firstEmpty",
decimalSeparator : ".",
thousandsSeparator : " "}//

,{className : "IC_Num_Spin_Imp",
type : "numeric/spinner",
mask : "###,###,###.##",
decimalSeparator : ".",
thousandsSeparator : ",",
cursorOnFocus : "firstEmpty"}//

,{className : "IC_Num_Spin_Metric",
type : "numeric/spinner",
mask : "###,###,###.##",
decimalSeparator : ".",
thousandsSeparator : " ",
cursorOnFocus : "firstEmpty"}//

,{className : "IC_Num_Calc_Imp",
type : "numeric/calc",
mask : "###,###,###.##",
decimalSeparator : ".",
thousandsSeparator : ",",
cursorOnFocus : "firstEmpty"}//

,{className : "IC_Num_Calc_Metric",
type : "numeric/calc",
mask : "###,###,###.##",
decimalSeparator : ".",
thousandsSeparator : " ",
cursorOnFocus : "firstEmpty"}//

,{className : "IC_Num_Imp_Salary",
type : "numeric/mask",
mask : "#,###,###",
cursorOnFocus :"firstEmpty",
thousandsSeparator : ","}//

,{className : "IC_Num_Metric_Salary",
type : "numeric/mask",
mask : "#,###,###",
cursorOnFocus :"firstEmpty",
thousandsSeparator : " "}//

///////////////////////////
//   CALCULATOR MASKS    //
///////////////////////////
,{className : "IC_Calc",
type : "numeric/calc"}//

,{className : "IC_Calc_Wiseblocks",
type : "numeric/calc",
calcTemplate : "WiseblocksCalculator"}//

///////////////////////////
//     SPINNER MASKS     //
///////////////////////////
,{className : "IC_Spin_Basic",
type : "numeric/spinner"}//

,{className : "IC_Spin_PositiveOnly",
type : "numeric/spinner",
min : 0}//

,{className : "IC_Spin_Step10",
type : "numeric/spinner",
step : 10,
conditions : [NegativeRed]}//

,{className : "IC_Spin_Step100",
type : "numeric/spinner",
step : 100,
conditions : [NegativeRed]}//

,{className : "IC_Spin_Step1000",
type : "numeric/spinner",
step : 1000,
conditions : [NegativeRed]}//

,{className : "IC_Spin_Salary",
type : "numeric/spinner/calc",
mask : "#,###,###",
thousandsSeparator : ",",
cursorOnFocus : "firstEmpty",
calcTemplate : "WiseblocksCalculator",
step : 2500,
scale : 5,
min : 0,
max : 1000000}//

,{className : "IC_Spin_HourlyRateSalary",
type : "numeric/spinner/calc",
mask : "##0.00",
thousandsSeparator : ",",
cursorOnFocus : "firstEmpty",
calcTemplate : "WiseblocksCalculator",
step : .50,
scale : 5,
min : 0,
max : 999}//

/////////////////////////
//      TEXT  MASKS    //
/////////////////////////

,{className : "IC_Txt_Euro_Phone",
type : "text/mask",
mask : "+(##)#.##.##.##.##",
blankCharacter : "_"}//

,{className : "IC_Txt_US_Phone",
type : "text/mask",
mask : "(###)###-####",
blankCharacter  : "_"}//

,{className : "IC_Txt_CA_PostalCode",
type : "text/mask",
mask : "@#@ #@#",
caseFormatters : "+++++++",
blankCharacter : "_"}//

,{className : "IC_Txt_US_ZipCode",
type : "text/mask",
mask : "#####",
caseFormatters : "+++++++",
blankCharacter : "_"}//

,{className : "IC_Txt_FR_PostalCode",
type : "text/mask",
mask : "#####",
caseFormatters : "+++++++",
blankCharacter : "_"}//

,{className : "IC_Txt_US_SSN",
type : "text/mask",
mask : "###-##-####",
cursorOnFocus :"begin",
blankCharacter  : "_"}//

,{className : "IC_Txt_CA_SIN",
type : "text/mask",
mask : "###-###-###",
cursorOnFocus : "begin",
blankCharacter : "_"}//

,{className : "IC_Txt_UK_IN",
type : "text/mask",
mask : "@@######@",
cursorOnFocus : "begin",
blankCharacter : "_"}//

//////////////////////
//     DATETIME MASKS   //
//////////////////////
,{className : "IC_Date_InternationalNotation",
type : "dateTime/spinner/mask",
mask : "YYYY/MM/DD"}//

,{className : "IC_Time_InternationalNotation",
type : "dateTime/spinner/mask",
mask : "hh:mm:ss"}//

,{className : "IC_DateTime_InternationalNotation",
type : "dateTime/spinner/mask",
mask : "YYYY/MM/DD hh:mm:ss"}//

,{className : "IC_Date_US",
type : "dateTime/spinner/mask",
mask : "MM/DD/YYYY"}//

,{className : "IC_DateTime_US",
type : "dateTime/spinner/mask",
mask : "MM/DD/YYYY hh:mm:ss a\\m"}//

,{className : "IC_DateTime",
type : "dateTime/spinner/mask",
mask : "MM/DD/YYYY hh:mm:ss a\\m"}//

,{className : "IC_DateTime_Euro",
type : "dateTime/spinner/mask",
mask : "DD/MM/YYYY hh:mm:ss"}//

,{className : "IC_Date_Euro",
type : "dateTime/spinner/mask",
mask : "DD/MM/YYYY"}//

,{className : "IC_Time",
type : "dateTime/spinner/mask",
mask : "hh:mm:ss"}//

,{className:"IC_Time_US",
type : "dateTime/spinner/mask",
mask : "hh:mm:ss a\\m"}//

,{className : "IC_Time_Euro",
type : "dateTime/spinner/mask",
mask : "hh:mm:ss"}//

///////////////////////////
//   CALENDAR MASKS    //
///////////////////////////
,{className : "IC_Calendar_US",
type : "dateTime/spinner/calendar",
mask : "M/d/y",
compactDropDown:true}//

,{className : "IC_Calendar_US_Wiseblocks",
type : "dateTime/spinner/calendar",
mask : "M/d/y",
compactDropDown : true,
calendarTemplate : "WiseblocksCalendar"}//

,{className : "IC_Calendar_Small",
type : "dateTime/spinner/calendar",
mask : "M/d/y",
compactDropDown : true,
calendarOptions : {
mindate : new Date(), //today
START_WEEKDAY : 1,
SHOW_WEEKDAYS : false,
SHOW_WEEK_HEADER : false,
SHOW_WEEK_FOOTER : false,
HIDE_BLANK_WEEKS : true,
LOCALE_MONTHS : "short" }
}//

,{className : "IC_Calendar_NoWeekDays",
type : "dateTime/spinner/calendar",
mask : "M/d/y",
compactDropDown : true,
calendarOptions : {
SHOW_WEEKDAYS : false}
}//

//////////////////////
//     MISC MASKS   //
//////////////////////
,{className : "IC_Txt_CreditCard",
type : "text/mask",
mask : "####-####-####-####",
blankCharacter : "_"}//

,{className : "IC_Txt_EmailValidator",
type : "text/mask",
mask : "*****************************************************************************",
autoSize : false,
blankCharacter : " ",
conditions : [{condition: function (value){
return value.indexOf("@")==-1 || value.indexOf(".") ==-1}
,style : { color:"red" }}]}//

///////////////////////////
//     DECORATOR MASKS   //
///////////////////////////
,{className : "IC_Deco_Red",
highlight : HighlightBox.RED}//

,{className : "IC_Deco_Yellow",
highlight : HighlightBox.YELLOW}//

,{className : "IC_Deco_Orange",
highlight : HighlightBox.ORANGE}//

,{className : "IC_Deco_Green",
highlight : HighlightBox.GREEN}//

,{className : "IC_Deco_Blue",
highlight : HighlightBox.BLUE}//

,{className : "IC_Deco_Purple",
highlight : HighlightBox.PURPLE}//

,{className : "IC_Deco_Pink",
highlight : HighlightBox.PINK}//

,{className : "IC_Deco_Brown",
highlight : HighlightBox.BROWN}//

,{className : "IC_Deco_Gray",
highlight : HighlightBox.GRAY}//

,{className : "IC_Deco_White",
highlight : HighlightBox.WHITE}//

,{className : "IC_Deco_Black",
highlight : HighlightBox.BLACK}//

];

IC.MasterDecorator.process(definitions);

