// JavaScript Document
// Example:
// alert( readCookie("myCookie") );
function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
// Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 days.
function writeCookie(name, value, days)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + days * 24 * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}



function hideEmail(_name, _domain, _class) {
	if(_class==null) _class='';
	document.writeln('<a href="mailto:'+_name+'@'+_domain+'" class="'+_class+'">'+_name+'@'+_domain+'</a>');	
}
function addCSS(key,value) {
	document.writeln('<style type="text/css">'+key+'{'+value+'}</style>');
}

function addRemoveClass(id,className){
	domObj = document.getElementById(id);
	currentClass = domObj.className;
	if (currentClass.indexOf(className)<0){
		currentClass = currentClass+" "+className;
		domObj.className = currentClass;
	}else{
		currentClass = currentClass.replace(className, "");
		domObj.className = currentClass;
	}
}
function clearValue(obj,test_value){
	if(obj.value==test_value) obj.value = '';	
}
function resetValue(obj,reset_value){
	if(obj.value=='') obj.value = reset_value;	
}
function searchGG(){
	var doGoogle = true;
	var s = document.getElementById('search').value.toLowerCase();
	var b = document.getElementById('go');
	var st= [];
	st.push({"term":"club","url":"/start-a-club/"});
	st.push({"term":"emerald","url":"/gorgeously-green-widget/"});
	st.push({"term":"Emerald","url":"/gorgeously-green-widget/"});	
    st.push({"term":"quiz","url":"/gorgeously-green-widget/"});
	st.push({"term":"goddess","url":"/my-beauty"});
	st.push({"term":"knockout","url":"/my-fashion"});
	st.push({"term":"mychicobag","url":"/my-chico-bag"});
	st.push({"term":"my chico bag","url":"/my-chico-bag"});
	st.push({"term":"dazzle","url":"/my-eco-home"});
	st.push({"term":"yummy","url":"/gg-recipes/"});
	st.push({"term":"dreamy","url":"/my-travel"});
	st.push({"term":"magnificent","url":"/my-world"});
	
	
	st.push({"term":"appearances","url":"/gg-tv/appearances/"});
	st.push({"term":"theview","url":"/gg-tv/appearances/"});
	st.push({"term":"the view","url":"/gg-tv/appearances/"});
	st.push({"term":"walmart","url":"/gg-tv/appearances/"});
	st.push({"term":"ivillage","url":"/gg-tv/appearances/"});
	st.push({"term":"how to","url":"/media.php"});
	st.push({"term":"how tos","url":"/media.php"});	
	st.push({"term":"video","url":"/media.php"});	
	st.push({"term":"ggtv","url":"/media.php"});
	st.push({"term":"oprah","url":"/gg-tv/appearances/"});
	st.push({"term":"oprahshow","url":"/gg-tv/appearances/"});
	st.push({"term":"access hollywood","url":"/gg-tv/appearances/"});
	st.push({"term":"cheat sheet","url":"/cheatsheet"});
    st.push({"term":"cheatsheet","url":"/cheatsheet"});

	


	
	var sv = s.split(" ");
	for(var i=0;i<sv.length;i++){
		for(var j=0;j<st.length;j++){
			if(sv[i]==st[j].term){
				window.location.href = st[j].url;
				doGoogle = false;
			}
		}
	}
	if(doGoogle){
		b.target = "_self";
		b.href = 'http://www.google.com/search?hl=en&q=site%3Awww.gorgeouslygreen.com+'+escape(s);
		return true;
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// emailName is the name of the text field
function validateEmail(emailName) {
	var emailObj = MM_findObj(emailName);
	if (window.RegExp) {
		var regstr_1 = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)"; //invalid email
		var regstr_2 = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4})(\\]?)$"; //valid email
		var reg1 = new RegExp(regstr_1);
		var reg2 = new RegExp(regstr_2);
		if (emailObj.value.length > 0 && !reg1.test(emailObj.value) && reg2.test(emailObj.value)){
			return true;
		}else{
			alert("Please enter a valid email address.");
			emailObj.focus();
			emailObj.select();
			return false;
		}
	}else{
		var p=emailObj.value.indexOf('@'); var z=emailObj.value.indexOf('.');
        if (z<1 || z==(emailObj.value.length-1) || p<1 || p==(emailObj.value.length-1)){
			alert("Please enter a valid email address.");
			emailObj.focus();
			emailObj.select();
			return false;
		}else{
			return true;
		}
	}
}

