// setting a global variable be used for accessing the images hosted at s3
//var s3_asset_address = location.host == APP_DOMAIN ? 'http://socialmedian.s3.amazonaws.com' : 'http://devpune.s3.amazonaws.com'
//var s3_static_asset_address = 'http://socialmedian.s3.amazonaws.com'
/**
 * Add news
 */
 var default_desc = 'Enter a summary of the article here.\n\nHint: To auto copy/paste text here, first highlight a portion of the article with your mouse before hitting the "Clip it! to s|m" button';
var addUserNews = function (){
		//strip all html tags from title
		var shared_networks = '';
		var autoshare = $('auto_sharing_yes').checked;
		$('news_headline').value = $('news_headline').value.stripTags().gsub(/\<|\>/, '');
		if($('news_headline').value == "") {
			alert("Headline should not be blank");
			return;
		}
		if($('news_url').value != "" && $('news_url').value.lastIndexOf(HTTP_APP_DOMAIN,0) != -1 ) {
			alert("News from "+HTTP_APP_DOMAIN+" cannot be added");
			return;
		}
		// Check for atleast one character or number in title
		if(!checkAtleastOneCharacterOrNumber("news_headline")) {
			alert("Headline should contain atleast one character or number");
			return;
		}

		var org_des = $('news_desc').value;
		if(Prototype.Browser.IE || Prototype.Browser.Opera){
			    var val1 = $('news_desc').value.replace(/\n/g, "");
			        val1 = val1.replace(/\r/g, "\n");
			    org_des = val1;
		}

		if(org_des == default_desc)
		{
			$('news_desc').value = '';
		}
		var sharedNetworks = '';
		if(!autoshare){
			if(networks_selected_news.length > 0){
				networks_selected_news.each(function(element, index){
				sharedNetworks += '&sn['+ index + ']=' + element;
				});
				networks_selected_news = [];
				$('selected_news_networks_news').innerHTML = '';

		}
		}
		var postParameters = 'news_headline=' + encodeURIComponent($('news_headline').value);
		postParameters += '&news_url=' + encodeURIComponent($('news_url').value);
		postParameters += '&news_desc=' + encodeURIComponent($('news_desc').value);
		postParameters += '&news_circle_id=0';
		postParameters += '&autoshare=' + autoshare;
		postParameters += autoshare ? '' : sharedNetworks;

		//setCookie("duplicateNews",postParameters,0);
		// Disable submit button
		//$('news_submit_button').disabled=true;
		$('news_submit_button').style.display='none';
		$('news_success_message').style.display = 'none';
		$('news_submit_msg').innerHTML = "<img src = '"+ S3_STATIC_ASSETS_PATH + "/images/loader.gif'> Please Wait..."
		var ajaxRequestOptions = {
			// Use POST
			method: 'post',
			// Send this lovely data
			postBody: postParameters,
			// Handle successful response
			onSuccess: addUserNewsCallback,
			// Handle 404
			on404: addUserNews404Callback,
			// Handle other errors
			onFailure: addUserNewsFailureCallback
		}
	new Ajax.Request('/add-news', ajaxRequestOptions);
}
/**
 * Add news success callback function
 */
