jQuery.noConflict();
var left_coord, top_coord = 0;
var Timer;
var x, y, x1, y1, mouse_state = 0;
var SelectedItem;
var SelectedX, SelectedY;
var mMouseX, mMouseY;
var mWidth=0, mHeight=0;
var PointLs = 0;
var PointList = 0;
var pointOld=new Array();
var SHelem ;
var opac = 80;
var nOpacity = 0;
var oldelempmapfsp=0;
var pmapfsptimer=0;
	function shclickfsp(id){
		elemstyledisp=document.getElementById(id).style;
		if (oldelempmapfsp) {
			if (oldelempmapfsp !=id)	pmapfsphide(oldelempmapfsp);
		} 
		if (elemstyledisp.display=='none') {
			pmapfspshow(id);
		oldelempmapfsp=id;
		} else {
			pmapfsphide(id);
		}
	}
	function shpmapfsp(id){
		if (oldelempmapfsp !=id) pmapfsphide(oldelempmapfsp);
		oldelempmapfsp=id;
		stoptimerpmapfsp(0);
		pmapfspshow(id);
	}
	function starttimerpmapfsp() {
		pmapfsptimer= setTimeout( 'stoptimerpmapfsp(1)', 500 ); 
	}
	function stoptimerpmapfsp(n) {
		clearTimeout( pmapfsptimer ); 
		if (n==1) pmapfsphide(oldelempmapfsp); 
	}
	function pmapfsphide(id){
 		elem='#'+id;
		jQuery(elem).hide("fast");
	}
	function pmapfspshow(id){
		elem='#'+id;
		jQuery(elem).show("fast");
	}

function initScript()
{
	var _container = document.getElementById('my_map');
			// Инициализация вспомогательной функции
		    _container.onmouseover = function(){
		       handle = over;
		    };
			// Удаление вспомогательной функции
		    _container.onmouseout = function(){
		       handle = null;
		    }
			 
			  	function over(delta) {
		if (delta > 0){
			vscale(0);
		} else {
			vscale(1);
		}
	}
}
function wheel(event){
        var delta = 0;
        if (!event) event = window.event; // Событие IE.
        // Установим кроссбраузерную delta
        if (event.wheelDelta) {
                // IE, Opera, safari, chrome - кратность дельта равна 120
                delta = event.wheelDelta/120;
        } else if (event.detail) {
                // Mozilla, кратность дельта равна 3
                delta = -event.detail/3;
        }
        // Вспомогательня функция обработки mousewheel
        if (delta && typeof handle == 'function') {
                handle(delta);
                // Отменим текущее событие - событие поумолчанию (скролинг окна).
                if (event.preventDefault)
                        event.preventDefault();
                event.returnValue = false; // для IE
        }
}

function coordpoint(ev){
 var ev = ev || window.event;
if(ev.offsetX || ev.offsetY) {
ncoordsMapfsp(window.event.offsetX,window.event.offsetY)
} else {
ncoordsMapfsp(ev.layerX,ev.layerY)
};
}

function view_capt() {
var PointLst  = getElemsTagName('div', 'objc');
if (PointLs==0){
PointLs=1;
var PointDispl="block";
} else {
PointLs=0;
var PointDispl="none";
}
for (var i=0; i<PointLst.length; i++){
document.getElementById(PointLst[i].id).style.display = PointDispl;
}
}

