//Javascrip Document
function goTo(url, addToHistory)
{
	if(addToHistory)
	{
		window.location.href=url;
	}
	else
	{
		window.location.replace(url);
	}
}
function askConfirmation(url, question)
{
	if(confirm(question))
	{
		goTo(url, 0);
	}
}
function doDelete(url, customQuestion)
{
	customQuestion = (customQuestion) ? customQuestion:"Are you sure you want to delete this record?";
	askConfirmation(url, customQuestion);
}
function popup(url, w, h, winName, location, toolbar, scrollBar, resizable)
{
	location = (location) ? ",location=yes":",location=no";
	toolbar = (toolbar) ? ",toolbar=yes":",toolbar=no";
	scrollBar = (scrollBar) ? ",scrollbars=yes":",scrollbars=no";
	resizable = (resizable) ? ",resizable=yes":",resizable=no";

	
	w=open(url,winName,'width='+w+',height=' + h + location + toolbar + scrollBar + resizable);
	
	if (w==null || typeof(w)=="undefined")
	{
		alert("A popup blocker has prevent this website\nfrom showing you relevant information.\nPlease allow popups for this site.");
	}
	else
	{
		w.focus();
	}
}
function deleteRecord(url, question)
{
	doDelete(url, question);
}
function clientStatusHelp()
{
	alert("Click on the status name to change it.\n\n"+
		"Active: is a client whose account was revised and was issued with a login/password\n" +
		"Registered: is a new client who does not have access to the client site\n" +
		"Suspended: is a client whose acount has been suspended and cannot access the client site");
}
function staffStatusHelp()
{
	alert("Active: is a staff whose account was revised and was issued with a login/password\n" +
		"On Leave: is a staff whose account has been disabled due to he/she has left the company\n" +
		"Suspended: is a client whose acount has been suspended and cannot access the client site");
}
function adminStatusHelp()
{
	alert("Active: site administrators cannot be disabled.");
}

function promptQuestion(url, fieldName, question)
{
	var question = (question) ? question:"Enter the data please";
	var data = prompt(question, "");

	if (data)
	{
		window.location.href = url+"&"+fieldName+"="+data;
	}
}

function showItemOptions(selectObj)
{
	var option = selectObj.options[selectObj.selectedIndex].value;

	var optionTRObj = document.getElementById('optionTR');

	if(optionTRObj)
	{
		if(option == "text")
		{
			optionTRObj.style.display = "none";
		}
		else if(option == "radio")
		{
			optionTRObj.style.display = "block";
		}
		else
		{
			optionTRObj.style.display = "none";
		}
	}
	else
	{
		alert("no object 'optionTR'");
	}
}
function selectAllBoxes(chkObj, classNameFlag)
{
	var formObj = chkObj.form;
	
	for(var i=0; i<formObj.elements.length; i++)
	{
		if(formObj.elements[i].type.toLowerCase() == "checkbox")
		{
			if(formObj.elements[i].className.toLowerCase() == classNameFlag.toLowerCase())
			{
				formObj.elements[i].checked = chkObj.checked;
			}
		}
	}
}
function selectAllBoxes2(formObj, classNameFlag, chkObj)
{
	var checkedValue = null;
	
	for(var i=0; i<formObj.elements.length; i++)
	{
		if(formObj.elements[i].type.toLowerCase() == "checkbox")
		{
			try
			{
				var classes = formObj.elements[i].className.toLowerCase().split(" ");		

				for(var j=0; j<classes.length; j++)
				{					
					//alert(classes[j] + " == " + classNameFlag.toLowerCase());
					if(classes[j] == classNameFlag.toLowerCase())
					{						
						if(checkedValue == null)
						{
							if(chkObj && chkObj.type == "checkbox")
							{
								checkedValue = !chkObj.checked;	
							}
							else
							{
								checkedValue = formObj.elements[i].checked;
							}														
						}
						
						formObj.elements[i].checked = !checkedValue;
					}
				}
			}
			catch(e)
			{
				alert(e.description)
			}
		}
	}
}


function reloadAndClose()
{
	if(window.opener)
	{
		window.opener.location.reload();
	}
	
	window.close();
}

