var projects_DOC_SelectedID=0;
var DocID=0;
var img_loader=new Image();
var	img;
var DOCImageTimeout;
var DOC_Desc='';

var WorkDesc=null;
var DOCFull=null;

DOMReady(function(){
	DOCFull=DOM('DOC_Full');
	WorkDesc=DOM('WorkDesc');
});
function projects_DOC_ShowImage(Info, sender){
var	selected=DOM(projects_DOC_SelectedID);

	if (DOCImageTimeout){
		clearTimeout(DOCImageTimeout);
		DOCImageTimeout=null;
	}
	if (selected) {
		detachClass(selected.parentNode,'selected');
		attachClass(selected.parentNode,'li');
	}
	attachClass(sender.parentNode,'selected');
	detachClass(sender.parentNode,'li');			
	projects_DOC_SelectedID=sender.id;
	img=document.getElementById('Image');
var obj=document.getElementById('Image_object');
	//DOM_Hide(img);
	DOM_Hide(obj);
			
	img.src='/images/sp.gif';
	img.width=Info['Width'];
	img.alt=sender.innerHTML;
	img.height=Info['Height'];
	img_loader.src=Info['FileName'];
	projects_DOC_ShowImage_Loading();
	var List=DOM('IMAGE_List'+Info.id);
	if (List) WorkDesc.innerHTML=List.innerHTML;
	else WorkDesc.innerHTML=DOCFull.innerHTML;
	
	DOM_Show(img);
	
	document.location.hash=DocID+'_'+Info['id'];
	return false;
}

function projects_DOC_ShowImage_Loading(){
	if (img_loader.readyState != "complete") DOCImageTimeout=setTimeout('projects_DOC_ShowImage_Loading()',100);
	img.src=img_loader.src;
	DOCImageTimeout=null;
}

function projects_DOC_ShowImage_Factory(obj, a){
	if (obj.Meta.Image){
		var Info={'id':obj.id,'FileName':'/'+obj.Meta.Image.FileName,'Width':obj.Meta.Image.ImageSize[0],'Height':obj.Meta.Image.ImageSize[1]};
		return function(event){		
			projects_DOC_ShowImage(Info,a);
			DOM_Stop(event);
		}
	}
	else {
		return function(event){
			DOM_Stop(event);
		}
	}
}

var projects_DOC_ChangeImage_TransparentProgress=0;
function projects_DOC_ChangeProject(sender){
	if (DOCImageTimeout){
		clearTimeout(DOCImageTimeout);
		DOCImageTimeout=null;
	}
	projects_DOC_Hide();	
	
	AjaxRequest_Callback(sender.getAttribute('rel'), [], projects_DOC_Print);
	return false;
}

//function projects_DOC_Print(sender){
//	DOM('DOC_Title').innerHTML=Node.Title;
//	img=DOM('DOC_Image');
//	img.src='/'+Node.Meta.MenuImage.FileName;
//	img.width=Meta.MenuImage.ImageSize[0];
//	img.height=Meta.MenuImage.ImageSize[1];
//	prev=DOM('DOC_Next');
//	AjaxRequest_Callback(sender.getAttribute('rel'), [], projects_DOC_Print)
//}

var scroll_DOC_Image_handler;
function scroll_DOC_Image(){
	var DOC_Image=DOM('DOC_Image');
	
	var top=parseInt(DOC_Image.style.top);
	top=top+4;
	DOC_Image.style.top=top+'px';
	
	if (top>=0){
		DOC_Image.style.top='0px';
		clearInterval(scroll_DOC_Image_handler);
		scroll_DOC_Image_handler=null;
	}
}

