var xmlHttp = createXmlHttpRequestObject(), is_all_loaded=false, global_status_anim='paused', stop_anim_flg=-1, cache_num_frame=-1, auto_anim=true, loaded_imgs=new Array(), current_ban_num=0, hide_obj_num=-1, globalbanint=0, animbanint=0, animinfoint=0, globalinfoopac=0, animtextint=0, globaltextopac=0, anim_c=100, anim_d=0;
var banners_info= [''];
var is_ie=0;
function init(){
	is_ie=( navigator.userAgent.indexOf("MSIE ")>0 ) ? 1 : 0;
	procvisual('build');
	correct_servmenu();
	correct_othertext();
	var langobj=document.getElementById('langsel').getElementsByTagName('a');
	tag_first_letters(langobj,2);
}
function tag_first_letters(_obj,_q,_tag){
	if(_q==undefined){_q=1;}
	if(_tag==undefined){_tag='font';}
	for(i=0;i < _obj.length;i++){
		var str=new String(_obj[i].innerHTML), str_result='';
		str_result='<'+_tag+'>'+str.substr(0,_q)+'</'+_tag+'>'+str.substr(_q);
		_obj[i].innerHTML=str_result;
	}
}



function correct_servmenu(){	var headers=document.getElementById('linefield').getElementsByTagName('h1'), lnks=document.getElementById('linefield').getElementsByTagName('a');;
	tag_first_letters(headers);
	tag_first_letters(lnks);
}
function correct_othertext(){
	var faqobj=document.getElementById('faqzone').getElementsByTagName('h1'), articlesobj=document.getElementById('articleszone').getElementsByTagName('h1'), faqa=document.getElementById('faqzone').getElementsByTagName('a'), articlesa=document.getElementById('articleszone').getElementsByTagName('a');
	tag_first_letters(faqobj);
	tag_first_letters(articlesobj);
	tag_first_letters(faqa,2);
	tag_first_letters(articlesa,2);
}
function set_ban_show(){
	var banobj=document.getElementById('banzone').getElementsByTagName('div'), str='', selectorobj=document.getElementById('selector');
	for(i=0;i < banobj.length;i++){
		if(i==banobj.length-1){file='fullcircle.gif'; myclass=' class="sel"';} else {file='emptycircle.gif'; myclass='';}
		str+='<div style="margin-top: '+(398-30*banobj.length+30*i)+'px"><img'+myclass+' onclick="showframe('+(banobj.length-1-i)+');" src="imgs/site/main/'+file+'" alt=""></div>';
	}
	selectorobj.innerHTML=str;
	global_status_anim='globalshowbanners';
	globalbanint=window.setInterval("globalshowbanners()", 1000);}
