/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

<!-- script language="javascript" src="js/common.js"/ -->

var url = "/CorpGrant/CorpGrant"; // The server-side script

var http = getHTTPObject(); // We create the XMLHTTPRequest Object

var mdFields=new Array("mdf_amount","mdf_committeeApproveDate","mdf_councilApproveDate","mdf_estimateCost",
		"mdf_govtApproveDate","mdf_grantAllocationDate","mdf_grantAllocationNum","mdf_grantPackage","mdf_id",
		"mdf_planApproveCode","mdf_planApproveDate","mdf_sectorId","mdf_workCode","mdf_workname");

var wdFields=new Array("wd_workcode","wd_package","wd_techsanctiondate",
		"wd_tendernotificationdate","wd_tenderapprovaldate","wd_tenderawardeddate","wd_tenderAmt","wd_contractorname",
		"wd_contractperiod_months","wd_workorderdate","wd_commencementdate","wd_workcompletiontargetdate",
		"wd_contractAmount","wd_yearlyallocatedamount","wd_yearlyreleasedamount","wd_milestonecount",
		"wd_targetMstone","wd_achvdMstone","wd_MstonePc","wd_targetMstoneAmt","wd_achvdMstoneAmt","wd_MstonePcAmt");


function handleWDResponse() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			//location.reload();
			document.workdetailForm.reset();
			var roleid = document.getElementById("roleid").value;
			var message = http.responseXML.getElementsByTagName("Data")[0];
			for (var k=0; k<wdFields.length; k++) {
				document.getElementById(wdFields[k]).readOnly=false;
			}
			for (var i=0; i<message.childNodes.length; i++) {
				var node = message.childNodes[i].tagName;
				var value = message.childNodes[i].firstChild.data; 
				var obj=document.getElementById(node);
				if(!obj) continue;
				switch(obj.nodeName.toUpperCase()){
				// case "TEXTAREA": obj.innerHTML='';break;
				// case "SPAN":obj.innerHTML='';break;
				case "INPUT":

					switch(obj.type.toUpperCase()){
					case "CHECKBOX":
						obj.checked=false;break;
					case "RADIO":
						var eleName = obj.name;
						var ele;
						var eles = document.forms[0].elements;
						for(var i=0;  i< eles.length; i++){
							ele = eles[i];
							if (ele.name == eleName ){
								ele.checked = false;
							}
						}break;
					case "TEXT":
						if(obj.getAttribute("CGMDataType") && obj.getAttribute("CGMDataType")=="CGMAnyDate"){
							obj.value=formatDate(value);
						}else { obj.value=value;}
						/*if(roleid==1 && (obj.value!='' && obj.value!=0)) {
                                                obj.readOnly=true;
                                            }
						 */
						break;
					}break;
				case "OPTION":			 
					obj=obj.parentNode;	
				case "SELECT": //drop down box
				for(j=0; j<obj.options.length; j++){
					if(obj.options[j].value==value){
						obj.selectedIndex = j;
					} 
				}
				/* if(roleid==1 && (obj.value!='' || obj.value!=0)) {
                                            obj.readOnly=true;
                                        }
				 */break;	   

				}
			}
			// this should be always modifyable
			document.getElementById('wd_achvdMstone').readOnly=false;
			document.getElementById('wd_targetMstone').readOnly=false;
			document.getElementById('wd_achvdMstoneAmt').readOnly=false;
			document.getElementById('wd_targetMstoneAmt').readOnly=false;
		} else {
			alert ( "Not able to retrieve work details " );
		}
	}	
}
//generic response
function handleGenericResponse() { 
	if (http.readyState == 4) { //alert(http.status);
	if (http.status == 200) {
		disableAllElements(false,''); 
		var submitType = document.getElementById("submitType").value;
		//alert("submitType:"+submitType);
		//document.forms[0].reset(); 
		var message =  http.responseXML.getElementsByTagName("Data")[0]; 
		for (var i=0; i<message.childNodes.length; i++) {
			var node = message.childNodes[i].tagName;
			// alert(node);
			var value = message.childNodes[i].firstChild==null?"":trimAll(message.childNodes[i].firstChild.data); 
			// var value=message.childNodes[i].firstChild.data; 
			// alert("value:"+value);
			var obj=document.getElementById(node);

			if(!obj) continue;
			switch(obj.nodeName.toUpperCase()){
			// case "TEXTAREA": obj.innerHTML='';break;
			// case "SPAN":obj.innerHTML='';break;
			case "INPUT":
				//if(submitType != 'admin' && value != '') {// || value !='0') ) {
				if(submitType != 'admin' && (value != '' &&  value !='0' && value != 0) ) {
					//alert("disabled:"+ document.getElementById(node).getAttribute("id")+":"+value+":");
					obj.disabled=true;
				} 
				switch(obj.type.toUpperCase()){
				case "CHECKBOX":
					obj.checked=false;break;
				case "RADIO":
					var eleName = obj.name;
					var ele;
					var eles = document.forms[0].elements;
					for(var i=0;  i< eles.length; i++){
						ele = eles[i];
						if (ele.name == eleName ){
							ele.checked = false;
						}
					}break;
				case "HIDDEN":
					obj.value=value;
					break;
				case "TEXT":
					//alert(" value "+value);
					//if(obj.value)
					if(obj.getAttribute("CGMDataType") && obj.getAttribute("CGMDataType")=="CGMAnyDate"){
						obj.value=value; //formatDate(value);
					}else { 
						obj.value=value;
					}
					break;
				}break;
			case "OPTION":			 
				obj=obj.parentNode;	
			case "SELECT": //drop down box
			for(j=0; j<obj.options.length; j++){
				if(obj.options[j].value==value){
					obj.selectedIndex = j;
				} 
			}
			if(submitType != 'admin' && (value != '' && value >=1) ) {
				obj.disabled=true;
			} 
			break;	   
			}
		}
		setRequiredOldValuesBack();//should be implemented in calling page
	} else {
		// document.forms[0].reset();
		//alert ( "Not able to retrieve details " );
	}
	}	
}

