﻿// Ajax defaults:
var imageHasAccessUrl ='images/aTick.gif';
var imageHasAccessAlt ='Enabled, click to disable';
var imageNoAccessUrl ='images/aCross.gif';
var imageNoAccessAlt ='Disabled, click to enable';
var imageLoadingUrl ='images/ajax-loader.gif';

var http_request = false;

/*	UpdatePermissions()
	Written by Andrew Delicata, August 2007.
	Ajax function to update Contact Group Access    */
function UpdatePermissions(id, ItemId, ImageId, PermissionType)
{

	var oImg = document.getElementById(ImageId);
	var PreviousImageUrl = oImg.src;
	var GrantAccess = (PreviousImageUrl.toLowerCase().indexOf(imageHasAccessUrl.toLowerCase()) >=0) ? false : true;
	oImg.src = imageLoadingUrl;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	   http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
	   http_request = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	window.status='Changing permissions...... loading....';
	var url='';
	switch (PermissionType)
	{
		case 'ContactGroupAccess':
			url='webservices/adminService.asmx/UpdateContactGroupAccess?ContactGroupId=' + id + '&AccessItemId=' + ItemId + '&GrantAccess=' + GrantAccess;
			break;
		case 'CustomerModulePermissions':
			url='webservices/adminService.asmx/UpdateCustomerModulePermissions?intModuleId=' + id + '&intCustomerId=' + ItemId + '&GrantAccess=' + GrantAccess;
			break;
		case 'ContactGroupUser':
			url='webservices/adminService.asmx/UpdateContactGroupUser?ContactGroupId=' + id + '&ContactId=' + ItemId + '&GrantAccess=' + GrantAccess;
			break;
	}

	http_request.onreadystatechange = function ()
	   {
			if (http_request.readyState == 4)
			{
				if (http_request.status == 200)
				{
					var xmldoc = http_request.responseXML;
					var root;
					if (xmldoc.documentElement.textContent){
						root = xmldoc.documentElement.textContent;
					}else{
						root = xmldoc.selectSingleNode('boolean').text;
					}
					if (root=='false')
					{
						// Could not update (session might have expired)
						oImg.src=PreviousImageUrl;
						window.status='Could not change permissions.  Your session may have timed out.';
					}else{
						window.status='Permissions have been saved.';
						if (GrantAccess)
						{
							oImg.src=imageHasAccessUrl;
							oImg.alt=imageHasAccessAlt;
						}else{
							oImg.src=imageNoAccessUrl;
							oImg.alt=imageNoAccessAlt;
						}
					}
				}else{
					// ajax error occured
					oImg.src=PreviousImageUrl;
					window.status='An error occurred, could not save permission changes.';
				}               
		   }
	   }
	http_request.open('GET', url, true);
	http_request.send(null);
}

