
function Vsrc(){
	window.location="view-source:"+window.location.href
}

function UsAlert()
{
	if ($('MessageText').value != '' && $('membersSelected').value != '') { new Ajax.Updater('messagestatus', '/frontapp_dev.php/demo', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}, parameters:'messageinfo=' + $('membersSelected').value + '|' + $('MessageText').value}); }}

function validateAddMember(){
if(document.getElementById("memberName").value=="" || document.getElementById("memberMobileno").value=="")
{
alert("Name/Mobile Number Field NULL");
return false;
}
return true;
}
/**
*	Check the checkbox the members
*/ 
function addMemberIds()
{
	var membersNode = document.getElementById("membersPart");
	var members = membersNode.getElementsByTagName("INPUT");
	var length = members.length;
	var i,id;
	var member;
	var memCount =0;
	
	membersIds = "";
	for(i=0;i<length;i++)
	{
	
		if(members[i].type == "checkbox" && members[i].id != "checkAllMembers" &&members[i].checked == true)
		{
			//alert(members[i].id); 
			id = members[i].id.substring(6, members[i].id.length);
			membersIds += id + ",";
			memCount++;
		}
	}
		
	membersIds = membersIds.substring(0, membersIds.length-1);
	document.getElementById("membersSelected").value =  membersIds;
	
	document.getElementById("members_count_info").innerHTML = memCount;
	//alert(document.getElementById("membersSelected").value);
}


/** 
*	Load members from Remote
*/
function loadMembers(Pid, isChecked)
{

	var treeNode = document.getElementById("treePart");
	var checkBoxes = treeNode.getElementsByTagName("INPUT");
	
	var checkedMembers = "";
	
	for(var i=0;i<checkBoxes.length;i++)	{
		if(checkBoxes[i].checked && checkBoxes[i].type == "checkbox")	{
			Ids = checkBoxes[i].id.split("/");
			checkedMembers += Ids[0] + ",";
		}
	}
	if(checkedMembers != "")	{
		checkedMembers = checkedMembers.substring(0, (checkedMembers.length-1));
		$("clickedId").value = checkedMembers;
		
		new Ajax.Updater('membersPart', '/frontapp_dev.php/main/members/viewall/0', {asynchronous:true, evalScripts:true, onLoading:function(request, json){showLoading('membersPart');}, parameters:'nodeId=' + $('clickedId').value})	}
	else
	document.getElementById("membersPart").innerHTML = "";

}

/**
* 	Show Loading Message
*/
function showLoading(nodeId)
{
	
	document.getElementById(nodeId).innerHTML = "<img src=\"/images/loading.gif\" alt=\"Loading\" />Loading....";
}

/**
* 	Show Sending Message
*/
function showSending(nodeId)
{
	
	document.getElementById(nodeId).innerHTML = "<img src=\"/images/loading.gif\" alt=\"Loading\" />Sending....";
//	alert(document.getElementById("membersSelected").value);
}

/**
*	Check the checkbox the members
*/ 
function checkMembers(node)
{
	var membersNode = document.getElementById("membersPart");
	var members = membersNode.getElementsByTagName("INPUT");
	var length = members.length;
	var i;
	var member;
	
	for(i=0;i<length;i++)
	{
		if(members[i].type == "checkbox")
		members[i].checked = node.checked;
	}
	addMemberIds();
}
	
/**
*	Delete a particular node from the treeview  
*/ 

function deleteNode()
{
	$("clickedId").value = currId;
	
	if(currId==rootId){
	alert("Root node is not deletable");
	return;
	}
	else{
	$("update_respose").style.display="";
		if (confirm('Are you sure to delete this node?')) { new Ajax.Updater('treePart', '/frontapp_dev.php/main/deleteNode', {asynchronous:true, evalScripts:false, onComplete:function(request, json){new Effect.Fade('update_respose', {});}, onLoading:function(request, json){new Effect.Appear('update_respose', {});}, parameters:'nodeId=' + $('clickedId').value}); }		}
}