function handleGetWorkNamesList(){
	var workName = document.getElementById("mdf_workname");
	var message = http.responseXML.getElementsByTagName("Data")[0];
	var k=1;
	for(var i=0;i<message.childNodes.length; i++){
		//alert(message.childNodes[i].firstChild.data);
		var value = message.childNodes[i].firstChild.data;
		i=i+1;
		// alert(message.childNodes[i].firstChild.data);
		var text = message.childNodes[i].firstChild.data;

		workName.options[k++]=new Option(text,value);
	}
}
//
function getReleaseDetails(){



	var ulbId = document.getElementById("ulbid").value;
	var relNo= document.getElementById("govtRelNo").value;

	if(ulbId==null || ulbId==""){ alert("session out, pls login"); 
	return; }
	http.open("GET", url+"?userrequest=Masters&actionName=releaseDetails&actionType=getData&ulbId="+ulbId+"&relNo="+relNo , true);
	http.onreadystatechange = handleGenericResponse;
	http.send();
}
function getWorkNamesList() {
	//alert("url = "+url)
	//alert("In getmasterdata ");
	//document.getElementById("masterId").value=document.getElementById("mdf_workname").value;
	var ulbId = document.getElementById("ulbid").value;
	if(ulbId==null || ulbId==""){ document.workdetailForm.reset(); return; }
	var transType=parent.frames['leftFrame'].document.getElementById("transType").value;
	if(transType=='workDetailInsert'){ 
		document.getElementById("modifyButton").style.display="none"; 
		http.open("GET", url+"?userrequest=workdetaildata&ulbId="+ulbId+"&wdaction=getWorkNames&type=CreatedWorkNamesList" , true);
	}
	else if(transType=='workDetailModify'){
		document.getElementById("createButton").style.display="none"; 
		http.open("GET", url+"?userrequest=workdetaildata&ulbId="+ulbId+"&wdaction=getWorkNames&type=UpdatedWorkNamesList" , true);
	}
	http.onreadystatechange = handleGetWorkNamesList;
	http.send();
}
function handleGenericResponseForWorkDetail() { 


	if (http.readyState == 4) { //alert(http.status);
	if (http.status == 200) {
		handleGenericResponse();
		var ulbIdSelect=document.getElementById("findULBId");
		urlReport=url+"?";
		//alert('ulbIdSelect=='+ulbIdSelect);
		if(typeof ulbIdSelect!='undefined' && ulbIdSelect!=null)
		{
		for(var i=0;i<ulbIdSelect.length ;i++)
	 	{
			if(typeof ulbIdSelect!='undefined' && ulbIdSelect.options[i].value == ulbIdSelect.value)
			{
				ulbName=ulbIdSelect.options[i].text;
				urlReport=urlReport+"ulbNameForReport="+ulbName+"&";
			}
	 	}
		}
		if(document.getElementById('wd_filepath').value!='' ||document.getElementById('wd_filepath2').value!='' || document.getElementById('wd_filepath3').value!='')
		{
		imgTr=document.getElementById("imgtr1");
		imgTr.style.visibility='visible';
		}
		if(document.getElementById('wd_filepath').value!='' )

		{
			spnImg=document.getElementById("spanImg1");			
			spnImg.innerHTML="<a href='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath').value+" ' target='_blank'><img src='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath').value+"' width=100 height=100 align='middle' border='2'/></a>";
			spnImg.style.visibility='visible';
			
		}
		if(document.getElementById('wd_filepath2').value!='' )

		{
			spnImg=document.getElementById("spanImg2");			
			spnImg.innerHTML="<a href='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath2').value+" ' target='_blank'><img src='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath2').value+"' width=100 height=100 align='middle' border='2'/></a>";
			spnImg.style.visibility='visible';
			
		}
		if(document.getElementById('wd_filepath3').value!='' )

		{
			spnImg=document.getElementById("spanImg3");			
			spnImg.innerHTML="<a href='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath3').value+" ' target='_blank'><img src='"+urlReport+"userrequest=downloadImg&wd_filepath="+document.getElementById('wd_filepath3').value+"' width=100 height=100 align='middle' border='2'/></a>";
			spnImg.style.visibility='visible';
			
		}
	}
	}
}


