jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};
$(document).ready(function(){
						   
/*var slr_heading = $.cookie('slr_heading');
if(!slr_heading) {

	$.get("http://solar.calfinder.com/ajax?action=slrHeadingHandler", function(data){
$.cookie('slr_heading', data, { expires: 1, path: "/", domain: '.calfinder.com'});		
		$("h3#fh").empty();
		$("h3#fh").append(data);
	});
	
} else {
		$("h3#fh").empty();
		$("h3#fh").append($.cookie('slr_heading'));
	
}
*/
var twostepslr_heading = $.cookie('twostepslr_heading');
if(!twostepslr_heading) {

	$.get("http://solar.calfinder.com/ajax?action=twostepslrHeadingHandler", function(data){
		var text = data;
		textar = text.split("|");
		$.cookie('twostepslr_heading', textar[0], { expires: 1, path: "/", domain: '.calfinder.com'});		
		$.cookie('twostepslr_heading_id', textar[1], { expires: 1, path: "/", domain: '.calfinder.com'});		
		//$("h3#fh").empty();
		//$("h3#fh").append(textar[0]);
	});
	
} else {
		//$("h3#fh").empty();
		//$("h3#fh").append($.cookie('twostepslr_heading'));
	
}


//$('body').supersleight();
$('#lb-gallery a').lightBox();

	$('#magazine_show_a').click(function () {
		$('#magazine_2').slideToggle("slow");
		$('#magazine_show_a').remove();
		return false;
	});


	$('#enquire-form').css("display","none");	
	
	$('#enquire-form-button').click(function() { 
		$('#enquire-form').slideToggle();
		return false;
	});
	
	$('.trade-widget-p').css("display","none");	

	$('.trade-widget').click(function() {
		//$('.trade-widget-p').css("display","none");	
		var thisid = this.id;
		var target_ = thisid+'-p';
		var target = document.getElementById(target_);
		$(target).toggle();	
		return false;
	});
	$('.trade-widget-anchor').click(function() {
		var thisid = $(this).attr('rel');
		var target_ = thisid+'-p';
		var target = document.getElementById(target_);
		$(target).toggle();	
		return true;
	});
	
	$('.estimate-button-city a').click(function() {
										  
		$('.estimate-form-hidden').slideDown('slow');
		$('.estimate-button-city a').empty();
		$('.estimate-button-city a').append('fill in the form below for your free Solar Energy estimate');
		return false;					  
	})

var yload=function(hash){
	$.cookie('pu_form_off', 1, { expires: 14});
	$('#ajax-submit-publicforms').before('<img class="img-loader" style="float:right;margin:3px 5px;display:none" src="/assets/images/ajax-loader.gif" />');
	$('#ajax-submit-publicforms').click(function() {
		bar = 0;
		$('#ajax-pageform-publicforms-publicforms div.required .required').each(function(i){
			if($(this).val() == '') {
				bar = 1;
				$(this).css("border-color","red");	
				var foo = $(this).parent();
				$(foo).css("color","#990000");	
				$(foo).css("font-weight","bold");	
			} else {
				$(this).css("color","#333333");
				$(this).css("border-color","#000000");	
				var foo = $(this).parent();
				$(foo).css("color","#333333");
			}
		});
		if(bar == 1) {
			alert("It seems that you missed some mandatory fields. \nPlease ensure that all of the fields in red have been filled out.");
			return false;					 
		} else {
			$('.img-loader').css('display','block');
			$('#ajax-submit-publicforms').parent().prepend('<p style="float:left"><strong>Submitting your request...</strong></p>');
			$('#ajax-submit-publicforms').css('visibility', 'hidden');
			$('#ajax-submit-publicforms').empty();
			//$('#submit-publicforms').append('Submitting your data...');
			//$('#pageform-publicforms-publicforms').submit();
		}
	});
	
 };


/* Interstitial */
var pu_int_cookie = parseInt($.cookie('pu_int_cookie'));
if(!pu_int_cookie) {
	$.cookie('pu_int_cookie', 1, { expires: 14, path: "/"});
} else if(document.location.href != 'http://solar.calfinder.com/step-two') {
	$.cookie('pu_int_cookie', pu_int_cookie+1, { expires: 14, path: "/"});
}
if(pu_int_cookie+1 == 3 && !$.cookie('pu_form_off')) {
	$('.jqmWindow').jqm({ajax: '/pu_form/1',onLoad: yload, modal: 1}).jqmShow();
}/**/

if($('#share_buttons_single_page').length != 0) {
	var msie6 = $.browser == 'msie' && $.browser.version < 7;
    if (!msie6) {
        var top = $('#share_buttons_single_page').offset().top - parseFloat($('#share_buttons_single_page').css('margin-top').replace(/auto/, 0));

        $(window).scroll(function (event) {

            // what the y position of the scroll is

            var y = jQuery(this).scrollTop();
// whether that's below the form
            if (y >= top-20) {
                // if so, ad the fixed class
                $('#share_buttons_single_page').addClass('fixed');
            } else {
                // otherwise remove it
                $('#share_buttons_single_page').removeClass('fixed');
            }
        });
    }
}


// Form validation
$('button').click(function() {
		bar = 0;
		// Want to target this form
		var targ = $(this).parent().parent().parent().attr('id');
		$('#'+targ+' div.required .required').each(function(i){
			if($(this).val() == '') {
				bar = 1;
				$(this).css("border-color","red");	
				var foo = $(this).parent();
				$(foo).css("color","#990000");	
				$(foo).css("font-weight","bold");	
			} else {
				$(this).css("color","#333333");
				$(this).css("border-color","#000000");	
				var foo = $(this).parent();
				$(foo).css("color","#333333");
			}
		});
		if(bar == 1) {
			alert("It seems that you missed some mandatory fields. \nPlease ensure that all of the fields in red have been filled out.");
			return false;					 
		}
	});
	$('span.pullquote').each(function() {
					// Get the text of the span
		text = $(this).text();
					// Get rid of unwanted charactors
		text=text.replace( /\((.*)\)/gi, " " );
					// Check if this is to be a right or left pull quote and output it
		if ($(this).is(".right")) 
			$(this).parent().before('<blockquote class="pullquote right"><p>&quot;'+ text +'&quot;</p></blockquote>');
		else
			$(this).parent().before('<blockquote class="pullquote"><p>&quot;'+ text +'&quot;</p></blockquote>');
	});
	 // End pull quote code

;(function(){
	
var $$;

$$ = jQuery.fn.flash = function(htmlOptions, pluginOptions, replace, update) {
	var block = replace || $$.replace;
	pluginOptions = $$.copy($$.pluginOptions, pluginOptions);
	if(!$$.hasFlash(pluginOptions.version)) {
		if(pluginOptions.expressInstall && $$.hasFlash(6,0,65)) {
			var expressInstallOptions = {
				flashvars: {  	
					MMredirectURL: location,
					MMplayerType: 'PlugIn',
					MMdoctitle: jQuery('title').text() 
				}					
			};
		} else if (pluginOptions.update) {
			block = update || $$.update;
		} else {
			return this;
		}
	}
	
	htmlOptions = $$.copy($$.htmlOptions, expressInstallOptions, htmlOptions);
	
	return this.each(function(){
		block.call(this, $$.copy(htmlOptions));
	});
	
};
$$.copy = function() {
	var options = {}, flashvars = {};
	for(var i = 0; i < arguments.length; i++) {
		var arg = arguments[i];
		if(arg == undefined) continue;
		jQuery.extend(options, arg);
		// don't clobber one flash vars object with another
		// merge them instead
		if(arg.flashvars == undefined) continue;
		jQuery.extend(flashvars, arg.flashvars);
	}
	options.flashvars = flashvars;
	return options;
};
$$.hasFlash = function() {
	if(/hasFlash\=true/.test(location)) return true;
	if(/hasFlash\=false/.test(location)) return false;
	var pv = $$.hasFlash.playerVersion().match(/\d+/g);
	var rv = String([arguments[0], arguments[1], arguments[2]]).match(/\d+/g) || String($$.pluginOptions.version).match(/\d+/g);
	for(var i = 0; i < 3; i++) {
		pv[i] = parseInt(pv[i] || 0);
		rv[i] = parseInt(rv[i] || 0);
		// player is less than required
		if(pv[i] < rv[i]) return false;
		// player is greater than required
		if(pv[i] > rv[i]) return true;
	}
	return true;
};
$$.hasFlash.playerVersion = function() {
	try {
		try {
			var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
			try { axo.AllowScriptAccess = 'always';	} 
			catch(e) { return '6,0,0'; }				
		} catch(e) {}
		return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
	} catch(e) {
		try {
			if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
				return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
			}
		} catch(e) {}		
	}
	return '0,0,0';
};
$$.htmlOptions = {
	height: 240,
	flashvars: {},
	pluginspage: 'http://www.adobe.com/go/getflashplayer',
	src: '#',
	type: 'application/x-shockwave-flash',
	width: 320		
};
$$.pluginOptions = {
	expressInstall: false,
	update: true,
	version: '6.0.65'
};
$$.replace = function(htmlOptions) {
	this.innerHTML = '<div class="alt">'+this.innerHTML+'</div>';
	jQuery(this)
		.addClass('flash-replaced')
		.prepend($$.transform(htmlOptions));
};
$$.update = function(htmlOptions) {
	var url = String(location).split('?');
	url.splice(1,0,'?hasFlash=true&');
	url = url.join('');
	var msg = '<p>This content requires the Flash Player. <a href="http://www.adobe.com/go/getflashplayer">Download Flash Player</a>. Already have Flash Player? <a href="'+url+'">Click here.</a></p>';
	this.innerHTML = '<span class="alt">'+this.innerHTML+'</span>';
	jQuery(this)
		.addClass('flash-update')
		.prepend(msg);
};
function toAttributeString() {
	var s = '';
	for(var key in this)
		if(typeof this[key] != 'function')
			s += key+'="'+this[key]+'" ';
	return s;		
};
function toFlashvarsString() {
	var s = '';
	for(var key in this)
		if(typeof this[key] != 'function')
			s += key+'='+encodeURIComponent(this[key])+'&';
	return s.replace(/&$/, '');		
};
$$.transform = function(htmlOptions) {
	htmlOptions.toString = toAttributeString;
	if(htmlOptions.flashvars) htmlOptions.flashvars.toString = toFlashvarsString;
	return '<embed ' + String(htmlOptions) + '/>';		
};

if (window.attachEvent) {
	window.attachEvent("onbeforeunload", function(){
		__flash_unloadHandler = function() {};
		__flash_savedUnloadHandler = function() {};
	});
}
	
})();

// Contractor Galleries
if(typeof(theShow) != 'undefined') $('#showcase').flash(
	{ 
	  src: '/assets/flash/content-slideshow.swf',
	  width: 300,
	  height: 258,
	  flashvars: { xmlFile: theShow }
	},
	{ version: 8 }
);

});
function goto_page(el){
	if(el.options[el.selectedIndex].value != '-') {
		document.location.href = el.options[el.selectedIndex].value;
	}
}

