
/*---------------------------------------------------------------------------------------- writeMail */

defaultlogin = 'office';
defaultserver = 'yunakov.com';
defaultsubj = 'from site www.yunakov.com';
defaultbody = '';


function writeMail() {
	var login = arguments[0]||defaultlogin;
	var server = arguments[1]||defaultserver; 
		var addr = login+unescape('%40')+server;
	var subj = arguments[2]||defaultsubj;
	var bdy = arguments[3]||defaultbody||addr;
	var add = arguments[4]||'';

document.write ('<nobr><a href="mai'+'lto:'+addr+'?su'+'bject='+subj+'" '+add+'>'+bdy+'</a></nobr>');
}

/*---------------------------------------------------------------------------------------- page animation */

function animateThisPages(){
	//$('#debug').html(window.location.href+'<br>');
	//if(window.opera){return false;}
	var animatedPages =[
		/projects.htm/,
		/yunakov.htm/,
		/services.htm\?id=1/,
		/contacts.htm/
	];
	var animatedPagesLen = animatedPages.length;
	for(var i=0;i<animatedPagesLen;i++){
		if(animatedPages[i].test(window.location.href)){
			return true;
		}
	}
	return false;
}


function initAnimation(){
	if(window.opera){
		$('#container').css({display:'block'});
	}
	contsize = {'x':parseInt($('#container').css('width')),'y':parseInt($('#container').css('height'))};
	pos = {'x':(document.documentElement.offsetWidth-contsize['x'])/2,'y':(document.documentElement.offsetHeight-contsize['y'])/2};
	var ani = animateThisPages();
	if(ani){
		var inittop = document.documentElement.offsetHeight/2;
	
		
		$('#container').css({height:0, width:0, borderTop:'3px solid #534d4d', left:'-1000px', top:inittop});
		$('#menu1').css({position:'absolute',top:24,height:0});
		$('#copy').hide();$('#navi').hide();$('#isys').hide();
		$('#main_wrap').css({display:'none'});
		if($('#menu2').css('display')!='none'){$('#menu2').css({position:'absolute',left:-810}); var flag = 1;}
		else { var flag = 0;}
		$('#container').css({display:'block'});
		
		$('#container').animate({width:contsize['x'], height:1, left:pos['x']},1000,function(){$('#container').css({borderTop:'0 none'});});
		$('#container').animate({height:contsize['y'], top:pos['y']},1000,function(){
			$('#copy').show();$('#navi').show();$('#isys').show();
			$('#menu1').animate({top:0,height:24},500,function(){
				$('#menu1').css({position:'static'});
				if(flag){$('#menu2').animate({left:0},1000,function(){
						$('#menu2').css({position:'static'});
						$('#main_wrap').animate({height: 'show'},700,function(){onAnimationFinished();});});}
				else {$('#main_wrap').animate({height: 'show'},700,function(){onAnimationFinished();});}
			});
		});
		outClick();
	}
	else{
		//if(window.opera){pos = {'x':100,'y':100};}
		$('#container').css({left:pos['x'],top:pos['y']})
		//$('#container').css({display:'block'});
		$('#container').show(1,onAnimationFinished)
		//onAnimationFinished();
	}
	
}


function resizeAnimation(){
	pos = {'x':(document.documentElement.offsetWidth-contsize['x'])/2,'y':(document.documentElement.offsetHeight-contsize['y'])/2};
	//if(window.opera){pos = {'x':100,'y':100};}
	$('#container').css({left:pos['x'], top:pos['y']});
}

/*---------------------------------------------------------------------------------------- carousell */

var bigPic = '365/365';
var smallPic = '200/69';

