सदस्य:Bill william compton/dates.js

मुक्त ज्ञानकोश विकिपीडिया से

सूचना: यह पृष्ठ सुरक्षित करने बाद, परिवर्तनों को देखने लिए ब्राउज़र का कैश ख़ाली करने की आवश्यकता हो सकती है।

  • मोज़िला / फ़ायरफ़ॉक्स / सफ़ारी: shift hold करें जब आप reload क्लिक करते है, या Ctrl-Shift-R (अपल मैक में Cmd-Shift-R) दबाएँ;
  • गूगल क्रोम: Ctrl-shift-R (मैक में Cmd-Shift-R) दबाएँ
  • इंटरनेट एक्सप्लोरर: Ctrl hold करें जब आप refresh क्लिक करते हैं, या Ctrl-F5 क्लिक करते हैं;
  • कॉङ्करर: सिर्फ़ Reload बटन पर क्लिक करें, या F5 क्लिक करें;
  • ऑपरा सदस्य को Tools→Preferences में सम्पूर्ण कैश ख़ाली करने की ज़रूरत हो सकती है।
// This script aligns dates into one of two formats allowed by [[WP:MOSNUM]].

// Feedback and constructive criticism are welcome

/*************
*** Regex menu framework
***	- adds a sidebar menu of user-defined scripts.
*************/
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Pathoschild/Scripts/Regex_menu_framework.js&action=raw&ctype=text/javascript');

