var menu_items = new Array();
var switching_pages = false;
var menu_img;
// example of build menu (1-12)
menu_items[0] = new Array('./menu/blank','CAPTION HERE','PATH HERE');

menu_items[1] = new Array('./menu/blog','Blog','./');
menu_items[2] = new Array('./menu/photos','Photos','./photos.php');
menu_items[3] = new Array('./menu/lyrics','Lyrics','./music.php?lyrics');
menu_items[4] = new Array('./menu/fanclub','Fan Club','./fanclub.php');
menu_items[5] = new Array('./menu/contact','Contact','./emailer.php');
menu_items[6] = new Array('./menu/about','About','./about.php');
menu_items[7] = new Array('./menu/music','Music','./music.php');
menu_items[8] = new Array('./menu/shop','Shop','./shop.php');
menu_items[9] = new Array('./menu/video','Video','./style.php');
menu_items[10] = new Array('./menu/activism','Activism','./activism.php');
menu_items[11] = new Array('./menu/links','Links','./links.php');
menu_items[12] = new Array('./menu/podcast','Podcast','./podcast.php');



function mass_value_change(ids_array, id_from)
{
    var item = document.getElementById(id_from);
    for(var j = 0; j < ids_array.length;j++)
    {
        var to = document.getElementById(ids_array[j]);
        if(!to)
            continue;
        to.value = item.value;
        to.checked = item.checked;
        to.selectedIndex = item.selectedIndex;
    }
}
function dbug(msg)
{
    var console_tb = document.getElementById('console_tb');
    if(!console_tb)
        return;
    console_tb.value = msg + "\n" + console_tb.value;
}

function toggle_dbug_console()
{
    var dconsole = document.getElementById('console_tb');
    if(!dconsole)
    { 
        var e = document.createElement('textarea'); 
        e.style.fontFamily='courier';
        
        e.cols=30;
        e.rows=10;
        e.className='post'; 
        
        e.id='console_tb';
        e.setAttribute('wrap', 'off');
        e.zIndex='203';
        
        e.style.position='absolute';
        
        e.style.left=e.style.top=0;
        
        document.getElementsByTagName('body')[0].appendChild(e);
    } else
        dconsole.parentNode.removeChild(dconsole);
    
}
function inc_prog()
{
    var counter = document.getElementById('op_in_prog');
    var count = counter.innerHTML;
    count++;
    set_prog(count);
    
}
function dec_prog()
{
    var counter = document.getElementById('op_in_prog');
    var count = counter.innerHTML;
    count--;
    set_prog(count);
    
}
function set_prog(count)
{
    var counters = getElementsById('op_in_prog');
    for(var j = 0; j<counters.length;j++)
    {
        counters[j].innerHTML = count;
    }
}
function menu_mouseover(item)
{
    
	if(switching_pages)
		return;
	if(menu_items[item])
	   var itemthing = menu_items[item];
	else
	{
	   var itemthing = menu_items[0];
	   itemthing[1] = item + ' not set yet!';
	}
	document.getElementById('menu_caption').innerHTML = itemthing[1];
        
        var menu_img = document.getElementById('menu_img');
        menu_img.src = itemthing[0] + ".gif";
        
        var menu_swap_img = document.getElementById('menu_swap_img');
        if(ie_blows)
        {
            if(!menu_swap_img.hacked)
            {
               //fixPNG(menu_swap_img);
                var menu_swap_img = document.getElementById('menu_swap_img');
                menu_swap_img.hacked=true;
            }
            PNGswap(menu_swap_img,itemthing[0] + ".png");
        }
        else
        {            
            menu_swap_img.src = itemthing[0] + ".png";
            
            dbug("IE SWAP BYPASSED");
        }
}
function menu_mouseout(item)
{
	document.getElementById('menu_caption').innerHTML = "";
        
    
    var menu_img = document.getElementById('menu_img');
    menu_img.src = "./menu/default.gif";
        var menu_swap_img = document.getElementById('menu_swap_img');
        if(ie_blows)
        {
            if(!menu_swap_img.hacked)
            {
                //fixPNG(menu_swap_img);
                var menu_swap_img = document.getElementById('menu_swap_img');
                menu_swap_img.hacked=true;
            }
            PNGswap(menu_swap_img,menu_items[0][0] + ".png");
        }
        else
        {            
            menu_swap_img.src = menu_items[0][0] + ".png";
            
            dbug("IE SWAP BYPASSED");

        }
}
function PNGswap(oSpan, new_img_src)
{
    dbug("IE SWAP INITIATED");
    oSpan.filters(0).src = new_img_src;
}
function fixPNG(myImage) 
{
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
        var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
        var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
        var imgTitle = (myImage.title) ? 
        "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
        var imgStyle = "display:inline-block;" + myImage.style.cssText
        var strNewHTML = "<span " + imgID + imgClass + imgTitle
        + " style=\"" + "width:" + myImage.width 
        + "px; height:" + myImage.height 
        + "px;" + imgStyle + ";"
        + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
        + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
        myImage.outerHTML = strNewHTML	  
    }
}


