var page_request = false;
   function makeRequest(url, parameters, containerid) {
      page_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         page_request = new XMLHttpRequest();
         if (page_request.overrideMimeType) {
            page_request.overrideMimeType('text/xml');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            page_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               page_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!page_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
//	  alert(parameters);
      page_request.onreadystatechange=function(){
			loadpage(page_request, containerid)
		}
      page_request.open('GET', url + parameters, true);
      page_request.send(null);
   }
   

   function loadpage(page_request, containerid) {
      if (page_request.readyState == 4) {
         if (page_request.status == 200) {
//          alert(page_request.responseText);
            result = page_request.responseText;
            document.getElementById(containerid).innerHTML = result;            
         } else {
//		 	alert(page_request.responseText);
            alert('There was a problem with the request.');
         }
      }
   }

function dom(id) {
    return document.getElementById(id);
}



function func(form)
{
   var str = "";
   var list = form.elements;
   var i = list.length;
   while(i --) {
      str += list[i].name + "=" + escape(list[i].value) + "&";
   }

   // AJAX RELATED CODE GOES HERE
	if( str!="")
	{
		return str;	
	}
	else
   {
	   return false;
	}
} 
/////////////////////////////////////// form get ajaxification

   function get(url,obj,id) {
      var getstr = "?";
      for (i=0; i<obj.childNodes.length; i++) {
         if (obj.childNodes[i].tagName == "INPUT") {
            if (obj.childNodes[i].type == "text") {
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            }
			if (obj.childNodes[i].type == "hidden") {
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            }
			if (obj.childNodes[i].type == "password") {
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            }
            if (obj.childNodes[i].type == "checkbox") {
               if (obj.childNodes[i].checked) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               } else {
                  getstr += obj.childNodes[i].name + "=&";
               }
            }
            if (obj.childNodes[i].type == "radio") {
               if (obj.childNodes[i].checked) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               }
            }
         }   
         if (obj.childNodes[i].tagName == "SELECT") {
            var sel = obj.childNodes[i];
            getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
         }
         
      }
      makeRequest(url, getstr, id);
   }
function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
          return false;
     else
          return true;
}

var xmlHttp;

function PurchaseAjaxSubmit(myfield,e) {
	var keycode;
	if (window.event)
		keycode = window.event.keyCode;
	else if (e)
		keycode = e.which;
	else
		return true;

	if (keycode == 13) {
		return false;
	}
	else
		return true;
}

function PurchaseAjaxLogin(page, frm_action) {
	var username = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var ajax = false;
	
	var frm = document.getElementById('frmorder');

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		ajax = new XMLHttpRequest();

		if (ajax.overrideMimeType) {
			ajax.overrideMimeType('text/html');
		}
	}
	
	else if (window.ActiveXObject) { // IE
		try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!ajax) {
		alert('Your browser does not support xml http request =]');
		return false;
	}

	var url = page + '?tmp=' + Math.random() + '&username='+ encodeURIComponent(username) + '&password=' + encodeURIComponent(password);
	ajax.onreadystatechange = function() {
		switch( ajax.readyState ) {
			
			case 1:
				document.getElementById('loginmsg').innerHTML = 'Verifying.. please wait..';
			break;
			
			case 4:
				if( ajax.status == 200 ) {
					if (ajax.responseText != 1 ) {
						document.getElementById('loginmsg').innerHTML = ajax.responseText
					} else {
						frm.action = frm_action;
						frm.submit();
						//location.reload();
					}
				}
				else {
					document.getElementById('loginmsg').innerHTML = 'Error: '+ajax.status+': '+ajax.statusText;
				}
			break;
			
		}
	}
	ajax.open('GET', url , true);
	ajax.send(null);
}

function TogglePurchaseAjaxLogin() {
	var elem = document.getElementById('PsychicAjaxLogin');
	var s;
	if( elem.style.display == 'block' )
		s = 'none';
	else
		s = 'block';
	
	elem.style.display = s;
}

function validateLogin(username, password) { 	
	var url="ajax.php?sid=" + Math.random() + "&username=" + username + "&password=" + password + "&action=validateLogin"
	xmlHttp=GetXmlHttpObject(validateLoginChanged)
	xmlHttp.open("GET", url , true)
	xmlHttp.send(null)	
} 

function validateLoginChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		if (xmlHttp.responseText == "**Invalid username or password.") {
			document.getElementById("loginmsg").innerHTML=xmlHttp.responseText
		} else {
			window.location = "memberPage.php"
		}
	} 
}

function updateCountryCity(region) { 	
	var url="ajax.php?sid=" + Math.random() + "&region=" + region + "&action=updateCountryCity"
	xmlHttp=GetXmlHttpObject(updateCountryCityChanged)
	xmlHttp.open("GET", url , true)
	xmlHttp.send(null)	
} 

function updateCountryCityChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		if (xmlHttp.responseText == "**Invalid username or password.") {
			document.getElementById("location").innerHTML=xmlHttp.responseText		
		}
	} 
}

function showPage(page) { 		
	var url="ajax.php?sid=" + Math.random() + "&page=" + page + "&action=showPage"
	xmlHttp=GetXmlHttpObject(showPageChanged)
	xmlHttp.open("GET", url , true)
	xmlHttp.send(null)	
} 

function showPageChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 		
		document.getElementById("output").innerHTML=xmlHttp.responseText
	} 
} 

function GetXmlHttpObject(handler) { 
	var objXmlHttp=null

	if (navigator.userAgent.indexOf("Opera")>=0) {
		alert("This example doesn't work in Opera") 
		return 
	}
	if (navigator.userAgent.indexOf("MSIE")>=0) { 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
			strName="Microsoft.XMLHTTP"
		} 
		try { 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} 
		catch(e) { 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0) {
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
} 