var ns6= document.getElementById && !document.all;
var ie=document.all;
var source = null;

function changeto(e,highlightcolor){
	source=ie ? event.srcElement : e.target;
	if (source.tagName=="TR"||source.tagName=="TABLE")
		return;
	while(source.tagName!="TD"&&source.tagName!="HTML")
		source=ns6 ? source.parentNode : source.parentElement;
	if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
		source.style.backgroundColor=highlightcolor;
}

function contains_ns6(master, slave) { //check if slave is contained by master
	while (slave.parentNode)
		if ((slave = slave.parentNode) == master)
			return true;
	return false;
}

function changeback(e,originalcolor){
	if (source)
	{
		if (ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TR"||source.tagName=="TABLE")
			return;
		else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
			return;
		if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
			source.style.backgroundColor=originalcolor;
	}
}

function popImage(imageURL,imageTitle){
	PositionX = 170;
	PositionY = 170;
	defaultWidth  = 600;
	defaultHeight = 600;
	if (parseInt(navigator.appVersion.charAt(0))>=4){
	var isNN=(navigator.appName=="Netscape")?1:0;
	var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
	var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
	var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
	if (isNN){imgWin=window.open('about:blank','',optNN);}
	if (isIE){imgWin=window.open('about:blank','',optIE);}
	with (imgWin.document){
		writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');
		writeln('<sc'+'ript>');
		writeln('var isNN,isIE;');
		writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
		writeln('isNN=(navigator.appName=="Netscape")?1:0;');
		writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
		writeln('function reSizeToImage(){');
		writeln('if (isIE){');
		writeln('window.resizeTo(100,100);');
		writeln('width=100-(document.body.clientWidth-document.images[0].width);');
		writeln('height=100-(document.body.clientHeight-document.images[0].height);');
		writeln('window.resizeTo(width,height);}');
		writeln('if (isNN){');       
		writeln('window.innerWidth=document.images["MetroPCS"].width;');
		writeln('window.innerHeight=document.images["MetroPCS"].height;}}');
		writeln('function doTitle(){document.title="'+imageTitle+'";}');
		writeln('</sc'+'ript>');
		writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">');
		writeln('<img name="MetroPCS" src=\"'+imageURL+'\" style="display:block"></body></html>');
		close();		
	}
}

function PasswordCompare(sP1, sP2)
{
	sPass1 = document.getElementById(sP1).value;
	sPass2 = document.getElementById(sP2).value;
	
	if (sPass1 == sPass2)
	{
		return true;
	}
	else
	{
		alert('The password entered did not match. Please re-enter the password.');
		return false;
	}
}

function checkRequiredRadioButtons(element) {
	var radiogroup = element.form.elements[element.name];
	var itemchecked = false;
	for(var j = 0 ; j < radiogroup.length ; ++j) 
	{
		if(radiogroup[j].checked) 
		{
			itemchecked = true;
			break;
		}	
	}
	return itemchecked;
} 

function checkRadios(formName) 
{
	thisForm=eval("document."+formName)	
	for(i=0;i<thisForm.elements.length;i++)
	{
	elementtype=thisForm.item(i).type;
		if(elementtype == "radio") 
		{
			var itemchecked = checkRequiredRadioButtons(thisForm.item(i));
			if(!itemchecked) 
			{ 
				alert("You must answer every question \n");
				if(item(i).focus)
					item(i).focus();
				return false;
			}
		}
	}
	return true;
} 

function FormErrorField(element)
{
	error=1
	reqError="\t One or more of the required fields was not entered, please enter in the required fields \n"
	if (element.className.indexOf("req_error") == -1)
		element.className=element.className.replace(/req/,'req_error');
}

function ValidDateFields(formName, DateA, DateB, Action)
{	
		var thisForm = eval("document."+formName);
		if (!thisForm)
		{
				alert("Form Object is invalid. (" + formName + ")");
				return false;			
		}
		
		var objDateA = eval("document."+formName+"."+DateA);
		var objDateB = eval("document."+formName+"."+DateB);
		
		if (!objDateA)
		{
				alert("Date Object is invalid. (" + formName + "." + DateA + ")");
				return false;
		}
		if (!objDateB)
		{
				alert("Date Object is invalid. (" + formName + "." + DateB + ")");
				return false;
		}
		switch(Action)
		{
			case 1: 	//DateA is on or before DateB and DateB is on or after DateA
				if (Date.parse(objDateA.value) != Date.parse(objDateA.value))
					return false;	//not a number is not equal to itself
				sDateA = Date.parse(objDateA.value);
				if (Date.parse(objDateB.value) != Date.parse(objDateB.value))
					return false;	//not a number is not equal to itself
				sDateB = Date.parse(objDateB.value);
				if (sDateA <= sDateB)
					return true;
				else
				{
					FormErrorField(objDateA);
					FormErrorField(objDateB);
					alert('The following problems are wrong with the information you entered:\n\t' + objDateA.value + ' is not before ' + objDateB.value + '.\n');
					return false;
				}
				break;
			case 2:  	//DateA is on or before DateB and DateB is on or after DateA
				if (objDateA.value == '')
				{
					objDateB.value = '';
					return true;
				}
				if (objDateB.value == '')
				{
					objDateA.value = '';
					return true;					
				}
				if ((Date.parse(objDateA.value) != Date.parse(objDateA.value)) ||
					!checkValidDate(objDateA.value)  )
				{
					alert(objDateA.value + ' is not a valid date.');
					return false;	//not a number is not equal to itself
				}
				sDateA = Date.parse(objDateA.value);
				if ((Date.parse(objDateB.value) != Date.parse(objDateB.value)) ||
					(!checkValidDate(objDateB.value)))
				{
					alert(objDateB.value + ' is not a valid date.');
					return false;	//not a number is not equal to itself
				}
				sDateB = Date.parse(objDateB.value);
				if (sDateA <= sDateB)
					return true;
				else
				{
					FormErrorField(objDateA);
					FormErrorField(objDateB);
					alert('The following problems are wrong with the information you entered:\n\t' + objDateA.value + ' is not before ' + objDateB.value + '.\n');
					return false;
				}
				break;
		}
		return true;
}

function checkForm(formName) {
	error=0
	reqError=""
	dateError=""	
	thisForm=eval("document."+formName)	
	for(i=0;i<thisForm.elements.length;i++)
	{
		elementtype=thisForm.item(i).type;
		elementname=thisForm.item(i).name;
		elementclass=thisForm.item(i).className;
		elementid=thisForm.item(i).id;
		elementvalue=thisForm.item(i).value;
		elementname=elementname.toLowerCase();
		if(elementclass.indexOf("req")!=-1)
		{
			//checkboxes and radio buttons are 'errored' if one in the group is not checked
			if ((elementtype=="checkbox") || (elementtype=="radio"))
			{
				if (!checkRequiredRadioButtons(thisForm.item(i)))
				{
					FormErrorField(thisForm.item(i));
				}
				else
				{
					//remove the req_error on the field so it goes back to normal
					if (thisForm.item(i).className.indexOf("req_error") != -1)
						thisForm.item(i).className = thisForm.item(i).className.replace(/req_error/,'req');
					CheckNonReq(true);
				}
			}
			else
			{
				if(elementvalue=="")
				{
					FormErrorField(thisForm.item(i));
				}
				else
				{
					//remove the req_error on the field so it goes back to normal					
					if (thisForm.item(i).className.indexOf("req_error") != -1)
						thisForm.item(i).className = thisForm.item(i).className.replace(/req_error/,'req');
					CheckNonReq(true);
				}
			}
		}
		else
		{
			CheckNonReq(false);
		}
	}
	if(error==1)
	{
		strError="The following problems are wrong with the information you entered:\n" + reqError + dateError
		alert(strError);
		return false;
	}
	else
	{
		return true;  
	}	
};

function checkForm_Old(formName){
	error=0
	reqError=""
	dateError=""
	thisForm=eval("document."+formName)
	for(i=0;i<thisForm.elements.length;i++){
		elementtype=thisForm.item(i).type
		elementname=thisForm.item(i).name
		elementclass=thisForm.item(i).className
		elementid=thisForm.item(i).id
		elementvalue=thisForm.item(i).value
		elementname=elementname.toLowerCase()
		if(elementclass.indexOf("req")!=-1){
				if(elementvalue==""){
					error=1
					reqError="\t One or more of the required fields was not entered, please enter in the required fields \n"
					thisForm.item(i).className="req_error_text"
				}else{
					thisForm.item(i).className="req_text"
					CheckNonReq(true);
				}
		}else{
			CheckNonReq(false);
		}
		
	}
	if(error==1){
		strError="The following problems are wrong with the information you entered:\n" + reqError + dateError
		alert(strError);
		return false;
	}else{
		return true;  
	}
}
function CheckNonReq(bolType){
	if(bolType==true){
		returnType="req_text"
	}else{
		returnType="text"
	}
	if(elementname.indexOf("date")!=-1){
		if ( (elementtype != "hidden") && (elementvalue != "") ) {
			if(checkValidDate(elementvalue)!=true){
				error=1
				dateError="\t The Date you have entered is not formatted properly (mm/dd/yyyy)\n\t\t or is not valid\n"
				thisForm.item(i).className="error_text"
				if(bolType==true){
					thisForm.item(i).className="req_error_text"
				}else{
					thisForm.item(i).className="error_text"
				}
			}else{
				thisForm.item(i).className=returnType
			}
		}
	}
}
function checkValidDate(dateStr) {
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
	for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
	if (dateYear.length != 4) { return false; }
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 1753) || (numYear > 9999)) { return false; }
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        if (div4 != 0) { return false; }
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    return true;
}

