// JavaScript Document
// mikro data
// code by Azer Manafov (azerman[at]hotmail[dot]com)
// .js encoding - "utf-16"

// main menu definition
var APHISHA_OPACITY = 5;
if ( typeof MAINDIV_PREFIX == 'undefined')
     var MAINDIV_PREFIX =  'message_';
if ( typeof MENU_DIV_ID == 'undefined')
     var MENU_DIV_ID =  'menudiv';
if ( typeof MENU_LEFT_ID  == 'undefined')
     var MENU_LEFT_ID = "lefsubtmenu";
if ( typeof MENU_AD_VERT == 'undefined')
     var MENU_AD_VERT = "springnavigate";
	 
	 
var AUDIO_HOLDER      = 'audioplaceholder1';     
var CONTENT_DIV_ID    = 'centralCell';     
var   DBGMODE         = false;     
var CALC_TEXT_DIV    = 'calcPixelWidthDiv';

	var urlbase = visi.getbaseurl("mikro");
    var mnu     = new clsLineMenu( MENU_DIV_ID, visi );


//-------------- globals ------------------------------------------------ * 
var globals = 
{   ajxform     : new clsAjxHelper( ),
	currpagename: function( )
	{   var url  = self.location.href;
		var p1   = url.lastIndexOf('/')+1;
		var page = url.substring( p1,url.indexOf('.',p1));
		return page;
	},
    urlbase     : function( ) { return visi.getbaseurl("mikro"); }
};
globals.ajxform.method("POST");
//globals.ajxform.setProperties( {parse_ext : parseRetXml1 });


// left navigation vertical bar

var lmenu = new clsLeftNavigation( MENU_LEFT_ID, visi, null );//, 'leftmenu');
lmenu.setProperties( { imgactive:'images/i_mnu_act_01p2.gif',imgnormal:'images/i_mnu_pas_01p2.gif',imgover  :'images/i_mnu_ovr_01p2.gif'});
lmenu.setProperties( { bkgimage :'images/btn_mnu_02.gif',    bkgimgout:'images/btn_mnu_01.gif',    bkgimgovr:'images/btn_mnu_01_off.gif'});
lmenu.setProperties( { textcolorovr:'#ffdbad' });

// slide navigation
var nav = new clsFloatNavigation( MENU_AD_VERT, visi );
nav.setProperties( {cellwidth:32,rowheight:32,imgnormal:'images/i_nav_01_off.gif', imgcurrent:'images/i_nav_01_on.gif',imgactive:'images/i_nav_01_act.gif'});
nav.allowdblitm  ( true );

layout.addCallback( correctAbsPosDivs,false);

function getbasefile      ( )
{
    var url = self.location.href;
    url = url.toLowerCase();
    url = visi.trim(url);
    url = visi.rtrim(url,"#");
    var u1  = url.lastIndexOf( urlbase )+urlbase.length;
    var u2  = 0;
    u2 = url.indexOf(".",u1);
    if ( u2 < 0 ) return "";
    var u3 = url.indexOf("?",u2);
    if ( u3 < 0 ) u3 = url.indexOf("&",u2);
    u3 = ( u3 < 0 )?url.length:u3;
    return url.substring( u1,u3);
}
function url_change_lang( lng )
{   var basefile = urlbase+getbasefile( );
    
    var urloriginal = self.location.href;
    urloriginal = visi.trim(urloriginal);
    urloriginal = visi.rtrim(urloriginal,"#");
    
    var url = urloriginal.toLowerCase();
    url = urloriginal.substring(url.lastIndexOf( basefile )+basefile.length);

    var u1 = url.indexOf("lang=");
    if ( u1 >= 0 )
    {   url = url.substring( 0, u1) + "lang=" + lng + url.substring( u1+7 );
    }
    else
    {   if ( url.charAt(0) == '?' )
             url += "&"+ "lang=" + lng;
        else url += "?"+ "lang=" + lng;     
    }
    url = getbasefile( ) + url;
    return url;
}
function bodyResize       ( )
{
//	correctAbsPosDivs( );
}
function correctAudio     ( )
{
    var au = visi.getElement(AUDIO_HOLDER);
    var sc = null;
    if ( au )
    {   // do not hide an active audio
        while( (sc = au.parentNode) != null )
        {   var u1 = ( sc.id )?sc.id.indexOf(MAINDIV_PREFIX):-1;
            if ( u1 >= 0 )
            {   if ( nav.getactiveid() == parseInt( sc.id.substr( u1+MAINDIV_PREFIX.length, 2),10))
                      return;
                break;
            }
            au = sc;
        }
    }
    // hide inactive audio
    if ( visi.getElement(AUDIO_HOLDER))
         nav.showlayer( AUDIO_HOLDER,false);
}
function correctAlbum     ( )
{   var ms  = $(MAINDIV_PREFIX+'1');
    var rc  = visi.getObjectRect( ms );

	var obj = visi.getElement   ( 'albumDiv' );
	if ( !obj ) return;
	var x = rc.left;
	var y = rc.top;
	obj.style.left    = x +'px';
	obj.style.top     = y +'px';
	obj.style.width   = (rc.width -3) +'px';
	obj.style.height  = (rc.height-3) +'px';
}

