// JavaScript Document
// class TtipData
// code by Azer Manafov (azerman[at]hotmail[dot]com)

var ALBUM_LOCAL       = 'albumLocal';
var FLASH_PREFIX      = "magic";
var FLASH_DOCMENU     = "dockmenu";
var FLASH_VIDEO       = 'video';
var LINKED_IMAGES     = "booklist";
var MSGBOX_PREFIX     = "txtblk";
var YOUTUBE_PREFIX    = 'youtube';
var SCROLLBOX_PREFIX  = 'scrollbox';
var SLIDENAV_PREFIX   = 'slideholder';
var SHARED_SECTION    = 'shared';
var TITLESLIST_PREFIX = "titlesList";

function scrollBox( id )
{
    var m_speed   = 1;
    var m_bStop   = false;  
    var m_timeout = '';
	var m_id      = id;
	var m_height  = 150;
	
	this.init     = init;
	this.stop     = stop;
	this.startit  = startit;

    function init()
    {  
        var el = $( m_id );
		el.onmouseout     = this.startit;
		el.onmouseover    = this.stop;
        el.style.overflow = 'hidden';  
		
		var rc = visi.getObjectRect( el );
		m_height = rc.height;
        scrollFromBottom();  
    }  

    function scrollFromBottom( )
	{
        clearTimeout(m_timeout);  
        var el =  $( m_id );
        if ( el.scrollTop >= el.scrollHeight-m_height)
		{  
            el.scrollTop = 0;  
        }  
        el.scrollTop = el.scrollTop + m_speed;  
        if ( m_bStop == false )
		{  
            m_timeout = setTimeout(scrollFromBottom,50);  
        }  
    }  
    function stop()
	{  
        m_bStop = true;  
    }  
    function startit( )
	{  
        m_bStop = false;  
        scrollFromBottom();  
    }  
};
var snav = null;
function cnvDiv2SlideNav  ( callback, iconwidth, prefix )
{
	if ( prefix    == undefined ) prefix    = SLIDENAV_PREFIX;
	if ( iconwidth == undefined ) iconwidth = 100;
	var dvs = document.getElementsByTagName( '*');
	var o   = null;
	for ( var i = 0; i < dvs.length; i++ )
	{   if ( dvs[i].id == undefined ) continue;
		if ( dvs[i].id.indexOf( prefix ) !=0 ) continue;
		o = dvs[i];
		break;
	}
    if ( o == null ) return;
	
	var a = o.getElementsByTagName("a");
	for ( var i = 0; i < a.length; i++ )
	{   var im   = a[i].getElementsByTagName("img")[0];
	    var name = a[i].title;
		var csrc = a[i].href;
		var src  = im.src;
		var p = csrc.indexOf('#');
		var index = slidesArray.length;
		var link = '';
		if ( p > 0 )
		{   var ret = csrc.substring(p+1);
		    var chr = ret.charAt(0);
		    if ( chr >= "0" && chr <= "9")
		         index = parseInt(ret)-1;
			else link  = ret;	 
			csrc  = csrc.substring( 0,p);
		}
		slidesArray[index] = {'src':im.src,'csrc':csrc,'title':name,'link':link};
	}
	var divid     = o.id;
	var mainDiv   = $(MAINDIV_PREFIX+'1');
	var parentDiv = mainDiv.parentNode;
	if ( divid.indexOf('_share') > 0 && o.parentNode.id != undefined && o.parentNode.id.indexOf(MAINDIV_PREFIX) == 0)
	{   var divshare = document.createElement( "div");
        divshare.id  = o.id+"copy";
        parentDiv.insertBefore( divshare, mainDiv);
        visi.copyStyle(divshare.id, o.id);
        o.parentNode.removeChild( o );
		divshare.setAttribute("id",divid );
	}
	
    snav = new clsFloatNavigation2(divid,visi, slidesArray);
	if ( callback != undefined )
	     snav.setProperty( {'callbackSliderMove':callback});
		 
	var rTbl = visi.getObjectRect(parentDiv);
	var nIcons = Math.round((rTbl.width-108)/iconwidth);
 	
	snav.setProperty( {'slidesFrame':nIcons});
    snav.createTable( );
}
function cnvDiv2ScrollBox ( prefix )
{
	if ( prefix == undefined ) prefix = SCROLLBOX_PREFIX;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{   if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
		var scrollbox = new scrollBox( tags[i].id);
		scrollbox.init();
	}
}

