// JavaScript Document

var xmlHttp
var div;






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

	if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
	 try {
	  var xmlhttplocal = new XMLHttpRequest();
	 } catch (e) {
	  var xmlhttplocal=false;
	  alert('couldn\'t create xmlhttp object');
	 }
	}
	return(xmlhttplocal);
}


function sendRequest(method,url) {
	
	//var theUL = document.getElementById('unit_ul'+id_num); // the UL
	
	// switch UL with a loading div
	//theUL.innerHTML = '<div class="loading"></div>';
	//alert('This is for testing only\n'+method+'\n'+url);
	
    xmlhttp.open(method, url, true);
	//xmlhttp.open('get', theUL);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null);	
}



function sndReq(vote,uid,objid,ident) {
	//var theUL = document.getElementById('unit_ul'+id_num); // the UL
	
	// switch UL with a loading div
	//theUL.innerHTML = '<div class="loading"></div>';
	
    xmlhttp.open('get', 'gmcms/includes/rating_call.php?v='+vote+'&uid='+uid+'&objid='+objid+'&ident='+ident);
	//xmlhttp.open('get', theUL);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null);	
}

function handleResponse() {
  if(xmlhttp.readyState == 4){
		if (xmlhttp.status == 200){
       	
        var response = xmlhttp.responseText;
        var update = new Array();
		//alert('Response=\n'+xmlhttp.responseText); 


        if(response.indexOf('|') != -1) {
            update = response.split('|');
            changeText(update[0], update[1]);
        }
		}
    }
}

function changeText( div2show, text ) {
	
	//alert('DIV='+div2show+'\n\n\n\n'+text);
    // Detect Browser
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};

    // Grab the content from the requested "div" and show it in the "container"
    if (DOM) {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  else if(IE) {
        document.all[div2show].innerHTML = text;
    }
}


/* ******************************************************************************************************************* */

// Poll vote action
	var pollVote = {
			'form.pollform' : function(element){
				element.onsubmit = function(){
								
	var buf = new Array();
	var id=element.id;
		buf=id.split('_');
	
	var answer=null;
	var formid=buf[1];
	var frm=element.name

	
	// Get answer value
	
	var afn='answer'+formid;
	var len = document[frm].answer.length;
	
	for (var x=0; x < len; x++)
	{
		if (document[frm].answer[x].checked)
			answer = document[frm].answer[x].value; //document.getElementById(afn).value;
	}
	
	if (!answer)
	{
		alert('Fatal error!!\nNo value present for answer');
		return(false);
	}
//alert('Answer='+answer+'\n# Answers='+len); return false;
	
	
	var pidfn = 'pollid'+formid;
	var pid   = document.getElementById(pidfn).value;

	var uidfn = 'userid'+formid;
	var uid   = document.getElementById(uidfn).value;

	var pfn   = 'poll_protection'+formid;
	var ppfn  = document.getElementById(pfn).value;
	
	var vfn   ='uservoted'+formid;
	var voted = document.getElementById(vfn).value;

	var pcffn ='poll_cookfrequency'+formid;
	var cookiefreq= document.getElementById(pcffn).value;
	
	var pcdfn ='poll_cookduration'+formid;
	var cookieduraion = document.getElementById(pcdfn).value;
			
			//for testing	
			//alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
			//var url=element;
			//sndReq(theVote,theratingID,theuserIP,theunits); return false;		
			
			var url='gmcms/includes/poll_call.php?poll=post&pid='+formid+'&answer='+answer+'&uid='+uid+'&cfreq='+cookiefreq+'&cdur='+cookieduraion+'&voted='+voted;			 
			//alert(url); return false;
			sendRequest('get',url); return false;
			//showPage('',url);
			}
		}
		
	};

Behaviour.register(pollVote);



