/*
	This file contains the scripts for AI, which are common.
*/

function toggle(id)
{
	if($(id).visible())
		$(id).hide();
	else
		$(id).show();

	return false;
}

function clickToShow(id)
{
	if($(id).visible())
		$(id).hide();
	else
		$(id).show();

}



function validateSettings()
{
	var d = document;

	if((d.getElementById('oldPassword').value != '') && (d.getElementById('newPassword').value != '') 
		&& (d.getElementById('newPassword1').value != ''))
	{
		if(d.getElementById('newPassword').value != d.getElementById('newPassword1').value)
		{
			alert('Passwords do not match');
			return false;
		}
		return true;
	}
	else
	{
		alert("Please Fill all the fields.");
		return false;
	}
	
}

function hideOfferLoad()
{
	
	document.getElementById('offer_load').style.visibility = 'hidden'; 
}
function hideTheaterLoad()
{
	
	document.getElementById('theater_load').style.visibility = 'hidden'; 
}
function hideEventLoad()
{
	
	document.getElementById('event_load').style.visibility = 'hidden'; 
}
function hideOnTvLoad()
{
	document.getElementById('ontv_load').style.visibility = 'hidden'; 
}
function hideGetAwayLoad()
{
	
	document.getElementById('getaway_load').style.visibility = 'hidden'; 
}


function getSendMsgMarkyp(id,name)
{
	var retVal = '<div align="center">'+
	'<span id="status-text" class="grey" style="margin-left:10px">Send message to <strong>'+ name +'</strong></span>'+
	'<div align="left">'+
	'<form id = "msg-form" name="msg-form" method="post" action="/message/send" >'+
	'<table width="100%" border="0" cellspacing="2" cellpadding="3">'+
              '<tr>'+
                '<td colspan="2"><span class="grey">Subject:</span></td>'+
              '</tr>'+
              '<tr>'+
                '<td colspan="2"><input name="subject" type="text" id="subject" size="50" /></td>'+
              '</tr>'+
              '<tr>'+
                '<td colspan="2"><span class="grey">Message:</span></td>'+
              '</tr>'+
              '<tr>'+
                '<td colspan="2">'+
		'<textarea name="body" cols="40" rows="3" id="body"></textarea>'+
		'</td>'+
              '</tr>'+              
              '<tr><input type="hidden" name="to_user" value="'+ id +'" />'+
              '<td colspan="2">'+
				'<input id="send" name="send" type="button" class="button" value="Send" onclick="sendMessage();return false;"/>'+
				'<span class="small grey"> or </span>'+
				'<input id="send" name="cancel" type="button"  value="Cancel" onclick="closeMessage();return false;"/>'+
			  '</td>'+
              '</tr>'+
            '</table>'+
          '</form>'+
	'</div>'+
	'</div>';

	return retVal;
}



function displayMessage(src,wt,ht)
{
	//messageObj.setSource(url);	
	messageObj.setHtmlContent(src);
	messageObj.setCssClassMessageBox(false);
	
	if(ht == '')
		ht = 400;
	if(wt == '')
		wt == 400;

	messageObj.setSize(wt,ht);
	messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
	messageObj.display();
}

function closeMessage()
{
	messageObj.close();	
}

function showMenu(id)
{
	new Ajax.Request('/restaurants/order',
		  {
			method:'GET',
			parameters: 'id='+id,
			onSuccess: function(transport){

				messageObj.setHtmlContent(transport.responseText);
				messageObj.setSize(800,600);
				messageObj.setCssClassMessageBox(false);
				messageObj.setSource(false);	// no html source since we want to use a static message here.
				messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
				messageObj.display();	
			},
			onFailure: function(transport){
				alert('Some problem occured. We are working on it. Be cool.');
			}			
		  });

}

function getMenuPageContent(id)
{

}

function showSendMessage(id,name)
{
	messageObj.setHtmlContent(getSendMsgMarkyp(id,name));
	messageObj.setSize(400,250);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	messageObj.display();	
}

