﻿

//footer
function makeFooter() { var client_height = windowHeight(); var footer = $('footer'); var footer_height = footer.getHeight(); var bottom = $('bottom'); var bottom_top = Position.cumulativeOffset(bottom)[1]; if( bottom_top + footer_height + 15 < client_height ) { bottom.style.height = (client_height - bottom_top - footer_height - 15) + 'px'; } else if( bottom_top + footer_height != client_height ) { bottom.style.height = '0px'; } }

function updateContent(elementId, url) { setTimeout(function(){$('loading').style.display = 'block';}, 10); $(elementId).innerHTML = ''; document.body.scrollTop = '0px'; makeFooter(); new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { $id(elementId).innerHTML = transport.responseText; setTimeout(function(){$('loading').style.display = 'none';}, 100); initfav(); if( $('mainPic') ) makeFooter(); } }); }

function userlogin(event) { var url; var pars = location.href.toQueryParams(); var qs = pars['qs']; var path = pars['path']; if( qs && path ) { url = path + '?' + qs; } else if( path ) { url = path; } else { url = '/u/'+$F('Tusername'); } Event.stop(event); $('error').innerHTML = '处理中,请稍后...'; $('login').request({ onComplete: function(transport) { if( transport.responseText!='Success') $('error').innerHTML = transport.responseText; else { $('error').innerHTML = '&nbsp;'; window.location.href = url; } } })}

function userregister(event) { var url = '/welcome/'; Event.stop(event); $('error').innerHTML = '处理中,请稍后...'; $('register').request({ onComplete: function(transport) { if( transport.responseText!='Success') $('error').innerHTML = transport.responseText; else { $('error').innerHTML = '&nbsp;'; window.location.href = url; } } })}

function mu( url )
{
    var target; if( $('msgs') ) { target = 'msgs'; }
    else if( $('mainPic') ) { target = 'mainPic'; }
    else if( $('mainLeft') ) { target = 'mainLeft'; }
    else if( $('cloud') ) { target = 'cloud'; }
    else if( $('msgs')) { target = 'msgs';}
    else if( $('twocolumnmiddle') ) { target = 'twocolumnmiddle'; }    
    else { return false; }
    
    updateContent(target, url);
    
    return false;
}

