/* $Id: common.js,v 1.18 2008/03/11 04:29:29 kmurugesan Exp $ */
// global variables
notesobject = null;

function startList() {
	if (document.all&&document.getElementById) {
		var ulelems = document.getElementsByTagName("ul");
		for(var k=0; k<ulelems.length; k++) {
			if(ulelems[k].id == 'nav') {
				navRoot = ulelems[k];
				for (i=0; i<navRoot.childNodes.length; i++) {
					node = navRoot.childNodes[i];
					if (node.nodeName=="LI") {
						node.onmouseover=function() {
							this.className+=" over";
						}
						node.onmouseout=function() {
							this.className=this.className.replace(" over", "");
						}
					}
				}
			}
		}
	}
}

function openInParent(url, viewFull)
        {
        	if(viewFull!=null && viewFull)
        	{
        		window.opener.location.href=url;
        		window.close();
        	}
        	else
        	{
        		window.location.href=url;
        	}
        	
        }

function addNotes(url, id)
{
    //alert(thisobject);
    //var notesID = "note"+id;
    //alert("1:"+id);
    notesobject = document.getElementById(id);
    //alert("1:"+url);
    var now = new Date();
    var timedURL = url+"&ct="+now.getTime();
    //alert("2:"+timedURL);
    showURLInDialog(timedURL,'width=350px');
}

function updateNotesIcon()
{
    //alert("updating note icon");
    //alert(notesobject.parentNode.className);
    if(notesobject.parentNode.className.indexOf('evenRow') != -1)
    {
        notesobject.parentNode.className="notesicon evenRow";
    }
    else if(notesobject.parentNode.className.indexOf('oddRow') != -1)
    {
        notesobject.parentNode.className="notesicon oddRow";
    }
    else
    {
        notesobject.parentNode.className="notesicon";
    }
    notesobject = null; 
}

function selectUser(form, userId)
{
    form.userList.value = userId;
    form.submit();
}

function setReqNameID(dropDownValue,dropDownID)
{
	document.getElementById("reqSearch").value = dropDownValue;
	document.getElementById("requesterID").value = dropDownID;	
}

function showOwner()
{
	if(document.WorkOrderForm.assignTo.value == 'Technician')
	{
		var id = document.getElementById('assignTech');
		if (id.style.display == "none")
		{
			eval("id.style.display = 'block';");
		}
		var id1 = document.getElementById('assignQueue');
		if (id1.style.display == "block")
		{
			eval("id1.style.display = 'none';");
		}
	}
	else if(document.WorkOrderForm.assignTo.value == 'Queue')
	{
		var id = document.getElementById('assignTech');
		if (id.style.display == "block")
		{
			eval("id.style.display = 'none';");
		}
		var id1 = document.getElementById('assignQueue');
		if (id1.style.display == "none")
		{
			eval("id1.style.display = 'block';");
		}
	}
	else if(document.WorkOrderForm.assignTo.value == 'None')
	{
		var id = document.getElementById('assignTech');
		if (id.style.display == "block")
		{
			eval("id.style.display = 'none';");
		}
		var id1 = document.getElementById('assignQueue');
		if (id1.style.display == "block")
		{
			eval("id1.style.display = 'none';");
		}
	}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);



function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

var oPrevElement;
// click hover normal
function styleSwap(oElement, sEvent, sOff, sOn) {
	var cssClass
		if(sEvent == 'click') {
			if(oPrevElement != null) {
				oPrevElement.className = sOff;
			}
			if (oElement) { oElement.className = sOff; }
			oPrevElement = oElement; 
		}
		else {

			if (sEvent=='hover') cssClass = sOn;
			else cssClass = sOff;
			if (oPrevElement==null) {
				oElement.className = cssClass;
			}
			else {
				if(oPrevElement.id != oElement.id) {
					oElement.className = cssClass;
				}
			}
		}
}


function loader(did){
	var mid = document.getElementById(did);
	if(readCookie(mid)=="show"){
		eval("mid.style.display = 'block';");

	}else if(readCookie(mid)=="hide"){
		eval("mid.style.display = 'none';");
	}
}



function ShowHide(divId)
{
	var id = document.getElementById(divId);
	if (id.style.display == "none")
	{
		createCookie(id, 'show', 30);
		eval("id.style.display = 'block';");
		//alert ("Show hide loop : blocked"+"\n"+divId+" "+readCookie(id));
	}
	else
	{
		createCookie(id, 'hide', 30);
		eval("id.style.display = 'none';");
		//alert ("Show hide loop : None "+"\n"+divId+" "+readCookie(id));
	}
}

function ShowReqTab(divIdToShow)
{
	var idToShow = document.getElementById(divIdToShow);
	if(divIdToShow=="reqDetails")
	{
		var idToHide = document.getElementById("reqHistory");
		eval("idToHide.style.display = 'none';");
		var idToHide = document.getElementById("resolution");
		eval("idToHide.style.display = 'none';");
	}
	else if(divIdToShow=="resolution")
	{
		var idToHide = document.getElementById("reqDetails");
		eval("idToHide.style.display = 'none';");
		var idToHide = document.getElementById("reqHistory");
		eval("idToHide.style.display = 'none';");
	}
	else if(divIdToShow=="reqHistory")
	{
		var idToHide = document.getElementById("reqDetails");
		eval("idToHide.style.display = 'none';");
		var idToHide = document.getElementById("resolution");
		eval("idToHide.style.display = 'none';");
	}

	eval("idToShow.style.display = 'block';");
	//createCookie(divIdToShow, idToShow+'reqViewShow', 30);
	//createCookie(divIdToHide, idToHide+'reqViewHide', 30);
}


function ShowProductTab(divIdToShow)
{
	var idToShow = document.getElementById(divIdToShow);
	if(divIdToShow=="productDetails")
	{
		var idToHide = document.getElementById("associatedVendors");
		eval("idToHide.style.display = 'none';");
	}
	else if(divIdToShow=="associatedVendors")
	{
		var idToHide = document.getElementById("productDetails");
		eval("idToHide.style.display = 'none';");
	}
	else if(divIdToShow=="vendorDetails")
	{
		var idToHide = document.getElementById("associatedProducts");
		eval("idToHide.style.display = 'none';");
	}
	else if(divIdToShow=="associatedProducts")
	{
		var idToHide = document.getElementById("vendorDetails");
		eval("idToHide.style.display = 'none';");
	}

	eval("idToShow.style.display = 'block';");
}

function createCookie(name, value, days)
{
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
  var ca = document.cookie.split(';');
  var nameEQ = name + "=";
  for(var i=0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
  return null;
}

function eraseCookie(name)
{
  createCookie(name, "", -1);
}







function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;}
  
function checkinteger(order)
{
	var x=order.value

	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (x!=null && x!="" && anum.test(x))
	{	
		testresult=true
		if(x.indexOf(".")>=0)
		{
			testresult=false
		}
		maxVal = Math.max(x,2147483648);
		if(maxVal!=2147483648 || x==maxVal)
		{
			testresult=false
		}
	}
	else
	{
		testresult=false
	}
	return (testresult)
}

function checkintegervalue(x)
{
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (x!=null && x!="" && anum.test(x))
	{	
		testresult=true
		if(x.indexOf(".")>=0)
		{
			testresult=false
		}
		maxVal = Math.max(x,2147483648);
		if(maxVal!=2147483648 || x==maxVal)
		{
			testresult=false
		}
	}
	else
	{
		testresult=false
	}
	return (testresult)
}

function checklong(order)
{
	var x=order.value

	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (x!=null && x!="" && anum.test(x))
	{	
		testresult=true
		if(x.indexOf(".")>=0)
		{
			testresult=false
		}
		maxVal = Math.max(x,9223372036854775808);
		if(maxVal!=9223372036854775808 || x==maxVal)
		{
			testresult=false
		}
	}
	else
	{
		testresult=false
	}
	return (testresult)
}

function checknumber(order)
{
	var x=order.value

	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (x!=null && x!="" && anum.test(x))
	{	
		testresult=true
	}
	else
	{
		alert(document.getElementById('invalidnumber').value)
		testresult=false
	}
	return (testresult)
}
/*
function addSet(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML += unescape(newText);
}

function MM_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML += unescape(newText);
}

var counter = 1;
function moreFields()
{
	counter++;
	var newFields = document.getElementById('readroot').cloneNode(true);
	newFields.id = '';
	newFields.style.display = 'block';
	var newField = newFields.childNodes;
	for (var i=0;i<newField.length;i++)
	{
		var theName = newField[i].name
		if (theName)
		{
			newField[i].name = theName + counter;
		}
	}
	var insertHere = document.getElementById('writeroot');
	insertHere.parentNode.insertBefore(newFields,insertHere);
}

function removeRow(oCell) 
{
    var insertHere = document.getElementById('writeroot');
    oCell.parentNode.parentNode.removeChild(oCell.parentNode);
}
window.onload = moreFields;
*/


function Show(divId)
{
	var id = document.getElementById(divId);
	if (id.style.display == "none")
	{
		createCookie(id, 'show', 30);
		eval("id.style.display = 'block';");
		//alert ("Show hide loop : blocked"+"\n"+divId+" "+readCookie(id));
	}
	else
	{
		createCookie(id, 'hide', 30);
		eval("id.style.display = 'block';");
		//alert ("Show hide loop : None "+"\n"+divId+" "+readCookie(id));
	}
}

