// JavaScript Document

// bios
// ----------------------------------------------
var bioAddOnce = true;
function showBio(strName) {
	if (!strName.blank()) {
		new Effect.Fade($('leftColumn'), { duration:0.5, afterFinish:function(obj) { 
			switch(strName) {
				case 'Atussa':
					obj.element.innerHTML = '';
				break;
				case 'Katrina':
					obj.element.innerHTML = ''				
				break;
				case 'Nayer':
					obj.element.innerHTML = '';
				break;
				case 'Porscha':
					obj.element.innerHTML = '<div id="bio"><h3 id="porscha">Porscha</h3><img src="images/bio_porscha.jpg" id="bioImage" alt="porscha bio" /><table class="ABMtastes" cellpadding="2" cellspacing="0" summary="Porscha\'s interests displayed in a table."><thead><tr class="tableheader"><th>Icon</th><th>Question</th><th>Answer</th></tr></thead><tbody><tr><td><img src="images/born_southcentral.gif" /></td><td>Born In</td><td>South Central, Los Angeles</td></tr><tr class="alt"><td><img src="images/raised_germany.gif" /></td><td>Raised In</td><td>Germany, Ansbach (Army Brat) My mother was a real-life Drill Sergeant (but I still can&#8217;t follow orders)</td></tr><tr><td><img src="images/color_purple.gif" /></td><td class="tableColor">Favorite Color</td><td class="tableColor2">Purple</td></tr><tr class="alt"><td><img src="images/philosophy_flirt.gif" /></td><td>Philosophy of Life</td><td>I can kick your ass and make you fall in love with me at the same time!</td></tr><tr><td><img src="images/dreamhouse_porscha.gif" /></td><td>My Dream House</td><td>A humble crib in the Hollywood Hills</td></tr><tr class="alt"><td><img src="images/movie_300.gif" /></td><td>Favorite Movie</td><td>300</td></tr>	<tr><td><img src="images/fact_disney.gif" /></td><td>Interesting Fact</td><td>Spent my childhood as a Pro ice-skater with Disney on Ice.</td></tr></tbody><tfoot class="tablefoot"><tr><td colspan="3">Info supplied by Nyer from Anything But Monday</td></tr></tfoot></table><p>Okay, here&#8217;s a little tidbit about me&#8230;</p><p>I can do anything</p><p>WHERE I want,</p><p>WHEN I want&#8230; and, unfortunately, I know</p><p>WHAT I want.</p><p>If there&#8217;s something you want in life, I really suggest you speak up.</p><p>It&#8217;s not that I&#8217;m a BAD girl&#8230; It&#8217;s just that trouble seems to follow me wherever I go.   I tend to do crazy shit right out in the middle of public and not think twice about it.  Like calling out an uppity Beverly Hills Coffee Shop that is happy to sell you their cup of coffee, but then won&#8217;t let you drink it within their pathetic establishment if you happen to also have a delicious cupcake to go with it that you bought next door.  &#8216;Hate to mention names on the Internet, but if you feel like being treated like a piece of rotten shit, please go to:</p><p>Urth Caffe<br />267 S Beverly Dr<br />Beverly Hills, CA 90212-3807<br />Phone: (310) 205-9311<br /></p><p>&#8230;Or what about that guy in line at Starbucks that orders a Grande Carmel Macchiato with a shot of Ryan Seacrest froth for the extra dork power. Come on!<p>&#8230;And then there the mega-bitch that denies you a glass of water at McDonald&#8217;s&#8230;  Daaaamn, that pisses me off! Soda&#8217;s bad for your teeth. And what&#8217;s the big friggin&#8217; deal anyhow with asking for a simple glass of tap water? They put a bowl of water outside the entrance door for your dog!</p><p>So, you either suck it up,<br />or you stand up for yourself.</p><p>I consistently choose to stand up for my friends and for myself, and I don&#8217;t like to let anyone push us around. Together we keep each other grounded and out of jail!!!! (Most of the time).</p><p>My girls and I have gone from bad breakups to embarrassing moments, and we&#8217;ve made it through all the crap together without losing our minds. To protect each other means protecting our friendship. Something that no salesperson, club bitch, or more importantly, a &#8220;seedy guy&#8221; can destroy.</p> <p>Girls stick together, FOREVER!</p><p>As for LOVE. If you fall in love WITH ME, you can expect fireworks every day of your life.</p><p>And if I fall in love WITH YOU, you&#8217;ll never get rid of me!</p><p>My philosophy of <span class="l">L</span><span class="o">o</span><span class="v">v</span><span class="e">e</span> is that true  LOVE is not just about crushes and kisses; it&#8217;s about loyalty and keeping it REAL when life gets hard.</p></div>';
				break;
				case 'Samanda':
					obj.element.innerHTML = ''
				break;
				}
			new Effect.Appear(obj.element, { duration:0.5, afterFinish:function() { 
				var objDim = Position.getPageSize();
				if (BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7) {
					if (bioAddOnce) {
						var intHeight = (objDim.page.height + 600);
						bioAddOnce = false;
					} else {
						var intHeight = objDim.page.height;
					}
					$('mainContent').style.height = intHeight + 'px';
				} else {
					$('mainContent').style.height = objDim.page.height + 'px';
				}
			} } );
		} } );
	}
}
// position
Position.getPageSize=function()
{var xScroll,yScroll,scrollOffsetY;if(window.innerHeight&&window.scrollMaxY)
{xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}
else if(document.body.scrollHeight>document.body.offsetHeight)
{xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}
else
{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
if(self.pageYOffset)
{scrollOffsetY=self.pageYOffset;}
else if(document.documentElement&&document.documentElement.scrollTop)
{scrollOffsetY=document.documentElement.scrollTop;}
else if(document.body)
{scrollOffsetY=document.body.scrollTop;}
var windowWidth,windowHeight;if(self.innerHeight)
{windowWidth=self.innerWidth;windowHeight=self.innerHeight;}
else if(document.documentElement&&document.documentElement.clientHeight)
{windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}
else if(document.body)
{windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
pageHeight=Math.max(windowHeight,yScroll);pageWidth=Math.max(windowWidth,xScroll);return{page:{width:pageWidth,height:pageHeight},window:{width:windowWidth,height:windowHeight},scroll:{top:scrollOffsetY}};}
//broswser detection
// in general, a bad thing
var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)
return data[i].identity;}
else if(dataProp)
return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};BrowserDetect.init();

