var reqTypes = new Array(3);
reqTypes[0] = 'Contact';
reqTypes[1] = 'SiteNewsTitles';
reqTypes[3] = 'SiteNewsDetails';


function getContactForm(sevriceId, responseContainer)
{
	var url = "/servlet/GetContactForm?serviceId="; // The server-side script
	url += encodeURIComponent(sevriceId);
	url += "&containerId=";
	url += encodeURIComponent(responseContainer);
	prepareRequest(url, "POST", reqTypes[0], responseContainer);
}


function getNewsTitles(nDate, action, responseContainer)
{
	var url = "/servlet/GetNewsTitles?nDate="; // The server-side script
	url += encodeURIComponent(nDate);
	url += "&action=";
	url += encodeURIComponent(action);
	url += "&containerId=";
	url += encodeURIComponent(responseContainer);
	prepareRequest(url, "POST", reqTypes[1], responseContainer);
}

function getNewsDetails(newsId, responseContainer)
{
	var url = "/servlet/GetNewsDetails?newsId="; // The server-side script
	url += encodeURIComponent(newsId);
	url += "&containerId=";
	url += encodeURIComponent(responseContainer);
	prepareRequest(url, "POST", reqTypes[2], responseContainer);
}


function prepareRequest(reqUrl, method, reqType, responseContainer)
{
	var senddata;
	var randomkey = Math.floor(Math.random() * 1000000);
	reqUrl = reqUrl + "&randomkey=" + randomkey;
	if(method == "POST")
	{
		var postarr = reqUrl.split("?", 2);
		reqUrl = postarr[0];
		senddata = postarr[1];

		senddataarr = senddata.split("&");
		reqUrl = reqUrl + "?" + senddataarr[0] + "&" + senddataarr[1];
		senddata = "";
		for(i=2; i<senddataarr.length;i++)
		{
			senddata = senddata + senddataarr[i] + "&";
		}

		senddata = senddata.substr(0, senddata.length - 1);
	}

	if (window.ActiveXObject) 
	{
		try
		{
	       	req = new ActiveXObject("Msxml2.XMLHTTP");
      	}
		catch(e) 
		{
        	try 
			{
	       		req = new ActiveXObject("Microsoft.XMLHTTP");
        	}
			catch(e) 
			{
          		req = false;
        	}
		}
		
        if (req)
		{
            req.onreadystatechange = function() {handleHttpResponse(reqType, responseContainer)};
            req.open(method, reqUrl, true);   /*GetNoCache*/
        	//req.setRequestHeader("Content-Type", "text/html; charset=utf-8");
			if(method=="POST")
			{
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req.send(senddata);
			}
			else
				req.send();
		}
    }
    else if (window.XMLHttpRequest) 
	{
	    // branch for native XMLHttpRequest object
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {handleHttpResponse(reqType, responseContainer)};
        req.open(method, reqUrl, true);
		//req.setRequestHeader("Content-Type", "text/html; charset=utf-8");
		if(method=="POST")
		{
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.send(senddata);
		}
		else
			req.send(null);
    }
}

function handleHttpResponse(reqType, containerTD)
{
	var output = '';
	var containerTDObj;
	if (req.readyState == 4) 
	{
		//Main function statements Starts here
		if (req.status == 200) 
		{
			output = unescape(req.responseText);
			//if(true == false)
			//if(reqTypes[14] == reqType)
			{
				containerTDObj = MM_findObj(containerTD);
				if(containerTDObj)
					containerTDObj.innerHTML = output;
			}
        }
		else
		{
			containerTDObj = MM_findObj(containerTD);
			if(containerTDObj)
				containerTDObj.innerHTML = 'There was a problem fetching the information from the database. Please try again later.'; // + tempurl;
        }
		//Main function statements Ends here
		//setFieldValues(output);
		
		//if(reqTypes[0] != reqType)
		{
			navContainer = MM_findObj(portfolioSampleContainerName);
			if(navContainer != null)
			{
				if(navContainer.innerHTML.toLowerCase().indexOf('<p class="newsheadingtext">news</p>') > -1)
					defaultPortfolioSampleHTML = navContainer.innerHTML;
				if(navContainer.innerHTML.toLowerCase().indexOf('<p class=newsheadingtext>news</p>') > -1)
					defaultPortfolioSampleHTML = navContainer.innerHTML;
			}
		}

		try
		{
			var editorInstances = tinyMCE.getParam('elements', '', true, ',');
			for(iCount=0; iCount<editorInstances.length; iCount++)
				tinyMCE.updateContent(editorInstances[iCount])
		}
		catch(err) {}
	} 
}