function compactMessageMenu( )
{
	if ( !nav.is_compact( )) return;
	
	if ( nav.divid( ))
	{   var mso = visi.getElement   ( MAINDIV_PREFIX+'1');
	    if ( !mso ) return;
		var rmn = visi.getObjectRect( MENU_DIV_ID );

		mso.style.width = (rmn.width - 30) + 'px';

        var obj = visi.getElement   (  nav.divid( ));
		if ( obj )
		{   obj.style.border = "0px";
		    obj.style.width  = '0px';
		}
	}
	
}
function correctMessagePos( )
{   var rc  = visi.getObjectRect( MAINDIV_PREFIX+'1');
	var obj = visi.getElement   ( MAINDIV_PREFIX+'2');
	
	var i   = 2;
	while( obj )
	{   visi.setStyles( obj, {'left':rc.left,'top':rc.top });
		obj = visi.getElement(MAINDIV_PREFIX+(++i));
	}
	compactMessageMenu( );
	
	visi.setOpacity( 'aphisha', APHISHA_OPACITY);
}
var tm_afisha = new timerAction( null, hideAfishaThumb, null );

function correctAbsPosDivs( )
{   

    correctMessagePos( );

    var rc = visi.getObjectRect( "Table_01");

    var o = $( "aphisha");
    if ( o )
	{   var ra = visi.getObjectRect( o );
	    o.style.left = (rc.left + APHISHA_LEFT-15) + 'px';
	    o.style.top  = (rc.top  + APHISHA_TOP -15 ) + 'px';
		visi.setVisible( o,true );
	}
	
	o = $( "movieLogos");
	if ( o )
	{   ra = visi.getObjectRect( o );
	    o.style.left = (rc.left + LOGO_LEFT-15) + 'px';
	    o.style.top  = (rc.top  + LOGO_TOP -15 ) + 'px';
		visi.setVisible( o,true );
	}
    correctPremiera  ( );
    correctAlbum     ( );
    correctAudio     ( );

    if ( visi.getElement( 'aphisha' ))
	{   tm_afisha.killtm ( );
	    tm_afisha.starttm( );		
	}
	
	
}

function correctPremiera  ( )
{   var ms  = $( MAINDIV_PREFIX+'1' );
    if ( !ms ) return;
    var rc  = visi.getObjectRect( ms );
	var obj = visi.getElement   ( 'premiera' );
	if ( obj )
	{   var rp  = visi.getObjectRect( obj );
	    var x = (rc.left+rc.width-rp.width);
	    var y = (rc.top+rc.height+8);
        if ( ms.scrollWidth != rc.width ) y+=20;

	    obj.style.left = x+'px';
	    obj.style.top  = y+'px';
	}
}

