// JavaScript Document
addedArray = Array();
removedArray = Array();
addedHiddenBox = null;
removedHiddenBox = null;	
sectionSortArray = null;
sentenceSortArray = null;
maxSectionId = null;
function removespaces(string)
{
	var newstring = '';
	for (var i = 0; i < string.length; i++) {
	if (string.charAt(i) != ' ') newstring += string.charAt(i);
	}
	return newstring;
}

function validate_user()
{
	//document.getElementById("error_message").innerHTML = "";
	var valid = false ;
	var username = document.getElementById("username");
	var password = document.getElementById("password");
	var error_box = document.getElementById("error_message");
	
	error_box.style.display = "none";
	
	if(removespaces(username.value).length==0 && removespaces(password.value).length==0)
	{
		//alert("Fields user name and password are required");
		error_box.innerHTML = "User name and password are required";
		error_box.style.display = "block";
		
		username.value = "";
		password.value = "";
		username.focus();
	}
	else if(removespaces(username.value).length==0 && removespaces(password.value).length!=0)
	{
		//alert("User name is required");
		error_box.innerHTML = "User name is required";
		error_box.style.display = "block";
		
		username.value = "";
		username.focus();
	}
	else if(removespaces(username.value).length!=0 && removespaces(password.value).length==0)
	{
		//alert("Password is required");
		error_box.innerHTML = "Password is required";
		error_box.style.display = "block";
		
		password.value = "";
		password.focus();
	}
	else 
	{
		valid = true;
	}
	
	if(valid ==true)
	{
		sR('tafi/app_code/functions.php','type=login&username='+username.value+'&password='+password.value,'POST','');
	}
}

function forget_password()
{
	var username = document.getElementById("username");
	var error_box = document.getElementById("error_message");
	if(removespaces(username.value).length==0)
	{
		//alert("User name is required");
		error_box.innerHTML = "User name is required";
		error_box.style.display = "block";
	}
	else
	{
		var msg="Your password will be reset and the new one will be sent by mail. Are you sure .....";
		var r=confirm(msg);
		if (r==true)
  		{
  			error_box.innerHTML = "Sending e-mail, Please wait...";
			error_box.style.display = "block";
			sR('tafi/app_code/functions.php','type=forget_password&username='+username.value,'POST','');
  		}
		else
  		{
  			error_box.style.display = "none";
  		}
	}
}

function validate_password()
{
	var valid = false ;
	var old_password = document.getElementById("old_password");
	var old_password_div = document.getElementById("old_password_div");
	var password = document.getElementById("password");
	var conf_password = document.getElementById("conf_password");
	var error_box = document.getElementById("error_message");
	error_box.style.display = "none";
	if(old_password_div.style.display=='block' && removespaces(old_password.value).length==0)
	{

		error_box.innerHTML = "Insert your current password";
		error_box.style.display = "block";
		
		old_password.value = "";
		old_password.focus();
	}
	
	else if(removespaces(password.value).length==0)
	{
		//alert("Insert new password");
		
		error_box.innerHTML = "Insert new password";
		error_box.style.display = "block";
		
		password.value = "";
		password.focus();
	}
	else if(old_password_div.style.display=='block' && old_password.value==password.value)
	{
		error_box.innerHTML = "New and old passwords are identical";
		error_box.style.display = "block";
		
		password.value = "";
		password.focus();
	}
	else if(removespaces(conf_password.value).length==0 || (conf_password.value != password.value))
	{
		//alert("Confirm password Please");
		error_box.innerHTML = "Please Confirm password";
		error_box.style.display = "block";
		conf_password.focus();
	}
	else 
	{
		valid = true;
	}
	
	if(valid ==true)
	{
		sR('tafi/app_code/functions.php','type=set_password&new_password='+password.value+'&old_password='+old_password.value,'POST','');
		
	}
}