function vscale(n) {
document.getElementById("flag").style.display = "none";
document.getElementById("newcrd").style.display = "none";
if (PointList==0){
PointList  = getElemsTagName('div', 'obj');
pointOld=new Array(PointList.length);
var starth = map_height*(parseInt(document.mapfspform1.scalemap.value)/100)/2;
var startw = map_width*(parseInt(document.mapfspform1.scalemap.value)/100)/2;
for (var i=0; i<PointList.length; i++){
	pointOld[i] = new Array(3);
	pointOld[i][0]=PointList[i].id;
	pointOld[i][1]=starth/parseInt(document.getElementById(PointList[i].id).style.top);
	pointOld[i][2]=startw/parseInt(document.getElementById(PointList[i].id).style.left);
	}
}
if (n==0) {
correct -= 0.5;
correct = correct <=0 ? 0 : correct;
var scl = parseInt(document.mapfspform1.scalemap.value)-10;
var h1 = parseInt(map_height*(scl/100));
var w1 = parseInt(map_width*(scl/100));
if(h1 < 100 || w1 < 100) return;
document.getElementById('my_map').style.visibility="hidden";
document.mapfspform1.scalemap.value=scl
document.getElementById('my_map').scrollLeft -= (document.getElementById("m_map").width-w1)/2; 
document.getElementById("m_map").width=w1;
document.getElementById('my_map').scrollTop -= (document.getElementById("m_map").height-h1)/2; 
document.getElementById("m_map").height=h1;
} else{
document.getElementById('my_map').style.visibility="hidden";
correct+=0.5;
var scl = parseInt(document.mapfspform1.scalemap.value)+10;
document.mapfspform1.scalemap.value=scl
var h1 = parseInt(map_height*(scl/100));
var w1 = parseInt(map_width*(scl/100));
document.getElementById('my_map').scrollLeft += (w1-document.getElementById("m_map").width)/2; 
document.getElementById("m_map").width=w1;
document.getElementById('my_map').scrollTop += (h1-document.getElementById("m_map").height)/2;
document.getElementById("m_map").height=h1;
}
scalemap = scl;
correct = scalemap == 100 ? 0 : correct;
for (var i=0; i<pointOld.length; i++){
document.getElementById(pointOld[i][0]).style.left = w1/2/pointOld[i][2]+correct+"px";
document.getElementById(pointOld[i][0]).style.top = h1/2/pointOld[i][1]+correct+"px";
}
movesel(1);
document.getElementById('my_map').style.visibility="visible";
}
/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
function ajaxpageMapfsp(url, containerid){
if (!createDivMapfsp("contentView")) return;
cw = document.getElementById("contentView");
cw.style.position = 'absolute';
cw.style.display = 'none';
cw.style.top = '0px';
cw.style.left = '0px';
cw.innerHTML='<div id=closeAjax style="display:none;text-align:right;cursor: move;" onmousedown="MoveMapfsp(event)"  onmousemove="DragMapfsp(\'contentView\', event, \'\');return false;"  onmouseup="DropMapfsp();" onmouseout="DropMapfsp();"><img  src="'+rootdomain+'/components/com_mapfsp/images/close.gif" onclick = "resizeUnloader();" style=" cursor:pointer; "/></div><div id=contentAjax></div>';
if (!createDivMapfsp("loader")) return;
ld = document.getElementById("loader");
ld.style.position = 'absolute';
ld.style.display = 'none';
ld.style.top = '0px';
ld.style.left = '0px';
ld.style.cursor = 'pointer';
ld.innerHTML='<img id=loaderGif  src="'+rootdomain+'/components/com_mapfsp/images/loader.gif" onclick="resizeUnloader();"/>';
if (!createDivMapfsp("screenfull")) return;
sfull = document.getElementById("screenfull");
sfull.style.position = 'absolute';
sfull.style.display = 'none';
sfull.style.top = '0px';
sfull.style.left = '0px';
sfull.style.opacity=opac/100;
sfull.style.filter="alpha(opacity="+opac+")";
var dw = document.width || document.documentElement.clientWidth || document.body.clientWidth;
var dh = document.height || document.documentElement.clientHeight || document.body.clientHeight;
sfull.style.height=getBodyScrollTop()+dh+"px";
sfull.style.width=getBodyScrollLeft()+dw+"px";
ShowHide("screenfull");
sfull.style.display = "block";
document.getElementById('contentAjax').innerHTML='';
document.getElementById("contentAjax").style.height="16px";
document.getElementById("contentAjax").style.width="16px";
document.getElementById("contentView").style.visibility='hidden';
document.getElementById("loader").style.width = "40px";
document.getElementById("loader").style.height = "40px";
if (leftcontent==0){
document.getElementById("contentView").style.left = screen.width/2-8+getBodyScrollLeft()+"px";
document.getElementById("loader").style.left = screen.width/2-parseInt(document.getElementById("loader").style.width)/2+getBodyScrollLeft()+"px";
} else {
document.getElementById("contentView").style.left = leftcontent+"px";
document.getElementById("loader").style.left=leftcontent+"px";
}
if (topcontent==0){
document.getElementById("contentView").style.top = screen.height/2-8+getBodyScrollTop()+"px";
document.getElementById("loader").style.top = screen.height/2-100-parseInt(document.getElementById("loader").style.height)/2+getBodyScrollTop()+"px";
} else {
document.getElementById("contentView").style.top = topcontent+"px";
document.getElementById("loader").style.top = topcontent+"px";
}
document.getElementById("loader").style.display='block';
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpageMapfsp(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}

function loadpageMapfsp(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
document.getElementById(containerid).innerHTML=page_request.responseText;
document.getElementById("closeAjax").style.display='block';
document.getElementById("contentAjax").style.display='block'; 
document.getElementById('contentView').style.display='block'
reAjax();
}
}

