﻿//issent is used in pagecontactform.aspx
var issent = false;

// Toggle element visibility (show/hide)
function toggleElement(id) {
    if (document.getElementById(id).className == "elementHidden")
        document.getElementById(id).className = "elementVisible";
    else
        document.getElementById(id).className = "elementHidden";
    /**/
    //if(document.getElementById(id).className == 'elementHidden')
    //    document.getElementById(id).style.display = "none";
    //else
    //    document.getElementById(id).style.display = "block";
}
/*print page function */
function printPage() {
    if (document.getElementById && document.getElementsByTagName) {
        var hrefs = document.getElementsByTagName('a');
        for (var i = 0; i < hrefs.length; i++) {
            if (/print/.test(hrefs[i].className)) {
                hrefs[i].onclick = function() { window.print(); return false; };
            }
        }
    }
}

/*open window function */
function openWindow() {
	if (!document.getElementsByTagName) {
		return false;
   	}

 	var popuplinks = document.getElementsByTagName("a");
    for (var i=0; i < popuplinks.length; i++) {
    	if (popuplinks[i].getAttribute("rel") == "window") {
    		popuplinks[i].onclick = function() {
			    openPopUp(this.getAttribute("href"));
			    return false;
			}
 		}
    }
}
function openPopUp(linkURL) {
    window.open(linkURL,'popup','width=700,height=600')
}

/*print and close window function*/
function printCloseWindow() {
    if (document.getElementById && document.getElementsByTagName) {
        var button = document.getElementsByTagName('input');
        for (var i = 0; i < button.length; i++) {
            if (button[i].getAttribute("name") == "windowPrintClose") {
                button[i].onclick = function() {
                    window.print();
                    window.close();
                    return false;
                }
            }
            if (button[i].getAttribute("name") == "windowClose") {
                button[i].onclick = function() {
                    window.close();
                    return false;
                }
            }
        }
    }
}

/*visual style corrections*/
function correctWebkit() {
    var uAgent = navigator.userAgent;
    if (uAgent.match("AppleWebKit")) {
    
        //correct disposition in nav tabs
        //document.getElementById("navlist").style.height = "3.5em";
        //correct disposition in global search field
        //document.getElementById("lft").style.top = "-0.1em";
        //correct calendar footer
        var footer = document.getElementById("master-footer");
        arr = footer.getElementsByTagName('div');  //calendar-inner corner lt corner rt
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].className == "corner lt" || arr[i].className == "corner rt")
                arr[i].style.top = "-39px";
        }
    }
    if (uAgent.match("Opera")) {
        //correct global search field
        //document.getElementById("lft").style.top = "-2.1em";
        //correct disposition in global search field
        //document.getElementById("SearchBar").style.top = "2em";
        //correct calendar footer
        var foot = document.getElementById("master-footer");
        arr = foot.getElementsByTagName('div');  //calendar-inner corner lt corner rt
        for (var j = 0; j < arr.length; j++) {
            if (arr[j].className == "corner lt" || arr[j].className == "corner rt")
                arr[j].style.top = "-41px";
        }
    }
}
/*load functions on start*/
window.onload = function() {
    correctWebkit();
    printPage();
    openWindow();
}



/******************* IMAGE GALLERY ****************************/
//clear list item styles
function clearStyle(id) {
    var el = document.getElementById(id);
    var urls = el.getElementsByTagName('a');
    for (var i = 0; i < urls.length; i++) {
        //if (urls[i].style.border!="none" || urls[i].style.border == null) {
        //urls[i].style.border = "none"; //clear list item style
        urls[i].style.background = "none";
        //}
    }
}
//fade functions
var element = document.getElementById('me');
var duration = 1000;  /* 1000 millisecond fade = 1 sec */
var steps = 20;       /* number of opacity intervals   */
var delay = 5000;     /* 5 sec delay before fading out */

/* set the opacity of the element (between 0.0 and 1.0) */
function setOpacity(level) {
    element.style.opacity = level;
    element.style.MozOpacity = level;
    element.style.KhtmlOpacity = level;
    element.style.filter = "alpha(opacity=" + (level * 100) + ");";
}

function fadeIn() {
    for (i = 0; i <= 1; i += (1 / steps)) {
        setTimeout("setOpacity(" + i + ")", i * duration);
    }
    setTimeout("fadeOut()", delay);
}

function fadeOut() {
    for (i = 0; i <= 1; i += (1 / steps)) {
        setTimeout("setOpacity(" + (1 - i) + ")", i * duration);
    }
    setTimeout("fadeIn()", duration);
}