function submit_on_onter(e,type)
{
	var keyPressed;

	if(window.event)
	{
		keyPressed = window.event.keyCode; // IE
	}
	else
	{
		keyPressed = e.which; // Firefox
	}
	if(keyPressed == 13) //Enter 
	{
		if(type=='login')
		{
			validate_user();
		}
		else if(type=='change_password')
		{
			validate_password();
		}
	}
}

function reset_form_fields()
{
	var theForm = document.forms[0];
	var theMode = document.forms[0].sql;
	for(var i=0; i<theForm.elements.length; i++)
	{
		var elt = theForm.elements[i];
		if(theMode == "insert" && (elt.type=="text" || elt.type == "textarea"))
		{
			elt.value = '';
		}
	}
}

function toggleAlert(name,disabled) {
	toggleDisabled(document.getElementById(name),disabled);
}

function toggleDisabled(el,disabled) {
	try {
		el.disabled = disabled;
	}
	catch(E){
	}
	if (el.childNodes && el.childNodes.length > 0) {
		for (var x = 0; x < el.childNodes.length; x++) {
			toggleDisabled(el.childNodes[x],disabled);
		}
	}
}

function partQueryFieldsFetch( selectName, divName  )
{
	partField = document.getElementById("div_Part_Field_Name");
	variable = document.getElementById("div_Att_Variable_ID"); 
	lookup = document.getElementById("div_Att_Lookup_ID");
	criteria1 = document.getElementById("div_Att_Part_Criteria_1");
	criteria2 = document.getElementById("div_Att_Part_Criteria_2");
	criteria3 = document.getElementById("div_Att_Part_Criteria_3");	
	otherCondition= document.getElementById("div_otherCondition");
	
	var selectElmnt = document.getElementById(selectName);
	if ( selectElmnt.options[selectElmnt.selectedIndex].value != "" )
	{		
		//part field value
		switch ( selectElmnt.options[selectElmnt.selectedIndex].value )
		{
			case "qrystats":
				partField.innerHTML =
					'<select name="Part_Field_Name" id="Part_Field_Name" style="width: 100px;">' +					
						document.getElementById("query1").value+
					'</select>'
				otherCondition.innerHTML = 
					'<select id="otherCondition" style="width: 100px;">'+
						document.getElementById("query1").value+					
					'</select>'; 
					;
				break;
			case "qrystats_state":
				
				partField.innerHTML = '<select name="Part_Field_Name" id="Part_Field_Name" style="width: 100px;">' +
					document.getElementById("query2").value +
					'</select>';
				otherCondition.innerHTML = 
						'<select id="otherCondition" style="width: 100px;">'+
							document.getElementById("query2").value+					
						'</select>'; 
				break;
			case "qrystats_wcomp":
				partField.innerHTML = '<select name="Part_Field_Name" id="Part_Field_Name" style="width: 100px;">' +
					document.getElementById("query3").value +
					'</select';
				otherCondition.innerHTML = 
							'<select id="otherCondition" style="width: 100px;">'+
								document.getElementById("query3").value+					
							'</select>'; 
				break;		
		}	
		
		variable.innerHTML = '<select name="Att_Variable_ID" id="Att_Variable_ID" style="width: 100px;">'+
								document.getElementById("variable").value+
							'</select>';
		lookup.innerHTML =	'<select name="Att_Lookup_ID" id="Att_Lookup_ID" style="width: 100px;">'+
								document.getElementById("general_lookups_data").value+
							'</select>';
		criteria1.innerHTML = '<select name="Att_Part_Criteria_1" id="Att_Part_Criteria_1" style="width: 100px;">'+ 
								document.getElementById("general_lookups_data").value+
							  '</select>';
		criteria2.innerHTML = '<select name="Att_Part_Criteria_2" id="Att_Part_Criteria_2" style="width: 100px;">'+ 
								document.getElementById("general_lookups_data").value+
							  '</select>';
		criteria3.innerHTML = '<select name="Att_Part_Criteria_3" id="Att_Part_Criteria_3" style="width: 100px;">'+ 
								document.getElementById("general_lookups_data").value+
							  '</select>';
		document.getElementById("UseQuery").Value=1;
		parseOtherCondition();
		toggleAlert(divName,false);			
	}
	else
	{		
		partField.innerHTML = '<select name="Part_Field_Name" id="Part_Field_Name" style="width: 100px;"></select';;
		variable.innerHTML = '<select name="Att_Variable_ID" id="Att_Variable_ID" style="width: 100px;"></select>';
		lookup.innerHTML =	'<select name="Att_Lookup_ID" id="Att_Lookup_ID" style="width: 100px;"></select>';
		criteria1.innerHTML = '<select name="Att_Part_Criteria_1" id="Att_Part_Criteria_1" style="width: 100px;"></select>';
		criteria2.innerHTML = '<select name="Att_Part_Criteria_2" id="Att_Part_Criteria_2" style="width: 100px;"></select>';
		criteria3.innerHTML = '<select name="Att_Part_Criteria_3" id="Att_Part_Criteria_3" style="width: 100px;"></select>';
		otherCondition.innerHTML = '<select id="otherCondition" style="width: 100px;"></select>'; ;
		document.getElementById("condition").value = "";
		document.getElementById("UseQuery").Value=0;
		toggleAlert(divName,true);
	}	
}

