﻿var FF_GCAL = "https://addons.mozilla.org/downloads/latest/12871/addon-12871-latest.xpi?src=external-SO-";
var FF_GMAIL = "https://addons.mozilla.org/downloads/latest/14971/addon-14971-latest.xpi?src=external-SO-";
var FF_GS = "https://addons.mozilla.org/downloads/latest/14972/addon-14972-latest.xpi?src=external-SO-";
var FF_MP = "https://addons.mozilla.org/downloads/latest/57006/addon-57006-latest.xpi?src=external-SO-";
var CH_GCAL = "https://chrome.google.com/extensions/detail/ddpjcojaoicnomgkjeeepiiplgheophj";
var CH_GMAIL = "https://chrome.google.com/extensions/detail/jpaigemdgcbgjbndcdmiknmdnocghljp";
var CH_GS = "https://chrome.google.com/extensions/detail/eehkplkipglbebobehalajdaggmepgoo";
var CH_MP = "https://chrome.google.com/extensions/detail/hdolpghnnmndklcpmhdaenaabbpgkbik";
var SA_GCAL = "/Add-ons/sogcal.safariextz";
var SA_GMAIL = "/Add-ons/sogmail.safariextz";
var SA_GS = "/Add-ons/GS.safariextz";
var SA_MP = "/Add-ons/MP.safariextz";
var STARTER_URL = "http://www.google.com/enterprise/marketplace/viewListing?productListingId=3434+1098400030594632879";
var PRO_URL = "https://www.google.com/enterprise/marketplace/viewListing?productListingId=3434+5937275400324828175";

function JumpToPage(src)
{
    window.top.location.href = src;
}
function JumpToURL(src)
{
    window.open(src);
}
    
function ShowVid()
{
    if (ShowVideo)
    {
        ShowVideo('8BLhbpREg0w','Introduction to ScheduleOnce');
    }
}
function Download(name, page)
{
        var aPage = (page == null)? '' : '/'+page; 
        switch (name)
        {
         case "sogcal":
            if (browser.isFF)
            {
                window.location = FF_GCAL+page;
                
                Analytics('sogcal/FF'+aPage);
            }
            else if (browser.isChrome){
                window.open(CH_GCAL);
                Analytics('sogcal/CH'+aPage);
            } else if (browser.isIE){
                window.location = "google-calendar-widget.aspx#IEinstall";
            }else if(browser.isSafari){
                if (browser.version < 5){
                    alert('Only Safari version 5.0 and up supports extension, you can install the latest version of safari from Apple website');
                }
                else{
                    window.open(SA_GCAL);
                    Analytics('sogcal/SA'+aPage);
                }
            }else {
                alert ('The Add-on supports only Firefox, Chrome, Safari, and Internet Explorer');
            }
           
            break;
         case "sogmail":
            if (browser.isFF)
            {
               window.location = FF_GMAIL+page;
                Analytics('sogmail/FF'+aPage);
            }else if (browser.isChrome){
                window.open(CH_GMAIL);
                Analytics('sogmail/CH'+aPage);
            }else if(browser.isSafari){
                if (browser.version < 5){
                    alert('Only Safari version 5.0 and up supports extension, you can install the latest version of safari from Apple website');
                }
                else{
                    window.open(SA_GMAIL);
                    Analytics('sogmail/SA'+aPage);
                }
            }else{
                alert ('The Add-on supports only Firefox, Safari and Chrome');
            }
            break;
         case "sogs":
            if (browser.isFF)
            {
                window.location = FF_GS+page;
                Analytics('shortcut/GS/FF'+aPage);
            }else if (browser.isChrome){
                window.open(CH_GS);
                Analytics('shortcut/GS/CH'+aPage);
            }else if(browser.isSafari){
                if (browser.version < 5){
                    alert('Only Safari version 5.0 and up supports extension, you can install the latest version of safari from Apple website');
                }
                else{
                    window.open(SA_GS);
                    Analytics('shortcut/GS/SA'+aPage);
                }
            }else{
                alert ('The Add-on supports only Firefox, Safari and Chrome');
            }
            break;   
          case "somp":
            if (browser.isFF)
            {
                //window.location = FF_MP+page;
                window.location = FF_MP;
                Analytics('shortcut/MP/FF'+aPage);
            }else if (browser.isChrome){
                window.open(CH_MP);
                Analytics('shortcut/MP/CH'+aPage);
            }else if(browser.isSafari){
                if (browser.version < 5){
                    alert('Only Safari version 5.0 and up supports extension, you can install the latest version of safari from Apple website');
                }
                else{
                    window.open(SA_MP);
                    Analytics('shortcut/MP/SA'+aPage);
                }
            }else{
                alert ('The Add-on supports only Firefox, Safari and Chrome');
            }
            break;                
        }
    
}
function Analytics(app)
{
    if (document.referrer.indexOf('userstyles.org')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/userstyles.org');
    }
    else if (document.referrer.indexOf('reloadevery.mozdev.org')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/reloadevery.mozdev.org'); 
    }
    else if (document.referrer.indexOf('dictionarysearch.mozdev.org')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/dictionarysearch.mozdev.org'); 
    }
    else if (document.referrer.indexOf('brief.mozdev.org')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/brief.mozdev.org'); 
    }
    else if (document.referrer.indexOf('newtabking.com')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/newtabking.com'); 
    } 
    else if (document.referrer.indexOf('skipscreen.com')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/skipscreen.com'); 
    }               
    else if (document.referrer.indexOf('webmailnotifier.mozdev.org')>0)
    {
        AnalyticsTracker('/AddonDownload/'+app+'/Referrer/webmail');
    }
    else{
        AnalyticsTracker('/AddonDownload/'+app);
    }

}

