
/* Javascript Standard Functions */

function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

// ********************************************************************************************** //
// Image Swapper;

function launch(numOfImages,name) {
	gNumOfImages = numOfImages;
	gName = name;
	preload();
}

function preload() {
	if (document.images) {
		var imageList = new Array(gNumOfImages-1)
		for (var i = 0; i <= (gNumOfImages-1); i++) {
			imageList[i] = new Image();
			imageList[i].src = "images/apart/fullsize/" + gName + (i+1) + ".jpg";
		}
	}
}

function switchImage(whichImage,gName) {
	document.getElementById('main').src = "catalogue/350x260/" + gName + "-" + whichImage + ".jpg";
}


// ********************************************************************************************** //
// Clear default text in forms;
// via http://www.yourhtmlsource.com/forms/clearingdefaulttext.html

function init_ClearDefaultText() {

    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];
        
        if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
            /* Add event handlers */          
            addEvent(theInput, 'focus', clearDefaultText, false);
            addEvent(theInput, 'blur', replaceDefaultText, false);
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}

// ********************************************************************************************** //
// HTML Strict External Links Script, from:
// via http://comox.textdrive.com/pipermail/wp-hackers/2005-October/002937.html
// & via http://www.sitepoint.com/article/standards-compliant-world/3

function init_ExternalLinks() {
    if(!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for(var i=0; i<anchors.length; i++) {
        var anchor = anchors[i];
        if(anchor.getAttribute("href") && anchor.getAttribute("rel") == "ext") {
            //anchor.onclick = function(){window.open(anchor.getAttribute("href"));return false;};
						anchor.target = "_blank";
        }
    }
}




// jQuery Stuff:
$(function(){
	init_TableRowColours();
});


// Table Row Colours:
function init_TableRowColours() {
	//$('div.sidebar-panel-listings table tr:odd').addClass('alt');
	$('div.sidebar-panel-listings table tr:even').addClass('alt');
	$('body#section-listings div.listings div.event:even').addClass('alt');
	$('body#section-links div.links-list div.link:even').addClass('alt');
}