function quickReqValidate(form)
{
	if(trim(form.reqName.value)=="")
	{
		alert(document.getElementById("askreqname").value);
		form.reqName.focus();
		return false;
	}
	if(trim(form.title.value)=="")
	{
		alert(document.getElementById("askreqtitle").value);
		form.title.focus();
		return false;
	}
	var email = form.email.value;
	var acc = document.getElementById("customerName").value;
	if(!(trim(email)==""))
	{
		email = trimAll(email);
		if (email.length > 0)
		{
			var posadr1 = 0;
			var posdot = email.indexOf(".");
			var posadr = email.indexOf("@");
			posadr1=email.lastIndexOf("@");
			if ( (posdot < 0) || (posadr < 0) || (posadr1 != posadr) )
			{
				alert(document.getElementById('invalidemail').value);
				form.email.focus();
				return false;
			}
		}
		var j = email.length;
		var strobj = new String(email);
		if (strobj.charAt(j-1)=="." || strobj.charAt(0)=="@" || strobj.charAt(j-1)=="@" || strobj.charAt(0)=="." || strobj.charAt(0)=="-" || strobj.charAt(0)=="_" || strobj.charAt(j-1)=="-" || strobj.charAt(j-1)=="_" || strobj.charAt(j-2)=="." || strobj.charAt(j-2)=="-" || strobj.charAt(j-2)=="_")
		{
			alert(document.getElementById('invalidemail').value);
			form.email.focus();
			return false;
		}
		form.email.value = email;
	}
	if((trim(acc)==""))
	{
		checkUserExists(form);
	}
	else
	{
		checkAccountExists(form);
	}
	return false;
}

function confirmSubmit(confirmStr)
{
	var agree=confirm(confirmStr);
	if(agree)
	{
		return true ;
	}
	else
	{
		return false ;
	}
}


function loadme()
{
	var e=document.getElementsByTagName("div");
	var temp1 = document.getElementsByName("tabName")[0];
	var temp2 = document.getElementsByName("loggedUserID")[0];
	if(temp1 != null && temp2 != null)
	{
	var module = document.getElementsByName("tabName")[0].value;
	var userID = document.getElementsByName("loggedUserID")[0].value;
	for(var i=0;i<e.length;i++)
	{
		if(e[i].id!=null)
		{
			var bulletObj=MM_findObj("bullet"+e[i].id);
			if(readCookie(userID+module+e[i].id)==e[i].id+"show" )
			{
				eval("e[i].style.display = 'block';");
                                if(bulletObj != null)
                                {
        				bulletObj.src="/images/actionitems_expand.gif";
                                }
			}
			if(readCookie(userID+module+e[i].id)==e[i].id+"hide" )
			{
				eval("e[i].style.display = 'none';");
                                if(bulletObj != null)
                                {
        				bulletObj.src="/images/actionitems_collapse.gif";
                                }
			}
		}
	}
	}
}

function loadmeadmin()
{
	div1 = document.getElementById('helpcoll');
	div2 = document.getElementById('helpexp');

	var module = document.getElementsByName("tabName")[0].value;
	var userID = document.getElementsByName("loggedUserID")[0].value;
	if(readCookie(userID+module+div1.id)==div1.id+"show" )
	{
		eval("div1.style.display = 'block';");
		eval("div2.style.display = 'none';");
	}
	else if(readCookie(userID+module+div2.id)==div2.id+"show" )
	{
		eval("div1.style.display = 'none';");
		eval("div2.style.display = 'block';");
	}
	else
	{
		eval("div1.style.display = 'block';");
		eval("div2.style.display = 'none';");
		swap2LayerC('helpexp','helpcoll');
	}
}

function toggleSwipe(gName)
{
	var selRowObj = document.getElementById(gName);
	var module = document.getElementsByName("tabName")[0].value;
	var userID = document.getElementsByName("loggedUserID")[0].value;
	//alert(" module "+module);
	//alert(" userID "+userID);
	//alert(" style "+selRowObj.style.display)
	var bulletObj=MM_findObj("bullet"+gName);
	if (selRowObj.style.display == 'none')
	{
		eval("selRowObj.style.display = 'block';");
		bulletObj.src="/images/actionitems_expand.gif";
		
		//Commenting to remove excess creation of Cookie
		//createCookie(userID+module+gName, gName+'show', 30);
	}
	else if(selRowObj.style.display == 'block')
	{
		eval("selRowObj.style.display = 'none';");
		bulletObj.src="/images/actionitems_collapse.gif";
		
		//Commenting to remove excess creation of Cookie
		//createCookie(userID+module+gName, gName+'hide', 30);
	}
	else if(selRowObj.style.display == '')
	{
		//alert(" style empty ");
		eval("selRowObj.style.display = 'none';");
		bulletObj.src="/images/actionitems_collapse.gif";
		
		//Commenting to remove excess creation of Cookie
		//createCookie(userID+module+gName, gName+'show', 30);
	}
}

function toggleSwipe1(gName)
{
	var selRowObj = document.getElementById(gName);
	var module = document.getElementsByName("tabName")[0].value;
	var userID = document.getElementsByName("loggedUserID")[0].value;
	//alert(" module "+module);
	//alert(" userID "+userID);
	//alert(" style "+selRowObj.style.display)
	//var bulletObj=MM_findObj("bullet"+gName);
	if (selRowObj.style.display == 'none')
	{
		eval("selRowObj.style.display = 'block';");
		//bulletObj.src="/images/actionitems_expand.gif";
		//createCookie(userID+module+gName, gName+'show', 30);
	}
	else if(selRowObj.style.display == 'block')
	{
		eval("selRowObj.style.display = 'none';");
		//bulletObj.src="/images/actionitems_collapse.gif";
		//createCookie(userID+module+gName, gName+'hide', 30);
	}
	else if(selRowObj.style.display == '')
	{
		//alert(" style empty ");
		eval("selRowObj.style.display = 'none';");
		//bulletObj.src="/images/actionitems_collapse.gif";
		//createCookie(userID+module+gName, gName+'show', 30);
	}
}

function swapLayer(showDiv,HideDiv)
{
	var showdiv = document.getElementById(showDiv);
	var hidediv = document.getElementById(HideDiv);
	eval("showdiv.style.display = 'block';");
	eval("hidediv.style.display = 'none';");
}

function onClickSwapLayer(showDiv,HideDiv)
{
	swapLayer(showDiv,HideDiv);
	var id1 = document.getElementById("success_message");
	if(id1!=null)
	{
		eval("id1.style.display = 'none';");
	}

	var id2 = document.getElementById("error_message");
	if(id2!=null)
	{
		eval("id2.style.display = 'none';");
	}
}

function swap2Layer(toShow,toHide)
{
   var idToShow = document.getElementById(toShow);
   var idToHide = document.getElementById(toHide);
   eval("idToShow.style.display = 'block';");
   eval("idToHide.style.display = 'none';");
}

function swapLayer3(toShow,toHide1,toHide2)
{
   swap2Layer(toShow,toHide1);
   var idToHide2 = document.getElementById(toHide2);
   eval("idToHide2.style.display = 'none';");
}

function swapLayer4(toShow,toHide1,toHide2,toHide3)
{
   swap2Layer(toShow,toHide1);
   var idToHide2 = document.getElementById(toHide2);
   eval("idToHide2.style.display = 'none';");
   var idToHide3 = document.getElementById(toHide3);
   eval("idToHide3.style.display = 'none';");

   var module = document.getElementsByName("tabName")[0].value;   
   var userID = document.getElementsByName("loggedUserID")[0].value;

   createCookie(userID+module+toShow, toShow+'show', 30);
   createCookie(userID+module+toHide1, toHide1+'hide', 30);
   createCookie(userID+module+toHide2, toHide2+'hide', 30);
   createCookie(userID+module+toHide3, toHide3+'hide', 30);
}

function swap2LayerC(showDiv,HideDiv)
{
   var showdiv = document.getElementById(showDiv);
   var hidediv = document.getElementById(HideDiv);
   var module = document.getElementsByName("tabName")[0].value;   
   var userID = document.getElementsByName("loggedUserID")[0].value;
   if(showdiv!=null && showdiv!='')
   {
	eval("showdiv.style.display = 'block';");
   }
   if(hidediv!=null && hidediv!='')
   {
   	eval("hidediv.style.display = 'none';");
   }
   createCookie(userID+module+showDiv, showDiv+'show', 30);
   createCookie(userID+module+HideDiv, HideDiv+'hide', 30);
}

function trimAll(str)
{
	/*************************************************************
	  Input Parameter :str
Purpose         : remove all white spaces in front and back of string
Return          : str without white spaces    
	 ***************************************************************/

	//check for all spaces
	var objRegExp =/^(\s*)$/;
	if (objRegExp.test(str))
	{
		str = str.replace(objRegExp,''); 
		if (str.length == 0)
			return str; 
	} 

	//  check for leading and trailling spaces
	objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
	if(objRegExp.test(str))
	{
		str = str.replace(objRegExp, '$2');
	}
	return str;
}