function insertAtCursor( myFieldName, selectControl)
{
	
	if (selectControl.selectedIndex==0) return;
	var myField = document.getElementById(myFieldName);
	var myValue = selectControl.value;

	//IE support
	if (document.selection)
	{
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	// FIREFOX
	else if ( myField.selectionStart || myField.selectionStart == '0')
	{
		myField.focus();
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)+ myValue+ myField.value.substring(endPos, myField.value.length);
	}
	// OTHERS just append at the end
	else
	{
		myField.value += myValue;
	}
	selectControl.selectedIndex=0;
}

//Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function parseOtherCondition()
{
	var hiddenFieldValue = trim(document.getElementById("Additional_Condition").value);
	
	var otherCondition = document.getElementById("otherCondition");
	var filters = document.getElementById("filters");
	var condition = document.getElementById("condition");	
	
	if (  trim(hiddenFieldValue) != "" )
	{	
		str = hiddenFieldValue.split(" ", 3);
		otherCondition.value = str[0];
		filters.value = str[1];
		condition.value = str[2];
	}	
	else
	{
		condition.value = "";
	}
}

function combineOtherCondition()
{
	var hiddenField = document.getElementById("Additional_Condition");
	var otherCondition = trim(document.getElementById("otherCondition").value);
	var filters = trim(document.getElementById("filters").value);
	var condition = trim(document.getElementById("condition").value);	
	if ( document.getElementById("condition" ) == null ) condition="";
	if ( condition != "" )
	{	
		hiddenField.value = otherCondition + " " + filters + " " + condition; 
	}	
	else
	{
		hiddenField.value=" ";
	}
}

function populateHiddenFieldValues()
{
	addedHiddenBox = document.getElementById("addedHiddenBox");
	removedHiddenBox = document.getElementById("removedHiddenBox");	
	if ( addedHiddenBox != null ) addedHiddenBox.value = convertArrayToCSV(addedArray);
	if ( removedHiddenBox != null ) removedHiddenBox.value = convertArrayToCSV(removedArray);
}

function removeSectionFromTemplate(templateId,sectionId,sectionName,mode)
{	
	if ( !removeValueFromArray(addedArray,sectionId) )
	{
		removedArray[removedArray.length]=sectionId;
	}
	populateHiddenFieldValues();
	var url = "tafi/modules/makesectiontable.php?templateId="+
				templateId+prepareQueryForHiddenFields(mode);
	sR(url,null,"post","grid");
	appendOption("sectionList", sectionId, sectionName);
	return false;
}

function prepareQueryForHiddenFields(mode)
{
	return "&editMode="+mode
		 + "&added=" + encodeURIComponent(addedHiddenBox.value)
		 + "&removed="+ encodeURIComponent(removedHiddenBox.value);
}

