var isDOM = document.getElementById //DOM1 browser 
var isO   = isO5 = window.opera && isDOM; //Opera 5+
var isO6  = isO && window.print //Opera 6+
var isO7  = isO && document.readyState //Opera 7+
var isO8  = isO && document.createProcessingInstruction && (new XMLHttpRequest()).getAllResponseHeaders //Opera 8+
var isIE  = document.all && document.all.item && !isO //Microsoft Internet Explorer 4+
var isIE5 = isIE && isDOM //MSIE 5+
var isMZ  = isDOM && (navigator.appName=="Netscape")
var _useragent = navigator.userAgent.toLowerCase()
var isSafari = (_useragent.indexOf("safari") != -1);
var isKonqueror = (_useragent.indexOf("konqueror") != -1);
var pxleft = parseInt(document.documentElement.clientWidth - 150);
var initedXMLhttp = 0;
var vel;
var lwvel;
var roll;

/* block with «similar links» */
jQuery(document).ready(function(){
	clickTabbed();
	checkL();
	jQuerySlider();
	ABC();
	caleidoscope();
	jQueryBarMenus();
});
function clickTabbed(){
	jQuery("b.similar").click(function(){
		if(jQuery(this).attr("id")=='opened'){
			jQuery(this).removeAttr("id");
		} else {
			jQuery(this).attr("id","opened");
		}
		jQuery("#look").slideToggle("slow");
	});
	/*
	jQuery("#opened").click(function(){
		jQuery(this).attr("id","");
		jQuery("#look").slideUp("slow");
	});
	*/
}

function jQuerySlider(){
	jQuery("ul.p-barmenu").find("h4").click(function(){
		var openornot = jQuery(this).attr("opened");
		var counts = jQuery(this).parent().parent().find("li > h4").index(jQuery(this)[0]);
		jQuery(this).parent().parent().find("h4").removeClass("choosed").removeClass("selected");
		jQuery(this).addClass("choosed");
		jQuery(this).parent().parent().parent().parent().find("div[@class^=block]").css("display","none");
		jQuery(this).parent().parent().find("h4").attr("opened","false");
		jQuery(this).parent().parent().parent().parent().find("div[@id="+jQuery(this).attr("rel")+"-block]").css("display","block");
		jQuery(this).attr("opened","true");
		jQuery(this).parent().parent().parent().parent().find("div[@id="+jQuery(this).attr("rel")+"-block]").css("height",jQuery(this).parent().parent().parent().parent().find("div[@class^=block]").height() + "px");
		var this_rel = jQuery(this).attr("rel");
		if(jQuery(this).find("a").html()!=null){
			if(jQuery("div[@id="+jQuery(this).attr("rel")+"-block]").html()==''){
				jQuery("div[@id="+jQuery(this).attr("rel")+"-block]").addClass("ajax");
				jQuery.get("http://www.volgograd.ru/system/private/main/modules.p3",{module:this_rel},function(data){
				    jQuery("div[@id="+this_rel+"-block]").html(data);
					jQuery("div[@id="+this_rel+"-block]").removeClass("ajax");
					caleidoscope();
				});
			}
		}

		if(openornot=='true' || (counts=='0' && openornot==undefined)){
			return true;
		} else {
			return false;
		}
	});
}

function getHTTPObject() {
	
	if(!initedXMLhttp){
		try {
			var control = (isIE5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
			xmlhttp = new ActiveXObject(control);
		} catch (e) {
			xmlhttp = false;
		}
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
			try {
				xmlhttp = new XMLHttpRequest();
			} catch (e) {
//				xmlhttp = false;
				xmlhttp = null;
				top.location = '/noactivex.html';
			}
		}
		initedXMLhttp = 1
	}
	
	return xmlhttp;
	
}

	var d = document;
	var winIE = (navigator.userAgent.indexOf("Opera")==-1 && (d.getElementById &&  d.documentElement.behaviorUrns))  ? true : false;
	function bodySize(){
		if(winIE && d.documentElement.clientWidth) {
			sObj = d.getElementsByTagName("body")[0].style;
			sObj.width = (d.documentElement.clientWidth<810) ? "810px" : "100%";
		}
	}
	function init(){
		if(winIE) { bodySize(); }
	 }
	onload = init;
	if(winIE) { onresize = bodySize; }

//  function invert checkbox KILL AFTER REBOOT

	function check_invert(obj){
		if(obj.checked){
			obj.checked=false;
		}else{
			obj.checked=true;
		}
		return false;
	}


//  function invert radio button KILL AFTER REBOOT
//  принимает id
			function radio_select(id){
				document.getElementById(id).checked=true;
			}

// perehod 
	function go(URL){
			document.location=URL;
	}

// set Cookie
function setDocumentCookie( oDoc, sName, sValue ){
	if ( sName.length < 1 )
		return;
	if (0 < sValue.length){
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + 365*24*60*60*1000);
		oDoc.cookie = ""
				+ sName + "=" + sValue + "; "
				+ "path=/" + "; "
				+ "expires=" + expDate.toGMTString();
	} else {
		oDoc.cookie = sName + "=";
	}
}

