
var controlToUpdate;

function ajaxFunction(url,typeOfControl,control)
{
      var ran= Math.floor(Math.random()*1000);
      controlToUpdate=control;
      var xmlHttp;
      try
      {
            // Firefox, Opera 8.0+, Safari
            xmlHttp=new XMLHttpRequest();
      }
      catch (e)
      {
            // Internet Explorer
            try
            {
                  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                  try
                  {
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                  }
                  catch (e)
                  {
                        alert("Your browser does not support AJAX!");
                        return false;
                  }
            }
      }
      
      xmlHttp.onreadystatechange=function()
      {
            if(xmlHttp.readyState==4)
            {
                  if(xmlHttp.status==200)
                  {
                       
                        handleAjaxResponse(xmlHttp.responseText,typeOfControl);
                  }
                  else
                  {
                        handleAjaxResponse("Error in handling HTML Request",typeOfControl);
                  }
            }
            else
            {
            }
      }
      xmlHttp.open("GET",url+"&ran="+ran,true);
      xmlHttp.send(null);
}
 

 /**
            Start of handle ajax function 
 */
 
function handleAjaxResponse(responseText,typeOfRequest)
{
 	
	if(typeOfRequest=="createschedule")
    {
    	
		
		
		return;
    }
	if(typeOfRequest=="getmodeltype")
      {
            document.getElementById(controlToUpdate).innerHTML=responseText;
            return;
      }
 	
 	if(typeOfRequest=="getupgradedetail")
    {
       
 		document.getElementById(controlToUpdate).innerHTML=responseText;
 		//controlToUpdate 
 		return;
    }
 	
	if(typeOfRequest=="addUpgradeDetailToCart")
    {
		//visibility:hidden;
		document.getElementById(controlToUpdate).style.visibility="visible";;
		document.getElementById('upgradeDetailDescription').innerHTML=responseText;
		//alert("Add Upgrade Status"+responseText)
       return;
         
    }
 	
 	if(typeOfRequest=="removeDevice")
    {
 		document.getElementById(controlToUpdate).style.visibility="visible";;
 		document.getElementById('upgradeDetailDescription').innerHTML=responseText;
 		//alert("Reove Device Status"+responseText)
    }
 	
 	if(typeOfRequest=="removeDetailFromService")
    {
 		document.getElementById(controlToUpdate).style.visibility="visible";;
 		document.getElementById(controlToUpdate).innerHTML=responseText;
 		//alert("Reove Device Status"+responseText)
    }
 	
 	
 	if(typeOfRequest=="addFreeUpgrade")
    {
 		document.getElementById(controlToUpdate).style.visibility="visible";;
 		//alert("Reove Device Status"+responseText)
 		return;
    }
 	if(typeOfRequest=="removeFreeUpgrade")
 	{
 		try
 		{
 			document.getElementById(controlToUpdate).style.visibility="visible";;
 		}
 		catch(error)
 		{
 		}
 		
 		return;
 	}
	if(typeOfRequest=="removeFreeUpgradeService")
    {
       
 		document.getElementById(controlToUpdate).innerHTML=responseText;
 		//controlToUpdate 
 		return;
    }
	
	if(typeOfRequest=="removeValueFromSession")
    {
       document.getElementById(controlToUpdate).innerHTML=responseText;
 		//controlToUpdate 
 		return;
    }
	if(typeOfRequest=="addScreenUpgrade")
    {
		//visibility:hidden;
		document.getElementById(controlToUpdate).style.visibility="visible";;
		document.getElementById('upgradeDetailDescription').innerHTML=responseText;
		//alert("Add Upgrade Status"+responseText)
       return;
         
    }
	if(typeOfRequest=="removeScreenUpgrade")
    {
		//visibility:hidden;
		document.getElementById(controlToUpdate).style.visibility="visible";;
		document.getElementById('upgradeDetailDescription').innerHTML=responseText;
		//		alert("Add Upgrade Status"+responseText)
       return;
         
    }
	
	
	if(typeOfRequest=="clearcartInfo")
    {
		document.location=controlToUpdate;
		return;
    }
	
	if(typeOfRequest=="updateuserInformation")
    {
 		document.getElementById('displayInformationform').innerHTML=responseText;
 		$("#informationDiv").hide(600);
		$("#scheduleUpdate").hide(300);
		
		if(document.getElementById('editoperation').value==1)
        {
		 $("#displayInformationform").show(300);
        }
        else 
        {
        	$("#scheduleUpdate").show(300);
        }
		 
 		return;
    }
	
	if(typeOfRequest=="getDateList")
    {
        document.getElementById('dateHTML').innerHTML=responseText;
        //alert(responseText.split("######")[1]);
        //updateCartPricing(responseText.split("######")[1]);
        return;
    }
 	
} 
      //End of handle  ajax function

  /**
   * Pick List  For getting model types For A Particular Model GUD  
   */