/**
*	Load the form to enter new members info
*/
function form_load_members()
{
	 showLoading('membersPart');
	 $("clickedId").value = currId;
	
	new Ajax.Updater('membersPart', '/frontapp_dev.php/main/addMember', {asynchronous:true, evalScripts:true, onComplete:function(request, json){new Effect.Fade('update_respose', {});}, onLoading:function(request, json){new Effect.Appear('update_respose', {});}, parameters:'nodeId=' + $('clickedId').value})}

/**
*	Get all Selected Memebers
*/

function get_allCheckedOnes()
{
//	$members = 
}


function send_SMS()
{
//alert($('membersSelected').value );
//alert($('MessageText').value );
//alert($('membersSelected').value);
var viewAll = document.getElementById('viewall').value;
if(viewAll == "1")
addMemberIds();


	var message =escape($('MessageText').value);
	// alert($("nodeid").value);
	if($("viewall").value!=1)
 	var nodeid =  $("nodeid").value;
	else
	var nodeid =  "";

    
	if ($('MessageText').value != '' && ($('membersSelected').value != '' || nodeid !='')) { new Ajax.Updater('messagestatus', '/frontapp_dev.php/%27main/sendsms', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}, parameters:'messageinfo=' + $('membersSelected').value + '|' + message + '|' + nodeid}); }	 
}
/*function send_QuickSMS()
 {
        var mobilenums = document.getElementById('mobilenums').value;
        var MessageText =escape($('MessageText').value);// var MessageText =$('MessageText').value;
         if(mobilenums!="" && MessageText!=""){
new Ajax.Updater('messagestatus', '/frontapp_dev.php/%27main/quickSms', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}, parameters:'messageinfo=' + sendmessage});
         }
         else{
             alert('Enter the number(s) and message');
        }
}*/
function show_node($node)
{
	document.getElementById($node).style.display = "";
}

function hide_node($node)

{
	document.getElementById($node).style.display = "none";
}

/*function insert_another_member() 
{
	//alert("Inserted Successfully"); 
	var addAnother = confirm("Inserted Successfully. Would you like to add another member ?");
	if(addAnother == false)
	document.getElementById("membersPart").innerHTML = "";


}*/


function confirmDel(){
      document.getElementById('confirm').style.display="block";
}  

function confirmNo(){
	document.getElementById("membersPart").innerHTML = "";
	 document.getElementById('confirm').style.display="none";
}  






function validateMember()
{
	var name = $("memberName").value;
	var mobileno = $("memberMobileno").value;
	var email = $("memberEmailID").value;
	
	if(name == "" || mobileno == "" || email =="")
	{
		alert("Please fill all the fields..");
		$("nodeIdMember").value = currId;
		return false;
	}
	else
	return true;
	
}

/**
*	Load the Manage memebers form from the Server using RPC
*/
function RPC_ManageMembers()
{
	 showLoading('membersPart');
	 $("clickedId").value = currId;
	 
	 new Ajax.Updater('membersPart', '/frontapp_dev.php/main/manageMembers', {asynchronous:true, evalScripts:true, onComplete:function(request, json){new Effect.Fade('update_respose', {});}, onLoading:function(request, json){new Effect.Appear('update_respose', {});}, parameters:'nodeId=' + $('clickedId').value})}

/**
* Load Form for Upload members from a csv file
*/

function RPC_upload_members()
{
	showLoading('membersPart');
	new Ajax.Updater('membersPart', '/frontapp_dev.php/excel/uploadMembers', {asynchronous:true, evalScripts:true})
}

