//=================================//
// Earth Hour signup & takeaction  //
//=================================//
// 2009-02-10: MA; Created
// 2010-09-22: MA; Modified for EH 2010
// 2010-10-04: MA; Tooltip position fix

var eh_hasSignUp = false;
var eh_hasTakeAction = false;
var localPath = "";
var earthHourId = 0;
if (typeof(debug)=='undefined') var debug = 0;

$('#col1').css("padding","0");
$('#col2').hide();
$('#breadcrumb').hide();

/* ----- Common ----- */

var eh_form = new Object();

// Read cookie and set form
var c = eh_readCookie('ehform');
if (c!=null) {
	var p = c.split('&');
	for(i in p) {
		var nv = p[i].split('=');
		if (nv.length==2) {
			eh_setform(nv[0],unescape(nv[1]));
		}
	}
}

//eh_setform();

function eh_setform(name,value) {
	if (typeof(name)=="object") {
		for(i in name) {
			if (typeof(name[i])=='object') {
				if (name[i]!=null) {
					var nam = name[i].name;
					if (typeof(nam)!='undefined' && typeof(name[i].type)!='undefined') {
						var val = '';
						if (name[i].type=="hidden") val = name[i].value;
						if (name[i].type=="text") val = name[i].value;
						if (name[i].type=="textarea") val = name[i].value;
						if (name[i].type=="select-one") val = name[i].value;
						if (name[i].type=="checkbox") {
							if (name[i].checked==true) val = name[i].value;
						}
						eh_form[nam] = val;
					}
				}
			}
		}
	}
	if (typeof(name)=="string") {
		eh_form[name] = value;
	}
	if (typeof(name)=="undefined") {
		var c="";
		for(i in eh_form) {
			c += "&"+i+"="+escape(eh_form[i]);
		}
		c = c.substr(1,99999);
		eh_createCookie('ehform',c,7)
	}
}

function eh_getform(name) {
	if (typeof(eh_form[name])=="undefined") {
		return '';
	} else {
		return eh_form[name];
	}	
}

function eh_setformfields(name) {
	for(i in eh_form) {
//		$(name+' :input[@name='+i+']').val(eh_getform(i));
		if ($(name+' :input[@name='+i+']').attr('type')=='checkbox') {
			if (eh_getform(i)=='') {
				$(name+' :input[@name='+i+']').attr('checked',false);
			} else {
				$(name+' :input[@name='+i+']').attr('checked',true);
			}
		} else {
			$(name+' :input[@name='+i+']').val(eh_getform(i));
		}
	}
}

function eh_getformview() {
	var c="===eh_form===\n";
	for(i in eh_form) {
		c += i+"=["+escape(eh_form[i])+"]\n";
	}
	alert(c);
}

/* ----- Watch YouTube ----- */

var eh_dialog_watch_cur = "";

function changeWatch(id) {
	var flv = "http://www.youtube.com/v/"+id+"&hl=en_US&fs=1&rel=0";
	flv += "&autoplay=1";
	//$('#eh_youtube param[@name=movie]').attr('value',flv);
	//$('#eh_youtube embed').attr('src',flv);

	var html = "";
	var hasflash = true;
	if (typeof(eh_hasFalsh)!="undefined") {
		hasflash = eh_hasFalsh(9,0,0);
	}

	if (hasflash==true) {
		if (id!='') {
			trackEvent('Watch Video', id);

			html += '<object width="546" height="354">\n';
			html += '<param name="movie" value="'+flv+'"></param>\n';
			html += '<param name="allowFullScreen" value="true"></param>\n';
			html += '<param name="allowscriptaccess" value="always"></param>\n';
			html += '<param name="wmode" value="transparent"></param>\n';
			html += '<embed src="'+flv+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="546" height="354"></embed>\n';
			html += '</object>';

			if (eh_dialog_watch_cur!='') {
				$("#eh_dialog_watch table tr td[@rel="+eh_dialog_watch_cur+"]").removeClass('on');
			}
			$("#eh_dialog_watch table tr td[@rel="+id+"]").addClass('on');
			eh_dialog_watch_cur = id;
			
		} 
	} else {
		html += '<div style="background-color:#fff;text-align:center;margin-top:90px;padding:50px;">\n';
		html += '<p>Please download the <a href="http://www.adobe.com/go/getflashplayer/" target="_blank">Adobe flash player</a> to view these videos.</p>\n';
		html += '<p>Our visit <a href="http://www.youtube.com/earthhour2010" target="_blank">YouTube</a> to watch these videos.</p>';
		html += '</div>';
	}

	$('#eh_youtube').html(html);

	return false;
}

/* ----- Dialogs ----- */

var eh_dialogCurrentName = "";