function sendMessage()
{
		if($('msg-form').body.value == '')
		{
			alert("Please enter Message body");
			return;
		}

		new Ajax.Request('/message/send',
		  {
			method:'POST',
			parameters: $('msg-form').serialize(true),
			onSuccess: function(transport){
				var flashmsg = $('flashmsg').show();
				flashmsg.innerHTML = "Message sent.";   
				window.setTimeout('$(\'flashmsg\').hide()',5500);
			},
			onFailure: function(transport){
				var flashmsg = $('flashmsg').show();
				flashmsg.innerHTML = "Oops! Cannot send message"; 	              
				window.setTimeout('$(\'flashmsg\').hide()',5500);
			},
			onComplete: closeMessage()
		  });
	
}

function ShowForManageBox()
{
	
	new Ajax.Request('/home/for-manage-form',
		  {
			method:'GET',		
			onSuccess: function(transport){
				messageObj.setHtmlContent(transport.responseText);
				messageObj.setSize(730,450);
				messageObj.setCssClassMessageBox(false);
				messageObj.setSource(false);	// no html source since we want to use a static message here.
				messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
				messageObj.display();
			}
		  });
	
	//var markup = "<div><iframe src='http://commonfloor.com/home/for-manage' width='700px' height='400px' frameborder=0></iframe></div>";

	
}


function showEventInfo(id)
{
	if($(id).visible())
	{
		$(id).hide();
	}
	else
	{
		$(id).show();
	}
}



function showModalLoading()
{	

	var markup = "<div align='center'>"+
				"<img src='/images/slide-loader.gif'/>"+
				"<div class='grey big'> Loading the data. </div>"+				
				"</div>";	 
	messageObj.setHtmlContent(markup);
	messageObj.setSize(300,70);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	messageObj.display();
}

function hideModalLoading()
{
	closeMessage();
}

function CloseFlashMessage(id)
{
	$(id).hide();
	new Ajax.Request('/home/config',
	  {
		method:'POST',
		parameters: 'type=0&param=flashmsg&value='+id			
	  });
}

function chooseGLA(choice)
{
	if(choice == 'group')
	{
		$('gla_groups').show();
	}
	else
	{
		$('gla_groups').hide();
	}
}
var Test = {
	submitForm: function() 
	{	
			$('event_form').submit();
	}
}

var Events = {
	defaultEventsData: null,
	
	fetchEvents: function(tosubmit)
	{		
		var eventParams = '';
		if(tosubmit == true)
		{	
			eventParams = "location="+$('location').value +"&category="+$('category').value;
		}

		if(this.defaultEventsData != null && !tosubmit)
		{
			$('app-container').innerHTML = this.defaultEventsData;
			return;
		}
		
		

		
		new Ajax.Request('/events',
		  {
			method:'get',
			parameters: eventParams,
			onSuccess: function(transport){

				$('app-container').innerHTML = transport.responseText;
				Events.defaultEventsData = transport.responseText;
			},

			onFailure: function(transport){
				var error = "<div align='center'>"+
						"Oops.. Some internal error occured.</br> Dont worry, we will fix it as soon as possible</div>";
				$('app-container').innerHTML = error;

			},
			onComplete: function(transport){
				hideModalLoading();
			}			
		  });

		  return false;
	}
}

