
function do_nothing(){

// do nothing

}


// open new window
var myWindow;
function show(url,wi,he,title_win) {
	
	myWindow = window.open(url, title_win, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,personalbar=no,resizable=no,width=" + wi + ",height=" + he + ",outerheight=0,outerwidth=0");
}  

function show_resized(url,wi,he,title_win) {
	
	myWindow = window.open(url, title_win, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,personalbar=no,resizable=yes,width=" + wi + ",height=" + he + ",outerheight=0,outerwidth=0");
}  

function sethome(o,siteurl,sitename) {
	var name = navigator.appName;
	var useragent = navigator.userAgent;
	var version = parseInt(navigator.appVersion);
	var needtoknow = 1;
	
	if ( useragent.indexOf("MSIE") != -1) {
			var index = navigator.userAgent.indexOf("MSIE ");
			if ( index != -1 ) {
				version = parseInt(navigator.userAgent.substring(index+5,index+6));
			}
			if ( version > 4) {
				o.style.behavior='url(#default#homepage)'; o.setHomePage(siteurl);
				needtoknow = 0;
			}
	}
//	if (needtoknow != 0) {
	//	alert('/help/makehomepage.html','winMakeHomepage','location=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=450');
	//}
}

// functions for images
function img_bordered(pht_id){

	document.getElementById(pht_id).style.backgroundColor = '#F2F29A';

};

function img_unbordered(pht_id){

	document.getElementById(pht_id).style.backgroundColor = '';

};

var utf8_rus = {
		'é' : '%E9',
		'ö' : '%F6',
		'ó' : '%F3',
		'ê' : '%EA',
		'å' : '%E5',
		'í' : '%ED',
		'ã' : '%E3',
		'ø' : '%F8',
		'ù' : '%F9',
		'ç' : '%E7',
		'õ' : '%F5',
		'ú' : '%FA',
		'ô' : '%F4',
		'û' : '%FB',
		'â' : '%E2',
		'à' : '%E0',
		'ï' : '%EF',
		'ð' : '%F0',
		'î' : '%EE',
		'ë' : '%EB',
		'ä' : '%E4',
		'æ' : '%E6',
		'ý' : '%FD',
		'ÿ' : '%FF',
		'÷' : '%F7',
		'ñ' : '%F1',
		'ì' : '%EC',
		'è' : '%E8',
		'ò' : '%F2',
		'ü' : '%FC',
		'á' : '%E1',
		'þ' : '%FE',
		'¿' : '%BF',
		'³' : '%B3',
		'º' : '%BA',
		'É' : '%C9',
		'Ö' : '%D6',
		'Ó' : '%D3',
		'Ê' : '%CA',
		'Å' : '%C5',
		'Í' : '%CD',
		'Ã' : '%C3',
		'Ø' : '%D8',
		'Ù' : '%D9',
		'Ç' : '%C7',
		'Õ' : '%D5',
		'Ú' : '%DA',
		'Ô' : '%D4',
		'Û' : '%DB',
		'Â' : '%C2',
		'À' : '%C0',
		'Ï' : '%CF',
		'Ð' : '%D0',
		'Î' : '%CE',
		'Ë' : '%CB',
		'Ä' : '%C4',
		'Æ' : '%C6',
		'Ý' : '%DD',
		'ß' : '%DF',
		'×' : '%D7',
		'Ñ' : '%D1',
		'Ì' : '%CC',
		'È' : '%C8',
		'Ò' : '%D2',
		'Ü' : '%DC',
		'Á' : '%C1',
		'Þ' : '%DE',
		'¯' : '%AF',
		'²' : '%B2',
		'ª' : '%AA',
		'"' : '%22',
		'#' : '%23',
		'$' : '%24',
		'%' : '%25',
		'&' : '%26',
		'+' : '%2B',
		'/' : '%2F',
		':' : '%3A',
		';' : '%3B',
		'<' : '%3C',
		'=' : '%3D',
		'>' : '%3E',
		'?' : '%3F',
		'[' : '%5B',
		'\\' : '%5C',
		']' : '%5D',
		'^' : '%5E',
		'`' : '%60',
		'{' : '%7B',
		'|' : '%7C',
		'}' : '%7D',
		',' : '%2C',
		'\'' : '%27'
}; 

function right_escape(s){
	// BE Careful - encodeURI works badly!!!
	//if(self.encodeURI)  return encodeURI(s); //standart method
	//if we have not found 
	res="";
	for(i=0;i<s.length;i++){
		//try to recode
		if (utf8_rus[s.charAt(i)] != null) res+=utf8_rus[s.charAt(i)]
		else res+=s.charAt(i)
	}
	return res;
}

function getClientWidth()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight()
{
 return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}



/**
 	* This array is used to remember mark status of rows in browse mode
 	*/
	var marked_row = new Array; 
 
        /**
 	* Sets/unsets the pointer and marker in browse mode
 	*
 	* @param   object    the table row
 	* @param   integer  the row number
 	* @param   string    the action calling this script (over, out or click)
 	* @param   string    the default background color
 	* @param   string    the color to use for mouseover
 	* @param   string    the color to use for marking a row
 	*
 	* @return  boolean  whether pointer is set or not
 	*/
	function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
	{
   	 var theCells = null;

   	 // 1. Pointer and mark feature are disabled or the browser can't get the
    	//    row -> exits
    	if ((thePointerColor == '' && theMarkColor == '')
      	  || typeof(theRow.style) == 'undefined') {
     	   return false;
    	}

    	// 2. Gets the current row and exits if the browser can't get it
    	if (typeof(document.getElementsByTagName) != 'undefined') {
     	   theCells = theRow.getElementsByTagName('td');
    	}
    	else if (typeof(theRow.cells) != 'undefined') {
        	theCells = theRow.cells;
    	}
    	else {
        	return false;
    	}

    	// 3. Gets the current color...
    	var rowCellsCnt  = theCells.length;
    	var domDetect    = null;
    	var currentColor = null;
    	var newColor     = null;
    	// 3.1 ... with DOM compatible browsers except Opera that does not return
    	//         valid values with "getAttribute"
    	if (typeof(window.opera) == 'undefined'
        	&& typeof(theCells[0].getAttribute) != 'undefined') {
        	currentColor = theCells[0].getAttribute('bgcolor');
        	domDetect    = true;
    	}
    	// 3.2 ... with other browsers
    	else {
        	currentColor = theCells[0].style.backgroundColor;
        	domDetect    = false;
    	} // end 3

    	// 3.3 ... Opera changes colors set via HTML to rgb(r,g,b) format so fix it
    	if (currentColor.indexOf("rgb") >= 0)
    	{
        	var rgbStr = currentColor.slice(currentColor.indexOf('(') + 1,
                                     currentColor.indexOf(')'));
        	var rgbValues = rgbStr.split(",");
        	currentColor = "#";
        	var hexChars = "0123456789ABCDEF";
        	for (var i = 0; i < 3; i++)
        	{
            	var v = rgbValues[i].valueOf();
            	currentColor += hexChars.charAt(v/16) + hexChars.charAt(v%16);
        	}
    	}

    	// 4. Defines the new color
    	// 4.1 Current color is the default one
    	if (currentColor == ''
        	|| currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        	if (theAction == 'over' && thePointerColor != '') {
            		newColor = thePointerColor;
        	}
        	else if (theAction == 'click' && theMarkColor != '') {
            		newColor              = theMarkColor;
            		marked_row[theRowNum] = true;
            	// Garvin: deactivated onclick marking of the checkbox because it's also executed
            	// when an action (like edit/delete) on a single item is performed. Then the checkbox
            	// would get deactived, even though we need it activated. Maybe there is a way
            	// to detect if the row was clicked, and not an item therein...
            	// document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        	}
    	}
    	// 4.1.2 Current color is the pointer one
    	else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             	&& (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        	if (theAction == 'out') {
            		newColor              = theDefaultColor;
        	}
        	else if (theAction == 'click' && theMarkColor != '') {
            		newColor              = theMarkColor;
            		marked_row[theRowNum] = true;
            		// document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        	}
    	}
    	// 4.1.3 Current color is the marker one
    	else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        	if (theAction == 'click') {
            	newColor              = (thePointerColor != '')
              	                   	? thePointerColor
              	                   	: theDefaultColor;
            	marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  	? true
                                  	: null;
            	// document.getElementById('id_rows_to_delete' + theRowNum).checked = false;
        	}
    	} // end 4

    	// 5. Sets the new color...
    	if (newColor) {
        	var c = null;
        	// 5.1 ... with DOM compatible browsers except Opera
        	if (domDetect) {
            	for (c = 0; c < rowCellsCnt; c++) {
                	theCells[c].setAttribute('bgcolor', newColor, 0);
            	} // end for
        	}
        	// 5.2 ... with other browsers
        	else {
            		for (c = 0; c < rowCellsCnt; c++) {
                		theCells[c].style.backgroundColor = newColor;
            		}
        	}
    	} // end 5

    	return true;
	} // end of the 'setPointer()' function 
	

// function working with cookies
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