function showHide(eleID)
{
	var ele = document.getElementById(eleID);

	if(ele)
	{
		ele.style.display = (ele.style.display == "none") ? "":"none";
	}
}
function swapCSSClass(obj, cssClass)
{
	if(obj)
	{
		obj.className = cssClass;
	}
}
function selectMenuItem(mItem, tab)
{
	itemObj = document.getElementById(mItem);
	if(itemObj)
	{
		itemObj.style.display = "block";

		tabObj = document.getElementById(tab);
		if(tabObj)
		{
			swapCSSClass(tabObj, 'navTabOn');
		}
	}
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
function itPassDateFieldValue(fieldObj, idStr)
{
	var idObj = document.getElementById(idStr);
	if(fieldObj && idObj)
	{
		if(fieldObj.value != "")
		{
			var strArr = fieldObj.value.split("-");
			idObj.innerHTML = strArr[2] + "/" + strArr[1] + "/" + strArr[0].substr(2, 2);
		}
		else
		{
			idObj.innerHTML = "";
		}
	}
}
function itConfirmAndSubmit(formObj, q)
{
	q = (q) ? q:"Are you sure you want to proceed?";
	if(confirm(q))
	{
		formObj.submit();
	}
}
function itConfirmDelete(formObj, delFlagStr, message)
{
	var agree = confirm("Are you sure you want to delete this " + message + "?");
	if(agree)
	{
		formObj[delFlagStr].value = 1;
		formObj.submit();
	}
}
function ismaxlength(obj){
	
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""

	if (obj.getAttribute && obj.value.length>mlength)
	{
		obj.value=obj.value.substring(0,mlength)
		document.getElementById("error200").style.display = "block";				
	}
}

function validate_date(l_date1, l_date2)
{
	//l_date1 op l_date2 return: -1 = minor 0=equal 1=major 
	sum=new Date(l_date1.substring(0,4),l_date1.substring(5,7)-1,l_date1.substring(8,10));
	//sum=new Date(l_date1.substring(6,10),l_date1.substring(3,5)-1,l_date1.substring(0,2)); format :'01/05/2008'
	var l_year=sum.getYear();
	var l_month =sum.getMonth()+1;
	var l_day =sum.getDate();
	
	sum2=new Date(l_date2.substring(0,4),l_date2.substring(5,7)-1,l_date2.substring(8,10));
	var l_year2=sum2.getYear();
	var l_month2 =sum2.getMonth()+1;
	var l_day2 =sum2.getDate();
	
	if(l_year < l_year2)return(-1);
	else if(l_year > l_year2)return(1);
	else if(l_month < l_month2)return(-1);
	else if(l_month > l_month2)return(1);
	else if(l_day < l_day2)return(-1);
	else if(l_day> l_day2)return(1);
	else return(0);
}

function IsNumber(sText)
	{
		   var ValidChars = "0123456789";
		   var IsNumber=true;
		   var Char;
		   for (i = 0; i < sText.length && IsNumber == true; i++)
			  {
			  Char = sText.charAt(i);
			  if (ValidChars.indexOf(Char) == -1)
				 {
				 IsNumber = false;
				 }
			  }
		   return IsNumber;
	}
function submitOnEnter(e)
	 {
            var ENTER_KEY = 13;
            var code = "";
      
            if (window.event) // IE
            {
                code = e.keyCode;
            }
            else if (e.which) // Netscape/Firefox/Opera
            {
                code = e.which;
            }
            
            if (code == ENTER_KEY) {
               			   
                return true;
            }else
			{
				return false ;	
			}
      }	
	  
function removespace(cad)
	{
		while (cad.indexOf(' ')==0)
		{
			cad=cad.substr(1,cad.length-1);
		}
		return cad
	}
	
function checkEmail(x)
	{
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if (filter.test(x))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
		
function getRadioButtonSelectedValue(ctrl)
	{
		for(i=0;i<ctrl.length;i++)
			if(ctrl[i].checked) return ctrl[i].value;
	} 

function popup2(url, w, h,left,top, winName, location, toolbar, scrollBar, resizable)
{
	location = (location) ? ",location=yes":",location=no";
	toolbar = (toolbar) ? ",toolbar=yes":",toolbar=no";
	scrollBar = (scrollBar) ? ",scrollbars=yes":",scrollbars=no";
	resizable = (resizable) ? ",resizable=yes":",resizable=no";

	w=open(url,winName,'width='+w+',height=' + h +',left='+ left +',top='+top+location + toolbar + scrollBar + resizable);
	
	if (w==null || typeof(w)=="undefined")
	{
		alert("A popup blocker has prevent this website\nfrom showing you relevant information.\nPlease allow popups for this site.");
	}
	else
	{
		w.focus();
	}
}

function res(t,v)
{
	var w = "";
	for (i=0; i < t.value.length; i++) 
	{
		x = t.value.charAt(i);
		if (v.indexOf(x,0) != -1)
		w += x;
	}
	t.value = w;
}

/*function cmvFireFox(maskControl, evt) {
//alert(evt.keyCode))
var strText = maskControl.value;
      if ((evt.keyCode < 48) || (evt.keyCode > 58))
      {
//		  var a = "a";
//		  alert(evt.keyCode + " aval = " + a.charCodeAt(0))
		  if(window.event)
		  {
evt.keyCode = 0;
			  }
			  else
			  {
				  
			evt.preventDefault();
			 }
      }
      if (evt.keyCode < 58)
      {            
            //It's a number
            if(strText.length == 1)
            {
                if(parseInt(strText) > 2)
                {
                    strText = '0' + strText + ':';
                    maskControl.value = strText;
                }
                else if(parseInt(strText) == 2)
                {
                    if (evt.keyCode > 51)
                    {
		evt.preventDefault();
                    }
                }
            }
            
            if(strText.length == 2)
            {
                if (strText.search(/:/) < 0)
                {
                    strText = strText + ':';
                    maskControl.value = strText;
                }
            }
            
            if(strText.length == 3)
            {
                if (evt.keyCode > 53)
                {
	evt.preventDefault();
                }
            }
      }
      else
      {
            //It's a ":"
            if (strText.search(/:/)>-1)
            {
            //Only Allow one ":"
//                evt.keyCode = 0;
evt.preventDefault();
                return;
            }
            if (strText.length < 1 || strText.length > 2)
            {
	evt.preventDefault();
                return;
            }
            else
            {
                if(strText.length == 1)
                {
                    maskControl.value = '0' + strText;
                }
            }
      }
}
*/
function isNumber(sText)
	{
		   var ValidChars = "0123456789";
		   var IsNumber=true;
		   var Char;
		   for (i = 0; i < sText.length && IsNumber == true; i++)
			  {
			  Char = sText.charAt(i);
			  if (ValidChars.indexOf(Char) == -1)
				 {
				 IsNumber = false;
				 }
			  }
		   return IsNumber;
	}	