function addSectionToTemplate(templateId,mode)
{
	var sectionList = document.getElementById("sectionList");
	var value =sectionList.options[sectionList.selectedIndex].value;	
	if ( value < 0 )
	{
		alert ( "Please select a section");
		return;
	}
	if ( !removeValueFromArray(removedArray,value) )
	{
		addedArray[addedArray.length]=value;
	}
	populateHiddenFieldValues();
	var url = "tafi/modules/makesectiontable.php?templateId="+templateId
							+prepareQueryForHiddenFields(mode);	
	sR(url,null,"post","grid");
	removeOption("sectionList");
}

function appendOption(elementId,value,text)
{
  var elOptNew = document.createElement('option');
  elOptNew.value = value;
  elOptNew.text = text;
  var select = document.getElementById(elementId);
  try {
	  select.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
	  select.add(elOptNew); // IE only
  }
}

function removeOption(elementId)
{
  var select = document.getElementById(elementId);
  select.remove(select.selectedIndex);
}

function removeValueFromArray(arr,value)
{
	var res= false;
	for (var i =0;i<arr.length;i++)
	{
		if(value==arr[i])
		{
			res = true;
			arr.splice(i,1); 
			break;
		}
	}
	return res;
}

function convertArrayToCSV(arr)
{
	var str="";
	for (var i = 0; i< arr.length; i++)
	{		
		str += arr[i] + ",";
	
	}
	if ( str.length >0 )
	{
		str = str.substr(0,str.length-1);		
	}
	return str;
}

function addStatementToSection(sectionId)
{
	if ( sentenceSortArray == null )
	{
		setSortArray();
	}
	var sentenceList = document.getElementById("sentenceList");
	var value =sentenceList.options[sentenceList.selectedIndex].value;	
	if ( value < 0 )
	{
		alert ( "Please select a sentence");
		return;
	}
	
	tr = document.createElement("tr");
	tr.id="main"+sentenceSortArray.length;	
	tr.setAttribute("align","center");	
	
	td1 = document.createElement("td");
	td1.id="sentenceRemove"+sentenceSortArray.length;
	td1.setAttribute("align","center");
	td1.innerHTML ="<button onclick='javascript:removeStatementFromSection("+value+","+maxSectionId+","+sentenceSortArray.length+")' style='border: medium none ; background-color: white;' type='button'>"+
					"<img border='0' src='images/button-delete.png'/></button>";
	tr.appendChild(td1);
	
	
	td2 = document.createElement("td");
	td2.id="sentenceId"+sentenceSortArray.length;
	td2.setAttribute("align","center");
	td2.innerHTML ="<a href='tafi.php?op=sentences&a=edit&recid=0&pid="+value+"'>"+value+"</a>";
	tr.appendChild(td2);
	
	td3 = document.createElement("td");
	td3.id="maindesc"+sentenceSortArray.length;
	td3.setAttribute("align","left");
	td3.innerHTML =sentenceList.options[sentenceList.selectedIndex].innerHTML;
	tr.appendChild(td3);

	td4 = document.createElement("td");
	td4.id="sentOrder"+sentenceSortArray.length;
	td4.setAttribute("align","center");
	td4.innerHTML =maxSectionId;
	tr.appendChild(td4);
	
	td5 = document.createElement("td");	
	td5.setAttribute("align","center");
	//alert(sentenceSortArray[0]);
	if ( sentenceSortArray.length>0)
	{
		td5.innerHTML ="<button onclick='sortSentence("+sentenceSortArray.length+",true);' style='border: medium none ; background-color: white;' type='button'>"+
							"<img border='0' src='images/button-up.png'/>"+
						"</button>";
	}
	else
	{
		td5.innerHTML ="&nbsp;";
	}

	tr.appendChild(td5);	
	
	td5 = document.createElement("td");
	td5.id="down"+sentenceSortArray.length;
	td5.innerHTML ="&nbsp";
	
	tr.appendChild(td5);
	document.getElementById("main").appendChild(tr);
	
	if ( sentenceSortArray.length>0)
	{
		td = document.getElementById("down"+(sentenceSortArray.length-1));
		td.innerHTML ="<button onclick='sortSentence("+(sentenceSortArray.length-1)+",false);' style='border: medium none ; background-color: white;' type='button'>"+
							"<img border='0' src='images/button-down.png'/>"+
						"</button>";
	}
	sentenceSortArray[sentenceSortArray.length]=value+":"+maxSectionId;
	
	if ( !removeValueFromArray(removedArray,value) )
	{
		addedArray[addedArray.length]=value;
	}
	
	populateHiddenFieldValues();	
	
	//var url = "tafi/modules/statementtable.php?Section_ID="+sectionId+prepareQueryForHiddenFields();
	//sR(url,null,"post","grid");
	removeOption("sentenceList");
	maxSectionId++;
}

