﻿
//
// Contains page script for the home page states and other pages.
//

var IS_PS_BROWSER_IE6 = false;

function embedFlashObject() {
	//7/21/09: removed onLoad event since we're using same page content.
	if ($.flashPlayerVersion[0] > 6) {
		$('#speakandbeheard').addClass('flash');
		$('#main').flash({
			swf: '/swf/votingApp15e.swf',
			width: '1000',
			height: '598',
			wmode: 'opaque',
			params: {
				play: true,
				loop: true,
				flashvars: {
					server: SERVER_NAME,
					pathvotehandler: PATH_VOTE_HANDLER,
					name1: 'jQuery',
					name2: 'SWFObject',
					name3: 'Plugin'
				}
			}
		});
	}
}

function printStory() {
	$("div.print").html('<p onclick="print();">Print this story</p>');
	$.sifr({ path: 'swf/' , save: true });
	$('span.intro').sifr({ font: 'MarkerThin', color:'#333475', fontSize: '2em'});
}

//Global flag for IE6 PNG fix, for the overlay image.
var GROW_IMAGE_FIXED = false;

function initOverlay() {
	// If the function argument is given to overlay, 
	// it is assumed to be the onBeforeLoad event listener
	$("a.shareme").overlay({
		expose: '#fff',
		finish: {
			top: 'center',
			left: 'center',
			absolute: false
		},
		onLoad: function() {
			applyManualPngFix();
		},
		onBeforeClose: function() {
			resetShareForm();
		}
	});
}


/* Manual PNG fix functions for IE6 overlays */

function applyManualPngFix() {
	if (IS_PS_BROWSER_IE6) {
		//alert('ie6');
		if (!GROW_IMAGE_FIXED) {
			var btnShareClose = document.getElementById('btnCloseOverlay');
			var img = document.getElementById('imgGrowOverlay');
			
			if (DD_belatedPNG) {
				DD_belatedPNG.fixPng(img);
				DD_belatedPNG.fixPng(btnShareClose);
			}
			
			GROW_IMAGE_FIXED = true;
			
			//Fix close button positioning for IE6.
			var w = img.style.width;
			btnShareClose.style.left = adjustWidth(w);

		}
	}
}

function adjustWidth(w) {
	var negLeft = 95; //IE6 left px offset for close button.
	var w2 = parseInt(w);
	w2 = w2 - negLeft;
	return w2 + 'px';
}


/* Client validation for PS share this site form */

function resetShareForm() {
	clearShareError(document.getElementById('msgU'));
	clearShareError(document.getElementById('msgF'));
	document.getElementById('ctl00_objOverlay_txtUserEmail').value = '';
	document.getElementById('ctl00_objOverlay_txtFriendEmail').value = '';
}

function clearShareError(tgt) {
	tgt.innerHTML = '';
	tgt.innerHTML = '';
}

function validateShareForm() {
	var bValidPsShare = true;
	var SHARE_EMAIL_REGEX = '^[a-zA-Z0-9\-\._]+\@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9]{2,4})$';
	var MSG_U = 'Please enter a valid e-mail address';
	var MSG_F = 'Please enter a valid e-mail address';
	var u = document.getElementById('ctl00_objOverlay_txtUserEmail').value;
	var f = document.getElementById('ctl00_objOverlay_txtFriendEmail').value;
	var spnMsgU = document.getElementById('msgU');
	var spnMsgF = document.getElementById('msgF');
	
	//Clear errors
	clearShareError(spnMsgU);
	clearShareError(spnMsgF);
	
	//Validate required
	bValidPsShare = isValidRequired(u, MSG_U, spnMsgU) && bValidPsShare;
	bValidPsShare = isValidRequired(f, MSG_F, spnMsgF) && bValidPsShare;
	
	//Validate pattern
	bValidPsShare = isValidPattern(u, SHARE_EMAIL_REGEX, MSG_U, spnMsgU) && bValidPsShare;
	bValidPsShare = isValidPattern(f, SHARE_EMAIL_REGEX, MSG_F, spnMsgF) && bValidPsShare;
	
	return bValidPsShare;
}

function isValidRequired(val, msg, tgt) {
	var bValidReq = true;
	if (val == '' || val.length == 0) { 
		bValidReq = false; 
		tgt.innerHTML = msg;
	}
	return bValidReq;
}

function isValidPattern(val, regex, msg, tgt) {
	var re = new RegExp(regex);
	var bValidPtn = re.test(val);
	if (!bValidPtn) { tgt.innerHTML = msg; }
	return bValidPtn;
}

