var hostUrl = 'http://'+location.hostname+'/';
var staticDomain = hostUrl;
var _globalAction="";
var bObject=function(a){
if(document.all&&!document.getElementById){
return document.all[a];
}else{
return document.getElementById(a);
}
};

function launchShareWindow(obj,_db,_dc,_dd,_de,evt,_e0,i, esName){
try{
if(bObject(_e0)){
var par=bObject(_e0).parentNode;
par.removeChild(bObject(_e0));
return;
}
}
catch(e){
}
closeAllWins(); // close window
_globalAction=_e0;
var _e3=launchModalWindow();
var _e4=createPopUpWindowFramework(_e0,300,"invite");
var _e5=obj.id;
var _e6="";
var _e7="";
var _e8="";
switch(_e0){
case "shareReview":
_e6="reviewId";
_e7="Share this review";
_e8=unescape(esName).length<=15?unescape(esName):unescape(esName).substring(0,15)+"...";
break;
case "shareBusiness":
_e6="businessId";
_e7="Share this place";
_e8=unescape(esName).length<=15?unescape(esName):unescape(esName).substring(0,15)+"...";
break;
case "shareEvent":
_e6="eventId";
_e7="Share this Event";
_e8=unescape(esName).length<=15?unescape(esName):unescape(esName).substring(0,15)+"...";
break;

}
var str="<div id=\"moveThisWin\">";
str+="<h1><img src=\""+staticDomain+"/images/close.gif\" onclick=clearModalDialog(bObject(\""+_e0+"\")); title=\"Close this window\"/><label class=\"required\">required</label>"+_e7+"</h1>";
str+="</div>";
str+="<div id=\"contentHolder\" class=\"middle\">";
if(_e8){
str+="<p>Share \"<b>"+_e8+"\"</b> with your friends</p>";
}
str+="<div id=\"shareWindowErrors\" class=\"chotaMsg red\" style=\"display:none\"></div>";
str+="<form id=\"popfrmID\" name=\"InvitationEmailSentForm\" onsubmit=\"sendShareRequest(this);return false;\" action=\"javascript:void(0)\">";
str+="<input type=\"hidden\" name=\"action\" value=\""+_e0+"\"/>";
if(_e6){
str+="<input type=\"hidden\" name=\""+_e6+"\" value=\""+_de+"\"/>";
}
str+="<dl>";
str+="<dt><label class=\"required\">Your name </label></dt>";
str+="<dd><input id=\"fromName\" type=\"text\" name=\"fromName\" value=\""+_db+"\"/ class=\"required\" title=\"Name required\"></dd>";
str+="<dt><label class=\"required\">Your email address</label></dt>";
str+="<dd><input name=\"fromEmail\" id=\"fromEmail\" type=\"text\" value=\""+_dc+"\"/ class=\"required validate-email\" title=\"Email required And must be valid\"></dd>";
str+="<dt><label class=\"required\">Your friend's email address</label></dt>";
str+="<div id=\"toEmailHolder\" >";
str+="<dd><input id=\"toEmail0\" name=\"toEmail[]\" type=\"text\"/><br><br></dd>";
str+="<dd><input id=\"toEmail1\" name=\"toEmail[]\" type=\"text\"/> <br><br></dd>";
str+="<dd><input id=\"toEmail2\" name=\"toEmail[]\" type=\"text\"/><br><br></dd>";
str+="</div>";
str+="<dd><button class=\"tiny grey\" type=\"button\" title=\"Add email addresses\" onclick=\"addToEmails();return false;\">+ Add more addresses</button></dd>";
str+="<dt><label>Message</label><dt>";
str+="<dd><textarea name=\"message\">"+_dd+"</textarea></dd>";
str+="<dd class=\"buttons\"><a title=\"Close this window\" onclick=clearModalDialog(bObject(\""+_e0+"\"));return false;\" style=\"cursor:pointer\">Cancel</a>  | &nbsp;&nbsp;<button id=\"shareWindowButton\" type=\"submit\" class=\"tiny green\">Send Email</button>";
str+="</form>";

str+="</div>";

_e4.innerHTML=str;
document.body.appendChild(_e4);
evt=(evt)?evt:((window.event)?window.event:null);
var cH=parseInt(bObject(_e0).clientHeight);
var cW=parseInt(bObject(_e0).clientWidth);
var wT=document.all?event.clientY:evt.clientY;
_e0=middleAlignWindow(_e0,_e3,cW,cH);
try{
bObject("fromName").focus();
}
catch(e){
}
fadeTimer=fadeInOut(_e0,"in");
}




