// <!--
//////////////////////////////////////////////////////////////////////////////////////////////////
// file: flag.js
//
// This file has functions to display overlay of flag form for comments/reply. 
//
// Uses YUI library
////////////////////////////////////////////////////////////////////////////////////////////////////

var flagOverlay = YAHOO.namespace("example.container1");
 

function init2(base) {
	// Instantiate the Dialog
	flagOverlay = new YAHOO.widget.Dialog("flagFormId", 
							{ width: "500px",
							  fixedcenter: true,
							  modal:true,
							  visible : false, 
							  constraintoviewport : true,
							  draggable :false,
							  close :false
							});
 
	// Render the Dialog
	flagOverlay.render();

	// get arguments passed to the handler
	if(arguments.length > 2) { 
	   base = arguments[2]; 
	}
	
	// set base url used by ajax functions
	baseURL = base;
}

//this function is called to show flag form
var id = -1;
var commentFlag = -1;
function showFlag(id, commentFlag) {
	this.id = id;
	this.commentFlag = commentFlag;
	dwr.util.setValue('show-flag-errors','');

	document.getElementById("firstName").value = "";
	document.getElementById("lastName").value = "";
	document.getElementById("flagEmail").value = "";
	document.getElementById("reason").value = "";

	flagOverlay.show();
}

function saveFlag() {
	if(document.getElementById("flagSave").value == ""){
		document.getElementById("flagSave").value = "flagSave";
		var postId = document.getElementById("postId").value;
		var firstName = escape(document.getElementById("firstName").value);
		var lastName = escape(document.getElementById("lastName").value);
		var flagEmail = document.getElementById("flagEmail").value;
		var reason = escape(document.getElementById("reason").value);
		
	    var sUrl = baseURL + "/exclude/saveFlag.ajax";
	    
		var sData = "?postId="+postId+"&id="+id+"&commentFlag="+commentFlag+"&firstName="+ firstName+"&lastName="+lastName+"&flagEmail="+ flagEmail+"&reason="+ reason;	
		
		//ajax call to url from DWR
		DWRUtil.setData(sUrl, sData, {callback:flagSuccess, errorHandler:flagFailure});
	}
}

//ajax success handler - reply
var flagSuccess = function(o){
	if(o.length > 1){
		document.getElementById("flagSave").value ="";
		dwr.util.setValue('show-flag-errors', o, { escapeHtml:false });
	}else{
		flagOverlay.cancel();
		document.getElementById("flagSave").value ="";
	}
}

//ajax failure handler - states
var flagFailure = function(o){ 
	flagOverlay.setFooter("Unable to process request : " + o.statusText);
}