﻿

function popupPage(pageURL)
{
	window.open(pageURL);
}

function popupPage(pageURL, sFeatures)
{
	window.open(pageURL, "", sFeatures);
}

function popupModeless(pageURL, sFeatures)
{
	window.showModelessDialog(pageURL, "", sFeatures);
}

function popupDialog(pageURL)
{
	var sFeatures="edge: sunken;help: 0;resizable: 0;status: 0;unadorned: 0";	
	window.showModalDialog(pageURL, "", sFeatures);
}

function popupDialog(pageURL, sFeatures)
{
	//var sFeatures="edge: sunken;help: 0;resizable: 0;status: 0;unadorned: 0";
	
	window.showModalDialog(pageURL, "", sFeatures);
}

function ServerHostPath()
{
	var sHostName = document.location.host;
	sHostName = sHostName.toString();
	var sHostPath = document.location.pathname;
	var fullPath;
	var iFirstDash = sHostPath.indexOf("/",1) + 1;
	var sHostPathSub = sHostPath.substring(0,iFirstDash);
	var sHostPathSyngro = sHostPathSub.substring(0,7);
	if(sHostPathSyngro == "/Syngro")
	{
	 fullPath = "http://" + sHostName + sHostPathSub;
    }
    else
    {
    	fullPath = "http://" + sHostName + "/";
    }
	return fullPath;
    

}


function onPickerChange(picker)
{

	var cal = document.getElementById("Calendar1")
	ctl00_ContentPlaceHolder1_DatePicker1_Calendar1.SetSelectedDate(picker.GetSelectedDate());
}

function onCalendarChange(calendar)
{
	var pick = document.getElementById("Picker1")
	ctl00_ContentPlaceHolder1_DatePicker1_Picker1.SetSelectedDate(calendar.GetSelectedDate());
}



function UpdateTime(sender) {    
    var text = sender.value;
    
    if(text.length == 0)
        return;
        
    var numericPart = '';
    var characterPart = '';
    var i;
    var current;
    
    // Break the text input into numeric and character parts for easier parsing			    
    for(i = 0; i < text.length; i++) {  
        current = text.charAt(i);			        
        
        if(IsNumeric(current))
            numericPart = numericPart + current;
            
        if(IsCharacter(current))
            characterPart = characterPart + current;
   }
   					   
   var formattedDate;
   var hour;
   var minute;
   var dayPart;
   
   // handle AM/PM by looking for an a, otherwise treat as PM
    if(characterPart.indexOf('a') > -1 || characterPart.indexOf('A') > -1)
        dayPart = 'AM';
    else
        dayPart = 'PM';
     
    if(numericPart.length >= 4) {
		hour = numericPart.substring(0, 2);
		minute = numericPart.substring(2, 4);
	} else if(numericPart.length == 3) {	 
		hour = numericPart.substring(0, 1);
		minute = numericPart.substring(1, 3);
	} else if(numericPart.length == 2) {	 
		hour = numericPart.substring(0, 2);
		minute = '00';		
	} else if(numericPart.length == 1) {	 
		hour = numericPart.substring(0, 1);
		minute = '00';									
	} else {	 
		// Just use the current hour
		var d = new Date();
		hour = d.getHours();	
		
		minute = '00';
	}	
	
	// Apply 24 hour logic
	if(hour > 12) {
		if(hour <= 24) {
			hour -= 12;
			dayPart = 'PM';
		} else {
			// If the hour is still > 12 then the user has inputed something that doesn't
			// exist, so just use current hour
			
			hour = (new Date()).getHours();				
					
			if(hour > 12) {		
				hour -= 12;
				dayPart = 'PM';
			} else {		
				dayPart = 'AM';
			}
		}
	}	
	
	if(hour == 0) {
		hour = 12;
		dayPart = 'AM';
	}
		 
	 sender.value = hour + ':' + minute + ' ' + dayPart;				 
}

function IsNumeric(text) {
   var validChars = '0123456789';
   return (validChars.indexOf(text) > -1)                   
}


function IsCharacter(text) {
   var validChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';   
   return (validChars.indexOf(text) > -1)                   
}	

