var xhr
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
  try {
  xhr=new ActiveXObject("Msxml2.XMLHTTP")
 } catch (e) {
  try {
    xhr=new ActiveXObject("Microsoft.XMLHTTP")
  } catch (E) {
   xhr=false
  }
 }
@else
 xhr=false
@end @*/
if (!xhr && typeof XMLHttpRequest!='undefined') {
 try {
  xhr = new XMLHttpRequest();
 } catch (e) {
  xhr=false
 }
}


// trim functions
function lTrim(s) { return s.replace(/^\s+/g,''); }
function rTrim(s) { return s.replace(/\s+$/g,''); }
function trim(s) { return rTrim(lTrim(s)); }

//text field validation
function FormValidate(lst, lstnames)
{
        var lstarray1 = lst.split(",");
        var lstarray2 = lstnames.split(",");
        for(i=0;i<=lstarray1.length-1; i++ )
        {
                if(trim(document.getElementById(lstarray1[i]).value) == "" )
                {
			document.getElementById(lstarray1[i]).style.cssText = "border: 1px solid #990000;";
			
			document.getElementById(lstarray1[i]).focus();
                        alert ("Please enter value in" + " " + lstarray2[i] + " " + "field.");
                        return (false);
                }
		else
                        document.getElementById(lstarray1[i]).style.cssText = "";		
        }
        return (true);
}

// check match password
function PassValidate(pwd1, pwd2)
{
     if(document.getElementById(pwd1) && document.getElementById(pwd2))
     {
	var pass1 = trim(document.getElementById(pwd1).value);
        var pass2 = trim(document.getElementById(pwd2).value);
	if (pass1 != pass2)
        {
                alert ("Confirm Password field doesn't match.");
                return (false);
        }
        else
        {
                return(true);
        }
     }
     else
	return(true); 
}

//dropdown validation
function DropValidate(dd,ddisplay)
{
        var lstarray1 = dd.split(",");
        var lstarray2 = ddisplay.split(",");
        var flag=0;
         for(i=0;i<=lstarray1.length-1; i++ )
        {
                if(document.getElementById(lstarray1[i]).selectedIndex == '' )
                {
                        alert ("Please select " + " " + lstarray2[i]);
                        flag=1;
                        return (false);
                }
        }
                if(!flag) return(true);
}

function RadioValidate(rb, msg)
{
        var lstarray = rb.split(",");
        for (j=0;j<lstarray.length;j++)
        {
                var obj1 = document.getElementsByName(lstarray[j]);
                for (var i = 0; i < obj1.length; i++)
                {
                        if (obj1[i].checked)
                        {
                                break;
                        }
                }
                if ( i >= obj1.length)
                {
                        alert (msg);
                        return (false);
                }
        }
        return(true);
}

function ValidateCheckbox(lst,message)
{
        var lstarray1 = lst.split(",");
        var flag = 0;
        for(i=0;i<lstarray1.length; i++ )
        {
                if(document.getElementById(lstarray1[i]).checked)
                {
                        return (true);
                }
        }
        if (i >= lstarray1.length)
        {
            alert (message);
                return (false);
        }
}

function ShowHide(id1,id2)
{
	if (id1!='')
	{
		var lstarray1 = id1.split(",");
	        for(i=0;i<lstarray1.length; i++ )
	        {
	               if( document.getElementById(lstarray1[i]))
			document.getElementById(lstarray1[i]).style.display='';
		}
	}
	if(id2!='')
	{	
		var lstarray2 = id2.split(",");
		for(i=0;i<lstarray2.length; i++ )
	        {
	               if( document.getElementById(lstarray2[i]))
	               		document.getElementById(lstarray2[i]).style.display='none';
		}
	}
}

