var unsaved_changes = false;

function make_pick(gamecode, pick_team_id, unpick_team_id) {
    // For the full picks page where we osubmit via a form
    var form_field = $('game'+gamecode+'_team_id');
    if (form_field != null) {
        form_field.value = pick_team_id;
    }
    
    // For the preview pages where we do Ajax
    $('option_'+gamecode+'_'+pick_team_id).removeClassName('saving');
    $('option_'+gamecode+'_'+unpick_team_id).removeClassName('saving');

    $('match_pick_'+gamecode+'_'+pick_team_id).addClassName('selected');
    $('match_pick_'+gamecode+'_'+unpick_team_id).removeClassName('selected');
    
    $('option_'+gamecode+'_'+pick_team_id).addClassName('selected');
    $('option_'+gamecode+'_'+unpick_team_id).addClassName('unselected');
    $('option_'+gamecode+'_'+pick_team_id).removeClassName('unselected');
    $('option_'+gamecode+'_'+unpick_team_id).removeClassName('selected');

/*
	$('name_'+gamecode+'_'+pick_team_id).addClassName('selected');
    $('name_'+gamecode+'_'+unpick_team_id).addClassName('unselected');
    $('name_'+gamecode+'_'+pick_team_id).removeClassName('unselected');
    $('name_'+gamecode+'_'+unpick_team_id).removeClassName('selected');
*/	
    
    unsaved_changes = true;
}


function safe_to_leave() {
    if (unsaved_changes) {
        if (confirm('You have not saved your picks. Are you sure you wish to leave?')) {
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}

function gate_links() {
    // Get all links
    var all_links = document.getElementsByTagName('a');
    if (all_links != null) {
        // Loop through all links
        var number_of_links = all_links.length;
        for (var i=0; i<number_of_links; i++) {
            // Only apply to links that aren't part of the game
            if (!(Element.hasClassName(all_links[i], 'pick_handle') || Element.hasClassName(all_links[i], 'pick_toggle') || Element.hasClassName(all_links[i], 'sign_out') || Element.hasClassName(all_links[i], 'preview_link') || Element.hasClassName(all_links[i], 'open_preview') || Element.hasClassName(all_links[i], 'close_preview'))) {
                all_links[i].onclick = function() {
                    if (safe_to_leave()) {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
        }
    }
}

function save_picks() {
    var picks_form = $('bowl_picks_form');
    if (picks_form == null) { return false; }
    
    // set unsaved changes flag to false
    unsaved_changes = false;
    new Ajax.Request('/college_pickem/save_picks', {asynchronous:true, evalScripts:true, onLoading:function(request){display_ajax_spinner('saving_picks_loading', 'Saving Picks');}, parameters:Form.serialize(picks_form) }); return false;
};


function entries_locked() {
    alert('Sorry, entries have been locked. You may no longer create or change your picks.');
};













// Flash Player Version Detection
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE=(navigator.appVersion.indexOf("MSIE")!=-1) ? true : false;
var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1) ? true : false;
var isOpera=(navigator.userAgent.indexOf("Opera")!=-1) ? true : false;
var flashVersion=0;
flashDetect(); // auto-detect flash version

function flashGetVerIE() {
    var version=0;
    var axo;
    var e;
    try {
        axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
        version=axo.GetVariable("$version");
    } 
    catch (e) {}
    if (!version) {
        try {
            axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
            version="WIN 6,0,21,0";
            axo.AllowScriptAccess="always";
            version=axo.GetVariable("$version");
        } 
        catch (e) {}
    }
    if (!version) {
        try {
            axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version=axo.GetVariable("$version");
        } 
        catch (e) {}
    }
    return version;
}

function flashGetVer() {
    var flashVer=-1;
    if (navigator.plugins!=null && navigator.plugins.length>0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2=navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;           
            var descArray=flashDescription.split(" ");
            var tempArrayMajor=descArray[2].split(".");
            var versionMajor=tempArrayMajor[0];
            var flashVer=versionMajor;
        }
    }
    else if (isIE && isWin && !isOpera) {flashVer=flashGetVerIE();} 
    return flashVer;
}

function flashDetect(version) {
    var versionStr=flashGetVer();
    if (versionStr==-1) {return false;} 
    else if (versionStr!=0) {
        if(isIE && isWin && !isOpera) {
            var tempArray=versionStr.split(" ");    
            var tempString=tempArray[1];            
            var versionArray=tempString.split(","); 
        } 
        else {var versionArray=versionStr;}
        flashVersion=versionArray[0];
        if (flashVersion>=version) {return true;}
        return false;
    }
}

function flashWrite(name,url,width,height,params,flashVars) {
    var flv='';
    for (var i in flashVars) {flv+=i+'='+flashVars[i]+'&';}
    var out='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="'+width+'" height="'+height+'" id="'+name+'">';
    out+='<param name="movie" value="'+url+'" /><param name="quality" value="high" /><param name="wmode" value="transparent" />';
    out+='<param name="flashvars" value="'+flv+'" />';
    for (var i in params) {out+='<param name="'+i+'" value="'+params[i]+'" />';}
    out+='<embed src="'+url+'" quality="high" wmode="transparent" width="'+width+'" height="'+height+'" name="'+name+'" ';
    out+='flashvars="'+flv+'" ';
    out+='type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
    out+='</object>';
    document.write(out);
    return out;
}