function Carousel(){
	if(typeof($('#image_scroll').get(0))=='undefined'){return false;}
	else {var _scroll = $('#image_scroll');}
	var _ = this;
	//var _selector = $('#image_selector');
	var _contlen = parseInt($(_scroll).css('width'));//_scroll.offsetWidth;
	var _scrlis = $(_scroll).find("li");
	var _scrdiv = $(_scroll).find("div");
	var _limarg = parseInt($(_scrlis).css('marginRight'));
	var _lilen = 0;
	$(_scrlis).each(function(){
		_lilen += this.offsetWidth;
		_lilen += _limarg;
	})
	_lilen -= _limarg;
	var _maxShift = _contlen - _lilen;
	
	var _curr = $('#image_scroll li:first a');
	$(_curr).addClass('curr');
	
	if(typeof($(_curr).children("img").get(0))!='undefined'){
		$("#project_big_photo").attr("src", $(_curr).children("img").attr("src").replace(smallPic,bigPic));
	}
	$('#image_scroll a').bind('click',chImg);
	
	//console.log(_scroll, parseInt($(_scroll).css('width')), _scroll.offsetWidth, _scroll.clientWidth);
	
	
	if(_maxShift<0){initCarousel();}
	else {initNoCarousel();}


	function initCarousel(){
		$('#im_scroll_r').bind('mouseover',function(){
							if(typeof(lf)!='undefined'){clearInterval(lf)};
							ls = setInterval(scrollLeft,50);
						}).bind('mouseout',function(){
							clearInterval(ls); if(typeof(lf)!='undefined'){clearInterval(lf)};
						}).bind('click',function(){
							return false;
						});


		$('#im_scroll_l').bind('mouseover',function(){
							if(typeof(rf)!='undefined'){clearInterval(rf)};
							rs = setInterval(scrollRight,50);
						}).bind('mouseout',function(){
							clearInterval(rs); if(typeof(rf)!='undefined'){clearInterval(rf)};
						}).bind('click',function(){
							return false;
						});
	}
	
	
	function initNoCarousel(){
		$('#im_scroll_l').addClass('inact').bind('click',function(){return false;});
		$('#im_scroll_r').addClass('inact').bind('click',function(){return false;});
	}
	
	
	function chImg(){
		$(_curr).removeClass('curr');
		$("#project_big_photo").attr("src", $(this).children("img").attr("src").replace(smallPic,bigPic));
		_curr = this;
		$(_curr).addClass('curr');
		return false;
	}

	function scrollLeft(){
		var _currshift = parseInt($(_scrdiv).css('marginLeft'))
		if(_currshift>_maxShift){$(_scrdiv).css('marginLeft',_currshift-5)}
		else {$(_scrdiv).css('marginLeft',_maxShift)}
		return false;
	}
	function scrollRight(){
		var _currshift = parseInt($(_scrdiv).css('marginLeft'))
		if(_currshift<0){$(_scrdiv).css('marginLeft',_currshift+5)}
		else {$(_scrdiv).css('marginLeft',0)}
		return false;
	}
	
	
}






/*---------------------------------------------------------------------------------------- scroller */

function scrollIt(e){
	
	var offset = getOffset();
	var maxparams = getMaxParams();
	var maxScrollScroller = maxparams['scroller'];
	var maxScrollScrolled = maxparams['scrolled'];


	var currtop = e.pageY - offset;
	var increment = maxScrollScrolled / maxScrollScroller;
	if((currtop >= 0)&&(currtop < maxScrollScroller)){
		
		$(scroller).css({top:currtop})
		$(scrolled).css({top:-currtop*increment})
	}
	return false;
}



function wheel(e){
	var delta = 0;
	if (!e) {e = window.event;}
	
	if (e.wheelDelta) {delta = e.wheelDelta/120;}
	else if (e.detail) {delta = -e.detail/3;}
	
	if (delta){doScroll(delta*10)}
	
	if (e.preventDefault) e.preventDefault();
	e.returnValue = false;
	return false;
}


function doScroll(scroll_shift){
	var maxparams = getMaxParams();
	var maxScrollScroller = maxparams['scroller'];
	var maxScrollScrolled = maxparams['scrolled'];
	
	var increment = maxScrollScrolled / maxScrollScroller;

	var currtop_scrolled = parseInt($(scrolled).css('top'))+scroll_shift;
	var currtop_scroller = Math.floor(parseInt($(scroller).css('top'))-scroll_shift/increment+0.5);
	
	
	if((currtop_scroller >= 0)&&(currtop_scroller < maxScrollScroller)){
		$(scrolled).css('top',currtop_scrolled);
		$(scroller).css('top',currtop_scroller);
	}
	else if(currtop_scroller >= maxScrollScroller){
		currtop_scrolled = -maxScrollScrolled;
		currtop_scroller = maxScrollScroller;
		
		$(scrolled).css('top',-maxScrollScrolled);
		$(scroller).css('top',maxScrollScroller);
	}
	else if(currtop_scroller < 0){
		currtop_scrolled = 0;
		currtop_scroller = 0;
		
		$(scrolled).css('top',0);
		$(scroller).css('top',0);
	}
	
}


function magicGesture(e) {
	
	var offset = getOffset();
	
	var scrollLength = 5;
	if ($('#page_projects-item').length!=0) {
		scrollLength = 1;
	}
	
	if(e.pageY-offset<80){ topscroll=setInterval(function(){doScroll(scrollLength);},10)}
	else if(e.pageY-offset>$(scrollcont).get(0).offsetHeight-80){ topscroll=setInterval(function(){doScroll(-scrollLength);},10)}
	else {if(typeof(topscroll)!='undefined'){clearInterval(topscroll)};}
	return false;
}

function getOffset(){
	var offsetObj = $(scrollcont).get(0);
	var offset = offsetObj.offsetTop;
	while(offsetObj.offsetParent){offset += offsetObj.offsetParent.offsetTop; offsetObj = offsetObj.offsetParent;}
	return offset;
}

function getMaxParams(){
	var maxScrollScroller = $(scrollbar).get(0).offsetHeight - $(scroller).get(0).offsetHeight;
	var maxScrollScrolled = $(scrolled).get(0).offsetHeight - $(scrollcont).get(0).offsetHeight + $(scroller).get(0).offsetHeight;
	return {'scroller':maxScrollScroller, 'scrolled':maxScrollScrolled}	
}