function postPoll(frm)
{
	var buf = new Array();

	buf=frm.split('_');
	
	var answer=null;
	var formid=buf[1];
		
	// Get answer value
	
	var afn='answer'+formid;
	var len = document[frm].answer.length;
	
	for (var x=0; x < len; x++)
	{
		if (document[frm].answer[x].checked)
			answer = document[frm].answer[x].value; //document.getElementById(afn).value;
	}
	
	if (!answer)
	{
		alert('Fatal error!!\nNo value present for answer');
		return(false);
	}
//alert('Answer='+answer+'\n# Answers='+len); return false;
	
	
	var pidfn = 'pollid'+formid;
	var pid   = document.getElementById(pidfn).value;

	var uidfn = 'userid'+formid;
	var uid   = document.getElementById(uidfn).value;

	var pfn   = 'poll_protection'+formid;
	var ppfn  = document.getElementById(pfn).value;
	
	var vfn   ='uservoted'+formid;
	var voted = document.getElementById(vfn).value;

	var pcffn ='poll_cookfrequency'+formid;
	var cookiefreq= document.getElementById(pcffn).value;
	
	var pcdfn ='poll_cookduration'+formid;
	var cookieduraion = document.getElementById(pcdfn).value;
			
			//for testing	
			//alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
			//var url=element;
			//sndReq(theVote,theratingID,theuserIP,theunits); return false;		
			
			var url='gmcms/includes/poll_call.php?poll=post&pid='+formid+'&answer='+answer+'&uid='+uid+'&cfreq='+cookiefreq+'&cdur='+cookieduraion+'&voted='+voted;			 
			//alert(url); return false;
			sendRequest('get',url); return false;
			//showPage('',url);
}




var pollAction = {
		'a.pollresults' : function(element){
			element.onclick = function(){
			var parameterString = this.href.replace(/.*\?(.*)/, "$1"); // onclick="sndReq('j=1&q=2&t=127.0.0.1&c=5');
			var parameterTokens = parameterString.split("&"); // onclick="sndReq('j=1,q=2,t=127.0.0.1,c=5');
			var parameterList = new Array();

			for (j = 0; j < parameterTokens.length; j++) {
				var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
				var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
				parameterList[parameterName] = parameterValue;
			}
			var action = parameterList['poll'];
			var pid = parameterList['pid'];
			var uid = parameterList['uid'];
			//for testing	
			//alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
			//var url=element;
			//sndReq(theVote,theratingID,theuserIP,theunits); return false;		
			
			var url='gmcms/includes/poll_call.php?poll='+action+'&pid='+pid+'&uid='+uid;
			 
			 
			 sendRequest('get',url); return false;
			//showPage('',url);
			}
		}
		
	};

Behaviour.register(pollAction);

var ratingAction = {
		'a.rater' : function(element){
			element.onclick = function(){
//alert(element);

			var parameterString = this.href.replace(/.*\?(.*)/, "$1"); // onclick="sndReq('j=1&q=2&t=127.0.0.1&c=5');
			var parameterTokens = parameterString.split("&"); // onclick="sndReq('j=1,q=2,t=127.0.0.1,c=5');
			var parameterList = new Array();

			for (j = 0; j < parameterTokens.length; j++) {
				var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
				var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
				parameterList[parameterName] = parameterValue;
			}
			var vote = parameterList['v'];
			var uid = parameterList['uid'];
			var objid = parameterList['objid'];
			var ident = parameterList['ident'];
			
			//for testing	
			//alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
			//var url=element;
			//sndReq(theVote,theratingID,theuserIP,theunits); return false;		
			 sndReq(vote,uid,objid,ident); return false;
			//showPage('',url);
			}
		}
		
	};
Behaviour.register(ratingAction);

//////////////////////////////////////////////////////
/*
function showPage(divid,url)
{ 
div=divid;
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
 
//var url="getuser.php"
//url=url+"?q="+str
//url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() 
{ 

if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById(div).innerHTML=xmlHttp.responseText;
 alert( 'Div='+div+'\n'+xmlHttp.readyState+'\n'+xmlHttp.responseText);
 
 } 
}


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 setITHML(id,html)
{
    my_div = document.getElementById(id);
    my_div.innerHTML = html ;
}

function setMessage(id,msg)

{
var theMessage = document.getElementById(id);
if (theMessage)
	theMessage.firstChild.nodeValue=msg;
}
*/

