function userLinkFromName(userId, name){
		return "<a class='UL' href='/?id="+userId+"'>"+name+"</a>";
	
	}
	
	

function promptLogin(id, z_index)
{
	
	var element=document.getElementById(id);
	//element.innerHTML = '<br /><br /><br /><br /><span style="font-size:20px;">Loading... &nbsp;Please Wait...</span><br /><br /><br /><br />';
	//showAnswerQuestionDiv(count, view, longIdNumber);
//var em_width = "400px";
//var z_index = 200;
var x = 0;
var y = 0;
  var width        = window.innerWidth  ? window.innerWidth  : document.documentElement.clientWidth;
  var height       = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;

  element.style.position = "absolute";
  element.style.display  = "block";
  //element.style.width = em_width;
  if (z_index)
	element.style.zIndex = z_index;
  
 // alert( element.clientWidth + ',' + document.documentElement.scrollLeft + ',' +  width);

	//position screen center
    element.style.left = (document.documentElement.scrollLeft+(width -element.clientWidth )/2+x)+'px';
	//element.style.left = '400px';
	//alert(element.style.left);
    element.style.top  = (document.documentElement.scrollTop +(height-element.clientHeight)/2+y)+'px';
 
  if (z_index)
	grayOut(true, z_index-1);	
else
	grayOut(true);
}

function closePromptLogin(id)
{
	document.getElementById(id).style.display="none";
	grayOut(false);	
}

function popup4CrowdSignUp()
{
	promptLogin('popup4CrowdSignUp');
	document.getElementById('popupLogin').style.display = 'none';
}
function popup4CrowdLogin()
{
	promptLogin('popup4CrowdLogin');
	document.getElementById('popupLogin').style.display = 'none';
	document.getElementById('popup4CrowdSignUp').style.display = 'none';
	
}
function closeLoginPopup()
{
	document.getElementById('popupLogin').style.display = 'none';
	document.getElementById('popup4CrowdLogin').style.display = 'none';
	document.getElementById('popup4CrowdSignUp').style.display = 'none';
	
	var elem = document.getElementById('postButton');
	if (elem)
	{
		elem.disabled = false;
		elem.value='I Use This';
	}
	
	grayOut(false);	
}


function validateSignup(form)
{
    error = "";
	if (form.name)
	{
		if (form.name.value == ""){error += "Please enter your first and last name\n";}
		else
		{
			var splitName = form.name.value.split(" ");				
			if (splitName.length == 1)
				{error += "Please enter both your first and last name\n";}

		}
	}
	else
	{
		if (form.firstName.value == ""){error += "Please enter your first name\n";}
		if (form.lastName.value == ""){error += "Please enter your last name\n";}
	}
	
	
	var valid = "0123456789";
	
	if (form.zip)
	{
		//if (form.zip.value == ""){error += "Please enter your zip code\n";}
		//if (form.zip.value.length!=5) {
		//	error += "The zip code must be 5 digits.\n";
		//}
		
		var isAllDigits = true;
		for (var i=0; i < form.zip.value.length; i++) {
			temp = "" + form.zip.value.substring(i, i+1);	
			if (valid.indexOf(temp) == "-1")
			{
				isAllDigits = false;
			}
		}
		if (!isAllDigits){error += "The zip code can only contain numbers.\n";}
    }
    var regexp_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
    if (form.email.value == ""){error += "Please enter your email address\n";}   
    if (!regexp_email.test(form.email.value)){error += "Please enter a valid email address\n";}
    
    if (form.password.value == ""){error += "Please enter your desired password\n";}
    if (form.password.value.length < 6){error += "Your password must be at least six characters long\n";}
   
  
   
    if (error != "")
    {
        alert('Oops! Please fix the following errors:\n\n' + error);
        return false;
    }
    else
    {
        form.submit.value = "Please Wait...";
        form.submit.disabled = true;     
        return true;
    }

}
function validateSignupUser(form)
{
    error = "";
	if (form.name)
	{
		if (form.name.value == ""){error += "Please enter your first name\n";}		
	}
		
	
	var valid = "0123456789";
	
	
    var regexp_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
    if (form.email.value == ""){error += "Please enter your email address\n";}   
    if (!regexp_email.test(form.email.value)){error += "Please enter a valid email address\n";}
    
    if (form.password.value == ""){error += "Please enter your desired password\n";}
    if (form.password.value.length < 6){error += "Your password must be at least six characters long\n";}
   
     
    if (error != "")
    {
        alert('Oops! Please fix the following errors:\n\n' + error);
        return false;
    }
    else
    {
        form.submit.value = "Please Wait...";
        form.submit.disabled = true;     
        return true;
    }

}
function validateSignin(form)
{
    error = "";

    var regexp_email = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
    if (form.email.value == ""){error += "Please enter your email address\n";}   
    if (!regexp_email.test(form.email.value)){error += "Please enter a valid email address\n";}
    
	if (form.password)
		if (form.password.value == ""){error += "Please enter your password\n";}  
   
    if (error != "")
    {
        alert('Oops! Please fix the following errors:\n\n' + error);
        return false;
    }
    else
    {
        form.submit.value = "Please Wait...";
        form.submit.disabled = true;     
        return true;
    }

}


