﻿function isValidDate(val)
 {
    var val=val.split("/");    
    val=val[1] +"/" +val[0] + "/" +val[2];
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    var errorMessage = 'Please enter valid date as month, day, and four digit year.\nYou may use a slash, hyphen or period to separate the values.\nThe date must be a real date. 2-30-2000 would not be accepted.\nFormay mm/dd/yyyy.';
    if ((val.match(RegExPattern)) && (val!='')) 
    {
        return true; 
    } 
    else 
    {
        return false;
        fld.focus();
    } 
}
function isValidTime(tm)
{
    var tm1=tm.split(":");
    var hh=tm1[0];
    var mm1=tm1[1].split(" ");
    var mm=mm1[0];
    if(!(hh>=0 && hh<=12))
    {
       return(false);
       alert("Enter Valid Time");
    }       
    else if(!(mm>=0 && mm<=59))
    {
       return(false);
       alert("Enter Valid Time");
    }    
    else
       return(true);
}
function fixPosition(divname) {
 divstyle = getDivStyle(divname);
 positionerImgName = divname + 'Pos';
 // hint: try setting isPlacedUnder to false
 isPlacedUnder = false;
 if (isPlacedUnder) {
  setPosition(divstyle,positionerImgName,true);
 } else {
  setPosition(divstyle,positionerImgName)
 }
}
function toggleDatePicker(eltName,formElt,dt,req) { 
  fixPositions(); 
  var x = formElt.indexOf('.');  
  var formName = formElt.substring(0,x);  
  var formEltName = formElt.substring(x+1);  
  newCalendar(eltName,document.getElementById(formEltName),dt,req);  
  toggleVisible(eltName,"Y");
  
}
// fixPositions() puts everything back in the right place after a resize.
function fixPositions()
{
 // add a fixPosition call here for every element
 // you think might get stranded in a resize/reflow.
 fixPosition('daysOfMonth');
 //fixPosition('daysOfMonth2');
} 
function Cancel() {
        hideElement("daysOfMonth");
}

 var inlinewin;
 var linkIDg;
 var dt;
 var time;
function openWindow(linkID)
{   
    var arr=linkID.split("~");
    var QID=arr[2]; 
    var tm=arr[3].split(":")    
    var hh=tm[0];    
    var x=tm[1].split(" ");
    var mm=x[0];
    var ampm=x[1];
    
    var content="";  
    content="<table><tr><td align='center'><div id='daysOfMonth'></div></td></tr><tr><td style='font: bold 12px Arial;'>Date &nbsp;&nbsp;&nbsp; <input type='text' id='txtDate' name='txtDate' value='" + arr[2] + "'>"   
    + "<img onmouseup=toggleDatePicker('daysOfMonth','aspnetForm.txtDate') id='daysOfMonthPos' name='daysOfMonthPos' width=20 height=20 src='windowfiles/calendaricon.gif' align=absmiddle border=0 alt='date picker' style='visibility:hidden'></td></tr>"     
    + "<tr><td align='left' style='font: bold 12px Arial;'>Time &nbsp;&nbsp;&nbsp;<input type='text' id='txtTimeHH' name='txtTimeHH' size='2' maxlength='2' value='" + hh + "'><b>:</b><input type='text' id='txtTimeMM' name='txtTimeMM' size='2' maxlength='2' value='" + mm + "'>" 
    + "&nbsp;<select id='ddlAMPM' name='ddlAMPM' size='1'> <option value =\"AM\">AM</option> <option value =\"PM\">PM</option> </select></td></tr><tr><td align='center' > <img id='but1' src='images/buttons/btn-save.gif' onclick=\"save('" + linkID + "')\">&nbsp;&nbsp;&nbsp;<img id='but1' src='images/buttons/btn-cancel.gif' onclick='HideWindow()'></td></tr></table>";    
    inlinewin=dhtmlwindow.open("broadcastbox", "inline",content ,"Change Closing Time", "width=250px,height=220px,left=350px,top=200px,resize=1,scrolling=0" , "recal");
    inlinewin.moveTo('middle','middle');
    inlinewin.isResize(false);
    var txtDate=document.getElementById("txtDate"); 
    var dt=txtDate.value;
    toggleDatePicker('daysOfMonth','aspnetForm.txtDate',dt,"Y");    
    
    var ctrlAMPM=document.getElementById("ddlAMPM");
    if(ampm=="AM")
       ctrlAMPM.options[0].selected=true;
    else if(ampm=="PM")
       ctrlAMPM.options[1].selected=true; 
     
  //  document.all("ddlAMPM").selectedIndex=1;
  //  alert(ctrlAMPM.value);
  //  ctrlAMPM.value="33";
    //ctrlAMPM.selectedIndex=2;
    
  //  inlinewin.onclose=function(){return window.confirm('ok')};  
      inlinewin.onclose=function(){return true};  
     
	/*		var basicCal = new calendar("FIELD:document.aspnetForm.txtDate;");
			basicCal.writeCalendar();*/		 
	//hideElement('daysOfMonth');
		 
    return;
}
function HideWindow()
{
    inlinewin.hide();
}
function doit(linkID)
{    
    linkIDg=linkID;
    var arr=linkIDg.split("~");
    var QID=arr[1];    
    var txtDate=document.getElementById("txtDate");   
     dt=txtDate.value
    
    var txtTimeHH=document.getElementById("txtTimeHH");
    var txtTimeMM=document.getElementById("txtTimeMM");
    var ddlAMPM=document.getElementById("ddlAMPM");
    time=txtTimeHH.value + ":" + txtTimeMM.value + " " + ddlAMPM.value;        

    var valid=true;
    if(!isValidDate(dt))
    {
        alert("Please Enter Valid Date");
        valid=false;
        return;
    }
    if(!isValidTime(time))
    {
        alert("Please Enter Valid Time");
        valid=false;
        return;
    }    
    if(valid==true)
    {     
     var date=dt.split("/");    
    var date1=date[1] +"/" +date[0] + "/" +date[2];
        var dateTime=date1 + " " + time;  
    TwentyFour.Answers.Web.AutoComplete.UpdateCloseTime(QID,dateTime,getMessage_Callback);    
   }    
}  
 function getMessage_Callback(res,eventArgs)
 {
     if(res!="S")     
     {
       alert(res);
     }
     if(res=="S")
     {
        var arr=linkIDg.split("~");
   
    var lnk=document.getElementById(linkIDg);  
    lnk.id=arr[0] + "~" + arr[1] + "~" + dt + "~" + time; 
        
        alert("Closing Date/Time has been saved successfully");
        inlinewin.hide();    
     }
         //alert("Closed time has been saved successfully");
 }
 function save(linkid)
 {
   var x= doit(linkid);   
 }