﻿


var Diagnostics_ActiveElementId;
var Diagnostics_ActiveElementValue;
var Page_Is_Dirty = false;

var rxUSPhone = /((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}|\d{10}/;
var rxUSPhoneLongDistance = /(\d{1} (\(\d{3}\) ?)|\d{1} (\d{3}-))?\d{3}-\d{4}|\d{10}|\d{11}/;
var rxZip = /\d{5}/;
var rxZipPlusFour = /\d{4}/;
var rxSSN = /\d{3}-\d{2}-\d{4}|\d{9}/;
var rxCurrency = /-?[0-9]+\.[0-9]{2}$/;


function NavigateUrl(url)
{
	url = (url.indexOf("://") == -1 ? "http://"+url : url);
    window.open(url);
}

function OpenWindow(url, name,  height, width, menu, scrollbars, status, resize, titlebar, toolbar)
{
    window.open(url, name, "height=" + height + ",width=" + width + ",menubar=" + menu + ",scrollbars=" + scrollbars + ",status=" + status + ",resizable=" + resize + ",titlebar=" + titlebar + ",toolbar=" + toolbar);
   // return false;
}

function ChangeBackgroundColor(x,y)
{
    x.style.backgroundColor=y;
}

function ValidateSiteName(doc)
{
	if(doc.forms[0].elements[3].value == "")
	{
		alert('Please enter link name to search.');
	}	
}

function Check_IsDirty(newUrl,b)
{
	var OkForSubmit = true;
	if(Page_Is_Dirty)
	{
		OkForSubmit = window.showModalDialog("../common/ConfirmPopup.aspx","","dialogWidth:450px;dialogHeight:165px;center:yes;scroll:no;status:no;help:no"); 
	}
	if(OkForSubmit && !b)
	{
		document.location = newUrl;
	}
	if (b)
		return OkForSubmit
}

function changeListingItemStyle(x)
{
    x.style.bgcolor="black";
    x.style.cursor='hand';

}

function ImageCaptureError()
{
	var OkForSubmit = true;
	OkForSubmit = window.showModalDialog("../common/ConfirmDeletePopup.aspx","","dialogWidth:350px;dialogHeight:130px;center:yes;scroll:no;status:no;help:no"); 
	
	
}

function CreateNotice(resultID)
{
	var OkForSubmit = true;
	OkForSubmit = window.showModalDialog("../common/ConfirmDeletePopup.aspx","","dialogWidth:450px;dialogHeight:165px;center:yes;scroll:no;status:no;help:no"); 
	
	
}

function ShowTrackingNumberPopup(newUrl,trackingNumber)
{
	OkForSubmit = window.showModalDialog("../common/NewTrackingNumberPopup.aspx?TrackingNumber=" + trackingNumber,"","dialogWidth:450px;dialogHeight:165px;center:yes;scroll:no;status:no;help:no"); 
	document.location = newUrl;
}

function ConfirmDelete() {
	var del = window.showModalDialog("../common/ConfirmDeletePopup.aspx","","dialogWidth:350px;dialogHeight:125px;center:yes;scroll:no;status:no;help:no");
	return del;
}

function getObject(str) {
	var o;
	if (document.all){
		eval('o = document.all.' + str);
	} else if (document.getElementById){
		o = document.getElementById(str);
	}
	return o;
}

function preventNonNumeric(){

	if(!(event.keyCode>45 && event.keyCode<58)){
		event.returnValue=false;
	}
}

function addCommas( strValue ) {
  var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})');

    //check for match to search criteria
    while(objRegExp.test(strValue)) {
       //replace original string with first group match,
       //a comma, then second group match
       strValue = strValue.replace(objRegExp, '$1,$2');
    }
  return strValue;
}

function Register_OnChange()
{
	var ev;
	var selectboxes = document.all.tags("select");	
	for (var i=0;i<selectboxes.length;i++)
	{
		ev = selectboxes[i].onchange;
		if (typeof(ev) == "function" ) {            
            ev = ev.toString();
            ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
        }
        else {
            ev = "";
        }
        var func = new Function("Page_Is_Dirty=true;" + ev);
		selectboxes[i].onchange = func;		
	}
	
	var inputboxes = document.all.tags("input");	
	for (var i=0;i<inputboxes.length;i++)
	{
		 if (inputboxes[i].type == "radio" || inputboxes[i].type == "checkbox") {
                ev = inputboxes[i].onclick;
         } else {
                ev = inputboxes[i].onchange;
          }
		if (typeof(ev) == "function" ) {            
            ev = ev.toString();
            ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
        }
        else {
            ev = "";
        }
        var func = new Function("Page_Is_Dirty=true;" + ev);
         if (inputboxes[i].type == "radio" || inputboxes[i].type == "checkbox") {
                inputboxes[i].onclick = func;	
         } else if(inputboxes[i].type == "text" || inputboxes[i].type == "textarea") {
                inputboxes[i].onchange = func;	
          }					
	}
	
	var textarea = document.all.tags("textarea");	
	for (var i=0;i<textarea.length;i++)
	{
		ev = textarea[i].onchange;
        if (typeof(ev) == "function" ) {            
            ev = ev.toString();
            ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
        }
        else {
            ev = "";
        }
        var func = new Function("Page_Is_Dirty=true;" + ev);
        textarea[i].onchange = func;	         			
	}


}

