function login_submit()
{
   if(document.getElementById("password").value=="")
     alert("Şifrenizi girmeliniz");
  else if (document.getElementById("username").value=="")
     alert("Kullanıcı adınızı girmeliniz");
  else
     userLogin.submit();

}

function send_mail(id)
{
   window.open("mail_send.php?id="+id,"mail","scrollbars,width=400,height=400");
}

function getNewHTTPObject()
{
      var xmlhttp=false;
      if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
      	try {
      		xmlhttp = new XMLHttpRequest();
      	} catch (e) {
      		xmlhttp=false;
      	}
      }
      if (!xmlhttp && window.createRequest) {
      	try {
      		xmlhttp = window.createRequest();
      	} catch (e) {
      		xmlhttp=false;
      	}
      }
     return xmlhttp;
}

function DataManager() {
	// Properties
	var self = this;
	self.RequestCompleteEvent = null;
	this.RequestCompleteEvent = self.RequestCompleteEvent;
	self.RequestFailedEvent = null;
	this.RequestFailedEvent = self.RequestFailedEvent;
	// Param is a property where you can store information which you may require
	// once the datahandler is complete. For example, the translation of the
	// word "complete" for alerting that something is finished. It can be
	// referenced from within the RequestCompleteEvent or RequestFailedEvent
	// events with this.Param.
	self.Param = null;
	this.Param = self.Param;

	// Methods
	this.CreateDataHandler = function(Request) {
		var DataHandler = function() {
			if (Request.readyState == 4) {
				if (Request.status == 200) {
					self.RequestCompleteEvent(Request);
				} else {
					self.RequestFailedEvent(Request);
				}
			}
		}
		DataHandler.Request = Request;
		DataHandler.RequestCompleteEvent = self.RequestCompleteEvent;
		DataHandler.RequestFailedEvent = self.RequestFailedEvent;
		DataHandler.Param = self.Param;
		return DataHandler;
	}
	this.InitiateXmlHttpRequest = function() {
		var Request = null;
		try {
			Request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				Request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(oc) {
				Request = null;
			}
		}
		if (!Request && typeof(XMLHttpRequest) != "undefined") Request = new XMLHttpRequest();
		if (!Request) alert("Failed to create new ajax request.");
		return Request;
	}
	this.LoadData = function(DataSource) {
		// Debug
		// document.location = DataSource;
		var Request = this.InitiateXmlHttpRequest();
		if (Request != null) {
			try {
				Request.onreadystatechange = this.CreateDataHandler(Request);
				Request.open("GET", DataSource, true);
				Request.send(null);
			} catch(oc) {
				alert(oc);
			}
		}
	}
}


function HandleFailure(Request) {}


function PollState(req)
{
   if(req.ResponseText=="-1")
   {
     alert("Bu ankete daha önce oy verdiniz.");
   }
   else
   {
     document.getElementById("poll_txt").innerHTML  = req.ResponseText;
   }

}


function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // 


function getSelectedRadioValue(buttonGroup) {

   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
}

function vote_poll()
{
   
   var vote_val  = document.getElementById("vote").value;
   //alert(vote_val );
   if(vote_val !="")
   {
    var dm = new DataManager();
    dm.RequestCompleteEvent = PollState;
    dm.RequestFailedEvent = HandleFailure;
    dm.LoadData("xml.php?act=vote&poll_id="+document.getElementById("poll_id").value+"&vote="+vote_val );
   }
}


function VoteState(req)
{
   if(req.responseText=="-1")
   {
      alert("Oylamak için üye girişi yapmanız gerekmektedir");
   }
   else if(req.responseText=="1")
   {
       alert("Bu kitabı daha önce oyladınız.");
   }
   else
   {
       document.getElementById("rateBook").innerHTML =  req.responseText;
   }

}

function vote_book(id,rate)
{

    var dm = new DataManager();
    dm.RequestCompleteEvent = VoteState;
    dm.RequestFailedEvent = HandleFailure;
    dm.LoadData("xml.php?act=rate&id="+id+"&rate="+rate);
}