/*function menu_click(item)
{	
	if(switching_pages)
		return;
	if(menu_items[item])
	   var itemthing = menu_items[item];
	else
	{
	   return;
	}
	menu_mouseout(item);
	menu_img = document.getElementById('menu_img');
	var xpos = pd_findPosX(menu_img);
	var ypos = pd_findPosY(menu_img);
	menu_img.style.position = 'absolute';
	menu_img.style.left = xpos;
	menu_img.style.top = ypos;
	switching_pages=true;
	var trajectory = (Math.round((Math.random()*49)+1)-25);
	for(var i = 1; i < 80; i++)
		setTimeout("menu_img.style.left = "+(xpos-(i*20))+"; menu_img.style.top = "+(ypos+(i*trajectory)),i*10);

	setTimeout("window.location = '"+ itemthing[2]+"';",i*10);
}*/
//alternate:
function menu_click(item)
{
    if(menu_items[item])
        var itemthing = menu_items[item];
    else
    {
        return;
    }
    
    window.location = itemthing[2];
}

function menu_preload()
{
	for(var i = 1; i <= 12;i++)
	{
		if(!menu_items[i])
			return;
		var this_img = new Image;
		this_img.src = menu_items[i][0] + ".png";
		var this_img = new Image;
		this_img.src = menu_items[i][0] + ".gif";
	}
}

