/*
   Home page functions
 */

function homepage_set_rollover_timer()
{
	setTimeout('homepage_set_random_rollover_picture()',2000);
}

var change_image = 0 ;

var home_pic_order = [
			//List of pairs:
			// First item = which image element ( 1 to 5 )
			// Second item = which image file ( depending on number of image files )
	
			5, 2,
			1, 2,
			4, 2,
			2, 2,
			3, 2,
			5, 3,
			1, 3,
			4, 3,
			2, 3,
			3, 3,
			5, 4,
			1, 4,
			4, 4,
			2, 4,
			3, 4,
			5, 5,
			1, 5,
			4, 5,
			2, 5,
			3, 5,
			5, 1,
			1, 1,
			4, 1,
			2, 1,
			3, 1
			];

function homepage_set_random_rollover_picture()
{
	element_id = home_pic_order[change_image];
	picture_id = home_pic_order[change_image+1];
	change_image += 2;
	if (change_image>=home_pic_order.length) {
		change_image = 0 ;
	}

	var pic = document.getElementById("pic" + element_id.toString());

	var new_pic = dirname(pic.src) + "/" + element_id.toString() + "_" + picture_id.toString() + ".jpg";
	pic.src = new_pic ;

	homepage_set_rollover_timer();
}

/*
    Generic left-side roll-over functions:
      used in "buy" page and others
 */

function leftside_set_rollover_timer()
{
	setTimeout('leftside_set_rollover_picture()', 3300);
}

var current_leftside_picture = 1 ;

function dirname(fullpath)
{
    return fullpath.replace(/\/[^\/]*$/, '');
}


function leftside_set_rollover_picture()
{
	current_leftside_picture++;
	if (current_leftside_picture > leftside_rollover_pictures_count)
	{
		current_leftside_picture = 1 ;
	}

	var pic = document.getElementById("leftside_rollover_img");

	var new_img_url = dirname(pic.src) + "/" + current_leftside_picture.toString() + ".jpg";
	pic.src = new_img_url;

	leftside_set_rollover_timer();
}

/*
   text scrolling functions
 */
function move_text_up()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop - 150 ;
}

function move_text_down()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop + 150 ;
}

function move_text_up2()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop - 15 ;
}

function move_text_down2()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop + 15 ;
}

function move_text_up3()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop - 485 ;
}

function move_text_down3()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop + 485 ;
}

function move_text_up4()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop - 100 ;
}

function move_text_down4()
{

	var div = document.getElementById("buy_text2");
	div.scrollTop = div.scrollTop + 100 ;
}

function move_text_up5()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop - 100 ;
}

function move_text_down5()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop + 100 ;
}

function move_text_up6()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop - 350 ;
}

function move_text_down6()
{

	var div = document.getElementById("buy_text");
	div.scrollTop = div.scrollTop + 350 ;
}

/*
   Wedding testemonial functions
 */
function show_text_div(prefix,index)
{
	var i=1;
	for (i=1;i<=20;i++) {
		var name = prefix + "_" + i.toString();
		var element = document.getElementById(name);
		if (! element ) {
			break;
		}
		if ( i == index ) {
			element.style.display = 'block';
		} else {
			element.style.display = 'none';
		}
	}
}


function show_left_right_arrows()
{
	 document.getElementById("gallery_left_arrow").style.display='block';
	 document.getElementById("gallery_right_arrow").style.display='block';
}

/*
    Galleries functions
 */
function show_gallery_category(index,name)
{
	show_text_div('gallery_item', index);
	show_gallery_item(name, 1);
}

var last_gallery_shown ;
var last_gallery_item_shown ;

function show_gallery_item(gallery,item)
{
	show_left_right_arrows();

	var pic = document.getElementById("gallery_item_photo");

	var new_img_url = dirname(dirname(pic.src)) + "/" + gallery + "/" + item.toString() + ".jpg";
	pic.src = new_img_url;


	var txt = document.getElementById("gallery_item_text");
	var new_text = gallery_texts[gallery][item-1];
	txt.innerHTML=new_text;

	var can_purchase = gallery_purchase[gallery][item-1];
	var buylogo = document.getElementById("gallery_item_purchase");
	if (can_purchase==1)	{
		buylogo.style.display="block";
	} else {
		buylogo.style.display="none";
	}

	var buylink = document.getElementById("gallery_item_purchase_link");
	buylink.href = "mailto:photographer@charles-camarda.com?subject=Purchasing a photograph&body=Hello Charles,%0AI'm interested in purchasing this photograph:%0A'" + 
		escape(new_text) + "'   from the '" + escape(gallery) + "' gallery.%0A" +
		"Please contact me with more details.%0ARegards,%0A";


	last_gallery_shown = gallery;
	last_gallery_item_shown = item;
}

function number_of_items_in_gallery(gallery)
{
	var total = gallery_texts[gallery].length;
	return total;
}

function show_prev_gallery_item()
{
	if (last_gallery_item_shown>1)
	{
		show_gallery_item(last_gallery_shown, last_gallery_item_shown-1);
	} else {
		show_gallery_item(last_gallery_shown, number_of_items_in_gallery(last_gallery_shown));
	}
}

function show_next_gallery_item()
{
	if (last_gallery_item_shown<number_of_items_in_gallery(last_gallery_shown))
	{
		show_gallery_item(last_gallery_shown, last_gallery_item_shown+1);
	} else {
		show_gallery_item(last_gallery_shown, 1);
	}
}


/* 
  Mouse-wheel functions for "Picture of the week" (using move_text_up/down 4)
  */
function handle(delta) {
		if (delta < 0)
			move_text_down4();
        else
			move_text_up4();
}

/** Event handler for mouse wheel event.
 */
function wheel(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
                /** In Opera 9, delta differs in sign as compared to IE.
                 */
               /* if (window.opera)
                        delta = -delta;*/
        } else if (event.detail) { /** Mozilla case. */
                /** In Mozilla, sign of delta is different than in IE.
                 * Also, delta is multiple of 3.
                 */
                delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
                handle(delta);
        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}

function set_mouse_wheel()
{
	var mousewheelevt=(/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x
 
	if (document.attachEvent) //if IE (and Opera depending on user setting)
		document.getElementById("buy_text2").attachEvent("on"+mousewheelevt, wheel)
	else if (document.addEventListener) //WC3 browsers
	    document.getElementById("buy_text2").addEventListener(mousewheelevt, wheel, false)

}

/* 
  Mouse-wheel functions for "News" (using move_text_up/down 5)
  */
function handle2(delta) {
		if (delta < 0)
			move_text_down5();
        else
			move_text_up5();
}

/** Event handler for mouse wheel event.
 */
function wheel2(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
                /** In Opera 9, delta differs in sign as compared to IE.
                 */
               /* if (window.opera)
                        delta = -delta;*/
        } else if (event.detail) { /** Mozilla case. */
                /** In Mozilla, sign of delta is different than in IE.
                 * Also, delta is multiple of 3.
                 */
                delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
                handle2(delta);
        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}



function set_mouse_wheel2()
{
	var mousewheelevt=(/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x
 
	if (document.attachEvent) //if IE (and Opera depending on user setting)
		document.getElementById("buy_text").attachEvent("on"+mousewheelevt, wheel2)
	else if (document.addEventListener) //WC3 browsers
	    document.getElementById("buy_text").addEventListener(mousewheelevt, wheel2, false)
}
