﻿
//Function to clear the panels when add is clicked

function ShowEmptyContainer()
{
    method="ShowEmptyContainer";
    var isAdmin = ClickHandler.GetIsAdmin().value;
    CurrentServiceID = 0;
    var elements = document.getElementsByTagName("div");
    if(isAdmin)
        document.getElementById("DeleteService").style.display="none";
    
    for (i = 0; i < elements.length; i++)
    {
        var ctrl = elements[i];
        var myId = ctrl.id;
        if(myId.indexOf("pnlSerDescription") > -1)
        {
            if(isAdmin)  
                ctrl.innerHTML = "Lorem ipsum dolor sit amet";
            else
                ctrl.innerHTML = "";
        }
    }
    
    elements = document.getElementsByTagName("img");
    for (i = 0; i < elements.length; i++)
    {
        var ctrl = elements[i];
        var myId = ctrl.id;
        if(myId.indexOf("pnlSerImageCon") > -1)
        {   
            if(isAdmin)
                ctrl.style.display = "block";
            else
                ctrl.style.display = "none";
                
            ctrl.src="../ImagesOnUse/SampleTemp.jpg";
            
            var imageObj = ClickHandler.GetImageAttributes(TemplateId,myId);
            var img = imageObj.value;
            if(imageObj != null)
            {
                ctrl.style.height = img.MaxHeight;
                ctrl.style.width = img.MaxWidth;
            }
            ctrl.removeAttribute("alt");
            
             var imgTemp = ctrl;
             var imgDiv = ctrl.parentNode;
                if(imgDiv.tagName == "A")
                    imgDiv = imgDiv.parentNode;
                    
                if(imgDiv != null)
                {
                       var link = imgDiv.getElementsByTagName("a");
                        if(link.length > 0)
                        {
                            link[0].removeAttribute("target");
                            link[0].removeAttribute("href");
                        }
                            
                       
                }
           }
    }
    
    var cityContactBox = document.getElementById("chkSideBoxForCity");
    if(cityContactBox != null)
        cityContactBox.checked = false;
    
     method = null; 
}