function validNumberSpace(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
	if (keyCode == 13) {
   		document.returnValue = false;
     }
    if ((keyCode < 46 || keyCode > 57) && keyCode != 32 && keyCode != 8 && keyCode != 127 && keyCode != 188 && keyCode != 190 && keyCode != 9) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function validNumber(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
    if (keyCode == 13) {
   		document.returnValue = false;
    }
	
	if ((keyCode < 48 || keyCode > 57) && TestForSystemKeys(keyCode) == false && keyCode != 188 && keyCode != 190) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function validInteger(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
	if (keyCode == 13) {
   		document.returnValue = false;
    }
    if ((keyCode < 48 || keyCode > 57) && TestForSystemKeys(keyCode) == false) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function validAlphaNumber(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
	if (keyCode == 13) {
	    document.returnValue = false;
	    return false;
	}
	if ((keyCode < 9 || keyCode > 200) && TestForSystemKeys(keyCode) == false) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function validAlphaOnly(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
	if (keyCode == 13) {
   		document.returnValue = false;
	}
	if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 122) && TestForSystemKeys(keyCode) == false) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function validDate(keyStroke) {
    var keyCode = (document.layers) ? keyStroke.which : keyStroke.keyCode;
	if (keyCode == 13) {
   		document.returnValue = false;
	}
	if ((keyCode < 48 || keyCode > 57) && keyCode != 191 && TestForSystemKeys(keyCode) == false) {
   		document.returnValue = false;
		return false;		
	} 
	document.returnValue = true;
}
function TestForSystemKeys(keyCode) {
    //checks for all system keys in one place.
    window.status = '';
    switch (keyCode) {
        case 37:// right cusror
            return true;
            break;
        case 38:// left cursor
            return true;
            break;
        case 8: // delete
            return true;
            break;
        case 46:// backspace
            return true;
            break;
        case 9: //  tab
            return true;
            break;
        default:
            window.status = 'input not valid';
            return false;
            break;
    }
}

function isEmail(email){
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if (filter.test(email))
	return true
  else{
	return false
  }
} 

function sendEmail (email) {
	window.location='mailto:'+email;
}

function openWebPage(url) {
	window.open(url);
}

function CancelEdit() {
	var bolResult=confirm('Are you sure you want to cancel your editing for this record?\n\nPlease be aware that any changes you have made will not be saved.')
	if (bolResult==false) {
		return false;
	} else {
	    //history.go(-1);
	if (Request.QueryString("DetailType") == '4') {
	    parent.tb_remove();
	    parent.location.reload();
	}
	    return true;
	}
}
function showHelp() {
    
    pathArray = window.location.pathname.split( '/' );
    newPathname = pathArray[pathArray.length-1];

	var winHeight = 550;
	var winWidth = 850;
	var scrWidth = screen.availWidth - 2;
	var scrHeight = screen.availHeight-40;
	var winTop = (scrHeight-winHeight)/2;
	var winLeft = (scrWidth-winWidth)/2;
	window.open('onlineHelp.aspx?pageName='+newPathname,'onlineHelp','status=yes,scrollbars=yes,resizable=no,width='+winWidth+',height='+winHeight+',left='+winLeft+',top='+winTop+'');

}
function setFileSet(inputFld, outputFld) {
    // strips and sets filename from path file
    var path = document.getElementById(inputFld).value
    var rtn = path.substring(path.lastIndexOf('\\') + 1, path.lastIndexOf('.'))
    document.getElementById(outputFld).value = rtn
}

function OpenDemo() {
    var winHeight = 820;
    var winWidth = 1100;
    var scrWidth = screen.availWidth - 2;
    var scrHeight = screen.availHeight - 40;
    var winTop = (scrHeight - winHeight) / 2;
    var winLeft = (scrWidth - winWidth) / 2;
    window.open('InteractiveDemos/OnlineDemo.aspx?show=1', 'onlineDemo', 'status=no,scrollbars=no,resizable=yes,width=' + winWidth + ',height=' + winHeight + ',left=' + winLeft + ',top=' + winTop + '');
   }

   function Toggle(tableNo, bSave) {
   	var oTbl = document.getElementById('tblContent' + tableNo);
   	var oTdLink = document.getElementById('tdHeader' + tableNo);
   	var oImg = document.getElementById('img' + tableNo);

   	if (oTbl.style.display == 'none') {
   		oTbl.style.display = '';
   		oImg.src = 'Images/contract.gif';
   		//oTdLink.innerHTML = 'Hide';
   	} else {
   		oTbl.style.display = 'none';
   		oImg.src = 'Images/expand.gif';
   		//oTdLink.innerHTML = 'Show';
   	}
   	if (bSave)
   		SaveStates(tableNo);
   }
   var CookieType = '';
   function LoadStates(strType) {
   	CookieType = strType;
   	var cookieString = readCookie("LiquidusStates" + CookieType);
   	if (cookieString != "") {
   		var id = cookieString.split('~');
   		for (var i = 0; i < id.length; i++) {
   			if (id[i] != "") {
   				Toggle(id[i], false);
   			}
   		}
   	}
   }

   function SaveStates(tableNo) {
   	var cookieString = readCookie("LiquidusStates" + CookieType);
   	if (cookieString.indexOf("~" + tableNo) == -1) {
   		cookieString = cookieString + "~" + tableNo;
   	} else {
   		cookieString = cookieString.replace("~" + tableNo, "");
   	}

   	eraseCookie("LiquidusStates" + CookieType);
   	createCookie("LiquidusStates" + CookieType, cookieString, null);
   }

   function readCookie(name) {
   	var nameEQ = name + "=";
   	var ca = document.cookie.split(';');
   	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 "";
   }

   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 eraseCookie(name) {
   	createCookie(name, "", -1);
   }


    function AddNewLink(intId, strUrl, strDisplayName, strPageUrl)
    {
		var iFrame = document.getElementById('AddLinkIFrame');
		iFrame.height = 90;
		
		var strSrc = strPageUrl + '?id=' + intId + '&url=' + strUrl + '&displayName=' + strDisplayName;
		iFrame.src = strSrc;
		
		tb_show('Add Link', 'TB_inline?height=120&width=460&inlineId=AddLinkContent', null);
    }