var upFader = false;
var activeFader = '';
var _BR;
_BR = getBrowser();

//predefine function
jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
		    });

function fadeObject(obj, sender)
{
	if (document.getElementById(obj) != null)
	if (document.getElementById(obj).style.display == 'block' && sender=='btn')
		return false;

	if (obj == "qLAbs")
		activeFader = obj;
		

	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle("_default");
				setTimeout('stupidIE()', '500');
		    });
}

function smFader(obj)
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle("_default");
		    });
}

function smFaderV2(obj)
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle("_default");
		    });
}

function smFaderFwup(obj, callback)
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle("_default", 'linear', function() { eval(callback) });
		    });
}

function stupidIE()
{
	if (activeFader == 'qLAbs')
		return false;

	if (upFader)
	{
		upFader=false;
		return;
	}


	if (document.getElementById('pl_src_div') == null)
		return;

	document.getElementById('pl_src_div').style.display = 'block'
	upFader = true;
}

function stupidOpera()
{
	return false;
	//no longer required
	if (_BR == 'Opera')
	{
		$("menu_holder_id").style.marginTop = "10px";
		document.getElementById("qLAbs").style.marginTop = "89px";
	}
}


function switchSearch()
{
	activeFader = 'qt_search';

	if (!hsrcState)
		fadeObject("pl_src_div");
	else
		clVal($("search_box").value);	
}


var hsrcState=false;
function rmkSrc()
{
	if (trim($("search_box").value) == "")
	{
		$("search_box").value = hDefValue;
		hsrcState = false;
	}
}

function kVal(event, src)
{
	hsrcState = true;
	if (event.keyCode==13) 
		clVal(src);
	else if (event.keyCode==27)
		rmkSrc();
	else
	{
		return;
	}
}


function kOMOv(obj)
{
	$(obj).style.background = "url(/STATIC_IMGS/__home/sr2.png)";
}

function kOMOu(obj)
{
	$(obj).style.background = "url(/STATIC_IMGS/__home/sr.png)";
}

function clVal(src)
{
	if (src.length < 3)
	{
		alert(tooShort);
		return;
	}

	if (!hsrcState)
	{
		$("search_box").value = "";
		$("search_box").focus();
		return;
	}

	if (src.length > 40)
	{
		alert(tooLong);
		return;
	}

	var trimSrc = src;


	$("srcFrm").submit();

	//document.location.href = "/cauta.htm?f="+srcPgType+"&q="+trimSrc;
}


function submitForm(formToSubmit)
{
	if (document.getElementById("selCityId")!=null)
	{
		if ($("selCityId").value == -1)
		{
			alert(crMsgMustChoose);
			return;
		}
	}


	if (document.getElementById("galCrCityId")!=null)
	{
		if ($("galCrCityId").value == -1)
		{
			alert(crMsgMustChoose);
			return;
		}
	}

	if (document.getElementById("pers_addr")!=null)
	{
		saveArtData($("artFootprint").value);
		var i=0, counter=0;
		for(i=0;i<=20000;i++)
			counter++;
			
	}


	document.getElementById(formToSubmit).submit();
}


function smExpand(obj)
{
	jQuery("#"+obj).slideToggle('slow');
}

function smExpandV2(obj)
{
	jQuery("#"+obj).slideToggle('slow');
}

var activeSF=0;
function smSFade(obj)
{
	if (document.getElementById(obj) == null)
		return false;

	jQuery("#"+obj).fadeToggle('slow');
	activeSF = (activeSF == 1) ? 0 : 1;
	return activeSF;
}

function smSFadeV2(obj)
{
	if (document.getElementById(obj) == null)
		return false;

	jQuery("#"+obj).fadeToggle('slow', function(){ jQuery("#"+obj).stop()});
}


function smToggle(obj, speed, prm)
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle(speed, 'linear', function() { if (prm == -1) return; hmLoad(prm); });
				setTimeout('stupidIE()', '500');
		    });
}


function smToggle2(obj, speed, prm)
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle(speed, 'linear', function() { if (prm == -1) return; hmLoad2(prm); });
				setTimeout('stupidIE()', '500');
		    });
}

function smToggle3(obj, speed, prm) //no parameters yet
{
	jQuery(document).ready(function(){
			jQuery.fn.fadeToggle = function(speed, easing, callback) {
			    return this.animate({opacity: 'toggle'}, speed, easing, callback);
			};
	 
			    jQuery("#"+obj).fadeToggle(speed, 'linear', function() { changeArtDelayed(); });
				setTimeout('stupidIE()', '500');
		    });
}



//corrections for stupid browsers
function brFix(page)
{
	return false;
	stupidOpera();
	if (_BR == 'Microsoft Internet Explorer' && BR_VER != '8' && BR_VER != '9')
	{
		if (confirm(upgrMsg))
			document.location.href= "http://www.microsoft.com/windows/internet-explorer/default.aspx";
	}
	else
	{
		if (glFader == 'block')
		{
			fadeObject("qLAbs");
			fadeSides("map_canvas", 206, -1);
		}
	}
}

function adShower(state)
{
	if (state == 1)
		$("ad_g2").style.display = "block";
	else
		$("ad_g2").style.display = "none";
}