function RemoveWhitespace(s) {
    var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
}

function RemoveNonNumeric(s) {
	return s.replace(/[^\d\+]/g, "");
}

function FormatUSPhone(src, args)
{
	var value = args.Value;	
	if (RemoveWhitespace(value).length == 0)
        return true;    
	value = RemoveNonNumeric(value);     
    var rx = new RegExp(rxUSPhone);
	var matches = rx.exec(value);
	if(matches != null && value == matches[0])
    {
		value = value.replace(/\D/g,"");
		value = "(" + value.substring(0,3) + ") " + value.substring(3,6) + "-" + value.substring(6,10);
		getObject(src.controltovalidate).value = value;
		args.IsValid=true;
    }
    else
    {
		args.IsValid=false;
    } 
}

function FormatCurrency(src, args)
{
	var value = args.Value;	
	if (RemoveWhitespace(value).length == 0)
        return true;    
	value = RemoveNonNumeric(value); 
	value = value.toFixed(2)    
    var rx = new RegExp(rxCurrency);
	var matches = rx.exec(value);
	if(matches != null && value == matches[0])
    {
		rx.compile('^-');
		value = addCommas(value);
		if (objRegExp.test(value)){
			value = '(' + value.replace(rx,'') + ')';
		}
		getObject(src.controltovalidate).value = value;
		args.IsValid=true;
    }
    else
    {
		args.IsValid=false;
    } 
}

function FormatSocialSecurity(src, args)
{
	var value = args.Value;	
	if (RemoveWhitespace(value).length == 0)
        return true;    
	value = RemoveNonNumeric(value);     
    var rx = new RegExp(rxSSN);
	var matches = rx.exec(value);
	if(matches != null && value == matches[0])
    {
		value = value.replace(/\D/g,"");
		value = "" + value.substring(0,3) + "-" + value.substring(3,5) + "-" + value.substring(5,9);
		getObject(src.controltovalidate).value = value;
		args.IsValid=true;
    }
    else
    {
		args.IsValid=false;
    } 
}

function FormatMaxlength(src, args)
{
	var value = args.Value;	
	if (RemoveWhitespace(value).length == 0)
        return true;         
    
	if(value != null && src.maxLength!=null && value.length>src.maxLength)
    {
		args.IsValid=false;
    }
    else
    {
		args.IsValid=true;
    } 
}

function FormatMinlength(src, args)
{
	var value = args.Value;	
	if (RemoveWhitespace(value).length == 0)
        return true;         
    
	if(value != null && src.minLength!=null && value.length<src.minLength)
    {
		args.IsValid=false;
    }
    else
    {
		args.IsValid=true;
    } 
}

function OpenModalPopup(dataTableId,url,btnId,width,height,scroll,resizable,oldSavedIDs,clientCallbackFunction)
{
	var SavedIDs = "";
	if(!oldSavedIDs || oldSavedIDs.length==0)
	{
		if (dataTableId && dataTableId != null && dataTableId.length > 0) {
			for(var i=1;i<getObject(dataTableId).rows.length;i++)
			{
				SavedIDs += getObject(dataTableId).rows[i].firstChild.firstChild.value;
				if(i<document.all.datagrid.rows.length-1)
					SavedIDs +=  ","
			}
		}
	}
	else
	{
		SavedIDs = oldSavedIDs;
	}
	if (scroll) scroll="yes";else scroll="no";
	if (resizable) resizable="yes";else resizable="no";
	
	url = url + '&SavedIDs=' + SavedIDs;
	var SelectedIDs = window.showModalDialog(url,'','dialogWidth:'+width+';dialogHeight:'+height+';center:yes;scroll:'+scroll+';resizable:'+resizable+';status:no;help:no');
	//alert(SelectedIDs);
	if(SelectedIDs!=null)
	{	
		if(clientCallbackFunction && clientCallbackFunction.length>0)
			eval(clientCallbackFunction + "( SelectedIDs, btnId );");
		else {
			if(!getObject(btnId))
				__doPostBack(btnId,SelectedIDs);
			else
				__doPostBack(getObject(btnId).name,SelectedIDs);	
		}	
	}
	
}

function Call_ChangePasswordPopup(hiddenPasswordId,ChangePopupURL)
{
	var newPassword = window.showModalDialog(ChangePopupURL,'','dialogWidth:350px;dialogHeight:300px;center:yes;scroll:no;status:no;help:no');
	if(newPassword!=false)
	{
		if(getObject(hiddenPasswordId))
			getObject(hiddenPasswordId).value = newPassword;
	}
}

