var _FFrv;
var _isFF=false;
var _isIE=false;
var _isOpera=false;
var _isKHTML=false;
var _isMacOS=false;
var old_target = null;
var previewHeight;
var previewWidth;
var verticalOffset = 5;
var horizontalOffset = 3;
var top = 0;
var left = 30;
var slideSpeed = 20;
var currentImage;
var currentMLS;
var scrolling = false;
var timeout;
var ajax_controller = '/utils/ajax_lib_articles_controller';
var ajax_controller2 = '/utils/ajax_lib2_articles_controller';

function init() {
    if(navigator.userAgent.indexOf('Macintosh')!= -1)_isMacOS=true;
    if((navigator.userAgent.indexOf('Safari')!= -1)||(navigator.userAgent.indexOf('Konqueror')!= -1))
    _isKHTML=true;
    else if(navigator.userAgent.indexOf('Opera')!= -1){
    _isOpera=true;
    _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6,3));
    }
    else if(navigator.appName.indexOf("Microsoft")!=-1)
    _isIE=true;
    else{
    _isFF=true;
    _FFrv=parseFloat(navigator.userAgent.split("rv:")[1])
    }
}

function isValidEmail(str) {
    return str.match(new RegExp("^([a-zA-Z0-9_]|\\-|\\.)+@(([a-zA-Z0-9_]|\\-)+\\.)+[a-zA-Z]{2,4}$"));
}

function checkFields() {
    var i, a=checkFields.arguments;
    for(i=0;i<a.length;i++) {
        obj = $(a[i]);
        if(!obj.value.length) {
            alert("Пустое поле (Empty field) "+obj.name);
            return false;
        }
        if (obj.name.match(/^EMail(.*?)/)) {
            if (!isValidEmail(obj.value)) {
                alert("Неверный формат email адреса (Wrong email format)");
                return false;
            }
        }
    }
    return true;
}

function ensureNumeric(e) {
  var k = (typeof e.charCode == "undefined" ? e.keyCode : e.charCode);
  if (k < 32 || e.ctrlKey || e.altKey || e.metaKey)
    return true;
  return (k >= 48 && k <= 57);
}

function ensureAlphaDigit(e) {
  var k = (typeof e.charCode == "undefined" ? e.keyCode : e.charCode);
  if (k < 32 || e.ctrlKey || e.altKey || e.metaKey)
    return true;
  return ((k >= 48 && k <= 57) || (k >= 65 && k <= 90) || (k >= 97 && k <= 122));
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function toBoolean(inputString){
    if(typeof(inputString)=="string")
        inputString=inputString.toLowerCase();
    switch(inputString){
        case "1":
        case "true":
        case "yes":
        case "y":
        case "on":
        case 1:
        case true:
        return true;
        break;
    default: return false;
    }
}

// Sets cookie values. Expiration date is optional//
function setCookie(name, value, expire) {
  document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
}

function getCookie(nm) {
  if (document.cookie.length > 0) {
    var re1 = /\s*;\s*/;
    var cooks = document.cookie.split(re1);
    var re2 = /\s*=\s*/;
    for ( i=0; i<cooks.length; i++ ) {
            var parts = cooks[i].split(re2,2);
            if (nm == parts[0]) {
                return unescape(parts[1]);
            }
    }
  }
  return "";
}

function deleteCookie(Name)
{
  expireDate = new Date;
  expireDate.setDate(expireDate.getDate()-1);
  document.cookie = Name + "=; expires=" + expireDate.toGMTString();
}

function ieTrueBody(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}


function switchSubMenu(id) {
	var div = $('div_'+id);
	if (div) {
		if (div.style.display=='') {
			div.style.display = 'none';
		} else {
			div.style.display = '';
		}
	}
	return false;
}

var ltheme = 0, lpart = 0, ltype = 0;

function searchTheme(id) {
	if (id) {
		ltheme = parseInt(id); lpart = 0; ltype = 0;
		setCookie('ltheme',ltheme);
		deleteCookie('lpart');
		deleteCookie('ltype');
		getAjaxArticles();
	}
}

function searchPart(def,id) {
	if (id) {
		if (!ltheme)
			ltheme = parseInt(def);
		lpart = id; ltype = 0;
		setCookie('lpart',lpart);
		deleteCookie('ltype');
		getAjaxArticles();
	}
}

function searchType(def1,def2,id) {
	if (id) {
		if (!ltheme)
			ltheme = parseInt(def1);
		if (!lpart)
			lpart = parseInt(def2);
		ltype = id;
		setCookie('ltype',ltype);
		getAjaxArticles();
	}
}

function getAjaxArticles() {
	$('lib-content').innerHTML = '<img src="img/progress.gif" width="16" height="16">';
	new Ajax.Request(ajax_controller, {
		method:'post',
		parameters: 'ltheme='+ltheme+'&lpart='+lpart+'&ltype='+ltype,
		onSuccess: function(transport){
			var response = transport.responseText || '';
			$('lib-content').innerHTML = response;
		},
		onFailure: function(){ /*alert('Something went wrong...')*/ }
	});
}


var ltheme2 = 0, lpart2 = 0, ltype2 = 0;

function searchTheme2(id) {
	if (id) {
		ltheme2 = parseInt(id); lpart2 = 0; ltype2 = 0;
		setCookie('ltheme2',ltheme2);
		deleteCookie('lpart2');
		deleteCookie('ltype2');
		getAjaxArticles2();
	}
}

function searchPart2(def,id) {
	if (id) {
		if (!ltheme2)
			ltheme2 = parseInt(def);
		lpart2 = id; ltype2 = 0;
		setCookie('lpart2',lpart2);
		deleteCookie('ltype2');
		getAjaxArticles2();
	}
}

function searchType2(def1,def2,id) {
	if (id) {
		if (!ltheme2)
			ltheme2 = parseInt(def1);
		if (!lpart2)
			lpart2 = parseInt(def2);
		ltype2 = id;
		setCookie('ltype2',ltype2);
		getAjaxArticles2();
	}
}

function getAjaxArticles2() {
	$('lib-content').innerHTML = '<img src="img/progress.gif" width="16" height="16">';
	new Ajax.Request(ajax_controller2, {
		method:'post',
		parameters: 'ltheme2='+ltheme2+'&lpart2='+lpart2+'&ltype2='+ltype2,
		onSuccess: function(transport){
			var response = transport.responseText || '';
			$('lib-content').innerHTML = response;
		},
		onFailure: function(){ /*alert('Something went wrong...')*/ }
	});
}