function ShowHideSingle(id)
{
	var lstarray1 = id.split(",");
	var flag = 0;
	for(i=0;i<lstarray1.length; i++ )
        {
		if(document.getElementById(lstarray1[i]))
		{
			if(document.getElementById(lstarray1[i]).style.display=='none')
			{
				document.getElementById(lstarray1[i]).style.display='';
				return;
			}
			else (document.getElementById(lstarray1[i]).style.display=='')
			{
				document.getElementById(lstarray1[i]).style.display='none';
				return;
			}
		}
	}
}

//following are the date validation functions
/* date functions start */

var dtCh= "/";
var minYear=1900;
var maxYear=2100;
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}
function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		alert("Please enter a valid 4 digit year");
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

/* date functions end */ 

// validating data for +ve numeric value betn 0 to 1000

function IsNumeric(id, fldname)
{
   var sText = document.getElementById(id).value;
  if(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) 
      {
         	alert('Please enter numeric value in '+fldname+' field.');
		//document.getElementById(id).value = '0';
		IsNumber = false;
		//return IsNumber;
      }
   }
   return IsNumber;
  }
  return true; 
}

// validating data for numeric value including -ve values

function IsNumericNeg(id, fldname)
{
   var sText = document.getElementById(id).value;
  if(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)
      {
                alert('Please enter positive numeric value in '+fldname+' field.');
                //document.getElementById(id).value = '0';
                IsNumber = false;
                //return IsNumber;
      }
   }
   return IsNumber;
  }
  return true;
}


function IsNumValid(id, fldname)
{
   if(IsNumeric(id,fldname))
   {
   	var sText = document.getElementById(id).value;
	if(sText == 0)
	{
		sText.value = '';
         	alert(fldname+' must have value greater than 0.');
                return false;
        }
	return true;
   }
   else
	return false;
}

function IsNumValidNeg(id, fldname)
{
   if(IsNumericNeg(id,fldname))
   {
        var sText = document.getElementById(id).value;
        if(sText == -0)
        {
                sText.value = '';
                alert('Value in '+fldname+' field is not valid.');
                return false;
        }
        return true;
   }
   else
        return false;
}


function IsInteger(id, fldname)
{
   var sText = document.getElementById(id).value;
  if(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)
      {
                alert('Please enter numeric value in '+fldname+' field.');
                //document.getElementById(id).value = '0';
                IsNumber = false;
                //return IsNumber;
      }
   }
   return IsNumber;
  }
  return true;
}


// AJAX function 

function TattooPierceForm(name)
{
	var obj1 = document.getElementsByName(name);
        for (var i = 0; i < obj1.length; i++)
        {
        	if (obj1[i].checked)
                {
                        var val = obj1[i].value;        
			break;
                }
        }
	if(val == 'Tattoo')
	{
		varlst = "form=tattoo";
		ShowAJAXContent('TattooPierce.php',varlst,'showform');
	}
	if(val == 'Body Piercing')
	{
		varlst = "form=pierce";
		ShowAJAXContent('TattooPierce.php',varlst,'showform');
	}

}

function ShowAJAXContent(script,varlst,divname)
{
        var content_div = document.getElementById(divname);
        xhr.open('GET', script+'?'+varlst,true);
        xhr.onreadystatechange = function()
        {
                if (xhr.readyState == 4 && xhr.status == 200)
                {
                        content_div.innerHTML = xhr.responseText;
                }
        }
        xhr.send(null);
}

function LimitAttach(form,file,msg) 
{
	allowSubmit = true;
	if (!file) 
	{
		alert(msg);
		return false;
	}
	else
	{
		return true;
	}
}

