/* adapted by Bobby W from stuff at quirksmode.org */
/* 
	allows users to create cross browser events (for things like onload since they 
	don't have access to the body tag) 

	example: mdcAddEvent(window, "load", testAlert); 

*/
if (window.addEventListener)
{
	mdcAddEvent=function( obj, type, fn ){ obj.addEventListener( type, fn, false ) };
	mdcRemoveEvent=function(obj, type, fn){ obj.removeEventListener( type, fn, false ) };
	mdcPreventDefault=function(e){e.preventDefault()}
} 
else if (window.attachEvent) 
{
	mdcAddEvent = function ( obj, type, fn ) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
	
	mdcRemoveEvent = function ( obj, type, fn ) {
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}

	mdcPreventDefault=function(e){e.returnValue=false}
} 
else 
{ 
	mdcAddEvent = mdcRemoveEvent = mdcPreventDefault = new function(){};
}

/*
    mdcSetCookie - sets a cookie with an escaped value
         name: required, name of cookie to create
        value: optional, value of cookie (undefined results in 
               blank cookie
         days: optional, length in days cookie should last
               set to undefined for session cookies (default)
         path: optional, path for cookie, set to / if left blank
       domain: optional, domain for cookie
*/
function mdcSetCookie(name, value, days, path, domain)
{
    var cookieStr;

    if (undefined == value)
    {
        value = "";
    }
    
    cookieStr = name + '=' + escape(value);

    if(undefined != days && "" != days)
    {
        var date = new Date();
        date.setTime(date.getTime()+(days * 24 * 60 * 60 * 1000));
        cookieStr += "; expires=" + date.toGMTString();
    }

    if (undefined != path && "" != path)
    {
        cookieStr += "; path=" + path;
    }
    else
    {
        cookieStr += "; path=/";
    }
    
    if (undefined != domain && "" != domain)
    {
        cookieStr += "; domain=" + domain;
    }

    document.cookie = cookieStr;
}

/*
    mdcGetCookie - reads a cookie, returns the unescaped value
                or undefined if cookie is not found
         name: required, name of cookie to get value of
*/
function mdcGetCookie(name)
{
    var cookies;
    var i;

    if (document.cookie.length > 0)
    {
        /* split cookie key=value pairs out */
        cookies = document.cookie.split('; ');
        for (i = 0; i < cookies.length; i++)
        {
            /* split key=value pair */
            var parts = cookies[i].split('=');
            if (parts[0] == name)
            {
                return(unescape(parts[1]));
            }
        }
    }

    return(undefined);
}

/*
    mdcSaveAd - given an ad id, append it to a list of saved ad ids
        id: required
*/
function mdcSaveAd(id)
{
    cookieStr = mdcGetCookie('adid');
    if (undefined == cookieStr || "" == cookieStr || "undefined" == cookieStr)
    {
        mdcSetCookie('adid', id);
    }
    else
    {
        mdcSetCookie('adid', cookieStr + ',' + id);
    }
}

/*
    mdcHideAd - given an ad id, hide each element that composes
		the display (mdc-ad-###, mdc-adfoot-###, mdc-adhead-###)
          id: required
*/
function mdcHideAd(id)
{
	if(document.getElementById)
	{
		var obj;
		obj = document.getElementById("mdc-adhead-" + id);
		if (obj)
		{
			obj.style.display = "none";
		}
		obj = document.getElementById("mdc-ad-" + id);
		if (obj)
		{
			obj.style.display = "none";
		}
		obj = document.getElementById("mdc-adfoot-" + id);
		if (obj)
		{
			obj.style.display = "none";
		}
	}
}

/*
    mdcRemoveAd - given an ad id, remove it from a list of saved ad ids
          id: required
*/
function mdcRemoveAd(id)
{
    cookieStr = mdcGetCookie('adid');
    if (undefined == cookieStr || "" == cookieStr)
    {
    }
    else
    {
        var id_list = cookieStr.split(',');
        var i;
        var new_list = '';
        var comma = '';
        for (i = 0; i < id_list.length; i++)
        {
            if (id_list[i] != id)
            {
                new_list += comma + id_list[i];
                comma = ',';
            }
        }
        mdcSetCookie('adid', new_list);
    }
}


