/**
 * @author lkaplan
 */
//This is generic callback function
function callbackfunction(jData,selector,msg) {
	if (jData == null) {alert("There was a problem getting results.");return;}
	if (jData == 'success')	{$(selector).prepend(msg);$('div.confirm').fadeOut(5000);}
	else if (jData == 'fail_already_exists') {$(selector).prepend(msg);$('div.error').fadeOut(5000);}
	//else if (jData == 'not_loggedin') {$('#loginlink').trigger('click');}
	//else if (jData == 'no_account') {$(selector).prepend(msg);$('div.error').fadeOut(5000);}
	removeScript();
}

function callbackfunction_LoadFile(jData,selector,file) {
	if (jData == null) {alert("There was a problem getting results.");return;}
	$.ajax({url: '/storysnippets/' + file,
			cache: false,success: function(data){
			var tempSelector="#"+selector;
			$(tempSelector).append(data);
		}
	});
	removeScript();
}

function removeScript(){
	var script;
	while (script = document.getElementById('JscriptId')) {
		script.parentNode.removeChild(script);
		// Browsers won't garbage collect this object.
		// So kill properties in it to avoid stop a memory leak.
		for (var prop in script) {
			delete script[prop];
		}
	}
}


//This is generic email validation function (multiple emails)
function validateMultipleEmailsCommaSeparated(value) {
	var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	var result = value.split(",");
	
	for(var i = 0;i < result.length;i++)
		{if(!regex.test(result[i])){return false;}
		else{return true;}}
	
}
/*
function jquery_poll(){
	$("#readerPoll").html("");
		$.ajax({url: ldpth + "_currentpoll.html",
			cache: false,success: function(data){
			$("#readerPoll").append(data);
		}
	});
}
*/
function jquery_recentposts(url){
	$("#recentPosts").html("");
		$.ajax({url: ldpth + url,
			cache: false,success: function(data){
			$("#recentPosts").append(data);
		}
	});
}

function jquery_tvlineup(url){
	$("#tvLineUp").html("");
		$.ajax({url: url,
			cache: false,success: function(data){
			$("#tvLineUp").append(data);
		}
	});
}

function jquery_lottery(){
	$("#lotteryResults").html("");
		$.ajax({url: ldpth + "_lotteryresults.html",
			cache: false,success: function(data){
			$("#lotteryResults").append(data);
		}
	});
}

function jquery_beachforecast(){
	$("#shoreCast").html("");
		$.ajax({url: ldpth + "_beachforecast.html",
			cache: false,success: function(data){
			$("#shoreCast").append(data);
		}
	});
}


function jquery_myzone(geophrase,location){
	var req  = dynsvr+'/includes/remote/mycommunity_jsonp.cfm?geophrase='+geophrase+'&location='+location;
	bObj = new JSONscriptRequest(req);
	bObj.buildScriptTag();
	bObj.addScriptTag();
	return false;
}
function jquery_mycounty(geophrase,location){
	var req  = dynsvr+'/includes/remote/mycounty_jsonp.cfm?geophrase='+geophrase+'&location='+location;
	bObj = new JSONscriptRequest(req);
	bObj.buildScriptTag();
	bObj.addScriptTag();
	return false;
}

