// JavaScript Document
var timer = null;
var ajax = {
	func:null, xobj:null, obj:null,
	getXMLObject : function(){
		try{
			this.xobj = new XMLHttpRequest();
        }
		catch(e){
			try{
				this.xobj = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e){
					try{
						this.xobj = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch(e){
						alert("Your browser doesn't support AJAX");
					}
			}
		}
	},

    callurl : function(url, func){
        this.getXMLObject();
        this.func = func;
        this.xobj.onreadystatechange = this.handleResponse;
        this.xobj.open("GET", url + "&r=" + Math.random(), true);
        this.xobj.send(null);
    },

    handleResponse : function(){
        if(ajax.xobj.readyState == 4 || ajax.xobj.readyState == "complete"){
            var response = ajax.xobj.responseText;
			switch(ajax.func){
				case "lia":
					//alert(response);
					if(parseInt(response) == 0){
								with(ajax.obj.style){
									textDecoration = "none";
										color = "green";
								}
						ajax.obj.innerHTML = "User ID Available";
							}
							else{
								with(ajax.obj.style){
										textDecoration = "none";
										color = "red";
								}
								ajax.obj.innerHTML = "User ID Not-available";
							}
					break;
				case "zn":
					populateList(document.personal_form.zone, response);
					break;
				case "po":
					var msg = "";
					if(isNaN(response))
						msg = response;
					else{
						var s = parseInt(response);
						switch(ajax.obj.id){
							case "fu":
								if(s){
									msg = "Added successfully to your favourites.";
									ajax.obj.innerHTML = "Remove from favourites";
								}
								else{
									msg = "Removed successfully from your favourites list.";
									ajax.obj.innerHTML = "Add to favourites";
								}
								break;
							case "vm":
								if(s){
									msg = "Marked successfully as viewed profile.";
									ajax.obj.innerHTML = "Unmark from viewed";
								}
								else{
									msg = "Removed successfully from your viewed profiles list.";
									ajax.obj.innerHTML = "Mark as viewed";
								}
								break;
						}
					}
					document.getElementById('ms').innerHTML = msg;
					timer = setTimeout("removeMessage('ms')",5000);
					break;
				case "pl":
					var res = response.split('^');
					ajax.obj.innerHTML = res[0];
					ajax.obj.id = res[1];
					document.getElementById('plms').innerHTML = res[2];
					if(res[1])
						timer = setTimeout("removeMessage('plms')", 10000);
					else
						timer = setTimeout("removeMessage('rplink')", 10000);
					break;
				case "ms":
					//alert(response);
					if(ajax.obj){
						var res = response.split('^');
						ajax.obj.innerHTML = res[0];
						ajax.obj.id = res[1];
						document.getElementById('popup_page').innerHTML = res[2];
					}
					else
						document.getElementById('popup_page').innerHTML = response;
					break;
			 }
        } 
    }
}