var xmlHttp;
var errorFound=0;
var errorMessage = '';
function newEvent(){
    var newcalendardiv = document.getElementById('newcalendar');
    var editcalendardiv = document.getElementById('editcalendar');

    editcalendardiv.style.display = 'none';
    newcalendardiv.style.display = 'block';

    var calendarstatediv = document.getElementById('calendarstate');
    calendarstatediv.innerHTML = "New Calendar Events"

    clear_event_div();
    var eventDiv = document.getElementById('event');
    var eventtitle = document.createElement('span');
    var titlelabel = document.createElement('label');
    var eventdate = document.createElement('input');
    var datelabel = document.createElement('label');
    var title = document.createElement('input');
    var contentlabel = document.createElement('label');
    var content = document.createElement('textarea');
    var newDiv = document.createElement('div');
    var saveButton = document.createElement('input');
    var clearButton = document.createElement('input');
    var brelement = document.createElement('br');
    newDiv.id = 'neweventdiv';
    newDiv.style.borderWidth = '1';
    newDiv.style.borderColor = '#0000ff';
    newDiv.style.borderStyle ='solid';
    newDiv.style.width = '420px';
    newDiv.style.marginBottom = '5px';
    newDiv.style.fontSize = '12px';
    datelabel.innerHTML = "<b>Date:</b> <br>";
    titlelabel.innerHTML = "<br><b>Title:</b> <br>";
    contentlabel.innerHTML = "<br><b>Content:</b> <br>";
    content.id="newcontent";
    title.id="newtitle" ;
    eventdate.id = "eventdate";
    eventdate.disabled = true;
    saveButton.id = "saveevent";
    saveButton.type = 'button';
    saveButton.value = 'Save';
    saveButton.setAttribute("onClick", "save_event()");
    clearButton.id = "clearevent";
    clearButton.type = 'button';
    clearButton.value = 'Clear';
    clearButton.setAttribute("onClick", "clear_event()");
    newDiv.appendChild(datelabel);
    newDiv.appendChild(eventdate);
    newDiv.appendChild(titlelabel);
    newDiv.appendChild(title);
    newDiv.appendChild(contentlabel);
    newDiv.appendChild(content);
    newDiv.appendChild(brelement);
    newDiv.appendChild(saveButton);
    newDiv.appendChild(clearButton);
    eventDiv.appendChild(newDiv);
}
function clear_event(){
     document.getElementById('newtitle').value = '';
     document.getElementById('newcontent').value = '';
     document.getElementById('eventdate').value = '';
}
function save_event(){
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
     alert ("Browser does not support HTTP Request");
     return false;
    }
    errorFound=0;
    errorMessage = '';
    if (document.getElementById('eventdate').value == ''){
        alert('Choose a date from the calendar.');
        return false;
    }
    if (document.getElementById('newtitle').value == ''){
        alert('You must have at least a title with the event.');
        return false;
    }
    var dateArray = document.getElementById('eventdate').value.split('/');
    var date =dateArray[2]+'-'+dateArray[0]+'-'+dateArray[1];
    var title = document.getElementById('newtitle').value;
    var content = document.getElementById('newcontent').value;
    var url="add_calendar_events.php";
    url=url+"?date="+date;
    url=url+"&title="+title;
    url=url+"&content="+content;
    xmlHttp.onreadystatechange=addevent_stateChanged;
    xmlHttp.open("POST",url,true);
    xmlHttp.send("");

}
function maintainEvent(){
    var newcalendardiv = document.getElementById('newcalendar');
    var editcalendardiv = document.getElementById('editcalendar');

    newcalendardiv.style.display = 'none';
    editcalendardiv.style.display = 'block';

    var calendarstatediv = document.getElementById('calendarstate');
    calendarstatediv.innerHTML = "Maintain Calendar Events"

    clear_event_div();
}
//Set date for event
function set_event_date(day,month,year){

    var dateElement = document.getElementById('eventdate');
    dateElement.value = month+'/'+day+'/'+year;

}
function show_event(day,month,year){

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
     alert ("Browser does not support HTTP Request");
     return false;
    }
    errorFound=0;
    errorMessage = '';
    var date =year+'-'+month+'-'+day;
    var url="../adminpanels/get_calendar_events.php";
    url=url+"?date="+date;
    xmlHttp.onreadystatechange=showevent_stateChanged;
    xmlHttp.open("POST",url,true);
    xmlHttp.send("");
    
}
function edit_event(day,month,year){

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
     alert ("Browser does not support HTTP Request");
     return false;
    }
    errorFound=0;
    errorMessage = '';
    var date =year+'-'+month+'-'+day;
    var url="get_calendar_events.php";
    url=url+"?date="+date;
    xmlHttp.onreadystatechange=editevent_stateChanged;
    xmlHttp.open("POST",url,true);
    xmlHttp.send("");

}
function update_event(eventid){

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
     alert ("Browser does not support HTTP Request");
     return false;
    }
    errorFound=0;
    errorMessage = '';
    var eventID =eventid;
    var title = document.getElementById("title"+eventID).value;
    var content = document.getElementById("content"+eventID).value;
    var url="update_calendar_events.php";
    url=url+"?eventid="+eventID;
    url=url+"&title="+title;
    url=url+"&content="+content;
    xmlHttp.onreadystatechange=updateevent_stateChanged;
    xmlHttp.open("POST",url,true);
    xmlHttp.send("");

}
function delete_event(eventid){

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null){
     alert ("Browser does not support HTTP Request");
     return false;
    }
    errorFound=0;
    errorMessage = '';
    var eventID =eventid;
    var url="delete_calendar_events.php";
    url=url+"?eventid="+eventID;
    xmlHttp.onreadystatechange=deleteevent_stateChanged;
    xmlHttp.open("POST",url,true);
    xmlHttp.send("");

}
function updateevent_stateChanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        var xmlDoc=xmlHttp.responseXML;
        alert('Your Calendar Has Been Updated');
    }
}
function deleteevent_stateChanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        var xmlDoc=xmlHttp.responseXML;
        var eventID =xmlDoc.getElementsByTagName('id').item(0).firstChild.data;
        var elementObject = document.getElementById(eventID);
        var parentObject = document.getElementById('event');
        parentObject.removeChild(elementObject);
        alert('Your Calendar Event Has Been Deleted');
    }
}
function addevent_stateChanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        var xmlDoc=xmlHttp.responseXML;
        var eventDate =xmlDoc.getElementsByTagName('eventdate').item(0).firstChild.data;
        document.getElementById('eventdate').value = '';
        document.getElementById('newtitle').value = '';
        document.getElementById('newcontent').value= '';
        var calendarDate = document.getElementById(eventDate);
        if (calendarDate != null){
            calendarDate.className = "event_cls";
            var dateArray = eventDate.split('-');
            var clickFunction = "edit_event("+dateArray[2]+","+dateArray[1]+","+dateArray[0]+")";
            calendarDate.setAttribute('onClick',clickFunction);

        }
        alert('Your Calendar Event Has Been Added');
    }
}
function editevent_stateChanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        var xmlDoc=xmlHttp.responseXML;
        var number_of_events =xmlDoc.getElementsByTagName('numofevents').item(0).firstChild.data;
        var titles =xmlDoc.getElementsByTagName('titles').item(0).firstChild.data;
        var events =xmlDoc.getElementsByTagName('events').item(0).firstChild.data;
        var eventids =xmlDoc.getElementsByTagName('eventids').item(0).firstChild.data;
        var eventDiv = document.getElementById('event');
        var titleArray = titles.split('qfm');
        var eventArray = events.split('qfm');
        var idArray = eventids.split('qfm');
        clear_event_div()
        for (var alpha = 0; alpha < parseInt(number_of_events); alpha++){
            var newDiv = document.createElement('div');
            var updateButton = document.createElement('input');
            var deleteButton = document.createElement('input');
            newDiv.id = idArray[alpha];
            newDiv.style.borderWidth = '1';
            newDiv.style.borderColor = '#0000ff';
            newDiv.style.borderStyle ='solid';
            newDiv.style.width = '420px';
            newDiv.style.marginBottom = '5px';
            newDiv.style.fontSize = '12px';
            updateButton.id = "Ubutton_"+idArray[alpha];
            updateButton.type = 'button';
            var updateFunction = "update_event('"+idArray[alpha]+"')";
            updateButton.setAttribute("onClick", updateFunction);
            updateButton.value = 'Update';
            deleteButton.id = "Ubutton_"+idArray[alpha];
            deleteButton.type = 'button';
            var deleteFunction = "delete_event('"+idArray[alpha]+"')";
            deleteButton.setAttribute("onClick", deleteFunction);
            deleteButton.value = 'Delete';
            var newTitle = document.createElement('input');
            var newContent = document.createElement('textarea');
            newTitle.id = "title"+idArray[alpha];
            newTitle.type="text";
            newTitle.style.width = "100%";
            newTitle.value=titleArray[alpha]
            newContent.id ="content"+idArray[alpha];
            newContent.value = eventArray[alpha];
            newContent.style.width ="100%";
            newDiv.appendChild(newTitle);
            newDiv.appendChild(newContent);
            newDiv.appendChild(updateButton);
            newDiv.appendChild(deleteButton);
            eventDiv.appendChild(newDiv);

        }
    }
}
function showevent_stateChanged()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        var xmlDoc=xmlHttp.responseXML;
        var number_of_events =xmlDoc.getElementsByTagName('numofevents').item(0).firstChild.data;
        var titles =xmlDoc.getElementsByTagName('titles').item(0).firstChild.data;
        var events =xmlDoc.getElementsByTagName('events').item(0).firstChild.data;
        var eventids =xmlDoc.getElementsByTagName('eventids').item(0).firstChild.data;
        var starts =xmlDoc.getElementsByTagName('starts').item(0).firstChild.data;
        var ends =xmlDoc.getElementsByTagName('ends').item(0).firstChild.data;
        var date =xmlDoc.getElementsByTagName('date').item(0).firstChild.data;
        var eventDiv = document.getElementById('event');
        var titleArray = titles.split('qfm');
        var eventArray = events.split('qfm');
        var idArray = eventids.split('qfm');
        var startArray = starts.split('qfm');
        var endArray = ends.split('qfm');
        var dateArray = date.split('-');
        clear_event_div();
        var newDate = dateArray[1]+"-"+dateArray[2]+"-"+dateArray[0]
        var dateDiv = document.createElement('div');
        dateDiv.innerHTML = "<b>"+newDate+"</b><hr><br><br>";
        eventDiv.appendChild(dateDiv);
        for (var alpha = 0; alpha < parseInt(number_of_events); alpha++){
            var newDiv = document.createElement('div');
            newDiv.id = idArray[alpha];
            newDiv.style.borderWidth = '1';
            newDiv.style.borderColor = '#0000ff';
            newDiv.style.borderStyle ='solid';
            newDiv.style.width = '420px';
            newDiv.style.marginBottom = '5px';
            newDiv.style.fontSize = '12px';
            var eventContent = "";
            eventContent = "<b>"+titleArray[alpha]+"</b><br>";
            eventContent = eventContent+"<b>Start:</b> "+startArray[alpha]+" <b>Ends:</b> "+endArray[alpha]+"<br><hr>";
            eventContent = eventContent+eventArray[alpha]+"<br>";
            newDiv.innerHTML = eventContent;
            eventDiv.appendChild(newDiv);

        }
    }
}
function clear_event_div(){
    var eventDiv = document.getElementById('event');
    /*var childCount = eventDiv.getElementsByTagName('div').length;
    if (childCount > 0){
        var parentChildren = eventDiv.childNodes;
        // Clear last events
        for (var beta = 0; beta < childCount; beta++){
            var childElement = parentChildren[beta];
            eventDiv.removeChild(childElement);
        }
    }*/
    while (eventDiv.childNodes[0])
  {
    eventDiv.removeChild(eventDiv.childNodes[0]);
  }
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
function checkMail(email){
	var x = email;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)){
		 return true;
	}else {
          alert("Invalid Email");
          return false;
	}
}