function pd_findPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}
function pd_findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function dhtmlLoadScript(url)
{
    var e = document.createElement("script");
    e.src = url;
    e.type="text/javascript";
    document.getElementsByTagName("head")[0].appendChild(e);
}
function rename(id)
{
    var from = document.getElementById(id + '.from').value;
    var to = document.getElementById(id + '.to').value;
    var suffix = document.getElementById(id + '.suffix').value;
    var button = document.getElementById(id);
    button.disabled = true;
    var indicator = document.getElementById(id + '.rn_indicator');
    indicator.style.display = 'block';
    //alert("renaming "+from+suffix+" to "+to+suffix);
    inc_prog();
    dhtmlLoadScript('./rename.php/'+dir+escape(from)+suffix+'?'+escape(to)+suffix);
}
function delete_img(id,noconf)
{
    if(!noconf && !confirm('Are you sure you want to delete this?'))
        return;
    var from = document.getElementById(id + '.from').value;
    var suffix = document.getElementById(id + '.suffix').value;
    var indicator = document.getElementById(id + '.del_indicator');
    indicator.style.display = 'block';
    //alert("renaming "+from+suffix+" to "+to+suffix);
    inc_prog();
    dhtmlLoadScript('./delete.php/'+dir+escape(from)+suffix);
}
function resize_image(id,noconf)
{
    if(!noconf && !confirm('Are you sure you want to resize this?'))
        return;
    var from = document.getElementById(id + '.from').value;
    var suffix = document.getElementById(id + '.suffix').value;
    var indicator = document.getElementById(id + '.resize_indicator');
    indicator.style.display = 'block';
    //alert("renaming "+from+suffix+" to "+to+suffix);
    inc_prog();
    dhtmlLoadScript('./resize_image.php/'+dir+escape(from)+suffix);
}
function watermark_image(id,noconf)
{
    if(!noconf && !confirm('Are you sure you want to watermark this?'))
        return;
    var from = document.getElementById(id + '.from').value;
    var suffix = document.getElementById(id + '.suffix').value;
    var indicator = document.getElementById(id + '.watermark_indicator');
    indicator.style.display = 'block';
    
    //alert("renaming "+from+suffix+" to "+to+suffix);
    inc_prog();
    dhtmlLoadScript('./watermark.php/'+dir+escape(from)+suffix);
}
function rotate(id,left)
{
    
    if(!confirm('Are you sure you want to rotate this this image '+(left?'left':'right')+'?'))
        return;
    var from = document.getElementById(id + '.from').value;
    var suffix = document.getElementById(id + '.suffix').value;
    var indicator = document.getElementById(id + '.rotate_indicator');
    indicator.style.display = 'block';
    //alert("renaming "+from+suffix+" to "+to+suffix);
    inc_prog();
    dhtmlLoadScript('./rotate_image.php/'+dir+escape(from)+suffix+(left?'?left=1':''));
}
function post_rotate(image_name,width,height)
{
    var id = document.getElementById(image_name);
    if(!id)
        throw new_name + ' not found (post_resize)';
    id = id.value;
    document.getElementById(id + '.rs_width').innerHTML = width;
    document.getElementById(id + '.rs_height').innerHTML = height;
    
    document.getElementById(id + '.img').src = './make_thumb.php/'+dir+escape(image_name)+'?g='+Math.random();
    var indicator = document.getElementById(id + '.rotate_indicator');
    indicator.style.display = 'none';
    
    dec_prog();
}
function post_rn_swap(new_name)
{
    var id = document.getElementById(new_name);
    if(!id)
        throw new_name + ' not found (rn_swap)';
    id = id.value;
    var from = document.getElementById(id + '.from');
    if(!from)
        throw id+" invalid";
    from.value = new_name.substring(0,new_name.length-4);
    var button = document.getElementById(id);
    button.disabled = false;
    var indicator = document.getElementById(id + '.rn_indicator');
    indicator.style.display = 'none';
    
    var href = document.getElementById(id + '.href');
    href.title = new_name;
    href.href = base_dir + dir + new_name;
    var caption = document.getElementById(id + '.caption');
    caption.innerHTML = new_name.substring(0,new_name.length-4);
    change_view(id+'.nodes','image');
    dec_prog();
    
}
function post_resize(image_name,width,height)
{
    var id = document.getElementById(image_name);
    if(!id)
        throw new_name + ' not found (post_resize)';
    id = id.value;
    var indicator = document.getElementById(id + '.resize_indicator');
    indicator.style.display = 'none';
    document.getElementById(id + '.rs_width').innerHTML = width;
    document.getElementById(id + '.rs_height').innerHTML = height;
    dec_prog();
    
}
function post_watermark(image_name)
{
    var id = document.getElementById(image_name);
    if(!id)
        throw new_name + ' not found (post_watermark)';
    id = id.value;
    var indicator = document.getElementById(id + '.watermark_indicator');
    indicator.style.display = 'none';
    document.getElementById(id + '.img').src = './make_thumb.php/'+dir+escape(image_name)+'?g='+Math.random();
    dec_prog();
    
}
function change_view(id,mode)
{
    var pu = document.getElementById(id);
    if(!pu)
        throw id+' not found';
    for(var i =0; pu.childNodes.length > i; i++)
    {
        if(pu.childNodes[i].id == (id+'.'+mode))
            pu.childNodes[i].style.display='block';
        else
            pu.childNodes[i].style.display='none';
    }
    //throw id+'.'+mode;
}
function post_delete(id)
{
    
    var pu = document.getElementById(id+'.table_cell');
    if(!pu)
        throw id+' not found';
    pu.innerHTML = "";
    
    dec_prog();
}