function Validate_PasswordControl(src, args)
{
	//alert(getObject(src.passwordcontrolclientid).value);
	if(args==null)
		return;
	args.IsValid=true;
	if(src.passwordcontrolclientid && src.passwordcontrolclientid.length>0)
	{
		if(getObject(src.passwordcontrolclientid).value.length==0)
		{
			getObject(src.id).innerHTML = "*Required";
			args.IsValid=false;
		}
		else if(src.minLength && src.minLength!=0 && getObject(src.passwordcontrolclientid).value.length<src.minLength)
		{
			getObject(src.id).innerHTML = "*Password must be over " + src.minLength + " characters.";
			args.IsValid=false;
		}
		else if(src.maxLength && src.maxLength!=0 && getObject(src.passwordcontrolclientid).value.length>src.maxLength)
		{
			getObject(src.id).innerHTML = "*Password must be under " + src.maxLength + " characters.";;
			args.IsValid=false;
		}
	}
}


function Validate_ZipCodeControl(src, args)
{
	if(args==null)
		return;
	args.IsValid=true;
	if(src.zipcodecontrolclientid)
	{
		if(src.required && src.required=="True" && getObject(src.zipcodecontrolclientid).value.length==0)
		{
			getObject(src.id).innerHTML = "*Required";
			args.IsValid=false;	
		}
		if(getObject(src.zipcodecontrolclientid).value.length>0)
		{
			getObject(src.id).innerHTML = "*Invalid";
			var rx = new RegExp(rxZip);
			var matches = rx.exec(getObject(src.zipcodecontrolclientid).value);
			if(matches==null)
			{
				getObject(src.id).innerHTML = "*Invalid Zip";
				args.IsValid=false;		
			}
		}		
	}
	if(src.zipcodeplusfourcontrolclientid && getObject(src.zipcodeplusfourcontrolclientid).value.length>0)
	{
		var rx = new RegExp(rxZipPlusFour);
		var matches = rx.exec(getObject(src.zipcodeplusfourcontrolclientid).value);
		if(matches==null)
		{
			getObject(src.id).innerHTML = "*Invalid Zip + Four";
			args.IsValid=false;		
		}
		rx = new RegExp(rxZip);
		matches = rx.exec(getObject(src.zipcodecontrolclientid).value);
		if(matches==null)
		{
			getObject(src.id).innerHTML = "*Invalid Zip";
			args.IsValid=false;		
		}	
	}
}

function EnableDisableChildControls(controlID,enable,resetOnDisable)
{
	var selectboxes = getObject(controlID).all.tags("select");	
	for (var i=0;i<selectboxes.length;i++)
	{
		selectboxes[i].disabled = !enable;
		if(!enable && resetOnDisable)
			selectboxes[i].selectedIndex = 0;	
	}
	
	var inputboxes = getObject(controlID).all.tags("input");	
	for (var i=0;i<inputboxes.length;i++)
	{
		if (inputboxes[i].type != "hidden") 
			inputboxes[i].disabled = !enable;
		if(!enable && resetOnDisable)
		{
			if (inputboxes[i].type == "radio" || inputboxes[i].type == "checkbox") 
			{			
				inputboxes[i].checked = false;	
			}
			else if(inputboxes[i].type=="text")
			{
				inputboxes[i].value = "";	
			}		
		}
	}	
	var textarea = getObject(controlID).all.tags("textarea");	
	for (var i=0;i<textarea.length;i++)
	{
		textarea[i].disabled = !enable;	
		if(!enable && resetOnDisable)
			textarea[i].value = "";				    			
	}
	
}



function ShowHideDepartments()
{
	var rows = document.all.DataGrid.all.tags("tr");
	for (var i=0;i<rows.length;i++)
	{
		if(rows[i].id == "REPORTITEMTEMPLATEROW" && rows[i].style && rows[i].style.display=="none")
			rows[i].style.display="";
		else if(rows[i].id == "REPORTITEMTEMPLATEROW" && rows[i].style && rows[i].style.display=="")
			rows[i].style.display="none";			
		
	}
	
	var spans = document.all.DataGrid.all.tags("span");
	for (var i=0;i<spans.length;i++)
	{
		if(spans[i].id == "GROUPTOTALSPAN" && spans[i].style && spans[i].style.display=="none")
			spans[i].style.display="";
		else if(spans[i].id == "GROUPTOTALSPAN" && spans[i].style && spans[i].style.display=="")
			spans[i].style.display="none";
			
		if(spans[i].id == "GROUPNAMESPAN" && spans[i].style && spans[i].style.display=="none")
			spans[i].style.display="";
		else if(spans[i].id == "GROUPNAMESPAN" && spans[i].style && spans[i].style.display=="")
			spans[i].style.display="none";
	}	
	
}

function AwardType_OnChange(lbawardtype,tbteamaward,tbteamawardvalidator)
{
	if(getObject(lbawardtype).value=="Team")
	{
		getObject(tbteamawardvalidator).enabled = true;
		getObject(tbteamaward).disabled = false;
	}
	else
	{
		getObject(tbteamawardvalidator).enabled = false;
		getObject(tbteamaward).disabled = true;
	}
}