var popUpWin=0;
var MUSICIAN_USER = 2;
var currentUserId = 0;
var viewingUserId = 0;
var OP_GET_TAGLIST = 0;
var OP_TAG_THIS = 0;
var OP_UNTAG_THIS = 0;

function popUpWindow(URLStr, left, top, width, height)
{

  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }

  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');

};

function textCounter(field,cntfield,maxlimit,div) 
{
	if (field.value.length > maxlimit)
	{
		field.value = field.value.substring(0, maxlimit);
		document.getElementById(div).innerHTML = maxlimit - field.value.length;
	}
		else
	{	
		document.getElementById(div).innerHTML  = maxlimit - field.value.length;
	}
};

function doSafeQuery(url)
{
	document.getElementById('dv_preloader').style.display = 'block';
	var script = document.createElement("script");
	script.type = "text/javascript";
	script.src = url;
	document.getElementsByTagName("head")[0].appendChild(script);
	document.getElementById('dv_preloader').innerHTML = '<img src="img/loader.gif" />';
};

function pureverifier_doAsyncQueryResult(strResult)
{
	document.getElementById('dv_preloader').style.display = 'block';
	switch(strResult.toLowerCase())
	{
		case "true":
			document.getElementById('dv_preloader').style.display = 'none';
			document.getElementById('submitButton').disabled = false;
		break;
		case "false":
			document.getElementById('dv_preloader').innerHTML = 'Geçersiz email adresi.';		
			document.getElementById('dv_preloader').style.display = 'block';
			document.getElementById('submitButton').disabled = true;
		break;
		default:
			document.getElementById('dv_preloader').innerHTML = 'Mail adresi kontrolünde sorun oluştu!';
			document.getElementById('dv_preloader').style.display = 'block';
		break;
	}
};

function RoundedCorners(selector,bgcolor,cornercolor,roundstyle,roundsize)
{
	switch(roundstyle)
	{
		case "top":
			RoundedTop(selector,bgcolor,cornercolor,roundsize);
		break;
		case "bottom":
			RoundedBottom(selector,bgcolor,cornercolor,roundsize);
		break;
		default:
			Rounded(selector,bgcolor,cornercolor,roundsize);
		break;
	}
};

function subscriptionTypeChange()
{
	var c = document.getElementById("subscriptionType");
	if(c)
	{
		if(c.value == MUSICIAN_USER)
		{
			document.getElementById("dv_AdditionalInfo").style.display = "inline";
		}else
		{
			document.getElementById("dv_AdditionalInfo").style.display = "none";
		}
	}
};

function showPreloader()
{
	var c = document.getElementById("dv_preloader");
	if(c)
	{
		c.style.display = "block";
	}
};

function hidePreloader()
{
	var c = document.getElementById("dv_preloader");
	if(c)
	{
		c.style.display = "none";
	}
};

function tagThis(tagId,actionUser,taggedUser)
{
	if(actionUser <= 0)
	{
		$.prompt('Etiketleme yapabilmeniz için üye girişi yapmanız gereklidir.',{show:'fadeIn'}).children('#jqi').corner();
		//document.location = "index.php?lr=1";
	}else
	{
		showPreloader();
		AJAX.makeRequest("get","json_query.php",{op:OP_TAG_THIS,val:actionUser,t:taggedUser,o:tagId},eh_TagActionComplete,null);
	}
};

function untagThis(tagId,actionUser,taggedUser)
{
	if(actionUser <= 0)
	{
		$.prompt('Etiketleme yapabilmeniz için üye girişi yapmanız gereklidir.',{show:'fadeIn'}).children('#jqi').corner();
		//document.location = "index.php?lr=1";
	}else
	{
		showPreloader();
		AJAX.makeRequest("get","json_query.php",{op:OP_UNTAG_THIS,val:actionUser,t:taggedUser,o:tagId},eh_TagActionComplete,null);
	}
};

function eh_TagActionComplete(e)
{
	//remove preloader from the scene
	hidePreloader();
	if(e && e.responseText)
	{
		var r = eval("(["+e.responseText+"])");
		
		if(Boolean(r[0].result) == true)
		{
			//reload tags
			AJAX.makeRequest("get", "json_query.php", {op:OP_GET_TAGLIST}, jsonTagResultLoaded,null)
		}
	}
};

function higlightTags(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		if(c.length > 0)
		{
			for(var i=0;i<c.length;i++)
			{
				document.getElementById("tagLink_"+c[i].tagId).setAttribute("class","activeTag");
				document.getElementById("tagLink_"+c[i].tagId).className = "activeTag"; /*IE*/
				
				if(c[i].actionUser == currentUserId && currentUserId != 0)
				{
					document.getElementById("tagLink_"+c[i].tagId).setAttribute("class","userTagged");
					document.getElementById("tagLink_"+c[i].tagId).className = "userTagged"; /*IE*/
					
					document.getElementById("tagLink_"+c[i].tagId).setAttribute("href","javascript:untagThis("+c[i].tagId+","+c[i].actionUser+","+c[i].taggedUser+")");
				}
			}
		}
	}
};

function setAvatar(userId,imageId)
{
	if(userId > 0)
	{
		AJAX.makeRequest("get","json_query.php",{op:OP_SET_AVATAR,val:userId,o:imageId},avatarChanged,null);
	}
};

function avatarChanged(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		if(Boolean(c[0].result) == true)
		{
			history.go(0);
		}
	}
};

var fanTitleCheckSwitch = -1;
function removeFan(musician,user)
{
	if(user)
	{
		//get link and change
		var l = document.getElementById("fanLinkText");
		if(l)
		{
			l.innerHTML = STR_FANLINK_A;
		}
		
		var a = document.getElementById("fanLink");
		a.setAttribute("href","javascript:becomeFan("+musician+","+user+")");
		
		fanTitleCheckSwitch = 0;
		AJAX.makeRequest("get","json_query.php",{op:31,val:musician,t:user},fanListUpdate,null);
	}
}

