// xsltlib.js
function capitalize(obj){
	str = obj.value.toUpperCase();
	obj.value = str;
}

function copyFields() {
	if(document.getElementsByName("confirmCheck")[0].value == "true"){
		document.getElementsByName('PriLastNm')[0].value = document.getElementsByName('AppLastNm')[0].value;
		document.getElementsByName('PriFirstNm')[0].value = document.getElementsByName('AppFirstNm')[0].value;
//		document.getElementById('PriStreetLn1Nm').value = document.getElementById('AppStreetLn1Nm').value;
//		document.getElementById('PriStreetLn2Nm').value = document.getElementById('AppStreetLn2Nm').value;
//		document.getElementById('PriHomePhoneNo').value = document.getElementById('AppHomePhoneNo').value;
//		document.getElementById('PriEmailAddr').value = document.getElementById('AppEmailAddr').value;
		
		document.getElementsByName('PriLastNm')[0].readOnly = true;
		document.getElementsByName('PriFirstNm')[0].readOnly = true;
//		document.getElementById('PriStreetLn1Nm').readOnly = true;
//		document.getElementById('PriStreetLn2Nm').readOnly = true;
//		document.getElementById('PriHomePhoneNo').readOnly = true;
//		document.getElementById('PriEmailAddr').readOnly = true;
	}else{
	
		document.getElementsByName('PriLastNm')[0].readOnly = false;
		document.getElementsByName('PriFirstNm')[0].readOnly = false;
//		document.getElementById('PriStreetLn1Nm').readOnly = false;
//		document.getElementById('PriStreetLn2Nm').readOnly = false;
//		document.getElementById('PriHomePhoneNo').readOnly = false;
//		document.getElementById('PriEmailAddr').readOnly = false;
		
		document.getElementsByName('PriLastNm')[0].value = '';
		document.getElementsByName('PriFirstNm')[0].value = '';
//		document.getElementById('PriStreetLn1Nm').value = '';
//		document.getElementById('PriStreetLn2Nm').value = '';
//		document.getElementById('PriHomePhoneNo').value = '';
//		document.getElementById('PriEmailAddr').value = '';
	
	}
}

function displayPopup(id) {
	var obj = document.getElementById(id);
	if (obj!=undefined)  {
		obj.filters[2].Apply();
		obj.style.visibility="visible";
		obj.filters[2].Play();

    }
}

