/*
-----------------------------------------------
sitename
Script: vdwUtil.js
Author: Ben Glassman
Organization: Vermont Design Works
Created: 
----------------------------------------------- */

vdwUtil = {
	init:function() {
		vdwUtil.mailtoFix('REMOVETHISBEFORESENDING');
		vdwUtil.preparePopups();
		if (vdwCookie.readCookie('discountDialog') == null) { setTimeout("vdwUtil.discountDialog()", 200) }  else { $('#discount-dialog').hide(); }
		if (vdwCookie.readCookie('discountOfferDialog') == null) { vdwUtil.dialogTimer(); }  else { $('#discount-dialog-two-column').hide(); }
		vdwUtil.autoPopulate('input.populate');
		if ($('.poplight').length) { vdwUtil.overlayWindow(); }		
	},
	mailtoFix:function(stringToRemove) {
		var links = document.getElementsByTagName('a');
		var removeText = new RegExp(stringToRemove);
		for (var i = 0; i < links.length; i++) {
			if (links[i].href.indexOf('mailto:') != -1) {
				links[i].href = links[i].href.replace(removeText, '');
				links[i].firstChild.nodeValue = links[i].firstChild.nodeValue.replace(removeText, '');
				links[i].firstChild.nodeValue = links[i].firstChild.nodeValue.replace(/mailto:/, '');
			}
		}
	},
	dialogTimer:function() {
		$('#discount-dialog-two-column').hide();
		setTimeout("vdwUtil.discountOfferDialog()", 20000);
	},
	popUp:function(winURL, name, parameters) {
		window.open(winURL, name, parameters);
	},
	autoPopulate:function(input_sel) {	
		$(input_sel).each(function() {
			var populate_text = $('label[for="' + $(this).attr('id') + '"]').text();
			if (populate_text) {
				$(this).val(populate_text).data('populate_text', populate_text);				
				$(this).focus(function() {
					if ($(this).val() == $(this).data('populate_text')) {
						$(this).val('');
					}
				});
				$(this).blur(function() {
					if ($(this).val() == '') {
						$(this).val($(this).data('populate_text'));
					}
				});
			}
		});
	},
	preparePopups:function() {
		if (!document.getElementsByTagName) return false;
		var lnks = document.getElementsByTagName("a");
		for (var i=0; i<lnks.length; i++) {
			if (lnks[i].className == "popup") {
				lnks[i].title+= " (opens in a new window)";
				lnks[i].onclick = function() {
					vdwUtil.popUp(this.getAttribute("href"), "popup", "width=320,height=480");
					return false;
				}
			}
			else if (lnks[i].className == "external") {
				lnks[i].title+= " (opens in a new window)";
				lnks[i].onclick = function() {
					vdwUtil.popUp(this.getAttribute("href"), "external", "");
					return false;
				}
			}
			else if (lnks[i].href != null && lnks[i].href.indexOf('.pdf') != -1) {
				lnks[i].title += " (opens in a new window)";
				lnks[i].onclick = function() {
					vdwUtil.popUp(this.getAttribute("href"), "pdf", "");
					return false;
				}
			} else if (lnks[i].className == "backlink") {
				lnks[i].onlick = function() {
					history.go(-1);
					return false;
				}
			}
		}
	},
	overlayWindow:function() {
		$('a.poplight[href^=#]').click(function() {
			var popID = $(this).attr('rel'); //Get Popup Name
			var popURL = $(this).attr('href'); //Get Popup href to define size
			var query= popURL.split('?');
			var dim= query[1].split('&');
			var popWidth = dim[0].split('=')[1]; //Gets the first query string value
			$('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="/assets/templates/main/images/close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>');
			var popMargTop = ($('#' + popID).height() + 80) / 2;
			var popMargLeft = ($('#' + popID).width() + 80) / 2;
			$('#' + popID).css({ 
				'margin-top' : -popMargTop,
				'margin-left' : -popMargLeft
			});
			$('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.
			$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer 
			return false;
		});
		//Close Popups and Fade Layer
		$('a.close, #fade').live('click', function() { //When clicking on the close or fade layer...
			$('#fade , .popup_block').fadeOut(function() {
				$('#fade, a.close').remove();  
		}); //fade them both out
			return false;
		});
	},
	discountDialog:function() {
		if ($('#programs-and-pricing').length) {
				window.onbeforeunload = function(e) {
					// blocker
					if (vdwCookie.readCookie('discountDialogBlocker') != null) { window.onbeforeunload = function() {}; return; }
					 vdwCookie.createCookie('discountDialog',1,365);
					 var message = "Wait! Wait!  Don't go yet. We want to make you a $20 discount offer on the Terry's Tips White Paper. Just click Cancel to view this special ONE-TIME offer!";
					  e = e || window.event;
					  // For IE and Firefox
					  if (e) {
						e.returnValue = message;
					  }
					  // For Safari
					$('#discount-dialog').show();
					$('#discount-dialog').dialog({
						dialogClass : 'terrys-dialog',
						width : 475,
						autoOpen : true,
						modal : true,
						closeOnEscape : false
					});
					$('.dialog-close').bind('click', function(event) {
						event.preventDefault();
						$('#discount-dialog').dialog('close');
					});
					$('#discount_dialog_submit_button').submit(function() {
						// this fix is needed cause IE7 SUCKS!!!!! //
						window.location.href = "http://www.terrystips.com/programs-and-pricing/free-newsletter/thank-you";					
					});
					window.onbeforeunload = function() {};
					return message;
				};
		}
	},
	discountOfferDialog:function() {
		if ($('#discount-dialog-two-column').length) {
			$('#discount-dialog-two-column').show();
			vdwCookie.createCookie('discountOfferDialog',1,365);
			$('#discount-dialog-two-column').dialog({
				dialogClass : 'terrys-dialog',
				width : 800,
				autoOpen : true,
				modal : true,
				closeOnEscape : false
			});
			$('.dialog-close').bind('click', function(e) {
				e.preventDefault();
				$('#discount-dialog-two-column').dialog('close');
			});
		}
	},
	trimString:function(str) {
		return str.replace(/^\s*\n*\r*|\s*\n*\r*$/g,'');
	},
	fadeUp:function(element, red, green, blue) {
		if (element.fade) {
			clearTimeout(element.fade);
		}
		element.style.backgroundColor = 'rgb('+red+','+green+','+blue+')';
		if (red == 255 && green == 255 && blue == 255) {
			return;
		}
		var newred = red + Math.ceil((255-red)/10);
		var newgreen = green + Math.ceil((255-green)/10);
		var newblue = blue + Math.ceil((255-blue)/10);
		var repeat = function() {
			vdwUtil.fadeUp(element, newred, newgreen, newblue);
		}
		element.fade = setTimeout(repeat, 100);
	}
}

vdwCookie = {
	createCookie:function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	readCookie:function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var 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;
	},
	eraseCookie:function(name) {
		createCookie(name,"",-1);
	}
}

