﻿// JScript File
var _ajaxCmd;
function GoToURL(thisURL)
{
    alert(thisURL);
    top.contentPane.document.location.href = thisURL;
}


function getElementSrc(thisElement)
{
    var thisElement;
    if(navigator.appVersion.indexOf("MSIE")!=-1)
    {
    
       //IE Browser
       try
       {
            thisElement = window.frames[1].document.getElementById(thisElement);  
       }
       catch(e)
       {
            thisElement = window.frames[0].document.getElementById(thisElement);  
       }
    }
    else
    {
       //Not IE
       //thisElement = window.frames[0].document.getElementById(thisElement);
       try
       {
            thisElement = window.frames[0].document.getElementById(thisElement);  
       }
       catch(e)
       {
            //alert(e);
            thisElement = window.frames[1].document.getElementById(thisElement);  
       }
    }
        
    return thisElement;
}

function ribbonClick(thisPage, thisBtn)
{
    
    //find page frame
    var frmID, frmSrc;
    frmID = "ctl00_cph1_frmFullAddEdit";
    frmSrc = top.document.getElementById(frmID);
    
    var btnID, btnSrc;
    
    var screenH = (document.body) ? document.body.clientHeight : innerHeight;
    showHideProgress(screenH);
    
    
    //find selected button, then click it
    if(thisBtn=="New")
    {
        window.frames[0].document.location.href = "View" + thisPage + "AddEdit.aspx";       
    }
    else if(thisBtn=="Cancel")
    {
        if(thisPage=="MetaData")
        {
            //get siteID
            var site = document.getElementById("siteID");
            document.location.href = thisPage + "List.aspx?siteID=" + site.value;
        }
        else
        {
            document.location.href = thisPage + "List.aspx";
        }
    }
    else if(thisBtn=="SaveClose")
    {
        btnID = "btnSaveClose";
        btnSrc = getElementSrc(btnID);
        btnSrc.click();
    }
    else if(thisBtn=="SaveMore")
    {
        btnID = "btnSaveMore";
        btnSrc = getElementSrc(btnID);
        btnSrc.click();
    }
    else if(thisBtn=="SaveNew")
    {
        btnID = "btnSaveNew";
        btnSrc = getElementSrc(btnID);
        btnSrc.click();
        
    }
    else if(thisBtn=="Delete")
    {
        //find id based on page
        var itemID, itemSrc;
        itemID = "tb" + thisPage + "ID";
        itemSrc = getElementSrc(itemID);
        if(itemSrc.value=="0")
        {
            alert("This appears to be a new " + thisPage + ". Delete not available");
        }
        else
        {
            if(confirm("Are you sure you want to delete this " + thisPage + "?"))
            {        
                btnID = "btnDelete";
                btnSrc = getElementSrc(btnID);
                btnSrc.click();
            }
            else
            {
                showHideProgress(0);
            }
        }
    }
}