function cnvDiv2Album ( projectfile, prefix )
{   if ( prefix == undefined ) prefix = ALBUM_LOCAL;
	var tags = document.getElementsByTagName( "*");

	for ( var i = 0; i < tags.length; i++ )
	{   if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
		var a = tags[i].getElementsByTagName('P');
		if ( a.length == 0 ) { tags[i].innerHTML = "&nbsp;"; return; }
        var a1 = visi.trim(a[0].innerHTML,' \t\n\r\f\"\'' + String.fromCharCode(8207) + String.fromCharCode(8206));
		a1 = a1.replace(/\r/g,"");
	    a1 = a1.replace(/\n/g,"");

        tags[i].innerHTML = "&nbsp;";

        var prop = 
		{ 'btnPictPrevId'   : "picture_left",
		  'btnPictNextId'   : "picture_right",
		  'imgPictPrev'     : "images/sys/picture_left.png",
		  'imgPictNext'     : "images/sys/picture_right.png",
		  'ctrlPictTextCell': "picture_num",
		  'albumtblid'      : "albumTbl"      + i,
          'normimgid'       : 'albumImage'    + i,
          'descriptid'      : 'description1'  + i,
          'btnPictPrevId'   : "picture_left"  + i,
          'btnPictNextId'   : "picture_right" + i,
          'ctrlPictTextCell': "picture_num"   + i,
		  'btnimgleft'      : "images/sys/albtn_lef_silver.png",//"images/sys/albtn_lef.png",
		  'btnimgright'     : "images/sys/albtn_rig_silver.png",
		  'btnimgindex'     : "images/sys/albtn_ind.png"
		};
		
        var paramqs = new Querystring(a1);
        var title   = paramqs.get('title','');
        var project = paramqs.get('project',projectfile);
        var album = new clsAlbumLoad4( project, title, tags[i].id );
	    album.setProperties( prop );
	    album.createTable( );
	    album.start( );
	}
}
function cnvDiv2TitlesList(  prefix )
{
	if ( prefix == undefined ) prefix = TITLESLIST_PREFIX;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
        var s   = tags[i].innerHTML;
        var p2 = s.indexOf('.xml');
		if ( p2 == -1 ) continue;
		var prj = visi.trim(s.substring(0,p2+4),' \t\n\r\f\"\'');
		prj = prj.replace(/\r/g,"");
	    prj = prj.replace(/\n/g,"");
		var titlelist = new clsBuildTitlesList( tags[i].id,prj);
        titlelist.start( );
		break;
	}
}
function cnvDiv2LinkedImgs( prefix, local )
{   if ( prefix == undefined ) prefix = LINKED_IMAGES;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
        var s   = tags[i].innerHTML;
        var p2 = s.indexOf('.xml');
		if ( p2 == -1 ) continue;
		var prj = visi.trim(s.substring(0,p2+4),' \t\n\r\f\"\'');
		prj = prj.replace(/\r/g,"");
	    prj = prj.replace(/\n/g,"");
        var album = new clsAlbumLoadLinks( prj, "", tags[i].id, local );
		album.buildAlbum( );

		break;
	}
}

function cnvDiv2Flash( prefix, local )
{   if ( prefix == undefined ) prefix = FLASH_PREFIX;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined || tags[i].id.length == 0) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;

		var o   = tags[i].parentNode;
        var s   = visi.trim(o.innerHTML);
        var p2 = s.indexOf('.swf');
        if ( p2 == -1 ) continue;
		var p1 = s.lastIndexOf( ">", p2);
		if (p1 == -1) continue;
		
		p2 = s.indexOf("<",p1);
        s = visi.trim(s.substring(p1+1,p2),' \t\n\r\f\"\''+String.fromCharCode(8207) + String.fromCharCode(8206));
		s = s.replace(/\r/g,"");
	    s = s.replace(/\n/g,"");

        var paramqs = new Querystring(s);
        var file    = paramqs.get('file');

		if ( file == null ) continue;
		file = urlbase()+file;
		var id      = paramqs.get('id');
		var rc      = visi.getObjectRect( o );
		var width   = paramqs.get('width',rc.width);
		var height  = paramqs.get('height',rc.height);
		var styles  = {"z-index":'auto',"visibility":'visible'};

		var flashvars = null;
		var flashparams   = paramqs.get('flashparams','');
		if ( flashparams )
		{   
		    eval("flashvars = " + flashparams + ";");//{'SXMLPATH':'images//topslides.xml','CALLBACKCLICK':'callbackSlideClick'};");
		}
		var stlobj = null;
        s =  paramqs.get('style','');

        if ( s )
		{   
		    eval("stlobj = " + s + ";");
			if ( stlobj )
			{   for ( var k in stlobj )
				      styles[k] = stlobj[k];
			}
		}

		var params     = {};
		var attributes = {};
		params.wmode   = "transparent";
		if (browser.isOpera )
		{
//		    params.wmode   = "opaque";
		}
		if (  flashvars )
		{   if ( flashvars.SXMLPATH != undefined )
			     flashvars.SXMLPATH = urlbase()+flashvars.SXMLPATH;
			if ( flashvars.CSSPATH != undefined )
			     flashvars.CSSPATH = urlbase()+flashvars.CSSPATH;
				  
		}

		if ( file.indexOf(FLASH_DOCMENU) < 0 )
		{   
/*
			id = tags[i].id;
            var flash = new clsFlashLayer( id, file, width, height,flashvars,params,styles );
	        flash.createFlashLayer( id,HTM_INS);
*/

				id = tags[i].id;
		        swfobject.embedSWF(file, id, width, height, "9.0.0", false, flashvars, params, attributes);
				
		}
		else
		{   if ( !flashvars ) flashvars = new Object( );
		    flashvars.settingsXML = "xml/" + local + "/docmenusetting.xml";

			flashvars.imagesXML   = flashvars.SXMLPATH;//xmlpath;
			flashvars.dockWidth   = ""+width;//"750";
			flashvars.dockHeight  = ""+height;//"130"

			params.scale          = "noscale";
			params.salign         = "tl";
/*
			    id = o.id;
		        swfobject.embedSWF(file, id, width, height, "9.0.0", false, flashvars, params, attributes);
*/				

			if ( !browser.isOpera )
			{   id = o.id;
//              swfobject.addLoadEvent(forceRedraw);
		        swfobject.embedSWF(file, id, width, height, "9.0.0", false, flashvars, params, attributes);
			}
			else
			{   id = tags[i].id; 
                var flash = new clsFlashLayer( id, file, width, height,flashvars,params,styles );
	            flash.createFlashLayer( id,HTM_INS);
			}
			
			
		}
		o = $(id);
		visi.setStyles(o,styles);
		visi.setVisible(o,true);
	}
}
function isEmpty(ob)
{   for(var i in ob){ return false;}
    return true;
}