var CurrentServiceID;
function ShowDataInContainer( dtSet )
{
    method="ShowDataInContainer";
    
    var isAdmin = ClickHandler.GetIsAdmin().value;
    var inheritDatatable = null;
    if(dtSet.Tables[0].Rows.length>0)
        CurrentServiceID = dtSet.Tables[0].Rows[0].ServiceID;
    else if(dtSet.Tables[1].Rows.length>0)
        CurrentServiceID = dtSet.Tables[1].Rows[0].ServiceID;
     
    if(CurrentServiceID > 0)
    { 
        if(isAdmin)
        document.getElementById("DeleteService").style.display="block";
        for (i = 0; i < dtSet.Tables[0].Rows.length; i++)
        {
            var ctrl = document.getElementById("pnlSerDescription" + dtSet.Tables[0].Rows[i].DescOrder);
            if (ctrl != null) 
            {
                inheritDatatable = ClickHandler.GetInheritDescriptionForService(TemplateId, dtSet.Tables[0].Rows[i].DescOrder, CurrentServiceID).value;
                if (inheritDatatable != null && inheritDatatable.Rows.length > 0) {
                    ctrl.innerHTML = inheritDatatable.Rows[0].BriefDescription;
                    if (isAdmin) {
                        var obj = document.getElementById('pnlSerDescription' + dtSet.Tables[0].Rows[i].DescOrder);

                        if (obj != null && typeof (obj) != "undefined") {
                            obj.removeAttribute("title");
                         //   obj.onmouseover = null;
                          //  var objectID = 'pnlSerDescription' + inheritDatatable.Rows[0].FromDescriptionOrder;
                            //obj.detachEvent('onmouseover');
                          //  obj.className = "OnDescriptionNormal";
                           // obj.attachEvent('onmouseover', function() { ChangeDescriptionStyleToRedHover('pnlSerDescription' + dtSet.Tables[0].Rows[i].DescOrder) });
                          
                        }

                    }
                    
                }
                else {
                    ctrl.innerHTML = dtSet.Tables[0].Rows[i].BriefDescription;
                    if (isAdmin) {

                        var obj = document.getElementById('pnlSerDescription' + dtSet.Tables[0].Rows[i].DescOrder);
                        if (obj != null && typeof(obj) != "undefined") {
                            //obj.onmouseover = null;
                            obj.removeAttribute("title");
                            //obj.detachEvent('onmouseover'); 
                           // obj.className = "OnDescriptionNormal";
                           // obj.attachEvent("onmouseover", function() { ChangeDescriptionStyleToHover('pnlSerDescription' + dtSet.Tables[0].Rows[i].DescOrder) });
                           
                        }
                    }
                }
              
            }
        }
        

        for (i = 0; i < dtSet.Tables[1].Rows.length; i++)
        {
            var ctrl = document.getElementById("pnlSerImageCon" + dtSet.Tables[1].Rows[i].imgOrder);
            if(ctrl != null)
            {   
                var imgObj = new Image();
                imgObj.src = dtSet.Tables[1].Rows[i].PathMediumImage;
                pause(100);
                
                
//                var imageObj = ClickHandler.GetImageAttributes(TemplateId,"pnlSerImageCon" + dtSet.Tables[1].Rows[i].imgOrder);
//                var img = imageObj.value;
        
                var imageObj = ClickHandler.GetImageSize(dtSet.Tables[1].Rows[i].PathMediumImage);

                if(imageObj != null)
                {
                    ctrl.style.height = imageObj.value.Height;
                    ctrl.style.width = imageObj.value.Width;
                    
                }
                ctrl.src = imgObj.src;
                if(dtSet.Tables[1].Rows[i].alt != "")
                    ctrl.alt = dtSet.Tables[1].Rows[i].alt;
                else
                    ctrl.removeAttribute("alt");
                
                var imgDiv = ctrl.parentNode;
                if(imgDiv.tagName == "A")
                    imgDiv = imgDiv.parentNode;
                
                var imgTemp = ctrl;
                if(imgDiv != null && (! isAdmin))
                {
                   if(dtSet.Tables[1].Rows[i].link != "none" && dtSet.Tables[1].Rows[i].link != "undefined")
                   {
                        var link = imgDiv.getElementsByTagName("a");
                        if(link.length > 0)
                        {
                            link[0].href = dtSet.Tables[1].Rows[i].link ;
                            if(dtSet.Tables[1].Rows[i].OpenNewWindow == true)
                                link[0].target = "_blank";
                            else
                                link[0].removeAttribute("target");
                        }
                        else
                        {
                            link = document.createElement("a");
                            link.href = dtSet.Tables[1].Rows[i].link;
                            if(dtSet.Tables[1].Rows[i].OpenNewWindow == true)
                                link.target = "_blank";
                            link.appendChild(imgTemp);
                            imgDiv.innerHTML = "";
                            imgDiv.appendChild(link);
                            
                        }
                   }
                   else
                   {
                       var link = imgDiv.getElementsByTagName("a");
                        if(link.length > 0)
                        {
                            link[0].removeAttribute("target");
                            link[0].removeAttribute("href");
                        }
                            
                       
                   }
                   
                }
                ctrl.style.display = "block";
            }
        }
         
        
       
        
    }   
    
    var show = ClickHandler.GetShowSideBoxWithCity(TemplateId,5,currentCity).value;
         if(isAdmin)
         {
             var cityContactBox = document.getElementById("chkSideBoxForCity");
            if(cityContactBox != null)
            {
                cityContactBox.checked = show;
            }
         }
         else
         {
            var cityContactBox = document.getElementById("CityContact");
            if(typeof(cityContactBox) != "undefined" && cityContactBox != null)
            {
                if(show)
                    cityContactBox.style.display="block";
                else
                    cityContactBox.style.display="none";
            }
         }
     method = null; 
}



//Function to display Data
function showData()
{

     var dt=ClickHandler.GetServiceInfo(TemplateId,currentCity);
//alert("Templateid:" + TemplateId + " city: " + currentCity);
        ShowEmptyContainer();
	if(dt != null)
{
     if(dt.value.Tables[0].Rows.length > 0 || dt.value.Tables[1].Rows.length > 0)
        ShowDataInContainer(dt.value);
        }
        document.body.style.cursor = 'default';
       method = null;      
}

//Function to save TempService