function middleAlignWindow(_ed,_ee,cW,cH){
bObject(_ed).style.left=100*((_ee[0]-cW)/2)/_ee[0]+"%";
bObject(_ed).style.top=100*(((_ee[1]-cH)/2)+_ee[2])/_ee[1]+"%";
return _ed;
}

var fadeTimer;
function fadeInOut(_71,_72){
try{
var _73;
var o=bObject(_71);
if(document.getElementById&&document.all){
_73=parseInt(o.style.filter.split("=")[1].split(")")[0]);
switch(_72){
case "in":
_73=_73+25;
break;
case "out":
_73=_73-25;
break;
}
o.style.filter="alpha(opacity="+_73+")";
_73=_73/100;
}else{
_73=parseFloat(o.style.opacity);
switch(_72){
case "in":
_73=_73+0.25;
break;
case "out":
_73=_73-0.25;
break;
}
o.style.opacity=_73;
}
if(_73>=0&&_72=="out"){
fadeTimer=setTimeout("fadeInOut('"+_71+"','"+_72+"')",1);
}else{
if(_73<1&&_72=="in"){
fadeTimer=setTimeout("fadeInOut('"+_71+"','"+_72+"')",1);
}else{
clearTimeout(fadeTimer);
if(_72=="out"){
if(errOrNot=="info"&&bObject(_71).parentNode.childNodes[1].id.match("flag")){
errOrNot="";
var _75=bObject(_71).parentNode.childNodes;
var _76;
var tmp;
for(var j=0;j<_75.length;j++){
try{
_76=_75[j].id.substring(4,_75[j].id.length);
if(isValidNumber(_76)){
tmp=j;
break;
}
}
catch(e){
}
}
tmp=(tmp)?1:0;
if(_71!="sendToPhone"){
bObject(_71).parentNode.childNodes[tmp].onclick=null;
bObject(_71).parentNode.childNodes[tmp].removeAttribute("href");
_76="flagItLink"+_76;
var k=bObject(_76);
k.style.backgroundPosition="0px "+0+"px";
k.style.color="gray";
k.style.cursor="default";
k.title="";
k.onmouseover=k.onmouseout=k.onmouseup=function(){
k.style.backgroundPosition="0px "+0+"px";
};
}
}
bObject(_71).parentNode.removeChild(bObject(_71));
try{
bObject("modalLayer").parentNode.removeChild(bObject("modalLayer"));
}
catch(e){
}
}
return;
}
}
}
catch(e){
}
}


function createPopUpWindowFramework(_d6,_d7,_d8){
var _d9=document.createElement("div");
_d9.id=_d6;
_d9.style.position="absolute";
_d9.style.zIndex=500;
_d9.style.width=_d7+"px";
_d9.className=_d8!=undefined?"pop"+" "+_d8:"pop";
return _d9;
}


