//-------------------- TRIM Functions ---------------------
function ltrim(str){for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);return str.substring(k, str.length);}
function rtrim(str){for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j));j--);return str.substring(0,j+1);}
function trim(str){return ltrim(rtrim(str));}
function isWhitespace(charToCheck){var whitespaceChars = " \t\n\r\f";return (whitespaceChars.indexOf(charToCheck) != -1);}

function fntxtOnFocus(txtbox, txt)
{  
 if (txtbox.value == txt)
 txtbox.value = "";
}
 
function fntxtOnBlur(txtbox, txt)
{
 if (txtbox.value == "")
 txtbox.value = txt;
}


function alertM(title, message)
{
	$(document).ready(function() {
		$('#MessagerDiv_title').html(title);
		$('#MessagerDiv_text').html(message);
		$("#MessagerDiv").css("z-index", 1001);
		$('#MessagerDiv').show();
		
	});
}
function alertA(title, message)
{
	$(document).ready(function() {
		
		var pageScroll = getPS();
 	    var top = pageScroll[1] + (getPH() / 10);
 	    var left = (screen.width)?(screen.width-500)/2:200;

 	    $("#MessagerDiv2").css("left", left+"px");
		$("#MessagerDiv2").css("top", top+"px");

		$('#MessagerDiv2_title').html(title);
		$('#MessagerDiv2_text').html(message);
		$('#MessagerDiv2').fadeIn();
	});
}

function getPS() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;	
    }
    return new Array(xScroll,yScroll);
	}

function getPH() {
    var windowHeight
    if (self.innerHeight) {	// all except Explorer
      windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
      windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
      windowHeight = document.body.clientHeight;
    }	
    return windowHeight;
	}


function getPhone(venue)
{
	var pattern=	/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/
	if(trim($('#mobileNum').val())==""){
		alertM('Error', "Input phone/email address");
		
	}	
	else if(isNaN(trim($('#mobileNum').val()))) {
		if(trim($('#mobileNum').val()).match(pattern)){
		x_getEmail($('#mobileNum').val(),venue, getEmailResponse);
		} else{
			alertM('Error', "Invalid email address");
			
		}		
	} else {
		x_getPhone($('#mobileNum').val(),venue, getPhoneResponse);
	}
	
}
function getPhoneResponse(response)
{
	if(!response)
		return;
	
	if(response['success'])
	{
		$('#mobileNum').val('');
		alertM('Success', response['response']);
	}
	else
	{
		alertM('Error', response['response']);
	}	
}
function getEmail(venue)
{
	x_getEmail($('#mobileNum').val(),venue, getEmailResponse);
	
}
function getEmailResponse(response)
{
	if(!response)
		return;
	
	if(response['success'])
	{
		$('#mobileNum').val('');
		alertM('Success', response['response']);
	}
	else
	{
		alertM('Error', response['response']);
	}	
}
function silentResponse(response)
{
	return;
}
function ShowMobileDetails()
{
	alertM('Details','<b>How to receive amazing deals from your favorite venues straight to your phone:</b><br/><br/>1. Create an account with your phone number included, then any bar that you make a "Favorite" will be able to contact you through text message.<br/><br/>2. If you don’t have a profile, simply input your phone number into the field under "Announcements" and you will receive texts from just the bars you submit your number to.<br/><br/>3. Only bars that are your favorites, or that you have input your number directly to will have the ability to text message you.<br/><br/>4. Three ways to stop text messages:<br/>      - Take your mobile number off your profile<br/>      - Take the venue you wish to block off your favorites<br/>      - Text STOP to 313131<br/><br/><br/><br/>');
}

function getOffsetTop(element) {
    var offset = 0;
    do {
        offset += element.offsetTop;
    } while (element = element.offsetParent);
    return offset;
}

function getOffsetLeft(element) {
    var offset = 0;
    do {
        offset += element.offsetLeft;
    } while (element = element.offsetParent);
    return offset;
}

var closemenudelay;
d = document;
var mousex = 0;
var mousey = 0;

$(document).ready(function() {
	d.onmousemove = function(e)
	{
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) 	{
			mousex = e.pageX;
			mousey = e.pageY;
		}
		else if (e.clientX || e.clientY) 	{
			var l = 1;
			mousex = 
				e.clientX 
				+ 
				document.body.scrollLeft
				+ d.documentElement.scrollLeft;
			mousey = e.clientY + document.body.scrollTop
				+ d.documentElement.scrollTop;
		}
		
	  return (true);
	}
});

