function checkVersion(){
    var userAgent = navigator.userAgent.toLowerCase();
    var version = parseFloat((userAgent.match( /.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/ ) || [])[1]);
    var mozilla = /mozilla/.test(userAgent) && !/(compatible|webkit)/.test( userAgent )
    if(mozilla == true && (!(version>=1.8))){
        return false;
     }

     return true;
}
 function callForm(dataObj)
{
    //console.log('callForm - get Script - ' + dataObj)        
    data = eval('(' + dataObj + ')');

    // data = JQ.secureEvalJSON( dataObj );
    if (data.pollAnswersValue)
    {

		//var pollAnswersValueArray = JQ.secureEvalJSON( data.pollAnswersValue ); 

		//That's plain JS. Or in prototype you can do 
		//var my_array = json_string.evalJSON(); 



        var pollAnswersValueArray = data.pollAnswersValue;
    //alert(pollAnswersValueArray);
     //   var pollAnswersString = "";
    //    var len=pollAnswersValueArray.length;
    //    for(var i=0; i<len; i++) {
     //       var value = JQ.trim(pollAnswersValueArray[i]);
     //       pollAnswersString += value;
     //       if (i != len)
     //       {
      ///          pollAnswersString += '\n'    
      //      }

      //  }
        data.pollAnswersValue = pollAnswersValueArray.join('\n')
    }

    // data.pollAnswersValue = unescape(data.pollAnswersValue)  
    JQ.getScript("/utils/js/modForm.js", function()
    {

        loadForm();
    });
}

function callStoryForm(dataObj)
{
    data = eval('(' + dataObj + ')');
    var urlVars = '?pageName=' + this.data.pageName + '&section=' + this.data.section + '&userLoginStatus=' + this.data.userLoginStatus + '&overlayTitle=' + this.data.formTitle + '&overlayDescription=' + this.data.formDescription;
    if (this.data.userId != '' && this.data.userId != 'null') urlVars += '&userId=' + this.data.userId;
    var html = '<div id="formContainer"><div id="formContainerTop"></div><div id="iframeWrapper"><iframe src="/apps/profilescs/ss.do' + urlVars + '" id="iframeForm" allowtransparency="true" frameborder="0" scrolling="no"></iframe></div><div id="formContainerBtm"></div></div>';
    if( !((BrowserDetect.browser=='Safari') && (BrowserDetect.version==2) && (BrowserDetect.OS=='Mac')) && 
    	(!document.getElementById('formContainer')))
    {
    	JQ(html).insertAfter('#myContent');
    }        
    var iframe = document.getElementById("iframeForm");
    JQ(iframe).attr({'height': 500});
}

function submitStoryForm(data)
{
    var sdata = eval('(' + data + ')');
    getFlash("myContent").submitForm(sdata);
}
function displayMediaUploadFeedback(dataObj)
{
    data = eval('(' + dataObj + ')');
    JQ.getScript("/utils/js/modForm.js", function()
    {
        displayMediaUploadFeedback(data);
    });
}
function displayMediaDeleteFeedback()
{
    JQ.getScript("/utils/js/modForm.js", function()
    {
        displayMediaDeleteFeedback();
    });
}
function getFlash(id)
{
    if (navigator.appName.indexOf("Microsoft") != -1)
    {
        return window[id];
    }
    else
    {
        return document[id];
    }
}
function submitForm(data)
{
    getFlash("myContent").submitForm(data);
}

//makes a call to Flash to let it know the overlay is closing
function closeOverlay(id)
{
    getFlash("myContent").closeOverlay(id);
}

//is called by Flash to close the overlay
function handleCloseOverlay(id)
{
    switch (id)
            {
        case "style_form":
            JQ.getScript("/utils/js/style_form.js", function()
            {
                closeIframeForm();
            });
            break;
        case "close":
            JQ.getScript("/utils/js/modForm.js", function()
            {
                doClose();
            });
            break;
        case "cancel":
            JQ.getScript("/utils/js/modForm.js", function()
            {
                doCancel();
            });
            break;
        case "submit":
            JQ.getScript("/utils/js/modForm.js", function()
            {
                doSubmitForm();
            });
            break;
    }
}

function getBrowserPath()
{
    return window.location.pathname;
}

function getBrowserQuery()
{
    var search = window.location.search;
    return search.split("?")[1];
}
function handleWheel(event)
{
    var app = window.document["myContent"];
    if (app)
    {
        var o = {x: event.screenX,
            y: event.screenY,
            delta: event.detail,
            ctrlKey: event.ctrlKey,
            altKey: event.altKey,
            shiftKey: event.shiftKey}

       app.handleWheel(o);
    }
}
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};