var confirmBoxFlag = 0;
var cookieValueForComment;
var addUserNewsCallback = function (response){
	//eval the json object
	response_data = eval('(' + response.responseText + ')');
	// Google Analytics - code to track 'add user news' action
	tracAjaxFunctionalities('/add-news');
	//check if there is an error
	if (response_data.error == 1) {
		//alert the error
		alert(response_data.message);
		deleteCookie("duplicateNews");
	}else if(response_data.error == 2){
		try {
			$('news_submit_msg').style.color = "red";
			$('news_submit_msg').style.display = "block";
			$('news_submit_msg').innerHTML = response_data.message;
		} catch(e){}
	}else {
		$('news_success_message').style.display = 'block';
		$('news_box').style.display='none';

		if(response_data.action == "news_added") {
			if(response_data.force_add == 1) {
				//window.location = "http://pune.socialmedian.com/story/"+response_data.story_id+"/"+response_data.permalink;
			} else {
				// If user not yet clipped any story, then rediect to home page
				//if($('clips-container').innerHTML.strip() == "") {
				//	window.location = "/"+response_data.author+"/home";
				//	return;
				//}
				try {
					//$('news_success_message').innerHTML = "News added successfully.";
				//Start();
				}catch(e) {}
				//showAddedNews(response_data.story_id, response_data.permalink, response_data.title, response_data.link, response_data.description, response_data.author)
			}

			var suss_msg = '<br><br><br>Thanks for sharing on socialmedian.<br><br>We have clipped this story to <a href="javascript:void(0);" onClick="window.open(\'/'+response_data.author+'/home\',\'mywindow\',\'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes\');self.close();">your page</a> and we have shared this story with your relevant News Networks.<br><br>Visit this story on socialmedian.<br><a href="javascript:void(0);" onClick="window.open(\'/story/'+response_data.story_id+'/'+response_data.permalink+'\',\'mywindow\',\'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes\');self.close();">'+response_data.title+'</a><div id="display_timer"></div>';
			$('news_success_message').innerHTML = suss_msg;
			deleteCookie("duplicateNews");
			response_data.autoshare ? shareNewsWithNewsNetwork(response_data.nc_id,response_data.force_add,response_data.story_id) : shareNewsWithNewsNetworks(response_data.share_to,response_data.force_add,response_data.story_id);
		} else if(response_data.action == "link_exists" || response_data.action == "nc_link_exists") {
			//$('news_success_message').innerHTML = "Link exists.";
			// redirect to story page
			//window.location = "http://pune.socialmedian.com/story/"+response_data.story_id+"/"+response_data.permalink;
			eval("user_clipped_story"+response_data.story_id+"= 0");

			/*var cookieValue = getCookie("duplicateNews");
			var a = cookieValue.split("&");
			var add_comment_text = '';
			for(i=0;i<a.length;i++)
			{
			   var b = a[i].split("=");
			   if(b[0]=='news_desc' && !unescape(b[1]).blank())
			   {
					add_comment_text = '<font style="font-size:13px;"><br>Do you want to have the following entered as a comment to this story?<br><i>"'+unescape(b[1])+'"</i><p align="center"><a href="javascript:void(0)" onclick="addUserNewsComment()">Yes</a> | <a href="javascript:void(0)" onclick="self.close();">No</a></p></font>';
					cookieValueForComment = "news_desc=" + b[1];
			   }
			}
			var hidden_value ='<input type="hidden" value="'+response_data.story_id+'" id="story_id"><input type="hidden" value="'+response_data.permalink+'" id="story_permalink">';

			cookieValue = cookieValue.replace(/force_add=0/gi, "force_add=1");

			var comment_txt;
			if(response_data.total_comment > 1 )
			{
				comment_txt = response_data.total_comment + " Comments";
			}
			else
			{
				if(response_data.total_comment == 0)
				{
					comment_txt = "<a href='javascript:void(0);' onClick='window.open(\"/story/"+response_data.story_id+"/"+response_data.permalink+"\",\"mywindow\",\"menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes\");self.close();'>Add Comment</a>";
				}
				else
				{
					comment_txt = response_data.total_comment + " Comment";
				}
			}

			var clip_txt;
			if(response_data.total_clip > 1)
			{
				clip_txt = response_data.total_clip + " Clips";
			}
			else
			{
				clip_txt = response_data.total_clip + " Clip";
			}
			$('news_success_message').innerHTML = "<br><font color='#0755A0'><b>This story already exists on socialmedian. We have <br>clipped it for you and will alert your networks that you are interested in this story.</b></font><br>"+add_comment_text+"<br><font size='-1'>To see the story, go to the following link</font><br><br><a href='javascript:void(0);' onClick='window.open(\"/story/"+response_data.story_id+"/"+response_data.permalink+"\",\"mywindow\",\"menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes\");self.close();'>"+response_data.title+"</a><br><font color='#000000' style='padding-top:5px;font-size:12px'>"+clip_txt+"&nbsp;&nbsp;&nbsp;&nbsp;"+comment_txt+"</font>" + hidden_value;*/
			$('news_success_message').innerHTML = "<br><font color='#0755A0'><b>This story already exists on socialmedian. We have <br>clipped it for you and will alert your networks that you are interested in this story.</b></font><br><br><font size='-1'>To see the story, go to the following link</font><br><br><a href='javascript:void(0);' onClick='window.open(\"/story/"+response_data.story_id+"/"+response_data.permalink+"\",\"mywindow\",\"menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes\");self.close();'>"+response_data.title+"</a><br>";
			deleteCookie("duplicateNews");
		} else if(response_data.action == "nc_news_added") {
			if(response_data.force_add == 1) {
				//window.location = "http://pune.socialmedian.com/story/"+response_data.story_id+"/"+response_data.permalink;
			} else {
				//showAddedNewsInNewsCircle(response_data);
			}
			deleteCookie("duplicateNews");
			response_data.autoshare ? shareNewsWithNewsNetwork(response_data.nc_id,response_data.force_add,response_data.story_id) : shareNewsWithNewsNetworks(response_data.share_to,response_data.force_add,response_data.story_id);
		}
		$('news_success_message').style.display = 'block';
	}
	// Enable submit button
	$('news_submit_button').disabled=false;
}
/**
 * Add news failure callback function
 */