function resizeAjax(){
var wh =document.getElementById("tblAjax").offsetWidth;
var ht = document.getElementById("tblAjax").offsetHeight;
if (screen.width<wh) wh = screen.width-100;
if (screen.height-340<ht) ht = screen.height-340;
wh = wh < minwidth ? minwidth : wh+2;
ht = ht < 120 ? 120 : ht;
document.getElementById("contentAjax").style.width = wh+"px";
document.getElementById("contentAjax").style.height = (60+ht)+"px";
if (leftcontent==0) document.getElementById("contentView").style.left = screen.width/2-wh/2+getBodyScrollLeft()+"px";
if (topcontent==0) document.getElementById("contentView").style.top = screen.height/2-ht/2-160+getBodyScrollTop()+"px";
}
function reAjax(){
resizeAjax(); 
document.getElementById("contentView").style.visibility='visible';
document.getElementById("contentView").style.display='block'; 
document.getElementById("loader").style.display='none';
}

function resizeUnloader() {
document.getElementById("contentAjax").style.display="none";
document.getElementById("contentView").style.display="none";
document.getElementById('loader').style.display='none';
document.getElementById('contentAjax').innerHTML='';
document.getElementById("closeAjax").style.display="none";
if (document.getElementById("screenfull").style.display=="block") ShowHide('screenfull');
return;
}
/*  ------------------------------------------------------------------------------------------- */ 
function createDivMapfsp(id,frm) {
	id = (id || 'DivMapfsp'), frm = (frm || self);
	divContainer = layerReference(id);
	if (divContainer == null) {
			var body = (olIe4 ? frm.document.all.tags('BODY')[0] : frm.document.getElementsByTagName("BODY")[0]);
			if (olIe4&&!document.getElementById) {
				body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');
				divContainer=layerReference(id);
			} else {
				divContainer = frm.document.createElement("DIV");
				divContainer.id = id;
				body.appendChild(divContainer);
			}
	}
	return divContainer;
}
          
function mousedownobject(e,hrefurl,container,point) {
var e = e || window.event;
 var btnCode = e.button;
if (btnCode==2) { 
AddInfo(point);
} else {
ajaxpageMapfsp(hrefurl,container);
}
}

function AddInfo(point){
if (point>0){
if (document.mapfspform3.newinfodop){
document.mapfspform3.newinfodop.value="";
document.mapfspform3.oimagedop.value="";
document.mapfspform3.objiddop.value=point;
}
document.getElementById("addinfo").style.display='none';
ShowHide('addinfo',1);
}
}
                                              
function getElemsTagName(tag, name) {
var elem = document.getElementsByTagName(tag);
     var arr  = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
return arr;
}

function scaleview(){
var elScale =  document.getElementById('sm_map');
var elem =  document.getElementById('minsel');
ShowHide("sm_map",1);
elem.style.opacity=0.4;
elem.style.filter="alpha(opacity=40)";
}