/**
*  Function: handlePrintSchedule
*
*  Description: function called by flash to call the print schedule app
*
*
*  Parameters all are required:
*     startDateTime - start date/time (time in 24h format) used to begin list (i.e. 2010-07-02T00:00:00Z)
*                       --for advanced view always make time portion 00:00:00Z
*                       --for current view always make time based on what user sees
*                         but convert to first GMT
*     endDateTime - end date/time (time in 24h format) used to end list (i.e. 2010-07-02T23:59:00Z)
*                       -for advanced view always make time portion 23:59:59Z
*                       -for current view always make time based on what user sees
*                          but convert to first GMT
*     userLocalTime - users current system time converted to GMT (i.e. 2010-07-01T18:46:00Z)
*     zuluOffset - users timezone offset, used to determine actual start/end result list
*     nonDstOffset- users timezone offset, for Jan-01-2010
*     dstOffset- users timezone offset, for July-01-2010
*     channels - comma sepearted list of channels that correspond to channelListType (i.e. 28,29,30,5029)
*                 -- always passed
*                 -- MY channels should come from user profile
*                 -- under current view, channels should be the visible channels
*     primetime - TRUE/FALSE, based on advanced view selection, pass false for current view
*     viewType - ADVANCED/CURRENT
*     channelListType - EAST/WEST/ALL/MY
*     userTimeZone - ET/MT/CT/PT/HI/AK/AZ
*     debug - true/false - if true will pop JS alert
*
*  Return value: A single IWItem or an array of IWItems
*/
function handlePrintSchedule(startDateTime, endDateTime, userLocalTime, zuluOffset, nonDstOffset, dstOffset, channels, primetime, viewType, channelListType, userTimeZone, debug){
//function handlePrintSchedule(startDateTime, endDateTime, userLocalTime, zuluOffset, channels, primetime, viewType, channelListType, debug, dstOffset, nonDstOffset){

 var s = "startDateTime: " + startDateTime + "\n";
  s    += "endDateTime: " + endDateTime + "\n";
  s    += "userLocalTime: " + userLocalTime + "\n";
  s    += "zuluOffset: " + zuluOffset + "\n";
  s    += "dstOffset: " + dstOffset + "\n";
  s    += "nonDstOffset: " + nonDstOffset + "\n";
  s    += "channels: " + channels + "\n";
  s    += "primetime: " + primetime + "\n";
  s    += "viewType: " + viewType + "\n";
  s    += "channelListType: " + channelListType + "\n";
  s    += "userTimeZone: " + userTimeZone + "\n";
  s    += "debug: " + debug + "\n";

	var date = new Date();
	var hostname = window.location.hostname;

	if (hostname == "localhost"){
		hostname = "devhbo.hbo.com";
	}

	var url = "http://" + hostname + "/services/schedule/print/index.html?";
	 if(startDateTime && startDateTime != null && startDateTime != ""){
		  url += "&startDate=" + startDateTime;
	 }
	 if(endDateTime && endDateTime != null && endDateTime != ""){
		  url += "&endDate=" + endDateTime;
	 }
	 if(userLocalTime && userLocalTime != null && userLocalTime != ""){
		  url += "&userLocal=" + userLocalTime;
	 }
	 if(zuluOffset && zuluOffset != null && zuluOffset != ""){

		  url += "&zuluOffset=" + zuluOffset;
		 //url += "&dstOffset=" + zuluOffset;
		 //url += "&nonDstOffset=" + zuluOffset;

	 }
	 if(dstOffset && dstOffset != null && dstOffset != ""){

		  url += "&dstOffset=" + dstOffset;
	 }
     if(nonDstOffset && nonDstOffset != null && nonDstOffset != ""){

		  url += "&nonDstOffset=" + nonDstOffset;
	 }
	 if(channels && channels != null && channels != ""){

		  url += "&channels=" + channels;
	 }
	 if(primetime && primetime != null && primetime != ""){

		  url += "&primetime=" + primetime;
	 }
	 if(viewType && viewType != null && viewType != ""){

		  url += "&viewType=" + viewType;
	 }
	 if(channelListType && channelListType != null && channelListType != ""){

		  url += "&channelListType=" + channelListType;
	 }
	 if(userTimeZone && userTimeZone != null && userTimeZone != ""){

		  url += "&userTimeZone=" + userTimeZone;
	 }
	var windowFeatures = "resizable=yes, toolbar=yes, scrollbars=yes";
	//var windowFeatures = "width=600, height=500, resizable=yes, toolbar=no, scrollbars=yes";
	var popupWinHandle = 'print_sched';
	var popupWin = window.open(url, popupWinHandle, windowFeatures);
	popupWin.focus();

	s    += "url: " + url + "\n";

	if (debug){
	  alert(s);
	}

}


var passHTML = '<b>hi</b>';