//URL IMAGE CHOOSER
//*************************************

function createImageMenu(out){

	window.menuwidth=parseFloat(out[1]);
	window.imagesperpage=parseInt(out[2]);
	window.bordersize=parseInt(out[3]);
	window.imagesheight=parseInt(out[4]);
	window.endwidth= new Array();
	window.srcs=new Array();
	for(var i=5;i+1<out.length;i+=2){
		endwidth.push(parseFloat(out[i]));
		srcs.push(out[i+1]);
	}
	window.firstimage=0;
	window.ids=new Array();
	window.imagecount=endwidth.length;
	for(var i=0;i<imagesperpage;i++){
		ids.push('img'+i);
	}
	
	//window.trackgrow=initialsize;
	//window.trackshrink=initialsize;
	window.timer;
	window.ts=40;
	window.ids1=new Array();
	var div=document.getElementById("imageMenu");
	div.innerHTML="<img width='46' height='100' id='last10' alt=''/>";
	for(var i=0;i<imagesperpage;i++){
		div.innerHTML+="<img id='img"+i+"' onclick='selectImage("+i+")' style='cursor:pointer; border:"+bordersize+"px solid black' onmouseover='overimage("+i+")' onmouseout='defaultwidths()'  width='"+0+"' height='"+imagesheight+"' alt='' />";
	}
	div.innerHTML+="<img id='next10'  width='46' height='100' alt=''  />";
	document.getElementById('menuText').style.display="";
	document.getElementById('imageRange').style.display="";
	window.defaultImageSrc=$("changeableImage").src;
	window.defaultImageH=$("changeableImage").height;
	window.defaultImageW=$("changeableImage").width;
	$("chooseImage").style.display="none";
	displayImages();
}

	function displayImages(){
		window.imagesonpage=imagesperpage;
		
		for(var i=firstimage;i<imagesperpage+firstimage;i++){
			imgtag=i-firstimage;
			if(srcs[i]){
				document.getElementById("img"+imgtag).src=srcs[i];
				document.getElementById("img"+imgtag).style.display="";
				
			}else{
				imagesonpage--;
				document.getElementById("img"+imgtag).style.display="none";
			}
		}
		//alert("hey, i'm this far");
		window.initialsize=menuwidth/imagesonpage-bordersize*2;
		//alert("hey, i'm this far2");
		for(var i=firstimage;i<imagesperpage+firstimage;i++){
			if(srcs[i]){
			if(initialsize>0.75*endwidth[i]){
					initialsize=0.75*endwidth[i];
				}
				}
		}
		
		window.trackgrow=initialsize;
		window.trackshrink=initialsize;
		for(var i=0;i<imagesperpage;i++){
			$("img"+i).width=initialsize;
		}
		
		if(firstimage==0){
			noLast();
		}else{
			yesLast();
		}
		if(firstimage+imagesperpage>=imagecount){
			noNext();
		}else{
			yesNext();
		}
		document.getElementById('imageRange').innerHTML="Displaying images "+(firstimage+1)+"-"+(imagesonpage+firstimage)+" of "+imagecount;
	}

function overimage(ii)
{ 

	  iid="img"+ii;
      ids1.splice(0,ids1.length); 
	        
      if(trackgrow < endwidth[firstimage+ii]&&(trackshrink>initialsize/3))  
      {  
		
		if(imagesonpage-1>1)
			trackgrow=trackgrow+(imagesonpage-1);
		else{
			trackgrow=trackgrow+2;
			trackshrink=trackshrink-1;
			}
		 trackshrink=trackshrink-1;
	   	 for(var i=0;i<ids.length;i++)
        {
          if(!(ids[i]==iid)) {      
			 ids1.push(ids[i]);
          }
         }
          document.getElementById(iid).width=trackgrow;
          for(var i=0;i<ids1.length;i++)
          {
             document.getElementById(ids1[i]).width=trackshrink;
          }
          timer=setTimeout("overimage("+ii+")",ts);
       }else
	   {
         clearTimeout(timer);
       }
 }
 
 