function FillTimeSlots(dt,tme)
{
	var time_id = document.getElementById(tme);
	var d = new Date(document.getElementById(dt).value)
	// value of day will be from 0->sunday thru 6->saturday
	
//	alert(d.getDay());
	if(d.getDay()==1 || d.getDay()==4){
		for(i=time_id.options.length-1;i>=1;i--)
			time_id.remove(i);
	   time_id.options[1] = new Option("8:00 - 9:15 am","08:00-09:15");
       time_id.options[2] = new Option("9:30 - 10:45 am","09:30-10:45");
	   time_id.options[3] = new Option("11:00 - 12:15 pm","11:00-12:15");
   	   time_id.options[4] = new Option("12:30 - 1:45 pm","12:30-13:45");
   	   time_id.options[5] = new Option("2:00 - 3:15 pm","14:00-15:15");	   
   	   time_id.options[6] = new Option("3:30 - 4:45 pm","15:00-16:45");	   
   	   time_id.options[7] = new Option("5:00 - 6:15 pm","17:00-18:15");	   	   
   	   time_id.options[8] = new Option("6:30 - 7:45 pm","18:00-19:45");	   	   	   
   	   time_id.options[9] = new Option("8:00 - 9:15 pm","20:00-21:15");	   	   	   
	}
	else if (d.getDay()==2 || d.getDay()==3 || d.getDay()==5 || d.getDay() == 6 ){
		for(i=time_id.options.length-1;i>=1;i--)
			time_id.remove(i);
	   time_id.options[1] = new Option("8:00 - 8:50 am","08:00-08:50");
	   time_id.options[2] = new Option("9:00 - 9:50 am","09:00-09:50");
	   time_id.options[3] = new Option("10:00 - 10:50 am","10:00-10:50");
	   time_id.options[4] = new Option("11:00 - 11:50 am","11:00-11:50");
	   time_id.options[5] = new Option("12:00 - 12:50 pm","12:00-12:50");
	   time_id.options[6] = new Option("1:00 - 1:50 pm","13:00-13:50");
	   time_id.options[7] = new Option("2:00 - 2:50 pm","14:00-14:50");
	   time_id.options[8] = new Option("3:00 - 3:50 pm","15:00-15:50");
	   time_id.options[9] = new Option("4:00 - 4:50 pm","16:00-16:50");
	   time_id.options[10] = new Option("5:00 - 5:50 pm","17:00-17:50");
	   time_id.options[11] = new Option("6:00 - 6:50 pm","18:00-18:50");
	   time_id.options[12] = new Option("7:00 - 7:50 pm","19:00-19:50");
	   time_id.options[13] = new Option("8:00 - 8:50 pm","20:00-20:50");   
	}
	else if(d.getDay()==0 || d.getDay()==6){
		for(i=time_id.options.length-1;i>=1;i--)
			time_id.remove(i);
		alert('Please select valid day from Monday through Saturday.');	
    }
		
}

function ToggleActiveUser(e,uid)
{
    var status = e.checked ? 'inactive' : 'active';
    xhr.open('GET', 'changestatus.php?uid='+uid+'&status='+status, true);
//    xhr.onreadystatechange = function() {
//        if (xhr.readyState != 4 && xhr.status != 200) return;
//    }
    xhr.send(null);
}


function CheckAgreement(id)
{
    var e = document.getElementById(id);
    if (!e) return false;
    if (e.checked) return true;
    alert('You must designate that you agree');
    return false;
}

function CheckREBT(total)
{
    var elems = document.rebt_form.elements;
    var count = 0;
    for (var i = 0; i < elems.length; i++) { 
        if  (elems[i].checked) count++;
    }
    if (count != total) {
        alert("You must answer all of the questions");
        return false;
    }
    return true;
}

function MarkIt(msg_id,user_id)
{
    xhr.open('GET', 'markit.php?msg_id='+msg_id+'&user_id='+user_id, true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState != 4 && xhr.status != 200) return;
        var e = document.getElementById('markit_'+msg_id);
        if (!e) return;
        e.style.display = 'none';
    }
    xhr.send(null);
}


function datePickerClosed()
{
    var e0 = document.getElementById('dt1');
    var e1 = document.getElementById('time_opts');

    if (!e0 || !e1) return;

    xhr.open('GET', 'timeopts.php?d='+e0.value, true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState != 4 && xhr.status != 200) return;
        e1.innerHTML = xhr.responseText;
    }
    xhr.send(null);
}

