
//==========================================================================

function resetForm(form)
{
	for (var i = 0; i < form.elements.length; i++)
	{
		if(Left(form.elements[i].name,3) == 'lst')
			form.elements[i].value = 0;
		if(Left(form.elements[i].name,3) == 'txt')
			form.elements[i].value = '';
		if(form.elements[i].name == 'cmdadd')
			form.elements[i].value = 'Add';
		if(form.elements[i].name == 'cmdupd')
			form.elements[i].value = 'Update';
		if(form.elements[i].name == 'hiddenActionControl')
			form.elements[i].value = 'Add';
		if(form.elements[i].name == 'showReport')
			form.elements[i].value = 1;
	}
}

//==========================================================================

function UpdateData(httpRequest,tbl)
{

    var dateformat=1;
	if (httpRequest.readyState == 4)
	 {
		if (httpRequest.status == 200)
		{
			var doc;
			doc = httpRequest.responseXML;
			
			if(doc)
			{
			    var string = httpRequest.responseTEXT;
				var node;
				
				node = doc.getElementsByTagName('sInfo').item(0);
				if(node)
				{
					data=node.firstChild.data;
					data_arr = data.split("=")
					if(data_arr[1].length>0)
						alert(data_arr[1]);
				}
								             
				// redirection
				node = doc.getElementsByTagName('Redir').item(0);
				if(node)
				{
					data=node.firstChild.data;
					data_arr = data.split("$")
					if(data_arr[1].length>0)
						window.navigate(data_arr[1]);
				}
				
				// report updation
				node = doc.getElementsByTagName('ReportType').item(0);
  					
				if(node)
				{
				
					data=node.firstChild.data;
					if(data)
					{
						if(data=='ListPlain')
							ReportTable_ListPlain(doc,tbl,dateformat);
						else if(data=='Grid')
							ReportTable_Grid(doc,tbl);
						else if(data=='Notepad')
							ReportTable_Notepad(doc,tbl,dateformat);
						else if(data=='ListPlain-Editable')
							ReportTable_ListPlainEditable(doc,tbl,dateformat);
					}
				}
			}
		}
	}
}

//==========================================================================

