/*** CONSTANTS ***/

var COLUMN_NAMES = 'architecture,freestanding,about'.split(',');
var URLS = {'architecture':'architectural_metalwork.html','freestanding':'freestanding_and_cabinetry.html','about':'about_and_contact.html'}

/*** METHODS ***/

function debug(o) {
    var s = "";
    for (p in o) {
        s += "p = " + p + "; ";
    }
    return s;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function random_number(minNumber, maxNumber) {
    var number = minNumber + Math.floor(Math.random() * maxNumber);
    return number;
}

function switch_galleries(old_gallery_name, new_gallery_url) {
    new Effect.Opacity($(old_gallery_name + '_gallery_preview'), {duration: 0.5, from: 1.0, to: 0.85, afterFinish: function() { goto_gallery(new_gallery_url)}});
}

function goto_gallery(column_name) {
    window.location.href = URLS[column_name];
}

function toggle_loader(column_name) {
  var gallery_loader = $(column_name + '_gallery_loader');
  new Effect.Appear(gallery_loader, {duration: 0.5, from: 0, to: 0.85, queue: {scope: Effect.Queue, position:'end'}, afterFinish: function() { goto_gallery(column_name)}});
}

function toggle_columns(column_names) {

    /* column_names[0] - maximize column
    * column_names[1] - minimize_column
    * column_names[2] - minimize_column
    */
    
    var COLUMN_MAXIMIZE_STYLE = 'width:900px';
    var COLUMN_MINIMIZE_STYLE = 'width:25px';
    
    var COLUMN_MAXIMIZE_DURATION = 0.5;
    var COLUMN_MINIMIZE_DURATION = 0.25;
    
    var LABEL_MAXIMIZE_STYLE = '';
    var LABEL_MINIMIZE_STYLE = 'height:580px;opacity: 0.99'
    
    if (navigator.appName == 'Microsoft Internet Explorer') {
		LABEL_MINIMIZE_STYLE = 'height:598px;opacity: 0.99'
    }    
    
    var LABEL_MINIMIZE_DURATION = 0.25;
    
    var LABEL_FADE_DURATION = 0;
    
    var MINIMIZE_DELAY_OFFSET = 0;
    
    var minimize_delay_time = 0;
    
    var MAXIMIZE_DELAY_OFFSET = 0;
    
    var maximize_delay_time = 0;

	var slide_delay_time = 0;
	
	var SLIDE_DURATION = 0.25;
	
	var SLIDE_STYLE = 'padding-left: 23px';
    
    // Minimize effects

    new Effect.Fade($(column_names[1] + '_link'), {delay: 0, duration: LABEL_FADE_DURATION, queue: {scope: Effect.Queue, position:'end'}});
    new Effect.Fade($(column_names[2] + '_link'), {delay: 0, duration: LABEL_FADE_DURATION, queue: {scope: Effect.Queue, position:'end'}});
    
    new Effect.Morph($(column_names[1] + '_label'), {delay: 0.25, style: LABEL_MINIMIZE_STYLE, duration: LABEL_MINIMIZE_DURATION, queue: {scope: Effect.Queue, position:'end'}});
    new Effect.Morph($(column_names[2] + '_label'), {delay: 0, style: LABEL_MINIMIZE_STYLE, duration: LABEL_MINIMIZE_DURATION, queue: {scope: Effect.Queue, position:'end'}});    
       
    ([ column_names[1], column_names[2] ]).each(function(column_name) {
        
       new Effect.Morph($(column_name), {delay: minimize_delay_time += MINIMIZE_DELAY_OFFSET, style: COLUMN_MINIMIZE_STYLE, duration: COLUMN_MINIMIZE_DURATION, queue: {scope: Effect.Queue, position:'end'}});
        
        minimize_delay_time += MINIMIZE_DELAY_OFFSET;
        
    });

    // Maximize effect
        
new Effect.Morph($(column_names[0]), {delay: maximize_delay_time, style: COLUMN_MAXIMIZE_STYLE, duration: COLUMN_MAXIMIZE_DURATION, queue: {scope: Effect.Queue, position:'end'}});

	new Effect.Morph($(column_names[0] + '_link'), {delay: slide_delay_time, style: SLIDE_STYLE, duration: SLIDE_DURATION, queue: {scope: Effect.Queue, position:'end'}});
	

}