function checkFieldLength(field,length,displayName){
	var field = MM_findObj(field);
	field.value = removeLeadingAndTrailingChar (field.value, " ");
	if(field.value.length < length){
		if(length == 1){
			alert("Please make sure "+displayName+" is completed.");
			field.select();
			field.focus();
		}else{
			alert("Please make sure "+displayName+" has at least "+length+" characters.");
			field.select();
			field.focus();
		}
		return false;
	}else{
		return true;
	}
}
function removeLeadingAndTrailingChar (inputString, removeChar){
	var returnString = inputString;
	if (removeChar.length){
		while(''+returnString.charAt(0)==removeChar){
			returnString=returnString.substring(1,returnString.length);
		}
		while(''+returnString.charAt(returnString.length-1)==removeChar){
			returnString=returnString.substring(0,returnString.length-1);
		}
	}
	return returnString;
}

function validateSelectList(selectID,diplayValue){
	var selectObj = MM_findObj(selectID);
	if(-1 == parseInt(selectObj.value)){
		alert("Please select a "+diplayValue+" value.");
		selectObj.focus();
		return false;
	}else{
		return true;
	}
}
function matchFields(field_1,field_2,displayName){
	var field_1 = MM_findObj(field_1);
	var field_2 = MM_findObj(field_2);
	if(field_1.value != field_2.value){
		alert("Please make sure that both "+displayName+" match correctly.");
		field_1.select();
		field_1.focus();
		return false;
	}else{
		return true;
	}
}
function initSelectValue(selectID,selectValue){
	if(selectValue!=""){
		var selectObj = document.getElementById(selectID);
		for(var i=0;i<selectObj.options.length;i++){
			if(selectValue == selectObj.options.item(i).value){
				selectObj.selectedIndex = i;
			}
		}
	}
}

function check_join_form(){
	if(checkFieldLength('firstname',1,'First Name') &&
		checkFieldLength('lastname',1,'Last Name') &&
		checkFieldLength('company',1,'Company') &&
		checkFieldLength('title',1,'Title') &&
		validateSelectList('occupation','Occupation') &&
		checkFieldLength('address1',1,'Address 01') &&
		checkFieldLength('city',1,'City') &&
		validateSelectList('state','State') &&
		checkFieldLength('zip',1,'Zip Code') &&
		checkFieldLength('phone',1,'Phone') &&
		validateEmail('email') &&
		matchFields('email','email2','Emails') &&
		checkFieldLength('password',5,'Password') &&
		matchFields('password2','password2','Passwords')
	){
		return true;
	}else{
		return false;
	}
	
}

/* browser.js - contents ported so browser.js can be used for contents 
 * of jquery-1.2.6.min.js - acknowledged to be a bit of a kludge, but 
 * such is the result of not having includes for any portion of the 
 * <head> on any page
 */
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"
		},
		{		// for newer Netscapes (6+)
			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"
		},
		{ 		// for older Netscapes (4-)
			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();

// https check
function httpsCheck(secure){
	var url = String(window.location).toLowerCase();
	if(secure){
		if(url.indexOf("https")==-1){
			url = url.split("://");
			window.location = url[0]+"s://"+url[1];
		}
	}else{
		if(url.indexOf("https")!=-1){
			url = url.split("://");
			window.location = "http://"+url[1];
		}
	}
}

/* this is dumped in here because we can't place it on every page 
 * easily 
*/
	//following is used by jQuery for drop down menu
	$(document).ready(function(){
		$('#sub-nav_blog').slideUp('fast');
		$('#sub-nav_blog').parent().hover(function(){
			$('#sub-nav_blog').slideDown('fast');
		},function() {
			$('#sub-nav_blog').slideUp('normal');
		});
		$('#sub-nav_blog').hover(function(){
			$('#sub-nav_blog').show();
		});
	});
	
function popup(){

		window.open('http://www.gorgeouslygreen.com/tell_a_friend.php', 'tellafriend_script','scrollbars=1,statusbar=1,resizable=1,width=550,height=600');

	}

function CountWords (this_field, show_word_count, show_char_count) {
if (show_word_count == null) {
show_word_count = true;
}
if (show_char_count == null) {
show_char_count = false;
}
var char_count = this_field.value.length;
var fullStr = this_field.value + " ";
var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
var splitString = cleanedStr.split(" ");
var word_count = splitString.length -1;
if (fullStr.length <2) {
word_count = 0;
}
if (word_count == 1) {
wordOrWords = " word";
}
else {
wordOrWords = " words";
}
if (char_count == 1) {
charOrChars = " character";
} else {
charOrChars = " characters";
}
if (show_word_count & show_char_count) {
alert ("Word Count:\n" + "    " + word_count + wordOrWords + "\n" + "    " + char_count + charOrChars);
}
else {
if (show_word_count) {
alert ("Word Count:  " + word_count + wordOrWords);
}
else {
if (show_char_count) {
alert ("Character Count:  " + char_count + charOrChars);
      }
   }
}
return word_count;
}
//  End -->