function changeOrder(thisCol, thisPage)
{
    var srchID, srchSrc;
    var url;
    
    var oSearching;
    oSearching = top.document.getElementById("objSearching");

    try
    {
        //get search box        
        srchID = "ctl00_cph1_rgSearch_orl" + thisPage + "_tbx_Search" + thisPage + "s";
        srchSrc = document.getElementById(srchID);
    }
    catch(e)
    {
        srchSrc.value = "";
    }
    
    //determine Asc or Desc
    var sortSrc, thisSort;
    sortSrc = document.getElementById("currSort");
    
    if(sortSrc.value=="")
    {
        thisSort = " Desc"
        sortSrc.value = "Desc";
    }
    else
    {
        thisSort = ""
        sortSrc.value = "";
    }
    
    
    url = "View" + thisPage + "List.aspx?orderBy=" + thisCol + thisSort;
    
    // Build a path to the view we want...
	url += "&param1=" + srchSrc.value;
	
	//Get both Divs
	var lsView, lsSrc;
      
    lsView = "frmFullList";
    lsSrc = document.getElementById(lsView);
    
    element = lsSrc;
    
       
    // Create asynchronous request...
	if (window.XMLHttpRequest) { 
		req = new XMLHttpRequest(); 
	} else if (window.ActiveXObject) { 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
	} 
	
	req.onreadystatechange = function() 
	{   	    
	    if (req.readyState == 4 && req.status == 200) 
		{ 
		    element.innerHTML = req.responseText;
		    oSearching.className = "hidden";
		} 
		else
		{   
		    element.innerHTML = oSearching.innerHTML;
		}
	} 
    
	
	req.open("GET", FormatNonCacheableOrderUrl(url), true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
	req.send(null);

}

function FormatNonCacheableOrderUrl(url)
{
	// Workaround IE GET caching issue...
	
	if (url.indexOf("?") == -1)
		url += "?hash=" + Math.random();		
	else
		url += "&hash=" + Math.random();
    
    return url;
}

function showHideProgress(thisHeight)
{
    
    //find page frame
    var frmID, frmSrc;
    frmID = "ctl00_cph1_frmFullAddEdit";
    frmSrc = top.document.getElementById(frmID);
    
    var srchID, srchSrc;
    srchID = "objSearching2";
    srchSrc = getElementSrc(srchID);
    
    try
    {
        if(srchSrc.className=="hidden")
        {
            srchSrc.className = "objSearching2";
            srchSrc.style.height = thisHeight - 190 + "px";
        }
        else
        {
            srchSrc.className = "hidden";
        }
    }
    catch(e)
    {
    
    }
}

function setFocus(thisField, thisFocus)
{   
    var srchSrc;
    srchSrc = document.getElementById(thisField);
    srchSrc.value = thisFocus;
}

function changeTab(currTab, tabCount)
{

    var frmID, frmSrc;
    frmID = "ctl00_cph1_frmFullAddEdit";
    frmSrc = top.document.getElementById(frmID);
    
    for(var i=1;i<=tabCount;i++)
    {
        var currRow = getElementSrc("tab" + i);
                
        if(i==currTab)
        {
            currRow.style.display = "block";
        }
        else
        {
            currRow.style.display = "none";
        }
    }
}

function propTab(currTab)
{
    var tabOverview = document.getElementById("tabOverview");
    var divOverview = document.getElementById("showOverview");
    if("Overview"==currTab)
    {
        divOverview.className = "divOn";
        tabOverview.className = "tabOn";
    }
    else
    {
        divOverview.className = "divOff";
        tabOverview.className = "tabOff";
    }
    
    var tabDemo = document.getElementById("tabDemo");
    var divDemo = document.getElementById("showDemo");
    if("Demo"==currTab)
    {
        divDemo.className = "divOn";
        tabDemo.className = "tabOn";
    }
    else
    {
        divDemo.className = "divOff";
        tabDemo.className = "tabOff";
    }
    
    var tabTraffic = document.getElementById("tabTraffic");
    var divTraffic = document.getElementById("showTraffic");
    if("Traffic"==currTab)
    {
        divTraffic.className = "divOn";
        tabTraffic.className = "tabOn";
    }
    else
    {
        divTraffic.className = "divOff";
        tabTraffic.className = "tabOff";
    }
    
    var tabComments = document.getElementById("tabComments");
    var divComments = document.getElementById("showComments");
    if("Comments"==currTab)
    {
        divComments.className = "divOn";
        tabComments.className = "tabOn";
    }
    else
    {
        divComments.className = "divOff";
        tabComments.className = "tabOff";
    }
    
    
}


function showDialog(url, width, height, userdata, nocaching)
{
	var features = "dialogHeight:" + height + "px; dialogWidth: " + width + "px; edge: Raised; " +
		"center: Yes; help: No; resizable: No; status: No; scroll: No;";
		
	if (nocaching)
	{
		if (url.lastIndexOf("?") != -1)
			url += "&ts=" + new Date(); // HACK: work around to eliminate caching...
		else
			url += "?ts=" + new Date();
	}

	//return window.showModalDialog(url, userdata, features);	
	return window.open(url, "xs", "address=no,location=no,status=no,width=700,height=600");				
}


function loadImageList(thisList)
{
    var url; 
	url = "GenerateImageList.aspx?PropertyDetailID=" + thisList;

	_ajaxCmd = CreateAjaxCommand("GET", url, true, ajaxCmd_OnReadyStateChange);
	_ajaxCmd.send();	
}

function deleteImage(imgID, propID)
{
    var url;
    url = "GenerateImageList.aspx?delImg=1&PropertyDetailID=" + propID + "&PropertyImageID=" + imgID;
    
    _ajaxCmd = CreateAjaxCommand("GET", url, true, ajaxCmd_OnReadyStateChange);
	_ajaxCmd.send();
}

function ajaxCmd_OnReadyStateChange()
{
	if (_ajaxCmd == null)
		return;
		
	switch (_ajaxCmd.readyState)
	{
		case 1: // <--loading...
		{
			document.frames[0].objResults.innerHTML = document.frames[0].objLoading.innerHTML;
			break;
		}
		
		case 4: // <--completed...
		{
			document.frames[0].objResults.innerHTML = _ajaxCmd.responseText;
			_ajaxCmd = null;
			break;
		}	
	}
}


function loadTrafficList(thisList)
{
    var url; 
	url = "GenerateTrafficList.aspx?PropertyDetailID=" + thisList;

	_ajaxCmd = CreateAjaxCommand("GET", url, true, ajaxCmd_OnReadyStateChange2);
	_ajaxCmd.send();	
}

function deleteTraffic(trafficID, propID)
{
    var url;
    url = "GenerateTrafficList.aspx?delTraffic=1&PropertyDetailID=" + propID + "&PropertyTrafficID=" + trafficID;
    
    _ajaxCmd = CreateAjaxCommand("GET", url, true, ajaxCmd_OnReadyStateChange2);
	_ajaxCmd.send();
}

function ajaxCmd_OnReadyStateChange2()
{
	if (_ajaxCmd == null)
		return;
		
	switch (_ajaxCmd.readyState)
	{
		case 1: // <--loading...
		{
			document.frames[0].objResults2.innerHTML = document.frames[0].objLoading2.innerHTML;
			break;
		}
		
		case 4: // <--completed...
		{
			document.frames[0].objResults2.innerHTML = _ajaxCmd.responseText;
			_ajaxCmd = null;
			break;
		}	
	}
}



function CreateAjaxCommand(cmd, url, async, asyncCallback)
{
	if (window.XMLHttpRequest) { 
		oXmlHttp = new XMLHttpRequest(); 
	} else if (window.ActiveXObject) { 
		oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	} 

	url = FormatNonCacheableUrl(url);
	if (async && null != asyncCallback)
	{
		oXmlHttp.onreadystatechange = asyncCallback;
	}
	else
	{
		async = false;
	}

	oXmlHttp.open(cmd, url, async);			
	return oXmlHttp;
}


function FormatNonCacheableUrl(url)
{
	// Workaround IE GET caching issue...
	
	if (url.indexOf("?") == -1)
		url += "?hash=" + Math.random();		
	else
		url += "&hash=" + Math.random();
		
	return url;
}