function cnvDiv2MsgBox( prefix )
{   if ( prefix == undefined ) prefix = MSGBOX_PREFIX;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
        var s   = tags[i].innerHTML;
		var blk = new clsMsgBox( tags[i].id, "Id"+tags[i].id, visi );// box id do not start with prefix!

		var rc  = visi.getObjectRect( tags[i] );
//		blk.setimgs   ( {lt:'images/sys/pan1_lt1.png'});
		blk.setcontent( s );
		blk.setprop   ( {minwidth:rc.width - 24});
		blk.create    ( );		
	}
}

function cnvDiv2Youtube( prefix )
{   if ( prefix == undefined ) prefix = YOUTUBE_PREFIX;
	var tags    = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
		var o   = tags[i].parentNode;
        var s   = o.innerHTML;
		var p1  = s.indexOf( ">");
		if (p1 == -1) continue;
		var p2  = s.indexOf("<",p1);
		if ( p2 == -1 ) continue;
		s = s.substring(p1+1,p2);
        var rc = visi.getObjectRect( o );		



    var params = { allowScriptAccess: "always" };
    var atts   = { id: "obj_"+tags[i].id };
    swfobject.embedSWF("http://www.youtube.com/v/" + s + "?enablejsapi=1&playerapiid=yt_"+tags[i].id, 
                       tags[i].id, rc.width , rc.height, "9.0.0", null, null, params, atts);
    }
}

function cnvDiv2Video( prefix )
{   if ( prefix == undefined ) prefix = FLASH_VIDEO;
	var tags = document.getElementsByTagName( "*");
	for ( var i = 0; i < tags.length; i++ )
	{
		if ( tags[i].id == undefined ) continue;
		if ( tags[i].id.indexOf( prefix ) !=0 ) continue;
		var o   = tags[i].parentNode;
        var s   = o.innerHTML;
		var p2 = s.indexOf('.swf');
		if ( p2 == -1 ) p2 = s.indexOf('.flv');
		if ( p2 == -1 ) continue;
		var p1 = s.lastIndexOf( ">", p2);
		if (p1 == -1) continue;
		s = visi.getbaseurl()+"media/"+s.substring(p1+1,p2+4);
		var rc = visi.getObjectRect( o );

        var video = new clsPlayerAPI( tags[i].id, s, rc.width, rc.height );
		video.setColors( video.clrsheme ( '0x666666','0xffffff','0xffffff','0xffffff' ));
		video.create( );
		
	}
}

function forceRedraw() 
{alert( 'forceRedraw');
document.getElementById("magic_1").style.display = "block";
}

function clickMusicLink( event, obj )// onclick event for musical link
{   if ( typeof document.body.player == 'undefined' ) return;
    event = event || window.event;
	var o = (obj != undefined)?obj:visi.getEventTarget( event );
	if (  o != null && o.tagName == "A")
        document.body.player.playFile( o.href );
    event.cancelBubble = true;
	if ( event.stopPropagation) event.stopPropagation();	
	return false;
}