function SaveTempService()
{
    method="SaveTempService";
    if(currentCity == "")
        {
              alert("Select the city ");
              hideLoading();  
              return;
        }
        
    var newSerDescriptions = new Array();
     var element;
    var SerDescriptions = parent.frames["description"].getServiceDescriptionArray();
    
    for(i =0;i<SerDescriptions.length;i++) {

        myTitle = parent.frames["description"].document.getElementById(SerDescriptions[i]).title;
        if (myTitle != "") {
            ClickHandler.SaveTempInheritedContent(myTitle);
        }
         element = SerDescriptions[i] + "$#$#" + parent.frames["description"].document.getElementById(SerDescriptions[i]).innerHTML;
         element = parent.frames["header"].htmlEncodeNew(element, false);
         newSerDescriptions[i]=element;
        
    }
    
        var newSerImages = new Array();
       
        var SerImages = parent.frames["description"].getServiceImageArray();
        var idx=-1;
        var linkImageTo;
        var copyOfLink;
        var altDesc; //santosh
        var extraLinkIfcopyOfLinkFails;
        var hrefID;
        var newWin;
        var j=0;
        for(i=0;i<SerImages.length;i++)
        {
            element = SerImages[i] + "$#$#" + parent.frames["description"].document.getElementById(SerImages[i]).src;
          
              if(element.indexOf("SampleTemp.jpg")== -1) {
              
             linkImageTo=parent.frames["description"].serimgLink[i];
             newWin = parent.frames["description"].serimgTarget[i];
             altDesc = parent.frames["description"].document.getElementById(SerImages[i]).alt; //santosh


             if (altDesc.indexOf("*") >= 0) {
                 myTag = altDesc.split('*');
                 if (myTag.length > 1) {
                     altDesc = myTag[0];
                     ClickHandler.SaveTempImageInheritedInfo(myTag[1], parent.frames["description"].document.getElementById(images[i]).src);
                 }
             
             }
            element += "$#$#"+linkImageTo+"$#$#" + newWin+"$#$#"+altDesc;
               element=parent.frames["header"].htmlEncodeNew(element,false);
             newSerImages[j]=element;
             j++;
             }
        }

        ClickHandler.SaveTempService(CurrentServiceID,newSerDescriptions,newSerImages,TemplateId,currentCity,SaveTempService_callback); 
      method = null;   
}

function SaveTempService_callback(result)
{
    method="SaveTempService_callback";
    var mystatus = new Array();
    mystatus = result.value.split("$#$#");
    if(mystatus[1] != null || mystatus[1] != "")
        CurrentServiceID = mystatus[1];
   
    if(mystatus[0]=="false")
    {
         alert("Some of the Service data \n could not be saved..");
         hideLoading(); 
    }  
   else
    {
        
        ClickHandler.SetChangeSaved();
        parent.frames["header"].saveContactCity();
        parent.frames["header"].checkDates();
        hideLoading();  

    }    method = null; 
}

//Function to save Service

function SaveService()
{
    method="SaveService";
    
     if(currentCity == "")
        {
              alert("Select the city ");
              parent.frames["description"].hideLoading();  
              return;
        }
    var newSerDescriptions = new Array();
     var element;
    var SerDescriptions = parent.frames["description"].getServiceDescriptionArray();
    
    for(i =0;i<SerDescriptions.length;i++) {

        myTitle = parent.frames["description"].document.getElementById(SerDescriptions[i]).title;
        if (myTitle != "") {
            ClickHandler.SaveInheritedContent(myTitle);
        }
        
         element = SerDescriptions[i] + "$#$#" + parent.frames["description"].document.getElementById(SerDescriptions[i]).innerHTML;
         element = parent.frames["header"].htmlEncodeNew(element,false);
         newSerDescriptions[i]=element;
        
    }
    
        var newSerImages = new Array();
       
        var SerImages = parent.frames["description"].getServiceImageArray();
        var idx=-1;
        var linkImageTo;
        var copyOfLink;
        var altDesc; //santosh
        var extraLinkIfcopyOfLinkFails;
        var hrefID;
        var newWin;
        
        for(i=0;i<SerImages.length;i++)
        {
            element = SerImages[i] + "$#$#" + parent.frames["description"].document.getElementById(SerImages[i]).src;
              
             linkImageTo=parent.frames["description"].serimgLink[i];
             newWin = parent.frames["description"].serimgTarget[i];
             altDesc = parent.frames["description"].document.getElementById(SerImages[i]).alt; //santosh
             
             if (altDesc.indexOf("*") >= 0) {
                 myTag = altDesc.split('*');
                 if (myTag.length > 1) {
                     altDesc = myTag[0];
                     ClickHandler.SaveImageInheritedInfo(myTag[1], parent.frames["description"].document.getElementById(images[i]).src);
                 }
             
             }
            element += "$#$#"+linkImageTo+"$#$#" + newWin+"$#$#"+altDesc;
               element=parent.frames["header"].htmlEncodeNew(element,false);
             newSerImages[i]=element;
        }

        ClickHandler.SaveService(CurrentServiceID,newSerDescriptions,newSerImages,TemplateId,currentCity,SaveService_callback); 
            method = null; 
}

