﻿var FirstLogin = false;

function GetSessionValue(service, params, OnSuccess)
{
	 $.ajaxSetup(
	 {
		  timeout:100000,
		  dataType:"json",
		  error:function(xhr)
		  {
			   if(xhr.status==404)	return null;
		  }
	 }
	 )

	 $.post("services/"+service+".aspx",params, OnSuccess);
}

/*
	functionality (Have to wait until meta is changed 4/24/2009)
	itm="1" nam="View Property (Result)
	itm="2" nam="View Property (Detail)
	itm="3" nam="Logon
	itm="4" nam="Inquire Property
	itm="5" nam="Print Property Detail Page
	itm="6" nam="Email this Property Detail Page
	itm="7" nam="Save this Listing
	itm="8" nam="Rate this Listing
	itm="9" nam="Property Comments
	itm="10" nam="Save this Search
	itm="11" nam="View Virtual Tour
	itm="12" nam="View Mortgage Calculator
	itm="13" nam="Map Property
	itm="14" nam="Schedule A Showing
	itm="15" nam="Remove Saved Listing
*/
function DoLoginAndProcess(fnty, param, needLogin)
{	
    if(needLogin)
    {
	    GetSessionValue('GetLoginStatus',
		  'time=' + Math.random(),
		  function(Session) {
			   params = param;
			   functionality = fnty;
			   NeedLogin = false;
			   
			   if( (Session.ContactKey==null) || (Session.ContactKey=='undefined') || (Session.ContactKey=='') ) NeedLogin = true;
			   if(NeedLogin) {
					tb_show("Login", "Popup_HomeAlertLogin.aspx?height=225&width=480&fun="+fnty, null);
			   }	else {
					DoProcess(fnty);
			   }
		  }
		  );
    }
    else
    {
        
        params = param;
        functionality = fnty;
        DoProcess(fnty);
        
    }
}




function DoLogin(msgcontainer, frm, OnSucess)
{
    $("#"+msgcontainer).html('<img src="'+LoadingImage+'" />');
    
    //values in the forms
    var myfrmval=$("#" + frm).serialize();
    
    //setting up the ajax values
    $.ajaxSetup(
    {
        timeout:100000,
        dataType:"text",
        error:function(xhr)
        {
            $("#"+msgcontainer).html(xhr.status);
        }
    }
    )
    //ajax call
    $.post("services/UserLogin.aspx", myfrmval, OnSucess);
}

function DoProcess(loginStatus)
{
    GetSessionValue('GetLoginStatus',
	  'time=' + Math.random(),
	      function(Session) {
             _UserKey = Session.ContactKey;
	         if(isNaN(loginStatus))
	         {	
		          $("#msgLoginStatus").html(loginStatus);
		          return;
	         }
	         switch(functionality)
	         {
                  case 3:  location.replace('NewAccount.aspx'); break;
                  case 4:  tb_show("Inquire About this Property", "Popup_RequestInfo.aspx?height=425&width=480&"+params, null); break; 
                  case 6:  tb_show("Email This Property", "Popup_EmailListing.aspx?height=325&width=400&"+params, null); break;
                  case 7:  tb_remove(); SaveListings(params); break;/////tb_show("Save this Property", "Popup_SaveListing.aspx?height=200&width=400&"+params, null); break;
                  case 8:  tb_remove(); SaveListings(params); break;
                  case 9:  tb_remove(); SaveListings(params); break;
                  case 10: tb_show("Save Search", "Popup_SaveSearch.aspx?height=240&width=400&preSearch=true&"+params, null); break; //Save Search from search page
                  //case 12: tb_show("Mortgage Calculator", "Popup_MortgageCalculator.aspx?height=425&width=480&"+params, null); break;
                  //case 13: window.open(params); break;
                  case 14: tb_show("Schedule a showing", "Popup_ScheduleShowing.aspx?height=425&width=480&"+params, null); break;
                  case 15: tb_remove(); RemoveListings(params); break;
                  
                  case 101:  tb_show("Forgot Password", "Popup_ForgotPassword.aspx?height=100&width=300&"+params, null); break;
                  case 102:  tb_show("Contact Us", "Popup_ContactUs.aspx?height=550&width=430&"+params, null); break;
		          default: break;
		          
	         }	         
	         var iPropertyIndex = GetValueFromQueryString(params,"PropertyIndex");
	         if (functionality<100)SaveWebsiteActivity(functionality, iPropertyIndex);
	         return false;
	     }
	 )
}