function eh_open(name,color,url,data,showOverlay) {
	if (name=="") name = eh_dialogCurrentName;
	if (typeof(color)=="undefined") color = '';
	if (typeof(url)=="undefined") {
		url = '';
		if (name=='eh_dialog_signup') 		{ url = localUrl + 'signup.cfm'; 		color = 'black'; }
		if (name=='eh_dialog_takeaction') 	{ url = localUrl + 'takeaction.cfm'; 	color = 'black'; }
		if (name=='eh_dialog_why') 			{ url = localUrl + 'why.cfm'; 			color = 'white'; }
		if (name=='eh_dialog_watch') 		{ url = localUrl + 'watch.cfm'; 		color = 'white'; }
	}
	if (typeof(data)=="undefined") data = '';
	if (typeof(showOverlay)=="undefined") showOverlay = true;

	//if ($('#eh_dialog_'+name).length == 0) {
	if (eh_dialogCurrentName != name) {

		var dialogHtml = "";
	
		dialogHtml += "<div id='eh_dialog_"+name+"' class='eh_dialog "+color+"'>";
		dialogHtml += " <div class='eh_dialog_t'></div>";
		dialogHtml += " <div class='eh_dialog_l'>";
		dialogHtml += "  <div class='eh_dialog_r'>";
		dialogHtml += "   <div class='eh_dialog_m'>";
		dialogHtml += "    <div class='eh_dialog_close'><a class='eh_but eh_but_off' href='#' onClick=\"return eh_close('"+name+"')\">Close</a></div>";
		dialogHtml += "    <div class='eh_dialog_content'></div>";
		dialogHtml += "    <div class='clearall'></div>";
		dialogHtml += "   </div>";
		dialogHtml += "  </div>";
		dialogHtml += "	</div>";
		dialogHtml += "	<div class='eh_dialog_b'></div>";
		dialogHtml += "</div>";
		
		$('body').append(dialogHtml)
		
	} else {

		var h = $('#eh_dialog_'+name+' .eh_dialog_content').height();
		$('#eh_dialog_'+name+' .eh_dialog_content').html("<div class='eh_loading' style='height:"+h+"px'></div>");
		
	}

	$('#eh_dialog_'+name+' .eh_dialog_close').css("visibility","hidden");

	$.ajax({
		type: 'post',
		url: url,
		data: data,
		dataType: 'html',
		success: function(data, textStatus) {
			eh_open_complete(name,data);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			//var a = "";	for(i in XMLHttpRequest) a+=i+"=["+XMLHttpRequest[i]+"]<br>";
			eh_open_complete(name,textStatus);
		}
	});

	if (eh_dialogCurrentName=='' && showOverlay) {
		$('#eh_dialog_overlay div').addClass('on');
		$('#eh_dialog_overlay').fadeIn('slow');
	}

	return false;
}

function eh_open_complete(name,data) {
	if (typeof(showOverlay)=="undefined") showOverlay = true;

	trackEvent('Open Dialog', name);

	$('#eh_dialog_'+name+' .eh_dialog_close').css("visibility","visible");
	$('#eh_dialog_'+name+' .eh_dialog_content').html(data);

	var pit = eh_position();

	var dialogHeight = $('#eh_dialog_'+name).height();
	var dialogWidth = $('#eh_dialog_'+name).width();

	var top = pit.ScrollTop + parseInt((pit.ViewHeight/2)-(dialogHeight/2));
	if (top < pit.ScrollTop) top = pit.ScrollTop+5;

	var left = pit.ScrollLeft + parseInt((pit.ViewWidth/2)-(dialogWidth/2));
	if (left < pit.ScrollLeft) left = pit.ScrollLeft+5;

	$('#eh_dialog_overlay div').removeClass('on');
	
	if (eh_dialogCurrentName != '') {
		$('#eh_dialog_'+name).animate({ 
			top: top
			,left: left
		}, 500 );
	} else {
		$('#eh_dialog_'+name).css('left',left);
		$('#eh_dialog_'+name).css('top',top);
		$('#eh_dialog_'+name).fadeIn('fast');
	}

	eh_dialogCurrentName = name;

	if (debug) {
		$('#eh_debug').html('pit.ScrollTop['+pit.ScrollTop+'] dialogHeight['+dialogHeight+'] pit.ViewHeight['+pit.ViewHeight+'] top['+top+']');
	}

	if (name=='eh_dialog_watch') {
		if (eh_dialog_watch_cur == '') changeWatch(firstvideo);
	}
	
	if (name=='eh_dialog_signup') {

		eh_setformfields('#eh_signupform');

		$('#postalcode').show();

		if ($('#eh_signupform :input[@name=fCountry]').val()=="Canada") {
			$('#postalcode').show();
		} else {
			$('#postalcode').hide();
		}
		eh_signup_groups();

	}

	if (name=='eh_dialog_takeaction') {

		eh_setformfields('#eh_takeactionform');

		eh_takeaction_member(eh_getform('fEmail'),false);

		$('#eh_takeactionform :input[@name=fCommentId]').val(eh_getform('fCommentId'));

		for(i=1; i<=5; i++) {
			var val = false;
			if (eh_getform('fAction_'+i)!="") val = true;
			$('#eh_takeactionform :input[@name=fAction_'+i+']').attr('checked',val);
		}
		
	}

}