function launchModalWindow(){
var _d1=document.createElement("div");
_d1.id="modalLayer";
_d1.style.position="absolute";
_d1.style.width="100%";
_d1.style.height=document.body.clientHeight+"px";
_d1.style.top="0px";
_d1.style.left="0px";
_d1.style.lineHeight="0";
_d1.style.backgroundColor="#000";
if(document.getElementById&&document.all){
_d1.style.filter="alpha(opacity=50)";
}else{
_d1.style.opacity=0.5;
}
_d1.style.zIndex=101;
var _d2=0;
var _d3=0;
if(typeof (window.innerWidth)=="number"){
_d2=window.innerWidth;
_d3=window.innerHeight;
}else{
if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){
_d2=document.documentElement.clientWidth;
_d3=document.documentElement.clientHeight;
}else{
if(document.body&&(document.body.clientWidth||document.body.clientHeight)){
_d2=document.body.clientWidth;
_d3=document.body.clientHeight;
}
}
}
var _d4=0;
if(document.documentElement&&document.documentElement.scrollTop){
_d4=document.documentElement.scrollTop;
}else{
if(document.body&&document.body.scrollTop){
_d4=document.body.scrollTop;
}else{
if(window.pageYOffset){
_d4=window.pageYOffset;
}else{
if(window.scrollY){
_d4=window.scrollY;
}
}
}
}
var _d5=new Array();
_d5[0]=_d2;
_d5[1]=_d3;
_d5[2]=_d4;
_d1.style.height=(100*((document.body.scrollHeight+20)/_d3))+"%";
document.body.appendChild(_d1);
_globalBrowser=_d5;
return _d5;
}

var fadeTimer;

function clearModalDialog(_d0){
try{
_d0.parentNode.removeChild(_d0);
bObject("modalLayer").parentNode.removeChild(bObject("modalLayer"));
}
catch(e){
}
}
function addToEmails(){
var _f6=document.getElementsByName("toEmail[]");
str="";
for(var k=0;k<_f6.length;k++){
if(k < 3){
 str+="<dd><input id=\"toEmail"+k+"\" name=\"toEmail[]\" type=\"text\" value=\""+_f6[k].value+"\"/><br><br></dd>";
 } else {
 str+="<div id=\"inp"+k+"\"><dd><input id=\"toEmail"+k+"\" name=\"toEmail[]\" type=\"text\" value=\""+_f6[k].value+"\"/> &nbsp;<a href='javascript;;' onclick='javascript: $(\"inp"+k+"\").remove(); return false;' alt='Remove' title ='Remove'>X</a><br><br></dd></div>";
 }
}
str+="<div id=\"inp"+_f6.length+1+"\"><dd><input id=\"toEmail"+_f6.length+1+"\" name=\"toEmail[]\" type=\"text\"/> &nbsp;<a href='javascript;;' onclick='javascript: $(\"inp"+_f6.length+1+"\").remove(); return false;' alt='Remove' title ='Remove'>X</a><br><br></dd></div>";
bObject("toEmailHolder").innerHTML=str;
return false;
}


function sendShareRequest(_f1){
var _f2="";
var url="/search/share_place";
bObject("shareWindowErrors").style.display="none";
bObject("shareWindowButton").innerHTML="Sending ...";
bObject("shareWindowButton").setAttribute("disabled","disabled");
for(var i=0;i<_f1.elements.length;i++){
var _f5=_f1.elements[i];
if(_f2){
_f2+="&";
}
//share review condition
if(_f5.name == 'action'){
  if(_f5.value == 'shareReview'){
  	url="/search/share_review";
	}
  if(_f5.value == 'shareEvent'){
  	url="/event/share_event";
	}		
}
_f2+=_f5.name+"="+escape(_f5.value);
}
sendRequest(url,_f2);
return false;
}

function sendRequest(uri,_31){
	
  var url = uri;
	var pars = _31;
	var myAjax = new Ajax.Updater(
		'', 
		url, 			
		{
			method: 'post', 
			parameters: pars,
			onFailure: reportError,
      onSuccess : processResult 
			
		});
		
	
}
	
function reportError(originalRequest)
{
  //_51 = originalRequest.responseText;
  //alert(_51);
  var msg="There was an error. Please Try again Letter.";
  msg="<i>"+msg+"</i>";
  bObject("shareWindowErrors").style.display="";
  bObject("shareWindowErrors").innerHTML=msg;
  bObject("shareWindowButton").removeAttribute("disabled");
}