function beforePOCancel()
{
	if(window.confirm(document.getElementById("confirmMsg").value))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function checkForUDFNumeric()
{
	from =document.getElementsByName("FROM")[0];
	if(from!=null && from.value=='INLINE')
	{
	num1 = trimAll(document.getElementsByName("UDF_LONG1")[0]);
	num2 = trimAll(document.getElementsByName("UDF_LONG2")[0]);
	num3 = trimAll(document.getElementsByName("UDF_LONG3")[0]);
	num4 = trimAll(document.getElementsByName("UDF_LONG4")[0]);
	}
	else
	{
	num1 = document.getElementsByName("udfName1")[0];
	num2 = document.getElementsByName("udfName2")[0];
	num3 = document.getElementsByName("udfName11")[0];
	num4 = document.getElementsByName("udfName12")[0];
	}
	if(num1!=null && num1.value!=null && num1.value!='')
	{
		if(!checklong(num1))
		{
			num1.focus();
			return false;
		}
	}
	
	if(num2!=null && num2.value!=null && num2.value!='')
	{
		if(!checklong(num2))
		{
			num2.focus();
			return false;
		}
	}
	
	if(num3!=null && num3.value!=null && num3.value!='')
	{
		if(!checklong(num3))
		{
			num3.focus();
			return false;
		}
	}
	
	if(num4!=null && num4.value!=null && num4.value!='')
	{
		if(!checklong(num4))
		{
			num4.focus();
			return false;
		}
	}

	return true;
}

function validateIP(ip)
{
	val = trimAll(ip.value);
	if(val.indexOf(".")>0)
	{
		val1 = val.substring(0,val.indexOf("."));
		if(checkintegervalue(val1))
		{
			max2 = Math.max(val1,256);
			if(max2!=256 || val1==max2)
			{
				ip.focus();
				return false;
			}
		}
		else
		{
			ip.focus();
			return false;
		}
		val = val.substring(val.indexOf(".")+1,val.length);
		if(val.indexOf(".")>0)
		{
			val1 = val.substring(0,val.indexOf("."));
			if(checkintegervalue(val1))
			{
				max2 = Math.max(val1,256);
				if(max2!=256 || val1==max2)
				{
					ip.focus();
					return false;
				}
			}
			else
			{
				ip.focus();
				return false;
			}
			val = val.substring(val.indexOf(".")+1,val.length);
			if(val.indexOf(".")>0)
			{
				val1 = val.substring(0,val.indexOf("."));
				if(checkintegervalue(val1))
				{
					max2 = Math.max(val1,256);
					if(max2!=256 || val1==max2)
					{
						ip.focus();
						return false;
					}
				}
				else
				{
					ip.focus();
					return false;
				}
				val = val.substring(val.indexOf(".")+1,val.length);
				if(checkintegervalue(val))
				{
					max2 = Math.max(val,256);
					if(max2!=256 || val==max2)
					{
						ip.focus();
						return false;
					}
				}
				else
				{
					ip.focus();
					return false;
				}
			}
			else
			{
				ip.focus();
				return false;
			}
		}
		else
		{
			ip.focus();
			return false;
		}
	}
	else
	{
		ip.focus();
		return false;
	}
	return true;
}

function checkForIntegerZero(order)
{
	var x=order.value;
	if(!checkinteger(order))
	{
		return false;
	}
  	for(var i=0; i < x.length; i++)
	{
		y = x.charAt(i);
		if(y=='0')
		{
			x = x.substring(i+1,x.length);
			i--;
			if(i<0 && x.length==0)
			{
				break;
			}
		}
		else
		{
			break;
		}
	}
	order.value=x;
	if(x==null || x=='')
	{
		return false;
	}
	else
	{
		return true;
	}
}

function ruleSelection(oElement, val)
{
	ele1 = document.getElementById('operatorID'+val);
	ele2 = document.getElementById('rowTextID'+val);
	alert(" ruleSelection ")
	sOff = 'rowselected';
	textC = 'formStyleTextSel';
	if(oElement)
	{
		oElement.className = sOff;
	}
	if(ele1)
	{
		ele1.className = textC;
	}
	if(ele2)
	{
		ele2.className = textC;
	}
}


function openWindow(theURL,winName,features,w,h) { //v2.0

     /*var winl = (screen.width/2)-(wwidth/2);
     var wint = (screen.height/2)-(wheight/2);*/
     //features = features+',top='+wint+',left='+winl;
//	 alert(features);
	 LeftPosition=(screen.width)?(screen.width-w)/2:100;
	 TopPosition=(screen.height)?(screen.height-h)/2:100;
	 features = features + ',top='+TopPosition+',left='+LeftPosition;
	 window.open(theURL,winName,features);
}


function disableForDemo()
{
	alert("This feature is disabled for the Online Demo");
	return false;
}

function formChoose(labelId, onclass, offclass)
{
	var id = document.getElementById(labelId);
	var e=document.getElementsByTagName("label");
	for(var i=0;i<e.length;i++)
	{
		if(e[i].id!=null)
		{
			//          alert("e[i].id = "+e[i].id);
			var bulletObj=MM_findObj(e[i].id);
			bulletObj.className= offclass;

		}
	}

	id.className = onclass ;
}


function selectRow(elementId, onclass, offclass)
{
	var eid = document.getElementById(elementId);
	var e=document.getElementsByTagName("tr");
	for(var i=0;i<e.length;i++)
	{
		if(eid[i].id!=null)
		{
//			alert("e[i].id = "+e[i].id);
			var eObj=MM_findObj(eid[i].id);
			eObj.className= offclass;

		}
	}

	eid.className = onclass ;

}


function threadShowhide(gName)
{
	var selRowObj = document.getElementById(gName);
	var bulletObj=MM_findObj("bullet"+gName);
	if (selRowObj.style.display == 'none')     
	{
		eval("selRowObj.style.display = 'block';");
		bulletObj.src="/images/threadcollapse.gif";
	}
	else if(selRowObj.style.display == 'block')     
	{
		eval("selRowObj.style.display = 'none';");
		bulletObj.src="/images/threadexpand.gif";
	}
	else if(selRowObj.style.display == '')      
	{
		eval("selRowObj.style.display = 'block';");
		bulletObj.src="/images/threadcollapse.gif";
	}
}


function threadinit()
{
	window.name="main";
	var e=document.getElementsByTagName("div");
	var module = document.getElementsByName("tabName")[0].value;
	//var userID = document.getElementsByName("loggedUserID")[0].value;
	for(var i=0;i<e.length;i++)
	{
		if(e[i].id!=null)
		{
			var bulletObj=MM_findObj("bullet"+e[i].id);
			if(readCookie(module+e[i].id)==e[i].id+"show" )
			{
				eval("e[i].style.display = 'block';");
				bulletObj.src="/images/threadcollapse.gif";
			}
			if(readCookie(module+e[i].id)==e[i].id+"hide" )
			{
				eval("e[i].style.display = 'none';");
				bulletObj.src="/images/threadexpand.gif";
			}
		}
	}
}

function threadshowhide(val)
{
	window.name="main";
	var e=document.getElementsByTagName("div");
	var module = document.getElementsByName("tabName")[0].value;
	//var userID = document.getElementsByName("loggedUserID")[0].value;
	for(var i=0;i<e.length;i++)
	{
		divID = e[i].id;
		ind = divID.indexOf("thread");
		if(e[i].id!=null && ind==0)
		{
			var bulletObj=MM_findObj("bullet"+e[i].id);
			//if(readCookie(module+e[i].id)==e[i].id+"show" )
			if(val!=null && val=='show')
			{
				eval("e[i].style.display = 'block';");
				bulletObj.src="/images/threadcollapse.gif";
			}
			else if(val!=null && val=='hide')
			//if(readCookie(module+e[i].id)==e[i].id+"hide" )
			{
				eval("e[i].style.display = 'none';");
				bulletObj.src="/images/threadexpand.gif";
			}
		}
	}
}

function copyListValues(formName,from,to)
{
	fromList = eval('document.'+formName+'.'+ from);
	toList = eval('document.'+formName+'.'+ to);
	
	if (toList.options.length > 0 && toList.options[0].value == '0')
	{
		toList.options.length = 0;
	}
	var sel = false;
	for (i=0;i<fromList.options.length;i++)
	{
		var current = fromList.options[i];
		if (current.selected)
		{
			sel = true;
			if (current.value == '0')
			{
				alert (document.getElementById('invalidselection').value);
				return;
			}
			txt = current.text;
			val = current.value;
			len = toList.length;
			var present = false;
			for (role=0;role<len;role++)
			{
				if(current.value == toList.options[role].value)
				{
					present = true;
					break;
				}
				else
				{
					continue;
				}
			}
			if(!present)
			{
				toList.options[toList.length] = new Option(txt,val);
			}
			fromList.options[i] = null;
			i--;
		}
	}
	if (!sel) alert (document.getElementById('noselection').value);
}
function addIt(picklist,tf)
{
 /* uncomment this to see what it is adding as it is adding it */
 /* alert(picklist.picklist1.options.length+"\n"+picklist.t1.value+"\n"+picklist.t0.value); */

    // empty items cannot be added..
    if(tf.value == "")
    {
        return false;
    }

 var NI = picklist.options.length++;
picklist.options[NI].text=tf.value;
tf.value = "";
return true;
//document.udf.picklist1.options[NI].value=document.udf.t0.value;
}
/*function showIt()
{
  var SI = document.udf.picklist1.selectedIndex;
  var ST = document.udf.picklist1.options[SI].text;
//  var SV = document.udf.picklist1.options[SI].value;
  alert("Selected Index="+SI+"\nSelected Text="+ST+"\nSelected Value="+SV);
}*/

function deSelect(picklist)
{
if(picklist.selectedIndex>=0)
    picklist.selectedIndex = -1;
else
    alert(document.getElementById('noselection').value);
}


function removeFromList(listField) {
   if ( listField.length == -1) {  // If the list is empty
      alert(document.getElementById('nopicklist').value);
   } else {
      var selected = listField.selectedIndex;
      if (selected == -1) {
         alert(document.getElementById('choosepicklist').value);
      } else {  // Build arrays with the text and values to remain
         var replaceTextArray = new Array(listField.length-1);
         var replaceValueArray = new Array(listField.length-1);
         for (var i = 0; i < listField.length; i++) {
            // Put everything except the selected one into the array
            if ( i < selected) { replaceTextArray[i] = listField.options[i].text; }
            if ( i > selected ) { replaceTextArray[i-1] = listField.options[i].text; }
            if ( i < selected) { replaceValueArray[i] = listField.options[i].value; }
            if ( i > selected ) { replaceValueArray[i-1] = listField.options[i].value; }
         }
         listField.length = replaceTextArray.length;  // Shorten the input list
         for (i = 0; i < replaceTextArray.length; i++) { // Put the array back into the list
            listField.options[i].value = replaceValueArray[i];
            listField.options[i].text = replaceTextArray[i];
         }
      } // Ends the check to make sure something was selected
   } // Ends the check for there being none in the list
}


function chooseType(toShow,toHide1,toHide2)
{
   var idToShow = document.getElementById(toShow);
   var idToHide1 = document.getElementById(toHide1);
   var idToHide2 = document.getElementById(toHide2);

   eval("idToShow.style.display = 'block';");
   eval("idToHide1.style.display = 'none';");
   eval("idToHide2.style.display = 'none';");


   var module = document.getElementsByName("tabName")[0].value;  
//   var userID = document.getElementsByName("loggedUserID")[0].value;

//   createCookie(module+toShow, toShow+'show', 30);
//   createCookie(module+toHide1, toHide1+'hide', 30);
//   createCookie(module+toHide2, toHide2+'hide', 30);
}

function selectArowAlone(elementId, onclass, offclass)
{
	var eid = document.getElementById(elementId);
	var eObj=MM_findObj(eid.id);
	if(eObj.className==onclass)
		eObj.className=offclass;
	else
		eObj.className=onclass;
}



function selectArowAndCheck(string,elementId, onclass, offclass,quantity)
{
	var eid = document.getElementById(elementId);
	var roweid = document.getElementById("row"+elementId);
	var eObj=MM_findObj(roweid.id);

	if (string.indexOf("quanedit") == -1)
	{
		eid.checked = true;
		eObj.className=onclass;
	}
	else
	{
		eid.checked = false;
		eObj.className=offclass;
		document.getElementById("QuanOf"+elementId).value=quantity;
	}
}






function checkAll(thisForm, checkBoxCompName)
{
	toSelectAll = false;
	if(thisForm.CheckAllItems.checked)
	{
		toSelectAll = true;
	}
	var count =0;
	for(var i=0; i<thisForm.elements.length; i++)
	{
		if(thisForm.elements[i].type == checkBoxCompName)
		{
			thisForm.elements[i].checked = toSelectAll;
			var e = thisForm.elements[i].getAttribute("id");
			if(e  == "RememberMe327")
			{
				continue;
			}
			if (count%2 == 0)
			{
				if (toSelectAll)
				{
					//selectArow("row"+ e , 'rowHiliteb', 'rowoddn');
					selectArow("row"+ e , 'rowHiliteb');
				}
				else
				{
					//selectArow("row"+ e , 'rowoddn','rowHiliteb');
					selectArow("row"+ e , 'rowoddn');
				}
			}
			else
			{
				if (toSelectAll)
				{
					//selectArow("row"+e, 'rowHiliteb', 'rowevenn');
					selectArow("row"+e, 'rowHiliteb');
				}
				else
				{
					//selectArow("row"+e, 'rowevenn','rowHiliteb');
					selectArow("row"+e, 'rowevenn');
				}
			}
			count = count + 1;
		}
	}
}

function selectArow(elementId, onclass)
{
	var eid = document.getElementById(elementId);
	var eObj=MM_findObj(eid.id);
	eObj.className=onclass;
}


function checkValue(thisForm,quanAvailable,elementId,itemName)
{
	var eid = document.getElementById(elementId);
	var eidVal = eid.value;
	if (eidVal == 0)
    	{
        	alert(document.getElementById('zeroitems').value);
	        eid.value = quanAvailable;
        	eid.focus();
    	}
	var quantityAvailable = parseInt(quanAvailable);
	if (eidVal > quantityAvailable)
	{
		alert("Only "+quanAvailable+" of the item "+itemName+" are yet to be received");
		eid.value = quanAvailable;
		eid.focus();
	}

}

// I18N functions
/**
 *
 */
function loadMessageForKeys(keysList) {
	var xmlHttp = getXMLHttpRequest();
	var url = "/jsp/FetchMessage.jsp?";
	for(var i=0; i<keysList.length; i++) {
		url = url + "KEY=" + keysList[i] + "&";
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState == 4) {
			var newObj = document.createElement("DIV");
			if(browser_ie){
				newObj.style.display = "none";
			}
			else if (browser_nn4 || browser_nn6){
				newObj.setAttribute("style","display:none;");
			}
			document.body.appendChild(newObj);
			newObj.innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.send(null);
}

/**
 *
 */
function getMessageForKey(key) {
	var divObj = document.getElementById(key);
	if(divObj != null) {
		return divObj.innerHTML;
	}
	return key;
}

function showAll(elementId, elementName)
{
	var elements = document.getElementsByTagName(elementName);
	var isFirst = true;
	var firstId = null;
	for(var i=0; i<elements.length; i++) {
		if(elements[i].id != null && elements[i].id.indexOf(elementId) >= 0 ){
			if(isFirst) {
				isFirst = false;
				firstId = elements[i];
			}
			var selRowObj = elements[i];
			var gName = elements[i].id;
			var bulletObj=MM_findObj("bullet"+gName);
			selRowObj.className = 'show';
			if(bulletObj != null){
				bulletObj.src="/images/threadcollapse.gif";
			}
		}
	}
	new Effect.ScrollTo(firstId);
}

function hideAll(elementId, elementName)
{
	var elements = document.getElementsByTagName(elementName);
	for(var i=0; i<elements.length; i++) {
		if(elements[i].id != null && elements[i].id.indexOf(elementId) >= 0 ){
			var selRowObj = elements[i];
			var gName = elements[i].id;
			var bulletObj=MM_findObj("bullet"+gName);
			selRowObj.className = 'hide';
			if(bulletObj != null){
				bulletObj.src="/images/threadexpand.gif";
			}
		}
	}
}

var mcTableKeys = new Array('sdp.leftpanel.search.title','sdp.leftpanel.search.go');

function setSearchTitle(title, val) {
       for(var i=0; i<document.forms.length;i++) {
                var formObj = document.forms[i];
                for(var j=0; j<formObj.elements.length;j++) {
                        var element = formObj.elements[j];
                        if(element.name == "searchSubmit") {
                                element.title= title;
                                element.value= val;
                        }
                }
        }
}

function historyShowhide(gName)
{
	var selRowObj = document.getElementById("HIST_" + gName);
	var textC = document.getElementById("HTC_" + gName);
	var textE = document.getElementById("HTE_" + gName);
	if (selRowObj.className == 'hide')     
	{
		selRowObj.className = 'show';
		textC.className = 'show';
		textE.className = 'hide';
	}
	else if(selRowObj.className == 'show')     
	{
		selRowObj.className = 'hide';
		textC.className = 'hide';
		textE.className = 'show';
	}
	else if(selRowObj.className == '')      
	{
		selRowObj.className = 'show';
		textC.className = 'show';
		textE.className = 'hide';
	}
}

function loadChineseStyle(win) {
        var xmlHttp = getXMLHttpRequest();
        var url = "/jsp/LoadStyle.jsp?";
        xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState == 4) {
			var elems = win.document.getElementsByTagName("link");
			if(xmlHttp.responseText.indexOf("style") >= 0) {
				for(var i=0; i<elems.length;i++) {
					var linkEl = elems[i];
					if(linkEl.href.indexOf('/style/style.css') >= 0) {
						//linkEl.href = '/style/style_zh.css';//xmlHttp.responseText; 
						linkEl.href = xmlHttp.responseText; 
						//break;	
					}
				}
			}
		}
	}
        xmlHttp.send(null);
}