var TT_id = 0;
var TT_src = 0;
var TT_type = 0;
var TT_showIntervalID = 0;

function ShowToolTip(id, NewSrc, type)
{
	TT_id = id;
	TT_src = NewSrc;
	TT_type = type;
	window.clearTimeout(TT_showIntervalID);
	TT_showIntervalID = window.setTimeout("showToolTipInternal()", 300);
}

function showToolTipInternal()
{
	var id=TT_id;
	var NewSrc = TT_src;
	var type = TT_type;
	
	window.clearTimeout(closemenudelay);
	var elemPos = document.getElementById('link_'+id);
	var tt 		= document.getElementById('toolTipDiv');
	var f_type = NewSrc['username'];
	if(type == 1 || type == "friends") type = "'friends'";

	/* if(type == 5)
	 {
	 //earlier code	 
	 //var str		= '<a href="javascript:;" style="color:black;" onClick="showQuickeg();"><center><img src="'+NewSrc['avatar_path']+'" onmouseover="window.clearTimeout(closemenudelay);" ><br><br></a><b onmouseover="window.clearTimeout(closemenudelay);" >'+NewSrc['title']+'</b><br><br><input type="button" class="button" value="Add" onmouseover="window.clearTimeout(closemenudelay);"  onclick="doAddAsAFriend(\''+NewSrc['username']+'\',\''+f_type+'\',\''+NewSrc['title'].replace("'","`")+'\','+type+'); return false;"></center>';
		 
	// modified code	 
	 var str		= '<a href="javascript:;" style="color:black;" onClick="showQuickeg();"><center><img src="'+NewSrc['avatar_path']+'" onmouseover="window.clearTimeout(closemenudelay);" ><br><br></a><b onmouseover="window.clearTimeout(closemenudelay);" >'+NewSrc['title']+'</b><br><br><input type="button" class="button" value="Add" onmouseover="window.clearTimeout(closemenudelay);" onClick="showQuickeg(); return false;" ></center>';
	 } 
	 else 
	 {*/
	 var str		= '<a href="'+NewSrc['profile_url']+'" style="color:black;"><center><img src="'+NewSrc['avatar_path']+'" onmouseover="window.clearTimeout(closemenudelay);" ><br><br></a><b onmouseover="window.clearTimeout(closemenudelay);" >'+NewSrc['title']+'</b><br><br><input type="button" class="button" value="Add" onmouseover="window.clearTimeout(closemenudelay);" onclick="doAddAsAFriend(\''+NewSrc['username']+'\',\''+f_type+'\',\''+NewSrc['title'].replace("'","`")+'\','+type+'); return false;"></center>'; 
	// }
	 
	tt.innerHTML  = str;
	tt.style.left = (getOffsetLeft(elemPos) - 5)+"px";
	tt.style.top  = (getOffsetTop(elemPos)  - 20)+"px";
	
	if( mousex < ((getOffsetLeft(elemPos) - 5)+tt.scrollWidth) && mousex > ((getOffsetLeft(elemPos) - 5)) && mousey > (getOffsetTop(elemPos)  - 20) && mousey < (getOffsetTop(elemPos)  - 20)+tt.scrollHeight)		
			tt.style.visibility = 'visible';
	else	tt.style.visibility = 'hidden';
}

function closeToolTip()
{
    closemenudelay = window.setTimeout('hideToolTip()', 500);
}
function hideToolTip()
{
	var tt 		= document.getElementById('toolTipDiv');
	tt.style.visibility = 'hidden';
	
}

function doAddAsAFriend(code, type, headline, type_id)
{
    if (type_id == "friends")
    {
        	return SdoSendFriendRequestDialog(headline, code);
    }
    else
    {
        	return SdoInitAddUsDialog(headline, code, type_id);
    }
}

 
function SdoAjaxSendFriendRequest(fname)
{	
	x_sendFriendRequest(fname, handleFriendRequest);
}

