//###############    GENERIC FUNCTIONS    ##################

function pageDimensions() {var x,y;if (self.innerHeight) {x = self.innerWidth;y = self.innerHeight;} else if (document.documentElement && document.documentElement.clientHeight) {x = document.documentElement.clientWidth;y = document.documentElement.clientHeight;} else if (document.body) {x = document.body.clientWidth;y = document.body.clientHeight;}return [x,y];}
function scrollOffset() {var x,y;if (self.pageYOffset) {x = self.pageXOffset;y = self.pageYOffset;} else if (document.documentElement && document.documentElement.scrollTop) {x = document.documentElement.scrollLeft;y = document.documentElement.scrollTop;} else if (document.body) {x = document.body.scrollLeft;y = document.body.scrollTop;}return [x, y]}

function updateTS() {
	var d = pageDimensions();
	var s = scrollOffset();
}



$JQ(document).ready(function(){


// Initialize Sliders
	$JQ('.slider').Slider({accept : '.indicator',
		onChange : function(cordx,cordy){
      
			for (var i=0; i<4; i++) {
				if ($JQ(this).attr("id") == 'sizeind_' + i) {
					$JQ("#size_" + i).attr("value", Math.round(6 + (66/100) * cordx));
						
					element_size = document.getElementById('size_' + i).value = Math.round(6 + (66/100) * cordx);
					//document.getElementById('text_line3').blur();
					var pars = 'size_' + i + '=' + document.getElementById('size_' + i).value;
					new Ajax.Updater('photo_area', '/banner/update_from_javascript/', {asynchronous:true, evalScripts:true, parameters: pars});
					
				} else if ($JQ(this).attr("id") == "opacityind_" + i) {
					cordx = cordx==0 ? 1 : cordx;
					cordx = cordx + .49;
					if ($JQ.browser.msie && cordx>=98.5) cordx = 100;
					$JQ("#opacity_" + i).attr("value", Math.round(cordx));
				} else if ($JQ(this).attr("id") == "halignind_" + i) {
					cordx = cordx + .49;
					$JQ("#halign_" + i).attr("value", Math.round(cordx));
					//element_halign = document.getElementById('halign_' + i).value
					//var pars = 'halign_' + i + '=' + document.getElementById('halign_' + i).value;
					var pars = 'halign_' + i + '=' + document.getElementById('halign_' + i).value + "&address=" + escape(document.getElementById('address_here').value);
					//very important part
					//
					//alert("word");
					//
					//new Ajax.Updater('photo_area', '/recommend/update_halign/', {asynchronous:true, evalScripts:true, parameters: pars});
					new Ajax.Updater('discover_area', '/discover/update_halign/', {asynchronous:true, evalScripts:true, parameters: pars, onLoading:function() { $('spinner').show(); }, onComplete: function() { $('spinner').hide(); }});
				  //
				  //
				  //
				} else if ($JQ(this).attr("id") == "valignind_" + i) {
					cordx = cordx + .49;
					$JQ("#valign_" + i).attr("value", Math.round(cordx));
					var pars = 'valign_' + i + '=' + document.getElementById('valign_' + i).value;
					new Ajax.Updater('photo_area', '/banner/update_valign/', {asynchronous:true, evalScripts:true, parameters: pars});					
				}
			}
			if ($JQ(this).attr("id") == "borderind") {
				cordx = Math.round(cordx/5);
				$JQ("#input_bordersize").attr("value", cordx);
			}
		},onSlide: function(cordx, cordy){
			for(var i=0; i<4; i++) {
				if ($JQ(this).attr("id") == 'sizeind_' + i) {
					$JQ("#fontsizedisplay_" + i).html(Math.round(6 + (66/100) * cordx));
				} else if ($JQ(this).attr("id") == "opacityind_" + i) {
					cordx = cordx==0 ? 1 : cordx;
					cordx = cordx + .49;
					if ($JQ.browser.msie && cordx>=98.5) cordx = 100;
					$("#opacitydisplay_" + i).html(Math.round(cordx));
				}
			}
		}
	});

	for (var i=0; i<2; i++) {
		$JQ('#sizeslider_' + i).SliderSetValues([[((300/100) * $JQ("#size_" + i).attr("value")),0]]);
		$JQ("#opacityslider_" + i).SliderSetValues([[((300/100) * $JQ("#opacity_" + i).attr("value")),0]]);
		$JQ("#valignslider_" + i).SliderSetValues([[((300/100) * $JQ("#valign_" + i).attr("value")),0]]);
		//$JQ("#halignslider_" + i).SliderSetValues([[((296/100) * $JQ("#halign_" + i).attr("value")),0]])
	}

	function centerIt(i) {
		alert("got here");
		$JQ("#halign_" + i).attr("value", 50);
		$JQ("#halignslider_" + i).SliderSetValues([[-5000,0]]);
		$JQ("#halignslider_" + i).SliderSetValues([[145,0]]);
		//reloadBanner();
		return false;		
	}

	$JQ("#bordersize").SliderSetValues([[((300/100) * $JQ("#input_bordersize").attr("value")),0]]);
	
	$JQ(".options").hide();


// Set ReloadBanner Event Listeners
	$JQ(".updateonchange").blur(function(){reloadBanner();return false;});
	if ($JQ.browser.mozilla) $JQ(".updateonchange").change(function(){reloadBanner();});
	$JQ(".speffect").change(function(){$JQ(".speffect").removeClass("banner_option");$JQ(this).addClass("banner_option");reloadBanner();return false;});
	if ($JQ.browser.safari || $JQ.browser.msie) $JQ(".speffect").click(function(){$JQ(".speffect").removeClass("banner_option");$JQ(this).addClass("banner_option");reloadBanner();});


// Pageload Settings



	$JQ(".speffect").each(function(){
		if ($JQ(this).attr("checked")) $JQ(this).addClass("banner_option");
	});

});


// The right way to add load events. By Simon Willison

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

// attach an event properly

function attachEvent(element, type, event)	{
  if(element.attachEvent)	{
    element.attachEvent('on' + type, event);
	}
  else	{
   element.addEventListener(type, event, false);
	}
}

function alertArgument(myString)	{
  alert(myString);
}

	function attachBehaviors()	{
		
		attachEvent($('clickme'), "click", function()  {
		    new Ajax.Updater($('updateme'), 'ajax.html', {method:'get', onComplete:function()	{
		    		alertArgument('You clicked that thing!')
				}
			})
		});	
	
}

//addLoadEvent(attachBehaviors);