function makeMp3()
{
    var all = $CC('mp3');
    
    for (var i = 0; i<all.length; i++)
    {
        var a = all[i];
        
        var img = document.createElement('img');
        img.src = '/images/mp3play.gif';
        img.title = 'listen';
        img.id = 'mp3_'+ i;
        img.className = 'player';
        img.height = 14;
        img.align='texttop';
        img.width = 14;
        a.parentNode.insertBefore(img, a);        
        
        Event.observe('mp3_'+ i, 'click', goMp3);
    } 
}
function goMp3(event)
{    
    var img = Event.element(event);
    
    if( img.title == 'listen' )
    {
        img.src = '/images/mp3stop.gif';
        img.title = 'stop';
        
        var url = img.nextSibling.href;
        
        new Insertion.After(img, '<span id="mp3player_' + img.id + '"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' + 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"' + 'width="50" height="15" align="middle" class="player">' + '<param name="allowScriptAccess" value="sameDomain" />' + '<param name="flashVars" value="theLink='+url+'" />' + '<param name="movie" value="/images/mp3.swf" /><param name="quality" value="high" />' + '<param name="bgcolor" value="#ffffff" />' + '<embed src="/images/mp3.swf" flashVars="theLink='+url+'"' + 'quality="high" bgcolor="#ffffff" width="50" height="15" name="player"' + 'align="absbottom" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"' + ' pluginspage="http://www.macromedia.com/go/getflashplayer" class="player" /></object></span>');
        
    }
    else { img.src = '/images/mp3play.gif'; img.title = 'listen'; if( $('mp3player_' + img.id )) { $('mp3player_' + img.id).remove(); } }
}
function makeWma()
{
    var all = $CC('wma');
    
    for (var i = 0; i<all.length; i++)
    {
        var a = all[i];
        
        var img = document.createElement('img');
        img.src = '/images/wmaplay.gif';
        img.title = 'listen';
        img.id = 'wma_'+ i;
        img.className = 'player';
        img.height = 14;
        img.align='texttop';
        img.width = 14;
        a.parentNode.insertBefore(img, a);        
        
        Event.observe('wma_'+ i, 'click', goWma);
    } 
}
function goWma(event)
{    
    var img = Event.element(event);
    
    if( img.title == 'listen' )
    {
        img.src = '/images/wmastop.gif';
        img.title = 'stop';
        
        var url = img.nextSibling.href;
        
        new Insertion.After(img, '<span id="wmaplayer_' + img.id + '"><embed class="mainwmapaler" id="WmaPlay' + img.id + '" src="' + url + '" style="LEFT: -1000px; POSITION: absolute;" type="application/x-mplayer2" showstatusbar="-1" showcontrols="-1" autostart="true"></embed><font id="wmaplayer_status_' + img.id + '" class="wmaplayer" title="0">loading</font></span>');
        
        var wmaplayer = $('WmaPlay'+img.id)
        var sta = $( 'wmaplayer_status_'+img.id );
        Event.observe(sta.id, 'click', function(event){ if( sta.innerHTML == 'loading' ) return; if(sta.innerHTML == 'playing'){ if( navigator.appName.indexOf("Microsoft") > -1 ) wmaplayer.pause(); else wmaplayer.controls.pause(); sta.innerHTML = 'pause'; } else if(sta.innerHTML == 'pause'){ if( navigator.appName.indexOf("Microsoft") > -1 ) wmaplayer.play(); else wmaplayer.controls.play(); sta.innerHTML = 'playing'; } });
        
        var id = img.id;
        setInterval(showTime,1000);
    }
    else { img.src = '/images/wmaplay.gif'; img.title = 'listen'; if( $('wmaplayer_' + img.id )) { $('wmaplayer_' + img.id).remove(); } }
}
function showTime(id)
{
    var all = $CC('mainwmapaler');    
    for (var i = 0; i<all.length; i++)
    {    
        var wmaplayer = all[i];
        
        var zsj = (navigator.appName.indexOf("Microsoft")>-1) ? wmaplayer.currentPosition:wmaplayer.controls.currentPosition;
            
        var sta = $( wmaplayer.id.replace('WmaPlay', 'wmaplayer_status_') );
        
        //alert( zsj );
        
        if(  zsj>1 )
        {
            if( sta.innerHTML == 'loading' )
            {
                sta.innerHTML = 'playing';
                sta.title = '0';
            }
        }
        else if ( parseInt(sta.title) >= 10 )
        {
            sta.innerHTML = 'error';
            
        }
    }
}

function init()
{   
    var host = window.location.host;
    
    //cookies
    var cookies = document.cookie.replace(/; /g,'&').toQueryParams(); if( cookies['username'] ) { var username = cookies['username']; var nickname = cookies['nickname']? cookies['nickname'] : username; $('toper').getElementsBySelector('a').each( function(item){ if(item.getAttribute('id')!='logo') item.remove(); }); var state = '<strong>' + nickname + '</strong><a href="http://' + host + '/set/" >设置</a><a href="http://' + host + '/logout/" class="lm">退出</a><br><a href="http://' + host + '/u/' + username + '/" >我的收藏</a><a href="http://' + host + '/post/" class="lm" >添加收藏</a>'; new Insertion.After($('logo'), state); }//<a href=""/postb/"">添加网志</a>
    
    //loading
	new Insertion.Before(document.body.lastChild, '<div id="loading"><img src="/images/loading.gif" alt="loading" /></div>');
	new Insertion.Before(document.body.lastChild, '<div id="itemopen2"><div style=" border: 1px #999999 solid; padding: 5px;"><span id="video"><table height="100%"><tr><td valign="middle">Loading...</td></tr></table></span></div></div>');
	
	if( navigator.appName.indexOf("Microsoft") > -1 )
	    new Insertion.Before(document.body.lastChild, '<style type="text/css"> #mainPic td { word-break:break-all; } .fav .notes { word-break: break-all; } .mblog .con td { word-break:break-all; } .rblog .con td { word-break:break-all; } #note { word-break: break-all; } .ititle { word-break:break-all; } </style>');
	
    //hide detail
    $$('H2').each(function(item) { item.next().hide(); item.next().addClassName('pl20'); Event.observe( item, 'click', function(event) { var elt = Event.element(event); if (elt.tagName == 'H2') { $(elt).next().toggle(); makeFooter();} }); });
    
    //box
    var a = 0; $CC('box').each(function(item) { item.cleanWhitespace(); var title = item.firstChild.firstChild; a++; var id='box'+a; new Insertion.Before(title, '<img src="http://' + host + '/images/jian_1.gif" alt="" id="' + id + '" />'); Event.observe( $(id), 'click', function(event) { if( $(id).parentNode.next().visible() ) $(id).src='http://' + host + '/images/jian_2.gif'; else $(id).src='http://' + host + '/images/jian_1.gif'; $(id).parentNode.next().toggle(); makeFooter(); }); });
    
    //bundle
    $CC('bundle').each(function(item) { Event.observe( item, 'click', function(event) { item.next().toggle(); makeFooter(); }); });

    //initfav
    initfav();

    //login
    if( $('login') ) Event.observe('login', 'submit', userlogin);
    
    //register
    if( $('register') ) Event.observe('register', 'submit', userregister);
    
    //ajax
    if( $('mytag') ) $$('#mytag a').each(function(item) { if(item.getAttribute('target')) return; var nhref = '/u/' + item.href.split('/')[4] + '/' + encodeURIComponent(item.innerHTML) + '&m=no'; Event.observe( item, 'click', function(event) { Event.stop(event); var elt = Event.element(event); mu( nhref ); }); });    
    $$('.page a').each(function(item) { var href = item.href; var nhref = item.href + '&m=no'; Event.observe( item, 'click', function(event) { Event.stop(event); var elt = Event.element(event); mu( nhref ); }); });
    
    //prefooter;
    new Insertion.Before('footer', '<div id="bottom"> </div>'); window.onresize = makeFooter; makeFooter();
    
    //load image
    var imgname=new Array(); imgname[0]="/images/jian_1.gif"; imgname[1]="/images/jian_2.gif"; imgname[2]="/images/close.gif"; imgname[3]="/images/type/htm.gif"; imgname[4]="/images/loading.gif"; var imgpreload=new Array( imgname.length ); for (i=0;i<=imgname.length-1;i++) { imgpreload[i]=new Image(); imgpreload[i].src=imgname[i]; }
}
function initfav()
{
    //fav    
    if( $('favs') )
    {    
        $CC('nfav').each( function(item)
        {
            item.cleanWhitespace();            
            var itemid = item.getAttribute( 'id' ).split('_');
            var type = itemid[1];
            var uid = itemid[2];
            var sid = itemid[3];            
            var img = '<div class="icon"><img src="/images/type/' + type + '.gif" alt="" onclick="javascript:popUp2(event)" /></div>';
             
            var fav = item.firstChild.firstChild;            
            fav.setAttribute('target', '_blank' );            
            Event.observe( fav, 'mouseover', popUp );            
            Event.observe( fav, 'mouseout', hidepopUp );
            Event.observe( fav, 'click', clickfav );
            var title = cutstr( item.firstChild.next().innerHTML );
            if( !title.blank() ) { new Insertion.After(item.firstChild, '<dd class="notes">' + title + '</dd>'); }            
            new Insertion.Before(item.firstChild, img );
        });
    }
    
    makeMp3();
    makeWma();
    
    $$('.page a').each(function(item) { var href = item.href; var nhref = item.href + '&m=no'; Event.observe( item, 'click', function(event) { Event.stop(event); var elt = Event.element(event); mu( nhref ); }); });
}


function popUp(event)
{    
    var itemid = Event.element(event).parentNode.parentNode.getAttribute( 'id' ).split('_');
    var type = itemid[1];    
    var uid = itemid[2];
    var sid = itemid[3];
    var pid = 'p1_' + sid;    
    if( !$(pid) )
    {
        var notess=Event.element(event).parentNode.next('.noteh').innerHTML.replace("&#","&&#35;");        
        var partten = /\[img\](.[^'\[]*)\[\/img\]/g;
        var img = partten.exec( notess );
        while( img )
        {
            notess = notess.replace( img[0], '<div class="pimg"><img src="' + img[1] + '" alt="" onload="javascript:if(this.width>200)this.width=200" /></div>' );
            img = partten.exec( notess );
        }       
        if(!notess.blank())
        {            
            new Insertion.After(Event.element(event).parentNode, '<div class="popup" id="' + pid + '">' + notess + '</div>');
        }
        else
        {
            return;
        }
    }    
    $id(pid).style.left = Event.pointerX(event) + 10 + 'px';
    $id(pid).style.top = Event.pointerY(event) + 10 + 'px';
    
    if( !$(pid).visible() )
        $(pid).show();
}
function hidepopUp(event)
{
    var itemid = Event.element(event).parentNode.parentNode.getAttribute( 'id' ).split('_');
    var type = itemid[1];    
    var uid = itemid[2];
    var sid = itemid[3];
    var pid = 'p1_' + sid;
    if( $(pid) ) $(pid).hide();
}
function popUp2(event)
{
    var itemid = Event.element(event).parentNode.parentNode.getAttribute( 'id' ).split('_');
    var type = itemid[1];    
    var uid = itemid[2];
    var sid = itemid[3];
    
    //if( !$('itemope2') )
    	//new Insertion.Before(document.body.lastChild, '<div onMouseDown="javascript:readyDrag(event)" id="itemopen2"><div style=" border: 1px #999999 solid; padding: 5px;"><span id="video"><table height="100%"><tr><td valign="middle">Loading...</td></tr></table></span></div></div>');

    $('itemopen2').style.visibility = 'visible';
    $('itemopen2').style.left = Event.pointerX(event) + 10 + 'px';
    $('itemopen2').style.top =  Event.pointerY(event) + 10 + 'px';
    
    new Ajax.Request('/v/'+sid, { method: 'get', onSuccess: function(transport) { $id('video').innerHTML = transport.responseText; setTimeout(function(){$('loading').style.display = 'none';}, 100); } });
    
    new Draggable('itemopen2',{ghosting: false});
    
}

function clickfav(event) { var itemid = Event.element(event).parentNode.parentNode.getAttribute( 'id' ).split('_'); var type = itemid[1]; var uid = itemid[2]; var sid = itemid[3]; var url = "/click.ashx?fav=" + sid; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { /* click success $('fav_' + type + '_' + uid + '_' + sid).innerHTML = 'clicked'; */ } }); }

function cutstr( sun ) { if( !sun ) return ""; var partten = /\[img\](.[^'\[]*)\[\/img\]/g; sun=sun.replace( partten, '' ); if( sun.length>150 ) return sun.substring( 0, 150 ) + ' ...'; return sun; }
// return sun.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/&lt;br \/&gt;/g,'<br />');

function showMessagebox( elementId )
{
    if( $(elementId).innerHTML.length < 10 )
    {
        new Ajax.Request('/msg.htm', { method: 'get', onSuccess: function(transport) { $id(elementId).innerHTML = transport.responseText; } });
    }
    $(elementId).toggle();
}



addLoadEvent(init);


//add function
function $CC(className) { return document.getElementsByClassName(className); }
function $id(elementId) { return $(elementId); }
function windowHeight() { return self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0 }
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } }




//以下为垃圾js
//以后处理


//用户头像

function getsmile()
{
    var row = 4;
    var columns = 8;
    var total = 27;
    
    var path = '/head/syr/';

    var smiler = '';
    smiler += '<table id="head_sys" cellspacing="1" cellpadding="0"><tr>';
    for( i=1; i<row*columns+1; i++ )
    {
        var head_file=path + '' + makenum(i) + '.bmp';
        if( i <= total )
        {
            smiler += '<td background="' + head_file + '"><img class="head_mouse_off" onmouseover=changeClass(this) onmouseout=changeClass(this) onclick=changehead("' + i + '") width=16 height=16 src="' + path + 'spacer.gif" /></td>';
        }
        else
        {
            smiler += '<td><img class="head_mouse_off" src="' + path + 'spacer.gif" /></td>';
        }
        if( i % columns == 0 && i!=1 )
        {
            smiler += '</tr><tr>';
        }
    }
    smiler += '</tr></table>';
    
    return smiler;
}
function changehead( i ) { var path = '/head/syer/'; var head_file=path + '' + makenum(i) + '.bmp'; $id('Theadid').value = i.toString(); $id('myhead').src = head_file; }// $id('head_sys').style.visibility='hidden';
function makenum(number) { if(number<10) return "0" + number.toString(); else return number.toString(); }
function changeClass(menu) { if( menu.className != "head_mouse_on" ) menu.className = "head_mouse_on"; else menu.className = "head_mouse_off"; }
function showheads()
{
    var smiler = getsmile();
    $id('heads').innerHTML = smiler;
}

// del fav
function delitem( iname, tid, sid ) { var url = "/del.ashx?typeid=1&id=" + sid; var temp = $id('fav_' + iname + '_' + tid + '_' +sid ); if( temp ) temp.innerHTML = '<font color="red">处理中，请稍后...</font>'; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if( escape('删除成功！') != escape(transport.responseText) ) { temp.innerHTML = transport.responseText; } else { temp.style.display='none'; } } }); }