function SdoSendFriendRequestDialog(rname, fname)
{

    	var msg = "Do you really want to send a friend request to "+rname+"?";
    		msg = msg + "<br><br>";
    		msg = msg + "<input class=\"but104\" type=\"button\" value=\"Yes\" name=\"send\" onclick=\"SdoAjaxSendFriendRequest('"+fname+"')\"/>&nbsp;&nbsp;&nbsp;";
    		msg = msg + "<input class=\"but104\" type=\"button\" value=\"No\" onclick=\"$(\'#MessagerDiv\').fadeOut();\" name=\"send\"/>";
    	
    		alertM("<b>Sending Friend Request</b>",msg);
}
    
   	
function handleFriendRequest(response)
{	
		alertM("Result",response);
}    


function x_sendFriendRequest() { sajax_callFunction( "sendFriendRequest", x_sendFriendRequest.arguments ) }

var gfname = '';
var gftype = '';

function SdoInitAddUsDialog(rname, fname, type)
    	{
    		gfname = fname;
    		gftype = type;
    		var tmp = "";
    		type == 3 ? tmp="dj/musician" : tmp="place";
    		msg = "Do you really want to add "+rname+"  as a favorite "+tmp+"?";
    		msg = msg + "<br><br>";
    		msg = msg + "<input class=\"but104\" type=\"button\" value=\"Yes\" name=\"send\" onclick=\"SdoAjaxAddPlace('"+fname+"')\"/>&nbsp;&nbsp;&nbsp;";
    		msg = msg + "<input class=\"but104\" type=\"button\" value=\"No\" onclick=\"$('#MessagerDiv').fadeOut();\" name=\"send\"/>";
    		
    		alertM("<b>Add "+(type == 3?"Dj/Musician":(type == 4?"Promoter":"Place"))+" as a Favorite</b>",msg);
    	}
    	
function SdoAjaxAddPlace(fname)
{
	x_addPlaceFriend(fname, ShandleAddPlaceRequest);
}

function ShandleAddPlaceRequest(data)
{
	if (data.success)
	{
		//window.location.href="/"+gfname+"/";
		alertM("Success",(gftype == 3?"Dj/Musician":(gftype == 4?"Promoter":"Place")) + " Added to your favorites");
	}
	else
	{
		alertM("Error",data.response);
	}
}
    	
function x_addPlaceFriend() { sajax_callFunction( "addPlaceFriend", x_addPlaceFriend.arguments ) }

function toggleAllEvents(link){ 
	var $link = $(link); 
	if ($link.html()=="All Events") {
		$('.hidden_event_div').fadeIn(); 
		$link.html('Hide Events');
	} else { 
		$('.hidden_event_div').fadeOut(); 
		$link.html('All Events'); 
	} 
}

function toggleAllSweetDeals(link)
{
	var $link = $(link); 
	if ($link.html()=="All Sweet Deals") {
		$('.barBustersBlock').fadeIn(); 
		$link.html('Hide Sweet Deals');
	} else { 
		$('.barBustersBlock').fadeOut(); 
		$link.html('All Sweet Deals'); 
	} 
}

function showFLVPlayer(path,id, width,height,params)
{
	var version = "8";
	
	var src = "";
	src = src + '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + version + ',0,0,0" width="' + width + '" height="' + height + '" >';
	src = src + '<param name="allowScriptAccess" value="sameDomain" />';
	src = src + '<param name="movie" value="' + path + '" />';
	src = src + '<param name="quality" value="high" />';
	src = src + '<param name="wmode" value="transparent" />';
	
	for (key in params)
	{
		src = src + '<param name="'+key+'" value="'+params[key]+'" />';	
	}

	src = src + '<embed src="' + path + '" quality="high" wmode="transparent" ';
	
	for (key in params)
	{
		src = src + key+'="'+params[key]+'" ';	
	}
	src = src + 'width="' + width + '" height="' + height + '" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	src = src + '</object>';
	
	
	document.getElementById(id).innerHTML = src;
} 
    
function showTutorial()
{
	alertA("<b>Tutorial Video</b>","");
	
	$(document).ready(function() {
		params = new Array();
		params["allowfullscreen"] = "true";
		params["controlbar"] ="bottom";
		
		path = "/images/swf/flvplayer.swf?file=/content/tutorial_v2.flv";
	
		showFLVPlayer(path,"MessagerDiv2_text",600,400,params);
	});   
}

