
//************GLOBAL VARIABLES****
var XmlHttp
var ScriptEngine = "AjaxFunctionality.aspx";
var strVal = '';
//*******************************
function GetXmlHttpObject()
{
                                                                //alert('request');
	
var xmlHttp=null;
try
  {
//netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  xmlHttp.overrideMimeType('text/xml');

  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }

return xmlHttp; 	
}
//************FUNCTION FOR AJAX CALL********
function GetRequest(RequestValues, ActionCase)
{ 
  //alert("2");
  //alert(RequestValues);
  //alert(ActionCase);
  XmlHttp=GetXmlHttpObject();
	
	//IF REQUEST IS NULL IT MEANS BROWSER DOESNOT SUPPORT HTTP REQUEST
		
	if (XmlHttp==null)
	{
		alert ("BROWSER DOES NOT SUPPORT HTTP REQUEST.");
		return;
	} 	
    
	//SETTING SERVER SCRIPTING PAGE URL(Scripting Engine Page)
				
//	var url="../../Assets/pages/"+ScriptEngine;
	var url="/Assets/pages/"+ScriptEngine;
	url=url+"?ReqVal="+escape(RequestValues);

	url=url+"&ReqCase="+ActionCase;
	url=url+"&Random="+Math.random();
	//alert(url);
	XmlHttp.open("GET",url,false);
	XmlHttp.send(null);	
	StateChanged();

	


}