function getXMLHttpRequest(){
        var xmlhttp=false;
        try {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
                try {
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (E) {
                        xmlhttp = false;
                }
        }
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
}
function accordion(toShow,toHide1,toHide2)
{
   var idToShow = document.getElementById(toShow);
   var idToHide1 = document.getElementById(toHide1);
   var idToHide2 = document.getElementById(toHide2);
   //var idToHide3 = document.getElementById(toHide3);
   
   eval("idToShow.style.display = 'block';");
   //eval("idToShow.style.height = '300px';");
   eval("idToShow.style.overflow = 'auto';");

   eval("idToHide1.style.display = 'none';");
   eval("idToHide2.style.display = 'none';");
   //eval("idToHide3.style.display = 'none';");

   //var module = document.getElementsByName("module")[0].value;   
//   var userID = document.getElementsByName("loggedUserID")[0].value;

   //createCookie(module+toShow, toShow+'show', 30);
   //createCookie(module+toHide1, toHide1+'hide', 30);
   //createCookie(module+toHide2, toHide2+'hide', 30);
   //createCookie(module+toHide3, toHide3+'hide', 30);
}



function accordionState()
{
	window.name="main";
	var e=document.getElementsByTagName("div");
	var module = document.getElementsByName("module")[0].value;
//	var userID = document.getElementsByName("loggedUserID")[0].value;
	for(var i=0;i<e.length;i++)
	{
		if(e[i].id!=null)
		{

			if(readCookie(module+e[i].id)==e[i].id+"show" )
			{
				eval("e[i].style.display = 'block';");
				eval("e[i].style.height = '300px';");
				eval("e[i].style.overflow = 'auto';");


				
			}
			if(readCookie(module+e[i].id)==e[i].id+"hide" )
			{
				eval("e[i].style.display = 'none';");
			}
		}
	}
}

function constructActionBar() {
        if (document.all&&document.getElementById) {
                var ulelems = document.getElementsByTagName("ul");
                for(var k=0; k<ulelems.length; k++) {
                        if(ulelems[k].id == 'nav') {
                                navRoot = ulelems[k];
                                for (i=0; i<navRoot.childNodes.length; i++) {
                                        node = navRoot.childNodes[i];
                                        if (node.nodeName=="LI") {
                                                node.onmouseover=function() {
                                                        this.className+=" over";
                                                }
                                                node.onmouseout=function() {
                                                        this.className=this.className.replace(" over", "");
                                                }
                                        }
                                }
                        }
                }
        }
}

function checkApprovalForm(formObj) {
	var mailIds = trimAll(formObj.TO.value);
	if(mailIds == "" || mailIds == null)
	{
		alert(getMessageForKey("sdp.emailcheck.mailjserror"));
		formObj.TO.focus();
		return false;
	}
	if(mailIds.indexOf(";") > 0) {
		mailIds = mailIds.replace(/\;/g,",");
		formObj.TO.value = mailIds;
	}
	var mails = mailIds.split(",");
	for(var i = 0; i < mails.length; i++) {
		var index1 = trimAll(mails[i]).indexOf("@");
		var index2 = trimAll(mails[i]).indexOf(".");
		if(index1 < 0 || index2 < 0) {
			alert(getMessageForKey("sdp.emailcheck.invalidmailjserror"));
			formObj.TO.focus();
			return false;
		}
	}

	var apprDesc = parent['editor'].getHTML();
	if(apprDesc.indexOf("$ApprovalLink") < 0) {
		alert(getMessageForKey("sdp.approve.linkerror"));
		return false;
	}
        formObj.DESCRIPTION.value = parent["editor"].getHTML();
	formObj.submit();
	return true;
}

function changeNotificationTab(id, id1, id2, params){
        document.getElementById(id).className = "show";
        document.getElementById(id + "_tab").className = "subtabon";
        document.getElementById(id1).className = "hide";
        document.getElementById(id1 + "_tab").className = "subtaboff";
        document.getElementById(id2).className = "hide";
        document.getElementById(id2 + "_tab").className = "subtaboff";
        if(id == "problem") {
                window.frames['NotFrame'].location.href = "/setup/ProblemNotifications.jsp";
        }
        if(id == "change") {
		window.frames['NotFrame'].location.href = "/setup/ChangeNotifications.jsp";
        }
}

/**
 * Used to switch the selection in a checkbox by using a nearby image. Any
 * linked enabling or disabling can also be done. The field to be enabled
 * should be specified using the notType argument. The constraint here is that
 * the image should have an id like <fieldName>_IMG.
 * The parents to be chosen while selecting a child
 * should be specified as an array to the linkedParentsToOpen argument and the
 * childs to be closed while closing a parent should be specified using the
 * linkedChildsToClose argument.
 *
 * @notType	DOM id of the field Name to be checked/unchecked
 * @linkedParentsToOpen	array of DOM id of the parents to be checked along with the current child.
 * @linkedChildsToClose	array of DOM id of the childs to be unchecked along with the current parent.
 * 
 * for onclick event. No onChange event for checkbox in IE*/
function changeNotificationSelection(notType, linkedParentsToOpen, linkedChildsToClose) {
    //alert("changeNotificationSelection");
    //alert("checked:"+$(notType).checked);
	if(document.getElementById(notType) != null && document.getElementById(notType).checked) {
        document.getElementById(notType).checked = false;
        document.getElementById(notType+"_IMG").src = "/images/checked_no.gif";
		if(linkedChildsToClose != null) {
			for(var i=0; i<linkedChildsToClose.length; i++) {
				document.getElementById(linkedChildsToClose[i]).checked = false;
                document.getElementById(linkedChildsToClose[i]+"_IMG").src = "/images/checked_no.gif";
			}
		}
    }
    else {
        document.getElementById(notType).checked = true;
        document.getElementById(notType+"_IMG").src = "/images/checked_yes.gif";
        if(linkedParentsToOpen != null) {
            for(var i=0; i<linkedParentsToOpen.length; i++) {
                document.getElementById(linkedParentsToOpen[i]).checked = true;
                document.getElementById(linkedParentsToOpen[i]+"_IMG").src = "/images/checked_yes.gif";
            }
        }
    }
}



function populateCategory(catObj,subCatObj,itemObj, catId, subCatId, itemId) {
    var catRows = parent["CAT_LIST"];
    for(var categoryId in catRows) {
        var catName = catRows[categoryId];
        catObj.options[catObj.options.length] = new Option(catName, categoryId, true, false);
        if(catId != null && catId == categoryId) {
            catObj.options[catObj.options.length - 1].selected = true;
        }
    }
    if(subCatId != null )
    {
        populateSubCategory(catObj,subCatObj,itemObj, catId, subCatId, itemId);
    }
}

function populateSubCategory(catObj,subCatObj,itemObj, catId, subCatId, itemId) {
    //console.debug("itemObj:",itemObj);
    if(subCatObj == null || subCatObj.options == null)
    {
        return;
    }
    //alert("called:"+itemObj);
    var catId = catObj.value;
    for(var j = 0; j < subCatObj.options.length; j++) {
        if(subCatObj.options[j].value != "0" && subCatObj.options[j].value != "-1") {
            subCatObj.options[j] = null;
            j--;
        }
    }
    var itemObj = itemObj;
    if(itemObj != null && itemObj.options != null)
    {
        for(var j = 0; j < itemObj.options.length; j++) {
            if(itemObj.options[j].value != "0" && itemObj.options[j].value != "-1") {
                itemObj.options[j] = null;
                j--;
            }
        }
    }
    
    if(catId == "0") {
        for(var j = 0; j < subCatObj.options.length; j++) {
            if(subCatObj.options[j].value == "0") {
                subCatObj.options[j].selected = true;
            }
        }
        if(itemObj != null && itemObj.options != null)
        {
            for(var j = 0; j < itemObj.options.length; j++) {
                if(itemObj.options[j].value == "0") {
                    itemObj.options[j].selected = true;
                }
            }
        }
        //subCatObj.options[0].selected = true;
        //itemObj.options[0].selected = true;
        return;
    }
    var catRows = parent["CAT_" + catId];
    if(catRows == null) {
        var xmlHttp = getXMLHttpRequest();
        xmlHttp.open("GET", "/workorder/GetCSIList.jsp?TYPE=SUBCAT&CATEGORYID=" + catId, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                var catDiv = document.getElementById("SUBCAT_DIV");
                if (catDiv  == null) {
                    catDiv = document.createElement("DIV");
                    catDiv.id = "SUBCAT_DIV";
                    document.body.appendChild(catDiv);
                }
                catDiv.innerHTML = xmlHttp.responseText;
                var scripts = catDiv.getElementsByTagName("script");
                for(var i=0; i<scripts.length; i++) {
                    eval(scripts[i].innerHTML);
                }
                catRows = parent["CAT_" + catId];
                populateCSIList(subCatObj, catRows, subCatId);
                if(itemId != null)
                {
                    populateItem(catObj,subCatObj,itemObj, catId, subCatId, itemId);
                }
            }
        }
        xmlHttp.send(null);
    }
    else {
        populateCSIList(subCatObj, catRows, subCatId);
        if(itemId != null)
        {
            populateItem(catObj,subCatObj,itemObj, catId, subCatId, itemId);
        }
    }
}