function eh_close(name,hideOverlay) {
	if (typeof(hideOverlay)=="undefined") hideOverlay = true;

	eh_dialogCurrentName = "";
	
	if (hideOverlay) {
		//$('#eh_dialog_overlay').hide();
		$('#eh_dialog_overlay').fadeOut('slow');
		//$('#eh_dialog_overlay').animate({opacity: 0}, 100, function(){alert('a')} );
		$('#eh_dialog_'+name).fadeOut('fast',function(){
			//$('#dialog_'+name+' .content').html('');
			$('#eh_dialog_'+name).remove();
		});
	} else {
		$('#eh_dialog_'+name).remove();
	}
	
	if (name=='eh_dialog_watch') {
		changeWatch('');
	}

	return false;
}

/* ---------------------------------- */

function eh_validate(name) {

	var formOk = true;

	var errormsg = '';

	var type = 0; if ($(name+' :input[@name=fMemberId]').val()!='0') type = 1;

	/* ---- validate Names ---- */

	var firstname = $(name+' :input[@name=fFirstName]').val();
	var lastname = $(name+' :input[@name=fLastName]').val();
	
	$(name+' :input[@name=fFirstName]').focus();
	if(formOk && !testString(firstname)) {
		errormsg = "Please enter your first name.";
		formOk =  false;
	}
	if(formOk && firstname.length < 2) {
		errormsg = "Your first name is too short.";
		formOk =  false;
	}

	$(name+' :input[@name=fLastName]').focus();
	if(formOk && !testString(lastname)) {
		errormsg = "Please enter your last name.";
		formOk =  false;
	}
	if(formOk && lastname.length < 2) {
		errormsg = "Your last name is too short.";
		formOk =  false;
	}

	/* ---- validate Email ---- */

	var email = $(name+' :input[@name=fEmail]').val();
	var emailconfirm = $(name+' :input[@name=fEmailConfirm]').val();

	$(name+' input[@name=fEmail]').focus();
	if (formOk && !testEmail(email)) {
		errormsg = "Please enter your email address.";
		formOk =  false;
	}
	if (formOk && email.length < 5) {
		errormsg = "Your email address is too short.";
		formOk =  false;
	}
	if (formOk && !testEmail(email)) {
		errormsg = "Please confirm your email address is valid.";
		$(name+' :input[@name=fEmail]').focus();
		formOk =  false;
	}
	if (typeof(emailconfirm)!="undefined") {
		$(name+' :input[@name=fEmailConfirm]').focus();
		if (formOk && (email.replace(/^\s+|\s+$/g, '') != emailconfirm.replace(/^\s+|\s+$/g, ''))) {
			errormsg = "Please confirm that the email addresses match.";
			formOk =  false;
		}
	}

	/* ---- validate Password ---- */
	
	var password = $(name+' :input[@name=fPassword]').val();
	var passwordconfirm = $(name+' :input[@name=fPasswordConfirm]').val();
	
	if (typeof(password)!="undefined") {
		$(name+' :input[@name=fPassword'+type+']').focus();
		if(formOk && testEmpty(password)) {
			errormsg = "Please enter a password.";
			formOk = false;
		}
		if(formOk && password.length<4) {
			errormsg = "Your password is too short.";
			formOk = false;
		}
		if (typeof(passwordconfirm)!="undefined") {
			$(name+' :input[@name=fPasswordConfirm]').focus();
			if (formOk && (password.replace(/^\s+|\s+$/g, '') != passwordconfirm.replace(/^\s+|\s+$/g, ''))) {
				errormsg = "Please confirm that the passwords match.";
				formOk =  false;
			}
		}
	}

	var country = $(name+' :input[@name=fCountry]').val()
	if (formOk && country == "Canada") {
		$(name+' :input[@name=fPostalCode]').focus();
		if ($(name+' :input[@name=fPostalCode]').val() == "") {
			errormsg = "Please enter your Postal Code.";
			formOk =  false;
		}
	}
 
	if (formOk && country == "Canada") {
		var pc = $(name+' :input[@name=fPostalCode]').val();
		if (pc.length > 0) {
			var pr = "";
			switch (pc.substring(1,0).toUpperCase()) {
				case "V": pr = "BC"; break;
				case "T": pr = "AB"; break;
				case "S": pr = "SK"; break;
				case "R": pr = "MB"; break;
				case "K": case "L": case "M": case "N": case "P": pr = "ON"; break;
				case "G": case "H": case "J": pr = "QC"; break;
				case "E": pr = "NB"; break;
				case "B": pr = "NS"; break;
				case "A": pr = "NL"; break;
				case "C": pr = "PE"; break;	
				case "Y": pr = "YT"; break;
				case "X": if ((pc.substring(1,3).toUpperCase() == "0A") || (pc.substring(1,3).toUpperCase() == "0B") || (pc.substring(1,3).toUpperCase() == "0C")) {
					pr = "NU"; break;
				} else {
					pr = "NT"; break;
				}
			}
			$(name+' :input[@name=fProvince]').val(pr);
		}
	} else {
		$(name+' :input[@name=fProvince]').val('');
	}
	
	if (formOk) {   
		if ($(name+' :input[@name=fReceiveEmails]').attr('checked')) {   
			$(name+' :input[@name=fReceiveEmails]').val("Yes");
		} else {
			$(name+' :input[@name=fReceiveEmails]').val("No");
		}	
	} else {
		alert(errormsg);
	}

	return formOk;
}