function processResult(originalRequest, _51){
  var msg="";
  _51 = originalRequest.responseText;
  //alert(_51);
  parseXMLDoc(_51);
  xmlObj=doc.documentElement;
  var _53=xmlObj.getElementsByTagName("type")[0].firstChild.nodeValue;
  msg=xmlObj.getElementsByTagName("message")[0].firstChild.nodeValue;
  if(_53=="info"){
    msg="<div class='successResponse'>"+msg+"</div>";
    displayAjaxResponse(msg,_globalAction);
  }else{
    msg="<i>"+msg+"</i><br>";
    var _54=xmlObj.getElementsByTagName("error");
    for(var k=0;k<_54.length;k++){
      msg+="&#149; "+_54[k].firstChild.nodeValue+"<br/>";
    }
    bObject("shareWindowErrors").style.display="";
    bObject("shareWindowErrors").innerHTML=msg;
    bObject("shareWindowButton").removeAttribute("disabled");
  } 
}


function displayAjaxResponse(msg,_42){
var cH=bObject(_42).clientHeight;
var _44=parseInt(bObject(_42).style.top);
bObject(_42).style.top=(_44+(cH/2-50)*100/_globalBrowser[1])+"%";
bObject(_42).style.padding="0px";
bObject(_42).style.border="0px solid #fff";
bObject(_42).innerHTML=msg;
setTimeout("clearModalDialog(bObject('"+_42+"'))",2000);
}


var doc;
function parseXMLDoc(_33){
if(window.XMLHttpRequest){
if(window.ActiveXObject){
doc=new ActiveXObject("Msxml2.DOMDocument.3.0");
doc.async="false";
doc.loadXML(_33);
}else{
doc=(new DOMParser()).parseFromString(_33,"text/xml");
}
}else{
if(window.ActiveXObject){
doc=new ActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML(_33);
}
}
}

/// flag of best of grubhog
var bestOfFlagObject;
var flagAsBestBusiness=function(_ca,_cb){
closeAllWins(); ///close all popup
this.BusinessId=_ca;
this.origin=_cb;
this.sendRequestBestBusiness();
};

flagAsBestBusiness.prototype.sendRequestBestBusiness=function(){
this.currentHTMLObject=this.origin;
this.origin.removeAttribute("href");
this.origin.removeAttribute("onclick");
this.origin.setAttribute("style","text-decoration:none;FONT-SIZE: 10px;");
this.origin.className="bestVoteDone";
this.origin.innerHTML="Processing ...";
var uri="/search/voteForBusiness/";
var _cd="BusinessId="+this.BusinessId;
sendRequestBestBus(uri,_cd);
};

flagAsBestBusiness.prototype.displayResponse=function (_ce){
if("info"==_ce){
this.origin.className="bestVoteDone";
this.origin.innerHTML="Thanks for your vote";
}else{
var _cf=this.origin.parentNode;
_cf.removeChild(this.origin);
_cf.appendChild(this.currentHTMLObject);
alert("Error submitting your request.\nPlease try again.");
}
};

function sendRequestBestBus(uri,_cd){
	var url = uri;
	var pars = _cd;
	var myAjax = new Ajax.Updater(
		'', 
		url, 			
		{
			method: 'post', 
			parameters: pars,
			onFailure: reportErrorReview,
      		onSuccess : processBestReviewResponse 
			
		});
		
	
}
	
function reportErrorReview()
{
 var msg="There was an error. Please Try again Letter.";
 alert(msg);	
}

function processBestReviewResponse(originalRequest){
 	//var _51 = originalRequest.responseText;
  //alert(_51);
  bestOfFlagObject.displayResponse("info");
}

/// Add favorite
var FavoriteObject;
var addFavorite=function(_ca,_cm,_cb){
closeAllWins(); ///close all popup
this.BusinessId=_ca;
this.MemberId=_cm;
this.origin=_cb;
this.sendRequestFavorite();
};

