/*KeyCode Constants 
********** NOTE: IF SHORCUT RESERVEC THEN USE Ctrl+Shift Keys INSTEAD OF Ctrl key *******
Reserved Shorcuts 
Ctrl+W 
Ctrl+R 
Ctrl+Y
Ctrl+U Ctrl+Shift+U
Ctrl+O
Ctrl+P
Ctrl+A
Ctrl+S
Ctrl+D
Ctrl+F
Ctrl+H
Ctrl+K
Ctrl+L
Ctrl+Z Ctrl+Shift+Z
Ctrl+X
Ctrl+C
Ctrl+B Ctrl+Shift+B
Ctrl+N
Ctrl_E

**** Can Be Used ****
*/
	Ctrl_Q = 17;
	Ctrl_W = 23;
	Ctrl_T = 20;	//InsertTable
	Ctrl_Y = 25;	//Save New
	Ctrl_O = 15;
	Ctrl_P = 16;	//Preview /Veie Property -Basket Sys
	Ctrl_A = 1;		//Assign Resources
	Ctrl_S	= 19;	//Save
	Ctrl_D = 4;		//Delete Article -Basket Sys
	Ctrl_F = 6;
	Ctrl_G = 7;
	Ctrl_E = 5;		//Exit /Edit- Basket Sys
	Ctrl_H = 8;		//Insert Attachment
	Ctrl_J = 10;
	Ctrl_K = 11;
	Ctrl_L = 12;	//Create Link
	Ctrl_X = 24;	//SaveAndExit
	Ctrl_C = 3;
	Ctrl_V = 22;	//Config Vote / View Article
	Ctrl_N = 14;	//Insert Image / Create New Article - basket Sys
	Ctrl_M = 13;	//Move - Restore Article - Basket Sys
	Ctrl_U = 21;	
	
	

	
		document.onkeypress = CheckShorcuts;
	function UpdateXML (strFunctionality,StrClientId)
	{

		var ohdMainControlsClientID= document.getElementById('hdMainControlsClientIDs')
		var ShorcutsXMLDom = new ActiveXObject('Microsoft.XMLDOM')
		if (ohdMainControlsClientID)
		{
			ShorcutsXMLDom.loadXML(ohdMainControlsClientID.value)
			var ShorcutPattern 
			ShorcutPattern = "Root/Action[@ Functionality='SaveNew']"
			var selNode = ShorcutsXMLDom.selectSingleNode(ShorcutPattern)
			if (selNode)
			selNode.text ='lnkSaveNew'
			ohdMainControlsClientID.value = ShorcutsXMLDom.xml
		}
	}
	
	 function CheckShorcuts ()
	{
	if (document.location.href.indexOf("FromBasket=1")>-1)
		SetDirtyFlag();
	if (document.getElementById("hdMainControlsClientIDs") )	
	{
		var intKeyCode
		if (this.document)
		{
			if (this.document.parentWindow)
			{
				if (this.document.parentWindow.event)
					if (this.document.parentWindow.event.ctrlKey)
						{
							intKeyCode= this.document.parentWindow.event.keyCode
						}
					else 
					{
						return;
					}
			}
		}
		else 
		{
			if (window.event)
				if (window.event.ctrlKey)
				{
					intKeyCode = window.event.keyCode
				
				}
		}
		
		if (intKeyCode)
			{
			document.body.style.cursor="wait"
			var ohdMainControlsClientID= document.getElementById('hdMainControlsClientIDs')
			var KeyShorcutsXMLDom = new ActiveXObject('Microsoft.XMLDOM')
			if (ohdMainControlsClientID)
			{
			KeyShorcutsXMLDom.loadXML(ohdMainControlsClientID.value) 
			var KeyshorcutPattern;
			KeyshorcutPattern  = "Root/Action[@ Shortcut='" + intKeyCode + "']"
			var selNode = KeyShorcutsXMLDom.selectSingleNode(KeyshorcutPattern)
			if (selNode)
			{
				if (document.getElementById(selNode.text))
				{	
					if (document.activeElement.onblur)
						document.activeElement.onblur();
						
					document.getElementById( selNode.text).click();
				}
			}
			else 
			{
				//*************** Tool Bar Shortcut ***************
				var obj = document.all(document.activeElement.id)
				if (obj)
				{
					if (obj.ToolBarState)
					{
						switch (intKeyCode)
						{
							//Insert Image
							case Ctrl_N: 
								if (obj.ToolBarState.item("InsertImage"))
								{
									if ((obj.ToolBarState.item("InsertImage").Allowed) && (obj.ToolBarState.item("InsertImage").Enabled))
										WBC_launchImageGallery (IDS_FRAMEWORK_CHANNELITEM_QUERYSTRING, document.activeElement.id.substring("NCPHRICH_".length,document.activeElement.id.length) ,"ThinEditIE","true");
								}		
							break;
							case Ctrl_H: //Insert Attachment
								if (obj.ToolBarState.item("InsertAttachment"))
								{
									if ((obj.ToolBarState.item("InsertAttachment").Allowed) && (obj.ToolBarState.item("InsertAttachment").Enabled))
										WBC_launchAttachmentGallery (IDS_FRAMEWORK_CHANNELITEM_QUERYSTRING, document.activeElement.id.substring("NCPHRICH_".length,document.activeElement.id.length) ,"ThinEditIE","true","false",false);
								}		
							break;
							case Ctrl_T: //Insert Table
								if (obj.ToolBarState.item("InsertTable"))
								{
									if ((obj.ToolBarState.item("InsertTable").Allowed) && (obj.ToolBarState.item("InsertTable").Enabled))
									{
										// show table dialog
										var strTableURL = IDS_FRAMEWORK_NEW_VIRTUAL_PATH + "/Dialogs/Table/Table.aspx?" + IDS_FRAMEWORK_CHANNELITEM_QUERYSTRING + "&wbc_phname=" + document.activeElement.id.substring("NCPHRICH_".length,document.activeElement.id.length)  + "&wbc_phtype=ThinEditIE";
										var strDlgRet = window.showModalDialog(strTableURL, "", "dialogWidth:500px;dialogHeight:220px;resizable;help:no;status:no");
										if (typeof(strDlgRet) == "undefined") return false;
										if (strDlgRet == "Cancel") return false;

										var aAttributes = strDlgRet.split(";");
										WBC_setTable(document.activeElement.id.substring("NCPHRICH_".length,document.activeElement.id.length) , "ThinEditIE", aAttributes[0], aAttributes[1], aAttributes[2]);
									}
								}		
							break;
							case Ctrl_L: //Create Link
								if (obj.ToolBarState.item("CreateLink"))
								{
									if ((obj.ToolBarState.item("CreateLink").Allowed) && (obj.ToolBarState.item("CreateLink").Enabled))
										WBC_createLink( document.all[document.activeElement.id].dom );
								}		
							break;
							
						}//End Switch
					}//End TooBar State If
				}//End Obj If
			}//End Else
			}
			document.body.style.cursor="Default"
		}
	}
	}