function initScrollers(){
	$('.scrollcont').each(function(){
		$(this).children().addClass('scrolled');
		if($('.scrolled').get(0).scrollHeight >= parseInt($(this).css('height'))){
			$('.scrolled').before('<div class="scrollbar"><div><spacer></spacer></div></div>');
		
			scrollcont = this; scrollbar = $(this).children('.scrollbar'); scroller = $(scrollbar).children(); scrolled = $(this).children('.scrolled');

			if (window.addEventListener) this.addEventListener('DOMMouseScroll', wheel, false);
			this.onmousewheel = wheel;
			$(this).bind('mouseover', magicGesture).bind('mouseout', function(){if(typeof(topscroll)!='undefined'){clearInterval(topscroll)};});
		}
	});

	$('.scrollbar div').bind('mousedown',function(){
		scroller = this; scrollbar = $(scroller).parent(); scrolled = $(scrollbar).next(".scrolled"); scrollcont = $(scrollbar).parent();
		$(document).bind('mousemove',scrollIt);
		return false;
	})
	
	$('.scrollbar').bind('mousedown',function(e){
		 scrollbar = this; scroller = $(scrollbar).children(); scrolled = $(scrollbar).next(".scrolled"); scrollcont = $(scrollbar).parent();
		scrollIt(e);
		$(document).bind('mousemove',scrollIt);
		return false;
	})
	

	$().bind('mouseup',function(){
		$(document).unbind('mousemove',scrollIt)
	})	
	
}

/*---------------------------------------------------------------------------------------- outer link */

function outClick() {
if(!window.opera){
	$('a').not($("a[@href*=#]")).not($("a[@href*=mailto]")).not($("a[@target=_blank]")).bind("click", function() {
			//alert(location.href);alert(this.href);
			if (location.href!=this.href && this.href!="") {
				$('#container').css('height', 0);
				location.href=this.href;
				return true;
			} else {
				return false;
			}
		});
}
}


/*---------------------------------------------------------------------------------------- ajax */

function initLinks(){
	$('#menu3 li a').bind('click',function(){
		$('#menu3 li a').each(function(){
			$(this).removeClass('menu3_curr');
		});
		var temp = this.href.replace('projects-item.htm','projects-item-content.htm');
		loadAjaxContent(temp);
		$(this).addClass('menu3_curr');
		$('h2').html($(this).html());
		return false;
	})	
}


function loadAjaxContent(qu) {
	
if ((typeof(qu)=='function')||(typeof(qu)=='undefined')) {
qu = document.location.href.replace('projects-item.htm','projects-item-content.htm');
}

$('#project-right').html('loading...').load(qu, {}, function() {
	new Carousel();
});
return false;
}

$(document).ready(function(){
	if(typeof($('#project-right').get(0))!='undefined'){
		//initLinks();
		loadAjaxContent();

	}						   
});

/*
function loadAjaxContent(id) {
	
if ((typeof(id)=='function')||(typeof(id)=='undefined')) {
id = defaultId;
}
$('#menu3 li a').each(function(){
	$(this).removeClass('menu3_curr');
});

$('#project-right').html('loading...').load('projects-item-content.htm?id='+id, {}, function() {
new Carousel();

});
return false;
}

$(document).ready(function(){
	if(typeof($('#project-right').get(0))!='undefined'){
		loadAjaxContent();
	}						   
});
*/





/*---------------------------------------------------------------------------------------- initSnd */

function initSnd() {
	if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
		document.write('<script language=\"VBScript\"\>\n');
		document.write('On Error Resume Next\n');
		document.write('Sub sound_FSCommand(ByVal command, ByVal args)\n');
		document.write('	Call sound_DoFSCommand(command, args)\n');
		document.write('End Sub\n');
		document.write('</script\>\n');
	}
	
	
	
if ( Get_Cookie( 'sound' ) ) {
 var cookieval = Get_Cookie( 'sound' );
 if(cookieval == 'soundOn'){ var flashtoload = "/flash/soundOn.swf";}
 else {var flashtoload = "/flash/soundOff.swf"; }
}
else {var flashtoload = "/flash/soundOn.swf";}

var so = new SWFObject(flashtoload, "sound", "18", "18", "8", "#8b8d8f");
so.useExpressInstall('/flash/expressinstall.swf');
so.write("snd_ctrl");
	
	
}	

function sound_DoFSCommand(command, args) {
	Set_Cookie( 'sound', command, 365, '/', '', '' );
}

	
function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}


function Get_Cookie( name ) {
	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
/*---------------------------------------------------------------------------------------- page events */


$(document).ready(function(){
	//$('body').append('<div id="debug" style="position:absolute; top:0; right:0; width:400px; padding:10px; border:3px solid #933;"></div>');
	//initSnd();	
	initAnimation();
});

window.onresize = function(){
	resizeAnimation();
}

function onAnimationFinished(){
	initScrollers();
	//checkCarouselle();
}