// gallery
// ----------------------------------------------
var arrImg = new Array();
var intIndex = 0;

function prepareSlideshow() {

	// ensure function will run
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;

	// retrieve gallery div
	var objGallery = $('gallerySkin');

	// condition
	if ($('bigPic')) {
		// construct and display navigation
		var objDiv = Builder.node('a', { id:'slideshowPrev', href:'/' } );
		objDiv.onclick = function() {
			intIndex--;
			if (intIndex < 0) {
				intIndex = arrImg.length - 1;
			}
			var objImg = $('img' + intIndex);
			showPic(objImg);
			return false; 
		}
		objGallery.appendChild(objDiv);
		var objDiv = Builder.node('a', { id:'slideshowNext', href:'/' } );
		objDiv.onclick = function() {
			intIndex++;
			if (intIndex >= arrImg.length) {
				intIndex = 0;
			}
			var objImg = $('img' + intIndex);
			showPic(objImg);
			return false;
		}
		objGallery.appendChild(objDiv);
		// retrieve ul containing thumbnails
		var gallery = $('thumbnails');
		if (gallery) {
			var links = gallery.getElementsByTagName('a');
			for (var i = 0; i < links.length; i++) {
				if (i != 0) {
					Element.setOpacity(links[i], 0.5);
				}
				arrImg.push(links[i].href);
				// add mouseover effect
				links[i].onmouseover = function() {
					Element.setOpacity(this, 1.0);
				}
				// add mouseout effect
				links[i].onmouseout = function() {
					if (this.id.substring(3) != intIndex) {
						Element.setOpacity(this, 0.5);
					}
				}
				// add click event
				links[i].onclick = function(param) {
					return showPic(this);
				}
			}
		
			// preload gallery images
			var intLen = arrImg.length;
			var arrPre = new Array(intLen);
			for (var i = 0; i < intLen; i++) {
				arrPre[i] = new Image();
				arrPre[i].src = arrImg[i];
			}
		}
	} else {
		// individual girl pages
		if ($('thumbnails')) {
			var gallery = $('thumbnails');
			var links = gallery.getElementsByTagName('a');
			for (var i = 0; i < links.length; i++) {
				if (!Element.hasClassName(links[i], 'selected')) {
					Element.setOpacity(links[i], 0.5);
				}
				// add mouseover effect
				links[i].onmouseover = function() {
					Element.setOpacity(this, 1.0);
				}
				// add mouseout effect
				links[i].onmouseout = function() {
					if (!Element.hasClassName(this, 'selected')) {
						Element.setOpacity(this, 0.5);
					}
				}
			}
		}
	}
}
function showPic (whichpic) {
	// ensure function will run
	if (!document.getElementById) return true;
	// get current image id
	var intCur = whichpic.id.substring(3);
	// set source
	$('bigPic').src = whichpic;
	// update nav
	var gallery = $('thumbnails');
	var links = gallery.getElementsByTagName('a');
	for (var i = 0; i < links.length; i++) {
		if (links[i].id.substring(3) == intCur) {
			Element.setOpacity(links[i], 1.0);
		} else {
			Element.setOpacity(links[i], 0.5);
		}
	}
	// update index
	intIndex = intCur;
	return false;
}