function MoveMapfsp(ev) {
 var ev = ev || window.event;
 var btnCode;
   btnCode = ev.button;
	if (btnCode==0 || btnCode==1) { 
 	 mouse_state = 1; 
if (ev.pageX || ev.pageY) {
	mMouseX = ev.pageX;
	mMouseY = ev.pageY;
} else {
	mMouseX = ev.clientX;
	mMouseY = ev.clientY;
}
}
}
function DragMapfsp(obj, ev, obj1) {
if (mouse_state == 1) {
 var ev = ev || window.event;
if (ev.pageX || ev.pageY) {
	evX = ev.pageX;
	evY = ev.pageY;
} else  {
	evX = ev.clientX;
	evY = ev.clientY;
}
elm=document.getElementById(obj);
if (elm.style.left) {
	SelectedX = parseInt(elm.style.left);
	SelectedY = parseInt(elm.style.top);
} else {
var objStyle = elm.currentStyle || window.getComputedStyle(elm, null);
SelectedX = parseInt(objStyle.left) ;
SelectedY =  parseInt(objStyle.top) ;
}
mWidth=0;
mHeight=0;
var newCoordX = SelectedX + (evX - mMouseX);
var newCoordY =  SelectedY + (evY - mMouseY);
if (obj1!=''){
newCoordX = newCoordX<=0 ? 0 : newCoordX;
newCoordY = newCoordY<=0 ? 0 : newCoordY;
mWidth=parseInt(document.getElementById(obj1).style.width);
mHeight=parseInt(document.getElementById(obj1).style.height);
} 

if (mWidth >0) newCoordX = newCoordX+parseInt(elm.style.width)> mWidth ? mWidth-parseInt(elm.style.width) : newCoordX;
if (mHeight >0) newCoordY = newCoordY+parseInt(elm.style.height)> mHeight ? mHeight-parseInt(elm.style.height) : newCoordY;
elm.style.left = newCoordX+"px";
elm.style.top = newCoordY +"px";
if (ev.pageX || ev.pageY) {
	mMouseX = ev.pageX;
	mMouseY = ev.pageY;
} else {
	mMouseX = ev.clientX;
	mMouseY = ev.clientY;
}

return false;
}
}

function DropMapfsp() {
mouse_state = 0; 
}


function ScrollLeft()
{
Timer = setInterval("document.getElementById('my_map').scrollLeft -= 10", cleatimer);
}
function ScrollRight()
{
Timer = setInterval("document.getElementById('my_map').scrollLeft += 10", cleatimer);
}

function ScrollTop()
{
Timer = setInterval("document.getElementById('my_map').scrollTop -= 10", cleatimer);

}
function ScrollBottom()
{
Timer = setInterval("document.getElementById('my_map').scrollTop += 10", cleatimer);
}

function movesel(ns){
if (ns==1){
document.getElementById("minsel").style.left=(document.getElementById("my_map").scrollLeft/scale/(scalemap/100))+"px";
document.getElementById("minsel").style.top=(document.getElementById("my_map").scrollTop/scale/(scalemap/100))+"px";
var vw = wwidth/scale/(scalemap/100);
vw=vw>parseInt(document.getElementById("sm_map").style.width) ? document.getElementById("sm_map").style.width : vw;
var vh = wheight/scale/(scalemap/100);
vh=vh>parseInt(document.getElementById("sm_map").style.height) ? document.getElementById("sm_map").style.height : vh;
document.getElementById("minsel").style.width=parseInt(vw)+"px";
document.getElementById("minsel").style.height=parseInt(vh)+"px";
} else {
document.getElementById("my_map").scrollLeft=(parseInt(document.getElementById("minsel").style.left)*scale*(scalemap/100));
document.getElementById("my_map").scrollTop=(parseInt(document.getElementById("minsel").style.top)*scale*(scalemap/100));
}
}

function getcoordMapfsp() {
var el = document.getElementById("m_map");
var elem =  document.getElementById('minsel');
elem.style.display="block";
elem.style.opacity=0.4;
elem.style.filter="alpha(opacity=40)";
elem = document.getElementById("selarea");
elem.style.opacity=0.4;
elem.style.filter="alpha(opacity=40)";
  left_coord = getcoordx(el);
   top_coord = getcoordy(el); 
if (document.mapfspform1.left_value && document.mapfspform1.top_value) {
document.mapfspform1.left_value.value = left_coord;
document.mapfspform1.top_value.value = top_coord;
}
var l, t=0;
if (navigator.appName=='Opera'){
l=document.getElementById("my_map").scrollLeft+10+left_coord;
t=document.getElementById("my_map").scrollTop+10+top_coord;
} else {
l=left_coord+10;
t=top_coord+10;
}
}

function ncoordsMapfsp(x,y) {
document.mapfspform1.newcrd.style.display = "none"
document.mapfspform2.newleft.value = parseInt(x/(document.mapfspform1.scalemap.value/100))-7;
document.mapfspform2.newtop.value = parseInt(y/(document.mapfspform1.scalemap.value/100))-7;
document.mapfspform1.newcrd.style.left = x-7+"px";
document.mapfspform1.newcrd.style.top = y-7+"px";
setTimeout('document.mapfspform1.newcrd.style.display = "block"',500);
}