function getWorkDetailsData() {
	var masterId = document.getElementById("findWorkCodeId").value;
	document.getElementById("masterId").value=masterId;
	var sectorId=document.getElementById("findSectorId").value;
	var packageId=document.getElementById("findPackageId").value;
	disableAllElements(false,''); 
	if(masterId=="" || masterId==0){// after reset restore old values in search criteria
		document.forms[0].reset();
	document.getElementById("findSectorId").value = sectorId;
	document.getElementById("findPackageId").value = packageId;
	return;
	}
	// var masterId = document.getElementById("mdf_workname").value;// alert(masterId);
	//if(masterId==""){ document.workdetailForm.reset(); return;}
	//alert(url+"?userrequest=workdetaildata&masterId="+masterId+"&wdaction=mstrdatafill");
	http.open("GET", url+"?userrequest=workdetaildata&masterId="+masterId+"&wdaction=mstrdatafill" , true);
	http.onreadystatechange = handleGenericResponseForWorkDetail;
	http.send();
}


function getHTTPObject() {
	var xmlhttp;
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} return xmlhttp;
}

// Master Detail Screen
function getModifyMasterData() {
	var masterId = document.getElementById("findWorkCodeId").value;
	document.getElementById("masterid").value=masterId;
	var sectorId=document.getElementById("findSectorId").value;
	var packageId=document.getElementById("findPackageId").value;
	disableAllElements(false,''); 
	if(masterId=="" || masterId==0){// after reset restore old values in search criteria
		document.forms[0].reset();
	document.getElementById("findSectorId").value = sectorId;
	document.getElementById("findPackageId").value = packageId;
	return;
	}
	// alert(" masterid "+masterId);
	//alert(url);
	http.open("GET", url+"?userrequest=masterdata&masterId="+masterId+"&mdaction=modify&userAction=modify_fillData" , true);
	//  http.open("GET", url+"<%=CGMConstants.PARAM_PAGEACTION%>=<%=CGMConstants.PARAM_MASTERDATA%>&masterId="+masterId+"&<%=CGMConstants.PARAM_MASTERDATAACTION%>=<%=CGMConstants.PARAM_MODIFY%>&<%=CGMConstants.PARAM_USERACTION%>=<%=CGMConstants.PARAM_MASTERMODIFYDATA%>" , true);
	http.onreadystatechange = handleGenericResponse;
	http.send();
}