function UpdateData(httpRequest,tbl, formName)
{
    var dateformat=1;
	if (httpRequest.readyState == 4)
	 {
		if (httpRequest.status == 200)
		{
			var doc;
			doc = httpRequest.responseXML;
			if(doc)
			{
			    var string = httpRequest.responseTEXT;

				var node;

				// alert for uniqueness, errors while executing query
				node = doc.getElementsByTagName('sInfo').item(0);
				if(node)
				{
					data=node.firstChild.data;
					data_arr = data.split("=")
					if(data_arr[1].length>0)
						alert(data_arr[1]);
				}
				
				var selectedIndex;
	            selectedIndex = doc.getElementsByTagName('SelectedIndex').item(0);
	            var Control = doc.getElementsByTagName('Control').item(0);
	            var datas;
                var controlDatas;
                  
	            if(selectedIndex)
	            {	                
	                 datas = selectedIndex.firstChild.data;
	                 datas = datas.split(",");
	            }
	            if(Control)
	            {
	                 controlDatas = Control.firstChild.data;
	                 controlDatas = controlDatas.split(",");	                    
	            }
	            if(selectedIndex)
	            {	
	                 for(j = 0; j < datas.length; j++)
	                 {  
	                      var data =  datas[j];
	                      var controlData = controlDatas[j]; 
	                      for (i=0; i<formName.elements.length; i++)
				          {
					        control = formName.elements[i];

					        if(control.name==controlData)
					        {
					                control.value = data;
					        }         
                          }
                     }
	               }
	               
	              
	               var fieldStatus = doc.getElementsByTagName('FieldStatus').item(0);
		           var status = doc.getElementsByTagName('Status').item(0);
                   var datas;
                   var statusDatas;
                  
	               if(fieldStatus)
	               {
	                              
	                 datas = fieldStatus.firstChild.data;
	                 datas = datas.split(",");
	                }
	                 	
	               if(status)
	                {
	                 
	                    statusDatas = status.firstChild.data;
	                    statusDatas = statusDatas.split(",");	                    
	                }
	                //alert(statusDatas);
	                if(datas && statusDatas)
	                {
	                    for(j = 0; j < datas.length; j++)
	                     {
	                     
	                        var data = datas[j];
	                        
	                        var statusData = statusDatas[j];
	                       
	                        for (i=0; i<formName.elements.length; i++)
				            {
					            control = formName.elements[i];
        					    
					            if(control.name==data)
					            {
					                if(statusData == "disable")
				                    {
				                        control.disabled = true;
				                    }	
				                    else
				                        control.disabled = false;				           
				                }
				              }                     
                           }
                       }
	               
	                              
	                fieldControls = doc.getElementsByTagName('FillControls').item(0);
	                fieldValues = doc.getElementsByTagName('Values').item(0);
	                
	                if(fieldControls)
	                {
	                    Controls = fieldControls.firstChild.data;
	                   // alert(Controls);
	                    var controlNames = Controls.split(",");
	                    
	                   fieldValues = fieldValues.firstChild.data;
	                   fieldValues = fieldValues.split(",");
	                                        
	                    for(i = 0; i < controlNames.length; i++)
	                    {
	                        var fieldControl = controlNames[i];
	                        var fieldValue = fieldValues[i];
	                        for(j = 0; j < formName.elements.length; j++)
	                        {
	                            control = formName.elements[j];
	                            if(control.name == fieldControl)
	                            {   	                           
	                               if(control.type=='radio')
	                                {
	                                    if(control.value == fieldValue)
	                                    {
	                                       control.checked = true; 
	                                     }
	                                }
	                               else if(control.type == 'checkbox')
	                                {
	                                    control.checked = fieldValue;
	                                }
	                                 else if(control.type =='select-one')
	                                {
	                                    control.selectedindex = fieldValue;
	                                }
	                                else
	                                {
	                                    control.value = fieldValue;
	                                }
	                            }
	                        }
	                    }
	                }
	               
	           // redirection
				node = doc.getElementsByTagName('Redir').item(0);
				if(node)
				{
				//alert("redir found");
					data=node.firstChild.data;
					data_arr = data.split("$")
					if(data_arr[1].length>0)
						window.navigate(data_arr[1]);
				}
				
				// report updation
				node = doc.getElementsByTagName('ReportType').item(0);
				if(node)
				{
					data=node.firstChild.data;
					if(data)
					{
						if(data=='ListPlain')
							ReportTable_ListPlain(doc,tbl,dateformat);
						else if(data=='Grid')
							ReportTable_Grid(doc,tbl);
						else if(data=='Notepad')
							ReportTable_Notepad(doc,tbl,dateformat);
						else if(data=='ListPlain-Editable')
							ReportTable_ListPlainEditable(doc,tbl,dateformat);
					}
				}
			}
		}
	}
}

//==========================================================================

function GetData(httpRequest,formName)
{
	if (httpRequest.readyState == 4)
	 {
		if (httpRequest.status == 200)
		{
			var doc;
			doc = httpRequest.responseXML;
			
			if(doc)
			{
				var node;
				
				for (i=0; i<formName.elements.length; i++)
				{
					ctrl = formName.elements[i].name;
					
					node = doc.getElementsByTagName(ctrl).item(0);
					if(node)
					{
						data=node.firstChild.data;
						data_arr = data.split("=");
						if(data)
						{
							if(Left(ctrl,3) == 'rad')
							{
								if(formName.elements[i].value == data_arr[1])
									formName.elements[i].checked=true;
							}
							else
								formName.elements[i].value = data_arr[1];
						}
					}
				}	
			}
		}
	}
}

//==========================================================================


