if(typeof LT=="undefined"||!LT){var LT={};}

var Evt = YAHOO.util.Event;
var Dom = YAHOO.util.Dom;

LT.HomePromos = function() {
	return {
		fadeTimer: false,

		init: function() {
			this.mainPromoImage = Dom.get('mainPromoImage');
			this.mainPromoLink = Dom.get('mainPromoLink');
			this.promoLinks = Dom.getElementsByClassName('homeLinks', 'a', 'mod_homeFeaturesNav');
			this.promoImages = Dom.getElementsByClassName('promoImages', '', 'mod_homeImages');
			this.promoURLs = Dom.getElementsByClassName('promoURLs', 'a', 'mod_homeImages');
			Evt.on(this.promoLinks, 'click', this.handleClick, this, true);
			// set timer to do fading
			this.fadeTimer = window.setInterval(LT.HomePromos.interval, 8000);
		},

		interval: function() {
			if (LT.HomePromos.promoLinks[0].href==LT.HomePromos.mainPromoLink) {
				LT.HomePromos.swap(LT.HomePromos.promoLinks[1]);
				return;
			};
			if (LT.HomePromos.promoLinks[1].href==LT.HomePromos.mainPromoLink) {
				LT.HomePromos.swap(LT.HomePromos.promoLinks[0]);
			};
		},

		handleClick: function(ev) {
			Evt.preventDefault(ev);
			var target = Evt.getTarget(ev);
			this.swap(target);
			if (target.blur)
				target.blur();
			this.cancelFade = true;
			window.clearInterval(LT.HomePromos.fadeTimer);
			this.fadeTimer = false;
		},

		swap: function(target) {
			// swap HREF
			this.mainPromoLink.href = target.href;
			// get index
			var imgIndex = false;
			for (var i=0; i<this.promoLinks.length; i++) {
				if (this.promoLinks[i].id == target.id) {
					imgIndex = i;
					Dom.addClass(target.parentNode, 'on');
				} else {
					Dom.removeClass(this.promoLinks[i].parentNode, 'on');
				};
			};
			// swap image
			this.mainPromoImage.src = this.promoImages[imgIndex].src;
		},

                EOF: null
        };
}();


LT.DevLinks = function() {
	var Evt = YAHOO.util.Event;
	var Dom = YAHOO.util.Dom;
	var links = [];

	return {
		init: function() {
			// only do this on dev.lipsticktracez.com, to make sure all paths are relative
			var thisUrl = document.location.host;
			if (thisUrl != 'dev.lipsticktracez.com') {
				return;
			};
			// get links from DOM
			links = document.getElementsByTagName('a');
			// loop through links, replace domain when www.lipsticktracez.com
			for (var i=0; i<links.length; i++) {
				if (links[i].href.substr(7,22) == 'www.lipsticktracez.com') {
					links[i].href = 'http://dev.lipsticktracez.com'+ links[i].href.substr(29);
				};
			};
		},
		EOF: null
	};
}();
YAHOO.util.Event.onDOMReady(LT.DevLinks.init); 