$(document).ready(function() {

	$('#programs-and-pricing form').submit(function() {
		 vdwCookie.createCookie('discountDialogBlocker',1,365);
		 vdwCookie.createCookie('discountDialog',1,365);
		 vdwCookie.createCookie('discountOfferDialog',1,365);
	});

	/*
	if ($('#setup').length) { 
		$('#order-form select#country').change(function() {
			if ('select#country option:selected' == 'United States') {
				$('.phone_container em').css('color', '#ff0000');
			} else {
				$('.phone_container em').css('color', '#ffffff');
			}
		});
	
	}
	*/

	vdwUtil.init();
	
	// save changes button roll state
	var i = new Image();
	i.src = '/assets/templates/main/images/btn-save-changes-on.png';
	i.src = '/assets/templates/main/images/btn-sign-up-on.png';
	i.src = '/assets/templates/main/images/btn-sign-up-sm-on.png';
	$('#btn-save-changes').hover(function() {
		$(this).attr('src','/assets/templates/main/images/btn-save-changes-on.png');
	}, function() {
		$(this).attr('src','/assets/templates/main/images/btn-save-changes.png');
	});
	$('#staff-submit').hover(function() {
		$(this).attr('src','/assets/templates/main/images/btn-save-changes-on.png');
	}, function() {
		$(this).attr('src','/assets/templates/main/images/btn-save-changes.png');
	});
	$('.btn-sign-up').hover(function() {
		$(this).attr('src','/assets/templates/main/images/btn-sign-up-on.png');
	}, function() {
		$(this).attr('src','/assets/templates/main/images/btn-sign-up.png');
	});
	$('.btn-sign-up-sm').hover(function() {
		$(this).attr('src','/assets/templates/main/images/btn-sign-up-sm-on.png');
	}, function() {
		$(this).attr('src','/assets/templates/main/images/btn-sign-up-sm.png');
	});
	
	// set up slideshow on front page
	if ($('#tips-slideshow').cycle) {
		$('#tips-slideshow').cycle({
			fx : 'fade',
			speed: 0,
			timeout : 0,
			pager : '#control-pager',
			prev : '#control-prev',
			next : '#control-next'
		});
	}
	
	// handle "forgot password" switch on login page
	$('#password-reset-link').click(function(event){
		event.preventDefault();
		$('#login-form').css({position : 'absolute', left : '-999em'});
		$('#password-reset-form').css({position : 'relative', left : 'auto'});
	});
		
	// show answers on FAQ pages
	$('dl.faq-list dt').click(function(){
		$(this).next('dd').toggleClass('hide');
	});
	$('#show-all-answers').click(function(){
		$('dl.faq-list dd').removeClass('hide');
	});
	$('#hide-all-answers').click(function(){
		$('dl.faq-list dd').addClass('hide');
	});
});
