/*
created by alexander shurkayev <alshur@narod.ru> | http://htmlcoder.visions.ru
modified by ilya lebedev (ilya@lebedev.net)
*/

window.onerror = null;

rollmenu = {
    img_path     : "images/", // path to the images from the site root
    img_menu_dir : "menu",     // folder with the images (should contain no slashes!)
    img_ext      : ".gif",     // default extension. all images should have the same extension
    r_img_suffix : "_over",       // rollover image suffix (ex. "/i/menu/1__.gif")
    a_img_suffix : "",        // active image suffix (ex. "/i/menu/1_.gif")
    preload : function (file){
      var image = new Image();
      image.src = rollmenu.img_path + rollmenu.img_menu_dir + "/" + file + rollmenu.img_ext;
    },
    s : function(e){
      var el = window.event ? window.event.srcElement : e.currentTarget;
      el.src = el.rollsrc;
    },
    h : function(e){
      var el = window.event ? window.event.srcElement : e.currentTarget;
      el.src = el.defsrc;
    },
    init : function(){
      if (document.images){
        var img_item = r = null;
        var str = rollmenu.img_menu_dir + "\\/(\\w+)\\" + rollmenu.img_ext;
        var re = new RegExp(str, "i");
        var rexp = new RegExp (rollmenu.img_ext + "$","");
        for (var i = 0; (img_item = document.getElementsByTagName("img").item(i)); i++){
          r = img_item.src.match(re);
          if (!r) continue;
          if (img_item.getAttribute("links") && document.location.pathname.match(new RegExp(img_item.getAttribute("links"), "i"))){
            img_item.src = img_item.src.replace(new RegExp(rollmenu.img_ext), rollmenu.a_img_suffix + rollmenu.img_ext);
          } else {
            rollmenu.preload(r[1] + rollmenu.a_img_suffix);
            rollmenu.preload(r[1] + rollmenu.r_img_suffix);
            img_item.rollsrc = img_item.src.replace(rexp, rollmenu.r_img_suffix + rollmenu.img_ext);
            img_item.defsrc = img_item.src;
            rollmenu.l(img_item,"mouseover", rollmenu.s);
            rollmenu.l(img_item,"mouseout", rollmenu.h);
          }
        }
      }
    },
    l : function(o, e, a){
      if (o.addEventListener) return o.addEventListener(e, a, false);
      else if (o.attachEvent) return o.attachEvent("on" + e, a);
      else return false;
    }
}

rollmenu.l(window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null, "load", rollmenu.init);

function random(range) {
        var index = Math.floor(Math.random() * (range+1));
        if (index == 0) index = 1;
        if (index > range) index = range;
        return index;
}

function randomArrayElement(messages) {
        if (commonUndefined(messages) || messages == null) return null;
        if (messages.length && messages.length > 0) {
                var indx = random(messages.length);
                if (indx == messages.length) indx = messages.length - 1;
                return messages[indx];
        }
}

function commonUndefined(obj) {
	if (window.isUndefined) return isUndefined(obj);
	return typeof(obj) == "undefined";
}

function eml (login, sc)
{
	var serv = new Array;
	serv[0] = "opalev.ru";
	serv[1] = "brovko.ru";
	serv[2] = "zercel.ru";
	addr = login +  "@" + serv[sc];
	return addr;
}

function ml (login, sc)
{
	document.write (eml(login, sc));
}

function mlto (login, sc, sub)
{
	addr = "mailto:" + eml(login, sc);
	if (sub != "") addr += "?subject=" + sub;
	window.location.href = addr;
}

function activeCursor(obj) {
	var BrUserAgent = navigator.userAgent.toLowerCase();
	var BrUserVersion = parseInt(navigator.appVersion);
	
	if(BrUserAgent.indexOf('msie')!=-1) {
		obj.style.cursor = "hand";
	} else{
		obj.style.cursor = "pointer";
	}	
}


function trimString(strValue) {
	if (strValue == null || strValue == '') return '';
	return strValue.replace(/^\s*/, '').replace(/\s*$/, '');
}


function changeFeedbackValue(obj, idTDHtml, values) {
	var o = document.getElementById(idTDHtml);
	o.innerHTML = values[obj.selectedIndex];
}


function deleteConfirm(message) {
	var agree = confirm(message);
	return agree;
}

function random(range) {
	var index = Math.floor(Math.random() * (range+1));
	if (index == 0) index = 1;
	if (index > range) index = range;
	return index;
}

function getObjectByName(name) {
	var obj = document.getElementsByName(name);
	if (obj == null || obj.length == 0) return null;
	return obj[0];
}

function startWith(strValue, valueWith) {
	if (strValue == null || strValue == '') return false;
	return strValue.match(valueWith) != null;
}

function createList(selectObj, selectList) {
	if (selectObj == null) return;
	var oldValue = selectObj.value;
	while (selectObj.length > 1) selectObj.remove(selectObj.length - 1);
	selectObj.length = 1; // specific IE (as minimum 5.0)
	if (selectList != null) {
		// the loop was tested by IE 5.0, IE 5.5, IE 6.0, FireFox 1.5, Opera 7.2.3
		for (var i = 0; i < selectList.length; ++ i) {
			if (document.createElement) {
				var opt = document.createElement('OPTION');
				opt.value = selectList[i].value;
				opt.text = selectList[i].name;
				(selectObj.options.add)? selectObj.options.add(opt): selectObj.add(opt, null);
			} else { // for NN 3.x - 4.x
				selectObj.options[i+1] = new Option(selectList[i].name, selectList[i].value, false, false);
			}
		}
	}
	selectObj.value = oldValue;
	selectObj.disabled = selectObj.length == 1;
}



function getObjById(id) {
	var returnVar;
	if (document.getElementByName) {
        returnVar = document.getElementByName(id);
    } else if (document.getElementById) {
        returnVar = document.getElementById(id);
    } else if (document.all) {
        returnVar = document.all[id];
    } else if (document.layers) {
        returnVar = document.layers[id];
    }
    return returnVar;
}
 


function selectAllCheckboxes(checkboxItemName, globalCheck) {
	for (var i = 0, chMsg = null; (chMsg = document.getElementById(checkboxItemName+'[' + i + ']')) != null; ++ i) {
		chMsg.checked = globalCheck.checked;
	}
}

function selectCheckboxItem(checkboxItemName, globalCheckName, checkboxItem) {
	var all = document.getElementById(globalCheckName);
	if (! checkboxItem.checked) {
		all.checked = false;
		return;
	}
	// if the msg is last of selected
	for (var i = 0, item = null; (item = document.getElementById(checkboxItemName+'[' + i + ']')) != null; ++ i) {
		if (item != checkboxItem && ! item.checked) return;
	}
	all.checked = true;
}

function expandBlock(imgExpand, imgCollapse, imgObj, obj, objClazz) {
	if (commonUndefined(obj)) return;
	if (obj.className != 'hidden') { // so collapse obj
		imgObj.src = imgExpand;
		obj.className = 'hidden';
	} else { // expand obj
		imgObj.src = imgCollapse;
		obj.className = objClazz;
	}
}