function SaveService_callback(result)
{
    method="SaveService_callback";
    var mystatus = new Array();
    mystatus = result.value.split("$#$#");
    if(mystatus[1] != null || mystatus[1] != "")
        CurrentServiceID = mystatus[1];
        
    if(mystatus[0]=="false")
    {
        alert("Some of the service data \n could not be save and published..");
        hideLoading(); 
        
    }
    else
    {
        ClickHandler.SetChangeSaved();
        parent.frames["header"].saveContactCity();
        parent.frames["header"].checkPublishDates();
    }    method = null;   
}
  
function DeleteServiceInfo()
 {
    method="DeleteServiceInfo";
    if(CurrentServiceID == 0)
    {
        alert("Please select the city");
        return;
    }
    else
    {
        var res = confirm("Are you sure you want to delete the service?");
        if(res)
        {
           ClickHandler.DeleteService(CurrentServiceID,DeleteService_callback);
        }
    }     method = null; 
 }
 function DeleteService_callback(res)
 {

  method = "DeleteService_callback";
    
    if(res.value == false)
        alert("Could not delete the service");
    else
    {
        ClickHandler.SetChangeSaved();
        alert("Successfully deleted");
        if(typeof(CurrentServiceID) != "undefined")
            {
              window.location.reload();
            } 

    }    method = null; 
 }
 
 
 function saveServiceMap()
{
    method="saveServiceMap";
    var pageID = TemplateId;
    var info = null;
    info = readService();

    if(info!= null)
    {
        ClickHandler.InsertUpdateCityMap(parseInt(pageID),info,false,saveServiceMap_callback);
    }
    else
    {
        alert("Could not save Service in page");
        return;
    }    method = null; 
}

function saveServiceMap_callback(res)
{
    if(res.value != true)
    {
        alert("Could not save Service in page");
    }
    else
    {
        saveTempServiceMap();
    }

      method = null;   
}

function saveTempServiceMap()
{
    method="saveTempServiceMap";
    var pageID = TemplateId;
    var info = null;
    info = readService();

    if(info != null )
    {
        ClickHandler.InsertUpdateCityMap(parseInt(pageID),info,true, saveTempServiceMap_callback);
    }
    else
    {
        alert("Could not save Service in page");
        return; 

    }    method = null; 
}


function saveTempServiceMap_callback(res)
{
    if(res.value != true)
    {
        alert("Could not save Service in page");
    }
    else
    {
        window.location.reload();
    } method = null; 
}   

function readService()
{
    
    method="readService";
    var cityControls = new Array();
    var city = "";
    var brand = "";
    var info = null;
    var element;
    
    
   var aSel = document.body.getElementsByTagName("select");
    for (var i = 0; i < aSel.length; i++) 
    { 
        var selid = aSel[i].getAttribute("id"); 
        if(selid.indexOf("_lstService")>-1)
        {
            brand = document.getElementById(selid).value;
            break;
        }
    }
    if(brand == "Select an option")
    {
        alert("Select the service");
        return;
    }

  
  if(brand != "")
  {
        element = "1$#$#" + brand + "$#$#" + city + "$#$#true";
        info = new Array();
        info[0] = htmlEncodeNew(element);
  }
      method = null; 
    return info;
}


function pause(numberMillis) {
    method = "pause";
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
	    method = null; 
}