$(document).ready(function(){
	//$(".clickBlockEditor").click(function() {
	$(".wsp_block_editor_window").live("click", function(e){
		b_id = $(this).attr("id");
		if (! b_id) return;
		wspExec("i_block","",COMMAND_URL+"/block_interface?id="+b_id,"");
	});
});	

function setXGridSizes() {
}


function wsp_update_statusbar(txt) {
	time = new Date();
	$("#winLog").prepend(time.getHours()+":"+time.getMinutes()+":"+time.getSeconds()+" "+txt+"<br>");
}	

// str_replace("что заменяем", "чем заменяем", "исходная строка")
function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
} 

function updateWindowToolbar(selectedWinId) {
	windowId = str_replace("win","",selectedWinId);
	var win = dhxWins.window(windowId);
	win.bringToTop();
	//alert(selectedWinId);	
	windowListToolbar.setItemState(selectedWinId,true);
	windowListToolbar.forEachItem(function(itemId){
  	if (itemId != selectedWinId) windowListToolbar.setItemState(itemId,false);
  });	
}

function wsp_set_modal_window(winId,winTitle,commandUrl) {
	var h = layout.cells("a").getHeight();
	var w = layout.cells("a").getWidth();
	var win = dhxWins.createWindow(winId,0,0,w/1.5,h/1.5);	//-heightWin-1
	win.progressOn();
	win.setModal(true);
	win.setText(winTitle);
	win.centerOnScreen();
	//alert(commandUrl);
	win.attachURL(commandUrl,true);
	win.button("minmax1").hide();
	win.button("park").hide();
	win.button("minmax2").hide();
	win.progressOff(); 
}

function wsp_set_window_interface(winId){
	var win = dhxWins.window(winId);
	//alert(winId+"="+win);
	if (! win) {
//						//setAllWindowParked();
//						//ArrangeParkedWindows();
						var h = layout.cells("a").getHeight();
						var w = layout.cells("a").getWidth();
						var win = dhxWins.createWindow(winId,0,0,w,heightWin);	//-heightWin-1
						win.maximize();
						win.button("minmax1").hide();
						win.button("park").hide();
						win.button("minmax2").hide();
						win.addUserButton("dock", 9, "Tray", "dock");
					 	win.button("dock").attachEvent("onClick", function(winObj) { 
                //dhxPXTabbar.showTab(id) 
                //dhxPXTabbar.setTabActive(id) 
                //winds[id].hide() 
                windowId = winObj.getId();
                //alert(windowUrl[windowId]);
                winObj.attachURL(windowUrl[windowId],true);	//refresh
            }); 
						
						
						//win.denyResize();						
						//win.button("stick").show();
						//win.button("restore").hide();
						//win.addUserButton("tray", 9, "Tray", "park");
						//win.setText("");
						//sb = win.attachStatusBar();
						//sb.setText("");
					} else {
//						setActiveWindow(win);
						updateWindowToolbar("win"+win.getId());
						return true;					
					}				

					win.attachEvent("onClose", function(winObj) {
						if (! confirm("Вы действительно хотите закрыть окно?")) return false;
						
						winId = winObj.getId();
						//alert( $("div[idd="+winId+"] IFRAME").attr("frameBorder") );
						$("div[idd="+winId+"] IFRAME").children().remove();
						//$("div[idd="+winId+"] IFRAME").children().empty();

						dhxWins.window(winId).hide();
						var w1 = dhxWins.getTopmostWindow(true);
						//alert(w1.getId());
						if (w1) updateWindowToolbar("win"+w1.getId());
						winId = winObj.getId();
						windowToolbarButtonId = "win"+winId;
						windowListToolbar.removeItem(windowToolbarButtonId);
						windowListToolbar.removeItem(windowToolbarButtonId+"s");
						return true;
						//dhxWins.window(winId).close();
					});												
					

/*					win.attachEvent("onParkUp", function(winObj) {
						//alert(dhxWins.count);
						//alert("Min");
						winObj.allowResize();
						winObj.button("park").hide();
						winObj.button("minmax1").show();
						ArrangeParkedWindows();
					});												
					win.button("minmax1").attachEvent("onClick", function(winObj) {
						setActiveWindow(winObj);
					});
*/					
					return false;
				}