function removeStatementFromSection(id,sectionId,i)
{
	if ( !removeValueFromArray(addedArray,id) )
	{
		removedArray[removedArray.length]=id;
	}
	populateHiddenFieldValues();
	
	appendOption("sentenceList", sectionId, document.getElementById("maindesc"+i).innerHTML);
	removeRowFromStatementTable(i);
	//var url = "tafi/modules/statementtable.php?Section_ID="+sectionId+prepareQueryForHiddenFields();
	//sR(url,null,"post","grid");	
}

function removeRowFromStatementTable(index)
{
	if ( sentenceSortArray == null )
	{
		setSortArray();
	}
	var count = sentenceSortArray.length;
	
	var oldValue=null;
	var newValue=null;
	var next_id = index;
	
	for ( var prev_id=index;prev_id<count-1;prev_id++ )
	{	
		next_id = prev_id+1;
		oldValue = document.getElementById("sentenceId"+prev_id).innerHTML;
		newValue = document.getElementById("sentenceId"+next_id).innerHTML;
		document.getElementById("sentenceId"+prev_id).innerHTML =  newValue;
		document.getElementById("sentenceId"+next_id).innerHTML = oldValue;	
	
		
		oldValue = document.getElementById("maindesc"+prev_id).innerHTML;
		newValue = document.getElementById("maindesc"+next_id).innerHTML;
		document.getElementById("maindesc"+prev_id).innerHTML =  newValue;
		document.getElementById("maindesc"+next_id).innerHTML = oldValue;
	
		oldValue = document.getElementById("sentOrder"+prev_id).innerHTML;
		newValue = document.getElementById("sentOrder"+next_id).innerHTML;
		document.getElementById("sentOrder"+prev_id).innerHTML =  newValue;
		document.getElementById("sentOrder"+next_id).innerHTML = oldValue;
		
	}
	if ( next_id != 0 )
	document.getElementById("down"+(next_id-1)).innerHTML="&nbsp;"
		
	document.getElementById("main").removeChild(document.getElementById("main"+(next_id)));	
	//alert(sentenceSortArray);
	sentenceSortArray.splice(index,1);
	//alert(sentenceSortArray);
}

function doSectionFormSubmit(forRefresh)
{
	var str="";	
	
	ele = document.forms[0].elements["ckfactSheet"];
	
	if (!ele.length)
	{
		arr = new Array (1);
		arr[0] = ele;
	}
	else
	{
		arr = ele;
	}
	
	for (var i = 0; i< arr.length; i++)
	{
		if ( arr[i].checked==true )
		{
			str += arr[i].value + ",";
		}
	}
	if ( str.length >0 )
	{
		str = str.substr(0,str.length-1);		
	}
	document.getElementById("factsheetid_values").value = str;	
	
	if ( forRefresh ) 
	{
		var url = document.location.href;	
		if ( url.indexOf("&addSentence=true") > 0 )
		{
			url = url.substring(0,url.indexOf("&addSentence=true"));
		}
		if ( url.indexOf("&removeSentence=true") > 0 )
		{
			url = url.substring(0,url.indexOf("&removeSentence=true"));
		}
		if ( url.indexOf("&statementId=") > 0 )
		{
			url = url.substring(0,url.indexOf("&statementId="));
		}
		document.forms[0].action = url;
		document.forms[0].submit();
	}
}