///Rotate quotes
function rotateText(el1, el2) {
    setOpacity(el1, 0);
    setOpacity(el2, 0);
   // var t = rotateText.texts[textGroup];
    var t1 = rotateText.texts["quotes"];
    var t2 = rotateText.texts["authors"];  
    var i = Math.floor(Math.random() * (t1.length));
    el1.innerHTML = t1[i];
    el2.innerHTML = t2[i];
    unfadeText(el1, el2);    
}

rotateText.texts = {
    quotes: [
        '"I love your scheduler--it makes life sane"',
        '"Killer App! I\'ve been looking for something like this for awhile"',
        '"This is it. Your scheduling engine is the best!"',
        '"I love the Google Calendar integration"',
        '"Now I can quickly reach an agreed upon time. Highly recommended!"',
        '"I love your service!"',
        '"Our staff and partners say it\'s very easy to use"',
        '"Meeting attendance has improved since we begun using your product"',
        '"ScheduleOnce sure makes finding meeting times so much easier"',
        '"I love how it integrates with my Google Calendar"',
        '"Thank you so much for this terrific app! I can\'t say how invaluable I find it."',
		'"I love being able to overlay my Google Calendar. Brilliant!"',
        '"I knew other tools... It is far more convenient to use ScheduleOnce"',
        '"I can utilize multiple calendars for all the people that I support"',
        '"ScheduleOnce saves me enormous amounts of time"',
        '"ScheduleOnce makes a rather difficult task much faster and more streamlined"',
        '"The user interface is very easy to understand for both internal and external attendees"',
        '"I couldn\'t go back to the old ways now. ScheduleOnce just makes things easier"',
        '"Our meetings get scheduled much more quickly"',
        '"ScheduleOnce has successfully streamlined the process of scheduling meetings"',
        '"ScheduleOnce has significantly reduced the amount of work involved in scheduling meetings"',
        '"A quick glance, and I know exactly when to have our next meeting"',
        '"I tried several tools... ScheduleOnce is by far the easiest and most convenient"',
        '"ScheduleOnce makes meetings a breeze to organize!"',
        '"I have recommended ScheduleOnce to many of my colleagues and would readily recommend it to anyone!"',
        '"I have no hesitation in recommending this service - try it, you will love it!"',
        '"I had tried other well-known services but nothing was as easy for me or my colleagues as ScheduleOnce"',
        '"I use your meeting planner all the time and often have meetings over three sometimes over four time zones."',
        '"I love the site, waaaay better than Doodle or anything else I\'ve been able to find. Thanks for making my life easier."'
        ],
    authors: [
        'Mary E. Edwards,<br/>PhD Professor of Economics, St. Cloud State University',
        'Greg Allbright,<br/>CEO & Founder, Change for a Dollar',
        'Oudi Antebi,<br/>CEO, OffiSync',
        'Avi Marcus,<br/>Law of Attraction Coach',
        'Michael Cohn,<br/>CEO, Cloud Sherpas',
        'Iliano Cervesato,<br/>Associate Professor, Carnegie Mellon University',
        'William Matson,<br/>Executive Director, Pathways Community Network',
        'William Matson,<br/>Executive Director, Pathways Community Network',
        'Tony Wong,<br/>Community Volunteer, Burnaby BC Canada',
        'Carol A. Stambaugh,<br/>Executive Director, National Association of Social Workers',
        'Justin Petersen,<br/>Administrative Assistant, The Broad Institute, Cambridge, MA',
		'Meghan Listek,<br/>Marketing Manager, Normal Public Library',
        'Philippe Kalousdian,<br/>IS Lean Consulting, Paris, France',
        'Justin Petersen,<br/>Administrative Assistant, The Broad Institute, Cambridge, MA',
        'Justin Petersen,<br/>Administrative Assistant, The Broad Institute, Cambridge, MA',
        'Justin Petersen,<br/>Administrative Assistant, The Broad Institute, Cambridge, MA',
        'Justin Petersen,<br/>Administrative Assistant, The Broad Institute, Cambridge, MA',
        'Mauricio Fournier,<br/>Web Design Coach, TopWebDesignCourse.com',
        'Mauricio Fournier,<br/>Web Design Coach, TopWebDesignCourse.com',
        'Rachel Mack,<br/>Saint Mary\'s College of California',
        'Rachel Mack,<br/>Saint Mary\'s College of California',
        'Mr. Roger Feltman,<br/>Graduate Student, Rochester University',
        'Athena Hay,<br/>Community Program Officer, NSW Department of Human Services, Australia',
        'Athena Hay,<br/>Community Program Officer, NSW Department of Human Services, Australia',
        'Athena Hay,<br/>Community Program Officer, NSW Department of Human Services, Australia',
        'Phillip Marlowe,<br/>Owner/Operator, PlanetPhillip.com',
        'Phillip Marlowe,<br/>Owner/Operator, PlanetPhillip.com',
        'Andreas Gille, MD, PhD<br/>Senior Translational Scientist - Cardiovascular Therapies,CSL Limited',
        'David D., B.Sc.<br/>Master\'s Candidate University of Rochester'
        ]
};