// del msg
function delmsg( sid ) { var url = "/del.ashx?typeid=2&id=" + sid; var temp = $id('msg_'+sid );  if( temp ) temp.innerHTML = '<font color="red">处理中，请稍后...</font>'; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if( escape('删除成功！') != escape(transport.responseText) ) { temp.innerHTML = transport.responseText; } else { temp.style.display='none'; } } }); }

// del blog
function delblog( sid ) { var url = "/del.ashx?typeid=3&id=" + sid; var temp = $id('blog_'+ sid ); if( temp ) temp.innerHTML = '<font color="red">处理中，请稍后...</font>'; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if( !temp ) { var q = window.location.href.replace( 'http://' + window.location.host + '/blog/', ''); var un = q.substring(0, q.indexOf('/')); window.location.href = '/blog/'+un; return; } if( escape('删除成功！') != escape(transport.responseText) ) { temp.innerHTML = transport.responseText; } else { temp.style.display='none'; } } }); }

// del rblog
function delrblog( sid ) { var url = "/del.ashx?typeid=4&id=" + sid; var temp = $id('rblog_'+ sid ); if( temp ) temp.innerHTML = '<font color="red">处理中，请稍后...</font>'; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if( escape('删除成功！') != escape(transport.responseText) ) { temp.innerHTML = transport.responseText; } else { temp.style.display='none'; } } }); }