LT.Email = function() {

	// PRIVATE PROPERTIES
	var Evt = YAHOO.util.Event;
	var Dom = YAHOO.util.Dom;
	var _iFrame = false;
	var _sendLinks = [];
	var _sendAddys = {};
	_sendAddys['ok'] = ['105-110-102-111', '111-114-100-105-110-97-114-121-107-105-100-115', ''];
	_sendAddys['jason'] = ['106-97-115-111-110', '111-114-100-105-110-97-114-121-107-105-100-115', ''];
	_sendAddys['rob'] = ['114-111-98', '114-111-98-97-98-101-121-116-97', ''];
	_sendAddys['dualforces'] = ['105-110-102-111', '100-117-97-108-102-111-114-99-101-115', ''];
	_sendAddys['anne'] = ['97-46-103-105-108-108-101-115-112-105-101', '109-97-99', ''];
	_sendAddys['nancy'] = ['110-97-110-99-121-99-97-114-108-115-111-110', '109-97-99', ''];
	_sendAddys['steven'] = ['105-108-111-118-101-112-105-110-107', '109-97-99', ''];
	_sendAddys['info'] = ['105-110-102-111', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['blair'] = ['98-108-97-105-114', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['allison'] = ['97-108-108-105-115-111-110', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['reggie'] = ['114-101-103-103-105-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['cindy'] = ['99-105-110-100-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['brighdie'] = ['98-114-105-103-104-100-105-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['jody'] = ['106-111-100-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['laura'] = ['108-97-117-114-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['mary'] = ['109-97-114-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['kristy'] = ['107-114-105-115-116-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['mimi'] = ['109-105-109-105', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['jesse'] = ['106-101-115-115-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['judy'] = ['106-117-100-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['christina'] = ['99-104-114-105-115-116-105-110-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['sabina'] = ['115-97-98-105-110-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['angela'] = ['97-110-103-101-108-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['posso'] = ['112-111-115-115-111', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];   
	_sendAddys['tiffany'] = ['116-105-102-102-97-110-121', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', '']; 
	_sendAddys['lulu'] = ['108-117-108-117', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['karen'] = ['107-97-114-101-110', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['cara'] = ['99-97-114-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['nana'] = ['110-97-110-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['alex'] = ['97-108-101-120', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['shaniqwa'] = ['115-104-97-110-105-113-119-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['yasmine'] = ['121-97-115-109-105-110-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['nagi'] = ['110-97-103-105', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['angelique'] = ['97-110-103-101-108-105-113-117-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['jaymie'] = ['106-97-121-109-105-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['lotte'] = ['108-111-116-116-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['jennie'] = ['106-101-110-110-105-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['danielle'] = ['100-97-110-105-101-108-108-101', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['andrea'] = ['97-110-100-114-101-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	_sendAddys['jessica'] = ['106-101-115-115-105-99-97', '108-105-112-115-116-105-99-107-116-114-97-99-101-122', ''];
	
	// PRIVATE METHODS
	function handleClick(ev) {
		// get target
		var target = Evt.getTarget(ev);
		if (target.nodeName=='IMG') {
			target = target.parentNode;
		}
		// figure out index
		var index = target.id.substr(5);
		// lookup name
		var person = _sendAddys[index];
		if (person && person[0] && person[1]) {
			// get address
			var domainCode = (person[2]) ? decodeString(person[2]) : 'com'; 
			var address = decodeString(person[0]) +'@'+ decodeString(person[1]) +'.'+ domainCode;
			// send email
			if (!_iFrame) {
				_iFrame = document.createElement('iframe');
				_iFrame.id = 'emailFrame';
				Dom.get('doc').appendChild(_iFrame);
			};
			_iFrame.src = decodeString('109-97-105-108-116-111') + ':'+ address;
		};
	};
	
	function decodeString(string) {
		var returnString='';
		var characters = string.split('-');
		for (i=0; i<characters.length; i++) {
			returnString += String.fromCharCode(characters[i]);
		};
		return returnString;
	};
	
	return {
		
		// PUBLIC METHODS
		init: function() {
			_sendLinks = Dom.getElementsByClassName('send', 'span', 'doc');
			Evt.on(_sendLinks, 'click', handleClick, this, true);
		},
		
		EOF: null
	};
}();
YAHOO.util.Event.on(window, 'load', LT.Email.init, LT.Email, true);


/* MAIN ADMIN */
LT.ModScroller = function() {
    var Evt = YAHOO.util.Event;
    var Dom = YAHOO.util.Dom;

    return {
		bodyObj: false,
		scrollboxObj: false,
		upObj: false,
		downObj: false,
		autoScrollTimer: false,
		isScrolling: false,
		
		init: function() {
			//get #scrollBox div
			this.scrollboxObj = Dom.get('scrollBox');
			this.scrollboxObj.style.top = '0px';
			this.bodyObj = Dom.get('sct_bd');
			
			//get up & down arrows
			this.upObj = Dom.get('up');
			this.downObj = Dom.get('down');

			//add event listener to up & down arrows
			Evt.on(this.upObj, 'mousedown', this.handleMouseDown, this, true);
			Evt.on(this.downObj, 'mousedown', this.handleMouseDown, this, true);
			Evt.on(this.upObj, 'mouseup', this.handleMouseUp, this, true);
			Evt.on(this.downObj, 'mouseup', this.handleMouseUp, this, true);
		},
		
		handleMouseDown: function(ev) {
			var target = Evt.getTarget(ev);
			this.action = target.id;
			
			// set timer to start auto-scrolling
			this.autoScrollTimer = window.setTimeout('LT.ModScroller.autoScroll()', 200);
		},
		
		handleMouseUp: function(ev) {
			var target = Evt.getTarget(ev);			
			
			// if autoScroll didn't have a chance to start working
			// just scroll one 'unit'
			if (!this.isScrolling) {
				if (this.action == 'down')
					this.moveDown();
				else
					this.moveUp();
			};
			
			// clear scrolling stuffs
			window.clearTimeout(this.autoScrollTimer);
			this.autoScrollTimer = false;
			this.isScrolling = false;
			window.clearTimeout(this.autoScrollInterval);
			this.autoScrollInterval = false;
		},
		
		autoScroll: function() {
			this.isScrolling = true;
			// scroll down/up every few milliseconds...
			if (this.action == 'down') {
				this.autoScrollInterval = window.setInterval('LT.ModScroller.moveDown()', 50);
			} else {
				this.autoScrollInterval = window.setInterval('LT.ModScroller.moveUp()', 50);
			};

		},
		
		moveDown: function() {
			var currentOffset = this.getOffset();
			
			// stop if we're already at the bottom
			var boxHeight = this.bodyObj.offsetHeight;
			var scrollerHeight = this.scrollboxObj.offsetHeight;
			var scrollableHeight = (scrollerHeight > boxHeight) 
				? (scrollerHeight - boxHeight) * -1
				: (boxHeight) * -1;
			if (currentOffset <= scrollableHeight) return;
			
			// subtract 60px from it
			currentOffset = currentOffset - 60;
			
			// reform the string: the new value + ' px'
			this.scrollboxObj.style.top = currentOffset + 'px';
		},
		
		moveUp: function() {
			var currentOffset = this.getOffset();
			
			// stop if we're already at the top
			if (currentOffset>=0) return;
			
			// add 60px to it
			currentOffset = currentOffset + 60;
			
			// reform the string: the new value + ' px'
			this.scrollboxObj.style.top = currentOffset + 'px';
		},
		
		getOffset: function() {
			// if indexOf px exists,
			var px = this.scrollboxObj.style.top.indexOf('px');
			if (px >= 0) {
				//remove last 2 indexes
				this.scrollboxObj.style.top = this.scrollboxObj.style.top.substring(px);
			}
			// parseInt the remaining string
			var currentOffset = parseInt(this.scrollboxObj.style.top);
			return currentOffset;
		},

        EOF : null
    };
}();



LT.Expandable = function() {

    var Evt = YAHOO.util.Event;
    var Dom = YAHOO.util.Dom;

    return {
        links: [],
        sections: [],

        init: function() {
            if (!Dom.get('doc')) return;
	    this.sections = Dom.getElementsByClassName('expandable', '', Dom.get('doc'));
            // add event listeners to actuator links
            var tmp=[], i=0;
	    for (var i=0; i<this.sections.length; i++) {
                tmp = Dom.getElementsByClassName('more', 'a', this.sections[i]);
                for (ii=0; ii<tmp.length; ii++)
                    this.links.push(tmp[ii]);
            };
            Evt.on(this.links, 'click', this.handleClick, this, true);
        },

        handleClick: function(ev) {
            // get and cancel out link target
            var target = Evt.getTarget(ev);
            Evt.stopEvent(ev);
            // find parent div and turn on
            while (!Dom.hasClass(target, 'expandable')) {
                target = target.parentNode;
            };
            Dom.addClass(target, 'expanded');
        },

        EOF: null
    };
}();



LT.LinkRolls = function() {
	var Evt = YAHOO.util.Event;
	var Dom = YAHOO.util.Dom;

	return {
		init: function() {
			// get linkroll module
			var linkrollObj = Dom.get('linkroll');
			if (!linkrollObj) return;

			// get number of links
			var links = Dom.getElementsByClassName('item', 'li', linkrollObj);

			// remove module if no links
			if (!links.length) {
				linkrollObj.parentNode.removeChild(linkrollObj);
			};
		},

		EOF: null
	};
}();

LT.BlogAds = function() {
	return {
		init: function() {
			this.fixAds();
			this.fixColumns();
		},

		fixAds: function() {
                        var ads = Dom.get('mod_skyscraper');
			var bd = Dom.get('sct_bd');
			var hd = Dom.get('mod_blogHeader');
			if (!ads || !bd || !hd) return;

			// remove from current position
			ads.parentNode.removeChild(ads);
			bd.appendChild(ads);
			ads.style.display = 'block';
			ads.style.top = (hd.offsetHeight + 26) + 'px';
		},

		fixColumns: function() {
                        // make content height the same
			var entry = Dom.get('mod_singleEntry');
			var sidebar = Dom.get('mod_sidebar');
			if (!sidebar || !entry) return;

			if (sidebar.offsetHeight > entry.offsetHeight) {
				entry.style.height = (sidebar.offsetHeight) + 'px';
			};

		},

		EOF: null
	};
}();

LT.Forms = function() {
    return {
        clear: function(formInput) {
            if (formInput.value == formInput.title) {
                formInput.value = '';
                formInput.style.color = '#333';
            };
        },

        EOF: null
    };
}();