/*				
				function setActiveWindow(winObj) {
						//если окно одно?
						//alert("Max");
						setAllWindowParked();					
						winObj.park();
						
						var h = layout.cells("a").getHeight();
						var w = layout.cells("a").getWidth();
						winObj.setPosition(0, 0);
						winObj.setDimension(w, h-heightWin);
						winObj.denyResize();
						ArrangeParkedWindows();
						winObj.button("minmax1").hide();
						winObj.button("park").show();						
						//win.bringToTop();
				}

				function setAllWindowParked() {
					dhxWins.forEachWindow(function(winObj){
						if (! winObj.isParked()) {							
							winObj.park();
						}						
					});
				}
				
				
				function ArrangeParkedWindows() {
					var h = layout.cells("a").getHeight();
					var w = layout.cells("a").getWidth();
					leftPos 	= 1;
					topPos 		= h-heightWin;//+5;
					dhxWins.forEachWindow(function(winObj){
						if (winObj.isParked()) {
							winObj.setPosition(leftPos, topPos);
							winObj.setDimension(widthWin-1, null);
							leftPos += widthWin;
							leftPos += 72;	//3 кнопки по 24
						}	
					});
				}
*/


				function wspGridSelectNextRow(grid, multiFL, scroll, call) {
					rowId = grid.getSelectedRowId();
					rowIdx = grid.getRowIndex(rowId);
					rowIdx++;
					grid.selectRow(rowIdx,call,multiFL,scroll);
					//rowId = grid.getRowId(rowIdx);
					//grid.selectRowById(rowId, multiFL, scroll, call);
					//проверку есть ли следующий
					//получить b_id?
					//return rowId;
				}
				
				function wspGridSelectPrevRow(grid, multiFL, scroll, call) {
					rowId = grid.getSelectedRowId();
					rowIdx = grid.getRowIndex(rowId);
					rowIdx--;
					grid.selectRow(rowIdx,call,multiFL,scroll);

					//rowId = grid.getRowId(rowIdx);
					//grid.selectRowById(rowId, multiFL, scroll, call);
					//проверку есть ли следующий
					//получить b_id?
					//return rowId;
				}
				