var Movies = {
	
	movieData: null,

	fetchMovies: function(by)
	{								
		var val = null;
		if(by == 'movie')
		{
			val = $('choice_form').movie.value;
		}
		else if(by == 'theater')
		{	
			val = $('choice_form').theater.value;
		}
		else if(by == 'lang')
		{
			val = $('choice_form').lang.value;
		}

		var params = '';
		if(by)
		{
			params = 'by='+by+'&value='+escape(val);
		}

		$('choice_form').action +=  "&"+params;

		$('choice_form').submit();
		return;		
	}
}
var MoviesBox = {
	
	movieData: null,

	fetchMovies: function(by)
	{								
		
		var val = null;
		if(by == 'movie')
		{	
			val = $('choice_form').movie.value;
		}
		else if(by == 'theater')
		{	
			val = $('choice_form').theater.value;
		}
		else if(by == 'lang')
		{
			val = $('choice_form').lang.value;
		}

		var params = '';
		if(by)
		{
			params = 'by/'+by+'/value/'+escape(val);
		}

		$('choice_form').action +=  "/"+params;
		
		$('choice_form').submit();
		return;		
	}
}
var Inbox = {

	deleteMsgs: function(){
		var params = this.getParamString();
		
		if(params == false)
			return false;
		
		$("msg_action_loader").innerHTML = "Deleting...";
		//alert(params);
		new Ajax.Updater('message-panel', '/message/delete', 
			{
			 method:'post',
			 parameters: params,
			 onComplete: function(){
				$("msg_action_loader").innerHTML = '';
			 }
			});
	},
	
	markUnread: function(){
		var params = this.getParamString();

		if(params == false)
			return false;


	},

	getParamString: function(){
		var inboxForm = $("inbox-form");
		var selected = $('inbox-form').getInputs("checkbox","box[]");
		if(selected.length == 0)
		{
			alert("Please select the message(s).");
			return false;
		}
		return inboxForm.serialize();
	}
}

var Borrow = {
	
	item: '',
	desc: '',
	requestBorrow: function()
	{
		var form = $('borrow_form');
		if(form.item.value == "" || form.item.value == "")
		{
			alert("Please fill the details.");
			return false;
		}

		new Ajax.Request('/share/borrow',
		  {
			method:'post',	
			parameters: $('borrow_form').serialize(true),	
			onSuccess: function(transport){

				$('borrow_items').innerHTML = transport.responseText;
				$("form_div").hide();
			},

			onFailure: function(transport){
				var error = ""+
						"Oops.. Some internal error occured. Dont worry, we will fix it as soon as possible";
				
				$('error_msg_borrow').innerHTML = error;
				$('error_msg_borrow').show();

			},
			onComplete: function(transport){
				
				hideModalLoading();
			}			
		  });

		  return false;
	},

	deleteEntry: function(id)
	{
		if(!confirm('Are you sure you want to delete this entry?'))
		{	
			return false;
		}

		showModalLoading();
		new Ajax.Request('/share/delete-borrow',
		  {
			method:'get',	
			parameters: "id="+id,

			onSuccess: function(transport){				
				$('borrow_items').innerHTML = transport.responseText;
			},

			onFailure: function(transport){
				var error = ""+
						"Oops.. some internal error occured.";
				
				$('error_msg_borrow').innerHTML = error;
				$('error_msg_borrow').show();

			},
			onComplete: function(transport){
				
				hideModalLoading();
			}			
		  });
	}
}

var Share = {

	showByCatg : function(id){
		
		showModalLoading();
		new Ajax.Request('/share/show',
		  {
			method:'get',	
			parameters: "catg="+id,

			onSuccess: function(transport){				
				$('share_listings').innerHTML = transport.responseText;
			},

			onFailure: function(transport){
				var error = ""+
						"Oops.. some internal error occured.";
				
				$('share_listings').innerHTML = error;
				

			},
			onComplete: function(transport){
				
				hideModalLoading();
			}			
		  });

		  return false; // IE
	}
}

