/****************************************************************************************************\
* File: js/lib.js
* Author: Christian Kamau
* Description: Library of reusable functions.
\****************************************************************************************************/

/*** Shorthand of document.getElementById()..
****************************************************************************************************/
var queryString = window.top.location.search.substring(1);
function getParameter ( queryString, parameterName ) {
	// Add "=" to the parameter name (i.e. parameterName=value)
	var parameterName = parameterName + "=";

	if ( queryString.length > 0 ) {

		// Find the beginning of the string
		begin = queryString.indexOf ( parameterName );

		// If the parameter name is not found, skip it, otherwise return the value
		if ( begin != -1 ) {

			// Add the length (integer) to the beginning
			begin += parameterName.length;

			// Multiple parameters are separated by the "&" sign
			end = queryString.indexOf ( "&" , begin );
			if ( end == -1 ) {
				end = queryString.length
				} //if()

			// Return the string
			return unescape ( queryString.substring ( begin, end ) );
			} //if()

		// Return "null" if no parameter has been found
		return "null";
		} //if()
	} //getParameter() function



function $(id) {

	// Define variables..
	var elements = new Array();

	// For every argument..
	for (i = 0; i < arguments.length; i++) {

		// Set element variable..
    	var element = arguments[i];

		// Check if element is a string..
    	if (typeof element == 'string') {
      		element = document.getElementById(element);
		}

		// If there was only one argument return element..
    	if (arguments.length == 1) {
     		return element;
		}

		// If more than one argument add to elements array..
		elements.push(element);

	}

	// Return elements array..
	return elements;
}

/*** Add an event to an element..
****************************************************************************************************/
function addEventback(element, eventType, callFunction, useCapture) {

	// Add event listener with some cross-browser stuff..
	if (element.addEventListener) {
		element.addEventListener(eventType, callFunction, useCapture);
	}
	else if (element.attachEvent) {
		element.attachEvent("on"+eventType, callFunction);
	}

}


// new one by Terry
function addEvent( obj, type, fn, useCapture) {
	if (obj){
	if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, useCapture );
	}
}

function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, useCapture );
}

/*** Initialize..
****************************************************************************************************/
var mainMenu = function() {

	mainMenu.loginmenu = $('menu-login');
	mainMenu.productsmenu = $('menu-products');
	mainMenu.customersmenu = $('menu-customers');
	mainMenu.aboutmenu = $('menu-about');
	mainMenu.companymenu = $('menu-company');

	mainMenu.productssubmenu = $('submenu-products');
	mainMenu.customerssubmenu = $('submenu-customers');
	mainMenu.companysubmenu = $('submenu-company');

	mainMenu.loginmenuimage = $('menuimg-login');
	mainMenu.productsmenuimage = $('menuimg-products');
	mainMenu.customersmenuimage = $('menuimg-customers');
	mainMenu.aboutmenuimage = $('menuimg-about');
	mainMenu.companymenuimage = $('menuimg-company');

	addEvent(mainMenu.loginmenu, 'mouseover', mainMenu.loginFunction, false);
	addEvent(mainMenu.loginmenu, 'mouseout', mainMenu.loginFunctionOut, false);
	addEvent(mainMenu.productsmenu, 'mouseover', mainMenu.productsFunction, false);
	addEvent(mainMenu.productsmenu, 'mouseout', mainMenu.productsFunctionOut, false);
	addEvent(mainMenu.customersmenu, 'mouseover', mainMenu.customersFunction, false);
	addEvent(mainMenu.customersmenu, 'mouseout', mainMenu.customersFunctionOut, false);
	addEvent(mainMenu.aboutmenu, 'mouseover', mainMenu.aboutFunction, false);
	addEvent(mainMenu.aboutmenu, 'mouseout', mainMenu.aboutFunctionOut, false);
	addEvent(mainMenu.companymenu, 'mouseover', mainMenu.companyFunction, false);
	addEvent(mainMenu.companymenu, 'mouseout', mainMenu.companyFunctionOut, false);
}

/****************************************************************************************************/
mainMenu.loginFunction = function() {

	if (mainMenu.loginmenuimage)
	{
		mainMenu.loginmenuimage.src = 'images/login_over.gif';
	}
}
mainMenu.loginFunctionOut = function() {

	if (mainMenu.loginmenuimage)
	{
		mainMenu.loginmenuimage.src = 'images/login.gif';
	}
}