function eh_signup() {

	var formOk = true;

	formOk = eh_validate('#eh_signupform');
	
	var fMobile = $('#eh_signupform :input[@name=fMobile]').val();
	if (fMobile.length > 0) {
		if(formOk && fMobile.search(/\d{3}\-\d{3}\-\d{4}/)==-1) {
			alert("The mobile number you entered is not valid.\r\nPlease enter a number with the format xxx-xxx-xxxx");
			$('#eh_signupform :input[@name=fMobile]').focus();
			formOk =  false;
		}
	}
	
	if ($("#eh_signup_groups").css('display') == 'block') {
		if (formOk && !testString($('#eh_signupform :input[@name=fEntityName]').val())) {
			alert("Please enter the name of your group.");
			$('#eh_signupform :input[@name=fEntityName]').focus();
			formOk =  false;
		}
	}
	
	if (formOk) {
		
		$('#eh_loading_overlay').show();

		if (debug) alert($('#eh_signupform').serialize().replace(/&/g,'\n'));

		trackEvent('Form Submit', 'Sign Up');

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_signup.cfm",
			data: $('#eh_signupform').serialize(),
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_signup_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_signup_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});

	}
}

function eh_signup_error(XMLHttpRequest, textStatus, errorThrown) {
	alert( "Sign Up Error: " + XMLHttpRequest + "\n" + textStatus + "\n" + errorThrown );
	$('#eh_loading_overlay').hide();
}

function eh_signup_complete(XMLHttpRequest, textStatus) {
	var res = parseAjaxComplete(XMLHttpRequest);
	
	if (debug && typeof(res.debug)!="undefined" && res.debug!="") alert(res.debug.replace(/~/g,'\n'));

	if (res.status==1) {
		// Successfull

		var e = eh_getform('fEmail');
		if (e != "") {
			if (e != $('#eh_signupform :input[@name=fEntityName]').val()) {
				// reset take action form
				eh_setform('fDisplay',"");
				eh_setform('fPassword',"");
				eh_setform('fImage',"");
				eh_setform('fComment',"");
				eh_setform('fCommentId',"");
				for(i=1; i<=5; i++) eh_setform('fAction_'+i,"");
			}
		}
		
		eh_setform(document.eh_signupform);
		eh_setform('type',res.type);
		if (res.id!='') {
			eh_setform('fMemberId',res.id);
		} else {
			eh_setform('fMemberId',0);
		}
		eh_setform();

		eh_hasSignUp = true;
		
		trackEvent('Form Complete', 'Sign Up');

		var actionFlag = false;
		
		if (actionFlag==false) {
			eh_takeaction_launch(0);
		} else {
			eh_close('eh_dialog_signup');
			alert("You have allready taken Earth Hour actions!");
			$('#eh_loading_overlay').hide();
		}
		
	} else {
		// Not successfull
		
		alert(res.msg);
		$('#eh_loading_overlay').hide();
	}
	
}

/* ---------------------------------- */

var eh_takeaction_uploading = false;