/**
*	Used to Move members from full list to current list or vice versa in the manage members form  
*/
function moveItems(src, dest)
{
	var srcObj = document.getElementById(src);
	var destObj = document.getElementById(dest);
	
	var i=0;
	var length = srcObj.options.length;
	
	var texts = new Array();
	var values = new Array();
	var index = 0;
	
	for(i=length-1 ;i>=0 ;i--)
	{
		if(srcObj.options[i].selected)
		{
			texts[index] = srcObj.options[i].text;
			values[index] = srcObj.options[i].value;
			deleteOption(srcObj, i);
			index += 1;
		}
	}
	
	i = index;
	
	for(i=0;i<index;i++)	
	{
		var newOpt = new Option(texts[i], values[i]);
		var selLength = destObj.options.length;
		destObj.options[selLength] = newOpt;
		destObj.options[selLength].selected = true;
	}
}

/**
*	Delete a particular option from the select object
*/
function deleteOption(theSel, theIndex)
{ 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function cancelRPC(Id)
{
	document.getElementById(Id).innerHTML = "";
}

function selectAll(objId)
{
	//alert("Hello");
	var srcObj = document.getElementById(objId);
	
	var i=0;
	var length = srcObj.options.length;

	var value="";
	var inner="";
	
	for(i=0; i<length; i++)
	{	
		value = srcObj.options[i].value;
		inner += value + ",";
		//alert("INSIDE");
	}
	//alert(inner);
	
	document.getElementById("allMemberIds").value = inner;

}


/**
*	Function used to Hide a particular node...	
*/

function hideDiv(divName, resetId)
{	
	document.getElementById(resetId).value = "";
	document.getElementById(divName).style.display = "none";
}

/**
*	KeyPress Events for the SMS Message Part...
*/

var char_remaining  = 160;

	function check160Chars(e)
	{
		document.getElementById('messagetosend').value = document.getElementById('MessageText').value
		// alert(document.getElementById('messagetosend').value);
		if(parseInt(document.getElementById('MessageText').value.length)+1 == 160)	{
		document.getElementById('MessageText').value = "";
		char_remaining = 160;
		return false;
		}
		if(document.getElementById('MessageText').value.length == 160)	{
		document.getElementById('MessageText').value = "";
		char_remaining = 160;
		return false;
		}
		if(e.keyCode != 8)
			char_remaining--;
		else
		char_remaining++;
		
		document.getElementById("type_message_info").innerHTML = (parseInt(char_remaining));
		return true;
	}
	
	function limitText(limitField, limitNum, e) {
		var limitCount = document.getElementById("type_message_info");
		if (limitField.value.length > limitNum) {
			limitField.value = limitField.value.substring(0, limitNum);
			document.getElementById('messagetosend').value = limitField.value;
		} else {
			limitCount.innerHTML = limitNum - limitField.value.length;
		}
	}
	
	function limitAscii(node){
	
	var textMessage = node.value;
	var msgLength = textMessage.length;
	var i;
	var asciiText="";
	
	for(i=0; i < msgLength; i++)
	{
		if(textMessage.charCodeAt(i) >= 0 && textMessage.charCodeAt(i) <=127)
		asciiText += textMessage.charAt(i);
	}
	
	node.value = asciiText;
	
	document.getElementById('type_message_info').innerHTML=asciiText.length;
	
	msgunit=Math.floor((asciiText.length)/160)+1;
	
	document.getElementById('message_unit').innerHTML=msgunit;
	checkSubmitButton();
	/*
	var keycode=evtobj.keyCode;
	if(keycode>=0 && keycode<=127){
	var msgbody=document.getElementById("MessageText").value;
	alert(msgbody.length);
	var keycount=parseInt(document.getElementById('type_message_info').innerHTML);
    if(keycode==92||keycode==92||keycode==18||keycode==17||keycode==16||keycode==20||keycode==9||keycode==27||keycode==37||keycode==38||keycode==39||keycode==40||keycode==46)
	return ;
	if(keycode==8)
	keycount-=1;
	else
	keycount+=1;
	document.getElementById('type_message_info').innerHTML=keycount;
	
	msgunit=Math.floor(keycount/160)+1;
	
	document.getElementById('message_unit').innerHTML=msgunit;
	
	}
	else
	return;*/
	}
	
	/*diable sumnit button

		Jinson
	*/
	
	function checkSubmitButton(){
	
	var id = document.getElementById('smsbutton');
	if (id.disabled){
	document.getElementById('smsbutton').disabled = false;
	}


	}

	/**
	* use to change the class of the nodes in the treeview on selection 
	*/
	function doHighlight(id)
	{
		document.getElementById(id).className = "highLightselected";
		if(prev_selected != "" && prev_selected != id)
			document.getElementById(prev_selected).className = "normalselected";
		prev_selected = id;
	}
	
		
	
	function check_Scheduler()
	{
		
		
		//alert("Down for maintenance...will be back soon");
		//return false;		
		var message = document.getElementById('MessageText').value;
		var members =  "";
		var viewAll = document.getElementById('viewall').value;
		//alert(viewAll);
		//alert(message);
		
		if(message == "")
		{
			alert("Please enter a message");
			return false;
		}
		if(viewAll == "1")
		{
			addMemberIds();
			members = document.getElementById('membersSelected').value;
			//alert(members);
			if(members == "")	{
				alert("Please Select atleast one member");
				return false;
			}
		}
		else	{
		
			var treeNode = document.getElementById("treePart");
			var checkBoxes = treeNode.getElementsByTagName("INPUT");
			
			var checkedMembers = "";
			
			for(var i=0;i<checkBoxes.length;i++)	{
				if(checkBoxes[i].checked && checkBoxes[i].type == "checkbox")	{
					Ids = checkBoxes[i].id.split("/");
					checkedMembers += Ids[0] + ",";
				}
			}
			if(checkedMembers != "")	{
				checkedMembers = checkedMembers.substring(0, (checkedMembers.length-1));
				$('nodeid').value = checkedMembers;
			}
		}
		
		
		
		document.getElementById('membersScheduler').value = members;
		document.getElementById('messageScheduler').value = message
		
		return true;
		
		
	}

	function show()
	{
		document.getElementById('loadingDiv').style.display = "";
	}
	
	function hide()
	{
		document.getElementById('loadingDiv').style.display = "none";
	}
	
	
	
	function need_Excel_Load()
	{
			}
		function simulate_click(button, e)
		{
			
			if(e.keyCode == 13)
			{
				
				document.addCategoryForm.button.onclick = true;
				return false;
			}
			return true;
		}
		
		function add_prompt_category()
		{
				var mosBug;
				mozBug="new_category"; 
				document.getElementById(mozBug).value="";
				
   				setTimeout("document.getElementById(mozBug).focus()",0);
				
				var targetid = "categoryName" +  currId;
				document.getElementById("parent_catId").value = currId;
				
				showVistaDiv('add_category_form', targetid, 80, 20);
				
				 
				
				/*while((r = prompt('Enter the Category', 'Name')) == "");
				if(r != null && r)
				{
					
					document.getElementById("parentId").value = currId;
					document.getElementById("cat_add").value = r;
					new Ajax.Updater('treePart', '/frontapp_dev.php/main/addNewCategory', {asynchronous:true, evalScripts:true, onComplete:function(request, json){new Effect.Fade('update_respose', {});}, onLoading:function(request, json){new Effect.Appear('update_respose', {});}, parameters:'categoryinfo=' + $('cat_add').value + '|' + $('parentId').value})				
				}
				*/
			
		}
		
		function rename_prompt_category()
		{
				var mosBug;
				mozBug="new_category_rename"; 
				document.getElementById(mozBug).value="";
				
   				setTimeout("document.getElementById(mozBug).focus()",0);//set focus 
				
				var targetid = "categoryName" +  currId;
				document.getElementById("parent_catId_rename").value = currId;
				showVistaDiv('rename_category_form', targetid, 80, 20);
				/*
				while((r = prompt('Enter the New Name for this Category', 'Name')) == "");
				if(r != null && r)
				{
					document.getElementById("parentId").value = currId;
					document.getElementById("renameNode").value = r;
					new Ajax.Updater('treePart', '/frontapp_dev.php/main/renameNode', {asynchronous:true, evalScripts:true, onComplete:function(request, json){new Effect.Fade('update_respose', {});}, onLoading:function(request, json){new Effect.Appear('update_respose', {});}, parameters:'categoryinfo=' + $('renameNode').value + '|' + $('parentId').value})				
				}
				*/
		
		}
			
	function delete_members()
	{
		
		var members = document.getElementById("selectedMembers").getElementsByTagName('INPUT');
		var i=0, count = members.length;
		
		var memberIds = "";
		
		for(i=0;i<count;i++)
		{
			if(members[i].type == "checkbox" && members[i].checked == true)
			{
				Id = members[i].id;
				if(Id.substring(0, 6) == "member")
				{
					memberIds += Id.substring(6, Id.length) + ",";
				}
			}
			
		}
		
		if(memberIds != "")
		{	
			
			//if(res == 
			memberIds = memberIds.substring(0, memberIds.length-1);
			//alert(memberIds);
			
			document.getElementById("members_delete").value = memberIds;
			if (confirm('Are you sure to delete ?')) { new Ajax.Updater('messagestatus', '/frontapp_dev.php/main/deleteMember', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}, parameters:'members=' + $('members_delete').value}); }		}
		else
		{
			alert("Please Select members to delete");
		}
	}	
	
	function make_call()
	{
		var r = prompt('Enter the a valid mobile no Kerala only', 'NO');
		
		if(r != "")
		{
			document.getElementById("members_delete").value = r;
		if (confirm('You want to make a test call ?')) { new Ajax.Updater('messagestatus', '/frontapp_dev.php/demo/call', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}, parameters:'number=' + $('members_delete').value}); }		}
		
	}
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	
}

	function showVistaDiv(id, targetid, realtiveX, relativeY)
	{
	
		var divId = document.getElementById(id);
		var elem = document.getElementById(targetid);
		var object = document.getElementById(id).style; 
		object.opacity = 0.1;
		object.MozOpacity = 0.1;
		object.KhtmlOpacity = 0.1;
		object.filter = "alpha(opacity=" + 10 + ")";

		if(divId.style.display == 'none')
		{
			
			var offsets = Position.cumulativeOffset(elem);
			
			divId.style.top = (offsets[1] + relativeY)+"px";
			divId.style.left = (offsets[0] - realtiveX)+"px";
			//shiftOpacity('regDiv', 1000);
			//opacity('scheduleForm', 0, 100, 1000);
			divId.style.display = "block";
			opacity(id, 0, 100, 1000);
		}
		
	
	}
	
	function hideVistaDiv(id)
	{
		var divId = document.getElementById(id);
		if(divId.style.display == 'block')
		{
			//
			opacity(id, 100, 10, 300);
			divId.style.display = 'none'
			//opacity('scheduleForm', 10, 100, 1000);
		}
	} 

	// Scripts define the upload members from a xls file.
	
	function load_excel_frame()
	{
		
		new Ajax.Updater('membersPart', '/frontapp_dev.php/excel/loadFrame', {asynchronous:true, evalScripts:false, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image')}})	}

	//Supporting Function to implement Logic During Excel Import
	var _checkboxes;
	var mobile_Index = "";
	var name_Index = "";
	var email_Index = "";
	var Current_Node = "";
	var selectedSheet = "";
	function set_xls_CurrentNode(node)
	{
		Current_Node = node.id;
	}
	
	function set_xls_Mobile()
	{
		mobile_Index = "Mobile," + Current_Node;
	}
	
	function set_xls_Name()
	{
		name_Index = "Name," + Current_Node;
	}
	
	function set_xls_Email()
	{
		email_Index = "Email," + Current_Node;
	}
	
	
	function Save_To_Node(rows)
	{
		var toserver = "";
		
		if(mobile_Index == "")
		{
			alert("You need to specify atleast mobile no. Please use right click on the header for setting.");
			return;
		}	
		
		toserver = name_Index + "^" + mobile_Index + "^" + email_Index;
		
		
		
		if(rows != "")
		{
			if(currId == "")
			{
				alert("Please specify the folder where the members to be saved.");
				return;
			}
			toserver += "|" + selectedSheet + "|" + rows + "|" + currId;
			//alert(toserver);
			{
				new Ajax.Updater('excel_save_status', '/frontapp_dev.php/excel/saveExcel', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image');}, parameters:'excelinfo=' + toserver})			}
		}
		else
		{
			alert("Select Rows to save");
		}
	}
	
	
	function finish_excelImport()
	{
		new Ajax.Updater('excel_save_status', '/frontapp_dev.php/excel/excelFinished', {asynchronous:true, evalScripts:true, onComplete:function(request, json){hide_node('send_sms_image')}, onLoading:function(request, json){show_node('send_sms_image');}})	}
	
	
	function Checkboxes(id)
	{
		//alert("Inside");
		var Inputs = document.getElementById(id).getElementsByTagName("INPUT");
		
		var checkboxes = Array();
		
		var index=0;
		var i=0, count = Inputs.length;
		
		for(i=0;i<count;i++)
		{
			if(Inputs[i].type == "checkbox")
			{
				if(Inputs[i].value != "MainChk")
				checkboxes[index++] = Inputs[i];
			}
		}
		
		this.checkboxes = checkboxes;
		this.count = checkboxes.length;

	}
	
	
	function change_State(state)
	{
		var i=0;
		
		for(i=0; i<this.count;i++)
		{
			with (this)
			{
				checkboxes[i].checked = state;
			}
		}
	}
	
	function get_all_Values()
	{
		var i=0;
		var values = "";
		for(i=0; i<this.count;i++)
		{
			with (this)
			{
				if(checkboxes[i].checked == true)
				values += checkboxes[i].value + ",";
			}
		}
		
		values = values.substring(0,(values.length-1));
		return values;
	}
	
	Checkboxes.prototype.change_State = change_State;
	Checkboxes.prototype.get_all_Values = get_all_Values;

	function validateContact()
	{
		var isError = false;
		var errorMsg="";
		//alert(jinsno);
		name1 = document.getElementById("name").value;
		emailid = document.getElementById("emailid").value;
		sub = document.getElementById("subject").value;
		mess = document.getElementById("message").value;
		mobile = document.getElementById("mobile").value;
		company = document.getElementById("company").value;
		if(name1.length < 1 )
		{
			errorMsg += "Please enter your name. \n";
			isError = true;
			
		}
		if(company.length < 2)
		{
			errorMsg += "Enter your company name.\n";
			isError = true;
		}
		if(!echeck(emailid))
		{
			errorMsg += "Enter valid Email.\n";
			isError = true;
		}
		if(mobile.length < 10)
		{
			errorMsg += "Mobile number should be minimum 10 digits.\n";
			isError = true;
		}
		
		if(mess.length < 20)
		{
			errorMsg += "Hey!!! Type atlest 20 charaters in message.\n";
			isError = true;
		}
		if(sub.length < 3 )
		{
			errorMsg += "Enter a subject for your messgae.\n";
			isError = true;
		}
		
		
		
		
		if(isError)
		{
			alert(errorMsg);
			return false;
		}
		else
			return true;
	}

	function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}else
			return true;
		}

//Added by Jinson 29 APRIL

function download_members()
{
	showLoading('contactlist');
	new Ajax.Updater('contactlist', '/frontapp_dev.php/main/loadContacts', {asynchronous:true, evalScripts:true})
}