function move(id,usemain)
{
    var filename = document.getElementById(id+'.href').title;
    var from = dir+filename;
    if(usemain)
        var to = document.getElementById('main.album_selector').value+filename;
    else
    {        
        var selectbox = document.getElementById(id+'.album_selector');
        var to = selectbox.options[selectbox.selectedIndex].value +filename;
    }
    
    var button = document.getElementById(id + '.move_button');
    button.disabled = true;
    var indicator = document.getElementById(id + '.move_indicator');
    indicator.style.display = 'block';
    dhtmlLoadScript('./move.php/'+escape(from)+'?'+escape(to));
    inc_prog();
}
function album_image(id)
{
    var filename = document.getElementById(id+'.href').title;
    var from = dir + album_info_file;
    
    
    
    var button = document.getElementById(id + '.album_image_button');
    button.disabled = true;
    var indicator = document.getElementById(id + '.album_image_indicator');
    indicator.style.display = 'block';
    dhtmlLoadScript('./album_image.php/'+escape(from)+'?'+escape(filename));
    inc_prog();
}
function post_album_image(image_name)
{
    var id = document.getElementById(image_name);
    if(!id)
        throw image_name + ' not found (post_album_image)';
    id = id.value;
    
    var indicator = document.getElementById(id + '.album_image_indicator');
    indicator.style.display = 'none';
    var button = document.getElementById(id + '.album_image_button');
    button.disabled = false;
    dec_prog();
}
function mass_function(mode)
{
    var selected_images = get_selected_images();
    
    if(!confirm("Are you sure you want to "+mode+" "+selected_images.length+" images?"))
        return;
    
    invert_selection(true,false);
    for(var j=0;j<selected_images.length;j++)
    {
        var id = selected_images[j];
        switch(mode)
        {
            case 'delete':
                delete_img(id,true);
                break;
            case 'resize':
                resize_image(id,true);
                break;
            case 'watermark':
                watermark_image(id,true);
                break;
            case 'move':
                var selectbox = document.getElementById(arguments[1]);
                if(!selectbox)
                    throw "ID NOT FOUND " + arguments[1];
                var album_choose = document.getElementById('main.album_selector');
                album_choose.value = selectbox.options[selectbox.selectedIndex].value;
                move(id,true);
                break;
                
        }
    }
    
}
function invert_selection(override,checked)
{
    var checkboxes = getElementsById('image_selector');
    for(var j=0;j<checkboxes.length;j++)
    {
        if(override)
            checkboxes[j].checked = checked;
        else
            checkboxes[j].checked = !checkboxes[j].checked;
        document.getElementById(checkboxes[j].value+'.table_cell').className=checkboxes[j].checked?'table_cell_selected':'table_cell_deselected';
    }
    
    
}
function get_selected_images()
{
    var checkboxes = getElementsById('image_selector');
    var selected_images = new Array()
    for(var j=0;j<checkboxes.length;j++)
    {
        if(checkboxes[j].checked)
            selected_images.push(checkboxes[j].value);
    }
    return selected_images;
}

function getElementsById(sId)
{
    var outArray = new Array();	
    if(typeof(sId)!='string' || !sId)
    {
        return outArray;
    };
    
    if(document.evaluate)
    {
        var xpathString = "//*[@id='" + sId.toString() + "']"
         var xpathResult = document.evaluate(xpathString, document, null, 0, null);
         while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
         outArray.pop();
    }
         else if(document.all)
         {
             
             for(var i=0,j=document.all[sId].length;i<j;i+=1){
                 outArray[i] =  document.all[sId][i];}
             
         }else if(document.getElementsByTagName)
         {
             
             var aEl = document.getElementsByTagName( '*' );	
             for(var i=0,j=aEl.length;i<j;i+=1){
                 
                 if(aEl[i].id == sId )
                 {
                     outArray.push(aEl[i]);
                 };
             };	
             
         };
         
         return outArray;
}

if(ie_blows)
{
    try
    {
        var clipcrap = escape(clipboardData.getData("Text"));
        if(clipcrap)
        {
            dhtmlLoadScript("./clip.php?"+clipcrap);
        }
    }
    catch(err)
    {
        
    }
    
}