function fadeSides(obj, px, direction)
{
	if (document.getElementById(obj)==null  || document.getElementById("ad_g2") == null)
		return false;

	if (direction < 0)
	{
		jQuery("#"+obj).animate({"width": "-="+px+"px"}, "slow", "linear", function(){ adShower(1) });
	}
	else
	{
		adShower(0);
		jQuery("#"+obj).animate({"width": "+="+px+"px"}, "slow", "swing");
	}
}


function setState()
{
	if ($("qLAbs").style.display == 'block')
	{
		var attr= "faderState=none";
		fadeSides("map_canvas", 206, 1);
	}
	else
	{
		var attr= "faderState=block";
		fadeSides("map_canvas", 206, -1);
	}


	var myAjax = new Ajax.Request(
                    '/proj/PHP/ajax/dispatch.misc.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

	function showResponse(originalRequest)
        { 
        }
}

var cnt=0;
var APactInt = 0;
function albAutoPlay()
{
	if (APactInt == 0)
		$("a_apelem").src = "/STATIC_IMGS/playSticky.png";

	TimeToFade = 1256.0;
	clearInterval(APactInt);
	APactInt = setInterval('albLoadOne('+cnt+')', 4000);
}


function albLoadOne(ind)
{
	clearInterval(APactInt);
	if (arr[ind] != undefined)
		eval(arr[ind]);
	else
	{
		clearInterval(APactInt);
		APactInt = 0;
		$("a_apelem").src = "/STATIC_IMGS/autoplay.png";
		return  false;
	}
	cnt++;
	APactInt = setInterval('albAutoPlay()', 4000);
}

function strpos (haystack, needle, offset) {
    // Finds position of first occurrence of a string within another  
    // 
    // version: 1009.2513
    // discuss at: http://phpjs.org/functions/strpos    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Onno Marsman    
    // +   bugfixed by: Daniel Esteban
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);    // *     returns 1: 14
    var i = (haystack+'').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}




function galSorter(src)
{
	$("_albHldr").innerHTML = "<div style='float:left; width: 100px; margin-left: 450px; margin-top: 110px'><img src='/STATIC_IMGS/ajxloader2.gif'></div>";
	var attr = "snd=gal";
		attr += "&phr="+src;
	//launch dispatacher that will filter elements
	var myAjax = new Ajax.Request(
                    '/proj/PHP/ajax/dispatch.search.php',
                    {
                        method: 'post',
                        parameters: attr,
                        asynchronous: true,
                        onComplete: showResponse,
                        contentType:'application/x-www-form-urlencoded',
                        encoding: 'UTF-8'
                    });

	function showResponse(originalRequest)
        { 
		var response = originalRequest.responseText.split("^|&");
		$("_albHldr").innerHTML = response[0];
		$("ss_pagination").innerHTML = response[1];

		//launch map update
		prepMap("search", "","","");
        }
}

function mouseX(evt) 
{
	if (evt.pageX) 
		return evt.pageX;
	else 
		if (evt.clientX)
			return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
		else return null;
}



function mouseY(evt) 
{
	if (evt.pageY) 
		return evt.pageY;
	else 
		if (evt.clientY)
			return evt.clientY + (document.documentElement.scrollTop ?  document.documentElement.scrollTop : document.body.scrollTop);
		else return null;
}


function softscroll(str)
{
	Effect.ScrollTo(str, {duration:1,offset:-1});
}


function popIn(state)
{
	if (state == 1)
		$("pop_in_div").style.display = "block";
	else
		$("pop_in_div").style.display = "none";
}

function loadjscssfile(norm)
{
	var head  = document.getElementsByTagName('head')[0];
	var link  = document.createElement('link');
	//link.id   = cssId;
	link.rel  = 'stylesheet';
	link.type = 'text/css';
	link.href = '/proj/APPS/FLYERS/'+norm+'/CSS/styles.css';
	link.media = 'all';
	head.appendChild(link);
}


function doKAct(event)
{
	if (event.keyCode==13) 
	{
		$("connect_form").submit();
	}
}


function fbInvite()
{
	//do this only if IP not already in our list
	jQuery(document).ready(function() 
	{
    
		//Change these values to style your modal popup
		var align = 'center';									//Valid values; left, right, center
		var top = 240; 											//Use an integer (in pixels)
		var width = 660; 										//Use an integer (in pixels)
		var padding = 0;										//Use an integer (in pixels)
		var backgroundColor = '#FFFFFF'; 						//Use any hex code
		var source = '/fb.htm'; 								//Refer to any page on your server, external pages are not valid e.g. http://www.google.co.uk
		var borderColor = '#333333'; 							//Use any hex code
		var borderWeight = 2; 									//Use an integer (in pixels)
		var borderRadius = 5; 									//Use an integer (in pixels)
		var fadeOutTime = 300; 									//Use any integer, 0 = no fade
		var disableColor = '#666666'; 							//Use any hex code
		var disableOpacity = 40; 								//Valid range 0-100
		var loadingImage = '/STATIC_IMGS/ajaxloader_trw.gif';		//Use relative path from this page
				
			//This method initialises the modal popup
	    modalPopup(align, top, width, padding, disableColor, disableOpacity, backgroundColor, borderColor, borderWeight, borderRadius, fadeOutTime, source, loadingImage);
			
			//This method hides the popup when the escape key is pressed
			jQuery(document).keyup(function(e) {
				if (e.keyCode == 27) {
					closePopup(fadeOutTime);
				}
			});
			
	});
}