var AskOthers = {

	searchSimilar: function(pg)
	{
		if($("ask_form").question.value == '')
		{
			alert("Question field empty.");
			return false;
		}
		
		
		if(!pg)
			pg = 1;

		if($("details").visible())
		{
			//$("details").hide();
		}

		$("suggest-box").show();
		
		
		
		new Ajax.Request('/askothers/search',
		  {
			method:'POST',	
			parameters: $("ask_form").serialize() + "&page="+pg,

			onSuccess: function(transport){				
				
				$('suggest-box').innerHTML = transport.responseText;
			},

			onFailure: function(transport){
				var error = ""+
						"Oops.. some internal error occured.";
				
				$('flashmsg').innerHTML = error;								

			}		
		  });

		  return false; // IE
	},
	
	postQuestion: function()
	{

		if($("ask_form").question.value == '')
		{
			alert("Question field empty.");
			return false;
		}

		
		 $("ask_form").action = '/askothers/ask';
		 $("ask_form").submit();

		/*
		new Ajax.Request('/askothers/ask',
		  {
			method:'POST',	
			parameters: $("ask_form").serialize(true),

			onSuccess: function(transport){				
				var arr = transport.responseText.split(/:/);
				if(arr[0] == "0")
				{
					// things are fine.
					$("status").show();$("status").addClassName("grey");
					$("ask_form").question.value = '';
				}
				else if(arr[1] == "1")
				{
					$("status").show();
					$("status").addClassName("red");
				}

				$('status').innerHTML = arr[1];
			}
			
			,

			onFailure: function(transport){
				var error = "Oops.. some internal error occured.";
				
				$("status").show();
				$("status").addClassName("red");
				$('status').innerHTML = error;								
			},

		   onComplete: function(transport)
			  {
				$("details").hide();
				$("loader_ask").hide();
				window.setTimeout('$(\'status\').hide()',2500);
			  }
		  });
		*/
		  return false;
	},

	proceedToAsk:function()
	{
		if($("suggest-box").visible())
		{
			$("suggest-box").hide();
		}

		clickToShow("details");
		return false;
	},

	postAnswer: function(qid)
	{
		/* pick the answer from ans_form_<id>
		   ans_<id>
		   ans_post_loader_<id>
		   ans_post_status_<id>
		*/

		if(document.answer_form.answer.value == '')
		{
			alert("Answer left blank.");
			return false;
		}
				
		document.answer_form.submit();
		return false;
	},

	fetchAnswers: function(qid,pg)
	{
		// display the answers in answers_<id>
		if(!pg)
		{
			pg = 1;
		}
		
		if(!qid)
		{
			return;
		}

		$("answers_"+qid).show();
						
		new Ajax.Request('/askothers/fetch-answer',
		  {
			method:'GET',	
			parameters: "qid="+ qid + "&page="+pg,

			onSuccess: function(transport){				
				
				$("answers_"+qid).innerHTML = transport.responseText;	
								
			},

			onFailure: function(transport){
				var error = ""+
						"Oops.. some internal error occured.";
				
				$('flashmsg').innerHTML = error;								

			}		
		  });

		  return false; // IE
	}
}

var Poll = {
	
	create: function()
	{		
		new Ajax.Request( "/poll/make-form",
		  {
			method:'GET',		
			onSuccess: function(transport){
				src = transport.responseText;
			},
			onFailure: function(transport){
				src = "Oops some problem occured. We are working on it.";
				window.setTimeout('closeMessage()',2500);
			},			
			onComplete: function(transport){
				displayMessage(src,550,350);
			}

		  });
	},

	cancel: function()
	{
		closeMessage();
	},

	addOption: function()
	{
		/* lets increase the size first.
		var ht = messageObj.height;
		var wt = messageObj.width;
		ht += 40;
		messageObj.setSize(wt,ht);*/
		
		var box = $('options');
		var option = document.createElement("DIV");
		option.className = 'poll_option';
		option.innerHTML = '<input name="option[]" type="text" />';
		box.appendChild(option);
	},
	
	make: function()
	{
		/* Validation */
		if($('poll_about').value == '')
		{
			$('alert').innerHTML = "Poll question is required.";
			$('alert').show();
			return false;
		}

		if($('option_1').value == '' || $('option_2').value == '')
		{
			$('alert').innerHTML = "First two options are required.";
			$('alert').show();
			return false;
		}

		if(!$('type_bin').checked  && !$('type_multi').checked)
		{
			$('alert').innerHTML = "Please specify if the poll is single choice or multiple.";
			$('alert').show();
			return false;
		}

		document.poll_form.submit();
	},
	
	postComment: function(id)
	{
		if($('comment_form').comment.value == '')
		{
			alert("Please don't leave the comment blank.");
			return;
		}

		$('comment_form').submit();

	}
}


