var overcolor = 'b31b21'; var offcolor = '000000'

var ie6 = false;
if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer") {
    var arVersion = navigator.appVersion.split("MSIE")
    var version = parseFloat(arVersion[1])
    if( version < 7.0 ) 
        ie6 = true;
}

// Events /////////////////////////////////////////////////////////////////////////////////
function rollOverEvent(e){ rollOver(Event.element(e)) }
function rollOutEvent(e){ rollOut(Event.element(e)) }

// Rollover Functions //////////////////////////////////////////////////////////////////////////

rollOverImg = function(obj)
{    
    if( Element.hasClassName(obj,'ignoreRollOver') ) return;
    if( obj.src.search('image.php') == -1 ) {
        obj.src = obj.src.replace(/\.(\w+)$/, "_over.$1");    
    }        
    else {
        if(obj.src.indexOf('color=') > 0)
            obj.src = obj.src.replace(/color=[0-9a-fA-F]*/, 'color='+overcolor);
        else
            obj.src += '&color=' + overcolor;        
    }
}

rollOutImg = function(obj)
{
    if( Element.hasClassName(obj,'ignoreRollOver') ) return;
    if( obj.src.search('image.php') == -1 ) {
        obj.src = obj.src.replace(/_over\.(\w+)$/, ".$1");    
    }
    else {
        obj.src = obj.src.replace(/color=[0-9a-fA-F]*/, 'color='+offcolor);        
    }
}


//PNGFIX
rollOverIE = function(obj)
{    
    if( Element.hasClassName(obj,'ignoreRollOver') ) return;
    var obj = (Element.hasClassName(obj,'transpng'))? obj.filters(0) : obj;
    if( obj.src.search('image.php') == -1 ) {
        obj.src = obj.src.replace(/\.(\w+)$/, "_over.$1");    
    }
    else {
        var src = obj.src.replace(/&color=[0-9a-fA-F]*/, '');
        src += '&color=' + overcolor;
        obj.src = src;
    }    
}

rollOutIE = function(obj)
{
    if( Element.hasClassName(obj,'ignoreRollOver') ) return;
    var obj = (Element.hasClassName(obj,'transpng'))? obj.filters(0) : obj;
    if( obj.src.search('image.php') == -1 ) {
        obj.src = obj.src.replace(/_over\.(\w+)$/, ".$1");    
    } else {
        obj.src = obj.src.replace(/color=[0-9a-fA-F]*/, 'color='+offcolor);
    }
}


// Set proper rollover functions
if(ie6) {
    rollOver = rollOverIE;
    rollOut = rollOutIE;
} else {
    rollOver = rollOverImg;
    rollOut = rollOutImg;
}


// Util functions /////////////////////////////////////////////////////////////////
function setFocus(layerName) {  
  var layer = document.getElementById(layerName);
  var focusIt = layer.getElementsByTagName('a')[0];//This is an array, get the first link.
  focusIt.focus();
}


function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


// Load Events//////////////////////////////////////////////////////////////////////////

document.observe('dom:loaded', function () {    
    var triggers = $$('.trigger');
    triggers.each( function (t) {
        var el = $(t).next();
        Element.hide(el);
        Event.observe(t, 'click', function(e){
            new Effect.toggle(el, 'blind');
            return false;
        });
    });
 
    if( !ie6 ) {
        var page = document.body.id.toLowerCase().split('-');
        if(page[0] == 'pages'){ page = page.reverse();}
        var menuitem = $('menu_'+page[0]);
        if( menuitem ) {rollOver(menuitem); Element.removeClassName(menuitem, 'rollover');}
        var subitem = $('submenu_'+page.last());
        if( subitem ) {rollOver(subitem); Element.removeClassName(subitem, 'rollover');};
        var sideitem = $('sidemenu_'+page[1]);
        if( sideitem ) {rollOver(sideitem); Element.removeClassName(sideitem, 'rollover');};
    }
});


function show_login_window(link, contents){
        
    var overlay = document.createElement('div');
    overlay.setAttribute('id', 'login-overlay');
    Element.addClassName(overlay, 'overlay');
    Element.setStyle(overlay, {
        position: 'absolute',
        top: '0', left: '0',
        width: '100%',
        height: '100%'
    });
    document.body.appendChild(overlay);

    var lwindow = document.createElement('div');
    lwindow.setAttribute('id', 'login-window');
    document.body.appendChild(lwindow);
    lwindow.innerHTML = contents;
    lwindow.style.display = 'none';

    Element.observe('video-login-cancel', 'click', hide_login_window);
    Element.observe('video-login-form', 'submit', function(e) {
        var form = $('video-login-form');
        var pass = $('video-password').value;
        Form.request(form,  {
            onComplete: function(d) {
                if (d.status == 200 && d.responseText == 'ok') {
                    hide_login_window();
                    window.location.href = link.href ;
                } else {
                    var span = $$('#login-window .errormessage');
                    if ( span.length > 0 ) Element.remove(span[0]);
                    var message = '<span class="errormessage">login unsuccessful.</span>'
                    var el = $('login-window');
                    Element.insert('login', {'top': message});
                    new Effect.Shake('login-window');
                }
            }
        });
        Event.stop(e);
    });

    new Effect.Appear(overlay, {duration:0,from:0,to:0.7});
    new Effect.Appear(lwindow, {duration: 0.3, from:0, to:1});
}

function hide_login_window(){
    Element.remove('login-overlay');
    Element.remove('login-window');
}

Event.observe(window, 'load', function(){
    // Image Rollovers
    rollovers = $$('img.rollover');
    rollovers.each( function(rollover) {
        Event.observe(rollover, 'mouseover', rollOverEvent);
        Event.observe(rollover, 'mouseout', rollOutEvent);                    
    });
    rollovers.each( function(rollover) {
        var preload = new Image();
        if( rollover.src.search('image.php') == -1 ) {
            preload.src = rollover.src.replace(/\.(\w+)$/, "_over.$1");
        }else{
            var src = rollover.src.replace(/&color=[0-9a-fA-F]*/, '');
            src += '&color=' + overcolor;
            preload.src = src;
        }
    });
    
    $$('#sidebar a img[alt=videos]').each(function(a){
        if (video_user) return;
        var link = $(a).up();
        Event.observe(link, 'click', function(e){
            new Ajax.Request('/videos/login/', {
                method: 'get',
                onSuccess: function(response) {
                    show_login_window(link, response.responseText);
                }
            });
            Event.stop(e);
        });
    });
});