function eh_takeaction() {
	
	if (eh_takeaction_uploading) return false;
	
	var formOk = true;

	var type = $('#eh_takeactionform :input[@name=type]').val();
	var memberid = 0; if ($('#eh_takeactionform :input[@name=fMemberId]').val()!='0') memberid = 1;

	formOk = eh_validate('#eh_takeactionform');

	if (formOk) {
		if (memberid==0) { /* not a member */
			if (testEmpty($('#eh_takeactionform :input[@name=fDisplay]').val())) {
				alert("Please enter your screen name.");
				$('#eh_takeactionform :input[@name=fDisplay'+type+']').focus();
				formOk =  false;
			}
		}
	}

	if (formOk) {
		if (type==1) { /* comment only */
		} else {
			var actioncount = 0;
			for(i=1; i<=5; i++) {
				if ($('#eh_takeactionform :input[@name=fAction_'+i+']').attr('checked') == true) {
					actioncount++;
				}
			}
			if (actioncount==0) {
				alert("Please take at least one action.");
				formOk =  false;
			}
		}
	}

	if (formOk) {
		if (type==1) {
			$('#eh_takeactionform :input[@name=fTell]').val('Yes');
		} else {
			if ($('#eh_takeactionform :input[@name=fTell]').attr('checked')) {
				$('#eh_takeactionform :input[@name=fTell]').val('Yes');
				if (testEmpty($('#eh_takeactionform :input[@name=fComment]').val()) || testEmpty($('#eh_takeactionform :input[@name=fImage]').val())) {
					alert("Please enter a comment and picture.");
					//objForm.fComment.focus();
					formOk =  false;
				}
			} else {
				$('#eh_takeactionform :input[@name=fTell]').val('No');
			}
		}
	}


	if (formOk) {

		$('#eh_loading_overlay').show();

		if (debug) alert($('#eh_takeactionform').serialize().replace(/&/g,'\n'));

		trackEvent('Form Submit', 'Take Action');

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_takeaction.cfm",
			data: $('#eh_takeactionform').serialize(),
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_takeaction_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_takeaction_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});

	}
}

function eh_takeaction_error(XMLHttpRequest, textStatus, errorThrown) {
	alert( "Take Action Error: " + XMLHttpRequest + "\n" + textStatus + "\n" + errorThrown );
	$('#eh_loading_overlay').hide();
}

function eh_takeaction_complete(XMLHttpRequest, textStatus) {
	var res = parseAjaxComplete(XMLHttpRequest);

	if (debug && typeof(res.debug)!="undefined" && res.debug!="") alert(res.debug.replace(/~/g,'\n'));

	if (res.status==1) {
		// Successfull

		eh_setform(document.eh_takeactionform);
		eh_setform('fMemberId',res.memberid);
		eh_setform('fCommentId',res.commentid);
		eh_setform('fPassword',$('#eh_takeactionform :input[@name=fPassword]').val());
		eh_setform();
		eh_hasTakeAction = true;

		trackEvent('Form Complete', 'Take Action');

		eh_getMemberNews(0);
		eh_getMemberActions(0);
		
		if (res.commentid > 0) eh_getComments(0);

		eh_close('eh_dialog_takeaction', false);
		eh_open('eh_dialog_takeaction_done', 'white', localUrl + 'takeaction_done.cfm', 'type='+eh_getform('type')+'&image='+eh_getform('fImage'), false);

		$('#eh_loading_overlay').hide();

	} else {
		// Not successfull

		alert(res.msg);
		$('#eh_loading_overlay').hide();
	}

}

/* ---------------------------------- */

var eh_report_uploading = false;

function eh_report() {
	$('#eh_loading_overlay').show();

	if (debug) alert($('#eh_reportform').serialize().replace(/&/g,'\n'));

	trackEvent('Form Submit', 'Report Abuse');

	$.ajax({
		type: "POST",
		url: remoteUrl + "remote_report.cfm",
		data: $('#eh_reportform').serialize(),
		dataType: 'text',
		success: function(XMLHttpRequest, textStatus){
			eh_report_complete(XMLHttpRequest, textStatus);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown){
			eh_report_error(XMLHttpRequest, textStatus, errorThrown);
		}
	});


}

function eh_report_error(XMLHttpRequest, textStatus, errorThrown) {
	alert( "Report Error: " + XMLHttpRequest + "\n" + textStatus + "\n" + errorThrown );
	$('#eh_loading_overlay').hide();
}

function eh_report_complete(XMLHttpRequest, textStatus) {
	var res = parseAjaxComplete(XMLHttpRequest);

	if (debug && typeof(res.debug)!="undefined" && res.debug!="") alert(res.debug.replace(/~/g,'\n'));

	trackEvent('Form Complete', 'Report Abuse');

	if (res.status==1) {
		// Successfull
		
		eh_close('eh_dialog_report');
		location.reload(true);
		
	} else {
		// Not successfull
		
		alert(res.msg);
		$('#eh_loading_overlay').hide();
		
	}

}

/* ---------------------------------- */

var eh_membernews_page = 1;
var eh_membernews_active = false;