function addBackUrlContents(curr_href)
{
	populateHiddenFieldValues();
	curr_href+="&backurl_added="+document.getElementById("addedHiddenBox").value;
	curr_href+="&backurl_removed="+document.getElementById("removedHiddenBox").value;	
	curr_href+="&fromChild=true";		
	curr_href = escape(encodeURI(curr_href));
	document.getElementById("backUrl").value=curr_href;
}

function createNewSection()
{
	var sectionList = document.getElementById("sectionList");
	var value =sectionList.options[sectionList.selectedIndex].value;	
	if ( value == -1 )
	{
		document.getElementById("sql").value="";
		var curr_href=document.location.href;
		var Template_Name=document.getElementById("Template_Name").value;
		curr_href = curr_href+"&Template_Name="+encodeURIComponent(Template_Name);	
		addBackUrlContents(curr_href);
		document.forms[0].action ="tafi.php?op=sections&a=add&target=sections&isBackUrl=true";
		document.forms[0].submit();
	}
}

function createNewSentence()
{	return;
//	var sentenceList = document.getElementById("sentenceList");
//	var value =sentenceList.options[sentenceList.selectedIndex].value;	
//	if ( value == -1 )
//	{
//		var curr_href=document.location.href;
//		var Section_Name=document.getElementById("Section_Name").value;
//		var Sort_Order=document.getElementById("Sort_Order").value;
//		var factsheetid_values=document.getElementById("factsheetid_values").value;
//		
//		document.getElementById("sql").value="";
//		curr_href = curr_href+"&Section_Name="+encodeURIComponent(Section_Name)+
//											   "&Sort_Order="+Sort_Order+
//											   "&factsheetid_values="+factsheetid_values;
//		addBackUrlContents(curr_href);
//		document.forms[0].action="tafi.php?op=sentences&a=add&target=sentences&isBackUrl=true";	
//		document.forms[0].submit();
//	}
}

function submitForSortOrder( tablename,keyname, prevKey,prevValue,newKey,newValue,url,divid,mode )
{
	var form = document.forms[0];
	populateHiddenFieldValues();
	
	var path="tafi/modules/sortorder.php?"+
				 "tableName="+tablename+
				 "&keyName="+keyname+
				 "&prevKey="+prevKey+
				 "&prevValue="+prevValue+
				 "&newKey="+newKey+
				 "&newValue="+newValue+
				 "&url="+url+
				 prepareQueryForHiddenFields(mode);			
	//alert(path);
	sR(path,null,"post",divid);
}

function ShowHide( menuID )
{ 		 	
	//IF MENU OPEN THEN CLOSE		 	
	if ( document.getElementById( menuID ).className == "LINKSON" )
	{	
		document.getElementById( menuID ).className = "LINKSOFF";
	}	 	
	else	 	
	{		 		
		document.getElementById( menuID ).className = "LINKSON" ;
	}
}	

function previewPDF()
{
	populateHiddenFieldValues();
	var form = document.forms[0];
	var action = form.action;	
	form.target="_blank";
	form.action="tafi/modules/pdf_fact_sheet_preview.php";
	form.submit();
	form.target="";
	form.action = action;
	
}

/// implementation for save as button

function duplicateFactSheet()
{
	populateHiddenFieldValues();
	
	var factsheetName = prompt("Enter Name for the fact sheet","");
	var len =0;
	
	if ( factsheetName == null  ) return;	
	try
	{
		len = factsheetName.length;
	}
	catch(e)
	{
		return ;
	}
	if (  len<1 )
	{
		alert("Please enter valid name ");
		return;
	}	
	var form = document.forms[0];
	form.action = form.action+"&newName="+factsheetName;
	form.submit();
}