function Ohc_unambiguous(){
 var txt=document.editform.wpTextbox1;
	Ohc_protect_ISO_convert();
	// resolvable ambiguous date formats
	//4-digit year universal
	regex(/([^\w\d\/-:♫])0?1[\/\.]0?1[\/\.]([12]\d{3})(?![-–\d\/])/g, '$11 जनवरी $2');
	regex(/([^\w\d\/-:♫])0?2[\/\.]0?2[\/\.]([12]\d{3})(?![-–\d\/])/g, '$12 फरवरी $2');
	regex(/([^\w\d\/-:♫])0?3[\/\.]0?3[\/\.]([12]\d{3})(?![-–\d\/])/g, '$13 मार्च $2');
	regex(/([^\w\d\/-:♫])0?4[\/\.]0?4[\/\.]([12]\d{3})(?![-–\d\/])/g, '$14 अप्रैल $2');
	regex(/([^\w\d\/-:♫])0?5[\/\.]0?5[\/\.]([12]\d{3})(?![-–\d\/])/g, '$15 मई $2');
	regex(/([^\w\d\/-:♫])0?6[\/\.]0?6[\/\.]([12]\d{3})(?![-–\d\/])/g, '$16 जून $2');
	regex(/([^\w\d\/-:♫])0?7[\/\.]0?7[\/\.]([12]\d{3})(?![-–\d\/])/g, '$17 जुलाई $2');
	regex(/([^\w\d\/-:♫])0?8[\/\.]0?8[\/\.]([12]\d{3})(?![-–\d\/])/g, '$18 अगस्त $2');
	regex(/([^\w\d\/-:♫])0?9[\/\.]0?9[\/\.]([12]\d{3})(?![-–\d\/])/g, '$19 सितंबर $2');
	regex(/([^\w\d\/-:♫])10[\/\.]10[\/\.]([12]\d{3})(?![-–\d\/])/g, '$110 अक्टूबर $2');
	regex(/([^\w\d\/-:♫])11[\/\.]11[\/\.]([12]\d{3})(?![-–\d\/])/g, '$111 नवंबर $2');
	regex(/([^\w\d\/-:♫])12[\/\.]12[\/\.]([12]\d{3})(?![-–\d\/])/g, '$112 दिसंबर $2');

//4-digit year UK style
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?1[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जनवरी $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?2[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 फरवरी $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?3[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मार्च $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?4[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अप्रैल $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?5[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मई $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?6[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जून $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?7[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जुलाई $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?8[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अगस्त $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?9[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 सितंबर $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]10[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अक्टूबर $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]11[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 नवंबर $2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]12[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 दिसंबर $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?1[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जनवरी $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?2[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 फरवरी $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?3[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मार्च $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?4[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अप्रैल $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?5[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मई $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?6[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जून $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?7[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जुलाई $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?8[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अगस्त $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?9[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 सितंबर $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]10[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अक्टूबर $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]11[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 नवंबर $2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]12[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 दिसंबर $2');

//4-digit year US style
	regex(/([^\w\d\/-:♫])0?1[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जनवरी $2, $3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1फरवरी $2, $3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1मार्च $2, $3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अप्रैल $2, $3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1मई $2, $3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जून $2, $3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जुलाई $2, $3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अगस्त $2, $3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1सितंबर $2, $3');
	regex(/([^\w\d\/-:♫])10[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अक्टूबर $2, $3');
	regex(/([^\w\d\/-:♫])11[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1नवंबर $2, $3');
	regex(/([^\w\d\/-:♫])12[\/\.]([23][0-2])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1दिसंबर $2, $3');
	regex(/([^\w\d\/-:♫])0?1[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जनवरी $2, $3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1फरवरी $2, $3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1मार्च $2, $3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अप्रैल $2, $3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1मई $2, $3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जून $2, $3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1जुलाई $2, $3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अगस्त $2, $3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1सितंबर $2, $3');
	regex(/([^\w\d\/-:♫])10[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1अक्टूबर $2, $3');
	regex(/([^\w\d\/-:♫])11[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1नवंबर $2, $3');
	regex(/([^\w\d\/-:♫])12[\/\.]([12][3-9])[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1दिसंबर $2, $3');

//2-digit year ('00-'19) universal
	regex(/([^\w\d\/-:♫])0?1[\/\.]0?1[\/\.]([01]\d)(?![-–\d\/])/g, '$11 जनवरी 20$2');
	regex(/([^\w\d\/-:♫])0?2[\/\.]0?2[\/\.]([01]\d)(?![-–\d\/])/g, '$12 फरवरी 20$2');
	regex(/([^\w\d\/-:♫])0?3[\/\.]0?3[\/\.]([01]\d)(?![-–\d\/])/g, '$13 मार्च 20$2');
	regex(/([^\w\d\/-:♫])0?4[\/\.]0?4[\/\.]([01]\d)(?![-–\d\/])/g, '$14 अप्रैल 20$2');
	regex(/([^\w\d\/-:♫])0?5[\/\.]0?5[\/\.]([01]\d)(?![-–\d\/])/g, '$15 मई 20$2');
	regex(/([^\w\d\/-:♫])0?6[\/\.]0?6[\/\.]([01]\d)(?![-–\d\/])/g, '$16 जून 20$2');
	regex(/([^\w\d\/-:♫])0?7[\/\.]0?7[\/\.]([01]\d)(?![-–\d\/])/g, '$17 जुलाई 20$2');
	regex(/([^\w\d\/-:♫])0?8[\/\.]0?8[\/\.]([01]\d)(?![-–\d\/])/g, '$18 अगस्त 20$2');
	regex(/([^\w\d\/-:♫])0?9[\/\.]0?9[\/\.]([01]\d)(?![-–\d\/])/g, '$19 सितंबर 20$2');
	regex(/([^\w\d\/-:♫])10[\/\.]10[\/\.]([01]\d)(?![-–\d\/])/g, '$110 अक्टूबर 20$2');
	regex(/([^\w\d\/-:♫])11[\/\.]11[\/\.]([01]\d)(?![-–\d\/])/g, '$111 नवंबर 20$2');
	regex(/([^\w\d\/-:♫])12[\/\.]12[\/\.]([01]\d)(?![-–\d\/])/g, '$112 दिसंबर 20$2');

//2-digit year ('00-'19) UK style
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?1[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जनवरी 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?2[\/\.]([01]\d)(?![-–\d\/])/g, '$1 फरवरी 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?3[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मार्च 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?4[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अप्रैल 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?5[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मई 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?6[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जून 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?7[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जुलाई 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?8[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अगस्त 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?9[\/\.]([01]\d)(?![-–\d\/])/g, '$1 सितंबर 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]10[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अक्टूबर 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]11[\/\.]([01]\d)(?![-–\d\/])/g, '$1 नवंबर 20$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]12[\/\.]([01]\d)(?![-–\d\/])/g, '$1 दिसंबर 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?1[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जनवरी 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?2[\/\.]([01]\d)(?![-–\d\/])/g, '$1 फरवरी 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?3[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मार्च 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?4[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अप्रैल 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?5[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मई 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?6[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जून 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?7[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जुलाई 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?8[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अगस्त 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?9[\/\.]([01]\d)(?![-–\d\/])/g, '$1 सितंबर 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]10[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अक्टूबर 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]11[\/\.]([01]\d)(?![-–\d\/])/g, '$1 नवंबर 20$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]12[\/\.]([01]\d)(?![-–\d\/])/g, '$1 दिसंबर 20$2');

//2-digit year ('00-'19) US style
	regex(/([^\w\d\/-:♫])0?1[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जनवरी $2, 20$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1फरवरी $2, 20$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1मार्च $2, 20$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 20$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1मई $2, 20$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जून $2, 20$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जुलाई $2, 20$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अगस्त $2, 20$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1सितंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 20$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1नवंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([23][0-2])[\/\.]([01]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])0?1[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जनवरी $2,20$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1फरवरी $2, 20$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1मार्च $2, 20$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 20$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1मई $2, 20$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जून $2, 20$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1जुलाई $2, 20$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अगस्त $2, 20$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1सितंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 20$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1नवंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([12][3-9])[\/\.]([01]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 20$3');

//2-digit year ('50-'99) universal
	regex(/([^\w\d\/-:♫])0?1[\/\.]0?1[\/\.]([5-9]\d)(?![-–\d\/])/g, '$11 जनवरी 19$2');
	regex(/([^\w\d\/-:♫])0?2[\/\.]0?2[\/\.]([5-9]\d)(?![-–\d\/])/g, '$12 फरवरी 19$2');
	regex(/([^\w\d\/-:♫])0?3[\/\.]0?3[\/\.]([5-9]\d)(?![-–\d\/])/g, '$13 मार्च 19$2');
	regex(/([^\w\d\/-:♫])0?4[\/\.]0?4[\/\.]([5-9]\d)(?![-–\d\/])/g, '$14 अप्रैल 19$2');
	regex(/([^\w\d\/-:♫])0?5[\/\.]0?5[\/\.]([5-9]\d)(?![-–\d\/])/g, '$15 मई 19$2');
	regex(/([^\w\d\/-:♫])0?6[\/\.]0?6[\/\.]([5-9]\d)(?![-–\d\/])/g, '$16 जून 19$2');
	regex(/([^\w\d\/-:♫])0?7[\/\.]0?7[\/\.]([5-9]\d)(?![-–\d\/])/g, '$17 जुलाई 19$2');
	regex(/([^\w\d\/-:♫])0?8[\/\.]0?8[\/\.]([5-9]\d)(?![-–\d\/])/g, '$18 अगस्त 19$2');
	regex(/([^\w\d\/-:♫])0?9[\/\.]0?9[\/\.]([5-9]\d)(?![-–\d\/])/g, '$19 सितंबर 19$2');
	regex(/([^\w\d\/-:♫])10[\/\.]10[\/\.]([5-9]\d)(?![-–\d\/])/g, '$110 अक्टूबर 19$2');
	regex(/([^\w\d\/-:♫])11[\/\.]11[\/\.]([5-9]\d)(?![-–\d\/])/g, '$111 नवंबर 19$2');
	regex(/([^\w\d\/-:♫])12[\/\.]12[\/\.]([5-9]\d)(?![-–\d\/])/g, '$112 दिसंबर 19$2');

//2-digit year ('50-'99) UK style
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?1[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जनवरी 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?2[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 फरवरी19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?3[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मार्च 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?4[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अप्रैल 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?5[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मई19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?6[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जून 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?7[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जुलाई 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?8[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अगस्त 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]0?9[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 सितंबर 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]10[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अक्टूबर 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]11[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 नवंबर 19$2');
	regex(/([^\w\d\/-:][23][0-2])[\/\.]12[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 दिसंबर 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?1[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जनवरी 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?2[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 फरवरी19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?3[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मार्च 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?4[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अप्रैल 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?5[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मई19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?6[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जून 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?7[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जुलाई 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?8[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अगस्त 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]0?9[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 सितंबर 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]10[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अक्टूबर 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]11[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 नवंबर 19$2');
	regex(/([^\w\d\/-:][12][3-9])[\/\.]12[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 दिसंबर 19$2');

//2-digit year ('50-'99) US style
	regex(/([^\w\d\/-:♫])0?1[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जनवरी $2, 19$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1फरवरी$2, 19$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मार्च $2, 19$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 19$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मई$2, 19$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जून $2, 19$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जुलाई $2, 19$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अगस्त $2, 19$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1सितंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 19$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1नवंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([23][0-2])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])0?1[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जनवरी $2,19$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1फरवरी$2, 19$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मार्च $2, 19$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 19$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मई$2, 19$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जून $2, 19$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जुलाई $2, 19$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अगस्त $2, 19$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1सितंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 19$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1नवंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([12][3-9])[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 19$3');

	Ohc_unprotect_dates_convert();
}

function Ohc_slash_edit_summary(){
	//Add a tag to the summary box
	setoptions(minor='true'); 		
	setreason('resolved [[WP:MOSNUM|ambiguous date formats]]', 'append');
	doaction('diff');
}

//////
function Ohc_US_slash_dates(){
 var txt=document.editform.wpTextbox1;
	Ohc_protect_ISO_convert();
	// resolvable ambiguous date formats
	//4-digit year US style
	regex(/([^\w\d\/-:♫])0?1[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1जनवरी $2, $3');
	regex(/([^\w\d\/-:♫])0?2[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1फरवरी$2, $3');
	regex(/([^\w\d\/-:♫])0?3[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1मार्च $2, $3');
	regex(/([^\w\d\/-:♫])0?4[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1अप्रैल $2, $3');
	regex(/([^\w\d\/-:♫])0?5[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1मई$2, $3');
	regex(/([^\w\d\/-:♫])0?6[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1जून $2, $3');
	regex(/([^\w\d\/-:♫])0?7[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1जुलाई $2, $3');
	regex(/([^\w\d\/-:♫])0?8[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1अगस्त $2, $3');
	regex(/([^\w\d\/-:♫])0?9[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1सितंबर $2, $3');
	regex(/([^\w\d\/-:♫])10[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1अक्टूबर $2, $3');
	regex(/([^\w\d\/-:♫])11[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1नवंबर $2, $3');
	regex(/([^\w\d\/-:♫])12[\/\.-]([0-2]?\d|30|31)[\/\.-]([12]\d{3})(?![-–\d\/])/g, '$1दिसंबर $2, $3');

//2-digit year ('00-'19) US style
	regex(/([^\w\d\/-:♫])0?1[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1जनवरी $2, 20$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1फरवरी$2, 20$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1मार्च $2, 20$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 20$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1मई$2, 20$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1जून $2, 20$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1जुलाई $2, 20$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1अगस्त $2, 20$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1सितंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 20$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1नवंबर $2, 20$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([0-2]?\d|30|31)[\/\.]([01]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 20$3');

//2-digit year ('50-'99) US style
	regex(/([^\w\d\/-:♫])0?1[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जनवरी $2, 19$3');
	regex(/([^\w\d\/-:♫])0?2[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1फरवरी$2, 19$3');
	regex(/([^\w\d\/-:♫])0?3[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मार्च $2, 19$3');
	regex(/([^\w\d\/-:♫])0?4[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अप्रैल $2, 19$3');
	regex(/([^\w\d\/-:♫])0?5[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1मई$2, 19$3');
	regex(/([^\w\d\/-:♫])0?6[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जून $2, 19$3');
	regex(/([^\w\d\/-:♫])0?7[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1जुलाई $2, 19$3');
	regex(/([^\w\d\/-:♫])0?8[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अगस्त $2, 19$3');
	regex(/([^\w\d\/-:♫])0?9[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1सितंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])10[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1अक्टूबर $2, 19$3');
	regex(/([^\w\d\/-:♫])11[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1नवंबर $2, 19$3');
	regex(/([^\w\d\/-:♫])12[\/\.]([0-2]?\d|30|31)[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1दिसंबर $2, 19$3');

	Ohc_unprotect_dates_convert();
//removing leading zeroes
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s0(\d),?\s([12]\d{3})([^\w\d][^\d]|\b)/gi, '$1$2 $3, $4$5');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s0(\d)([^\w\d][^\d]|\b)/gi, '$1$2 $3$4');

	Ohc_slash_edit_summary();
}

function Ohc_UK_slash_dates(){
 var txt=document.editform.wpTextbox1;
	Ohc_protect_ISO_convert();
	// resolvable ambiguous date formats
	//slash as separator 4-digit year UK style
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?1[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जनवरी $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?2[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 फरवरी$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?3[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मार्च $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?4[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अप्रैल $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?5[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 मई$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?6[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जून $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?7[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 जुलाई $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?8[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अगस्त $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?9[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 सितंबर $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]10[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 अक्टूबर $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]11[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 नवंबर $2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]12[\/\.]([12]\d{3})(?![-–\d\/])/g, '$1 दिसंबर $2');

//slash as separator 2-digit year ('00-'19) UK style
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?1[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जनवरी 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?2[\/\.]([01]\d)(?![-–\d\/])/g, '$1 फरवरी20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?3[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मार्च 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?4[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अप्रैल 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?5[\/\.]([01]\d)(?![-–\d\/])/g, '$1 मई20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?6[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जून 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?7[\/\.]([01]\d)(?![-–\d\/])/g, '$1 जुलाई 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?8[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अगस्त 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?9[\/\.]([01]\d)(?![-–\d\/])/g, '$1 सितंबर 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]10[\/\.]([01]\d)(?![-–\d\/])/g, '$1 अक्टूबर 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]11[\/\.]([01]\d)(?![-–\d\/])/g, '$1 नवंबर 20$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]12[\/\.]([01]\d)(?![-–\d\/])/g, '$1 दिसंबर 20$2');

//slash as separator 2-digit year ('50-'99) UK style
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?1[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जनवरी 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?2[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 फरवरी19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?3[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मार्च 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?4[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अप्रैल 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?5[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 मई19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?6[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जून 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?7[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 जुलाई 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?8[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अगस्त 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]0?9[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 सितंबर 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]10[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 अक्टूबर 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]11[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 नवंबर 19$2');
	regex(/([^\w\d\/-](?:[0-2]?\d|30|31))[\/\.]12[\/\.]([5-9]\d)(?![-–\d\/])/g, '$1 दिसंबर 19$2');

	Ohc_unprotect_dates_convert();
//removing leading zeroes
	regex(/([^\d][^\w\d])0(\d)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([12]\d{3})([^\w\d][^\d]|\b)/gi, '$1$2 $3 $4$5');
	regex(/([^\d][^\w\d])0(\d)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/gi, '$1$2 $3$4');

	Ohc_slash_edit_summary();
}

function Ohc_fix_common_errors() {
 var txt=document.editform.wpTextbox1;

 Ohc_protect_dates_convert();
// capitalise month names (split into mdy and dmy and moved to convert function)
	regex(/(\d)[ ]?(?:-|–|–)[ ]?P(resent)\b/g, '$1 – p$2');

//underscore in linked dates - dmy
	regex(/(\[\[(?:[0-2]?\d|30|31))_(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(\]\])/gi, '$1 $2$3');
//underscore in linked dates - mdy
	regex(/(\[\[)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))_((?:[0-2]?\d|30|31)\]\])/gi, '$1$2 $3');

//remove leading zero from linked date
	regex(/(\[\[)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s0(\d)(?:th|st|nd|rd|)(\]\])/gi, '$1$2 $3$4');
	regex(/(\[\[)0(\d)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(\]\])/gi, '$1$2 $3$4');

//rem redundant spaces (and commas) in date formats
	regex(/([^\d][^\w\d]\[?\[?(?:[0-2]?\d|30|31))[ ]+(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(\]\])?[ ]*,[ ]*(\[?\[?[1-2]\d{3}(\sAD|\sBC|\sCE|\sBCE|)\]?\]?[^\w\d][^\d])/gi, '$1 $2$3 $4');
	regex(/([^\d][^\w\d]\[?\[?)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[ ]+([0-2]?\d|30|31)(\]?\]?)(?:[ ]*,[ ]*)(\[?\[?[1-2]\d{3}(\sAD|\sBC|\sCE|\sBCE|)\]?\]?[^\w\d][^\d])/gi, '$1$2 $3$4, $5');
	regex(/([^\d][^\w\d]\[?\[?)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[ ]+([0-2]?\d|30|31)(\]?\]?)[ ]+(\[?\[?[1-2]\d{3}(\sAD|\sBC|\sCE|\sBCE|)\]?\]?[^\w\d][^\d])/gi, '$1$2 $3$4, $5');

	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(?:, | of )([1-2]\d{3}[\w\d])/gi, '$1 $2'); //repeat after delinking

//remove unlinked ordinal date formats
	regex(/([0-2]?\d|30|31)(?:th|st|nd|rd|), ([0-2]?\d|30|31)(?:th|st|nd|rd|)(\s(?:and|&|to|or)\s(?:[0-2]?\d|30|31))(?:th|st|nd|rd|)(?:\sof\s?)?\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d])/g, '$1, $2$3 $4 $5');
	regex(/([0-2]?\d|30|31)(?:th|st|nd|rd|)(\s(?:and|&|to|or)\s(?:[0-2]?\d|30|31))(?:th|st|nd|rd|)(?:\sof\s?)?\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d])/g, '$1$2 $3$4');
	regex(/([0-2]?\d|30|31)(?:th|st|nd|rd|)(?:\sof\s?)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\|\]\w\d])/g, '$1 $2$3');
	regex(/([0-2]?\d|30|31)(?:th|st|nd|rd|)(?:\sof\s?)?\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d])/g, '$1 $2$3');
	regex(/([0-2]?\d|30|31)<sup>(?:th|st|nd|rd|)<\/sup>(?:\sof\s?)?\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d])/g, '$1 $2$3');
	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(?:the\s)?([0-2]?\d|30|31)(?:th|st|nd|rd|),\s(?:the\s)?([0-2]?\d|30|31)(?:th|st|nd|rd|)(\s(?:and|&|to|or)\s)(?:the\s)?([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\]\|\w\d][^\d])/g, '$1 $2, $3$4 $5$6');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)((?:,\s[0-3]?\d(?:th|st|nd|rd|)){0,6}),?(\/|\s?[-–]\s?|\s(?:and|&|to|or)\s+?)([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s(?:of\s)?(\d{3,4}[^\w\d][^\d])/g, '$1$2 $3$4$5$6, $7');
	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(?:the\s)?([0-2]?\d|30|31)(?:th|st|nd|rd)([^\]\|\w\d][^\d])/g, '$1 $2$3');
	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(?:the\s)?([0-2]?\d|30|31)<sup>(?:th|st|nd|rd)<\/sup>([^\]\|\w\d][^\d])/g, '$1 $2$3');

//fix 'bda' template redirect
	regex(/{{bda\|([^}]+)}}/gi, '{{birth date and age|$1}}');
	regex(/{{dda\|([^}]+)}}/gi, '{{death date and age|$1}}');

//zap redundant templates ('accessdate', '#dateformat:') 
	regex(/\{\{date\|([^\}\|\-]+)(?:\|(?:[dmy]{3}|iso|none))?\}\}/gi, '$1');
	regex(/[ ]*\{\{accessdate\|(\d{4}-\d{2}-\d{2})[ ]*\}\}/gi, ' Retrieved $1');
	regex(/{{#dateformat:([^\}\|]+)(?:\|dmy|\|mdy)?}}/gi,'$1'); 

// eliminating dd-mm-yyyy dates
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:0?1|Jan)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 जनवरी $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?(0[1-9]|[1-2]\d)(?:\]\]-\[\[|-)(?:0?2|Feb)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 फरवरी$3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:0?3|Mar)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 मार्च $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?(0[1-9]|[1-2]\d|30)(?:\]\]-\[\[|-)(?:0?4|Apr)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 अप्रैल $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:0?5|May)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 मई$3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?(0[1-9]|[1-2]\d|30)(?:\]\]-\[\[|-)(?:0?6|Jun)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 जून $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:0?7|Jul)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 जुलाई $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:0?8|Aug)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 अगस्त $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?(0[1-9]|[1-2]\d|30)(?:\]\]-\[\[|-)(?:0?9|Sep)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 सितंबर $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:10|Oct)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 अक्टूबर $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?(0[1-9]|[1-2]\d|30)(?:\]\]-\[\[|-)(?:11|Nov)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 नवंबर $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*)(?:\[\[)?([0-2]?\d|30|31)(?:\]\]-\[\[|-)(?:12|Dec)-([1-2]\d{3})(?:\]\])?/gi, '$1$2 दिसंबर $3');

	regex(/([ =]+)([0-2]?\d|30|31)-(?:0?1|Jan)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 जनवरी $3');
	regex(/([ =]+)(0[1-9]|[1-2]\d)-(?:0?2|Feb)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 फरवरी$3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:0?3|Mar)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 मार्च $3');
	regex(/([ =]+)(0[1-9]|[1-2]\d|30)-(?:0?4|Apr)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 अप्रैल $3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:0?5|May)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 मई$3');
	regex(/([ =]+)(0[1-9]|[1-2]\d|30)-(?:0?6|Jun)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 जून $3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:0?7|Jul)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 जुलाई $3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:0?8|Aug)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 अगस्त $3');
	regex(/([ =]+)(0[1-9]|[1-2]\d|30)-(?:0?9|Sep)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 सितंबर $3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:10|Oct)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 अक्टूबर $3');
	regex(/([ =]+)(0[1-9]|[1-2]\d|30)-(?:11|Nov)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 नवंबर $3');
	regex(/([ =]+)([0-2]?\d|30|31)-(?:12|Dec)-([1-2]\d{3})(?![-–\d\/])/gi, '$1$2 दिसंबर $3');
}

function Ohc_protect_dates_convert(){
	var table = [
		'([0-3]?\\d)([ \\-\\.\\/][0-3]?\\d)',
		'([0-3]?\\d(?:th|st|nd|rd|)(?: of|))([ \\-\\.\\/](?:Jan(?:uary|\\.|)|Feb(?:ruary|\\.|)|Mar(?:ch|\\.|)|Apr(?:il|\\.|)|May\\.?|Jun(?:e|\\.|)|Jul(?:y|\\.|)|Aug(?:ust|\\.|)|Sep(?:tember|\\.|t\\.?|)|Oct(?:ober|\\.|)|Nov(?:ember|\\.|)|Dec(?:ember|\\.|)))',
		'(Jan(?:uary|\\.|)|Feb(?:ruary|\\.|)|Mar(?:ch|\\.|)|Apr(?:il|\\.|)|May\\.?|Jun(?:e|\\.|)|Jul(?:y|\\.|)|Aug(?:ust|\\.|)|Sep(?:tember|\\.|t\\.?|)|Oct(?:ober|\\.|)|Nov(?:ember|\\.|)|Dec(?:ember|\\.|))((?: the|)[ \\-\\.\\/][0-3]?\\d(?:th|st|nd|rd|))',
		'([0-3]?\\d)([ \\-\\.\\/](?:,|)[12]\\d{3})',
		'([12]\\d{3})([ \\-\\.\\/](?:,|)[0-3]?\\d)',
		'(Jan(?:uary|\\.|)|Feb(?:ruary|\\.|)|Mar(?:ch|\\.|)|Apr(?:il|\\.|)|May\\.?|Jun(?:e|\\.|)|Jul(?:y|\\.|)|Aug(?:ust|\\.|)|Sep(?:tember|\\.|t\\.?|)|Oct(?:ober|\\.|)|Nov(?:ember|\\.|)|Dec(?:ember|\\.|))((?:,| the|)[ \\-\\.\\/][12]\\d{3}(?:th|st|nd|rd|))',
		'([12]\\d{3})([ \\-\\.\\/](?:,|)(?:Jan(?:uary|\\.|)|Feb(?:ruary|\\.|)|Mar(?:ch|\\.|)|Apr(?:il|\\.|)|May\\.?|Jun(?:e|\\.|)|Jul(?:y|\\.|)|Aug(?:ust|\\.|)|Sep(?:tember|\\.|t\\.?|)|Oct(?:ober|\\.|)|Nov(?:ember|\\.|)|Dec(?:ember|\\.|)))'
	];			//comma not needed in last line
 
	for (i=0; i<table.length; i++) {
		var expr = [
			['(<blockquote>[^<]*?)', '([^<]*?<\\/blockquote>)'], 
			['(<blockquote>[^<]*?)', '([^<]*?<\\/blockquote>)'], 
			['(<blockquote>[^<]*?)', '([^<]*?<\\/blockquote>)'], 
			['(\\[\\[[^\\|\\]]{0,10})',	 '([^\\|\\]]{0,15}\\|)'],
			['(\\|[ ]*?(?:image\\d?|img|title|quote)[ ]*?=[^\\|\\}]*?)',			'([^\\|\\}]*?\\|)'],
			['(\\|[ ]*?(?:title|quote)[ ]*?=[^\\|\\}]*?)',			'([^\\|\\}]*?\\|)'],
			['( "\w[^"]*?)',			'([^"]*? )'],
			['(\\[Category:[^\\]]*?)',			'([^\\]]*?\\])'],
			['((?:[Ff]ile|[Ii]mage):[^\\.]*?)',		'([^\\.]{0,20}\\.)'],
			['({[^{]{0,6}(?:[Qq]uot[^\\|]{1,7}\\s?|[Qq]|sic)\\|[^}]*?)', '([^}]*?})'], 
			['({[^{]{0,6}(?:[Qq]uot[^\\|]{1,7}\\s?|[Qq]|sic)\\|[^}]*?)', '([^}]*?})'], 
			['({[^{]{0,6}(?:[Qq]uot[^\\|]{1,7}\\s?|[Qq]|sic)\\|[^}]*?)', '([^}]*?})'] 
		];
		for (j=0; j<expr.length; j++) {
			try {
				var re = new	RegExp(expr[j][0] + table[i] + expr[j][1], 'gi');
				regex(re, '$1$2♫$3$4');
			}
			catch(err) {
 
				txt="There was an error on function Ohc_newprotect_num(), when changing '"+ expr[j][0] + table[i] + expr[j][1] + "' => '$1$2♫$3$4'.\n\n";
				txt+="Error: " + err.message + "\n\n";
				txt+="Click OK to continue.\n\n";
				alert(txt);
			}
		}
	}
}

function Ohc_unprotect_dates_convert(){
	regex(/([\d\w])♫(\s)/g, '$1$2');
	regex(/([ \-\.\/])♫([\d\w])/g, '$1$2');
	regex(/([\d\w])♫([ \-\.\/])/g, '$1$2');
	regex(/([ \-\.\/])♫([\d\w])/g, '$1$2');
	regex(/([\w\.])♫(,| )/g, '$1$2');
	regex(/([\/\.-]\d)♫(\d[\/\.-])/g, '$1$2');	
}

function Ohc_code_delink_dates() {
 var txt=document.editform.wpTextbox1;
//delink piped md|dm dates
	regex(/\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)) (?:[0-2]?\d|30|31)\|((?:[0-2]?\d|30|31) (?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)))\]\]/gi, '$1');
//delink piped md|dd dates
	regex(/\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)) (?:[0-2]?\d|30|31)\|([0-2]?\d|30|31)\]\]/gi, '$1');

 Ohc_protect_unlink ();
 Ohc_fix_common_errors();
//delink ISO8601 dates
	regex(/\[\[([12]\d{3})(?:\]\]-\[\[|-)([0-1]\d-[0-3]\d)\]\]/gi, '$1-$2');
	regex(/([12]\d{3})-\[\[([0-1]\d-[0-3]\d)\]\]/gi, '$1-$2');

//delink full dates
	regex(/\[\[([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s_](?:of[\s_])?(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(?:\]\] \[\[| )([12]\d{3})\]\]/gi, '$1 $2 $3');  

	regex(/\[\[(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)) (?:the\s)?([0-2]?\d|30|31)(?:th|st|nd|rd|)(?:\]\],? \[\[|, )([12]\d{3})\]\]/gi, '$1 $2, $3');  

//delink single dm or 'dth the m'
	regex(/(?:the\s)?\[\[([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s_](?:of[\s_])?(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\]\]/gi, '$1 $2');  

//delink single md or 'm the dth'
	regex(/\[\[(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[\s_](?:the[\s_])?([0-2]?\d|30|31)(?:th|st|nd|rd|)\]\]([^\w\d])/gi, '$1 $2$3');

//Month+day_number "[[मार्च 7]]th" -> "मार्च 7"
	regex(/\[\[((?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(?:[0-2]?\d|30|31))\]\](?:th|st|nd|rd)/gi, '$1');

//removal of 'year in foo' in full dates (with or without links) with incorrect '[[year in foo|YYYY]]'
//<!-- long-unused, rem 26 मई2011 -->

//month+day+year piped pseudo-ISO dates
	regex(/\[\[(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))( [0-2]?\d|30|31)\|(?:[0-2]?\d|30|31)-(?:[0-2]?\d|30|31)\]\]-(?:\[\[)?([1-2]\d\d\d)(\|\d{2,4})?(?:\]\])?/gi, '$1$2, $3');
	regex(/\[\[([0-3]\d\s(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)))\|(?:[0-2]?\d|30|31)-(?:[0-2]?\d|30|31)\]\]-(?:\[\[)?([1-2]\d{3})(\]\])?/gi, '$1 $2');

//month+day piped
	regex(/(?:the\s)?\[\[\d{1,2}(?:th|st|nd|rd|)[\s_](?:of[\s_])?(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\|([^\]]{1,30})\]\]/gi, '$1');

 //'[[month day|xxXxx]]Xyyyy ' to 'month day, year'
	regex(/\[\[(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(\d{1,2})(?:th|st|nd|rd|)\|\d?\d\.\d?\d\]\].([1-2]\d{3})/gi, '$1 $2, $3'); 
 //'[[day month|xxXxx]]Xyyyy' to 'day month year'
	regex(/\[\[(\d{1,2})(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\|\d?\d\.\d?\d\]\].([1-2]\d{3})/gi, '$1 $2 $3'); 

// century
	regex(/\[\[((?:first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh|twelfth|thirteenth|fourteenth|fifteenth|sixteenth|seventeenth|eighteenth|nineteenth|twentieth|twenty(?:\s|-)first)(?:\s|-))(century|centuries)(\sAD|\sBC|\sCE|\sBCE|)\]\]/gi, '$1$2$3');
	regex(/\[\[(?:first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh|twelfth|thirteenth|fourteenth|fifteenth|sixteenth|seventeenth|eighteenth|nineteenth|twentieth|twenty(?:\s|-)first)[\s-_](?:century|centuries)(?:\sAD|\sBC|\sCE|\sBCE|)\|([^\]]{1,30})\]\]/gi, '$1');
	regex(/\[\[(\d{1,2}(?:st|nd|rd|th)[\s-_])(century|centuries)(\sAD|\sBC|\sCE|\sBCE|)\]\]/gi, '$1$2$3');
	regex(/\[\[\d{1,2}(?:st|nd|rd|th)[\s-_](?:century|centuries)(?:\sAD|\sBC|\sCE|\sBCE|)\|([^\]]{1,30})\]\]/gi, '$1');

// months
	regex(/\[\[(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\]\]/gi, '$1');
	regex(/\[\[(?:जनवरी|February|मार्च|अप्रैल|May|जून|जुलाई|अगस्त|सितंबर|अक्टूबर|नवंबर|दिसंबर)\|([^\]]{1,30})\]\]/gi, '$1');

// decades and years
	regex(/\[\[(\d{1,3}0)\'?s\]\]/g, '$1s');
	regex(/\[\[\d{1,3}0\'?s?\|([^\]]{1,30})\]\]/g, '$1');
	regex(/\[\[(\d{1,3}0)\'?(s)?\s(AD|BC|CE|BCE)\]\]/gi, '$1$2 $3');
	regex(/\[\[(\d{1,4}[\s_]?)(AD|BC|CE|BCE)\]\]/gi, '$1$2');
	regex(/\[\[(AD|BC|CE|BCE)([\s_]?)(\d{1,4})\]\]/gi, '$3$2$1');
	regex(/\[\[([12]?\d{1,3})\]\]/gi, '$1');
	regex(/\[\[\d{1,3}0\'?s?\s(?:AD|BC|CE|BCE)\|([^\]]{1,30})\]\]/gi, '$1');
	regex(/\[\[\d{1,3}0\'?s?\s\(decade\)\|([^\]]{1,30})\]\]/gi, '$1');

//month+year
//Identify surprise or 'Easter egg' diversions linking month+years to year articles. Turn them into month+year links to be dealt with below
	regex(/\[\[\d{1,4}#[^\|\]]+\|((?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s[1-2]\d{3})\]\]/gi, '$1');
	regex(/\[\[((?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s[1-2]\d{3})\]\]/gi, '$1');
	regex(/\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s[1-2]\d{3}\|([^\]]{1,30})\]\]/gi, '$1');

//removed piped years when in full date
	regex(/(\[\[\d{1,2}\s(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\]\],?\s?\[\[)[^\|\]]{1,32}\|(\d{1,4}\]\])/gi, '$1$2');
	regex(/(\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s\d{1,2}\]\],?\s?\[\[)[^\|\]]{1,32}\|(\d{1,4}\]\])/gi, '$1$2');

//Identify surprise or 'Easter egg' diversions linking months to year articles.
	regex(/\[\[\d{1,4}#[^\|\]]+\|(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\]\]/gi, '$1');

// month and day piped
	regex(/(\d{4}-)\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[\s_]\d{1,2}(?:th|st|nd|rd|)\|(\d-)(\d)\]\]/gi, '$10$20$3');
	regex(/(\d{4}-)\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[\s_]\d{1,2}(?:th|st|nd|rd|)\|(\d\d-)(\d)\]\]/gi, '$1$20$3');
	regex(/(\d{4}-)\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[\s_]\d{1,2}(?:th|st|nd|rd|)\|(\d-)(\d\d)\]\]/gi, '$10$2$3');
	regex(/\[\[(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))[\s_]\d{1,2}(?:th|st|nd|rd|)\|([^\]]{1,30})\]\]/gi, '$1');
	regex(/\[\[\d{1,2}(?:th|st|nd|rd|)[\s_](?:of[\s_])?(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.?|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\|([^\]]{1,30})\]\]/gi, '$1');
	regex(/\[\[(\d{1,2}(?:st|nd|rd|th))\]\]/gi, '$1');

//4 digit years piped
	regex(/\[\[\d{1,4}\|([^\]]{1,30})\]\]/gi, '$1');

	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(?:, | of )([1-2]\d{3}[\w\d])/gi, '$1 $2'); //repeat removal of commas and 'of' between month and year

// spaces and commas - mdy birth and death date ranges
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31),? (\d{1,3}|[12]?\d{3})(?:[ ]*[-–][ ]*)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31),? (\d{1,3}|[12]?\d{3})([^\d][^\w\d])/gi, '$1$2 $3, $4 – $5 $6, $7$8');
//dmy birth and death date ranges)
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),? (\d{1,3}|[12]?\d{3})(?:\s?[-–]\s?)([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),? (\d{1,3}|[12]?\d{3})([^\d][^\w\d])/gi, '$1$2 $3 $4 – $5 $6 $7$8');

// spaces and commas - md-md date ranges
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:[ ]*[-–][ ]*)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)/gi, '$1$2 $3 – $4 $5');
//dm-dm date ranges)
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(?:\s?[-–]\s?)([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))/gi, '$1$2 $3 – $4 $5');

}

function Ohc_delink_ISO_to_dmy() {
    var txt = document.editform.wpTextbox1;
	 
	regex(/\{\{date\|([12]\d{3}-[0-1]\d-[0-3]\d)(?:\|dmy|)\}\}/gi, '$1');	//Template:date converts to dmy by default
	regex(/(\|[ ]*accessdate[ ]*=)[ ]*([\d\w])/gi, '$1$2');
	txt.value = yyyymmdd_to_dmy(txt.value);  // adapted from User:Plastikspork/datetools.js

//code to convert ref ISO-dates outside citation templates
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]01[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जनवरी $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]02[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 फरवरी$3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]03[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 मार्च $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]04[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अप्रैल $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]05[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 मई$3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]06[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जून $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]07[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जुलाई $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]08[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अगस्त $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]09[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 सितंबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]10[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अक्टूबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]11[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 नवंबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]12[-–]0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 दिसंबर $3$5');
 
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]01[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जनवरी $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]02[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 फरवरी$3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]03[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 मार्च $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]04[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अप्रैल $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]05[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 मई$3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]06[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जून $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]07[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 जुलाई $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]08[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अगस्त $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]09[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 सितंबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]10[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 अक्टूबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]11[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 नवंबर $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})[-–]12[-–]([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2$4 दिसंबर $3$5'); 

    Ohc_remove_leading_zeros_from_nonlinked_dates ();   
 
}
 
function Ohc_delink_ISO_to_mdy() {
    var txt = document.editform.wpTextbox1;
 
	regex(/(\|[ ]*accessdate[ ]*=)[ ]*([\d\w])/gi, '$1$2');
	txt.value = yyyymmdd_to_mdy(txt.value);  // adapted from User:Plastikspork/datetools.js    
	regex(/([^\d\w\/\-%,])(\d{4}-\d\d-\d\d)(<\s?\/ref.*?>)/g, '$1$2 $3');

//code to convert ref ISO-dates outside citation templates
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-01-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जनवरी $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-02-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2फरवरी$4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-03-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2मार्च $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-04-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अप्रैल $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-05-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2मई$4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-06-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जून $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-07-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जुलाई $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-08-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अगस्त $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-09-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2सितंबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-10-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अक्टूबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-11-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2नवंबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-12-0(\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2दिसंबर $4, $3$5');
 
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-01-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जनवरी $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-02-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2फरवरी$4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-03-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2मार्च $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-04-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अप्रैल $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-05-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2मई$4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-06-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जून $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-07-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2जुलाई $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-08-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अगस्त $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-09-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2सितंबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-10-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2अक्टूबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-11-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2नवंबर $4, $3$5');
	regex(/(<\s?ref.*?>[^<]+?)([\s\(])([12]\d{3})-12-([1-3]\d)([^\d\w\/\-%,<]*?<\s?\/ref>)/g, '$1$2दिसंबर $4, $3$5'); 

    Ohc_remove_leading_zeros_from_nonlinked_dates ();  
}

function Ohc_protect_ISO_convert() {
    var txt = document.editform.wpTextbox1;
//protection for slash dates within images (added numerical string '[1-9]' to protect images inside 'multiple image' template)
	regex(/((?:file|image(?: location|[1-9]|)|img)[\s]*[:=][^\|]*?\d{1,2}[\/\.-]\d)(\d[\/\.-](?:19|20)?\d{2})/gi, '$1♫$2');  
	regex(/((?:file|image(?: location|[1-9]|)|img)[\s]*[:=][^\|]*?(?:19|20)\d{2}[\/\.-]\d{1,2}[\/\.-]\d)(\d)/gi, '$1♫$2');  
	regex(/([^\w\d\/-:]\d{1,2}[\/\.-]\d)(\d[\/\.-](?:19|20)?\d{2}\.jpe?g)/gi, '$1♫$2');
	regex(/([^\w\d\/-:](?:19|20)?\d{2}[\/\.-]\d{1,2}[\/\.-]\d)(\d\.jpe?g)/gi, '$1♫$2');
 
//protect slash date formats within titles of citation templates (repeated to catch instances of several dates in title or quote)
	regex(/(\|[ ]*(?:title|work|journal|quote|url)[ ]*=[^\]\|}]*?[0-3]\d[\/\.-][0-3])(\d[\/\.-](?:19|20)?\d{2}[ ]*[^\]\|]*?\|)/gi, '$1♫$2');
	regex(/(\|[ ]*(?:title|work|journal|quote|url)[ ]*=[^\]\|}]*?[0-3]\d[\/\.-][0-3])(\d[\/\.-](?:19|20)?\d{2}[ ]*[^\]\|]*?\|)/gi, '$1♫$2');
	regex(/(\|[ ]*(?:title|work|journal|quote|url)[ ]*=[^\]\|}]*?(?:1[89]|20)\d{2}[\/\.-][0-1]\d[\/\.-]\d)(\d[ ]*[^\]\|]*?\|)/gi, '$1♫$2');
	regex(/(\|[ ]*(?:title|work|journal|quote|url)[ ]*=[^\]\|}]*?(?:1[89]|20)\d{2}[\/\.-][0-1]\d[\/\.-]\d)(\d[ ]*[^\]\|]*?\|)/gi, '$1♫$2');
 
}

function Ohc_delink_ISOxs_to_dmy() {
    var txt = document.editform.wpTextbox1;
	Ohc_protect_ISO_convert();
	txt.value = spork_yyyymmdd_to_dmy(txt.value);  // from User:Plastikspork/datetools.js
 
	Ohc_all_yyyymmdd_to_dmy();  // from User:Plastikspork/datetools.js   - converts ALL instances of ISO dates (not just those in references
	Ohc_unprotect_dates_convert();
	Ohc_remove_leading_zeros_from_nonlinked_dates ();   
 
}
 
function Ohc_delink_ISOxs_to_mdy() {
    var txt = document.editform.wpTextbox1;
	Ohc_protect_ISO_convert();
	txt.value = spork_yyyymmdd_to_mdy(txt.value);  // from User:Plastikspork/datetools.js    
	Ohc_all_yyyymmdd_to_mdy();  // from User:Plastikspork/datetools.js    - converts ALL instances of ISO dates (not just those in references
	Ohc_unprotect_dates_convert();
	Ohc_remove_leading_zeros_from_nonlinked_dates ();  
}
 
function Ohc_delink_year_in_X(){
 var txt=document.editform.wpTextbox1;

	regex(/{{(?:avyear|by|baseball\syear|fy|ly|mlby|mlb\syear|scy|sdy)\|(\d{1,4})}}/gi, '$1');
	regex(/{{(?:avyear|by|baseball\syear|fy|ly|mlby|mlb\syear|scy|sdy)\|(?:\d{1,4})\|(\d{1,4})}}/gi, '$1');
	regex(/\[\[\d{1,4}\sin\s[^\|]+\|(\d{1,4})\]\]/gi, '$1');
//	regex(/\[\[(?:\d{4}.\d{2} in English football)\|([^\]]{1,30})\]\]/gi, '$1'); //temp disable to work on English football articles

	regex(/\[\[\d{4,4} Major League Baseball season\|(\d{4,4})(\sseason)?\]\]/gi, '$1$2');


}

var linkmap=[];
function Ohc_protect_unlink(){
 var txt=document.editform.wpTextbox1;
	regex(/Image:[^|]+/gi, function(img){
        linkmap.push(img);
        return "\x02"+(linkmap.length-1)+"\x03";
    });
//protect certain dates (by substituting space between month and day with ♫)

	regex(/(\[\[(?:Category:)(?:[^\|\]]*?)सितंबर )(11 attacks\])/gi, '$1♫$2');
	regex(/(\[\[(?:[^\|\]]*?)सितंबर) (11 attacks\|)/gi, '$1♫$2');
	regex(/(\[\[4)(AD)/gi, '$1♫$2');
	regex(/(मार्च) ((?:8|14) Alliance)/gi, '$1♫$2');
	regex(/(Long मार्च) (2)/gi, '$1♫$2');
	regex(/(movement 2) (जून)/gi, '$1♫$2');
	regex(/(23rd) (मार्च 1931: Shaheed)/gi, '$1♫$2');
	regex(/(6th\sof) (अक्टूबर City)/gi, '$1♫$2');
	regex(/(Party Workers' Liberation Front 30th of) (May)/gi, '$1♫$2');
	regex(/(4th\sof) (अगस्त regime)/gi, '$1♫$2');
	regex(/(4th\sof) (जुलाई, Asbury)/gi, '$1♫$2');
	regex(/(19th\sof) (अप्रैल movement)/gi, '$1♫$2');
	regex(/(जून) (4th incident)/gi, '$1♫$2');
	regex(/(\[\[13) (मईincident\|)/gi, '$1♫$2');
	regex(/(\[\[नवंबर) (1828\]\])/gi, '$1♫$2');
	regex(/(\[\[May\s1968)(\]\])/gi, '$1 in France|मई1968$2');
	regex(/(\[\[जून) (1, 1974\]\])/gi, '$1♫$2'); //जून 1, 1974 is the name of an album
	regex(/(\'\'जून) (1, 1974\'\')/gi, '$1♫$2'); 
	regex(/(\[\[4th\sof) (जुलाई)/gi, '$1♫$2');
	regex(/(\[\[)((?:2300|2000)\s?AD\]\])/gi, '$1:$2');
	regex(/\[\[([48]0[48][0458])\]\]/g, '[[Intel $1|$1]]');
}
 
function Ohc_unprotect_unlink(){
 var txt=document.editform.wpTextbox1;

//unprotect certain dates
	regex(/(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))♫(\d{1,2}(?:th|st|nd|rd|))/gi, '$1 $2');
	regex(/(\d{1,2}(?:th|st|nd|rd|)(?: of|))♫(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))/gi, '$1 $2');
	regex(/(\[\[4)♫(AD)/gi, '$1$2'); //record label - has no space
	regex(/(\w)♫(\w)/g, '$1$2');	//2010-10-06 quick patch to remove any spurious protection markers
	regex(/\x02([0-9]+)\x03/g, function(x, n){
        return linkmap[n];
    });
}

function Ohc_remove_leading_zeros_from_nonlinked_dates () {
 var txt=document.editform.wpTextbox1;
//remove leading zero from nonlinked date
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s0(\d)(?:th|st|nd|rd|),?\s([12]\d{3})([^\w\d][^\d]|\b)/gi, '$1$2 $3, $4$5');
	regex(/([^\d][^\w\d])0(\d)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([12]\d{3})([^\w\d][^\d]|\b)/gi, '$1$2 $3 $4$5');

	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s0(\d)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/gi, '$1$2 $3$4');
	regex(/([^\d][^\w\d])0(\d)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/gi, '$1$2 $3$4');

}


function Ohc_dates_to_dmy(){
 var txt=document.editform.wpTextbox1;
// current month-year
    var currentDate = new Date();
    var currmonth = currentDate.getMonth();
    var curryear  = currentDate.getFullYear();
    var myMonths = new Array("जनवरी", "February", "मार्च", "अप्रैल", "May", "जून", "जुलाई", "अगस्त", "सितंबर", "अक्टूबर", "नवंबर", "दिसंबर");
    var curryyyymm = myMonths[currmonth] + ' ' + curryear;
 
// insert 'dmy' template
	regex(/{{(use (dmy|mdy) dates|dmy|mdy)[ ]*(\|[^}]*)?}}/gi, '{{Use dmy dates|date='+curryyyymm+'}}');
 
    var rxpdd = new	RegExp("{{Use dmy dates\\|date="+curryyyymm+"}}", "gi");
    var dflagfound = txt.value.search(rxpdd);
    if (dflagfound == -1)
    {
        txt.value='{{Use dmy dates|date='+curryyyymm+'}}\r\n'+txt.value;
    }

 Ohc_protect_unlink();
 Ohc_code_delink_dates();
//repeat protect dates because 'unprotect dates' function is within 'delink dates' function

//change start and end templates
	regex(/(\{\{(start\sdate|end\sdate)[^|}]*\|)df=ye?s?\|([^}]*df=ye?s?)/gi, '$1$2');

//change deprecated birth and death templates
	regex(/(\{\{(?:Birth|Death|release|start|end)[^}]*)\|mf=ye?s?/gi, '$1'); //rem pipe symbol to treat cases where mf is at the end
	regex(/(\{\{(?:Birth|Death|release|start|end)[^|}]*\|)/gi, '$1df=yes|');
	regex(/(\{\{(?:Birth|Death|release|start|end)[^|}]*\|)df=ye?s?\|([^}]*df=ye?s?)/gi, '$1$2');

// dts - format=dmy in this case (per D12000)
        // per {{dts}} doc, remove the obsolete link=off param
	txt.value=txt.value.replace(/(\{\{dts[^}]*)(?:\|link=off)/gi, '$1');
        // clean up existing format...
	txt.value=txt.value.replace(/(\{\{dts[^}]*)(?:\|format=(dmy|mdy))/gi, '$1');
        // then ensure format=dmy is applied if year is first
        txt.value=txt.value.replace(/(\{\{dts[^|]*\|)(?=\d{4}[-\|])/gi, '$1format=dmy|');
 
//convert mdy-mdy to dmy-dmy (birth and death date ranges)
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31), ([12]?\d{0,3})(?:\s?[-–]\s?)(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31), ([12]?\d{0,3})([^\d][^\w\d])/g, '$1$3 $2 $4 – $6 $5 $7$8');

//convert md-mdy date ranges to dm-dmy
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)((?:,\s[0-3]?\d(?:th|st|nd|rd|)){0,6}),?(\/|\s?[-–]\s?|\s(?:and|&|to|or)\s+?)([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s(?:of\s)?(\d{3,4}[^\w\d][^\d])/g, '$1$3$4$5$6 $2 $7');
//test code	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)((?:,?\s[0-3]?\d(?:th|st|nd|rd|)){0,6}),? ([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s(?:of\s)?(\d{3,4}[^\w\d][^\d])/g, '$1$3$4, $5 $2$6');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)((?:,\s[0-3]?\d(?:th|st|nd|rd|)){0,6}), ([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/g, '$1$3$4, $5 $2$6');

//convert md,d,d, date ranges to d,d,dm  (multiple, separated by commas)
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([1-3]?\d)(?:th|st|nd|rd|)((?:,?\s[0-3]?\d(?:th|st|nd|rd|)){0,6}),?(\/|\s?[-–]\s?|\s(?:and|&|to|or)\s+?)([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/g, '$1$3$4$5$6 $2$7');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))((?:\s[1-3]?\d(?:th|st|nd|rd|),?){1,6})(\s(?:and|&|to|or)\s+?)([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/g, '$1$3$4$5 $2$6');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([1-3]?\d)(?:th|st|nd|rd|)((?:,?\s[1-3]?\d(?:th|st|nd|rd|)){1,6})([^\w\d][^\d]|\b)/g, '$1$3$4 $2$5');
//convert md date ranges to dm  (simple, separated by hyphens and dashes  or 'to')
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([1-3]?\d)(?:th|st|nd|rd|)(\s?[-–]\s?|\sto\s)([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/g, '$1$3 $4$5 $2$6');

//'md, md,' to 'dm, dm,'
	regex(/([^\d])( (Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)))( [0-2]?\d|30|31),( (Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)))( [0-2]?\d|30|31)([,\.][^\w\d][^\d])/g, '$1$3$2,$5$4,$6'); 

//convert simple mdy dates to dmy
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s(\d{1,4}\s?(?:AD|BC|CE|BCE)[^\w\d][^\d])/g, '$1$3 $2 $4');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s([12]\d{3})([^\w\d][^\d]|\b)/g, '$1$3 $2 $4$5');
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)([^\w\d][^\d]|\b)/g, '$1$3 $2$4');
//Repeat line to capture some instances that get missed first time 
//(needed because the date component 'सितंबर 19, 1881' within the string 'मार्च 4-सितंबर 19, 1881' is blocked from conversion by the '4')
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|),?\s(\d{1,4})([^\w\d][^\d]|\b)/g, '$1$3 $2 $4$5');

//Month+day_number " 7th मार्च" -> "7 मार्च"
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(\d{1,4})([^\w\d][^\d]|\b)/g, '$1$2 $3 $4$5');
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/g, '$1$2 $3$4');

 Ohc_remove_leading_zeros_from_nonlinked_dates ();
//remove comma in International date format
	regex(/([1-3]?\d)(?:th|st|nd|rd|)\s(Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|जून?|जुलाई?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?),?\s?(\d{3,4})([^\w\d])/g, '$1 $2 $3$4');

//	remove "the" from "on the dd month"
	regex(/(on |by )the ([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))(?=[ ,\)\.])/gi, '$1$2 $3');

//Capitalise month names (dmy) //first protect strings inside image names
// not required following tweak of Ohc_protect_dates_convert	regex(/(\|[ ]*?(?:image\d?|img|title|quote)[ ]*?=[^\|\}]*?)([0-3]?\d(?:th|st|nd|rd|)(?: of|))([ \-\.\/](?:jan(?:uary|\.|)|feb(?:ruary|\.|)|mar(?:ch|\.|)|apr(?:il|\.|)|may\.?|jun(?:e|\.|)|jul(?:y|\.|)|aug(?:ust|\.|)|sep(?:tember|\.|t\.?|)|oct(?:ober|\.|)|nov(?:ember|\.|)|dec(?:ember|\.|)))([^\|\}]*?\|)/g, '$1$2♫$3$4');

	regex(/\b((?:[1-2]?\d|30|31)\s)jan(|uary|\.)(\s|, )/g, '$1Jan$2$3');
	regex(/\b((?:[1-2]?\d)\s)feb(|ruary|\.)(\s|, )/g, '$1Feb$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)mar(|ch|\.)(\s\d)/g, '$1Mar$2$3');
	regex(/\b((?:[1-2]?\d|30)\s)apr(|il|\.)(\s|, )/g, '$1Apr$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)may(,|\.)(\s|, )/g, '$1May$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)may(|\.)(\s\d)/g, '$1May$2$3');
	regex(/\b((?:[1-2]?\d|30)\s)jun(|e|\.)(\s|, )/g, '$1Jun$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)jul(|y|\.)(\s|, )/g, '$1Jul$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)aug(|ust|\.)(\s|, )/g, '$1Aug$2$3');
	regex(/\b((?:[1-2]?\d|30)\s)sep(|tember|\.)(\s|, )/g, '$1Sep$2$3');
	regex(/\b((?:[1-2]?\d|30)\s)sept(\s|, )/g, '$1Sep$2');
	regex(/\b((?:[1-2]?\d|30|31)\s)oct(|ober|\.)(\s|, )/g, '$1Oct$2$3');
	regex(/\b((?:[1-2]?\d|30)\s)nov(|ember|\.)(\s|, )/g, '$1Nov$2$3');
	regex(/\b((?:[1-2]?\d|30|31)\s)dec(|ember|\.)(\s|, )/g, '$1Dec$2$3');

 Ohc_dmy_redundancies();
 Ohc_unprotect_unlink();
 Ohc_unprotect_dates_convert();
}

function Ohc_dates_to_mdy(){
 var txt=document.editform.wpTextbox1;
// current month-year
    var currentDate = new Date();
    var currmonth = currentDate.getMonth();
    var curryear  = currentDate.getFullYear();
    var myMonths = new Array("जनवरी", "February", "मार्च", "अप्रैल", "May", "जून", "जुलाई", "अगस्त", "सितंबर", "अक्टूबर", "नवंबर", "दिसंबर");
    var curryyyymm = myMonths[currmonth] + ' ' + curryear;
 
// insert 'dmy' template
	regex(/{{(use (dmy|mdy) dates|dmy|mdy)(\|[^}]*)?}}/gi, '{{Use mdy dates|date='+curryyyymm+'}}');
 
    var rxpdd = new	RegExp("{{Use mdy dates\\|date="+curryyyymm+"}}", "gi");
    var dflagfound = txt.value.search(rxpdd);
    if (dflagfound == -1)
    {
        txt.value='{{Use mdy dates|date='+curryyyymm+'}}\r\n'+txt.value;
    }

 Ohc_code_delink_dates();
//repeat protect dates because 'unprotect dates' function is within 'delink dates' function
 Ohc_protect_unlink();

//change deprecated birth and death templates
	regex(/({{(?:Birth|Death|release|start|end)[^}]*)\|df=ye?s?/gi, '$1');
	regex(/({{(?:Birth|Death|release|start|end)[^|]*\|)mf=ye?s?\|([^}]*mf=ye?s?)/gi, '$1$2');

// dts - format=mdy in this case
        // per {{dts}} doc, remove the obsolete link=off param
	txt.value=txt.value.replace(/(\{\{dts[^}]*)(\|link=off)/gi, '$1');
        // clean up existing format...
	txt.value=txt.value.replace(/(\{\{dts[^}]*)(\|format=(dmy|mdy))/gi, '$1');
        // default format=mdy 
//        txt.value=txt.value.replace(/(\{\{dts[^|]*\|)/gi, '$1format=mdy|');
 
//convert dmy-dmy to mdy-mdy (birth and death date ranges)
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),? ([12]?\d{0,3})(?:\s?[-–]\s?)([0-2]?\d|30|31)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),? ([12]?\d{0,3})([^\d][^\w\d])/g, '$1$3 $2, $4 – $6 $5, $7$8');

//convert dm-dmy date ranges to md-mdy
	regex(/([^\d][^\w\d])((?:[0-3]?\d)(?:th|st|nd|rd|),\s){0,6}([0-2]?\d|30|31)(?:th|st|nd|rd|)(\/|[\s]{0,3}(?:and|&|to|or|-|–)[\s]{0,3})([0-2]?\d|30|31)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s(\d{3,4}[^\w\d][^\d])/g, '$1$6 $2$3$4$5, $7');

//convert d,d,dm date ranges to md,d,d  (multiple, separated by commas)
	regex(/([^\d][^\w\d])((?:[0-3]?\d(?:th|st|nd|rd|),?\s){0,6})([0-2]?\d|30|31)(?:th|st|nd|rd|)(\/|[\s]{0,3}(?:and|&|to|or|-|–)[\s]{0,3})([0-2]?\d|30|31)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/g, '$1$6 $2$3$4$5$7');
	regex(/([^\d][^\w\d])((?:[0-3]?\d(?:th|st|nd|rd|),?[\s]{1,3}){1,6})([0-2]?\d|30|31)(?:th|st|nd|rd|)\s(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/g, '$1$4 $2$3$5');
//convert dm date ranges to md  (simple, separated by hyphen, dash or 'to')
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)([\s]{0,3}[-–][\s]{0,3}|\sto[\s]{0,3})([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s]{1,3}(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/g, '$1$5 $2$3$4$6');

//'dm, dm,' to 'md, md,'
	regex(/([^\d])( [0-2]?\d|30|31)( (Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))),( [0-2]?\d|30|31)( (Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)))([,\.]?[^\w\d][^\d])/g, '$1$3$2,$5$4,$6'); 

	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s]{1,3}(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),?\s(\d{1,4}\s?(?:AD|BC|CE|BCE)[^\w\d][^\d])/g, '$1$3 $2, $4');
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s]{1,3}(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|)),?\s([12]\d{3})([^\w\d][^\d]|\b)/g, '$1$3 $2, $4$5');
	regex(/([^\d][^\w\d])([0-2]?\d|30|31)(?:th|st|nd|rd|)[\s]{1,3}(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))([^\w\d][^\d]|\b)/g, '$1$3 $2$4');

//Month+day_number "मार्च 7th" -> "मार्च 7"
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd)([^\w\d][^\d]|\b)/g, '$1$2 $3$4');

//add comma when missing
	regex(/([^\d][^\w\d])(Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([0-2]?\d|30|31)(?:th|st|nd|rd|)(\s\d{1,4}[^\w\d][^\d])/g, '$1$2 $3,$4');

 Ohc_remove_leading_zeros_from_nonlinked_dates ();
//Capitalise month names (mdy) //first protect strings inside image names
// not required following tweak of Ohc_protect_dates_convert	regex(/(\|[ ]*?(?:image\d?|img|title|quote)[ ]*?=[^\|\}]*?)(jan(?:uary|\.|)|feb(?:ruary|\.|)|mar(?:ch|\.|)|apr(?:il|\.|)|may\.?|jun(?:e|\.|)|jul(?:y|\.|)|aug(?:ust|\.|)|sep(?:tember|\.|t\.?|)|oct(?:ober|\.|)|nov(?:ember|\.|)|dec(?:ember|\.|))((?: the|)[ \-\.\/][0-3]?\d(?:th|st|nd|rd|))([^\|\}]*?\|)/g, '$1$2♫$3$4');
	regex(/\b(\s)jan(|uary|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Jan$2$3');
	regex(/\b(\s)feb(|ruary|\.)(\s(?:[1-2]?\d),)/g, '$1Feb$2$3');
	regex(/\b(\s)mar(|ch|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Mar$2$3');
	regex(/\b(\s)apr(|il|\.)(\s(?:[1-2]?\d|30),)/g, '$1Apr$2$3');
	regex(/\b(\s)may(|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1May$2$3');
	regex(/\b(\s)jun(|e|\.)(\s(?:[1-2]?\d|30),)/g, '$1Jun$2$3');
	regex(/\b(\s)jul(|y|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Jul$2$3');
	regex(/\b(\s)aug(|ust|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Aug$2$3');
	regex(/\b(\s)sep(|tember|\.)(\s(?:[1-2]?\d|30),)/g, '$1Sep$2$3');
	regex(/\b(\s)sept(\s(?:[1-2]?\d|30),)/g, '$1Sep$2');
	regex(/\b(\s)oct(|ober|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Oct$2$3');
	regex(/\b(\s)nov(|ember|\.)(\s(?:[1-2]?\d|30),)/g, '$1Nov$2$3');
	regex(/\b(\s)dec(|ember|\.)(\s(?:[1-2]?\d|30|31),)/g, '$1Dec$2$3');

 Ohc_unprotect_unlink();
 Ohc_unprotect_dates_convert();

}

function Ohc_dmy_redundancies() {
 var	txt=document.editform.wpTextbox1;

//month-range redundancies (repeating month names)
	regex(/([\D](?:[0-2]?\d|30|31)) जनवरी[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) जनवरी)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d)) February[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d) February)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) मार्च[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) मार्च)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30)) अप्रैल[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30) अप्रैल)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) May[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) May)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30)) जून[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30) जून)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) जुलाई[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) जुलाई)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) अगस्त[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) अगस्त)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30)) सितंबर[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30) सितंबर)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) अक्टूबर[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) अक्टूबर)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30)) नवंबर[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30) नवंबर)/gi, '$1 $2');
	regex(/([\D](?:[0-2]?\d|30|31)) दिसंबर[ ]{1,2}((?:to|and|-|–)[ ]{1,2}(?:[0-2]?\d|30|31) दिसंबर)/gi, '$1 $2');

}

function Ohc_MOSNUM_edit_summary(){
	//Add a tag to the summary box
	setoptions(minor='true'); 		
	setreason('date formats per [[WP:MOSNUM]] by [[WP:MOSNUMscript|script]]', 'append');
	doaction('diff');
}

function yyyymmdd_to_dmy(str) {
// This code adapted from User:Plastikspork/datetools.js
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?1-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 जनवरी $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?2-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 फरवरी$2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?3-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 मार्च $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?4-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 अप्रैल $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?5-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 मई$2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?6-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 जून $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?7-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 जुलाई $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?8-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 अगस्त $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?9-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 सितंबर $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)10-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 अक्टूबर $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)11-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 नवंबर $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)12-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1$3 दिसंबर $2');

	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?1-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 जनवरी $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?2-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 फरवरी$2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?3-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 मार्च $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?4-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 अप्रैल $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?5-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 मई$2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?6-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 जून $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?7-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 जुलाई $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?8-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 अगस्त $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?9-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 सितंबर $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)10-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 अक्टूबर $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)11-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 नवंबर $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)12-([0-2]\d|30|31)(?:\]\])?/gi, '$1$3 दिसंबर $2');
  return str;
}

function yyyymmdd_to_mdy(str) {
// This code adapted from User:Plastikspork/datetools.js
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?1-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1जनवरी $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?2-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1फरवरी$3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?3-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1मार्च $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?4-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1अप्रैल $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?5-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1मई$3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?6-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1जून $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?7-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1जुलाई $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?8-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1अगस्त $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)0?9-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1सितंबर $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)10-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1अक्टूबर $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)11-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1नवंबर $3, $2');
	str=str.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:\[\[)?([1-2][0-9]{3})(?:\]\]-\[\[|-)12-(0[1-9]|[1-2][0-9]|30|31)(?:\]\])?/gi, '$1दिसंबर $3, $2');

	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?1-([0-2]\d|30|31)(?:\]\])?/gi, '$1जनवरी $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?2-([0-2]\d|30|31)(?:\]\])?/gi, '$1फरवरी$3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?3-([0-2]\d|30|31)(?:\]\])?/gi, '$1मार्च $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?4-([0-2]\d|30|31)(?:\]\])?/gi, '$1अप्रैल $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?5-([0-2]\d|30|31)(?:\]\])?/gi, '$1मई$3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?6-([0-2]\d|30|31)(?:\]\])?/gi, '$1जून $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?7-([0-2]\d|30|31)(?:\]\])?/gi, '$1जुलाई $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?8-([0-2]\d|30|31)(?:\]\])?/gi, '$1अगस्त $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)0?9-([0-2]\d|30|31)(?:\]\])?/gi, '$1सितंबर $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)10-([0-2]\d|30|31)(?:\]\])?/gi, '$1अक्टूबर $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)11-([0-2]\d|30|31)(?:\]\])?/gi, '$1नवंबर $3, $2');
	str=str.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:\[\[)?([1-2]\d{3})(?:\]\]-\[\[|-)12-([0-2]\d|30|31)(?:\]\])?/gi, '$1दिसंबर $3, $2');
  return str;
}
	
function Ohc_all_yyyymmdd_to_dmy() {
// Catch-all: This code adapted from User:Plastikspork/datetools.js
	regex(/([^\w\d\/-])([1-2]\d{3})-0?1-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 जनवरी $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?2-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 फरवरी$2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?3-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 मार्च $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?4-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 अप्रैल $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?5-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 मई$2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?6-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 जून $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?7-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 जुलाई $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?8-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 अगस्त $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?9-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 सितंबर $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-10-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 अक्टूबर $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-11-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 नवंबर $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-12-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1$3 दिसंबर $2$4');
}

function Ohc_Reflist_dates_to_dmy() {
// converts dates of recently Reflinks citations
	regex(/\|date=([1-2]\d{3})-0?1-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 जनवरी $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?2-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 फरवरी$1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?3-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 मार्च $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?4-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 अप्रैल $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?5-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 मई$1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?6-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 जून $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?7-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 जुलाई $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?8-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 अगस्त $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-0?9-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 सितंबर $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-10-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 अक्टूबर $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-11-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 नवंबर $1$3$5 नवंबर $4');
	regex(/\|date=([1-2]\d{3})-12-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=$2 दिसंबर $1$3$5 नवंबर $4');
	regex(/(\| ?accessdate=) ?([1-2]\d{3})-11-(\d\d)/gi, '$1$3 नवंबर $2');

	regex(/\(([1-2]\d{3})-0?1-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 जनवरी $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?2-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 फरवरी$1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?3-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 मार्च $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?4-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 अप्रैल $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?5-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 मई$1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?6-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 जून $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?7-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 जुलाई $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?8-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 अगस्त $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-0?9-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 सितंबर $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-10-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 अक्टूबर $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-11-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 नवंबर $1$3$5 नवंबर $4');
	regex(/\(([1-2]\d{3})-12-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '($2 दिसंबर $1$3$5 नवंबर $4');
	regex(/(Retrieved on )([1-2]\d{3})-11-(\d\d)/gi, '$1$3 नवंबर $2');
}

function Ohc_Reflist_dates_to_mdy() {
// converts dates of recently Reflinks citations
	regex(/\|date=([1-2]\d{3})-0?1-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=जनवरी $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?2-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=फरवरी$2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?3-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=मार्च $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?4-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=अप्रैल $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?5-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=मई$2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?6-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=जून $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?7-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=जुलाई $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?8-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=अगस्त $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-0?9-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=सितंबर $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-10-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=अक्टूबर $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-11-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=नवंबर $2, $1$3नवंबर $5, $4');
	regex(/\|date=([1-2]\d{3})-12-([0-2]?\d|30|31)( \|accessdate=)(2011)-11-(\d\d)/gi, '|date=दिसंबर $2, $1$3नवंबर $5, $4');
	regex(/(\| ?accessdate=) ?([1-2]\d{3})-11-(\d\d)/gi, '$1नवंबर $3, $2');

	regex(/\(([1-2]\d{3})-0?1-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(जनवरी $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?2-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(फरवरी$2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?3-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(मार्च $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?4-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(अप्रैल $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?5-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(मई$2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?6-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(जून $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?7-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(जुलाई $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?8-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(अगस्त $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-0?9-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(सितंबर $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-10-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(अक्टूबर $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-11-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(नवंबर $2, $1$3नवंबर $5, $4');
	regex(/\(([1-2]\d{3})-12-([0-2]?\d|30|31)(\)\. Retrieved on )(2011)-11-(\d\d)/gi, '(दिसंबर $2, $1$3नवंबर $5, $4');
	regex(/(Retrieved on )([1-2]\d{3})-11-(\d\d)/gi, '$1नवंबर $3, $2');
}

function Ohc_all_yyyymmdd_to_mdy() {
// Catch-all: This code adapted from User:Plastikspork/datetools.js
	regex(/([^\w\d\/-])([1-2]\d{3})-0?1-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1जनवरी $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?2-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1फरवरी$3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?3-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1मार्च $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?4-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1अप्रैल $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?5-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1मई$3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?6-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1जून $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?7-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1जुलाई $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?8-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1अगस्त $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-0?9-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1सितंबर $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-10-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1अक्टूबर $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-11-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1नवंबर $3, $2$4');
	regex(/([^\w\d\/-])([1-2]\d{3})-12-([0-2]?\d|30|31)([^\w\d\/-])/gi, '$1दिसंबर $3, $2$4');
}

function Ohc_cite_dates_to_ISO() {
 var txt=document.editform.wpTextbox1;

// |date = 13 Jan. 2006 |
// |date = 13 जनवरी 2006 |
//  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Jan(?:uary|\.|)|Feb(?:ruary|\.|)|Mar(?:ch|\.|)|Apr(?:il|\.|)|May\.?|Jun(?:e|\.|)|Jul(?:y|\.|)|Aug(?:ust|\.|)|Sep(?:tember|\.|t\.|)|Oct(?:ober|\.|)|Nov(?:ember|\.|)|Dec(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Jan(?:uary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-2]\d)\s(?:Feb(?:ruary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Mar(?:ch|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Apr(?:il|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:May)\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Jun(?:e|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Jul(?:y|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Aug(?:ust|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Sep(?:tember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Oct(?:ober|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Nov(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)([1-3]\d)\s(?:Dec(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-$2$4');

  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Jan(?:uary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Feb(?:ruary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Mar(?:ch|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Apr(?:il|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:May)\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Jun(?:e|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Jul(?:y|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Aug(?:ust|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Sep(?:tember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Oct(?:ober|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Nov(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(\d)\s(?:Dec(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-0$2$4');

  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Jan(?:uary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-2]\d)\s(?:Feb(?:ruary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Mar(?:ch|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Apr(?:il|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:May)\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Jun(?:e|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Jul(?:y|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Aug(?:ust|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Sep(?:tember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Oct(?:ober|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Nov(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)([1-3]\d)\s(?:Dec(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-$2$4');

  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Jan(?:uary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Feb(?:ruary|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Mar(?:ch|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Apr(?:il|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:May)\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Jun(?:e|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Jul(?:y|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Aug(?:ust|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Sep(?:tember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Oct(?:ober|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Nov(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(\d)\s(?:Dec(?:ember|\.|))\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-0$2$4');

// |date = Jan. 13, 2006 |
// |date = जनवरी 13, 2006 |
// |date = Jan. 13 2006 |
// |date = जनवरी 13 2006 |
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jan(?:uary|\.|))\s([1-3]\d),\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Feb(?:ruary|\.|))\s([1-2]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Mar(?:ch|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Apr(?:il|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:May)\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jun(?:e|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jul(?:y|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Aug(?:ust|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Sep(?:t.?|tember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Oct(?:ober|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Nov(?:ember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Dec(?:ember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-$2$4');

  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jan(?:uary|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Feb(?:ruary|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Mar(?:ch|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Apr(?:il|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:May)\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jun(?:e|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Jul(?:y|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Aug(?:ust|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Sep(?:tember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Oct(?:ober|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Nov(?:ember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*(?:date|archivedate)[ ]*=[ ]*)(?:Dec(?:ember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-0$2$4');

  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jan(?:uary|\.|))\s([1-3]\d),\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Feb(?:ruary|\.|))\s([1-2]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Mar(?:ch|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Apr(?:il|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:May)\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jun(?:e|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jul(?:y|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Aug(?:ust|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Sep(?:t.?|tember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Oct(?:ober|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Nov(?:ember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Dec(?:ember|\.|))\s([1-3]\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-$2$4');

  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jan(?:uary|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-01-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Feb(?:ruary|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-02-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Mar(?:ch|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-03-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Apr(?:il|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-04-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:May)\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-05-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jun(?:e|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-06-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Jul(?:y|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-07-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Aug(?:ust|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-08-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Sep(?:tember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-09-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Oct(?:ober|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-10-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Nov(?:ember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-11-0$2$4');
  txt.value=txt.value.replace(/(\|[ ]*accessdate[ ]*=[ ]*)(?:Dec(?:ember|\.|))\s(\d),?\s([1-2]\d{3})([\s]*[\}\|])/gi, '$1$3-12-0$2$4');

}

function Ohc_unambiguous_dates() {
  Ohc_unambiguous();
  Ohc_slash_edit_summary();
}

function Ohc_all_dates_to_dmy() {
//  Ohc_formatgeneral();
  Ohc_unambiguous();
  Ohc_dates_to_dmy();
  Ohc_delink_ISO_to_dmy();
  Ohc_delink_year_in_X();
  Ohc_MOSNUM_edit_summary();
}

function Ohc_all_dates_to_mdy() {
//  Ohc_formatgeneral();
  Ohc_unambiguous();
  Ohc_dates_to_mdy();
  Ohc_delink_ISO_to_mdy();
  Ohc_delink_year_in_X();
  Ohc_MOSNUM_edit_summary();
}

function Ohc_body_to_dmy() {
//  Ohc_formatgeneral();
  Ohc_dates_to_dmy();
  Ohc_MOSNUM_edit_summary();
}

function Ohc_body_to_mdy() {
//  Ohc_formatgeneral();
  Ohc_dates_to_mdy();
  Ohc_MOSNUM_edit_summary();
}

function Ohc_ISO_to_dmy() {
  Ohc_delink_ISO_to_dmy();
//  Ohc_MOSNUM_edit_summary();
}

function Ohc_ISO_to_mdy() {
  Ohc_delink_ISO_to_mdy();
//  Ohc_MOSNUM_edit_summary();
}

$(function () {
 if(document.forms.editform) {
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_all_dates_to_dmy()', 'ALL dates to dmy', 'ca-unitfixer', 'Align all dates to dmy', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_all_dates_to_mdy()', 'ALL dates to mdy', 'ca-unitfixer', 'Align all dates to mdy', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_body_to_dmy()', 'Body dates to dmy', 't-dmy', 'day month', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_body_to_mdy()', 'Body dates to mdy', 't-mdy', 'month day', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_ISO_to_dmy()', 'ISO to dmy', 't-ISOdmy', 'ISO day month', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_ISO_to_mdy()', 'ISO to mdy', 't-ISOmdy', 'ISO month day', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_delink_year_in_X()'  , 'Del year-in-X dates', 't-yearinX',  'Year in X', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_unambiguous_dates()', 'unambiguous dates', 't-slash', 'resolves slash date format', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_US_slash_dates()', 'US-slash dates', 't-US', 'US-slash', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_UK_slash_dates()', 'UK-slash dates', 't-UK', 'UK-slash', '', '');
  }
});