function defaultwidths()
{
     clearTimeout(timer);
	 trackshrink=initialsize;
     trackgrow=initialsize;
     for(var i=0;i<ids.length;i++)
     {
        document.getElementById(ids[i]).width=initialsize;
     }
}
function noNext(){
	var a=document.images["next10"];
	a.src="./images/blank46100.png";
	a.onmouseover="";
	a.onmouseout="";
	a.style.cursor="auto";
	a.onclick="";
}
function noLast(){
	var a=document.images["last10"];
	a.src="./images/blank46100.png";
	a.onmouseover="";
	a.onmouseout="";
	a.style.cursor="auto";
	a.onclick="";
}
function yesNext(){
	var a=document.images["next10"];
	a.src="./images/next10tsm.png";
	a.onmouseover=overNextImage;
	a.onmouseout=offNextImage;
	a.style.cursor="pointer";
	a.onclick=goNext10;
}
function yesLast(){
	var a=document.images["last10"];
	a.src="./images/last10tsm.png";
	a.onmouseover=overLastImage;
	a.onmouseout=offLastImage;
	a.style.cursor="pointer";
	a.onclick=goLast10;
	
}
function undoImageChoice(but){
	img=$("changeableImage");
	img.src=defaultImageSrc;
	img.width=defaultImageW;
	img.height=defaultImageH;
	but.style.display="none";
	selectedImage=false;
}
function selectImage(i){
	window.selectedImage=true;
	$("undoChoice").style.display="";
	var ind=i+firstimage;
	var url=srcs[ind];
	var img=document.getElementById('changeableImage');
	var ratio=endwidth[ind]/imagesheight;
	if(ratio>=1){
		img.width=200;
		img.height=img.width/ratio;
	}else{
		img.height=200;
		img.width=img.height*ratio;
	}
	img.src=url;
}
function offNextImage(){
	var a=document.images["next10"];
	a.src="./images/next10tsm.png";
}
function offLastImage(){
	var a=document.images["last10"];
	a.src="./images/last10tsm.png";
}
function overNextImage(){
	var a=document.images["next10"];
	a.src="./images/next10ts.png";
}
function overLastImage(){
	var a=document.images["last10"];
	a.src="./images/last10ts.png";
}
function goLast10(){
	firstimage=firstimage-imagesperpage;
	displayImages();
}
function goNext10(){
	firstimage=firstimage+imagesperpage;
	displayImages();
}

function enableButton(web){
	if(!(web.value.replace(/^\s\s*/, '').replace(/\s\s*$/, '')=="")){
		document.getElementById("chooseImage").disabled=false;
	}else{
		document.getElementById("chooseImage").disabled=true;
	}
}
function leaveToUpload(id){
	updateInfo(id);
	window.location = '/photo/?thing='+id;
}


function responseGotFocus(count, defaultText, newHeight)
	{
		clearTextIfStillDefault('responseComment' + count, defaultText);
		$('responseComment' + count).className = "responseSelected";
		if (newHeight == null)
			newHeight = 50;
		$('responseComment' + count).style.height = newHeight + "px";		
		$('responseComment' + count).style.overflowY = "scroll";
		var currentText = 	$('responseComment' + count).innerHTML;
		
		$('responseSubmit' + count).style.display = 'inline';
		$('responseImg' + count).className = "responseSelected";
		
		if (isLoggedIn)
			pingPause();
	}
	
	
	
function changeConversationAlertSettings(conversationId)
{
	currentConversationId=conversationId;
	
	var newSettingArray = document.conversationAlertForm.conversation;
	newSettingArray[0].disabled = true;
	newSettingArray[1].disabled = true;
	newSettingArray[2].disabled = true;
	newSettingArray[3].disabled = true;
	newSettingArray[0].checked = false;
	newSettingArray[1].checked = false;
	newSettingArray[2].checked = false;
	newSettingArray[3].checked = false;	
	document.getElementById('loadingSettings').style.display='inline';
	getConversationAlertSetting(conversationId);
	
	grayOut(true);promptLogin('popupAlertSettings');
	
}
function hideChangeConversationAlertSettings()
{
	grayOut(false);
	document.getElementById('popupAlertSettings').style.display = 'none';
}

function hideChangeCrowdAlertSettings()
{
	grayOut(false);
	document.getElementById('popupCrowdAlertSettings').style.display = 'none';
}

function changeCrowdAlertSettingsHtml(crowdId)
{
		
	/*var newSettingArray = document.conversationAlertForm.conversation;
	newSettingArray[0].disabled = true;
	newSettingArray[1].disabled = true;
	newSettingArray[2].disabled = true;
	newSettingArray[3].disabled = true;
	newSettingArray[0].checked = false;
	newSettingArray[1].checked = false;
	newSettingArray[2].checked = false;
	newSettingArray[3].checked = false;	
	document.getElementById('loadingSettings').style.display='inline';
	getConversationAlertSetting(conversationId);*/
	
	grayOut(true);promptLogin('popupCrowdAlertSettings');
	
}