function duplicateSection()
{
	populateHiddenFieldValues();
	
	var sectionName = prompt("Enter Name for the Section","");
	
	var len =0;
	
	if ( sectionName == null  ) return;	
	try
	{
		len = sectionName.length;
	}
	catch(e)
	{
		return ;
	}
	if (  len<1 )
	{
		alert("Please enter valid name ");
		return;
	}
	doSectionFormSubmit(false);
	convertArrayValuesToHiddenFieldForSection();
	var form = document.forms[0];
	form.action = form.action+"&newName="+sectionName;
	form.submit();
}

function duplicateSentence()
{
	populateHiddenFieldValues();
	
	var sentence = prompt("Enter Name for the sentence","");
	
	var len =0;
	
	if ( sentence == null  ) return;	
	try
	{
		len = sentence.length;
	}
	catch(e)
	{
		return ;
	}
	if (  len<1 )
	{
		alert("Please enter valid name ");
		return;
	}
	var form = document.forms[0];
	form.action = form.action+"&newName="+sentence;
	form.submit();
}

function duplicateSentencePart()
{
	populateHiddenFieldValues();
	var description="";
	description = prompt("Enter Description for the dynamic part","");
	//alert(description.length);
	
	var len =0;
	
	if ( description == null  ) return;	
	try
	{
		len = description.length;
	}
	catch(e)
	{
		return ;
	}
	if (  len<1 )
	{
		alert("Please enter valid name ");
		return;
	}
	var form = document.forms[0];
	form.action = form.action+"&newName="+description;
	form.submit();
}
//validation checking 
function validateFactsheet()
{
	var name = document.forms[0].Template_Name.value;
	if ( name.length <= 0 )
	{
		alert ("Please enter valid name");
		return false;
	}
	return true;	
}

function validateSection()
{
	var name = document.forms[0].Section_Name.value;
	if ( name.length <= 0 )
	{
		alert ("Please enter valid name");
		return false;
	}	
	doSectionFormSubmit(false);
	convertArrayValuesToHiddenFieldForSection();
	return true;	
}
function validateSentence()
{
	var description = document.forms[0].Sentence_Description.value;
	var SentenceText = document.forms[0].Sentence_Text.value;
	
	if ( description.length <= 0 )
	{
		alert ("Please enter valid description text");
		return false;
	}
	if ( SentenceText.length <= 0  )
	{
		alert ("Sentence text Can not be empty");
		return false;
	}
	
	return true;	
}

function validateSentenceParts()
{
	combineOtherCondition();
	var partDescription = document.forms[0].Part_Description.value;
	var queryName = document.forms[0].Part_Table_Query_Name.value;
	var useQuery = document.forms[0].Part_Query.value;
	if ( partDescription.length <= 0 )
	{
		alert ("Description can not be empty");
		return false;
	}
	if ( queryName.length <= 0 && useQuery.length <= 0 )
	{
		alert ("Sql Statement is empty");
		return false;
	}
	combineOtherCondition();
	return true;	
}

// Sorting functionalities
function sortSection ( id,isUp ) 
{
	
	if ( sectionSortArray == null )
	{
		setSortArray();
	}
	
	var prev_id = id;
	var next_id = id;
	
	if ( isUp )
	{
		prev_id = id-1;
		next_id = id;
	}
	else
	{
		prev_id = id;
		next_id = id+1;	
	}
	
	// interchange the section description  
	var oldValue = document.getElementById("section"+prev_id).innerHTML;
	var newValue = document.getElementById("section"+next_id).innerHTML;
	
	document.getElementById("section"+prev_id).innerHTML =  newValue;
	document.getElementById("section"+next_id).innerHTML = oldValue;	
	
	//interchange the sort values in the array
    var tmpArray1 = sectionSortArray[prev_id].split(":");
    var tmpArray2 = sectionSortArray[next_id].split(":");
    
    var sortOrder = tmpArray1[1];
    tmpArray1[1] = tmpArray2[1];
    tmpArray2[1] = sortOrder;
    
    sectionSortArray[prev_id] = tmpArray2[0] + ":" + tmpArray2[1];
    sectionSortArray[next_id] = tmpArray1[0] + ":" + tmpArray1[1];
}