function FillCombo(doc,nodename,ctrl, rep)
{
	var node;
	var subnode_list_front, subnode_list_back;
	
	node = doc.getElementsByTagName(nodename).item(0);
   	if (node == null) 
	{
		return;
	}
	var selectedIndex;
    selectedIndex = node.getElementsByTagName('SelectedIndex').item(0);
    
    var selection = -1;
    if(selectedIndex != null)
    {
        selection = selectedIndex.firstChild.data;        
    }   
 
    ctrl.length = 0;
	var no = new Option();
	if(rep == false)
	{	
	    no.value = null;
	    no.text = 'None';
	}
	else
	{
	    no.value = 0;
	    no.text = 'All';
	}
	ctrl[0] = no;
	
	subnode_list_front = node.getElementsByTagName('Front');
	subnode_list_back = node.getElementsByTagName('Back');
	
	for(i=0;i<subnode_list_front.length;i++)
	{	
		if(subnode_list_front[i].firstChild)
		{
		    var no1 = new Option();
		    no1.value = subnode_list_back[i].firstChild.data;
		    no1.text = subnode_list_front[i].firstChild.data;
		    
		    ctrl[i+1] = no1;
		    if(no1.value == selection)
		    {	
		        ctrl.value = no1.value;    
		    }
		 }
	}
	
}

//==========================================================================

function getEditableSelect(ctrlName)
{
    var divName = "div_" + ctrlName;
    var d = document.getElementById(divName);
    var c = d.firstChild;
    while (c.nodeType !== 1 && c.nextSibling)
    {
        c = c.nextSibling;
    }
    return ((c.nodeType === 1) && c);
} 

//==========================================================================

function EmptyEditableSelect(ctrlName) 
{
    var editableControl = getEditableSelect(ctrlName);    
    var selector = document.createElement('select');
    selector.id = ctrlName;
    selector.name = ctrlName;   
    selector.className = "EditableComboList";
    selector.size = "4";  
    
    var divNode = editableControl.parentNode;
    divNode.replaceChild(selector, editableControl); 
    return selector;      
}

//==========================================================================

function FillEditableCombo(doc,nodename,ctrl)
{
    ctrl = EmptyEditableSelect(nodename);
	var node;
	var subnode_list_front, subnode_list_back;
	
	node = doc.getElementsByTagName(nodename).item(0);
   	if (node == null) 
	{
		return;
	}

	var selectedIndex;
    selectedIndex = node.getElementsByTagName('SelectedIndex').item(0);
    var selection = -1;
    if(selectedIndex != null)
    {
        selection = selectedIndex.firstChild.data;        
    }  
    
    ctrl.length = 0;
	var no = new Option();
	no.value = 0;
	no.text = 'All';
	ctrl.options.add(no);
				
	subnode_list_front = node.getElementsByTagName('Front');
	subnode_list_back = node.getElementsByTagName('Back');
	
	node = subnode_list_front.item(0);
	for(i=0;i<subnode_list_front.length;i++)
	{		
		if(subnode_list_front(i).firstChild)
		{   
		    
		    var no1 = new Option();
		    no1.value = subnode_list_back(i).firstChild.data;
		    no1.text = subnode_list_front(i).firstChild.data;
		    //ctrl[i+1] = no;
		    ctrl.options.add(no1);
		    
		   
		    if(no1.value == selection)
		    {
		        ctrl.value = no1.value;
                var editableCombo = nodename +"_editable";
		        var editabbleControl = document.getElementById(editableCombo);
		        if(editabbleControl != null)
		        {
		            editabbleControl.value =  no1.text;
		        }		            
		    }
		 }
	}
	   
}

//==========================================================================

function FillControls(doc,nodenames,ctrls)
{
	var node;	
	var length = nodenames.length;
	
	for(i=0;i<nodenames.length;i++)
	{
		node = doc.getElementsByTagName(nodenames[i]).item(0);
		node_val = node.firstChild.data;
		ctrls[i].value = node_val;
	}
}

//==========================================================================

function FillControlFromFunction(doc,nodename,ctrl)
{
    ctrl.value = "";
	var node;	
	node = doc.getElementsByTagName(nodename).item(0);
	
	if(node != null)
	{
	    var node_val = node.firstChild.data;
	    ctrl.value = node_val;	
	}
}

//==========================================================================

function FillCheckBoxFromFunction(doc,nodename,ctrl)
{
    var node;	
	node = doc.getElementsByTagName(nodename).item(0);
	
	if(node != null)
	{
	    var node_val = node.firstChild.data;
	    
	    if(node_val == "on")
	    {
	        ctrl.checked = true;
	    }
	    else
	        ctrl.checked = false;    
	}
}