mainMenu.productsFunction = function() {
	mainMenu.productssubmenu.style.display = 'block';

	if (mainMenu.productsmenuimage)
	{
		mainMenu.productsmenuimage.src = 'images/product-catalogue_over.gif';
	}
}
mainMenu.productsFunctionOut = function() {
	mainMenu.productssubmenu.style.display = 'none';

	if (mainMenu.productsmenuimage)
	{
		mainMenu.productsmenuimage.src = 'images/product-catalogue.gif';
	}
}

mainMenu.customersFunction = function() {
	mainMenu.customerssubmenu.style.display = 'block';

	if (mainMenu.customersmenuimage)
	{
		mainMenu.customersmenuimage.src = 'images/wholesale-customers_over.gif';
	}
}
mainMenu.customersFunctionOut = function() {
	mainMenu.customerssubmenu.style.display = 'none';

	if (mainMenu.customersmenuimage)
	{
		mainMenu.customersmenuimage.src = 'images/wholesale-customers.gif';
	}
}

mainMenu.aboutFunction = function() {

	if(mainMenu.aboutmenuimage)
	{
		mainMenu.aboutmenuimage.src = 'images/about-us_over.gif';
	}
}

mainMenu.aboutFunctionOut = function() {

if (mainMenu.aboutmenuimage)
	{
		mainMenu.aboutmenuimage.src = 'images/about-us.gif';
	}
}


mainMenu.companyFunction = function() {
	mainMenu.companysubmenu.style.display = 'block';

	if (mainMenu.companymenuimage)
	{
		mainMenu.companymenuimage.src = 'images/company-information_over.gif';
	}
}

mainMenu.companyFunctionOut = function() {
	mainMenu.companysubmenu.style.display = 'none';

	if (mainMenu.companymenuimage)
	{
		mainMenu.companymenuimage.src = 'images/company-information.gif';
	}
}

/*** Initialize..
****************************************************************************************************/
var cats = function() {

	if (window.location.href != "http://www.wendoverart.com/login.php") {

		cats.summer_supp = $('cat-summer-supp');
		addEvent(cats.summer_supp, 'mouseover', cats.summer_suppFunction, false);
		if (getParameter(queryString, "cat_id") != "16") {
			addEvent(cats.summer_supp, 'mouseout', cats.summer_suppFunctionOut, false);
			} //if()

		cats.abstract = $('cat-abstract');
		addEvent(cats.abstract, 'mouseover', cats.abstractFunction, false);
		if (getParameter(queryString, "cat_id") != "2") {
			addEvent(cats.abstract, 'mouseout', cats.abstractFunctionOut, false);
			} //if()

		cats.culinary = $('cat-culinary');
		addEvent(cats.culinary, 'mouseover', cats.culinaryFunction, false);
		if (getParameter(queryString, "cat_id") != "7") {
			addEvent(cats.culinary, 'mouseout', cats.culinaryFunctionOut, false);
			} //if()

		cats.floral = $('cat-floral');
		addEvent(cats.floral, 'mouseover', cats.floralFunction, false);
		if (getParameter(queryString, "cat_id") != "1") {
			addEvent(cats.floral, 'mouseout', cats.floralFunctionOut, false);
			} //if()

		cats.europe = $('cat-europe');
		addEvent(cats.europe, 'mouseover', cats.europeFunction, false);
		if (getParameter(queryString, "cat_id") != "8") {
			addEvent(cats.europe, 'mouseout', cats.europeFunctionOut, false);
			} //if()

		cats.landscape = $('cat-landscape');
		addEvent(cats.landscape, 'mouseover', cats.landscapeFunction, false);
		if (getParameter(queryString, "cat_id") != "12") {
			addEvent(cats.landscape, 'mouseout', cats.landscapeFunctionOut, false);
			} //if()

		cats.cultural = $('cat-cultural');
		addEvent(cats.cultural, 'mouseover', cats.culturalFunction, false);
		if (getParameter(queryString, "cat_id") != "5") {
			addEvent(cats.cultural, 'mouseout', cats.culturalFunctionOut, false);
			} //if()

		cats.nature = $('cat-nature');
		addEvent(cats.nature, 'mouseover', cats.natureFunction, false);
		if (getParameter(queryString, "cat_id") != "9") {
			addEvent(cats.nature, 'mouseout', cats.natureFunctionOut, false);
			} //if()

		cats.architecture = $('cat-architecture');
		addEvent(cats.architecture, 'mouseover', cats.architectureFunction, false);
		if (getParameter(queryString, "cat_id") != "6") {
			addEvent(cats.architecture, 'mouseout', cats.architectureFunctionOut, false);
			} //if()

		cats.animals = $('cat-animals');
		addEvent(cats.animals, 'mouseover', cats.animalsFunction, false);
		if (getParameter(queryString, "cat_id") != "11") {
			addEvent(cats.animals, 'mouseout', cats.animalsFunctionOut, false);
			} //if()

		cats.oversize = $('cat-oversize');
		addEvent(cats.oversize, 'mouseover', cats.oversizeFunction, false);
		if (getParameter(queryString, "cat_id") != "3") {
			addEvent(cats.oversize, 'mouseout', cats.oversizeFunctionOut, false);
			} //if()

		cats.mirrors = $('cat-mirrors');
		addEvent(cats.mirrors, 'mouseover', cats.mirrorsFunction, false);
		if (getParameter(queryString, "cat_id") != "13") {
			addEvent(cats.mirrors, 'mouseout', cats.mirrorsFunctionOut, false);
			} //if()

		cats.molding = $('cat-molding');
		addEvent(cats.molding, 'mouseover', cats.moldingFunction, false);
		if (getParameter(queryString, "cat_id") != "14") {
			addEvent(cats.molding, 'mouseout', cats.moldingFunctionOut, false);
			} //if()

		cats.photography = $('cat-photography');
		addEvent(cats.photography, 'mouseover', cats.photographyFunction, false);
		if (getParameter(queryString, "cat_id") != "10") {
			addEvent(cats.photography, 'mouseout', cats.photographyFunctionOut, false);
			} //if()

		cats.mensclub = $('cat-mensclub');
		addEvent(cats.mensclub, 'mouseover', cats.mensclubFunction, false);
		if (getParameter(queryString, "cat_id") != "4") {
			addEvent(cats.mensclub, 'mouseout', cats.mensclubFunctionOut, false);
			} //if()

		cats.coastal = $('cat-coastal');
		addEvent(cats.coastal, 'mouseover', cats.coastalFunction, false);
		if (getParameter(queryString, "cat_id") != "15") {
			addEvent(cats.coastal, 'mouseout', cats.coastalFunctionOut, false);
			} //if()

        cats.juvenile = $('cat-juvenile');
		addEvent(cats.juvenile, 'mouseover', cats.juvenileFunction, false);
		if (getParameter(queryString, "cat_id") != "20") {
			addEvent(cats.juvenile, 'mouseout', cats.juvenileFunctionOut, false);
			} //if()

	} //if()

}