//回复
var replaying = false;
function replayb()
{
    if( replaying )
        return;
        
    replaying = true;
        
    var id = $('blogid').value;
    var content = $id('Tcontent').value;
    var privy = false;// $id('privy').checked;    
    
    var pb= 'privy=' + privy  + '&content=' + escape( content );
    
    var url = '/replayb/?id=' + id;
    
    new Ajax.Request(url, {method: 'POST', postBody: pb, onComplete: replaybok});
    
    $id('error').innerHTML = '处理中,请稍后...'; //$id('loading').style.display = 'block'; //$id('addnow').style.display = 'none';
}
function replaybok( transport )
{
    replaying = false;
    
    var msg = transport.responseText;
    if( msg == 'ok' )
    {
        $id('error').innerHTML = '回复成功.';
        $id('Tcontent').value = '';
        //window.location.reload();        
        window.location.href = window.location.href;
    }
    else if( msg == 'login' )
    {
        window.location.href='/login/';
    }
    else
    {        
        $id('error').innerHTML = msg; //$id('addnow').style.display = 'block'; //$id('loading').style.display = 'none';
    }    
}

// privy ...
function makeURL(url) { new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { window.location.href = window.location.href; } } ); }

// add friend
function addFri(url) { new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { window.location.href = window.location.href; } } ); }