function SaveWebsiteActivity(pEnumWebsiteActivity, pPropertyIndex){
    //if (_UserKey != "0" && _UserKey!=""){    
        if ($("#ctl00_mainContent_txtWebTrackAction").size())
        {
            $("#ctl00_mainContent_txtWebTrackAction").val(pEnumWebsiteActivity);
             if(pEnumWebsiteActivity !="12")                    
            __doPostBack('ctl00$mainContent$lnkWebTrack','');
        }else        
        {        
            $("#ctl00_mainContent_txtWebTrackActionType").val(pEnumWebsiteActivity);
            $("#ctl00_mainContent_txtWebTrackPropertyIndex").val(pPropertyIndex);
            __doPostBack('ctl00$mainContent$lnkTrackAction','');        
        }
//    }
}

function RemoveListings(params)
{
	 $.ajaxSetup(
	 {
		  timeout:100000,
		  dataType:"text",
		  error:function(xhr)
		  {
			   if(xhr.status==404)	return null;
		  }
   	 })

	 $.get("services/Popup_RemoveListings.aspx",params,
	    function (output)
	    {
	        var rating =GetValueFromQueryString(params,"rating");
	        var i = 1;
	        for(; i<=rating; i++)
	        {
	            $("#star" + i).attr("src", "img/rated_s.jpg");	            
	        }
	        for(; i<=5; i++)
	        {
	            $("#star" + i).attr("src", "img/star_s.jpg");	            
	        }
           var usage=GetValueFromQueryString(params,"usage");
           var fav=GetValueFromQueryString(params,"fav");
           
           if((usage==1)&&(fav!=1))
           {
           alert('Thank you !! This Property has been removed to your Save Listing');
           }

           else if(usage==5)
           {
           addnote();
           alert('Thank you !! Your Notes has  been removed');
           }
           if(fav==1)
           {
            alert('Thank you !! This Property has been removed from Favorite Listing');
           }
	    }
    );
}


function SaveListings(params)
{
	 $.ajaxSetup({
		  timeout:100000,
		  dataType:"text",
		  error:function(xhr){
			   if(xhr.status==404)	return null;
		  }
	 })

    var usage=GetValueFromQueryString(params,"usage");
    var fav=GetValueFromQueryString(params,"fav");
    var rating =GetValueFromQueryString(params,"rating");
    
	 $.get("services/Popup_SaveListings.aspx",params,
	    function (output)
	    {
	        if (rating!="")
	        {
	            var i = 1;
	            for(; i<=rating; i++)
	            {
	                $("#star" + i).attr("src", "img/rated_s.jpg");	            
	            }
	            for(; i<=5; i++)
	            {
	                $("#star" + i).attr("src", "img/star_s.jpg");	            
	            }
            }
           
           if((usage==1)&&(fav!=1))
           {
           $("#TotalFav").val(parseInt($("#TotalFav").val()) + 1);
           alert('Thank you !! This Property has been added to your Save Listing');
           //window.location.href = window.location.href;
           }
           else if(usage==5)
           {
           addnote();
           alert('Thank you !! Your Notes has  been added');
           //window.location.href = window.location.href;
           }else if(usage==3)
           {
            $("#TotalRated").val(parseInt($("#TotalRated").val()) + 1);
           alert('Thank you !! This Property has Rated ');
           //window.location.href = window.location.href;
           }
           if(fav==1)
           {
            alert('Thank you !! This Property has been added to Favorite Listing');
            $("#TotalFav").val(parseInt($("#TotalFav").val()) + 1);
            //window.location.href = window.location.href;
           }           
           window.location.href = window.location.href;
	    }
	    
	 
	    
	    
	 ); 
	 
	 
	 function addnote()
	 {
	 
	 
	 
	 
	 }
}


function submitFeedback()
{


}