/****************************************************************************************************/
cats.summer_suppFunction = function() {
	cats.summer_supp.src = 'images/cat-summer-supp_over.gif';
}
cats.summer_suppFunctionOut = function() {
	cats.summer_supp.src = 'images/cat-summer-supp.gif';
}

cats.abstractFunction = function() {
	cats.abstract.src = 'images/cat-abstract_over.gif';
}
cats.abstractFunctionOut = function() {
	cats.abstract.src = 'images/cat-abstract.gif';
}

cats.culinaryFunction = function() {
	cats.culinary.src = 'images/cat-culinary_over.gif';
}
cats.culinaryFunctionOut = function() {
	cats.culinary.src = 'images/cat-culinary.gif';
}

cats.floralFunction = function() {
	cats.floral.src = 'images/cat-floral_over.gif';
}
cats.floralFunctionOut = function() {
	cats.floral.src = 'images/cat-floral.gif';
}

cats.europeFunction = function() {
	cats.europe.src = 'images/cat-europe_over.gif';
}
cats.europeFunctionOut = function() {
	cats.europe.src = 'images/cat-europe.gif';
}

cats.landscapeFunction = function() {
	cats.landscape.src = 'images/cat-landscape_over.gif';
}
cats.landscapeFunctionOut = function() {
	cats.landscape.src = 'images/cat-landscape.gif';
}

cats.culturalFunction = function() {
	cats.cultural.src = 'images/cat-cultural_over.gif';
}
cats.culturalFunctionOut = function() {
	cats.cultural.src = 'images/cat-cultural.gif';
}

cats.natureFunction = function() {
	cats.nature.src = 'images/cat-nature_over.gif';
}
cats.natureFunctionOut = function() {
	cats.nature.src = 'images/cat-nature.gif';
}

cats.architectureFunction = function() {
	cats.architecture.src = 'images/cat-architecture_over.gif';
}
cats.architectureFunctionOut = function() {
	cats.architecture.src = 'images/cat-architecture.gif';
}

