// Ширина среднего блока в пикселях
var mainBlockSize       =   970;

// Сколько процентов должен быть видимый боковой блок чтобы показывать звёзды
var minNeededSideSpace  =   1;

// Ширина звезды
var starWidth       =   38;

// Высота звезды
var starHeight      =   39;

// Сколько звёзд должно быть на странице
var starsOnPage     =   10;

// Погрешность - сколько "откусывать" от границ где мы будем располагать звёзды \
// - чтобы они не перекрывали ничего, оказавшись "на грани"
var infelicity      =   10;

// Заполняется автоматически - ширина вьюпорта
var viewportwidth   =   0;

// Заполняется автоматически - высота вьюпорта. Если надо, чтобы звёзды были так же и ЗА вьюпортом \
// - просто надо докинуть после определения размеров туда тыщу пикселей

var viewportheight  =   0;

// 
var existingStarsOnPage =   0;

var starsAtLeftSide     =   0;

getSizes();

var leftSpace       =   Math.floor((viewportwidth-mainBlockSize)/2/(viewportwidth/100));

// В процентах - сколько процентов слева покрываются звёздами
var leftSide        =   leftSpace

// В процентах - сколько процентов справа покрываются звёздами
var rightSide       =   leftSpace;


var maxLeftPixels   =   new Array(
                            // С какой стороны нам начинать ставить звезду в левом блоке 
                            0,  

                            // Где максимально можно поставить звезду слева
                            Math.floor((viewportwidth/100)*leftSide)-starWidth-infelicity
                        );
var maxRightPixels  =   new Array(
                            // С какой стороны нам начинать ставить звезду в правом блоке 
                            viewportwidth-(Math.floor((viewportwidth/100)*leftSide)),

                            // Где максимально можно поставить звезду справа
                            viewportwidth-starWidth-infelicity
                        );


function getFlashStarFileName(){
    // Здесь надо рандомно выдавать файл со звездой без swf но с папкой. 
    // То есть - /images/star. Я бы рекомендовал папку задать отдельной варой.
	var rnd = Math.floor( Math.random( ) * (2 - 1 + 1) ) + 1;

    return '/stars/star'+rnd.toString();
}


function getSizes(){
    if (typeof window.innerWidth != 'undefined') {
        viewportwidth   =   window.innerWidth;
        viewportheight  =   window.innerHeight;
    }
    else if (
        typeof document.documentElement != 'undefined' 
        && typeof document.documentElement.clientWidth != 'undefined' 
        && document.documentElement.clientWidth != 0
    ) {
        viewportwidth   =   document.documentElement.clientWidth;
        viewportheight  =   document.documentElement.clientHeight;
    }
    else {
        viewportwidth   =   document.getElementsByTagName('body')[0].clientWidth;
        viewportheight  =   document.getElementsByTagName('body')[0].clientHeight;
    }
}
function getFlashStar(){
    var file    =   getFlashStarFileName();
    var html    =   '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="'+starWidth+'" height="'+starHeight+'" id="fStar'+existingStarsOnPage+'" align="middle" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0">';
    html        +=  '<param name="movie" value="'+file+'.swf" />';
    html        +=  '<param name="quality" value="high" />';
    html        +=  '<param name="bgcolor" value="#00ff00" />';
    html        +=  '<param name="play" value="true" />';
    html        +=  '<param name="loop" value="true" />';
    html        +=  '<param name="wmode" value="transparent" />';
    html        +=  '<param name="scale" value="showall" />';
    html        +=  '<param name="menu" value="true" />';
    html        +=  '<param name="devicefont" value="false" />';
    html        +=  '<param name="salign" value="" />';
    html        +=  '<param name="allowScriptAccess" value="sameDomain" />';
    html        +=  '<embed src="'+file+'.swf" quality="high" bgcolor="#ffffff"';
    html        +=  'width="'+starWidth+'" height="'+starHeight+'"';
    html        +=  'name="starka" wmode=transparent align="" type="application/x-shockwave-flash"';
    html        +=  'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
    html        +=  '</object>';
	//console.log(html);
    return html;
}

var starSide = 0;
function burnStar(){
    // 1. Определяем сторону где будет зажигаться звезда.
    var sideConfiguration
    
    //if(Math.floor(Math.random()*101)%2){
    if(starSide == 0){
	    sideConfiguration   =   maxLeftPixels;
        starSide = 1;
    }
    else{
        sideConfiguration   =   maxRightPixels;
		starSide = 0;
    }
    // Определяем координату X для размещения звезды.
    var starXLeftPosition   =   Math.floor(Math.random()*maxLeftPixels[1])+sideConfiguration[0];
    var  starYTopPosition   =   Math.floor(Math.random()*viewportheight)+infelicity;
    starYTopPosition        =   (starYTopPosition>=viewportheight) ? starYTopPosition-(infelicity+starHeight) : starYTopPosition;

    var html    =   '<div class="star" ';
    html        +=  'style="margin-top:'+starYTopPosition;
    html        +=  ';margin-left:'+starXLeftPosition+';"';
    html        +=  ' id="star'+existingStarsOnPage+'">';
    html        +=  getFlashStar();
    html        +=  '</div>';
    //alert(html);
	$('#starBox').html($('#starBox').html()+html);
	$('#star'+existingStarsOnPage).css('left',starXLeftPosition);
	$('#star'+existingStarsOnPage).css('top',starYTopPosition);
//	document.getElementById('starBox').innerHTML += html; 
 // console.log(html);
	//alert(document.getElementById('starBox').innerHTML);
    existingStarsOnPage++;
    
    if(existingStarsOnPage < starsOnPage){
        setTimeout(burnStar, 1000+Math.floor(Math.random()*101));
    }
    
    return false;
}

function initStars(){
    if(leftSpace < minNeededSideSpace){
        return false;
    }
    setTimeout(burnStar, 1000);
}