var addUserNewsFailureCallback = function (){
	alert("Error on page");
}
/**
 * Add news 404 callback function
 */
var addUserNews404Callback= function (){
	alert("Error page is not found");
}

/**
 * Show user description on onfocus()
 */
function showUserDescription(val, obj_id, default_msg) {
	// Opera & IE not detect new line character in value field.
	var org_des= val;
	if(Prototype.Browser.IE || Prototype.Browser.Opera){
		    var val1 = val.replace(/\n/g, "");
		        val1 = val1.replace(/\r/g, "\n");
		    val = val1;
	}
	if(val != default_msg) {
		$(obj_id).value == org_des;
	} else {
		$(obj_id).value = "";
	}
}
//Check for atleast one character or number in title
function checkAtleastOneCharacterOrNumber(elId) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	var checkStr = $(elId).value;
	var checkValid = false;
	for (i = 0;  i < checkStr.length;  i++)	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++) {
			if (ch == checkOK.charAt(j)) {
				checkValid = true;
				break;
			}
		}
	}
	if(checkValid == true) {
		return true;
	}
}

/**
 * Set, Get and Delete Cookies
 */
function setCookie(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+"="+escape(value)+expires+"; path=/; domain="+COOKIE_DOMAIN+"";
}

function getCookie(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;
}

function deleteCookie(name) {
	setCookie(name,"",-1);
}

var timer=6;
function Start() {
   tStart   = new Date();
   timer--;
   if(timer == 0)
   {
   		$('display_timer').innerHTML = timer + ' Seconds.';
		self.close();
   }
   else
   {
   	$('display_timer').innerHTML = timer + ' Seconds.';
   	timerID  = setTimeout("Start()", 1000);
   }
}

/**
 * If story is already exits
 * Add user news description as a comment
 */

var addUserNewsComment = function() {

	var postParameters = cookieValueForComment + "&story_id=" + $("story_id").value + "&permalink=" + $("story_permalink").value;
	var ajaxRequestOptions = {
		// Use POST
		method: 'post',
		// Send this data
		postBody: postParameters,
		// Handle successful response
		onSuccess: addUserNewsCommentCallback,
		// Handle 404
		on404: addUserNewsComment404Callback,
		// Handle other errors
		onFailure: addUserNewsCommentFailureCallback
	}
	new Ajax.Request('/add-user-news-as-comment', ajaxRequestOptions);
}

/**
 * Add news success callback function
 */
var addUserNewsCommentCallback = function (response){
	//eval the json object
	response_data = eval('(' + response.responseText + ')');
	if (response_data.error == 1) {
		//alert the error
		alert(response_data.message);
	}
	else
	{
	   var story_link = "/story/"+response_data.story_id+"/"+response_data.permalink;
	   window.open(story_link,"mywindow","menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes");
	   self.close();
	}
}

/**
 * Add news comment failure callback function
 */
var addUserNewsCommentFailureCallback = function (){
	alert("Error on page");
}
/**
 * Add news comment 404 callback function
 */