function setOpacity(el, value) {
    el.style.opacity = value / 100;
    el.style.filter = "alpha(opacity=" + value + ")";
}

function unfadeText(el1, el2) {
    var v = el1.style.opacity * 100 + 1;
    if(v > 100) {
        setOpacity(el1, 100);
        setOpacity(el2, 100);
        setTimeout(bundleFunction(null, fadeText, [el1, el2]), 4000);
        return;
    }
    setOpacity(el1, v);
    setOpacity(el2, v);
    setTimeout(bundleFunction(null, unfadeText, [el1, el2]), 10);
}

function fadeText(el1, el2) {
    var v = el1.style.opacity * 100 - 1;
    if(v < 0) {
        setOpacity(el1, 0);
        setOpacity(el2, 0);
        rotateText(el1, el2);
        //or... setTimeout(bundleFunction(null, rotateText, [el1, el2]), NUMBER);
        return;
    }
    setOpacity(el1, v);
    setOpacity(el2, v);
    setTimeout(bundleFunction(null, fadeText, [el1, el2]), 10);
}

function bundleFunction(context, func, args) {
    context = context || null;
    if(typeof func == "string" && context)
        func = context[func];
    if(!args)
        args = [];
    else if(!(args instanceof Array))
        args = [args];
    return function() {
        return func.apply(context, args);
    };
}