function mousedownMapfsp(e) {
 var e = e || window.event;
  var btnCode;
   btnCode = e.button;
if (btnCode==2) { 
var el = document.getElementById("m_map");
  mouse_state = 1; 
 x = posx(e);
 y = posy(e); 
document.mapfspform1.selarea.style.left=x+"px";
document.mapfspform1.selarea.style.top=y+"px";
 document.mapfspform1.selarea.style.width=1+"px";
document.mapfspform1.selarea.style.height=1+"px";
document.mapfspform1.selarea.style.display = "block";
}
}

function mousemoveMapfsp(e) {
 if (mouse_state) { 
 var e = e || window.event;
 x1 = posx(e)-x-5;
 y1 = posy(e)-y-5;
 x1= x1<0 ? 0 : x1;
 y1= y1<0 ? 0 : y1;
document.mapfspform1.selarea.style.width=x1+"px"; 
document.mapfspform1.selarea.style.height=y1+"px"; 
 }
}

function mouseupMapfsp(e) {
 var e = e || window.event;
  var btnCode;
   btnCode = e.button;
 
if ((btnCode==2)&&(mouse_state))
mouse_state = 0; 
document.mapfspform1.selarea.style.display = "none";
var form = document.mapfspform1;
	if  (x1>10 && y1>10) {
y=parseInt(y/(document.mapfspform1.scalemap.value/100));
x=parseInt(x/(document.mapfspform1.scalemap.value/100));
y1=parseInt(y1/(document.mapfspform1.scalemap.value/100));
x1=parseInt(x1/(document.mapfspform1.scalemap.value/100));
		document.mapfspform1.top_sel.value=y;
		document.mapfspform1.left_sel.value=x;
		document.mapfspform1.end_sel.value=y+y1;
		document.mapfspform1.right_sel.value=x+x1;
/*		getcoordMapfsp(); */
		form.submit();
	}
}

function getcoordx(el)  {
   xc = el.offsetLeft;
  for (var parent = el.offsetParent; parent; parent = parent.offsetParent)
  {
    xc += parent.offsetLeft;
  }
return xc;
}
function getcoordy(el)  {
   yc = el.offsetTop;
  for (var parent = el.offsetParent; parent; parent = parent.offsetParent)
  {
    yc += parent.offsetTop;
  }
return yc;
}

function posx(ev) {
if(ev.offsetX || ev.offsetY) {
xev=ev.offsetX;
}else {
xev=ev.layerX;
} 
return xev;
}
function posy(ev) {
if(ev.offsetY) {
yev=ev.offsetY;
}else {
yev=ev.layerY;
} 
return yev;
}

function ShowHide(obj,  noopac, nOpac){
nOpacity = nOpac || 100;
noopac = noopac || 0;
SHelem = document.getElementById(obj);
	if (SHelem.style.display=="block"){
	pmapfsphide(obj);
	} else {
	pmapfspshow(obj);
	}
}


function getBodyScrollTop()
{
  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft()
{
  return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function getElemPosSize(elemId){
var elemt = document.getElementById(elemId);
var w = elemt.offsetWidth;
var h = elemt.offsetHeight;
var l = 0;
var t = 0;
while (elemt)    {
    l += elemt.offsetLeft;
    t += elemt.offsetTop;
    elemt = elemt.offsetParent;
    }
    return {"left":l, "top":t, "width": w, "height":h};
}

function coord_flag(n, noflag){
var obj = document.getElementById("obj"+n);
var flag = document.getElementById("flag");
flag.style.left =obj.style.left;
flag.style.top = obj.style.top;
var vt=parseInt(obj.style.top)-wheight/2;
var vl=parseInt(obj.style.left)-wwidth/2;
document.getElementById("my_map").scrollTop = vt;
document.getElementById("my_map").scrollLeft = vl;
if (noflag==0){
flag.style.display = "block";
} else {
obj.style.display = "block";
}
movesel(1);
}

if (window.addEventListener) { // mozilla, safari, chrome
   window.addEventListener('DOMMouseScroll', wheel, false);
    window.addEventListener("load", initScript, false);
   window.addEventListener("load", getcoordMapfsp,false);

// IE, Opera.
} else {
window.onmousewheel = document.onmousewheel = wheel;
window.attachEvent("onload", initScript);
window.onload = getcoordMapfsp; 
}