function handleMstrResponse() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			//alert("In HandleHTTPResponse");
			var obj=document.getElementById("mdf_workname");
			var roleid = document.getElementById("roleid").value;
			var submitType = document.getElementById("submitType").value;
			document.MasterDataForm.reset();
			// XML formatted response text:
			var message = http.responseXML.getElementsByTagName("MasterData")[0];
			/*     for (var k=0; k<mdFields.length; k++) {
              document.getElementById(mdFields[k]).readOnly=false;
            }
			 */
			for (var i=0; i<message.childNodes.length; i++) {
				var node = message.childNodes[i].tagName;
				var value = message.childNodes[i].firstChild.data;
				//alert("node = "+node+" ::: value = "+value);
				for (var cnt=0; cnt<mdFields.length; cnt++) {
					//alert("mdFields["+cnt+"] = "+mdFields[cnt]);
					//alert(mdFields[cnt].substring(4,mdFields[cnt].length));
					// alert(node+"-"+mdFields[cnt].substring(4,mdFields[cnt].length));
					if(node.toUpperCase()==mdFields[cnt].substring(4,mdFields[cnt].length).toUpperCase()) {
						// alert("node = "+node+" ::: mdFields["+cnt+"] = "+mdFields[cnt]);
						if(node=='workName') {
							// alert("in workname "+obj.options.length);
							for(j=0;j<obj.options.length;j++){
								//alert("option["+j+"].text = "+obj.options[j].text+":: data = "+message.childNodes[i].firstChild.data);
								if(obj.options[j].text==value)
									obj.selectedIndex=j;
							}
						} else if(node=="sectorId"){
							if(value==0) {
								document.getElementById(mdFields[cnt]).value='';
							} else {
								document.getElementById(mdFields[cnt]).value=value;
								//alert(" Data = "+message.childNodes[i].firstChild.data);
								if(submitType != 'admin' && value != '') {
									document.getElementById(mdFields[cnt]).disabled=true;
								} 
							}
						} else {
							if(value==0) {
								document.getElementById(mdFields[cnt]).value='';
							} else {
								document.getElementById(mdFields[cnt]).value=value;
								//alert(" Data = "+message.childNodes[i].firstChild.data);
								if(value != null && submitType != 'admin' && value != '') {
									document.getElementById(mdFields[cnt]).disabled=true;
								} 
							}
						}
					}
				}
				setRequiredOldValuesBack();//should be implemented in calling page
			}
		} else {
			alert ( "Not able to retrieve name" );
		}
	}	
}
function loadSqlOutputData(sqlName,url1){
	http.open("GET", url+"?userrequest=getSqlData"+"&sqlName="+sqlName+"&"+url1 , true);
	http.onreadystatechange = handleGenericResponse;
	http.send();
}

// get ULB list
function getULBList(){
	http.open("GET", url+"?userrequest=reportpage&wdreport=ulblist", true);
	http.onreadystatechange = populateULBList;
	http.send();
}

// get sector list
function getSectorList(){
	var ulbId=document.getElementById("findULBId").value;
	//alert('ulbid ==> '+ulbId);
	http.open("GET", url+"?userrequest=reportpage&ulbId="+ulbId+"&wdreport=sectorlist" , true);
	http.onreadystatechange = populateSectorList;
	http.send();
}

function populateULBList() {
	//alert(" in populate ulblist" +http.status);
	if (http.readyState == 4) {
		if (http.status == 200) {
			//alert(' responsetest -> '+http.responseText);
			var response=http.responseText.split("^");
			//var destobj=document.getElementById("findULBId");
			//alert(' destobj -> '+destobj);
			var id = response[0].split("+");
			var name = response[1].split("+");
			//alert(' id -> '+id+' name -> '+name);
			var comboObj = document.getElementById("findULBId");
			comboObj.options.length = 0;
			comboObj.options[0] = new Option("--Choose--","");
			for(var i = 1 ; i <= id.length  ; i++) {
				comboObj.options[i] = new Option(name[i-1],id[i-1]);			
			}			
		}
	}		
}

function populateSectorList() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			//alert(' responsetest -> '+http.responseText);
			var response=http.responseText.split("^");
			//var destobj=document.getElementById("findULBId");
			//alert(' destobj -> '+destobj);
			var id = response[0].split("+");
			var name = response[1].split("+");
			//alert(' id -> '+id+' name -> '+name);
			var comboObj = document.getElementById("findSectorId");
			comboObj.options.length = 0;
			comboObj.options[0] = new Option("--Choose--","");
			for(var i = 1 ; i <= id.length  ; i++) {
				comboObj.options[i] = new Option(name[i-1],id[i-1]);			
			}			
		}
	}		
}