//留言
var msging = false;
function msg()
{
    if( msging )
        return;
        
    msging = true;
        
    var id = $('muserid').value;
    var content = $id('Tcontent').value;
    var privy = false;
    
    if( $id('privy').checked )
    {
        privy = true;
    }
    
    var pb= 'privy=' + privy  + '&content=' + escape( content );
    
    var url = '/msg/?id=' + id;
    
    new Ajax.Request(url, {method: 'POST', postBody: pb, onComplete: msgok});
    
    $id('error').innerHTML = '处理中,请稍后...';
    
}
function msgok( transport )
{
    msging = false;
    
    var msg = transport.responseText;
    if( msg == 'ok' )
    {
        $id('error').innerHTML = '回复成功.';
        $id('Tcontent').value = '';
        $id('privy').checked = '';
        mu( '/info/' + $('myDetails').getAttribute('title') + '&m=no' ); //window.location.reload();        
    }
    else if( msg == 'login' )
    {
        window.location.href='/login/';
    }
    else
    {
        $id('error').innerHTML = msg;
    }    
}

//按键监视
function getevent(event) { return event ? event : (window.event ? window.event : null); }
function checkkey(event)
{
    var ev = getevent( event);
    if( ev.ctrlKey && ev.keyCode==13  )
    {
        replayb();
    }
}
function checkkey2(event)
{
    var ev = getevent( event);
    if( ev.ctrlKey && ev.keyCode==13  )
    {
        msg();
    }
}
function inputs(smiley)
{
	fav_insertimage( '/images/em/' + smiley + '.gif' );
}
function inputs2(smiley)
{
	var em = '[em' + smiley + ']';
	$id('Tcontent').value += em;
}
function inputimg(smiley) 
{
	fav_insertimage( smiley );
}