function loadedok(_i){
	loaded_imgs[_i-1]=_i;
	if(loaded_imgs.length==banners_info['id'].length){		is_all_loaded=true;
	}
}
function globalshowbanners(){
	global_status_anim='fade_infoban/view';
	window.clearInterval(globalbanint);
	animinfoint=window.setInterval("fade_infoban('view',10)", 150);
}
function fade_infoban(direct,step){
	var fadeobj=document.getElementById('comzone'), fadetextobj=document.getElementById('textzone');
	switch(direct){
		case 'view':		if(globalinfoopac <= 70){
			globalinfoopac+=step;
			if(is_ie){
				fadeobj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+globalinfoopac+")";
			} else {
				fadeobj.style.opacity=globalinfoopac/100;
			}
		} else {
			window.clearInterval(animinfoint);
			global_status_anim='fade_infoban/start_text';
			animinfoint=window.setInterval("fade_infoban('start_text',10)", 300);		}
		break;
		case 'hide':		if(globalinfoopac >= 0 || globaltextopac >=0){
			globalinfoopac-=step; if(globalinfoopac < 0){globalinfoopac=-1;} globaltextopac-=step;
		    if(is_ie){
		        fadeobj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+globalinfoopac+")";
				fadetextobj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+globaltextopac+")";
		    } else {
		        fadeobj.style.opacity=globalinfoopac/100;
				fadetextobj.style.opacity=globaltextopac/100;
		    }
		} else {
			window.clearInterval(animinfoint);
			fadetextobj.innerHTML='';
			global_status_anim='changeban';
			if(cache_num_frame!=-1){stop_anim_flg=cache_num_frame; cache_num_frame=-1;}
			if(stop_anim_flg==-1){
				animbanint=window.setInterval("changeban()", 1000);			} else {
				auto_anim=false;
				changeban(stop_anim_flg);
				
			}
		}
		break;
		case 'start_hide':			if(animinfoint){window.clearInterval(animinfoint);}
			global_status_anim='fade_infoban/hide';
			animinfoint=window.setInterval("fade_infoban('hide',10)", 150);
		break;
		case 'start_text':
			window.clearInterval(animinfoint);
			fadetextobj.innerHTML='<p class="header">'+banners_info['header'][current_ban_num]+'</p><p class="quote">&ldquo;'+banners_info['quote'][current_ban_num]+'&rdquo;</p><p class="person">'+banners_info['person'][current_ban_num]+'</p><p class="post">'+banners_info['post'][current_ban_num]+'</p>';
			global_status_anim='fade_infoban/show_text';
			animtextint=window.setInterval("fade_infoban('show_text',10)", 150);
		break;
		case 'show_text':
			if(globaltextopac <= 100){
				globaltextopac+=step;
				if(is_ie){
					fadetextobj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+globaltextopac+")";
				} else {
					fadetextobj.style.opacity=globaltextopac/100;
				}
			} else {
				if(is_all_loaded){					window.clearInterval(animtextint);
					if(stop_anim_flg==-1 || cache_num_frame!=-1){
						global_status_anim='fade_infoban/start_hide';
						animinfoint=window.setInterval("fade_infoban('start_hide',10)", 8000);					} else { // если нужно переключить на выбранный фрейм, то исключаем ожидание
						global_status_anim='pause';
						if(cache_num_frame!=stop_anim_flg && cache_num_frame!=-1){fade_infoban('start_hide',10);}						if(auto_anim){
							fade_infoban('start_hide',10);
						}
					}
				}
			}
		break;
	}
}
function showframe(_i){
	cache_num_frame=_i;	switch(global_status_anim){
		case 'fade_infoban/start_hide':
			window.clearInterval(animinfoint);
			fade_infoban('start_hide',10);
		break;
		case 'pause':			if(!auto_anim){
				fade_infoban('start_hide',10);
			}
		break;
	}
	//window.alert(_i);
}
function changeban(_i){
	if(_i==undefined){_i=-1;}
	var banobj=document.getElementById('banzone'), quan_ban=banobj.getElementsByTagName('div').length;
	hide_obj_num=current_ban_num;
	if(_i!=-1){
		current_ban_num=_i;
	} else {
		if(++current_ban_num >= quan_ban){current_ban_num=0;}
	}
	window.clearInterval(animbanint);
	//window.alert(hide_obj_num+' -> '+current_ban_num);
	global_status_anim='changebanimg';
	anim_c=100; anim_d=0;
	animbanint=window.setInterval("changebanimg(document.getElementById('banzone').getElementsByTagName('div')[hide_obj_num],document.getElementById('banzone').getElementsByTagName('div')[current_ban_num],10)", 150);
	
	var selectorobj=document.getElementById('selector');
	selectorobj.getElementsByTagName('img')[quan_ban-hide_obj_num-1].src='imgs/site/main/emptycircle.gif';
	selectorobj.getElementsByTagName('img')[quan_ban-hide_obj_num-1].style.cursor='pointer';
	selectorobj.getElementsByTagName('img')[quan_ban-current_ban_num-1].src='imgs/site/main/fullcircle.gif';
	selectorobj.getElementsByTagName('img')[quan_ban-current_ban_num-1].style.cursor='default';
}
function changebanimg(obj_a,obj_b,step){
	if(anim_c){
		anim_c-=step;
	    anim_d+=step;
	    if(is_ie){
	        obj_a.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+anim_c+")";
	        obj_b.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+anim_d+")";
	    } else {
	        obj_a.style.opacity=anim_c/100;
	        obj_b.style.opacity=anim_d/100;
	    }
	} else {
		window.clearInterval(animbanint);
		//obj_a.style.visibility="hidden";
		//window.alert(hide_obj_num+' -> '+current_ban_num);
		global_status_anim='fade_infoban/view';
		animinfoint=window.setInterval("fade_infoban('view',10)", 150);
	}
}
function procvisual(numb){
    switch(numb){
		case "build":
		if(xmlHttp){ 
	        try{ 
	            xmlHttp.open("GET","extensions/mainbanner.php?lang=eng&ids=", true);
	            xmlHttp.onreadystatechange=respvisual;
	            xmlHttp.send(null); 
	        }catch(e){
	            //alert("Невозможно соединиться с сервером:\n" + e.toString());
	        }
	    }
		break;
	}
}
function respvisual(){
	if(xmlHttp.readyState == 4){
        if(xmlHttp.status==200){
            try{
				var result = xmlHttp.responseText;
				document.getElementById('banzone').innerHTML = result;
				set_ban_show();
			}catch(e){
                //alert("Ошибка чтения ответа: " + e.toString());
            }
		}
	}
}
function createXmlHttpRequestObject(){
    var xmlHttp;
    try{
        xmlHttp = new XMLHttpRequest();
    }catch(e){
        var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","Microsoft.XMLHTTP");
        for(var i=0;i < XmlHttpVersions.length && !xmlHttp;i++){
            try{
                xmlHttp=new ActiveXObject(XmlHttpVersions[i]);
            }catch(e){}
        }
    }
    if(!xmlHttp){
        //alert('Ошибка создания объекта XMLHttpRequest.');
    }else return xmlHttp;
}