function getModelPickList(urlAppender,controlName,vc_apple_model_guid)
{
      //function isExists($tableName,$columcpnName,$value)
     var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=getmodeltype&vc_apple_model_guid="+vc_apple_model_guid;
     ajaxFunction(url,'getmodeltype',controlName);
} 
function getUpgradeDetail(urlAppender,controlName,fk_vc_upgrade_type_guid)
{
     //function isExists($tableName,$columcpnName,$value)
	//  alert(document.getElementById('i_apple_model_type_id'));
     var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=getupgradedetail&fk_vc_upgrade_type_guid="+fk_vc_upgrade_type_guid+"&i_apple_model_type_id="+document.getElementById('i_apple_model_type_id').value;
    //alert(url);
     ajaxFunction(url,'getupgradedetail',controlName);
} 

function removeUpgrade(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	document.getElementById("removeDiv"+i_upgrade_model_id).style.visibility="hidden";
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeDevice&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'removeDevice',controlName);

			}

function addUpgrade(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	document.getElementById("addDiv"+i_upgrade_model_id).style.visibility="hidden";
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=addUpgradeDetailToCart&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'addUpgradeDetailToCart',controlName);
}

function removeUpgradeService(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeDetailFromService&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'removeDetailFromService',controlName);
}


function addFreeUpgrade(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	document.getElementById("addDivFree").style.visibility="hidden";
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=addFreeUpgrade&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'addFreeUpgrade',controlName);

			}

function removeFreeUpgrade(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	try
	{
	document.getElementById("removeDivFree").style.visibility="hidden";
	}
	catch(error)
	{
	}
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeFreeUpgrade&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'removeFreeUpgrade',controlName);
}

function removeFreeUpgradeService(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	var url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeFreeUpgradeService&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'removeFreeUpgradeService',controlName);
}

function removeValueFromSession(urlAppender,controlName,valueToRemove)
{
	var url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeValueFromSession&valueToRemove="+valueToRemove;
	ajaxFunction(url,'removeValueFromSession',controlName);
}

function removeUpgradeForScreen(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	//alert("in remove");
	document.getElementById("removeDiv"+i_upgrade_model_id).style.visibility="hidden";
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=removeScreenUpgrade&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'removeScreenUpgrade',controlName);
}
function addUpgradeForScreen(urlAppender,controlName,i_upgrade_model_id,vc_apple_model_guid)
{
	//alert("in Add");
	document.getElementById("addDiv"+i_upgrade_model_id).style.visibility="hidden";
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=addScreenUpgrade&i_upgrade_model_id="+i_upgrade_model_id+"&vc_apple_model_guid="+vc_apple_model_guid;
	ajaxFunction(url,'addScreenUpgrade',controlName);
}

function clearCartInfo(urlAppender,controlName)
{
	//alert("in Add");
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=clearcartInfo";
	ajaxFunction(url,'clearcartInfo',controlName);
}
function saveCartUserInformation(urlAppender,query)
{
	var  url=urlAppender+"core-classes/ajaxcontrol.php";
	ajaxPostFunction(url,'updateuserInformation','',query);
}


function getDateList(urlAppender,date)
{
	 var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=getDateList&date="+date;
     ajaxFunction(url,'getDateList','calendar-container');
}


function saveCartUserInformation(urlAppender,query)
{
	var  url=urlAppender+"core-classes/ajaxcontrol.php";
	ajaxPostFunction(url,'updateuserInformation','',query);
}

function saveCartDetail(urlAppender)
{
	$("#informationDiv").hide(600);
	$("#scheduleUpdate").hide(300);
	$("#displayInformationform").hide(300);
	$("#thanksMessage").show(600);
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=createschedule";
    ajaxFunction(url,'createschedule','');
}
function ajaxPostFunction(url,typeOfControl,control,param)
{
      var ran= Math.floor(Math.random()*1000);
      controlToUpdate=control;
      var xmlHttp;
      try
      {
            // Firefox, Opera 8.0+, Safari
            xmlHttp=new XMLHttpRequest();
      }
      catch (e)
      {
            // Internet Explorer
            try
            {
                  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                  try
                  {
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                  }
                  catch (e)
                  {
                        alert("Your browser does not support AJAX!");
                        return false;
                  }
            }
      }
      xmlHttp.onreadystatechange=function()
      {
            if(xmlHttp.readyState==4)
            {
                  if(xmlHttp.status==200)
                  {
                      handleAjaxResponse(xmlHttp.responseText,typeOfControl);
                  }
                  else
                  {
                        handleAjaxResponse("Error in handling HTML Request",typeOfControl);
                  }
            }
            
      }
      
      xmlHttp.open("POST",url,true);
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", param.length+25);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.send(param+"&ran="+ran);
}



function updateSession(urlAppender,date,time)
{
	var userid=0;
	userid=document.getElementById('userid').value;
	var  url=urlAppender+"core-classes/ajaxcontrol.php?ajaxcurrentoperationtoperform=updateSession&date="+date+"&time="+time+"&userid="+userid;
    ajaxFunction(url,'updateSession',date+"_"+time);
}