function setNamedCookie(sName, sValue){
	setDocumentCookie(document, sName, sValue);
}

function deleteDocumentCookie(oDoc, sName){
	oDoc.cookie = sName + "=";
}

function deleteCookie(sName){
	deleteDocumentCookie(document, sName);
}

function fetchDocumentCookie( oDoc, sName ){
	var sValue = "";
	var index = 0;
	if(oDoc.cookie)
		index = oDoc.cookie.indexOf( sName + "=" );
	else
		index = -1;

	if (index < 0){
		sValue = "";
	} else {
		var countbegin = (oDoc.cookie.indexOf( "=", index ) + 1);
		if (0 < countbegin){
			var countend = oDoc.cookie.indexOf( ";", countbegin );
			if (countend < 0)
				countend = oDoc.cookie.length;
				sValue = oDoc.cookie.substring(countbegin, countend);
	 	} else {
	     		sValue = "";
		}
	}
	return sValue;
}

function fetchNamedCookie(sName){
	return fetchDocumentCookie(document, sName);
}

// show/hide element
		function shows(idshnik){
			idshnik1=document.getElementById(idshnik);
			if(idshnik1.style.display=='none'){
				idshnik1.style.display='block';
			} else {
				idshnik1.style.display='none';						
			}
		}
		
// unknown KILL AFTER REBOOT
			function setup(id){
				obj=document.getElementById(id);
				obj.style.display='block';
			}

// unknown KILL AFTER REBOOT
			function hd_toolbox(id){
				obj=document.getElementById(id);
				obj.style.display='none';
			}
// mistake
			var rselected;
			function errorraport(){
				if(document.getSelection){
					rselected = document.getSelection();
				} else {
					var range = document.selection.createRange();
					rselected = range.text;
				}
			}

			function onraport(){
				if(rselected!=''){
					var iframe = document.getElementById('raportframe');
					iframe.src="/system/raport_error.p3?raporterror_text="+rselected+"&raporterror_url=/";
					alert('Спасибо за участие в проекте!');
				} else {
					alert('Обнаружили ошибку? Пожалуйста, выделите мышью фрагмент с ошибкой и кликните по ссылке «опечатка».');
				}
			}
			
			function showuser(mustlogin){
				obj=document.getElementById('userpanel');
				obj.style.display='block';
				obj=document.getElementById('guestpanel');
				obj.style.display='none';
				obj=document.getElementById('e-mail');
				obj.style.display='none';
				if(mustlogin){
	  				obj=document.getElementById('send_button');
					obj.value="Отправить";
					obj=document.getElementById('formadd');
					obj.action='/secure/';
				}
			}
			
			function showguest(){
				obj=document.getElementById('userpanel');
				obj.style.display='none';
				obj=document.getElementById('guestpanel');
				obj.style.display='block';
				obj=document.getElementById('e-mail');
				obj.style.display='block';
				obj=document.getElementById('send_button');
				obj.value="Отправить"							
				obj=document.getElementById('formadd');
				obj2=document.getElementById('referer');
				obj.action=obj2.value;
			}			
			function showhelp(){
				alert('123');
			}
// new toucher on vlg:1.3
			function touch(oButton){

				setNamedCookie('not_new','true');
				var curID = oButton.getAttribute('id');
				var donCarleone = document.getElementById('button');

				if(curID=='button'){
					oButton.setAttribute('id','bigtits');
					var xmlhttp = top.getHTTPObject();
					xmlhttp.open("get","/system/infoblock/index.p3", true);
					xmlhttp.onreadystatechange = function() {
						if(xmlhttp.readyState == 4) {
							if (xmlhttp.status == 200) {
								donCarleone.innerHTML=xmlhttp.responseText;			
							};
						}
					}
					xmlhttp.send(null);
					
				} else {
					oButton.setAttribute('id','button');
					var donCarleone = document.getElementById('button');
					donCarleone.innerHTML='';
				}
			}
		
// Roller
		function empt(){

			if(roll=='down'){
				if(vel>=22){
					vel = parseInt(vel-10);
				}
			} else {
				if(vel<lwvel){
					vel = parseInt(vel+5);
				}
			}
			
			var oContainer = document.getElementById('boxmodel');
			var oContent = document.getElementById('mainview');
			var oRail = document.getElementById('rearview');
			
			oContainer.style.paddingLeft=vel+'px';
			oContent.style.borderLeft='#ffffff '+vel+'px solid';
			oContent.style.marginLeft='-'+vel+'px';
			
			var Timer = setTimeout("empt()",1);
		}
	
		
		function TouchRoller(roller,lw){
			var oContainer = document.getElementById('boxmodel');
			var oContent = document.getElementById('mainview');
			var oRail = document.getElementById('rearview');

			lwvel = lw;

			if(roller.getAttribute('id')=='rolldown'){
				vel = lw;
				roll = 'down';
				empt();
				oRail.style.visible='none';
				roller.setAttribute('id','rollup');
				empt();
			} else {
				vel = '22';
				roll = 'up';
				empt();
				oRail.style.display='block';
				roller.setAttribute('id','rolldown');
			}
		}
		