function eh_getMemberNews(dir) {
	if (!eh_membernews_active) {
		eh_membernews_active = true;
		
		if (dir==1) eh_membernews_page++;
		if (dir==-1 && eh_membernews_page>1) eh_membernews_page--;

		if (debug) alert(localPath + "remote_membernews.cfm");

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_membernews.cfm",
			data: 'MemberNewsPage='+eh_membernews_page,
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_getMemberNews_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_getMemberNews_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});
	}
}

function eh_getMemberNews_error(XMLHttpRequest, textStatus, errorThrown) {
	if (typeof(XMLHttpRequest)=="object") {
		var a = "";
		for(var i in XMLHttpRequest) a += i+"=["+XMLHttpRequest[i]+"]\n";
		XMLHttpRequest = a;
	}
	alert("Member News Error:\nXMLHttpRequest=[" + XMLHttpRequest + "]\ntextStatus=[" + textStatus + "]\nerrorThrown=[" + errorThrown + "]");
	eh_membernews_active = false;
}

function eh_getMemberNews_complete(XMLHttpRequest, textStatus) {
	//alert( "Ok: " + XMLHttpRequest + "\n" + textStatus );
	$("#eh_members_ticker marquee").html(XMLHttpRequest);
	eh_getMemberNews_start();
	eh_membernews_active = false;
}

function eh_getMemberNews_start() {
	var goMarquee = true;
	// stop ticker on IE 7
	if ($.browser.msie) {
		if (parseInt($.browser.version.substr(0,3))<=7) {
			goMarquee = false;
			$('#eh_members_ticker marquee ul').css('padding-left','0');
		}
	}
	if (goMarquee==true) {
		$('#eh_members_ticker marquee').marquee('pointer').mouseover(function () {
			$(this).trigger('stop');
		}).mouseout(function () {
			$(this).trigger('start');
		}).mousemove(function (event) {
			if ($(this).data('drag') == true) {
				this.scrollLeft = $(this).data('scrollX') + ($(this).data('x') - event.clientX);
			}
		}).mousedown(function (event) {
			$(this).data('drag', true).data('x', event.clientX).data('scrollX', this.scrollLeft);
		}).mouseup(function () {
			$(this).data('drag', false);
		});
	}
}

/* ---------------------------------- */

var eh_memberaction_page = 1;
var eh_memberaction_active = false;

function eh_getMemberActions(dir) {
	if (!eh_memberaction_active) {
		eh_memberaction_active = true;
		
		if (dir==1) eh_memberaction_page++;
		if (dir==-1 && eh_memberaction_page>1) eh_memberaction_page--;

		$('#eh_members_content').addClass('off');
		$('#eh_members_content .eh_content').fadeOut('fast');

		if (debug) alert(localPath + "remote_memberactions.cfm");

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_memberactions.cfm",
			data: 'MemberPage='+eh_memberaction_page,
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_getMemberActions_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_getMemberActions_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});
	}
}

function eh_getMemberActions_error(XMLHttpRequest, textStatus, errorThrown) {
	if (typeof(XMLHttpRequest)=="object") {
		var a = "";
		for(var i in XMLHttpRequest) a += i+"=["+XMLHttpRequest[i]+"]\n";
		XMLHttpRequest = a;
	}
	alert("Member Actions Error:\nXMLHttpRequest=[" + XMLHttpRequest + "]\ntextStatus=[" + textStatus + "]\nerrorThrown=[" + errorThrown + "]");
	$('#eh_members_content').removeClass('off');
	$('#eh_members_content .eh_content').fadeIn('fast');
	eh_memberaction_active = false;
}

function eh_getMemberActions_complete(XMLHttpRequest, textStatus) {
	
	$("#eh_members_content").html(XMLHttpRequest);
	eh_getMemberActions_start();
	
	$('#eh_members_content').removeClass('off');
	$('#eh_members_content .eh_content').fadeIn('fast');
	eh_memberaction_active = false;

	$('#eh_member_credits').html($('#eh_members_content .eh_content .eh_image img').attr('alt').replace(/\\n/g,'<br />'));
}

function eh_getMemberActions_start() {

	$("#eh_members .eh_content .eh_overlay td").mouseover(function(event){
		$(this).addClass('over');
		var c = $(this).attr('rel');
		var id = "eh_members_tooltip"+c;
		if (c>0) {
			var offset1 = $(this).offset();
			$(this).css('cursor','pointer');
			$('body').append("<div id='"+id+"' class='eh_members_tooltip'><div class='eh_members_tooltip_content'></div><div class='eh_members_tooltip_nob'></div></div>");
			$("#"+id+" .eh_members_tooltip_content").html($(this).html());
			$("#"+id+".eh_members_tooltip").css({
				left: parseInt(offset1.left) - 4,
				top: parseInt(offset1.top - $("#"+id).height())
			}).fadeIn('fast');
		}
	});

	$("#eh_members .eh_content .eh_overlay td").mouseout(function(){
		var c = $(this).attr('rel');
		$(this).removeClass('over');
		$("#eh_members_tooltip"+c+".eh_members_tooltip").remove();
	});
}

