/* проверка формы */
function checkContact(obj){
                var return_value = true;
                
                // регулярное вырожение, для проверки почтового ящика           
                var reg_mail = /^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/;
                
                // регулярное вырожение, для проверки отправителя
                var reg_sender_name  = /[a-z]+/i;
                var reg_sender_sname = /[a-z]+/i; 
                var reg_tel = /^\d+$/;
                var reg_fax = /^\d+$/; 
                
                // заносим значение поля почтовый ящик в переменную mail
                var mymail = obj.mail.value;
                
                // заносим значение поля отправитель в переменную sender
                var sender      = obj.name.value;
                var sender_last = obj.snam.value;
                var comp = obj.comp.value;
                var tel = obj.fone.value;
                var fax  = obj.faks.value;
                var msg  = obj.text.value;
                
                // объявляем переменную куда будет заносится текст сообщения
                var error_msg = "Fields are not correctly filled: \n";
               
                //проверка поля NAME
                if(sender == "First name"){
                    obj.name.style.borderColor = 'red';
                    error_msg += "- First Name\n";
                    return_value = false;
                } else {
                    obj.name.style.borderColor = '#d8d5ce';
                }
               
                //проверка поля SNAME
                if(sender_last == "Last name"){
                    obj.snam.style.borderColor = 'red';
                    error_msg += "- Surename\n";
                    return_value = false;
                } else {
                    obj.snam.style.borderColor = '#d8d5ce';
                }
                
                
                //проверка поля ADRESS
                if(comp == " "){
                    obj.comp.style.borderColor = 'red';
                    error_msg += "- Address\n";
                    return_value = false;
                } else {
                    obj.comp.style.borderColor = '#d8d5ce';
                }
                
                
                //проверка поля TELEFON
                if(!reg_tel.test(tel)){
                    obj.fone.style.borderColor = 'red';
                    error_msg += "- Phone\n";
                    return_value = false;
                } else {
                    obj.fone.style.borderColor = '#d8d5ce';
                }
        
                //проверка поля почтовый ящик
                if(!reg_mail.test(mymail)){
                    obj.mail.style.borderColor = 'red';
                    error_msg += "- E-mail\n";
                    return_value = false;
                } else {
                    obj.mail.style.borderColor = '#d8d5ce';
                }
                
                
                //проверка поля TEXT
                if(msg == "Your message"){
                    obj.text.style.borderColor = 'red';
                    error_msg += "- Message\n";
                    return_value = false;
                } else {
                    obj.text.style.borderColor = '#d8d5ce';
                }
                
                
                //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
                if(!return_value)
                    alert(error_msg);
                   
                return return_value; 
}


function get( name ) { return document.getElementById(name); }

function loadframe( name ) { return get(name).contentWindow.document.body.innerHTML; }

function dom( item ){
	var html = "<table border=1><tr><th>свойства</th><th>значения</th></tr>";
	for(var data in item) html += "<tr><td>"+data+"</td><td>"+item[data]+"</td></tr>";
	html += "</table>";
	document.body.innerHTML = html;
}

function request( page, send, item ) {
	var req = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	req.onreadystatechange = function() {
		if( req.readyState==4 ) {
			if( item && item.value ) item.value=req.responseText;
			else if( item && item.innerHTML ) item.innerHTML=req.responseText;
			else alert(req.responseText);
		}
	}
	req.open( "GET", "/"+page+".php?"+send, true );
	req.send( null );
}

function loadflash( save, link, id, w, h ) {
	get(save).innerHTML = '<iframe src="/root/flash.html" id="frame_'+id+'" style="display:none" '+
		'onload=\'loadflash_frame("frame_'+id+'","'+save+'","'+link+'","'+id+'","'+w+'","'+h+'")\'></iframe>';
}