/* check language */
	function checkL(){
		jQuery("#point > input[@type=password]").keyup(function(){
			check_lng(jQuery(this));
		});
	}

	function check_lng(him){			
		var mval=jQuery(him).val();
		var regexp=/[^^A-Za-z.!-~@\s0-9]+/;

		if(document.getElementById('allng')){
			var alat = document.getElementById('allng');
			
			if(document.getElementById('enter')){
				var enter = 'enter';
			} else {
				var enter = 'sbtn';
			}
			var sbtn = document.getElementById(enter);
			
			if(regexp.test(mval) == true){
				alat.style.display='block';
//				sbtn.style='button';
//				him.style.width=him.style.width-30;
			} else {
				alat.style.display='none';
//				sbtn.type='submit';
//				him.style.width=him.style.width+30;
			}
		}
	}
	
	
var currentValue ='';

/* upload inner entries of barmenu */
function loadEntities(oValue,oParam,oTitle){

	if(currentValue){
		hideThis();
	}

	var x = oValue.offsetLeft;
	
	var kuda_vstavim = document.getElementById('inaction');
	kuda_vstavim.style.display="block";

	var xmlhttp = getHTTPObject();

	xmlhttp.open("GET","/admin_s/barmenu/index.p3?action=" + oParam, true);
	
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				kuda_vstavim.innerHTML = xmlhttp.responseText;
				kuda_vstavim.style.marginLeft = parseInt(x) + 'px';
			} else {
				alert("Скрипт не сработал");
			}
		}
	}
	xmlhttp.send(null);

	oValue.detachEvent('onmouseover', loadEntities);

	var oElement = oValue.firstChild;
	
	if(oElement.getAttribute("id")=='p'){
		oElement.removeAttribute("id");
		oValue.removeAttribute("id","current");
	} else {
		oElement.setAttribute("id","p");
		oValue.setAttribute("id","current");
	}		
	
	currentValue = oValue;
}

function hideThis(){
	var kuda_vstavim = document.getElementById('inaction');
	kuda_vstavim.innerHTML = ' ';
	kuda_vstavim.style.display="none";
	var oElement = currentValue.firstChild;
	oElement.removeAttribute("id");
	currentValue.removeAttribute("id","current");
	currentValue.attachEvent('onmouseover', loadEntities);
}		


function jQueryBarMenus(){
	jQuery("#bar-menu > div > ul > li").mouseover(function(){
		if(jQuery(this).find("ul").html()!=null){
			jQuery(this).parent().find("li").removeClass("hovered");
			jQuery(this).addClass("hovered");
			jQuery("#bar-menu > div > ul > li > ul").css("display","none");
			jQuery(this).find("ul").css("display","block");
		} else {
			jQuery(this).parent().find("li").removeClass("hovered");
			jQuery("#bar-menu > div > ul > li > ul").css("display","none");
		}
	});
	
	jQuery("#bar-menu > div > ul > li").mouseout(function(){
		jQuery("#bar-menu > div > ul > li").removeClass("hovered");
		jQuery("#bar-menu > div > ul > li > ul").css("display","none");
	});
}

function ABC(){
	jQuery(".volna").click(function(){
		hideABC();
	});
	jQuery("#h-menu").click(function(){
		hideABC();
	});
	jQuery("#frontline > ul > li > a ").click(function(){
		hideABC();
		jQuery(this).parent().addClass("saction");
		jQuery.get("http://www.volgograd.ru/alphabet/", {symbol: jQuery(this).attr("rel"), ajax: "1" },
			function(data){
				jQuery("#frontline").append("<div id='alphacontent'>"+ data +"</div>").find("#alphacontent");
			}
		);
		return false;
	});
}

function hideABC(){
	jQuery("#frontline > ul > li").removeClass("saction");
	jQuery("#frontline").find("#alphacontent").remove();
}

function caleidoscope(){
	jQuery(".caleidoscope > ul > li").mouseover(function(){
		var ulClass = jQuery(this).parent().attr("class");
		var liIndex = jQuery(this).parent().parent().find("ul[@class^="+ulClass+"] > li").index(jQuery(this)[0]);
		jQuery(this).parent().parent().find("ul > li").removeClass("hovered");
		jQuery(this).parent().parent().find("ul.cpic > li").eq(liIndex).addClass("hovered");
		jQuery(this).parent().parent().find("ul.ctext > li").eq(liIndex).addClass("hovered");
	});
	jQuery(".caleidoscope > ul > li").mouseout(function(){
		jQuery(this).parent().parent().find("ul > li").removeClass("hovered");
	});
}

// detecting flash
function isFlash() {
	var flash = false;
	if (isIE && _useragent.indexOf("webtv") == -1) {
		try {
			for (var i = 3; i <= 11; i++) {
				if (!flash){
					if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')) { flash = true; }
				}
			}
		} catch(e) {}
	} else {
		for (var i = 0; i < navigator.plugins.length; i++) {
			if (!flash){
				if (navigator.plugins[i].name.indexOf('Flash') > -1) { flash = true; }
			}
		}
	}
	return flash;
}