function prototype_compat()
{
	if (typeof(jQuery)!='undefined')
	{
		jQuery.noConflict();
	}
}

function queryurl(url,text)
{
	if(confirm(Utf8.decode(text)))
	{
		location.href=url;
	}
}

function slideToggle(div)
{
	prototype_compat();
	if ($(div).visible())
	{
		new Effect.SlideUp(div, {duration: 0.3});
	} else {
		new Effect.SlideDown(div, {duration: 0.3});
	}  
	return false;  
}

var loaderImageCounter=0;

function ajaxUpdate(div, url, scrollTo, force) {
	if (force==null) force=true;
	if ((WG.ajax==0)&&(!force))
	{
		return true;
	}else
	{
		prototype_compat();
		//alert('ajaxUpdateStart');
	   // $(div).setOpacity(0.3);

		if(loaderImageCounter==0)
		{
			loaderImageCounter++;
			$('loader1').show();
		} else
		{
			loaderImageCounter++;
		}
		
		//alert('ajaxUpdateStart');
	   //alert (Ajax);
	  // alert (Ajax.Updater);
		new Ajax.Updater(div, url, {method:'get', evalScripts:true, asynchronous:true,
				onComplete:function(request)
					{
					//	alert('ajaxUpdateCompleteStart');
					  //  $(div).setOpacity(1);
						if(loaderImageCounter==1)
						{
							loaderImageCounter--;
							$('loader1').hide();
							//$('tick1').show();
							setTimeout("$('tick1').fade()", 1000);						
						} else
						{
							loaderImageCounter--;
						}
						
						Lightview.updateViews();
						if (st=$(scrollTo))
							st.scrollTo();
						//alert('ajaxUpdateCompleteEnd');
					}
			});
	 //  alert ('ccc');
		
		//alert('ajaxUpdateEnd');
		return false;
	}
}

function ajaxSubmit(div, url, form, scrollTo) {
	prototype_compat();

  //$(div).setOpacity(0.3);
	$('loader1').show();  
	new Ajax.Updater(div, url, {method:'post', evalScripts:true, asynchronous:true,
            parameters: $(form).serialize(true),
            onComplete:function(request)
                {
                    //$(div).setOpacity(1);
					$('loader1').hide();
					//$('tick1').show();					
					//setTimeout("$('tick1').fade()", 1000);
                    Lightview.updateViews();
					if (st=$(scrollTo))
						st.scrollTo();
                }
            });
	//form.serialize(true)
	return false;
}

function aimStartCallback(param) {  
	//alert ('start');
	return true;  
}  
function aimCompleteCallback(param, response) {
	prototype_compat();
	//alert ('complete');
	$('loader1').hide();
	//$('tick1').show();					
	//setTimeout("$('tick1').fade()", 1000);
	response.evalScripts.bind(response).defer();
	$(param.divId).innerHTML = response;
	Lightview.updateViews();	
	//$(param.divId).innerHTML.evalScripts(); 
}
function aimSubmit(fr, divId)
{
	prototype_compat();
	$('loader1').show();  
	return AIM.submit(fr,
		{
			'onStart' : aimStartCallback,
			'onComplete' : aimCompleteCallback,
			'param': { 'divId': divId }
		}
	)
}

function createSortable(ulid, infid, targetUrl)
{
	prototype_compat();
   Sortable.create(ulid, 
            {	
                onUpdate:function()
                {
                    new Ajax.Updater(infid, targetUrl, 
                        {	
                            onComplete:function(request)
                            {new Effect.HighLight(ulid,{duration:1, pulses:2});},
                            parameters:Sortable.serialize(ulid), 
                            evalScripts:true, asynchronous:false
                        }
                    )
                }
            }
        )
}

Element.addMethods('iframe', {
document: function(element) {
  element = $(element);
  if (element.contentWindow)
      return element.contentWindow.document;
  else if (element.contentDocument)
      return element.contentDocument;
  else
      return null;
},
$: function(element, frameElement) { 
  element = $(element);
  var frameDocument = element.document();
  if (arguments.length > 2) {
      for (var i = 1, frameElements = [], length = arguments.length; i < length; i++)
          frameElements.push(element.$(arguments[i]));
      return frameElements;
  }
  if (Object.isString(frameElement))
      frameElement = frameDocument.getElementById(frameElement);
  return frameElement || element;
}
});