function swap(entity)
{
	var added=entity.getAttribute('added');		
	var href=entity.firstChild.nodeValue;
	//alert( href );
	href= href.replace( / /g, "&nbsp;" );
	
	var textbox=$id('Ttags').value;

	var temp=new String(textbox);
	
	var start=temp.indexOf(href);
	var length=href.length;
	
	if(added!='true')
	{	
		while(temp.length>=1 && temp.substr(temp.length-1,1)==' ')
		{
			temp=temp.substr(0,temp.length-1);
		}
		if(temp=='')
		{			
			$id('Ttags').value=href;
		}
		else
		{
			$id('Ttags').value=temp+' '+href;
		}
		
		entity.setAttribute('bg1',entity.style.backgroundColor);
		entity.setAttribute('fc1',entity.style.color);
		entity.style.backgroundColor='yellow';
		entity.style.color='#116611';
		entity.setAttribute('added','true');
		
	}
	else
	{
		if(start>=0)
		{
			temp=temp.substr(0,start) + temp.substr(start+length+1,temp.length-start+length+1);
			$id('Ttags').value=temp;
			
			entity.setAttribute('bg2',entity.style.backgroundColor);
			entity.setAttribute('fc2',entity.style.color);
		
			entity.style.backgroundColor=entity.getAttribute('bg1');'white';
			entity.style.color=entity.getAttribute('fc1');'#6464ff';
			entity.setAttribute('added','false');
		}

	}
}