function becomeFan(musician,user)
{
	if(user)
	{
		//get link and change
		var l = document.getElementById("fanLinkText");
		if(l)
		{
			l.innerHTML = STR_FANLINK_P;
		}
		
		var a = document.getElementById("fanLink");
		a.setAttribute("href","javascript:removeFan("+musician+","+user+")");
		
		fanTitleCheckSwitch = 1;
		AJAX.makeRequest("get","json_query.php",{op:OP_BECOME_FAN,val:musician,t:user},fanListUpdate,null);
	}
};

function fanListUpdate(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		if(Boolean(c[0].result) == true)
		{
			AJAX.makeRequest("get","json_query.php",{op:OP_GET_FANS,val:viewingUserId,t:1},fanListLoaded,null);
		}
	}
};

function fanListLoaded(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		
		if(c.length > 0)
		{
			try
			{
				do_UpdateFanList(c);
				
			}catch(e)
			{
				alert(e);
			}
		}else
		{
			var cont = document.getElementById("module_fanList");
			if(cont)
				cont.style.display = 'none';
		}
	}
};

function friendListLoaded(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		
		if(c.length > 0)
		{
			try
			{
				do_UpdateFriendList(c);
				
			}catch(e)
			{
				alert(e);
			}
		}else
		{
			var cont = document.getElementById("module_friendList");
			if(cont)
				cont.style.display = 'none';
		}
	}
};

function switchEditMode(target,current)
{
	var c = document.getElementById(target);
	if(c)
	{
		//replace original content with a textbox
		c.innerHTML = "<input type='text' name='txtStatusMessage' id='txtStatusMessage' value='"+current+"' onblur=\"switchViewMode('"+target+"','"+current+"',true)\"  style='width:80px;'/>";
		document.getElementById('txtStatusMessage').focus();
	}
};

function switchViewMode(target,current,save)
{
	if(save == true)
	{
		var newVal = document.getElementById("txtStatusMessage").value;
		if(newVal != "")
		{
			document.getElementById("txtStatusMessage").disabled = true;
			AJAX.makeRequest("get","json_query.php",{op:OP_CHANGE_USER_STATUS,val:currentUserId,t:newVal},updateStatusMessage,null);
			return;
		}
	}
	
	var c = document.getElementById(target);
	if(c)
	{
		var a = document.createElement("a");
		a.setAttribute("href","javascript:switchEditMode('"+target+"','"+(current == "" ? DEFAULT_STATUS_MESSAGE : current)+"')");
		a.appendChild(document.createTextNode(current));
		
		c.innerHTML = "";
		c.appendChild(a);
	}
};

function updateStatusMessage(e)
{
	if(e && e.responseText)
	{
		var v = document.getElementById("txtStatusMessage").value;
		var c = eval("(["+e.responseText+"])");
		
		if(Boolean(c[0].result) == true)
		{
			switchViewMode('statusMessageDisplay',v,false);
		}
	}
};

function deleteImage(imageId)
{
	var c = confirm("Bu imajı silmek istediğinizden emin misiniz?");
	if(c == true)
	{
		AJAX.makeRequest("get","json_query.php",{op:OP_DELETE,val:imageId},imageRemoved,null);
	}
};

function imageRemoved(e)
{
	if(e && e.responseText)
	{
		var c = eval("(["+e.responseText+"])");
		
		if(Boolean(c[0].result) == true)
		{
			history.go(0);
		}
	}
};

function recoveryStatusLoaded(e)
{
	if(e && e.responseXML)
	{
		var doc = e.responseXML.documentElement;
		var resNode = doc.getElementsByTagName("result");
		var resultString = resNode[0].firstChild.nodeValue;
		
		switch(resultString)
		{
			case "notfound":
				$.prompt('Girdiğiniz e-posta adresi bulunamadı.');
			break;
			case "ok":
				$.prompt('Şifreniz e-posta adresinize gönderilmiştir.');
			break;
			case "err":
				$.prompt('Şifrenizin gönderilmesi sırasında bir hata meydana geldi.');
			break;
		}
	}
};

function switchInputText(input,defaultText)
{
	if(input)
	{
		if(input.value == defaultText || input.value == "")
		{
			input.value = defaultText;
		}
	}
}

function clearInputText(input,defaultValue)
{
	if(input)
	{
		if(input.value == defaultValue)
		{
			input.value = "";
		}
	}
}

function deleteComment(commentId,callback)
{
	AJAX.makeRequest("get","xmlhttp_query.php",{op:32,val:commentId},callback,null);
}

function updateRequestIndicator(nCount)
{
	if(nCount < 0)
	{
		var d = document.getElementById("span_PendingRequestsCount");
		if(d)
		{
			var current = parseFloat(d.innerHTML);
			if(current <= 1)
			{
				var parent = document.getElementById("div_PendingRequestCount");
				if(parent)
				{
					parent.style.display = "none";
				}
			}else
			{
				d.innerHTML = (--current).toString();
			}
		}
	}
}

function updateMessagesIndicator(nCount)
{
	if(nCount < 0)
	{
		var d = document.getElementById("span_UnreadMessageCount");
		if(d)
		{
			var current = parseFloat(d.innerHTML);
			if(current <= 1)
			{
				var parent = document.getElementById("div_UnreadMessageCount");
				if(parent)
				{
					parent.style.display = "none";
				}
			}else
			{
				d.innerHTML = (--current).toString();
			}
		}
	}
}