var AjaxWaitMsg = "<img src='../images/ajax-loader.gif' align='middle' />";
var AjaxWaitMsg2 = "Loading..."
var BlankMsg = "&nbsp;";
var updateClicked = false;

function addToWishList(i,divID, image){
	var sData="item="+i+"&image="+image;
	if (!image){
		showControl(divID, AjaxWaitMsg2);
		var ajax = AJAXRequest("post","members/update.php",sData,updateContent,null,divID);
	} else {
		showControl(divID, BlankMsg);
		var ajax = AJAXRequest("post","members/update.php",sData,updateContent,null,divID);
	}
}

function validate(form, suspect, pass){
	var bad = false;
	if (suspect != "" && suspect == pass){
		$("q").innerHTML = "";
		$("q").style.display = "none";
	} else if (suspect != "") {
		$("q").style.display = "block";
		$("q").innerHTML = "** Current password is Wrong";
		bad = true;
	}
	if (form.password.value != ""){
		if (form.password.value != form.retype.value){
			$("p").style.display = "block";
			$("p").innerHTML = "** Passwords don't Match";
			bad = true;
		} else {
			if (form.password.value.length <= 5){
				$("p").style.display = "block";
				$("p").innerHTML = "** Passwords must be greater than 5 characters";
				bad = true;
			} else {
				$("p").innerHTML = "";
				$("p").style.display = "none";
			}
		}
		if (suspect != pass) {
			$("q").style.display = "block";
			$("q").innerHTML = "** Current password is Wrong";
			bad = true;
		} else {	
			$("q").innerHTML = "";
			$("q").style.display = "none";
		}
	}
	if (bad){
		return false;
	} else {
  		return true;
  	}
}

function showControl(divID, msg) {
	var el = $(divID);
	if (el !== undefined && el != null) {
		el.innerHTML = msg;
	}
}
function makeVisible(divID){
	$(divID).style.display='';
}

function loadSubCategories(divID) {
	var sData="cat=" + document.getElementById("category").value;
	showControl(divID, AjaxWaitMsg2);
	var ajax = AJAXRequest("post","Search/selSubCat.php",sData,updateContent,null,divID);
}

function updateMember(divID){
		sData = "update=t&firstname=&lastname=&emailaddress=&password=";
		showControl(divID, AjaxWaitMsg2);
		var ajax = AJAXRequest("post","members/update.php",sData,updateContent,null,divID);	
}

function loadUpdate(divID){
	if (!updateClicked){
		$(divID).style.display='';
		sData = "";
		showControl(divID, AjaxWaitMsg2);
		var ajax = AJAXRequest("post","members/update.php",sData,updateContent,null,divID);	
		updateClicked = true;
	} else {
		$(divID).style.display = "none";
		updateClicked = false;
	}
}

function search(divID) {
	var sData="term=" + document.getElementById("termBox").value;
	if (document.getElementById("category").value != null) {
	  sData+="&cat=" + document.getElementById("category").value;
	}
	if (document.getElementById("subcategory") != null) {
	  sData+="&subcat=" + document.getElementById("subcategory").value;
	}
	if ( document.getElementById("termBox").value != null){
	  showControl(divID, AjaxWaitMsg);
	  var ajax = AJAXRequest("post","Search/results.php",sData,updateContent,null,divID);
	}
}

function updateContent(text, divID) {
	showControl(divID, BlankMsg); 
	showControl(divID, BlankMsg); 
	if (divID=="") {
		eval(text);
	} else {
		$(divID).innerHTML=text;
	}
}

function $(elementID) {
    return document.getElementById(elementID);
}

//-----------------------AJAX Commands------------------------------
// use: ajaxObj = GetXmlHttpObject();
function GetXmlHttpObject(){
	var obj = null;
	try {
		obj = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try{
			obj = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e2) {
			obj = null;
		}
	}
	if(!obj && typeof XMLHttpRequest != "undefined") {
		obj = new XMLHttpRequest();
	}
	return obj;
}

function AJAXRequest( method, url, data, process, async, target ) {
    var self = this;
	self.targetID = target;
	self.AJAX = GetXmlHttpObject();
	self.process = process;

	// create an anonymous function to log state changes
	self.AJAX.onreadystatechange = function( ) {
		//self.process(self.AJAX);
		if (self.AJAX.readyState == 4) {
			if (self.AJAX.status == 200) {
				if ( self.AJAX.responseText ) {
					//if (self.process=='undefined' || self.process==null) {
					if (!self.process) {
						eval(self.AJAX.responseText);
					} else {
						self.process(self.AJAX.responseText, self.targetID);
					}
				}
			}
		}
	}

	// if no method specified, then default to POST
	if (!method) {
		method = "POST";
	} else {
		method = method.toUpperCase();
	}

	if (typeof async == 'undefined' || async == null) {
		async = true;
	}
    
	self.AJAX.open(method, url, async);
	
	if (method == "POST") {
		self.AJAX.setRequestHeader("Connection", "close");
		self.AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		self.AJAX.setRequestHeader("Method", "POST " + url + "HTTP/1.1");
	}
	
	if ( !data ) data=""; 
	
	self.AJAX.send(data);

	return self.AJAX;
}