function sortSentence ( id,isUp ) 
{
	
	if ( sentenceSortArray == null )
	{
		setSortArray();
	}
	
	var prev_id = id;
	var next_id = id;
	
	if ( isUp )
	{
		prev_id = id-1;
		next_id = id;
	}
	else
	{
		prev_id = id;
		next_id = id+1;	
	}
	
	// interchange the section description  
	
	//remove trash bin
	var oldValue = document.getElementById("sentenceId"+prev_id).innerHTML;
	var newValue = document.getElementById("sentenceId"+next_id).innerHTML;
	
	document.getElementById("sentenceId"+prev_id).innerHTML =  newValue;
	document.getElementById("sentenceId"+next_id).innerHTML = oldValue;	
	
	oldValue = document.getElementById("maindesc"+prev_id).innerHTML;
	newValue = document.getElementById("maindesc"+next_id).innerHTML;
	
	document.getElementById("maindesc"+prev_id).innerHTML =  newValue;
	document.getElementById("maindesc"+next_id).innerHTML = oldValue;	
	
	//interchange the sort values in the array
    var tmpArray1 = sentenceSortArray[prev_id].split(":");
    var tmpArray2 = sentenceSortArray[next_id].split(":");
    
    var sortOrder = tmpArray1[1];
    tmpArray1[1] = tmpArray2[1];
    tmpArray2[1] = sortOrder;
    
    sentenceSortArray[prev_id] = tmpArray2[0] + ":" + tmpArray2[1];
    sentenceSortArray[next_id] = tmpArray1[0] + ":" + tmpArray1[1];
}

function convertArrayValuesToHiddenFieldForSection()
{
	var str=""
	if ( sectionSortArray != null)
	{
		str = convertArrayToCSV(sectionSortArray);		
	}	
	document.getElementById("sortSecOrder").value=str;
	str="";
	if ( sentenceSortArray != null)
	{
		str = convertArrayToCSV(sentenceSortArray);		
	}
	document.getElementById("sortSentOrder").value=str;	
	
}


function setSortArray()
{
	if ( document.getElementById("sortSecOrder") != null ) 
	{	
		sectionSortArray = document.getElementById("sortSecOrder").value.split(",");
	}
	else
	{
		sectionSortArray = new Array();
	}
	//alert(document.getElementById("sortSentOrder").value);
	if ( document.getElementById("sortSentOrder").value != "" )
	{
		sentenceSortArray = document.getElementById("sortSentOrder").value.split(",");
	}
	else
	{
		sentenceSortArray = new Array();
	}
}


function getReportData(reportId)
{
	sR('tafi/app_code/fact_sheet_db.php','type=report_units&report_id='+reportId,'POST','geographyUnitSpan');
	if(reportId == 2)
	{
		sR('tafi/app_code/fact_sheet_db.php','type=report_topics&report_id='+reportId,'POST','reportTopicsSpan');
		sR('tafi/app_code/fact_sheet_db.php','type=geographies&GeographyUnit_ID=1','POST','geography_select');
		
		document.getElementById("reportTopicsDiv").style.visibility = "visible";
	}
	else 
	{
		document.getElementById("reportTopicsDiv").style.visibility = "hidden";
		sR('tafi/app_code/fact_sheet_db.php','type=geographies&GeographyUnit_ID=2','POST','geography_select');
	}
		
}
function submitReport()
{
    reportId = document.getElementById("report_id").value;
	//alert (reportId);
	//return false;
	if(reportId == 2)
	{
		document.forms['factSheetForm'].action = "tafi/modules/pdf_style_fact_sheet.php";
	}
	/* Added by Ahmed mahrous */ 
	else 
	{
		document.forms['factSheetForm'].action = "tafi/modules/pdf_fact_sheet.php";
	}
	document.forms['factSheetForm'].submit();
}