function setFieldValues(output)
{
	
	var objLayer, objValues, objLang = output.split('^');
	resetFormField();
	for(var i = 0; i < objLang.length; i++)
	{
		objValues = objLang[i].split('#');
		objLayer = MM_findObj(objValues[0]);
		if(objLayer)
		{
			if(objLayer.colSpan != undefined)
				objLayer.innerHTML = objValues[1];	
			else if(objValues[0] == 'chkNEC' || objLayer.name == 'chkNEC') 
			{
				if(objValues[1].indexOf('N') > -1)
					objLayer[0].checked = true;	
				if(objValues[1].indexOf('E') > -1)
					objLayer[1].checked = true;	
				if(objValues[1].indexOf('C') > -1)
					objLayer[2].checked = true;	
			}
			else if(objLayer.type == 'checkbox') 
			{
				if(objValues[1] == 'Y')
					objLayer.checked = true; 
				else
					objLayer.checked = false; 
			} else if(objLayer.name == 'radDirection')	{
				objLayer = MM_findObj('radioDir')
				objLayer[objValues[1]].checked = true; 
				setRadioDirection(objValues[1]);
			} else if(objLayer.name == 'radType')	{
				objLayer = MM_findObj('rtype')
				if(objValues[1] == 'I')
					objLayer[0].checked = true; 
				else
					objLayer[1].checked = true; 
				setBanType(objValues[1]);
			} else {
				if(objValues[1] !== 'N/A')
					objLayer.value = objValues[1]; 
				else
					objLayer.value = ''; 
			}
		}
	}

	MM_findObj('btnDel').disabled = true;
	if(objLang != null && objLang.length > 1) 
		MM_findObj('action').value = js_Mod_Var;
	else
		MM_findObj('action').value = js_Add_Var;
		
	try
	{
		checkLanguage();
	} catch(err) {}
}

function nameCallback(value /*, comboBox*/) 
{
	var items = new Array();
	if (value.length > 0) { // if no value, we'll not provide anything
		value = value.toLowerCase();
		//for (var i = 0; i < Math.min(names.length, 20); i++) {
		var itemCount = 0;
		for (var i = 0; i < names.length && itemCount<20; i++) 
		{
			if (names[i].toLowerCase().indexOf(value) >= 0) 
			{
				items.push(names[i]);
				itemCount++;
			}
		}
	}
	return items; // equiv to: comboBox.setItems(items);
}


function resetFormField()
{
	for (var i=0;i < document.forms[0].elements.length;i++) 
	{
		var e = document.forms[0].elements[i];
		if (e.type == "textarea" && e.name != CB.id)
			e.value = '';
		if (e.type == "text" && e.name != CB.id)
			e.value = '';
		if (e.type.indexOf("select") > -1)
			e.selectedIndex = 0;
		if (e.type == "checkbox")
			e.checked = false;
	}
}

function nextFormField(field)
{
	var i;
	for (i = 0; i < field.form.elements.length; i++)
		if (field == field.form.elements[i])
			break;
	for (j = (i + 1); j < field.form.elements.length; j++)
		if(field.form.elements[j].type != 'hidden')
			break;
	if(!field.form.elements[j].disabled)
		field.form.elements[j].focus();
}

function clickSubmit()
{
	var isError = false;
	isError = formValidate();
	if(!isError)
		document.forms[0].submit();
}

function toggleButtons(type) 
{
	var value;
	if(type != 'del')
	{
		value = !(MM_findObj('btnSub').disabled);
		MM_findObj('btnSub').disabled = value;
	}
	else	
	{
		value = !(MM_findObj('btnDel').disabled);
		MM_findObj('btnDel').disabled = value;
	}
	MM_findObj('btnClr').disabled = value;
}