/* ---------------------------------- */

var eh_comment_page = 1;
var eh_comment_data = new Object();
var eh_comment_active = false;

function eh_getComments(dir) {
	if (!eh_comment_active) {
		eh_comment_active = true;
		
		if (dir==1) eh_comment_page++;
		if (dir==-1 && eh_comment_page>1) eh_comment_page--;

		$('#eh_comments_content').addClass('off');
		$('#eh_comments_content .eh_content').fadeOut('fast');

		if (debug) alert(localPath + "remote_comments.cfm");

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_comments.cfm",
			data: 'CommentPage='+eh_comment_page,
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_getComments_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_getComments_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});
	}
}

function eh_getComments_error(XMLHttpRequest, textStatus, errorThrown) {
	alert(textStatus);
	$('#eh_comments_content').removeClass('off');
	eh_comment_active = false;
}

function eh_getComments_complete(XMLHttpRequest, textStatus) {
	$("#eh_comments_content").html(XMLHttpRequest);
	$('#eh_comments_content').removeClass('off');
	$('#eh_comments_content .eh_content').fadeIn('fast');
	eh_comment_active = false;
}

/* ---------------------------------- */

var eh_country_active = false;
var eh_country_loaded = false;

function eh_getCountry() {
	if (eh_country_active == false && eh_country_loaded == false) {
		eh_country_active = true;
		
		if (debug) alert(localPath + "remote_country.cfm");

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_country.cfm",
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_getCountry_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_getCountry_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});
	}
}

function eh_getCountry_error(XMLHttpRequest, textStatus, errorThrown) {
	alert(textStatus);
	eh_country_active = false;
}

function eh_getCountry_complete(XMLHttpRequest, textStatus) {
	$("#eh_county_content").html(XMLHttpRequest);
	eh_country_active = false;
	eh_country_loaded = true;
}

/* ---------------------------------- */

var eh_actions_active = false;
var eh_actions_loaded = false;

function eh_getActions() {
	if (eh_actions_active == false && eh_actions_loaded == false) {
		eh_actions_active = true;
		
		$('#eh_actions_content').addClass('off');
		
		if (debug) alert(localPath + "remote_actions.cfm");

		$.ajax({
			type: "POST",
			url: remoteUrl + "remote_actions.cfm",
			dataType: 'text',
			success: function(XMLHttpRequest, textStatus){
				eh_getActions_complete(XMLHttpRequest, textStatus);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				eh_getActions_error(XMLHttpRequest, textStatus, errorThrown);
			}
		});
	}
}

function eh_getActions_error(XMLHttpRequest, textStatus, errorThrown) {
/*
	if (typeof(XMLHttpRequest)=="object") {
		var a = "";
		for(var i in XMLHttpRequest) a += i+"=["+XMLHttpRequest[i]+"]\n";
		XMLHttpRequest = a;
	}
	alert("Comments Error:\nXMLHttpRequest=[" + XMLHttpRequest + "]\ntextStatus=[" + textStatus + "]\nerrorThrown=[" + errorThrown + "]");
*/
	alert(textStatus);
	$('#eh_actions_content').removeClass('off');
	eh_actions_active = false;
}

function eh_getActions_complete(XMLHttpRequest, textStatus) {
	$('#eh_actions_content').removeClass('off');
	$("#eh_actions_content").html(XMLHttpRequest);
	eh_actions_active = false;
	eh_actions_loaded = true;
}

/* ---------------------------------- */

function eh_signup_launch() {

	// set defaults
	for(i=1; i<=5; i++) eh_setform('fAction_'+i,'');
	eh_setform('fTell',false);
	eh_setform('fMemberId','');
	eh_setform('fEmailConfirm','');

	if (eh_dialogCurrentName!="") {
		eh_close(eh_dialogCurrentName, false);
		$('#eh_loading_overlay').hide();
	}
	
	return eh_open('eh_dialog_signup', 'black', '/_earthhour/signup.cfm')
}

function eh_takeaction_launch(type) {

	eh_setform('fPassword','');
	eh_setform('fPasswordConfirm','');
	eh_setform('type',type);

	if (eh_dialogCurrentName!="") {
		eh_close(eh_dialogCurrentName, false);
		$('#eh_loading_overlay').hide();
	}

	if (eh_getform('fEmail')=='') { // if not signed up
		return eh_open('eh_dialog_signup', 'black', '/_earthhour/signup.cfm');
	} else { // if already signed up
		if (type==1 && eh_getform('fMemberId')=='') type=0;
		return eh_open('eh_dialog_takeaction', 'black', localUrl + 'takeaction.cfm', 'type='+type+'&memberid='+eh_getform('fMemberId'))
	}
}