var addUserNewsComment404Callback= function (){
	alert("Error page is not found");
}


/**
 * Share news with user selected news networks.
 */
var shareNewsWithNewsNetworks = function(ncids,fadd,sid) {

		var postParameters = "autoshare=false";
		    postParameters += "&force_add="+fadd;
		    postParameters += "&story_id="+sid;
		ncids.each(function(network_id, index){
			postParameters += '&sn['+ index +']=' + network_id;
		    });

		var ajaxRequestOptions = {
		// Use POST
		method: 'post',
		// Send this lovely data
		postBody: postParameters,
		// Handle successful response
		onSuccess: shareNewsWithNewsNetworkCallback,
		// Handle 404
		on404: shareNewsWithNewsNetwork404Callback,
		// Handle other errors
		onFailure: shareNewsWithNewsNetworkFailureCallback
	}
	new Ajax.Request('/share-news-with-news-network', ajaxRequestOptions);
}


/**
 * Share news with relevant news network.
 */
var shareNewsWithNewsNetwork = function(ncid,fadd,sid) {

		var postParameters = "news_circle_id="+ncid;
		    postParameters += "&force_add="+fadd;
		    postParameters += "&autoshare=true";
		    postParameters += "&story_id="+sid;
		var ajaxRequestOptions = {
		// Use POST
		method: 'post',
		// Send this lovely data
		postBody: postParameters,
		// Handle successful response
		onSuccess: shareNewsWithNewsNetworkCallback,
		// Handle 404
		on404: shareNewsWithNewsNetwork404Callback,
		// Handle other errors
		onFailure: shareNewsWithNewsNetworkFailureCallback
	}
	new Ajax.Request('/share-news-with-news-network', ajaxRequestOptions);
}

/**
 * Share news with relevant news network callback function
 */
var shareNewsWithNewsNetworkCallback = function (response){
	//eval the json object
	response_data = eval('(' + response.responseText + ')');
}

/**
 * Share news with relevant news network failure callback function
 */
var shareNewsWithNewsNetworkFailureCallback = function (){
	alert("Error on page");
}
/**
 * Share news with relevant news network404 callback function
 */
var shareNewsWithNewsNetwork404Callback= function (){
	alert("Error page is not found");
}

/*
 * Trac ajax functionalities on google analytics
 */
function tracAjaxFunctionalities(custom_url) {
	if(location.host == "www.socialmedian.com") {
		urchinTracker(custom_url);
	}
}

/**
 * Bala 23/03/09
 * Authenticate user based on facebook credentials
 */
var authenticateFbUser = function(is_button_clicked) {
 	var postParameters = "fb_clicked="+is_button_clicked;
	var ajaxRequestOptions = {
		// Use POST
		method: 'post',
		// Send this lovely data
		postBody: postParameters,
		// Handle successful response
		onSuccess:  authenticateFbUserCallback,
		// Handle 404
		on404: authenticateFbUser404Callback,
		// Handle other errors
		onFailure: authenticateFbUserFailureCallback
	}
	new Ajax.Request('/authenticate-facebook-user', ajaxRequestOptions);
}
/**
 * Authenticate user based on facebook credentials success callback
 */
var authenticateFbUserCallback = function(response) {
	//eval the json object
	response_data = eval('(' + response.responseText + ')');
	// Google Analytics - code to track add news action
	//tracAjaxFunctionalities('/authenticate-facebook-user');
	if(response_data.error != 1) {
		if(response_data.auth) {
			//window.location = window.location.href;
			if(location.href.include("/fb-connect-status")){
				window.location = redirectFbUser(true);
			}else{
				window.location = window.location.href;
			}
		} else {
			window.open("http://"+location.host+"/connect-to-facebook?user_name="+response_data.userName);
			self.close();
		}
	}
}
/**
 * Authenticate user based on facebook credentials failure callback function
 */
var authenticateFbUserFailureCallback = function () {
	alert("Error on page");
}
/**
 * Authenticate user based on facebook credentials 404 callback function
 */
var authenticateFbUser404Callback= function () {
 	alert("Error page is not found");
}