addFavorite.prototype.sendRequestFavorite=function(){
this.currentHTMLObject=this.origin;
this.origin.removeAttribute("href");
this.origin.removeAttribute("onclick");
this.origin.className="bestVoteDone";
this.origin.innerHTML="Processing ...";
var uri="/search/addFavorite/";
var _cd="BusinessId="+this.BusinessId+"&MemberId="+this.MemberId;
sendajaxFavorite(uri,_cd);
};

addFavorite.prototype.displayResponseFavorite=function (_ce){
if("info"==_ce){
this.origin.className="bestVoteDone";
this.origin.innerHTML="Business Added.";
}else{
var _cf=this.origin.parentNode;
_cf.removeChild(this.origin);
_cf.appendChild(this.currentHTMLObject);
alert("Error submitting your request.\nPlease try again.");
}
};

function sendajaxFavorite(uri,_cd){
	var url = uri;
	var pars = _cd;
	var myAjax = new Ajax.Updater(
		'', 
		url, 			
		{
			method: 'post', 
			parameters: pars,
			onFailure: reportErrorFavorite,
      		onSuccess : processFavoriteResponse 
			
		});
		
	
}

function reportErrorFavorite()
{
 var msg="There was an error. Please Try again Letter.";
 
}
function processFavoriteResponse(originalRequest){
 var _51 = originalRequest.responseText;
 // alert(_51);
  FavoriteObject.displayResponseFavorite("info");
 }

///flag item

var reviewTitles=new Array();
var profileHandles=new Array();
var flagItems=function(_b3,_b4,_b5,_b6,i,evt,_mID,esName){
try{
if(bObject("flagWindow")){
var par=bObject("flagWindow").parentNode;
par.removeChild(bObject("flagWindow"));
return;
}
}
catch(e){
}
closeAllWins();
_globalAction=_b6;
var _ba=launchModalWindow();
var _b5=_b5;
var _bb=createPopUpWindowFramework("flagWindow",_b5);
var _bc="";
var _bd;
switch(_b6){
case "business":
_bc+="<dt><input type=\"radio\" checked name=\"cat\" value=\"D\"></dt><dd>Duplicate</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"I\"></dt><dd>Inaccurate</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"C\"></dt><dd>Closed</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"U\"></dt><dd>Other</dd>";

_bd=unescape(esName).length<=15?unescape(esName):unescape(esName).substring(0,15)+"...";
break;
case "review":
case "profile":
_bc+="<dt><input type=\"radio\" checked name=\"cat\" value=\"D\"></dt><dd>Duplicate</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"S\"></dt><dd>Spam</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"O\"></dt><dd>Offensive</dd>";
_bc+="<dt><input type=\"radio\" name=\"cat\" value=\"U\"></dt><dd>Other</dd>";

_bd=unescape(esName).length<=15?unescape(esName):unescape(esName).substring(0,15)+"...";
break;

defualt:
break;
}
var _be=_b6!="business"?_b6:"place";
var tmp="<div id=\"moveThisWin\">";
tmp+="<h1><img align=\"right\" src=\"/images/close.gif\" onclick=clearModalDialog(bObject(\"flagWindow\")); title=\"Close this window\"/><label class=\"required\">required</label>Flag this "+_be+"</h1>";
tmp+="</div>";
tmp+="<div class=\"middle\">";
tmp+="<p>Flag <b>\" "+_bd+"\"</b> as..</p>";
tmp+="<form name=\"flagForm\" id=\"flagForm\" onsubmit=javascript:verifyFlag(this,\""+_b6+"\");return false; action=javascript:void(0);>";
tmp+="<dl class=\"radios\">";
tmp+=_bc;
tmp+="<dt class=\"description\"><label class=\"required\">Add Description</label></dt>";
tmp+="<dd><textarea id=\"Description\" name=\"Description\" rows=\"4\" cols=\"20\" onkeyup=\"verifyFlagSubmit()\"></textarea></dd>";
tmp+="<dd class=\"buttons\"><a onclick=clearModalDialog(bObject(\"flagWindow\")); title=\"Close this window\">Cancel</a> | ";
tmp+="<button id=\"flagSubmitButton\" type=\"submit\" class=\"small green\" disabled=\"disabled\" title=\"Submit Flag\">Submit</button></dd>";
tmp+="<input id=\"recordId\" type=\"hidden\" name=\"recordId\" value="+_b4+"></td></tr>";
tmp+="<input id=\"mID\" type=\"hidden\" name=\"mID\" value="+_mID+"></td></tr>";
tmp+="</dl>";
tmp+="</form>";
_bb.innerHTML=tmp;
document.body.appendChild(_bb);
evt=(evt)?evt:((window.event)?window.event:null);
if(!_b3.parentNode.id){
_b3.parentNode.id="currentFlagHolder";
}
if(!_b3.id){
_b3.id="flagLink";
}
bObject("flagWindow").setAttribute("parentId",_b3.parentNode.id);
bObject("flagWindow").setAttribute("currObjId",_b3.id);
var cH=parseInt(bObject("flagWindow").clientHeight);
var cW=parseInt(bObject("flagWindow").clientWidth);
var _c2=middleAlignWindow("flagWindow",_ba,cW,cH);
try{
document.forms.flagForm.cat[0].focus();
}
catch(e){
alert(e);
}
fadeTimer=fadeInOut("flagWindow","in");
return false;
};