function projects_DOC_Print(resp){
	
	document.location.hash=resp.id;
	DOM('DOC_Title').innerHTML=resp.Title;
	DOCFull.innerHTML=resp.Full;
	if (resp.Nodes[0]&&(resp.Nodes[0].Meta.Image.ImageSize.mime=='application/x-shockwave-flash')){
		document.location.href=resp.Link;
		return;	
	}
	
	var DOC_Image=DOM('DOC_Image');
	var Container=DOM('DOC_ImageContainer');
	Container.style.width=resp.Meta.MenuImage.ImageSize[0]+'px';	
	Container.style.height=resp.Meta.MenuImage.ImageSize[1]+'px';
	DOC_Image.style.top='-'+resp.Meta.MenuImage.ImageSize[1]+'px';
	if (!scroll_DOC_Image_handler){
		scroll_DOC_Image_handler=setInterval(scroll_DOC_Image,1);
	}
	
	DOC_Image.src='/images/sp.gif';
	DOC_Image.width=resp.Meta.MenuImage.ImageSize[0];
	DOC_Image.height=resp.Meta.MenuImage.ImageSize[1];
	DOC_Image.src='/'+resp.Meta.MenuImage.FileName;
	
	var Prev=DOM('DOC_Prev');
	if (resp.Prev){
		Prev.href=resp.Prev.Link;
		Prev.setAttribute('rel','/js.php?id='+resp.Prev.id);
		Prev.setAttribute('title',resp.Prev.Title);
		DOM_Show(Prev);
	}
	else DOM_Hide(Prev);
	
	var Next=DOM('DOC_Next');
	if (resp.Next){
		Next.href=resp.Next.Link;
		Next.setAttribute('rel','/js.php?id='+resp.Next.id);
		Next.setAttribute('title',resp.Next.Title);
		DOM_Show(Next);
	}
	else DOM_Hide(Next);
	
	var List=DOM('Images');
	while(List.firstChild){List.removeChild(List.firstChild);}
	for (i=0; i<resp.Nodes.length; i++){
		a=DOM_Create('a', 'ImageLink_'+resp.Nodes[i].id, resp.Nodes[i].Title, '', {'href':resp.Link+'?img='+resp.Nodes[i].id});
		if (resp.Nodes[i].Meta.Image&&(resp.Nodes[i].Meta.Image.ImageSize.mime!='application/x-shockwave-flash')){
			AttachEvent(a, 'click', projects_DOC_ShowImage_Factory(resp.Nodes[i],a));
		}
		
		li=DOM_Create('li', 'ImageEl_'+resp.Nodes[i].id, '', (i==0)?'selected':'li', null);		
		if(i==0){attachClass('selected',li);}
		li.appendChild(a);
		
		if (resp.Nodes[i].List){
		 IMAGE_List=DOM_Create('div', 'IMAGE_List'+resp.Nodes[i].id, resp.Nodes[i].List, 'hidden', null);
		 li.appendChild(IMAGE_List);
		}
		List.appendChild(li);		
	}
	
	if (resp.Nodes.length>0){				
		if (resp.Nodes[0].Meta.Image&&(resp.Nodes[0].Meta.Image.ImageSize.mime!='application/x-shockwave-flash')){
			projects_DOC_ShowImage_Factory(resp.Nodes[0], List.firstChild.firstChild)();
		}
		else {
			document.location.href='/sitemap/?id='+resp.id;
		}
		
	}
	else DOM_Hide('Image');
	
	setElementOpacity(DOM('DOC'),1);
	setElementOpacity(DOM('Image'),1);
	DocID=resp.id;
	
}

function projects_DOC_Hide(){	
	
	setElementOpacity(DOM('DOC'),0.5);
	setElementOpacity(DOM('Image'),0.5);	
	DOM_Hide('Image_object');
}

function setElementOpacity(elem, nOpacity)
{
	
  if (document.body.filters){ // Internet Exploder 5.5+
    opacityProp = 'filter';	
  }
  else{ if (typeof document.body.style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9, IE7)
    opacityProp = 'opacity';
  else if (typeof document.body.style.MozOpacity == 'string') // Mozilla 1.6 и младше, Firefox 0.8 
    opacityProp = 'MozOpacity';
  else if (typeof document.body.style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
    opacityProp = 'KhtmlOpacity';
  }
  
  if (!elem || !opacityProp) return; // Если не существует элемент с указанным id или браузер не поддерживает ни один из известных функции способов управления прозрачностью
  
  if (opacityProp=="filter")  // Internet Exploder 5.5+
  {
    nOpacity *= 100;
	
    // Если уже установлена прозрачность, то меняем её через коллекцию filters, иначе добавляем прозрачность через style.filter
    var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
    if (oAlpha) oAlpha.opacity = nOpacity;
    else elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")"; // Для того чтобы не затереть другие фильтры используем "+="
  }
  else // Другие браузеры
    elem.style[opacityProp] = nOpacity;
}
