// Just a stub function we'll tell ajaxObject to call when it's done
// callback functions get responseText, and responseStat respectively
// in their arguments.
function fin(responseTxt,responseStat) {
  //alert(responseStat+' - '+responseTxt);
}

// create a new ajaxObject, give it a url it will be calling and
// tell it to call the function "fin" when its got data back from the server.
//var test1 = new ajaxObject('http://someurl.com/server.cgi',fin);
//    test1.update();
               
// create a new ajaxObject, give it a url and tell it to call fin when it
// gets data back from the server.  When we initiate the ajax call we'll
// be passing 'id=user4379' to the server.           
//var test2 = new ajaxObject('http://someurl.com/program.php',fin);
//    test2.update('id=user4379');
               
// create a new ajaxObject but we'll overwrite the callback function inside
// the object to more tightly bind the object with the response hanlder.


// create a new ajaxObject and pass the data to the server (in update) as
// a POST method instead of a GET method.
//var test4 = new ajaxObject('http://someurl.com/postit.cgi', fin);
//   test4.update('coolData=47&userId=user49&log=true','POST'); 


function ajaxObject(url, callbackFunction) {
	var that=this;     
  	this.updating = false;
  	this.abort = function() {
    	if (that.updating) {
      		that.updating=false;
      		that.AJAX.abort();
      		that.AJAX=null;
    	}
	}
	this.update = function(passData,postMethod) {
    	if (that.updating) { 
			return false;
		}
    	that.AJAX = null;                         
    	if (window.XMLHttpRequest) {             
      		that.AJAX=new XMLHttpRequest();             
    	} else {                                 
      		that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
    	}                                             
    	if (that.AJAX==null) {                             
      		return false;                               
    	} else {
      		that.AJAX.onreadystatechange = function() { 
        		if (that.AJAX.readyState==4) {             
          			that.updating=false;               
          			that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);       
          			that.AJAX=null;                                         
        		}                                                     
      		}                                                       
      		that.updating = new Date();                             
      		if (/post/i.test(postMethod)) {
        		var uri=urlCall+'?'+that.updating.getTime();
        		that.AJAX.open("POST", uri, true);
        		that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        		that.AJAX.send(passData);
      		} else {
        		var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime());
        		that.AJAX.open("GET", uri, true);                             
        		that.AJAX.send(null);                                         
      		}             
      		return true;                                             
    	}                                                                           
  	}
  	var urlCall = url;       
  	this.callback = callbackFunction || function () { };
  
}

function ShowChildMenu(id)
{
	//alert(id);
	link='menulist.php?id='+id;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		//alert(result);
		document.getElementById('parent_id').innerHTML = result;  
		//alert (parent_id);
		document.getElementById('parent_id').style.display = "block";	
	}
}


function ShowSubCatOptions(id,subid)
{
	link='remote.php?action=showsubcatoptions&id='+id;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		document.getElementById('parent_id').innerHTML = result;  
	}
}

function ShowSubCatOptionsNew(id,subid)
{
	link='remote.php?action=showsubcatoptionsnew&id='+id;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		document.getElementById('parent_id').innerHTML = result;  
		getAutoSuggestResults();
	}
}

function ShowSubCatOptionsAds(id)
{
	link='remote.php?action=showsubcatoptionsads&id='+id;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		document.getElementById('parent_id1').innerHTML = result;  
	}
}

function ShowCityOptionsAds(id)
{
	link='remote.php?action=showcityoptionsads&id='+id;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		document.getElementById('city_option').innerHTML = result;  
	}
}

function SelCountrySess(cnt)
{
	link='remote.php?action=selcountrysess&cnt='+cnt;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt;
		if(result != '')
		{
			document.getElementById('menucnt').innerHTML = result + '&nbsp;&nbsp;<img src="images/dropdown.jpg" border="0" />';  
			document.getElementById('menucty').innerHTML = 'Select City&nbsp;&nbsp;<img src="images/dropdown.jpg" border="0" />';
			SetCityOptions(result);
		}
	}
}

function SetCityOptions(cnt)
{
	link='remote.php?action=setcityoptions&cnt='+cnt;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt;
		document.getElementById('cutyopt').innerHTML = result;  
	}
}

function SelCitySess(cty)
{
	link='remote.php?action=selcitysess&cty='+cty;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt;
		if(result != '')
		{
			document.getElementById('menucty').innerHTML = result + '&nbsp;&nbsp;<img src="images/dropdown.jpg" border="0" />';  
		}
	}
}

function autoSuggest(val)
{
	link='remote.php?action=autosuggest&val='+val;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt;
		if(result != '')
		{
			document.getElementById('menucty').innerHTML = result + '&nbsp;&nbsp;<img src="images/dropdown.jpg" border="0" />';  
		}
	}
}
function getAutoSuggestResults()
{
	//alert('hello');	
	val = 'test';
	var cat = '';
	var subcat = '';
	
	cat = document.getElementById('category').value;
	subcat = document.getElementById('subcategory').value;
 	link='remote.php?action=getautosuggestresults&cat='+cat+'&subcat='+subcat;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt;
		//alert('hello'+result+'  END');		
		document.getElementById('hdnsugeeststr').value = result;
		//alert(document.getElementById('hdnsugeeststr').value);
	}
}

function doSearchResults()
{
	var category = document.getElementById('category').value;
	var subcategory = document.getElementById('subcategory').value;
	var keyword = document.getElementById('inputString').value;
	
	link='remote.php?action=dosearchresults&category='+category+'&subcategory='+subcategory+'&keyword='+keyword;
	var linkComp = link.split( "?");
	var result;
	var obj = new ajaxObject(linkComp[0], fin);
	obj.update(linkComp[1],"GET");
	obj.callback = function (responseTxt, responseStat) {
		// we'll do something to process the data here.
		result = responseTxt
		//alert(result);
		window.location.href = 'searchResult.php';
	}
}
	

function stripHTML()
{
	var re = /(<([^>]+)>)/gi;
	for (i=0; i < arguments.length; i++)
	{
		arguments[i].value=arguments[i].value.replace(re, "")
	}
}

function validateEnqFrm()
{
	if(document.getElementById('name').value == '')
	{
		alert("Please Enter Name");
		document.getElementById('name').focus();
		return false;
	}
	else if(document.getElementById('email').value == '')
	{
		alert("Please Enter Email");
		document.getElementById('email').focus();
		return false;
	}
	else if(echeck(document.getElementById('email').value) == false)
	{
		document.getElementById('email').focus();
		return false;
	}
	else if(document.getElementById('comm').value == '')
	{
		alert("Please Enter Message");
		document.getElementById('comm').focus();
		return false;
	}
	else
	{
		return true;
	}
}

function echeck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)
	{
	   alert("Invalid E-mail ID")
	   return false
	}
	
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid E-mail ID")
	   return false
	}
	
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid E-mail ID")
		return false
	}
	
	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 return true					
}

function validateLoginFrm()
{
	if(document.getElementById('MemberEmailid').value == '')
	{
		alert("Please Enter Login Id");
		document.getElementById('MemberEmailid').focus();
		return false;
	}
	else if(document.getElementById('MemberPassword').value == '')
	{
		alert("Please Enter Password");
		document.getElementById('MemberPassword').focus();
		return false;
	}
	else
	{
		return true;
	}
}