/* ---------------------------------- */

function eh_takeaction_member(email,clear) {

	$("#eh_takeaction_member").html('');
	$('#eh_takeaction_member').addClass('off');

	if (clear) {
		eh_setform('fEmail',email);
		eh_setform('fDisplay','');
		eh_setform('fCommentId','');
	}
	eh_setform('fPassword','');

	$.ajax({
		type: 'post',
		url: '/_earthhour/remote_member.cfm',
		data: 'email='+email,
		dataType: 'html',
		success: function(data, textStatus) {
			
			$('#eh_takeaction_member').removeClass('off');
			$("#eh_takeaction_member").html(data);

			$('#eh_takeactionform :input[@name=fEmail]').val(eh_getform('fEmail'));
			$('#eh_takeactionform :input[@name=fDisplay]').val(eh_getform('fDisplay'));
			$('#eh_takeactionform :input[@name=fPassword]').val(eh_getform('fPassword'));

			// set comment photo to avatar is photo is empty
			if ($('#eh_takeactionform :input[@name=fImage]').val()=='') {
				try {
					if ($('#eh_takeactionform :input[@name=predefined]').val()==0) {
						$('#eh_takeactionform :input[@name=fImage]').val($('#eh_takeactionform :input[@name=avatar]').val());
					}
				} catch(err) {}
			}

			// show or hide comments
			if ($('#eh_takeactionform :input[@name=type]').val()==1) {
				eh_takeaction_comment(1);
			} else {
				if ($('#eh_takeactionform :input[@name=fTell]').attr('checked')==true) {
					eh_takeaction_comment(1);
				} else {
					eh_takeaction_comment(0);
				}
			}

		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			alert(textStatus);
		}
	});

}

function eh_takeaction_comment(a) {
	if (a==1) {
		$('#eh_takeaction_comment').slideDown('fast');
		var purl = localUrl + 'picture.cfm?Image=' + escape($('#eh_takeactionform :input[@name=fImage]').val()) + '&Comment=' + escape($('#eh_takeactionform :input[@name=fComment]').val());
		if (debug > 0) purl += '&debug=' + debug;
		$('#picture_frame').attr('src',purl);
	} else {
		$('#eh_takeaction_comment').slideUp('fast');
	}
}

function eh_signup_groups() {
	if ($('#eh_signupform :input[@name=fGroup]').attr('checked')==true) {
		$('#eh_signup_groups').slideDown('fast');
	} else {
		$('#eh_signup_groups').slideUp('fast');
	}
}

/* ---------------------------------- */

function eh_createCookie(name,value,days) {
	var expires="", date=new Date();
	if (days) {
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires="; expires="+date.toGMTString();
	}
	document.cookie=name+"="+value+expires+"; path=/";
}
function eh_readCookie(name) {
	var nameEQ=name+"=", ca=document.cookie.split(';'), c="";
	for(var i=0;i < ca.length;i++) {
		c = ca[i];
		while (c.charAt(0)==' ') c=c.substring(1,c.length);
		if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eh_eraseCookie(name) {eh_createCookie(name,"",-1);}

function parseAjaxComplete(XMLHttpRequest) {
	var res = new Object();
	var a = XMLHttpRequest.split('&');
	for(var i in a) {
		var d = a[i].split('=');
		res[d[0]] = '';
		if (d.length>0) res[d[0]] = unescape(d[1]);
	}
	return res;	
}

function eh_position() {
	
	var ScrollTop = document.body.scrollTop;
	var ScrollLeft = document.body.scrollLeft;
	if (ScrollTop == 0) {
		if (window.pageYOffset) {
			ScrollTop = window.pageYOffset;
			ScrollLeft = window.pageXOffset;
		} else {
			ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
			ScrollLeft = (document.body.parentElement) ? document.body.parentElement.scrollLeft : 0;
		}
	}

	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
	}

	var viewportwidth = winW;
	var viewportheight = winH;
	
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth !='undefined' && document.documentElement.clientWidth != 0) {
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}
	// older versions of IE
	else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	
	return {ScrollTop:ScrollTop,ScrollLeft:ScrollLeft,WindowWidth:winW,WindowHeight:winH,ViewWidth:viewportwidth,ViewHeight:viewportheight};
}

function trackEvent(action,labels) {
	if (typeof(pageTracker)!="undefined") {
		pageTracker._trackEvent('EH2010', action, labels);
	}
}