function populateItem(catObj,subCatObj,itemObj, catId, subCatId, itemId) {
    if(itemObj == null || itemObj.options == null)
    {
        return;
    }
    var subCatId = subCatObj.value;
    for(var j = 0; j < itemObj.options.length; j++) {
        if(itemObj.options[j].value != "0" && itemObj.options[j].value != "-1") {
            itemObj.options[j] = null;
            j--;
        }
    }
    if(subCatId == "0") {
        for(var j = 0; j < itemObj.options.length; j++) {
            if(itemObj.options[j].value == "0") {
                itemObj.options[j].selected = true;
            }
        }
        //itemObj.options[0].selected = true;
        return;
    }
    var subCatRows = parent["SUBCAT_" + subCatId];
    if(subCatRows == null) {
        var xmlHttp = getXMLHttpRequest();
        xmlHttp.open("GET", "/workorder/GetCSIList.jsp?TYPE=ITEM&SUBCATEGORYID=" + subCatId, true);
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                var itemDiv = document.getElementById("ITEM_DIV");
                if (itemDiv  == null) {
                    itemDiv = document.createElement("DIV");
                    itemDiv.id = "ITEM_DIV";
                    document.body.appendChild(itemDiv);
                }
                itemDiv.innerHTML = xmlHttp.responseText;
                var scripts = itemDiv.getElementsByTagName("script");
                for(var i=0; i<scripts.length; i++) {
                    eval(scripts[i].innerHTML);
                }
                subCatRows = parent["SUBCAT_" + subCatId];
                populateCSIList(itemObj, subCatRows, itemId);
            }
        }
        xmlHttp.send(null);
    }
	else {
        populateCSIList(itemObj, subCatRows, itemId);
    }
}

function populateCSIList(selObj, rows, checkId) {
    for(var i in rows) {
        var catName = rows[i];
        selObj.options[selObj.options.length] = new Option(catName, i, true, false);
        if(checkId != null && checkId == i) {
            selObj.options[selObj.options.length - 1].selected = true;
        }
    }
}

function highlight(divClass) {
        $$(divClass).each( function(e) { e.visualEffect('highlight',{duration:3,startcolor:"#48FF48",endcolor:"#E5EDE6"}) })
}