/* start the effect */
//fadeIn();

//switch big image
function switchImg(target, src) {
    if (document.getElementById) //safety check
    {
        //TODO: fade code here
        document.getElementById(target).src = src; //switch image source
        //document.getElementById(target).style.display = "none";
    }
}
//pass description
    //document.getElementById(targetid).innerHTML = srctext;

//put hrefs in next, prev links depending on counttarget
function prepareNextPrev(id, pictarget, texttarget, counttarget, currentImg) {
    if (document.getElementById && document.getElementsByTagName) {
        if (document.getElementById(id)) {
            var prev = document.getElementById(id + "-prev");
            var next = document.getElementById(id + "-next");
            var gallery = document.getElementById(id);
            var hrefs = gallery.getElementsByTagName('a'); //var hrefs = try {gallery.getElementsByTagName('a');}catch{}
            //var currentImg = document.getElementById("count_" + id).innerHTML;
            var totalImgs = document.getElementById("counter_" + id).innerHTML;
            //alert(currentImg + "tot:" + totalImgs);
            // next link
            ///next.style.visibility = "hidden";
            next.style.color = "#ccc";
            //prev.style.visibility = "hidden";
            prev.style.color = "#ccc";
            if (currentImg < totalImgs) {
                //next.style.visibility = "visible";
                next.style.color = "#000";
                next.href = hrefs[currentImg].href;
                //next = hrefs[currentImg].getAttribute('rel');
                next.onclick = function() {
                    clearStyle(id);
                    switchImg(pictarget, this);
                    try {
                        document.getElementById(texttarget).innerHTML = '<p class=\"imgDescription\">' + hrefs[currentImg].getAttribute('title') + '<\/p>';
                        document.getElementById(texttarget).innerHTML += '<p class=\"imgPhotographer\">' + hrefs[currentImg].parentNode.getElementsByTagName('p')[0].innerHTML + '<\/p>';
                        document.getElementById(counttarget).innerHTML = hrefs[currentImg].getAttribute('rel');
                        currentImg++;
                    }
                    catch (error) { }
                    prepareNextPrev(id, pictarget, texttarget, counttarget, currentImg);
                    return false;
                }
            }
            //prev link
            if (currentImg > 1) {
                //prev.style.visibility = "visible";
                prev.style.color = "#000";
                prev.href = hrefs[currentImg - 2].href;
                prev.onclick = function() {
                    clearStyle(id);
                    switchImg(pictarget, this);
                    document.getElementById(texttarget).innerHTML = '<p class=\"imgDescription\">' + hrefs[currentImg - 2].getAttribute('title') + '<\/p>';
                    document.getElementById(texttarget).innerHTML += '<p class=\"imgPhotographer\">' + hrefs[currentImg - 2].parentNode.getElementsByTagName('p')[0].innerHTML + '<\/p>';
                    document.getElementById(counttarget).innerHTML = hrefs[currentImg - 2].getAttribute('rel');
                    prepareNextPrev(id, pictarget, texttarget, counttarget, (currentImg - 1));
                    return false;
                }
            }
            return false;
        }
    }
} 
//init gallery unobtrusivly, prepare list items
function prepareGallery(id, pictarget, texttarget, counttarget) { //gallery id, big picture id, text area id, counter id
    if (document.getElementById && document.getElementsByTagName) {
        if (document.getElementById(id)) {
            var gallery = document.getElementById(id);
            var photo = gallery.getElementsByTagName('p');
            var links = gallery.getElementsByTagName('a');
            for (var i = 0; i < links.length; i++) {
                links[i].onclick = function() {
                    clearStyle(id);
                    switchImg(pictarget, this);
                    document.getElementById(texttarget).innerHTML = '<p class=\"imgDescription\">' + this.getAttribute('title') + '<\/p>'; //<p style=\"text-align:right\">'+photo[this.getAttribute('rel')].innerHTML+'<\/p>';
                    //document.getElementById(texttarget).innerHTML += '<p style=\"text-align:right\">' + photo[this.getAttribute('rel')].innerHTML + '<\/p>';
                    document.getElementById(texttarget).innerHTML += '<p class=\"imgPhotographer\">' + this.parentNode.getElementsByTagName('p')[0].innerHTML + '<\/p>';
                    document.getElementById(counttarget).innerHTML = this.getAttribute('rel');
                    prepareNextPrev(id, pictarget, texttarget, counttarget, this.getAttribute('rel'));
                    //this.style.border = "2px solid black"; //selected list item style
                    this.style.background = "#bdcf52";
                    return false;
                };
            }
        }
    }
}