function showSection(id, caller)
{
	document.getElementById(id).style.display = 'inline';
	caller.style.display='none';
}

function toggleCustomState(bool)
{
	document.crowdAlertForm.custom1.disabled = bool;
	document.crowdAlertForm.custom2.disabled = bool;
	document.crowdAlertForm.custom3.disabled = bool;
	document.crowdAlertForm.custom4.disabled = bool;
}

var currentConversationId = -1;

function showChooseCrowd(bool)
{	
	var id = 'pickCrowdPopup';
	if (bool)
	{
		positionPickCrowdWindow(id, 'question');
	}
	else
		document.getElementById(id).style.display ='none';
	
}
var newConvCrowdId = 0;
var currentCrowdName = "";
var currentCrowdId = 0;
var currentCategory = 0;
function showBucketCategories()
{
	hideTypeQuestion();
	hideSpecificCategory();
	logger('Showing Home');
	currentCategory = 0;
	document.getElementById('mainContent').style.display = 'block';
}
function showSpecificCategory(categoryId, categoryName)
{
	hideBucketCategories();
	hideTypeQuestion();
	logger('Showing Category ' + categoryId);
	currentCategory = categoryId;
	
	document.getElementById('pickExactBizTypeDiv').style.display = 'block';
	document.getElementById('category' + categoryId).style.display = 'block';
	document.getElementById('categoryTypeName').innerHTML = categoryName;	
	
}
/*
function showLastSpecificCategory()
{
	hideBucketCategories();
	hideTypeQuestion();
	logger('Showing Category ' + currentCategory);
	document.getElementById('pickExactBizTypeDiv').style.display = 'block';
	document.getElementById('category' + currentCategory).style.display = 'block';
	
}*/
function showTypeQuestion(crowdId, crowdName, imageName)
{
	hideBucketCategories();
	hideSpecificCategory();
	logger('Showing ' + crowdName);
	document.getElementById('bizTypeName').innerHTML = crowdName;
	document.getElementById('enterQuestionDiv').style.display = 'block';
	//document.getElementById('pickExactBizTypeDiv').style.display = 'none';
	document.getElementById('exampleImage').src='/images/' + imageName;
	currentCrowdName = crowdName;
	currentCrowdId = crowdId;
}
function hideBucketCategories()
{
	document.getElementById('mainContent').style.display = 'none';
}
function hideSpecificCategory()
{
	//logger('Back to home');
	document.getElementById('pickExactBizTypeDiv').style.display = 'none';
	document.getElementById('category' + currentCategory).style.display = 'none';
	//document.getElementById('mainContent').style.display = 'block';
	//currentCategory = 0;
}
function hideTypeQuestion()
{
	//logger('Back to category page');
	currentCrowdName = "";
	currentCrowdId = 0;
	document.getElementById('enterQuestionDiv').style.display = 'none';
	//document.getElementById('pickExactBizTypeDiv').style.display = 'block';
}
var newConvCancelButton;
function showNewConvAccount(crowdId, cancelButton)
{		
	document.getElementById('facebookDiv').style.display = 'block';
	var message = document.getElementById("responseComment" + crowdId).value;
	logger('Adding new message: ' + message);
		
	if (isBlank(message) || message == "Type your question...")
	{
		alert("Please enter your message to this business crowd first!");
		return;
	}
	newConvCancelButton = cancelButton;
		
	//Show the new account popup
	newConv = true;
	promptLogin('popupNewAccount');
	
}
function hideNewConvAccount()
{
	logger("Canceled New Account");
	grayOut(false);
	document.getElementById('popupNewAccount').style.display = 'none';
	newConv = false;
	if (newConvCancelButton)
	{
		newConvCancelButton.value = 'Send Message';
		newConvCancelButton.disabled = false;
	}
}
function alreadyHaveAccount(bool)
{
	if (bool == 1)
	{
		logger("Showing Login To Existing Account");
		document.getElementById('newAccount').style.display = 'none';
		document.getElementById('alreadyHaveAccount').style.display = 'block';
		document.getElementById('popupNewAccountTitle').innerHTML = 'Login To Existing Account';		
	}
	else
	{
		logger("Back to New Account");
		document.getElementById('newAccount').style.display = 'block';
		document.getElementById('alreadyHaveAccount').style.display = 'none'
		document.getElementById('popupNewAccountTitle').innerHTML = 'New Account';
	}
}

function expandCmt(expandId, obj)
{	
	document.getElementById(expandId).style.display = 'inline';
	obj.style.display = 'none';
}