function hideAfishaThumb( timerState, param )
{   
	switch( timerState )
	{	case TM_STATE_START:  break;
		case TM_STATE_RUN:
        var objAphisha = visi.getElement( 'aphisha' );
		var rc = visi.getObjectRect( nav.getTblId() )
	    if ( visi.pointInObject( nav.getTblId(),rc.width,rc.height ) )
		{
		     visi.setVisible( objAphisha, false );
		}
        else
		{
			visi.setVisible( objAphisha, true );
		}
		break;
		case TM_STATE_STOP:	break;
	}
}
function writeDbgMessage    ( message )
{   var pre = visi.getElement('idPre');
    if ( !pre )
    {   pre  = document.createElement("pre");
        pre.setAttribute( "id",   "idPre" );
        var bod  = document.getElementsByTagName("body")[0];
        bod.appendChild( pre );
    }

    if ( DBGMODE )
    {
        if ( pre )
             pre.innerHTML = message;
    }

    var p1 = message.indexOf( 'err:');
    if ( p1 != -1 )
         utilErrorMessage( message.substr( p1+4));
}
function goLocaleUrl( lng )
{    var lanstr = "lang=";
     var url    = self.location.href;
     var p1     = url.indexOf("#");
     if ( p1 >= 0 )
          url = url.substr(0,p1);
     var u1  = url.indexOf( lanstr );
     var s3  = '';
     lanstr += lng;
     if ( u1 >= 0 )
     {   s3 = url.substring( 0, u1 ) + lanstr + url.substring( u1 + lanstr.length );
     }
     else
     {   if ( url.indexOf("?") > 0 ) 
              s3 = url + "&" + lanstr;
         else s3 = url + "?" + lanstr;
     }
     window.location.target = '_self';
     window.location = s3;
     return false;
}
// ----------------- mail send functions ---------------------------------- *
function mikroSubscribe( event )
{
    var crq = globals.ajxform.getRequestObject('subscribe' );
    var err = syntaxCheck( $('email').value,CHK_EMAIL);
    if ( err )
    {   utilErrorMessage( "E-mail: " + err);
        return;
    }
    crq.appctrl( 'subscript','subscript');
    crq.appctrl( 'email','email' );
    var elm = $('selection');
    var ind = elm.selectedIndex;
    crq.append( 'yesno',elm.options[ind].text);
    crq.append( 'lang', Language);
    globals.ajxform.setProperties( { chalenge_ext: subscribeComplete});
    globals.ajxform.request( );
    return false;
}
function mikroMessage( event )
{
    var crq = globals.ajxform.getRequestObject('message' );
    var err = '';
    var fields = new Array 
    (
        new Array( "autor",     "autor" ),
        new Array( "email2",    "email2"),
        new Array( "title",     "title" ),
        new Array( "message",   "message"),
        new Array( "captcha",   "strCAPTCHA") 
    );
    var i = 0;
    for ( i = 0; i < fields.length; i++) 
    {   err = syntaxCheck( $(fields[i][1]).value, CHK_NOEMPTY);
        if ( err )
        {   utilErrorMessage( fields[i][1] + ": " + err);
            return;
        }
    }
    err = syntaxCheck( $('email2').value,CHK_EMAIL);
    if ( err )
    {   utilErrorMessage( "E-mail: " + err);
        return;
    }
    crq.appctrl( "autor",     "autor" );
    crq.appctrl( "email2",    "email2");
    crq.appctrl( "title",     "title" );
    crq.appctrl( "message",   "message");
    crq.appctrl( "captcha",   "strCAPTCHA"); 
    crq.append ( 'lang', Language);
    
    //CHK_NOEMPTY
    globals.ajxform.setProperties( { chalenge_ext: messageComplete});
    globals.ajxform.request( );
    return false;
}
function messageComplete  ( prop )
{   if ( prop.err.length )
    {   utilErrorMessage( "Subscribing failed: " + prop.err);
    }

    if ( prop.pic.length )
        $('captchaImg').src = prop.pic;
    if ( prop.chl.length )
        $('chalenge').value = prop.chl;
}
function subscribeComplete( prop )
{   if ( prop.err.length )
    {   utilErrorMessage( "Subscribing failed: " + prop.err);
    }
    if ( prop.pic.length )
        $('captchaImg').src = prop.pic;
    if ( prop.chl.length )
        $('chalenge').value = prop.chl;
    
}
// ----------------- end mail send functions ------------------------------ *
// this class statics shoulds set before instance creations
clsTtipData.  IMGS_PATH   = "../../images";// static of clsTtipData (ttipdata.js)
clsTtipData.  VIEW_BOTTOM = 800;
clsTtipData.  VIEW_RIGHT  = 800;
clsViewHelper.TTIP_DIV_ID = "tipView";// DIV object for tooltip
clsTtipData.  HELPER      = visi;
//end def

// end script