function confBulkOperation(type,commonList) {
        var formObj = document.ConfListForm;
        var selVals = getSelectedCheckBoxes(document.ConfListForm);
        if(selVals.length == 0) {
                alert(getMessageForKey("sdp.setup.stage.selectone"));
                return;
        }
	if(type == "DELETE") {
		var result = confirm(getMessageForKey("sdp.setup.stage.confirm"));
		if(!result) {
			return;
		}
	}
        var url = "/setup/CommonDef.jsp?TYPE=" + type+"&forwardTo="+commonList;
        for(var i = 0; i < selVals.length; i++) {
                url = url + "&COMMONID=" + selVals[i];
        }
        frames["CONF_FRAME"].location.href = url;
	invokeProgressIndicator('DeleteStage','sdp.common.delete');
return;
}

function validateConfForm(formObj) {
	var name = formObj.NAME.value;
	if(name == "") {
		alert(getMessageForKey("sdp.setup.stage.name"));
		return false;	
	}
	return handleStateForForm(formObj);
}

function showConfForm(commonList) {
        window.frames['CONF_FRAME'].location.href = "/setup/CommonDefForm.jsp?forwardTo="+commonList;
}
// TASKS RELATED METHODES STARTS HERE
function updateTaskDetailsView(selObj)
{
	
	var val = selObj.value;
	var reqParams = "";
	var prevParams = getState('ShowTaskDetails','_D_RP');
	if(prevParams != null) {
		reqParams = prevParams + "&TYPE=" + val+"&CHANGED=true";
	}
	else {
		reqParams = prevParams;
	}
	updateState('ShowTaskDetails','_D_RP',reqParams);
	refreshSubView('ShowTaskDetails');
	selectTaskView(selObj,selObj.value);	
}

function selectTaskView(selObj, type) {
	var options =  selObj.options;
	for(var i=0; i<options.length;i++) {
		if(options[i].value == type) {
			options[i].selected = true;
			
		}
	}
}



function taskDetailsOperation(type,frameName) {
	
        var formObj = document.TaskDetailsForm;
        var selVals = getSelectedCheckBoxes(document.TaskDetailsForm);
        if(selVals.length == 0) {
               	if(type == "DELETE"){
               	// alert(getMessageForKey("sdp.problem.error.selectone"));
			alert(document.getElementById("showalldelete").value);
                	return;
		}
		else {
			alert(document.getElementById("showallclose").value);
			return;
		}
        }
		if(type == "DELETE") {
		//	var result = confirm(getMessageForKey("sdp.problem.error.deleteproblemsconfirm"));
	var result = confirm(document.getElementById("showallconfirm").value);
			if(!result) {
				return;
			}
		}
        var url = "/tasks/TaskListBulkOperation.jsp?TYPE=" + type;
        for(var i = 0; i < selVals.length; i++) {
                url = url + "&TASKID=" + selVals[i];
        }
	if (frameName != null)
	{
		frames[frameName].location.href = url;	
	}
	else
	{	
        	frames["TaskFrame"].location.href = url;
	}
	var wait = document.getElementById('pleasewait').value;
        showDialog("<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td class='actiontooltipbg'><table border='0' cellspacing='0' cellpadding='0'><tr><td><img id='ProImage' src='../images/processing.gif' hspace='6' vspace='6'></td><td id='OperationStatus' class='tooltip_working'>"+wait+"</td></tr></table></td></tr></table>","position=relative,closeButton=no,left=-60,top=-75,srcElement=" + type);

}
// TASKS RELATED METHODS ENDS HERE


var css_browser_selector = function() {
        var
                ua=navigator.userAgent.toLowerCase(),
                is=function(t){ return ua.indexOf(t) != -1; },
                h=document.getElementsByTagName('html')[0],
                b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
                os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
        var c=b+os+' js';
        h.className += h.className?' '+c:c;
}();


function showMenuInDialog(holder, source) {
        var holderObj = document.getElementById(holder);
        var posX = findPosX(holderObj);
        var posY = findPosY(holderObj);
        var finalY = posY + holderObj.offsetHeight - document.body.scrollTop;
        showDialog(document.getElementById(source).innerHTML, 'position=absolute,closeButton=no,closeOnBodyClick=yes,left=' + posX + ',top=' + finalY);
}

function displayReminders(holder) {
        var holderObj = document.getElementById(holder);
        var posX = findPosX(holderObj);
        var posY = findPosY(holderObj);
        var finalX = posX + holderObj.offsetWidth - 331;
        showURLInDialog('/jsp/Reminder.jsp','closeButton=no,position=relative,closeOnBodyClick=yes');
}


function displayRoboQuestion(holder, questionPage, params) {
        var holderObj = document.getElementById(holder);
        var posX = findPosX(holderObj);
        var posY = findPosY(holderObj);
        var finalX = posX + holderObj.offsetWidth - 375;
        if(params == null)
        {
            showURLInDialog('/jsp/'+questionPage+'.jsp','position=absolute,width=400,left='+finalX+',top='+posY);
        }
        else
        {
            showURLInDialog('/jsp/'+questionPage+'.jsp?'+params,'position=absolute,width=400,left='+finalX+',top='+posY);
        }
}

/**
 * Invokes a progress indicator near the element specified by the source
 * attribute. The text to be displayed can be passed using the key attribute.
 * If not passed, this defaults to a string 'Processing. Please Wait', else the
 * i18ned values will be fetched using the getMessageForKey method. If source is passed
 * _____________________________
 * |                           |
 * --  -------------------------
 *   \/   
 * 
 * @source	the element id near which the indicator should be displayed.
 * @key		the key of the key to be displayed.
 * @type	progress | completed where for progress a processing image will
 * 		be dislpayed and for completed a tick image will be displayed.
 * @image	the url of the image that should be displayed. The url should
 * 		be relative to the context.
 */
function invokeProgressIndicator(source, key, type, imageUrl) {
	var reqType = 'progress';
	var image = '/images/processing.gif'; 
	var cssClass = 'shadow_tip';
	if(type != null && type == "completed") {
		reqType = 'completed';
		image = '/images/processing_done.gif';
	}
	if(key == null) {
		// The key to be shown is not passed. Kindly pass it. 
		// TODO: This should be removed during the release
		//alert("The key to be shown is not passed. Kindly pass it.");
	}
	if(source == null) {
		cssClass = 'shadow_ct';
	}
	if(imageUrl != null) {
		if(imageUrl == "no") {
			image = null;
		}
		else {
			image = imageUrl;
		}
	}	

	var outerTable = "<table width='100%' border=0 cellspacing=0 cellpadding=0 id=Actions_tool_tip><tr><td width=18 height=6 class=top_lt></td><td class=top_ct colspan=2></td><td class='top_ct'><a href='javascript:void(0);' onclick='closeDialog();'><img id=closeImg border=0 style=\"position:absolute; margin-left:-6px;\" src='/images/exit1.gif' hspace=6 vspace=6 ></a></td><td width=6 class=top_rt></td></tr><tr><td width=18 class=center_lt></td><td class=actions_color colspan=3>";
	var innerTable = "<table border=0 cellspacing=0 cellpadding=0><tr><td>";
	if(image != null) {
		innerTable = innerTable.concat("<img id=ProImage src='");
		innerTable = innerTable.concat(image);
		innerTable = innerTable.concat("' hspace=6 vspace=6>");
	}
	innerTable = innerTable.concat("</td><td id='OperationStatus' class=tooltip_working>&nbsp;</td></tr></table>");
	outerTable = outerTable.concat(innerTable);
	outerTable = outerTable.concat("</td><td class=center_rt>&nbsp;</td></tr><tr><td width=18 height=25 class=bottom_lt></td><td width=35 class=");
	outerTable = outerTable.concat(cssClass);
	outerTable = outerTable.concat("></td><td class=shadow_ct>&nbsp;</td><td width=7 class=shadow_lt></td><td width=6 class=bottom_rt></td></tr></table>");
	if(source != null) {
		var holderObj = document.getElementById(source);
		var posX = findPosX(holderObj);
		var posY = findPosY(holderObj);
		var finalY = posY - 60 - document.body.scrollTop;
		var finalX = posX - 35;
	//	new Effect.ScrollTo('SITE_LIST');
		showDialog(outerTable,"position=absolute,closeButton=no,width=250,left=" + finalX + ",top=" + finalY);
	}
	else {
		showDialog(outerTable,"position=absmiddle,closeButton=no,width=250");
	}
	// The Key is not set to the td while constructing itself, so that any
	// problems due to ' and " could be avoided while assigning then.
	document.getElementById('OperationStatus').innerHTML= getMessageForKey(key);
}

/**
 * Closes the progress indicator, after checking whether the operation is a
 * success or failure which should be indicated by the result parameter. The
 * text to be displayed can be specified through the key parameter. The
 * indicator will be closed after a time gap of 1sec.
 *
 * @key		The i18n key for the key.
 * @result	true | false [true]
 */
function closeProgressIndicator(key, result) {
	if(result == null) {
		result = true;
	}
	if(key == null) {
		// The key should be passed. Should be removed later.
		//alert("No key is specified while closing the indicator");
	}
	document.getElementById('OperationStatus').innerHTML = getMessageForKey(key);
	if(result) {
		document.getElementById('ProImage').src = "/images/processing_done.gif";
		setTimeout("parent.closeDialog();",1000);
	}
	else {
		document.getElementById('ProImage').src = "/images/invalidoperationicon.gif";
	}
}


var reqToProKeys = new Array('sdp.common.processing','sdp.common.processcomp');
var udfErrorKeys = new Array('sdp.jserror.requestcustomfields');

function selectRemDate( value ){
	var len = document.CUDTask.REMDATE.options.length;
	for( var i=0 ; i<len ; i++){
		var opt = document.CUDTask.REMDATE.options[i];
		if( opt.value == value){
			opt.selected = true;	
		}
	}
}