cats.animalsFunction = function() {
	cats.animals.src = 'images/cat-animals_over.gif';
}
cats.animalsFunctionOut = function() {
	cats.animals.src = 'images/cat-animals.gif';
}

cats.oversizeFunction = function() {
	cats.oversize.src = 'images/cat-oversize_over.gif';
}
cats.oversizeFunctionOut = function() {
	cats.oversize.src = 'images/cat-oversize.gif';
}

cats.mirrorsFunction = function() {
	cats.mirrors.src = 'images/cat-mirrors_over.gif';
}
cats.mirrorsFunctionOut = function() {
	cats.mirrors.src = 'images/cat-mirrors.gif';
}

cats.moldingFunction = function() {
	cats.molding.src = 'images/cat-molding_over.gif';
}
cats.moldingFunctionOut = function() {
	cats.molding.src = 'images/cat-molding.gif';
}

cats.photographyFunction = function() {
	cats.photography.src = 'images/cat-photography_over.gif';
}
cats.photographyFunctionOut = function() {
	cats.photography.src = 'images/cat-photography.gif';
}

cats.mensclubFunction = function() {
	cats.mensclub.src = 'images/cat-mensclub_over.gif';
}
cats.mensclubFunctionOut = function() {
	cats.mensclub.src = 'images/cat-mensclub.gif';
}

cats.coastalFunction = function() {
	cats.coastal.src = 'images/cat-coastal_over.gif';
}
cats.coastalFunctionOut = function() {
	cats.coastal.src = 'images/cat-coastal.gif';
}

cats.juvenileFunction = function() {
	cats.juvenile.src = 'images/cat-juvenile_over.gif';
}
cats.juvenileFunctionOut = function() {
	cats.juvenile.src = 'images/cat-juvenile.gif';
}

/*** Initialize..
****************************************************************************************************/
var footer = function() {

	footer.homemenuimage = $('footer-home');

	addEvent(footer.homemenuimage, 'mouseover', footer.homeFunction, false);
	addEvent(footer.homemenuimage, 'mouseout', footer.homeFunctionOut, false);

	footer.contactmenuimage = $('footer-contact');

	addEvent(footer.contactmenuimage, 'mouseover', footer.contactFunction, false);
	addEvent(footer.contactmenuimage, 'mouseout', footer.contactFunctionOut, false);

	footer.termsmenuimage = $('footer-terms');

	addEvent(footer.termsmenuimage, 'mouseover', footer.termsFunction, false);
	addEvent(footer.termsmenuimage, 'mouseout', footer.termsFunctionOut, false);

	footer.sitemapmenuimage = $('footer-sitemap');

	addEvent(footer.sitemapmenuimage, 'mouseover', footer.sitemapFunction, false);
	addEvent(footer.sitemapmenuimage, 'mouseout', footer.sitemapFunctionOut, false);

	footer.pressmenuimage = $('footer-press');

	addEvent(footer.pressmenuimage, 'mouseover', footer.pressFunction, false);
	addEvent(footer.pressmenuimage, 'mouseout', footer.pressFunctionOut, false);

}

/****************************************************************************************************/
footer.homeFunction = function() {
	footer.homemenuimage.src = 'images/footerhome_over.gif';
}
footer.homeFunctionOut = function() {
	footer.homemenuimage.src = 'images/footerhome.gif';
}

footer.contactFunction = function() {
	footer.contactmenuimage.src = 'images/contact-us_over.gif';
}
footer.contactFunctionOut = function() {
	footer.contactmenuimage.src = 'images/contact-us.gif';
}

footer.termsFunction = function() {
	footer.termsmenuimage.src = 'images/terms-conditions_over.gif';
}
footer.termsFunctionOut = function() {
	footer.termsmenuimage.src = 'images/terms-conditions.gif';
}

footer.sitemapFunction = function() {
	footer.sitemapmenuimage.src = 'images/sitemap_over.gif';
}
footer.sitemapFunctionOut = function() {
	footer.sitemapmenuimage.src = 'images/sitemap.gif';
}

footer.pressFunction = function() {
	footer.pressmenuimage.src = 'images/in-press_over.gif';
}
footer.pressFunctionOut = function() {
	footer.pressmenuimage.src = 'images/in-press.gif';
}

/*** Initialize on window load..
****************************************************************************************************/
addEvent(window, 'load', mainMenu, false);
addEvent(window, 'load', cats, false);
addEvent(window, 'load', footer, false);