function fireEmail(emailCntrlId)
{
	var eMailAddress = document.getElementById(emailCntrlId).value;
	parent.location='mailto:' + eMailAddress; 
	return false;

}

        function Trim(TRIM_VALUE){
            if(TRIM_VALUE.length < 1){
                return"";
            }
            TRIM_VALUE = RTrim(TRIM_VALUE);
            TRIM_VALUE = LTrim(TRIM_VALUE);
            if(TRIM_VALUE==""){
                return "";
            }
            else{
                return TRIM_VALUE;
            }
        } //End Function

        function RTrim(VALUE){
            var w_space = String.fromCharCode(32);
            var v_length = VALUE.length;
            var strTemp = "";
            if(v_length < 0){
                return"";
            }
            var iTemp = v_length -1;

            while(iTemp > -1){
                if(VALUE.charAt(iTemp) == w_space){
            }
            else{
                strTemp = VALUE.substring(0,iTemp +1);
                break;
            }
            iTemp = iTemp-1;

            } //End While
                return strTemp;
        } //End Function
        
        
       function RTrim(VALUE,TRIMCHAR){
            var w_space = TRIMCHAR;
            var v_length = VALUE.length;
            var strTemp = "";
            if(v_length < 0){
                return"";
            }
            var iTemp = v_length -1;

            while(iTemp > -1){
                if(VALUE.charAt(iTemp) == w_space){
            }
            else{
                strTemp = VALUE.substring(0,iTemp +1);
                break;
            }
            iTemp = iTemp-1;

            } //End While
             return strTemp;
        } //End Function        

        function LTrim(VALUE){
            var w_space = String.fromCharCode(32);
            if(v_length < 1){
                return"";
            }
            var v_length = VALUE.length;
            var strTemp = "";

            var iTemp = 0;

            while(iTemp < v_length){
            if(VALUE.charAt(iTemp) == w_space){
            }
            else{
                strTemp = VALUE.substring(iTemp,v_length);
            break;
            }
                iTemp = iTemp + 1;
            } //End While
                return strTemp;
        } //End Function

        function getURLParameters(Param) 
        {
	        var sURL = window.document.URL.toString();
        	
	        if (sURL.indexOf("?") > 0)
	        {
		        var arrParams = sURL.split("?");
        			
		        var arrURLParams = arrParams[1].split("&");
        		
		        var arrParamNames = new Array(arrURLParams.length);
		        var arrParamValues = new Array(arrURLParams.length);
        		
		        var i = 0;
		        for (i=0;i<arrURLParams.length;i++)
		        {
			        var sParam =  arrURLParams[i].split("=");
			        arrParamNames[i] = sParam[0];
			        if (sParam[1] != "")
				        arrParamValues[i] = unescape(sParam[1]);
			        else
				        arrParamValues[i] = "No Value";
		        }
        		
		        for (i=0;i<arrURLParams.length;i++)
		        {
		            if (arrParamNames[i]==Param){
		                return arrParamValues[i];
		            }
//			        alert(arrParamNames[i]+" = "+ arrParamValues[i]);
		        }
	        }
	        else
	        {
	            return "";
		        //alert("No parameters.");
	        }
        }
        
        
// These functions are used to validate required fields
function findControl(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findControl(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function validateControl() { //v4.0
  var i,p,q,nm,test,num,min,max,errors,emailerrors='',args=validateControl.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=findControl(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) emailerrors+=' An invalid e-mail address has been specified.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } 
  
  if (errors)
  {
	alert('Please enter details into the mandatory fields marked with an asterix.*\n\n');
	return false;

  }
  else if(emailerrors)
  {
	alert('An invalid e-mail address has been specified.\n');
	return false;  
  }
  else
  {
  return true;
  }
}        


/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("An invalid e-mail address has been entered.")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("An invalid e-mail address has been entered.")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("An invalid e-mail address has been entered.")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("An invalid e-mail address has been entered.")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("An invalid e-mail address has been entered.")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("An invalid e-mail address has been entered.")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("An invalid e-mail address has been entered.")
		    return false
		 }

 		 return true					
	}





        
function checkForCharacters(inputString, checkString, startingIndex)
{
  if (!startingIndex) startingIndex = 0;
  return inputString.indexOf(checkString);
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fhandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();


function has_scrollbar(elem_id) 
{ 
	elem = document.getElementById(elem_id); 
	if (elem.clientHeight < elem.scrollHeight) 
		alert('Scroll True');//return true;
	else 
		alert('Scroll False');//return false;
} 


function showStatus()
{
	alert('Busy');
}


function hideStatus()
{
	alert('Complete');
}

function echeck(str) {

		var at="@";
		var dot=".";
		var lat = str.indexOf(at);
		var lstr = str.length;
		var ldot = str.indexOf(dot);
		
		if (str.indexOf(at)==-1)
		{		   	   
		   if (window.event) //IE
           {
               alert("Invalid E-mail Address");
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           alert("Invalid E-mail Address");
	           return false;
	       }
		}
		else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
		   alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		}
		else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		{
		    alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		}
		 else if (str.indexOf(at,(lat+1))!=-1)
		 {
		    alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		 }
		 else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		 {
		    alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		 }
		 else if (str.indexOf(dot,(lat+2))==-1)
		 {
		    alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		 }		
		 else if (str.indexOf(" ")!=-1)
		 {
		    alert("Invalid E-mail Address");
		   
		   if (window.event) //IE
           {
		       event.returnValue = false;
	           return false;
	       }
	       else //Mozilla
	       {
	           return false;
	       }
		 }         
         else
         {
 		    return true;
 		 }					
	}