function selectStatus( value ){
	var len = document.CUDTask.STATUSID.options.length;
	for( var i=0 ; i<len ; i++){
		var opt = document.CUDTask.STATUSID.options[i];
		if( opt.value == value){
			opt.selected = true;	
		}
	}
}

function showMessageAndClose( value, timeout){
	invokeProgressIndicator(null,value,"completed");
	if(timeout == null)
    {
        setTimeout("closeDialog();", 2000);
    }
    else
    {
        setTimeout("closeDialog();", timeout);
    }
}

function showAttachedMessageAndClose(holder, value, timeout){
	invokeProgressIndicator(holder, value, "completed");
	setTimeout("closeDialog();",timeout);
}

function showFailureMessageAndClose(value, timeout){
	invokeProgressIndicator(null, value, "completed", '/images/invalidoperationicon.gif');
    if(timeout == null)
    {
        setTimeout("closeDialog();", 2000);
    }
    else
    {
        setTimeout("closeDialog();", timeout);
    }
}

// Methods for Site Definition screen in Setup.
// Start
function showSiteForm() {
        window.frames['SITE_FRAME'].location.href = "/SiteDefForm.do";
}

function siteBulkOperation(type) {
        var formObj = document.SiteListForm;
        var selVals = getSelectedCheckBoxes(document.SiteListForm);
        if(selVals.length == 0) {
                alert(getMessageForKey("sdp.setup.site.selectone"));
                return;
        }
	if(type == "DELETE") {
		var result = confirm(getMessageForKey("sdp.setup.site.confirm"));
		if(!result) {
			return;
		}
	}
        var url = "/SiteDefForm.do?TYPE=" + type;
        for(var i = 0; i < selVals.length; i++) {
                url = url + "&SITEID=" + selVals[i];
        }
        frames["SITE_FRAME"].location.href = url;
	invokeProgressIndicator('DeleteSite', "sdp.common.processing");
	return;
}
// End

// Methods for the clock in the bar below the main tabs
// Start
function TimeTick()
{
	time = time+1000;
	if(rTimer) {
		clearTimeout(rTimer);
	}
	rTimer = setTimeout('TimeTick()', 1000);
}

function updateClock()
{
	var date = new Date();
	date.setTime(time);
	var min = date.getMinutes();
	var hrs = date.getHours();
	var sec = date.getSeconds();
	if(min <= 9) {
		min = "0" + min;
	}
	if(hrs <= 9) {
		hrs = "0" + hrs;
	}
	if(sec <= 9) {
		sec = "0" + sec;
	}
	document.getElementById('Timer').innerHTML=date.getDate() + " " + monthMap[date.getMonth()] + " " + date.getFullYear() + ", "+ hrs+" : "+ min + " : "+sec;
	if(uTimer)
	{
		clearTimeout(uTimer);
	}
	uTimer = setTimeout('updateClock()', 1000);
}

var time = 0;
var rTimer,uTimer;
var monthMap = new Object();

function displayClock(curTime) {
	time = curTime;
	monthMap["0"] = "Jan";
	monthMap["1"] = "Feb";
	monthMap["2"] = "Mar";
	monthMap["3"] = "Apr";
	monthMap["4"] = "May";
	monthMap["5"] = "Jun";
	monthMap["6"] = "Jul";
	monthMap["7"] = "Aug";
	monthMap["8"] = "Sep";
	monthMap["9"] = "Oct";
	monthMap["10"] = "Nov";
	monthMap["11"] = "Dec";
	TimeTick();
	updateClock();
}
// End

// Methods for Keep me signed in. Moved from Header.jspf file
// Start
function signedIn()
{
    //alert("signed in");
    var sso = null;
    sso = getCookie("singlesignon");
    if(sso!=null)
    {
        var expDate = new Date();
        expDate.setTime(expDate.getTime()+(24*60*60*1000*365));
        var sin="true";
        document.cookie="signedin= "+ sin +";expires= "+((expDate).toGMTString());
    }
}

function preLogout()
{
    deleteCookie("singlesignon");
    deleteCookie("username");
    deleteCookie("password");
    deleteCookie("signedin");
    //alert(document.cookie);
    window.location="jsp/Logout.jsp";
}
// End

//Method for converting the long date value to time in seconds.
//start
function getLongDate(date){
	var tmp = date.split(",");
	var tmp1 = tmp[0].split(" ");
	var tmp2 = tmp[1].split(":");

	var dt = new Date();
	dt.setYear(tmp1[2]);
	dt.setMonth(intMonth(tmp[1]));
	dt.setDate(tmp1[0]);
	dt.setHours(tmp2[0]);
	dt.setMinutes(tmp2[1]);
	dt.setSeconds(0);
	return dt.getTime();
}

function intMonth(month){
	if( month = 'Jan'){
		return 0;
	}if( month = 'Feb'){
		return 1;
	}
	if( month = 'Mar'){
		return 2;
	}
	if( month = 'Apr'){
		return 3;
	}
	if( month = 'May'){
		return 4;
	}
	if( month = 'Jun'){
		return 5;
	}
	if( month = 'Jul'){
		return 6;
	}
	if( month = 'Aug'){
		return 7;
	}
	if( month = 'Sep'){
		return 8;
	}
	if( month = 'Oct'){
		return 9;
	}
	if( month = 'Nov'){
		return 10;
	}
	if( month = 'Dec'){
		return 11;
	}
}

function reminderDateCheck(formObj){
	var date1Value = formObj.date1.value;
	var time1Value = formObj.time1.value;
	var date2Value = formObj.date2.value;

	if(date1Value != "")
	{	
		var dt = new Date();
		var tmp = date1Value.split("-");
		var tmp1 = time1Value.split(" ");
		var tmp2 = tmp1[0].split(":");
		dt.setYear(tmp[0]);
		dt.setMonth(tmp[1]-1);
		dt.setDate(tmp[2]);
		if(tmp1[1] == "AM"){
			dt.setHours(tmp2[0]);
		}
		if(tmp1[1] == "PM"){
			if(tmp2[0] != "12"){
				var xyz = parseInt(tmp2[0])+12;
				dt.setHours(xyz);
			}
			else{
				dt.setHours(12);
			}
		}
		dt.setMinutes(tmp2[1]);
		dt.setSeconds(0);
		dt.getTime();
		if( dt.getTime() < serverdt.getTime()){
			alert(getMessageForKey("sdp.reminder.currenttimeerr"));
			return false;
		}
		if(date2Value != "0"){
			var datedt = dt.getTime() - date2Value;
			if( datedt < serverdt.getTime()){
				alert(getMessageForKey("sdp.reminder.remtimeerr"));
				return false;
			}

		}
	}
	return true;
}