function verifyFlagSubmit(){
var _c3=document.forms["flagForm"].elements["Description"].value;
if(trim(_c3)){
bObject("flagSubmitButton").removeAttribute("disabled");
}else{
bObject("flagSubmitButton").setAttribute("disabled","disabled");
}
return false;
}
function verifyFlag(k,_c5){
if(!bObject("flagSubmitButton").getAttribute("disabled")){
var _c6;
bObject("flagSubmitButton").innerHTML="Sending...";
bObject("flagSubmitButton").setAttribute("disabled","disabled");
for(var x=0;x<bObject(k.id).cat.length;x++){
if(bObject(k.id).cat[x].checked){
_c6=bObject(k.id).cat[x].value;
break;
}
}
var uri="/search/flag_"+_c5+"";
var _c9="cat="+_c6+"&recordId="+escape(bObject("recordId").value)+"&mID="+escape(bObject("mID").value)+"&description="+escape(document.forms["flagForm"].elements["Description"].value);
sendRequestFlag(uri,_c9);
}else{
alert("Add a description to submit this flag");
}
return false;
}

function sendRequestFlag(uri,_31){
	var url = uri;
	var pars = _31;
	var myAjax = new Ajax.Updater(
		'', 
		url, 			
		{
			method: 'post', 
			parameters: pars,
			onFailure: reportErrorFlag,
      onSuccess : processResultFlag 
			
		});
		
	
}
	
function reportErrorFlag()
{
  
  var msg="There was an error. Please Try again Letter.";
  msg="<i>"+msg+"</i>";
  bObject("shareWindowErrors").style.display="";
  bObject("shareWindowErrors").innerHTML=msg;
  bObject("shareWindowButton").removeAttribute("disabled");
}

function processResultFlag(originalRequest){
  var msg=originalRequest.responseText;
  var _5w = originalRequest.responseText;
  //alert(originalRequest.responseText);
  msg="<div class='successResponse'>"+msg+"</div>";
  displayAjaxResponse(msg,"flagWindow");
  ///refresh page
  //self.location.reload();
  setTimeout("window.location.href='"+ self.location +"'",1000);
}


function closeAllWins(){
var _5b=new Array("flagWindow","shareReview","shareBusiness");
for(var k=0;k<_5b.length;k++){
try{
if(bObject(_5b[k])){
clearModalDialog(bObject(_5b[k]));
if(_5b[k]=="newLabel"){
bObject("addressLabel").options[0].selected="selected";
}
}
}
catch(e){
}
}
}

function trim(str){
return str.replace(/^\s*|\s*$/g,"");
}