function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (v = 0; v < sText.length && IsNumber == true; v++) 
      { 
      Char = sText.charAt(v); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
function setFormFunction(strFunction,strForm){
		thisForm=eval("document."+strForm)
		thisForm.W.value=strFunction
		thisForm.submit()
}
function fieldMask(maskType) {
    var sMask = "01234567890";
    var KeyTyped = String.fromCharCode(window.event.keyCode);
    var srcObject = window.event.srcElement;
    if (sMask.indexOf(KeyTyped.toString()) == -1){
        	window.event.keyCode = 0;
            _ret = false;
    } 
	frigger = document.getElementById(window.event.srcElement.id);
	keyCount = frigger.value.length;
	var tmpStr = "";
		if(maskType == "date")
		{
			switch (keyCount)
				{
				case 1: 
					tmpStr += srcObject.value;
					srcObject.value = tmpStr;
					break;
				case 2:
					srcObject.value += "/";
					break;
				case 5:
					srcObject.value += "/";
					break;
				case 10:
					window.event.keyCode = 0;
					_ret = false;
					break;
				}
		}
		if(maskType == "phone")
		{
			switch (keyCount)
			{
			case 0:
				newVal = '(' + srcObject.value;
				srcObject.value = newVal;
				break;
			case 4:
				srcObject.value += ") ";
				break;
			case 9:
				srcObject.value += "-";
				break;
			case 14:
				window.event.keyCode = 0;
				_ret = false;
				break;
			}
		}
		if(maskType == "time"){
			switch (keyCount)
			{
			case 2:
				srcObject.value += ":";
				break;
			}
		}		
}
function ToggleNav(){
	

}
function clearUserID(){
	document.getElementById('UserID').value=""
}
function inCell(cell,theclass) {
	if (!cell.contains(event.fromElement)) {
		cell.id = theclass;
	}
}

function outCell(cell,theclass) {
	if (!cell.contains(event.toElement)) {
		cell.id = theclass;
	}
}

function JScriptURLEncode(sURL)
{
     var html;
	 
	 html = escape(sURL);
     html = html.replace(/\//g,"%2F");
     html = html.replace(/\?/g,"%3F");
     html = html.replace(/=/g,"%3D");
     html = html.replace(/&/g,"%26");
     html = html.replace(/@/g,"%40");
	 
     return html;
} 

function changeViewType(ViewType,FolderID){
location.href('./default.asp?W=FileMgrMain&FolderID='+FolderID+'&ViewType='+ViewType);
}