function hidePopup(id) {
	var obj = document.getElementById(id);
	if (obj!=undefined) obj.style.visibility="hidden";
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

// newFunction
function preview(xslfile, xmlfile) {
	var xml = new ActiveXObject("Microsoft.XMLDOM")
	xml.async = false
	xml.load("/workspace/cdp/webcontent/WEB-INF/xml/" + xmlfile)

// Load XSL
	var xsl = new ActiveXObject("Microsoft.XMLDOM")
	xsl.async = false
	xsl.load("/workspace/cdp/webcontent/WEB-INF/xsl/" + xslfile)

// Transform
	document.write(xml.transformNode(xsl))
}


var hoverBorderColor;

function hover (obj,id) {
	hoverBorderColor=obj.style.borderColor;
	obj.style.borderColor="red";
	obj.style.borderStyle="solid";
	var control= document.getElementById("control-"+id);
	control.style.visibility="visible";
	var info= document.getElementById("info-"+id);
	info.style.visibility="visible";
	
}

function unhover (obj,id) {
	obj.style.borderColor=hoverBorderColor;
	obj.style.borderStyle="dotted";
	var control= document.getElementById("control-"+id);
	control.style.visibility="hidden";
	var info= document.getElementById("info-"+id);
	info.style.visibility="hidden";
}

function hide(obj) {
	obj.style.visibility="hidden";
}

function zoomin(id) {
	var obj = document.getElementById(id);
	newZoom = parseInt(obj.style.zoom);
	if (newZoom<200)
 		newZoom= newZoom+10;
 	obj.style.zoom =newZoom+'%';
}

function zoomout(id) {
	var obj = document.getElementById(id);
	newZoom = parseInt(obj.style.zoom);
	if (newZoom>30)
 		newZoom= newZoom-10;
 	obj.style.zoom =newZoom+'%';
}

function toggleNotes(id){
	var obj = document.getElementById(id);
      
	if(obj.style.display!="none") 
		obj.style.display="none";
	else
		obj.style.display="block";
}

function toggleElement(id, img){
	var obj = document.getElementById(id);
      
	if(obj.style.display!="none") 
	{
		img.src='/icons/icn-arrow-down.png';
		obj.style.display="none";
	}
	else
	{
		img.src='/icons/icn-arrow-up.png';
		obj.style.display="block";
	}
}
   
function togglePanel(panel,shadow, img){
	var objpanel = document.getElementById(panel);
	var objshadow = document.getElementById(shadow);
      
	if(objpanel.style.left!='-280px'){
		img.src='/icons/expand.png';
		objpanel.style.left='-280px';
		objshadow.style.width='90px';
	}
	else {
		img.src='/icons/hide.png';
		objpanel.style.left='0px';
		objshadow.style.width='370px';
	}
}
   
function toggleEditor(editor,history,tasks, img){
	var objEditor = document.getElementById(editor);
	var objHistory = document.getElementById(history);
	var objTasks = document.getElementById(tasks);
	
	var e=window.event;
     
	if(e.clientX-img.style.left<40){
		img.src="/icons/tab-task.png";
		objEditor.style.display="none";
		objHistory.style.display="none";
		objTasks.style.display="block";
	}
	if(e.clientX-img.style.left>40 && e.clientX-img.style.left<80){
		img.src="/icons/tab-editor.png";
		objEditor.style.display="block";
		objHistory.style.display="none";
		objTasks.style.display="none";
	}
	if(e.clientX-img.style.left>80) {
		img.src='/icons/tab-history.png';
		objEditor.style.display="none";
		objHistory.style.display="block";
		objTasks.style.display="none";
	}
}   

function toggleSubPanel(item, img){
	var obj = document.getElementById(item);
	     
	if(obj.style.display!="none"){
		img.src="/icons/down-arrow.png";
		obj.style.display="none";
	}
	else {
		img.src='/icons/up-arrow.png';
		obj.style.display="block";
	}
}   

// encode a list box into a hidden text field, separated with semicolons
function encodeListBox(listBox,hiddenTextField) {

	var element	=document.getElementById(hiddenTextField);
	var	list 	=document.getElementById(listBox);

	var s="";
	for (var i = 0; i < list.length; i++) {
		s+=list.options[i].text+" :"+list.options[i].value+" ;";
	}
	element.value=s;
}


// based on the selected item in list box, populate label field
// and a variable number of other text boxex passed as optional
// params
function updateTextFields(listBoxId,labelTextId ) {
	var	list 	=document.getElementById(listBoxId);
	var label	=document.getElementById(labelTextId);
		
	var selected = list.selectedIndex;
	if (selected == -1) {
		return;
	} else {
		label.value = list.options[selected].text;
		var s = list.options[selected].value.split(":");
		for (var i=2; i<arguments.length; ++i) {
			var code = document.getElementById(arguments[i]);
			if (code!=undefined && s[i-2]!=undefined){
				code.value = s[i-2].trim();
			}
		}
	}	
}

// update the selected item in list box, with label field
// and a variable number of other text boxes passed as optional
// params that are encoded with ':' as separator
function updateList(listBoxId, hiddenTextFieldId, labelTextId ) {
	var label	=document.getElementById(labelTextId);
	var	list 	=document.getElementById(listBoxId);

	var selected = list.selectedIndex;
	if (selected == -1) {
		return;
	} else {
		list.options[selected].text = label.value ;
		var code="";
		for (var i=3; i<arguments.length; ++i) {
			code+=document.getElementById(arguments[i]).value;
			if (i<arguments.length-1) {
					code+=" :";
			}
		} 
		list.options[selected].value = code;
	}
   encodeListBox(listBoxId,hiddenTextFieldId);	
}

// add a new item in list box, with label field
// and a variable number of other text boxes passed as optional
// params that are encoded with ':' as separator
function addToList(listBoxId, hiddenTextFieldId, labelTextId) {

	var label 	=document.getElementById(labelTextId);
	var	list 	=document.getElementById(listBoxId);

		
	if (label.value == "" ) {
		return;
	} else {
		var len = list.length++;
		list.options[len].text = label.value;
		if (arguments.length==3) {
			// for the case when there is no code
			list.options[len].value = label.value;
		}
		else {
			var code="";
			for (var i=3; i<arguments.length; ++i) {
				code+=document.getElementById(arguments[i]).value;
				if (i<arguments.length-1) {
					code+=" :";
				}
			} 
			list.options[len].value = code;
		}
		list.selectedIndex = len; 
   }
   encodeListBox(listBoxId,hiddenTextFieldId);
}

function removeFromList(listBoxId,hiddenTextFieldId) {
	var	list 	=document.getElementById(listBoxId);
	if ( list.length == -1) {  
		return;
	} else {
		var selected = list.selectedIndex;
		if (selected == -1) {
			return;
		} else {
			var replaceTextArray = new Array(list.length-1);
			var replaceValueArray = new Array(list.length-1);
			var t=0;
			for (var i = 0; i < list.length; i++) {
				if (i==selected) continue;
	            replaceTextArray[t] = list.options[i].text; 
				replaceValueArray[t] = list.options[i].value;
				t++;
			}
			list.length = t;
			for (i = 0; i < t; i++) {
				list.options[i].value = replaceValueArray[i];
	            list.options[i].text = replaceTextArray[i];
			}
		} 
	} 
	encodeListBox(listBoxId,hiddenTextFieldId);
}

function setPhone(hiddenId, npa, nxx, ext) {
	var	hidden 	=document.getElementById(hiddenId);

	hidden.value=document.getElementById(npa).value+
			"-" + document.getElementById(nxx).value+
			"-" + document.getElementById(ext).value;

} 

function onlyNumbers(event){
	if (event.keyCode < 44 || event.keyCode > 57) event.returnValue = false;
}