function customerSelectQuickCreate()
{
	var element = document.getElementById("showacDropdownquickreq");
	var elementarrow = document.getElementById("custarrowpull");	
	if(element.style.visibility == 'visible')
	{		
		eval("element.style.visibility = 'hidden';");
		elementarrow.className= "combo_arrow";		
	}
	else
	{
		url = "/servlet/ClientUtilServlet?action=searchAllCust&from=request";
	
		if (window.XMLHttpRequest)
		{ // Non-IE browsers
			req = new XMLHttpRequest();
			if(req)
			{
				try
				{
					req.onreadystatechange = processcustomerSelectQuickCreate;
					req.open("GET", url, true);
				} 
				catch (e) 
				{
					alert(e);
				}
				req.send(null);
			}
		} 
		else if (window.ActiveXObject)  // IE
		{
			try
			{
				req = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e)
			{
				alert("ee "+e);
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			if (req) 
			{
				req.onreadystatechange = processcustomerSelectQuickCreate;
				try
				{
					req.open("GET", url, true);
				}
				catch(e)
				{
					alert(e);
				}
				req.send(null);
			}
		}
	}
}

function processcustomerSelectQuickCreate()
{
	if (req.readyState == 4)
	{ // Complete
		if (req.status == 200)
		{ // OK response
			var valueUser = req.responseText;
			if (document.getElementById) // Netscape 6 and IE 5+
			{	
				var element = document.getElementById("showacDropdownquickreq");
				var elementarrow = document.getElementById("custarrowpull");				
				if(element.style.visibility == 'visible')
				{	elementarrow.className= "combo_arrow";	
					eval("element.style.visibility = 'hidden';");			
				}
				else if(element.style.display == '')
				{
					elementarrow.className= "combo_arrowhovr";
					element.innerHTML = valueUser;
					eval("element.style.visibility = 'visible';");
				}
			}
			
		} 
		else 
		{
			alert("Problem: " + req.statusText);
		}
	}
}

function setQuickCreateCust(dropDownValue)
{
	var element = document.getElementById("customerName");
	var dropdownelement = document.getElementById("showacDropdownquickreq");
	var elementarrow = document.getElementById("custarrowpull");
	element.value = dropDownValue;	
	elementarrow.className= "combo_arrow";
	eval("dropdownelement.style.visibility = 'hidden';");
}

function fillContactDetails()
{
	var reqName = document.getElementById("reqSearch").value;
	if(reqName == "")
	{
		var info = "<img src='images/contact_info_na.gif' width='23' height='16' hspace='0' vspace='0' border='0'>";
		var title = document.getElementById("info").value;
		var str = "<a href='javascript:void(0)' title='"+title+"'>"+info+"</a>";	
		document.getElementById("quickCreateReqInfo").innerHTML = str;
	}
	var userName = encodeURIComponent(reqName);
        var userID = document.getElementById("requesterID").value;
	url = "/servlet/AJaxServlet?action=getUserDetails&search="+userName+"&reqID="+userID;
	if (window.XMLHttpRequest)
	{ // Non-IE browsers
		req1 = new XMLHttpRequest();
		if(req1)
		{
			try
			{
				req1.onreadystatechange = processContactDetails;
				req1.open("GET", url, true);
			} 
			catch (e) 
			{
				alert(e);
			}
			req1.send(null);
		}
	} 
	else if (window.ActiveXObject)  // IE
	{
		try
		{
			req1 = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			alert("ee "+e);
			req1 = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (req1) 
		{
			req1.onreadystatechange = processContactDetails;
			try
			{
				req1.open("GET", url, true);
			}
			catch(e)
			{
				alert(e);
			}
			req1.send(null);
		}
	}
}

function processContactDetails()
{
	if (req1.readyState == 4)
	{ // Complete
		if (req1.status == 200)
		{ // OK response

			contactNumber = '';
			//dept = '';
            		acc = '';
	    		//subacc = '';
			email = '';
			mobile = '';
			var value = req1.responseText;

			len = value.length;
			index00 = value.indexOf("REQUESTERID");
			index01 = value.indexOf("REQUESTERIDEND");
			ind11 = value.indexOf("USER_CONTACT");
			//ind21 = value.indexOf("USER_DEPT");
            		ind21 = value.indexOf("USER_ACCOUNT");
	    		//ind31 = value.indexOf("USER_SUBACCOUNT");
			ind31 = value.indexOf("USER_EMAIL");
			ind41 = value.indexOf("USER_MOBILE");	
			var requestID = value.substring(index00+11,index01);
			if(ind11!=-1 && ind21==-1 && ind31==-1 && ind41==-1)
			{
				contactNumber = value.substring(ind11+12,len+1);
			}
			else if(ind11==-1 && ind21!=-1 && ind31==-1 && ind41==-1)
			{
				acc = value.substring(ind21+12,len+1);
			}
			else if(ind11==-1 && ind21==-1 && ind31!=-1 && ind41==-1)
			{
				email = value.substring(ind31+10,len+1);
			}
			else if(ind11==-1 && ind21==-1 && ind31==-1 && ind41!=-1)
			{
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11!=-1 && ind21!=-1 && ind31==-1 && ind41==-1)
			{
				contactNumber = value.substring(ind11+12,ind21);
				acc = value.substring(ind21+12,len+1);
			}
			else if(ind11!=-1 && ind21==-1 && ind31!=-1 && ind41==-1)
			{
				contactNumber = value.substring(ind11+12,ind31);
				email = value.substring(ind31+10,len+1);
			}
			else if(ind11!=-1 && ind21==-1 && ind31==-1 && ind41!=-1)
			{
				contactNumber = value.substring(ind11+12,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11==-1 && ind21!=-1 && ind31!=-1 && ind41==-1)
			{
				acc = value.substring(ind21+12,ind31);
				email = value.substring(ind31+10,len+1);
			}
			else if(ind11==-1 && ind21!=-1 && ind31==-1 && ind41!=-1)
			{
				acc = value.substring(ind21+12,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11==-1 && ind21==-1 && ind31!=-1 && ind41!=-1)
			{
				email = value.substring(ind31+10,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11!=-1 && ind21!=-1 && ind31!=-1 && ind41==-1)
			{
				contactNumber = value.substring(ind11+12,ind21);
				acc = value.substring(ind21+12,ind31);
				email = value.substring(ind31+10,len+1);
			}
			else if(ind11!=-1 && ind21!=-1 && ind31==-1 && ind41!=-1)
			{
				contactNumber = value.substring(ind11+12,ind21);
				acc = value.substring(ind21+12,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11!=-1 && ind21==-1 && ind31!=-1 && ind41!=-1)
			{
				contactNumber = value.substring(ind11+12,ind31);
				email = value.substring(ind31+10,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11==-1 && ind21!=-1 && ind31!=-1 && ind41!=-1)
			{
				acc = value.substring(ind21+12,ind31);
				email = value.substring(ind31+10,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			else if(ind11!=-1 && ind21!=-1 && ind31!=-1 && ind41!=-1)
			{
				contactNumber = value.substring(ind11+12,ind21);
				acc = value.substring(ind21+12,ind31);
				email = value.substring(ind31+10,ind41);
				mobile = value.substring(ind41+11,len+1);
			}
			document.getElementById("contactNoField").value = contactNumber;
			if(acc == null || acc == '')
			{
				document.getElementById("accountrow").style.display = "none";
				document.getElementById("editaccountrow").style.display = "block";
				document.getElementById('editAccountName').value="true";
				document.getElementById('customerName').value=""
			}
			else
			{
				document.getElementById("editaccountrow").style.display = "none";
				document.getElementById("accountrow").style.display = "block";
				document.getElementById("accountName").value = acc;
				document.getElementById('editAccountName').value="false";
			}
			//document.getElementById("customerName").value = acc;
			document.getElementById("mobile").value = mobile;
			document.getElementById("email").value = email;
			if(requestID != null && requestID != "" && requestID != "null")
			{
				var image = "<img src='images/contact_info.gif' width='23' height='16' hspace='0' vspace='0' border='0'>";
				var titletext = document.getElementById("info").value;
				var str1 = "<a href='javascript:void(0)' title='"+titletext+"' onclick=\"javascript:NewWindow('/ListRequests.do?id="+requestID+"&popUserDetails=true&mode=edit','UserDefined','800','350','yes','center')\" >"+image+"</a>";
				document.getElementById("quickCreateReqInfo").innerHTML = str1;
			}
			
		} 
		else 
		{
			alert("Problem: " + req1.statusText);
		}
	}
}

function setQuickReqID(dropDownValue,dropDownID)
{
	document.getElementById("reqSearch").value = dropDownValue;
	document.getElementById("requesterID").value = dropDownID;
	var info = "<img src='images/contact_info.gif' width='23' height='16' hspace='0' vspace='0' border='0'>";
	var title = document.getElementById("info").value;
	var str = "<a href='javascript:void(0)' title='"+title+"' onclick=\"javascript:NewWindow('/ListRequests.do?id="+dropDownID+"&popUserDetails=true&mode=edit','UserDefined','800','350','yes','center')\" >"+info+"</a>";
	document.getElementById("quickCreateReqInfo").innerHTML = str;
}
//End


var requestOne;
var ajax_request_id;
/*
 * Function for calling ajax request
 * @param url - request URL
 * @param params - request parameter(s)
 * @param requestID - to identify the ajax request
 * author Murugesan K
*/
function callAjaxRequest(url, params, requestID) {
	requestOne = getXMLHttpRequest();
	ajax_request_id = requestID;
	if(requestOne)
	{
		try
		{
			requestOne.open("POST", url, true);
			requestOne.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
			requestOne.setRequestHeader("Content-length", params.length);
			requestOne.onreadystatechange = updateAjaxRequest;
			requestOne.send(params);
		}
		catch(e)
		{
			alert("Error while sending the request : " + e.message);
		}
	}
}

/*
 * Function for calling sjax request [ Synchronous AJAX ]
 * @param url - request URL
 * @param params - request parameter(s)
 * author Murugesan K
*/
var srequestOne;
function callSjaxRequest(url, params) {
	srequestOne = getXMLHttpRequest();
	if(srequestOne)
	{
		try
		{
			srequestOne.open("POST", url, false);
			srequestOne.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
			srequestOne.setRequestHeader("Content-length", params.length);
			srequestOne.send(params);
			return srequestOne;
		}
		catch(e)
		{
			alert("Error while sending the request : " + e.message);
		}
	}
}

/*
 * Function for handling ajax response
 * This function will invoke the ajaxRequestOnSuccess function if the ajax request success else it will
 * invoke the ajaxRequestOnFailure
 * User(s) have to implement these functions and it will give the two parameter(s) one will contain respose object
 * and other will contain you ajax request identification number
 * @author Murugesan K
*/
function updateAjaxRequest() {
	// only if req shows "loaded"
	try {
		if (requestOne.readyState == 4) {
			if (requestOne.status == 200) {
				ajaxRequestOnSuccess(requestOne, ajax_request_id);
			}
			else {
				ajaxRequestOnFailure(requestOne, ajax_request_id);
			}
		}
	}
	catch(e) {
		alert("Error while fetching ajax response : " + e.message);
	}
}

/*
 * Function for constructing parameter name & value(s) for the requested form
 * @param formName - request parameter(s) to be constructed for the form name
 * @return this will return the chain of param name & value pair
*/
function constructParameters( formName ) {
	var params = "";
	try {
		var elements_list = formName.elements;
		var length = elements_list.length;
		var element_type;
		for( i=0; i<length; i++ ) {
			element_type = elements_list[i].type;
			if( element_type == 'textarea' || element_type == 'text' || element_type == 'select-one' || element_type == 'password' ) {
				params += "&" + elements_list[i].name + "=" + encodeURIComponent(elements_list[i].value);
			}
			else if( element_type == 'checkbox' && elements_list[i].checked ) {
				params += "&" + elements_list[i].name + "=" + encodeURIComponent(elements_list[i].value);
			}
			else if( element_type == 'select-multiple' ) {
				var size = elements_list[i].options.length;
				for( j=0 ;j<size; j++ ) {
					if( elements_list[i].options[j].selected) {
						params += "&" + elements_list[i].name + "=" + encodeURIComponent(elements_list[i].options[j].value);
					}
				}
			}
			else if( element_type == 'radio' )
			{
				if(elements_list[i].checked)
				{
					params += "&" + elements_list[i].name + "=" + encodeURIComponent(elements_list[i].value);
				}
			}
		}
	}
	catch(e) {
		alert( "Error while constructing request parameter : " + e.message );
	}
	return params;
}