function loadflash_frame( frame, flash, data, id, w, h ) {
	var frame	= get( frame );
	var flash	= get( flash );
	var html	= frame.contentWindow.document.body.innerHTML;
	pos1 = html.indexOf( "/*" );
	pos2 = html.indexOf( "*/" );
	html = html.substr( pos1+2, pos2-pos1-2 );
	html = html.replace( /\{\#l1\}/, data );
	html = html.replace( /\{\#l2\}/, data );
	html = html.replace( /\{\#w1\}/, w );
	html = html.replace( /\{\#w2\}/, w );
	html = html.replace( /\{\#h1\}/, h );
	html = html.replace( /\{\#h2\}/, h );
	html = html.replace( /\{\#n1\}/, id );
	html = html.replace( /\{\#n2\}/, id );
	flash.innerHTML = html;
}

function content(item,mode) {
	if( item.value!="" && item.title=="" ) item.title=item.value;
	if( item.value=="" && !mode ) {
		item.value = item.title;
	} else if( item.value==item.title && mode ) {
		item.value = "";
	}
}

function checkbox(item,mode) {
	for( var x=0; x<item.childNodes.length; x++ ) {
		var temp = item.childNodes[x];
		if( temp && temp.tagName=="INPUT" ) temp.checked=mode;
		else if( temp.childNodes.length ) checkbox(temp,mode);
	}
}

function getsize() {
	var x, y;
	if( self.innerHeight ) {
		x = self.innerWidth;
		y = self.innerHeight;
	} else if( document.documentElement && document.documentElement.clientHeight ) {
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	} else if( document.body ) {
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	} return { "width":x, "height":y };
}

function getscroll() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset )=="number" ) {
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	} return { "top":scrOfY, "left":scrOfX };
}

function getAbsolutePos( item ) {
	var data = { "x":item.offsetLeft, "y":item.offsetTop };
	if( item.offsetParent ) {
		var temp = getAbsolutePos( item.offsetParent );
		data.x += temp.x; data.y += temp.y;
	}
	return data;
}

function resize( name, w, h, t, l, step ) {
	var obj=document.getElementById( name );
	var obj_w=obj.offsetWidth, obj_h=obj.offsetHeight;
	var obj_l=obj.offsetLeft, obj_t=obj.offsetTop;
	obj.style.width = (w-obj_w) / step + obj_w + "px";
	obj.style.height = (h-obj_h) / step + obj_h + "px";
	if( t>0 && l>0 ) {
		obj.style.top = (t-obj_t) / step + obj_t + "px";
		obj.style.left = (l-obj_l) / step + obj_l + "px";
	} if( step>1 ) setTimeout( "resize('" +name+ "'," +w+ "," +h+ "," +t+ "," +l+ "," +(step-1)+ ");", 30 );
}

function alpha( name, mode, step, full ) {
	var item = get(name);
	item.style.filter="alpha(opacity="+((mode?100:0)-step/(full/100))+");";
	item.style.opacity=(mode?1:0)-step/(full/1);
	if(step>0) setTimeout( "alpha('"+name+"',"+mode+","+(step-1)+","+full+")", 30 );
}

function win_full( path ) {
	return window.open(path);
}

function win_mini( path, name, data ) {
	if( name==undefined ) name='newwin';
	win = window.open(path,name,'top=0, left=0, menubar=0, toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=0, width=480, height=360');
	if( data!=undefined ) win.document.write(data);
	return win;
}

function win_open( item, html, w, h ) {
	ie6_select(document,false);
	var root=get("root"), bak=get("win_back"), obj=get("win_data"), but=get("win_butt");
	var s=getsize(), c=getscroll();
	var t=c.top+(s.height-h)/2, l=c.left+(s.width-w)/2;
	var i=getAbsolutePos(item);
	bak.style.display = obj.style.display = "";
	obj.style.width = item.offsetWidth+"px";
	obj.style.height = item.offsetHeight+"px";
	obj.style.top = i.y +"px";
	obj.style.left = i.x +"px";
	but.style.top = (t+h+26) +"px";
	but.style.left = (l+w+26-120) +"px";
	bak.style.width = root.offsetWidth+"px";
	bak.style.height = root.offsetHeight+"px";
	obj.innerHTML = html;
	resize( "win_data", w, h, t>1?t:1, l>1?l:1, 20 );
	setTimeout("get('win_butt').style.display='';alpha('win_butt',1,6,6);",30*30+100);
}


function win_drop() {
	ie6_select(document,true);
	get( "win_back" ).style.display = "none";
	get( "win_data" ).style.display = "none";
	get( "win_butt" ).style.display = "none";
	get( "win_data" ).innerHTML = "";
}

function win_image( item, src, w, h ) {
	var html = '<div id="image_temp"></div>';
	var temp = '<div style="cursor:hand;background:url(/'+src+') no-repeat center;" onclick="win_drop()" title="close window"><div class="ic_drop" style="width:'+w+'px;height:'+h+'px;"></div></div>';
	win_open( item.parentNode, html, w, h );
	setTimeout("alpha('image_temp',1,10,10);get('image_temp').innerHTML='"+temp+"'",20*30+100);
}

function win_content( item, data, w, h, s ) {
	if( s==undefined ) s=false;
	var html = '<div id="content_temp" '+(s?'style="overflow:scroll;width:480px;height:360px;"':'')+'></div>';
	win_open( item.parentNode, html, w, h );
	setTimeout("alpha('content_temp',1,10,10);get('content_temp').innerHTML='"+data+"'",20*30+100);
}

function win_video( item, data, w, h ) {
	var html = '<div id="video_temp"></div>';
	win_open( item.parentNode, html, w, h );
	setTimeout("alpha('video_temp',1,10,10);loadflash('video_temp','/root/video.swf?path=/"+data+"','video',480,360);",20*30+100);
}

function ie6_select(root,mode) {
	for( var x=0; x<root.childNodes.length; x++ ) {
		var temp = root.childNodes[x];
		if( temp && temp.tagName=="SELECT" ) temp.style.display=mode?"":"none";
		else if( temp.childNodes.length ) ie6_select(temp,mode);
	}
}

function bookmark( link, name ) {
	if( name==undefined ) name = document.title;
	if( link==undefined ) link = top.location.href;
	if( window.sidebar ) window.sidebar.addPanel(name,link,'');
	else if( window.opera && window.print ) window.external.AddBookmark(link,name);
	else if( window.external ) window.external.AddFavorite(link,name);
}

function homepage( link ) {
	if( link==undefined ) link = top.location.href;
	if( navigator.appName.indexOf('Microsoft')!=-1 ) {
		document.body.style.behavior = 'url(#default#homepage)';
		document.body.setHomePage(link);
	}
}

function startdrag( obj, e ) {
	if( e==undefined ) e=event;
	var l = obj.offsetLeft-(e.x?e.x:e.pageX), t = obj.offsetTop-(e.y?e.y:e.pageY);
	var t_mousemove		= document.onmousemove;
	var t_selectstart	= document.onselectstart;
	var t_mouseup		= document.onmouseup;
	document.onmousemove = function(event) {
		e = event==undefined ? window.event : event;
		obj.style.left	= (e.x?e.x:e.pageX) + l + "px";
		obj.style.top	= (e.y?e.y:e.pageY) + t + "px";
	}
	document.onmouseup = function() {
		document.onmousemove	= t_mousemove;
		document.onselectstart	= t_selectstart;
		document.onmouseup		= t_mouseup;
	}
}

function download(file){
	window.location = "/" + file;
}

function openlink( type, targ, data, post ) {
	switch( type ) {
		case "1": {
			if( targ==1 ) win_full( data );
			else if(targ==2 ) document.location = data;
            else if(targ == 3) win_content( get("root_size"), '<iframe onload=get("frm").innerHTML=this.contentWindow.document.body.innerHTML style="background: url(/root/pics/bglight.jpg); overflow:hidden; display: none" src="'+data+'" width="300px" height="300px"></iframe><div style="background-color: #000000; background: url(/root/pics/bglight.jpg); width: 300px; height: 300px;" id="frm" name="frm"></div>', 300, 300 );
			else win_content( get("root_size"), '<iframe src="'+data+'" width="1000px" height="600px"></iframe>', 1000, 600 );
		break;}
		case "2": {
			if( post==undefined || post.w==undefined || post.h==undefined ) post={'w':10,'h':10};
			if( targ==1 ) win_mini('','','<img src="/'+data+'" />');
			else if( targ==2 ) document.location = "/"+data;
			else win_image( get("root_size"), data, post.w, post.h );
		break;}
		case "3": {
			win_video( get("root_size"), data, 480, 360 );
		break;}
		case "4": {
			if( targ==1 ) win_mini('','',data);
			else if( targ==2 ) document.write( data );
			else win_content( get("root_size"), data, 480, 360, 1 );
		break;}
		case "5": {
			download(data);
		}
	}
}

function getDocumentHeight(){
	return Math.max(document.body.scrollHeight || 0, document.documentElement.scrollHeight || 0)
}

window.onload = function(){
	var height = getDocumentHeight() - 1400;
	var obj = document.getElementById('bgTop');
	if(!obj) return;
	if(height >= 0)
	{
		document.getElementById('bgTop').style.backgroundPosition = 'center top';
	}
	else
	{
		document.getElementById('bgTop').style.backgroundPosition = 'center ' + height + 'px';
	}
}