//***************AJAX RESPONSE FUNCTION***********************
function StateChanged() 
{   
	//alert(XmlHttp);
	if (XmlHttp.readyState==4 || XmlHttp.readyState=="complete")
	{ 	  
	    
		//STORING THE AJAX PROCESSED VALUE 		
		var ResponseValue = XmlHttp.responseText;

		// Ascii Code for æ is ALT + 1452
		//SPLITTING THE PROCESSED VALUE AND THE CASE FOR WHICH WE ARE PROCESSING REQUEST
				
		var ValCaseSplitter = ResponseValue.split("~");		
		var ProcessedValues = ValCaseSplitter[0];		
		var ProcessedCase = ValCaseSplitter[1];		
		//alert(ProcessedValues);
		//alert(ProcessedCase);

		
		//DEFINE  APPROPRIATE CASE FOR HANDLING PROCESSED VALUE
		
		
		switch(ProcessedCase)
		{
		   
			case 'SignIn':
	    		document.getElementById('hdnResult').value = ProcessedValues ;
            break;

			case 'LoggedOut':
	    		document.getElementById('hdnResult').value = ProcessedValues ;
            break;
            
            case 'EditEmailPassword':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            break;
            
            case 'EditSecurityQues':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;
            
            case 'EditPersonalDetails':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;
			
            case 'EditInterest':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;

            case 'DeActivateAccount':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            break;
            
            case 'SendEmailRecipes':
	    		document.getElementById('hdnResultRecipes').value = ProcessedValues ;
            	break;
           	 			
			case 'EmailOptin':
				document.getElementById('hdnResult').value = ProcessedValues;
				break;
            
            
            case 'MainWishlist':
	    		document.getElementById('divWishlistOverlay').innerHTML = ProcessedValues ;
            	break;
            
            case 'WishListConfirmation':
	    		document.getElementById('divWishlistOverlay').innerHTML = ProcessedValues ;
            	break;
            
            case 'isProductExistsInWishlist':
	    		document.getElementById('hdIsProductExistsInWishlist').value = ProcessedValues ;
            	break;
            
            case 'isWishlistNameExists':
	    		document.getElementById('hdIsWishlistNameExists').value = ProcessedValues ;
            	break;
            
            case 'SearchProduct':
	    		document.getElementById('DivProductSearch').innerHTML = ProcessedValues ;
            	break;
            
            case 'SearchContent':
	    		document.getElementById('DivContentSearch').innerHTML = ProcessedValues ;
            	break;
            	
          	case "AddRecipeWishList":
          			//alert(ProcessedValues);
					
					var ProcessedValuesArray = ProcessedValues.split('!');
					
					//alert(ProcessedValuesArray[0]);
					//alert(ProcessedValuesArray[1]);


					if ( ProcessedValuesArray[0].toLowerCase() == 'exists' )
					{
					
						document.getElementById('divErrorMsg').innerHTML = "This item already exists in " + ProcessedValuesArray[1] + " Recipe Box." ;
					}
					
					else if ( ProcessedValuesArray[0]!= 'Error')
					{
										
						Popup.hide('divSaveRecipes');	
						
						//alert(ProcessedValuesArray[0]);
						document.getElementById('divSaveConfirmation').innerHTML = ProcessedValuesArray[0];
						//alert(document.getElementById('divSaveConfirmation').innerHTML);
						//alert(document.getElementById('divSaveConfirmation'));

						Popup.showModal('divSaveConfirmation');
					}
					
					///////  old code without list name
										
					//if ( ProcessedValues.toLowerCase() == 'exists' )
					//{
					//
					//	document.getElementById('divErrorMsg').innerHTML = "This item already exists.";
					//}
					//
					//else if ( ProcessedValues != 'Error')
					//{
					///					
					//	Popup.hide('divSaveRecipes');	
					//
					///	document.getElementById('divSaveConfirmation').innerHTML = ProcessedValues;
					//	
					//	Popup.showModal('divSaveConfirmation');
					//}					
								
				break;	


			  case "UseNCare":
			       document.getElementById('hidAJAXVal').value = ProcessedValues ;
			    break;
                      	
			case "AddComment":
			       document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			    break;
			    
			case 'AddItemToRetailer':
	    		document.getElementById('hdnResultRegistry').value = ProcessedValues ;
            	break;
            
			 case 'OnCategoryChanged':
	    		document.getElementById('hdnResultRegistry').value = ProcessedValues ;
            	break;
             case 'OnProductLineChange':
	    		document.getElementById('hdnResultRegistry').value = ProcessedValues ;
            	break;
			 case 'EditEmailoptIn':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;
             case 'CheckAvailble':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;
			case "OnCategoryChangedRegistry":
					document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;
			case "OnProductChangedRegistry":
					document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;
			case 'DeleteComment':
	    		document.getElementById('hdnResultRecipes').value = ProcessedValues ;
            	break;
			case 'RemoveItemWishlist':
	    		document.getElementById('hdnResultRecipes').value = ProcessedValues ;
            	break;

			case 'CheckEmailId':
	    		document.getElementById('hdnResultProfile').value = ProcessedValues ;
            	break;
            case 'SendEmailProduct':
	    		document.getElementById('hdnResultProduct').value = ProcessedValues ;
            	break;
            	
            case "OnCountryChangedStates":
				document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;	
			case "OnStoreChangedRetailers":
				document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;	
            case "OnCategoryChangedBrandsList":
				document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;	
			case "AddReceipeComment":
			       document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			    break;
			case "DeleteReceipeComment":
			       document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			    break;
			case "RemoveItemReceipeWishlist":
			       document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			    break;
			    
			case "SendSharedRecipe":			
			
			if ( ProcessedValues.toLowerCase() == 'fail' ) 
			{
				document.getElementById('sErrorShareRecipe').style.color = 'red';			
				document.getElementById('sErrorShareRecipe').innerHTML = "Failed to Send Mail Error" ;
			}
			else
			{			   			  			   	
				Popup.hide('divShareRecipes');
				document.getElementById('ShareConfirmationDiv').innerHTML = ProcessedValues;					
				Popup.showModal('ShareConfirmationDiv');
			
			}
			
			break;
			
			case "SharedProductWishlist":			  
			
			document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			
			break;
			
			case "SharedRecipeWishlist":			  
			
			document.getElementById('hdnResultRecipes').value = ProcessedValues ;
			
			break;
			
			//UPDATED ON 7-OCT-09
				 case 'OnProductRegistrationProductLineChange':
				 //alert(ProcessedValues );
				document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;
				
			  //update by kuber dutta on 08-oct-09 
				case "OnStoreChangeReNew":
				document.getElementById('hidAJAXVal').value = ProcessedValues ;
				break;	

			
			case "SendSharedArticle":
			  
			 
				if ( ProcessedValues.toLowerCase() == 'fail' ) 
				{
					document.getElementById('sErrorShareArticle').style.color = 'red';

				    document.getElementById('sErrorShareArticle').innerHTML = "Failed to Send Mail Error" ;
			   }
			   else
			   {			   			  			   	
					Popup.hide('divShareArticle'); 					
					document.getElementById('ShareConfirmationDiv').innerHTML = ProcessedValues;					
					Popup.showModal('ShareConfirmationDiv');
				   
			   }

	   		 break;


          }
          
         return true;
										
	}
}