// JavaScript Document
String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
};

var lightboxWin;

function openLightbox(lb_path, width, height, on_complete_function, complete_arg){
	var left;
	
	if(width == undefined){
		width = 650;
	}
	
	if(height == undefined){
		height = 700;
	}
	
	windowBrowserFix = false; //(Prototype.Browser.IE)? true: false;
	lightboxWin = new UI.Window({width:width, height: height, minimize:windowBrowserFix, maximize: windowBrowserFix, resizable:windowBrowserFix, draggable: true}).show(true).center();

    lightboxWin.setAjaxContent(lb_path);
	lightboxWin.focus();
	if (!Prototype.Browser.IE){ lightboxWin.observe("hidden", function() {top -= 20; left -= 20}); }
}

var alertWin;
function openLightboxAlert(blurb, explain){
	source = '/ui/alert.php';
	var left;
	if (blurb == '') blurb = 'Your request has been completed';
	windowBrowserFix = false; //(Prototype.Browser.IE)? true: false;
	alertWin = new UI.Window(
		{
			width: 300,
			height: 300,
			minimize: windowBrowserFix, 
			maximize: windowBrowserFix, 
			resizable: windowBrowserFix, 
			draggable: true
		}
	).show().center().focus().setAjaxContent(source, {
    method: "GET", 
    parameters: {header: blurb, body: explain},
    onCreate: function() {   
      this.setContent('<div class="message">Please wait...</div><div class="spinner"></div>');
    }
    });

	if (!Prototype.Browser.IE){ alertWin.observe("hidden", function() {top -= 20; left -= 20}); }
}

var activateWin;
function openLightboxActivate(lb_path,email,type){
	var left;
	windowBrowserFix = false; //(Prototype.Browser.IE)? true: false;
	alertWin = new UI.Window(
		{
			width: 500,
			height: 350,
			minimize: windowBrowserFix, 
			maximize: windowBrowserFix, 
			resizable: windowBrowserFix, 
			draggable: true
		}
	).show().center().focus().setAjaxContent(lb_path, {
    method: "GET", 
    parameters: {email:email, emailtype:type},
    onCreate: function() {   
      this.setContent('<div class="message">Please wait...</div><div class="spinner"></div>');
    }
    });

	if (!Prototype.Browser.IE){ alertWin.observe("hidden", function() {top -= 20; left -= 20}); }
}

var saveWin;
function openLightboxSave(blurb, explain){
	source = '/ui/saved.php';
	var left;
	if (blurb == '') blurb = 'Your request has been completed';
	windowBrowserFix = false; //(Prototype.Browser.IE)? true: false;
	saveWin = new UI.Window(
		{
			width: 300,
			height: 300,
			minimize: windowBrowserFix, 
			maximize: windowBrowserFix, 
			resizable: windowBrowserFix, 
			draggable: true
		}
	).show().center().focus().setAjaxContent(source, {
    method: "GET", 
    parameters: {header: blurb, body: explain},
    onCreate: function() {   
      this.setContent('<div class="message">Please wait...</div><div class="spinner"></div>');
    }
    });

	if (!Prototype.Browser.IE){ saveWin.observe("hidden", function() {top -= 20; left -= 20}); }
}

function ajaxUpdate(url, target){
	//Effect.toggle(target, animate, { delay: 0.5 });
	$(target).startWaiting();
	new Ajax.Updater(target, url, {
  		onComplete: function(response) {
  			$(target).stopWaiting();
  			if ($('evalJS')) eval($('evalJS').innerHTML);
    		//Effect.toggle(target, 'blind', { delay: 0.5 });
     	},
 	 	method: 'post'
	});
}

function ajaxFormSubmit(formid, feedback){
	openLightboxLoading();
	
	$(formid).request({
  		onComplete: function(transport){
  			response = transport.responseText;
  			//alert(response);
		  	if (feedback == 'reload'){
  				window.parent.location.reload();
  				//window.parent.lightboxWin.close();
  			}else{
  				closeLightboxLoading();
  				window.parent.openLightboxAlert(transport.responseText);
  			}
  			
  			
 		}
	});
}

/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Konstantin Jagello | http://javascript-array.com/ */

function getClientWidth() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight() {
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}

var loadingWin;
function openLightboxLoading(){
	$('lightBox').startWaiting();
}

function closeLightboxLoading(){
	$('lightBox').stopWaiting();
}

function openBodyLightboxLoading(target){
	$(target).startWaiting();
}

function closeBodyLightboxLoading(target){
	$(target).stopWaiting();
}

function dynamicJsLoad(srcjs) {

    var head = $$('head')[0];
    if (head)
    {
	    if(! $(srcjs))
	    {
		    var script = new Element('script', { type: 'text/javascript', src: srcjs, id:srcjs });
            head.appendChild(script);
        }
    }
}

function dynamicCssLoad(srccss) {

    var head = $$('head')[0];
    if (head)
    {
	    if(! $(srccss))
	    {
		    var script = new Element('link', { type: 'text/css', href: srccss, id:srccss, rel:'stylesheet'});
            head.appendChild(script);
        }
    }
}

function dynamicCssLoad(srccss) {

    var head = $$('head')[0];
    if (head)
    {
	    if(! $(srccss))
	    {
		    var script = new Element('link', { type: 'text/css', href: srccss, id:srccss, rel:'stylesheet'});
            head.appendChild(script);
        }
    }
}

function logOut(userid){
	var userid = userid;
	var url = '/inc/app/logout.php';
	if(userid != ''){
		$('pageLoader').startWaiting('blackWaiting');
		new Ajax.Request(url, {
	  		method: 'post',
	  		parameters: { userid:userid},
	  		onSuccess: function(transport){
	    		var response = transport.responseText || "no response text";
	    		$('pageLoader').stopWaiting();
	      		if(response == 'true'){
	      			window.parent.location.reload();
	      		}
	      		else {
	      			header = 'Logout Failed!';
	      			window.parent.openLightboxAlert(header, response);
	      		}
	   		}
	  	});
	}
}

function fbLogin(){
	var url = '/inc/app/fblogin.php';
	if(url != ''){
		new Ajax.Request(url, {
			method: 'post',
			parameters: {  },
			onSuccess: function(transport){
		  		var response = transport.responseText || "no response text";
		  		window.parent.location.reload();
			}
		});
	}
}

function facebook_prompt_permission(permission){	
	FB.Facebook.apiClient.users_hasAppPermission(permission,
		function(result) {
		    if (result == 0) {
		    	// render the permission dialog
		    	FB.Connect.showPermissionDialog(permission, function(perms) {
		    		if (!perms) {
		    			fbLogin();
		    		} 
		    		else {
		    			fbLogin();
		    		}
		    	});
		    } else {
		       // permission already granted.
		       fbLogin();
		    }
		}
	);
}