//==========================================================================

function FillRadioButtonFromFunction(doc,nodename,strCtrl)
{
    var node;	
	node = doc.getElementsByTagName(nodename).item(0);
	ctrl = document.getElementsByName(strCtrl);
	if(node != null)
	{
	    var node_val = node.firstChild.data;
	    var radioLength = ctrl.length;
	    for(var i = 0; i < radioLength; i++) 
        {
		    if(ctrl[i].value == node_val)
		    {
			    ctrl[i].checked = true;
			    break;
			}
		}
	}
}

//==========================================================================



function clearFunction(x)
{
    document.getElementById(x).innerHTML = "&nbsp;&nbsp;";
}



function getMessageString(doc,nodename, messageDiv)
{
	var node,resultNode;	
	node = doc.getElementsByTagName(nodename).item(0);
	resultNode = doc.getElementsByTagName(nodename).item(1);
	 setTimeout("clearFunction('"+messageDiv+"')",4000);	
	var error = 1;
	if(node != null && node.firstChild)
	{
	    var node_val = node.firstChild.data;
	    var resultNodeVal; 
	    if(resultNode != null && resultNode.firstChild)	    
	         resultNodeVal = resultNode.firstChild.data;	    
	         
	    var messageDivControl = document.getElementById(messageDiv);
	    messageDivControl.innerHTML = node_val;	
	    if(resultNodeVal!=null &&  resultNodeVal == "Pass")
	    {
	        error = 0;	        	    	    
	    }
	    else if(node_val!=null && node_val.search(/Success/) != -1)
	    {
	        error = 0;	        	    	    
	    }
	}
	return error;
}

//==========================================================================

function getSelctedTextFromEditableCombo(backID,ctrlname)
{
    var i=0;
    var newName;
	while (ctrlname.options[i]!= null)
	{
	    var controlValue = ctrlname.options[i].value;
	    if(controlValue==backID)
	    {
	    newName= ctrlname.options[i].text;			                     		                             
        break;			                    
	    }
	    i++;
    }    
    return newName;
}

//////////******************* Code for Timer on the page start 

var timerID = 0;
var tStart  = null;
var timerObj = null;

function UpdateTimer() {
   if(timerID) {
      clearTimeout(timerID);
      clockID  = 0;
   } 
if(timerObj)
    timerObj.innerHTML = getCurrentTimeInFormat();   
   timerID = setTimeout("UpdateTimer()", 1000);
}

function Start() {
   tStart   = new Date();
if(timerObj)
   timerObj.innerHTML = "10:00";
else
   timerObj = document.getElementById('timer');

   timerID  = setTimeout("UpdateTimer()", 1000);
}


function getCurrentTimeInFormat()
{
	var currentDate=new Date()
	var TimeStamp,month,period,day,year;
	hour=currentDate.getHours()
	min=currentDate.getMinutes()
	sec=currentDate.getSeconds()
	year=currentDate.getFullYear()
	date=currentDate.getDate()

switch(currentDate.getDay())
{
    case 0:day="Sunday";break;
    case 1:day="Monday";break;
    case 2:day="Tuesday";break;
    case 3:day="Wednesday";break;
    case 4:day="Thursday";break;
    case 5:day="Friday";break;
    case 6:day="Saturday";break;
}

switch(currentDate.getMonth())
{
    case 0:month="Jan";break;
    case 1:month="Feb";break;
    case 2:month="Mar";break;
    case 3:month="Apr";break;
    case 4:month="May";break;
    case 5:month="June";break;
    case 6:month="July";break;
    case 7:month="Aug";break;
    case 8:month="Sept";break;
    case 9:month="Oct";break;
    case 10:month="Nov";break;
    case 11:month="Dec";break;
}


if(sec<10)
{
	sec="0"+sec;
}
if(min<10)
{
	min="0"+min;
}
if(hour<10)
{
    hour = "0"+hour;
}

    var TimeStamp = day+", "+month+" "+date+" "+year+", "+hour+":"+min+":"+sec+" "
    return TimeStamp;
}
//////////******************* Code for Timer on the page end


