﻿	//*****************************************************************//
	//**  SCRIPT GENERAL  DE CALL  AJAX (JSON) POUR LISTE MAISON     **//
	//*****************************************************************//
	//** PAR MARC-ANDRÉ GIROUX BÉCHARD                               **//
	//** DATE : 2:09 PM 6/23/2011                                    **//
	//** POUR : EGP TECHNOVIRTUEL INC                                **//
	//*****************************************************************//
		//-------------------------------------------------------------------
		//*********** LISTE DES DONNÉES MEMOIRE POUR LE BINDER **************
		//-------------------------------------------------------------------
		var GlobalDataListing;
		var GlobalDataVille;
		var GlobalDataGenre;
		var GlobalDataType;
		var GlobalDataPrice;
		//-------------------------------------------------------------------

		
		//*********************************************************************
		// Call General Des WebService
		//*********************************************************************
		function CallGeneralDesWebService(){
			
			//Si c'est juste un postback en fait on recall 
			//pas tout on fait juste aller rechercher les données
			if(ParamObj.isDataPostBack == "1"){
				//Call webservice #1
					//alert("Web 5")
			
					CallDataSet1();
			} else{
				if(ParamObj.isService1OnLine == "0"){
					//alert("Web 1")
					CallDataSet1();
				}
				if(ParamObj.isService2OnLine == "0"){
					//alert("Web 2")
					CallDataSet2()
				}
				if(ParamObj.isService3OnLine == "0"){
					//alert("Web 3")
					CallDataSet3()
				}
				if(ParamObj.isService4OnLine == "0"){
					//alert("Web 4")
					CallDataSet4()
				}
			}
		
	
		}
		
        //******************************************************//
        // CALL GENERAL AU WEBSERVICE AVEC LA STRUCTURE...      // 
        //******************************************************//
        function CallDataSet1() {
		
			//MAIN WEBSEVICE CALL ! SET TO OFF TO NOT HAVE THE LISTING...
        		if(ParamObj.isMainBindingOff == "1"){
				ParamObj.isService1OnLine  = "1";
				
				if(  ParamObj.isDataPostBack == "0")
				{
					CallGeneralDesWebService();
				}
				return;
			}
			
			
            //URL DU CALL AU SERVICE
            var new_jsonx = $.getJSON(ParamObj.service1, ParamObj,
            function(data) {
                //FONCTION ASYC QUI RECOIS L'INFO...

                //VÃ&#8240;RIFIER LES ERREUR ===>
                if (data == null) {
                    BindErrorHouseList();
					GlobalDataListing = data;
                    return;
                };
                if (data.length == 0) {
                    BindErrorHouseList();
					GlobalDataListing = data;
                    return;
                };
                if (data[0] == null) {
                    BindErrorHouseList();
					GlobalDataListing = data;
                    return;
                };
                if (data[0].PageCount == null) {
                    BindErrorHouseList();
					
					GlobalDataListing = data;
                    return;
                };
                
				GlobalDataListing = data;

            });


           	new_jsonx.success(function() {
			if(  ParamObj.isDataPostBack == "1")
			{
				BindHouseList();
 			}

			if(ParamObj.isService1OnLine != "1"){
				ParamObj.isService1OnLine  = "1";
				BindHouseList();
				CallGeneralDesWebService();
				return;
			}
			


            });
        };
		

        //******************************************************//
        // CALL VILLE AU WEBSERVICE AVEC LA STRUCTURE...        //
        //******************************************************//
        //** ATTENTION SOUS CALL DE QueryPostBack                  **//
        //******************************************************//
        function CallDataSet2() {

            //URL DU CALL AU SERVICE
            var new_json = $.getJSON(ParamObj.service2,ParamObj,
                    function(datax) {
                        //FONCTION ASYC QUI RECOIS L'INFO...
                        //alert("je passe ici 1");
                        //VÃ&#8240;RIFIER LES ERREUR ===>
                        if (datax == null) {
                            BindErrorCheckBoxListCity();
                            return;
                        };
                        if (datax.length == 0) {
                            BindErrorCheckBoxListCity();
                            return;
                        };
                        if (datax[0] == null) {
                            BindErrorCheckBoxListCity();
                            return;
                        };

			GlobalDataVille = datax;

            });



            new_json.success(function() {
			if(ParamObj.isService2OnLine != "1"){
				ParamObj.isService2OnLine  = "1";
				BindCity();
             		 	CallGeneralDesWebService();
				return;
 			}
            });
        };

		
        //******************************************************//
        // CALL TYPE AU WEBSERVICE AVEC LA STRUCTURE...         //
        //******************************************************//
        //** ATTENTION SOUS CALL DE QueryPostBack                  **//
        //******************************************************//
        function CallDataSet3() {
            //URL DU CALL AU SERVICE
            var new_jsonvb = $.getJSON(ParamObj.service4, ParamObj,
                    function(datax2b) {
						GlobalDataGenre = datax2b;

                    });



            new_jsonvb.success(function() {
				if(ParamObj.isService3OnLine != "1"){
						ParamObj.isService3OnLine  = "1";
						BindGenre();
          					CallGeneralDesWebService();
						return;
 				}
            });
        };

 		//******************************************************//
        // CALL TYPE AU WEBSERVICE AVEC LA STRUCTURE...         //
        //******************************************************//
        //** ATTENTION SOUS CALL DE QueryPostBack                  **//
        //******************************************************//
        function CallDataSet4() {
	
            //URL DU CALL AU SERVICE
        var new_jsonvbdd = $.getJSON
		(ParamObj.service5,ParamObj,
            
            function(datax2bb) 
	    {
			 	ParamObj.maxprice  =  (parseInt(datax2bb.MinPrice) + 10000).toString();

				if ( datax2bb.MaxPrice != "0"){
			 		ParamObj.minprice  =  (parseInt(datax2bb.MaxPrice) - 10000).toString();
				} else{
				 	ParamObj.minprice  = datax2bb.MaxPrice;
				}
	    });



            new_jsonvbdd.success(function() {
	
			if(ParamObj.isService4OnLine != "1"){
				ParamObj.isService4OnLine  = "1";
				BindPrice();
                		ParamObj.isDataPostBack = "1";
				return;
			}	
            });
		
        };