// form validation
// ----------------------------------------------
var tmFormHandler = {

	// public methods

	checkForm: function(objForm) {
		// local variables
		var blnError = false;		// indicates if error occurred
		var objFirst = null;		// first input for which error occurred
		// retrieve all labels
		var arrLabels = $(objForm).getElementsBySelector('label');
		for (var i = 0; i < arrLabels.length; i++) {
			// test for required class
			if (Element.hasClassName(arrLabels[i], 'required')) {
				var objInput = $(arrLabels[i].htmlFor);
				var strErrorText = null;
				if (objInput != null) {
					// validation logic
					strErrorText = this._validate(objInput, arrLabels[i]);
					if (strErrorText != null) {
						if (objFirst == null) {
							objFirst = objInput;
						}
						blnError = true;
						// write correction with label object and error text
						this._writeCorrection(arrLabels[i], strErrorText);
						// live autocorrect
						this._addLiveCorrect(objInput);
					} else {
						this._writeCorrection(arrLabels[i]);
					}
				}
			}
		}
		if (blnError) {
			objFirst.focus();
			return false;
		} else {
			return true;
		}
	},

	validateEmail: function(strEmail) { return strEmail.match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/); },

	// private methods

	_addLiveCorrect: function(objInput) {
		// text and password inputs
		if (objInput.nodeName.toLowerCase() == 'input' && (objInput.getAttribute('type') == 'text' || objInput.getAttribute('type') == 'password')) {
			objInput.onkeyup = this._checkValidity;
		// textareas
		} else if (objInput.nodeName.toLowerCase() == 'textarea') {
			objInput.onkeyup = this._checkValidity;
		// selects
		} else if (objInput.nodeName.toLowerCase() == "select") {
			objInput.onchange = this._checkValidity;
		// files
		} else if (objInput.nodeName.toLowerCase() == 'input' && (objInput.getAttribute('type') == 'file')) {
			objInput.onchange = this._checkValidity;
		}
	},

	_checkValidity: function() {
		var strErrorText = null;
		var objLabel = Element.getElementsBySelector(this.parentNode, 'label')[0];
		strErrorText = tmFormHandler._validate(this, objLabel);
		if (strErrorText != null) {
			tmFormHandler._writeCorrection(objLabel, strErrorText);
		} else {
			tmFormHandler._writeCorrection(objLabel);
		}
	},

	_removeError: function(objLabel) {
		var objInput = $(objLabel.htmlFor);
		var arrErr = $(objInput.parentNode).getElementsByClassName('correctionText');
		if (arrErr.length > 0) { objInput.parentNode.removeChild(arrErr[0]); };
	},

	_validate: function(objInput, objLabel) {
// objInput.nodeName
	/*	if (objInput.constructor == '[HTMLFieldSetElement]') {
			var strReturn = 'Please select at least one';
			var arrInputs = objInput.getElementsBySelector('input');
			for (var i = 0; i < arrInputs.length; i++) {
				if (arrInputs[i].checked) { strReturn = null;  }
			}
			return strReturn;
		}*/
		if (objInput.value.strip() == '') {
			return 'Please fill in "' + objLabel.innerHTML.replace(/:/, '').stripTags() + '"';
		} else if (objLabel.hasClassName('requiredEmail') && !this.validateEmail(objInput.value)) {
			return 'Please supply a valid email address';
		}
		if (objLabel.hasClassName('requiredPassword')) {
			var arrPass = new Array();
			var objForm = objLabel.up('form');
			var arrInputs = objForm.getInputs('password');
			for (var i = 0; i < arrInputs.length; i++) {
				arrPass.push(arrInputs[i].value);
			}
			if (arrPass.uniq().length != 1) {
				var arrInputs = objForm.getInputs('password');
				for (var i = 0; i < arrInputs.length; i++) {
					arrInputs[i].value = '';
				}
				arrInputs[0].focus();
				return 'Your passwords do not match!';
			}
		}
	},

	_writeCorrection: function(objLabel, strText, blnCorrect) {
		var objInput = $(objLabel.htmlFor);
		var objImage = $(objLabel.parentNode).getElementsBySelector('img')[0];
		// no error, remove existing error
		if (!strText) {
//			if (objImage != null) { objLabel.removeChild(objImage); }
			objInput.removeClassName('errorNotice');
			this._removeError(objLabel);
		} else {
			// error
			if (objImage == null) {
				var objImg = Builder.node('img', { className:'correctionIcon' } );
//				objImage = objLabel.insertBefore(objImage, objInput);
			}
			// remove existing error notice
			this._removeError(objLabel);
			// add new error notice
			var objP = Builder.node('span', { className:'correctionText' }, strText);
			objInput.parentNode.appendChild(objP);
			objInput.addClassName('errorNotice');
		}
		return true;
	}

}

// video
// ----------------------------------------------
function addVideo() {
	if (document.getElementById) {
		if ($('video')) {
			var objSwf = new SWFObject("http://anythingbutmonday.com/video/flvplayer.swf", "video", "249", "160", "8", "#8A080B");
			objSwf.addVariable('file', 'http://anythingbutmonday.com/video/anything_trailer_041808.flv');
			objSwf.addVariable('image', 'http://anythingbutmonday.com/images/video_area_2-314x215.jpg');
			objSwf.addVariable('autostart', 'false');
			objSwf.addVariable('showdigits', 'false');
			objSwf.addVariable('autostart', 'false');
			objSwf.addParam('wmode', 'transparent');
			objSwf.write('video');
		}
	}
}

// event observers
// ----------------------------------------------
Event.observe(window, 'load', prepareSlideshow, false);
Event.observe(window, 'load', addVideo, false);