/// POLL FUNCTIONS
function POLL_callbackfunction(PollResultVal){
	$("#readerPoll").html(PollResultVal);
}
function readerPoll_getResults(uuid){
	uuid = escape(document.frmPoll.uuid.value);
	var req  = dynsvr+'/includes/remote/currentpoll_jsonp.cfm?v=0&uuid='+uuid;
	bObj = new JSONscriptRequest(req);
	bObj.buildScriptTag();
	bObj.addScriptTag();
	return false;
}
$(document).ready(function() {
	if (!getCookie("POLLVOTE")){
		var pollvote = 0;
	} else {
		var pollvote = getCookie("POLLVOTE");
	}
	$("#readerPoll_View").hide();
	if(pollvote.length > 4 && document.getElementsByName("uuid")[0] != undefined && pollvote == document.getElementsByName("uuid")[0].value){
		$("#readerPoll_Vote").hide();
		$("#readerPoll_View").show();
	}	
	$("#readerPoll_Vote").click(function(){
		var selectedValue = '';
		var sendvalue = '';
		for (i=0;i<document.frmPoll.answer.length;i++){if (document.frmPoll.answer[i].checked==true){selectedValue=i}}
		sendvalue = escape(document.frmPoll.answer[selectedValue].value);
		uuid = escape(document.frmPoll.uuid.value);
		setCookie("POLLVOTE",uuid,1,"/","");
		var req  = dynsvr+'/includes/remote/currentpoll_jsonp.cfm?v='+sendvalue+'&uuid='+uuid;
		bObj = new JSONscriptRequest(req);
		bObj.buildScriptTag();
		bObj.addScriptTag();
		return false;
	});
});

	/* NEWSLETTER SUBSCRIPTION FUNCTIONALITY */
	$(function() {
		$("#newsletter_SignUp").click(function(){
			$("div.error").remove();
			$("div.confirm").remove();

			var sendEmail = escape($("#newsletterSendTo").val());
			var  newsletterIDs= '';
			
			if (sendEmail.length==0) {
				$(".newsletter-signup").prepend('<div class="error">Enter e-mail address</div>');
				$(".send-to").append('<div class="error">Enter e-mail address</div>');
				f=1;
			} else if (validateMultipleEmailsCommaSeparated(sendEmail)==false){
				$(".newsletter-signup").prepend('<div class="error">E-mail address not valid</div>');
				$(".send-to").append('<div class="error">E-mail address not valid</div>');
				f=1;
			} else if ($('input[type=checkbox][name=newsletter]:checked').length==0) {
				$(".newsletter-signup").prepend('<div class="error">Select newsletter</div>');
				$(".send-to").append('<div class="error">Select newsletter</div>');
				f=1;
			} else {
				if ($('input[type=checkbox][name=newsletter]:checked').length!=0){
						$('#waysToGetUs input:checkbox:checked').each(function(i) {
						if (newsletterIDs != '') {newsletterIDs = newsletterIDs + ',';}
						newsletterIDs = newsletterIDs + this.value;
						
						});
					f=0;
				}
				sendEmail=encodeURI(sendEmail);
				f=0;
			}

			if (f==1){return false;}
			else {
				var req  = dynsvr+'/includes/remote/newsletterSignup_jsonp.cfm?sendEmail='+sendEmail+"&newsletterIDs="+newsletterIDs;
				bObj = new JSONscriptRequest(req);
				bObj.buildScriptTag();
				bObj.addScriptTag();
				$(".send-to").prepend('<div class="confirm">Thank you</div>');
				return false;
			}
		});
	});

	/* STORY ALERTS SIGNUP FUNCTIONALITY */
	$(function() {
		$("#storyalerts_SignUp").click(function(){
			$("#send-to").remove('p.error');
			$("#send-to").remove('p.confirm');
			var sendEmail = escape($("#storyalerts_email").val());
			var reporterID= escape($("#storyalerts_reporterID").val());
			if (!validateMultipleEmailsCommaSeparated(sendEmail) || sendEmail.length==0 ){
				$(".send-to").append('<p class="error">E-mail address not valid</p>');
				f=1;
			}
			else {sendEmail=encodeURI(sendEmail);f=0;}
			if (f==1){return false;}
			else {
				var req  = dynsvr+'/includes/remote/storyalertsSignup_jsonp.cfm?sendEmail='+sendEmail+"&reporterID="+reporterID;
				bObj = new JSONscriptRequest(req);
				bObj.buildScriptTag();
				bObj.addScriptTag();
				return false;
			}
		});
	});