/*				
				function wspGridGetNextRowId(grid,rowId) {
					rowIdx = grid.getRowIndex(rowId);
					rowIdx++;
					rowId = grid.getRowId(rowIdx);
					//проверку есть ли следующий
					//получить b_id?
					return rowId;
				}
				function wspGridGetPrevRowId(grid,rowId) {
					rowIdx = grid.getRowIndex(rowId);
					rowIdx--;
					rowId = grid.getRowId(rowIdx);
					
					//проверку есть ли следующий
					//получить b_id?
					return rowId;
				}
selectRowById(row_id, multiFL, show, call)
selects row by ID

Object: dhtmlXGridObject
Topic(s): rows control; 
multiFL - VOID. select multiple rows
show - true/false - scroll row to view, true by defaul
call - true to call function on select
				
*/				
/*
				function wsp_panel_navigator(panelLetter,navLinkId,navText,loadURL) {
					if (navigatorItems[navLinkId]) {
						//alert("a");
						//mainBar.setListOptionPosition("mainBarStartItem", navLinkId, 0);
						return;
					}
					//var navigatorText = "";
					if (! loadURL) loadURL = "/wsp/process.php?action=block_interface&id="+navLinkId;
					//alert(loadURL);
					navigatorItems[navLinkId] = [panelLetter,loadURL,navText];
					//mainBar.addListOption("mainBarStartItem", navLinkId , 0, "button", navText);
				}
*/				
				
				function treeLoad(tree_obj) {
					//alert("="+tree_gridQString);
					tree_obj.setDataMode("json");
					tree_obj.setXMLAutoLoading(tree_gridQString);
					tree_obj.loadJSON(tree_gridQString);
				}
				
				
			
				//controlId
				/*function wspExec(windowId,cellId,targetDiv,commandUrl,itemText) {				*/
				function wspExec(windowId,targetDiv,commandUrl,itemText) {
					layout.progressOn();
					if (! commandUrl) return;
					if (targetDiv) {
							$("#"+targetDiv).load(commandUrl ,function(){
								layout.progressOff();
							});
							return;
					}
					if (windowId) {
							if (wsp_set_window_interface(windowId)) {	//окно уже есть
								var win = dhxWins.window(windowId);
								//layout.progressOff();
								//return;
							}	else {		
								win = dhxWins.window(windowId);
								win.setText(itemText);
								windowListToolbar.addButtonTwoState("win"+windowId, lastToolbarPos, itemText);
								lastToolbarPos++;
								windowListToolbar.addSeparator("win"+windowId+"s", lastToolbarPos);
								lastToolbarPos++;
							}							
							updateWindowToolbar("win"+windowId);
							windowUrl[windowId] = commandUrl;
							win.attachURL(commandUrl,true);
							layout.progressOff();
					} else {
							alert("Ошибка: Окно не задано");
							$.load(commandUrl ,function(){
								layout.progressOff();
							});							
					}
				}
				
				function wsp_clear_panel_bar(bar) {
					if (bar) {						
						//alert(bar.checkEvent("onClick"));
						//if (bar.checkEvent("onClick")) bar.detachEvent("onClick");
						bar.forEachItem(function(itemId){
							//eventId = "onClickEventId"+itemId;
							//if (bar.checkEvent("onClick")) bar.detachEvent("baronClickEventId");
							bar.removeItem(itemId);	//иначе путаются!!!!
						});
					}
				}

				function wsp_bar_add_button(bar,button) {
					if (bar == undefined) return;
					if (! button) return;
						//for (key in button) {
						//bar.addButton(button[key].id, 

					bar.addButton(button.id, button.id, "", button.img, "");
					bar.setItemToolTip(button.id, button.name);	//tooltip
					bar.setItemToolTip(button.id, button.name);	//tooltip
					
					//eventId = "onClickEventId"+button.id;					
					//var eventId = 
					//baronClickEventId = 
					bar.attachEvent("onClick", function(button_id){ 						
						if (button_id == button.id) {
								eval(button.code);
						}	
					});
					//alert(eventId)
				}			


				function wsp_toolbar_add_buttons(bar,buttons) {	//ин
					if (bar == undefined) return;
					//for (key in bar) {
						//alert(key + " = " + bar[key]);
					//}
					//return;
					if (! button) return;
					var onClick = "";
					for (key in buttons) {
						button = buttons[key];
						bar.addButton(button.id, button.id, "", button.img, "");
						bar.setItemToolTip(button.id, button.name);	//tooltip
						bar.setItemToolTip(button.id, button.name);	//tooltip
						if (button.onClick) {
							//onClick += "if (button_id == "+button.id+") eval("+button.onClick+"(););";
							onClick += "if (button_id == "+button.id+") "+button.onClick+"();";
						}
					}
					//eventName = bar.idPrefix+"onClick";
					//alert(eventName);
					bar.eventName = bar.attachEvent("onClick", function(button_id){
						eval(onClick);
					});
					//alert(eventName);
				}

				
				function wsp_clear_toolbar(bar) {
					//alert(bar.eventName);
					if (bar) {
						//var eventName;
						//eventName = bar.idPrefix+"onClick";
						//alert("="+eventName);
						if (bar.checkEvent("onClick")) bar.detachEvent(bar.eventName);
						bar.forEachItem(function(itemId){
							bar.removeItem(itemId);	//иначе путаются!!!!
						});
					}
				}
				
				function wspPanelInterface(panelId,panelControlElement,commandUrl,notClearToolBar) {
					alert(panelControlElement+" СТАРЫЙ КОД = "+panelControlElement.parent);
					return;
				}
				
function include_script(fn) {
/*
    			$("#script").each(function(){
	  				//var percentage = $(this).find(".bar-percent").text();
      			//$(this).find("span").css({width: "0%"}).animate({width: percentage}, 'slow');
  				});
				});		
*/	
	document.write('<' + 'script');
	document.write(' type="text/javascript"');
	document.write(' src="' + fn + '">');
	document.write('</' + 'script' + '>');
}

function rand (m,n) {
  m = parseInt(m);
  n = parseInt(n);
  return Math.floor( Math.random()*(n-m+1))+m;
}

function is_object( mixed_var ){    // Finds whether a variable is an object
    //
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Legaev Andrey
    // +   improved by: Michael White (http://crestidg.com)

    if(mixed_var instanceof Array) {
        return false;
    } else {
        return (mixed_var !== null) && (typeof( mixed_var ) == 'object');
    }
}