mdcAddEvent(window, "load", function() { mdcChangeSet(+1); });

var current_photo_page = 0;

function mdcShowLarge(large_image, image_id, num_photos) {		
	document.images["home-photo-main-1"].src = large_image;
	for (var i = 1; i <= num_photos; i ++) {
		document.getElementById("image-" + (i)).className = "thumbs";
			if (i==num_photos){
				document.getElementById("image-" + (i)).className = "no-margin";
			}

	}

	document.getElementById("image-" + (image_id)).className = "active-thumb";


}

function mdcShowPhotoPage(photo_page_id) {
	var photo_page_count = get_photo_page_count();
	current_photo_page = photo_page_id;

	for (var i = 0; i < photo_page_count; i ++) {
		document.getElementById("gallery-page-" + (i + 1)).style.display = "none";
		document.getElementById("photo-page-link-" + (i + 1)).className = "";
	}
	document.getElementById("gallery-page-" + photo_page_id).style.display = "block";
	document.getElementById("photo-page-link-" + photo_page_id).className = "current";
	mdcChangePageList(current_photo_page);    
}

function mdcChangeSet(incrementer) {
	if (document.getElementById("gallery-page-" + (current_photo_page + incrementer))) {
		current_photo_page += incrementer;
		mdcShowPhotoPage(current_photo_page);
	}
}

function mdcGetPhotoCount() {
	var count = 1;
	while (document.getElementById("home-photo-border-" + count)) {
		count ++;
	}
	return (count - 1);
}

function mdcGetPhotoPageCount() {
	var count = 1;
	while (document.getElementById("gallery-page-" + count)) {
		count ++;
	}
	return (count - 1);
}


function mdcChangePageList(current_page) {
	document.getElementById("page-list").innerHTML = "You are viewing photo set <b>" + current_page + "</b> of " + get_photo_page_count() + "";
}


/* saves (or unsaves) all of the ads on the page */
function mdcSaveAllAds(status)
{
    var boxes = document.getElementsByTagName("input");
    var j;

    if (undefined != boxes)
    {
        for (j = 0; j < boxes.length; j++)
        {
            if(boxes[j].id.indexOf("clip-") != -1)
            {
                if (boxes[j].checked != status)
                {
                    boxes[j].click();
                }
            }
        }
    }
}

/* checks the save ad boxes for ads that have already been saved */
function mdcCheckSavedAds()
{
    var boxes = document.getElementsByTagName("input");
    var cookieStr = mdcGetCookie('adid');
    var adList;
    var i;
    var k;

    if (undefined == boxes || undefined == cookieStr)
    {
        return;
    }

    adList = cookieStr.split(',');
    for (i = 0; i < boxes.length; i++)
    {
        if(boxes[i].id.indexOf("clip-") != -1)
        {
            var parts = boxes[i].id.split('-');
            for (k = 0; k < adList.length; k++)
            {
                if (adList[k] == parts[1])
                {
                    boxes[i].checked = true;
                    k = adList.length;
                }
            }
        }
    }
}

function mdcModLinks(formObj)
{
	var newProps = '';
	var comma = '';

	var i;
	for (i = 0; i < formObj.elements.length; i++)
	{
		if (formObj.elements[i].name == "props")
		{
			if (formObj.elements[i].type == "checkbox")
			{
				if (formObj.elements[i].checked)
				{
					newProps += comma + formObj.elements[i].value;
					comma = ',';
				}
			}
			else
			{
				newProps += comma + formObj.elements[i].value;
				comma = ',';
			}
		}
	}

	if (document.getElementById && document.getElementsByTagName)
	{
		var container;
		var lnks;
		container = document.getElementById("mdc-links");
		if (container)
		{
			lnks = container.getElementsByTagName("a");
			for (i = 0; i < lnks.length; i++)
			{
				if (lnks[i].href.indexOf("props=") == -1)
				{
					lnks[i].href = lnks[i].href + "&props=" + escape(newProps);
				}
				else
				{
					lnks[i].href = lnks[i].href.replace(/props=[^&]*/, "props=" + escape(newProps));
				}
			}
		}
	}
}


