function showMiniReg(mode, entry, destinationURL)
{
	if(!(destinationURL))
	{
		destinationURL = window.location.href;
	}
    if(window.top != window)
    {
        var mdIFrame = document.createElement("iframe");
        mdIFrame.src = "http://www.fanbox.com/socnet/SISU.html?destinationURL=" + encodeURIComponent(destinationURL);
        mdIFrame.style.display = "none";
        var container = document.body;
        container.appendChild(mdIFrame);
    }
    else
    {
        var verify="";
        if(mode==null||mode=="")
        mode="intro";
        if(entry==null||entry=="")
        entry="";
        if(mode=="intro"&&entry=="")
        var verify="rid=&invid=";
        getMiniRegDiv(mode, entry, verify, undefined, destinationURL);
    }
}
/** Determines the next registration steps while preserving the original URL with the specified additional query string appended. */
function showMiniRegSnapshot(mode, entry, additionalQuery)
{
	var destination = window.location.href;
	destination += ((window.location.search.length == 0) ? ("?") : ("&")) + additionalQuery;
	return showMiniReg(mode, entry, destination);
}

function gotoReg(mode, entry, verify, exitMethod)
{
	return gotoRegDetour(mode, entry, verify, exitMethod, window.location.href);
}

/** Invites the visitor to register before returning to the original URL with the specified additional query string appended. */
function gotoRegSnapshot(mode, entry, verify, exitMethod, additionalQuery)
{
	var destination = window.location.href;
	destination += ((window.location.search.length == 0) ? ("?") : ("&")) + additionalQuery;
	return gotoRegDetour(mode, entry, verify, exitMethod, destination);
}

/** Invites the visitor to register before arriving at the specified URL. */
function gotoRegDetour(mode, entry, verify, exitMethod, destinationURL)
{
    var regUri = "http://www.fanbox.com/socnet/Default.aspx";
	window.location.href = regUri;
}

function getMiniRegDiv(mode, entry, verify, exitMethod, destinationURL)
{
	if(!(destinationURL))
	{
		destinationURL = window.location.href;
	}
	if(mode==null)
	{
		// dyu quick hax. should re-fix
		exitMethod = 'close_minireg';
	}

	if(mode=="intro" && entry=="")
	{
		// GUEST MODE... A.K.A. GOTO->PRE-SYNC (goto_presync)
		verify="rid=&invid=";
		exitMethod = 'goto_presync';
	}
	
	if(verify == "verify")
	{
		// USER LOGGED IN
    	gotoRegDetour("doNothing", "", "true", exitMethod, destinationURL);
	}
	gotoRegDetour(mode, entry, "", exitMethod, destinationURL);
}

/* medthodName=Add_video,media_id=videoid,pid=PlayBTNID,paID=PlaYAddBTNID  */
function showNutritionDiv(methodName,mediaID,pID,paID)
{
        getNutritionDiv(methodName, mediaID, pID,paID);
        return;
}
function setPhoneEditClick(fromWhatPage,pageQuery){
    setCookie("PhoneEditClick_From",fromWhatPage,"","/","profile.fanbox.com","")
    if(fromWhatPage == "OptInConfirmDiv"){
        setCookie("PhoneEditClick_Command",queryStringParse(pageQuery,'method'),"","/","profile.fanbox.com","")
        setCookie("PhoneEditClick_PID",queryStringParse(pageQuery,'pid'),"","/","profile.fanbox.com","")
        setCookie("PhoneEditClick_PAID",queryStringParse(pageQuery,'paid'),"","/","profile.fanbox.com","")
        setCookie("PhoneEditClick_MediaID",queryStringParse(pageQuery,'mediaid'),"","/","profile.fanbox.com","")
    }
	return;
}
function checkEditClick()
{
    if(getCookie("PhoneEditClick_From")=="OptInConfirmDiv")
    {
		var ajaxCmd = getCookie("PhoneEditClick_Command");
		var pid = getCookie("PhoneEditClick_PID");
		var paid = getCookie("PhoneEditClick_PAID");
		var mediaid = getCookie("PhoneEditClick_MediaID");
		deleteCookie("PhoneEditClick_Command", "/", "profile.fanbox.com");
		deleteCookie("PhoneEditClick_PID", "/", "profile.fanbox.com");
		deleteCookie("PhoneEditClick_PAID", "/", "profile.fanbox.com");
		deleteCookie("PhoneEditClick_MediaID", "/", "profile.fanbox.com");
		enablePageBehind();
		showNutritionDiv(ajaxCmd,mediaid,pid,paid);
        return false;
    }
	return true;
}
function queryStringParse(queryString,variable){
  var tmp = 0;
  var vars = queryString.toString().split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    tmp = pair[0].indexOf('?');
    if(tmp > -1)
        pair[0] = pair[0].substring(tmp+1);
    if (pair[0] == variable)
      return pair[1];
  } 
  return null;
}

function setCookie(name, value, expires, path, domain, secure)
{
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "; path=/") +
        ((domain) ? "; domain=" + domain : "; domain=profile.fanbox.com") +
        ((secure) ? "; secure" : "");
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain)
{
    if (getCookie(name))
    {
        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "; path=/") +
            ((domain) ? "; domain=" + domain : "; domain:profile.fanbox.com") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}
function checkCookieHasValue(name,value)
{
    var startPos = 0;
    var endPos = document.cookie.length;
    
    if (document.cookie.length>0)
    {
        startPos=document.cookie.indexOf(name + "=");
	    if (startPos!=-1){ 
	        startPos = startPos + varName.length+1; 
			endPos = document.cookie.indexOf(";",startPos);
    		if (endPos == -1) endPos = document.cookie.length;
	    	return (unescape(document.cookie.substring(c_start,c_end))==value) ? true : false;
        }
    }
    return false;
}
function checkCookieExists(name)
{
    var startPos = 0;
    if (document.cookie.length>0){
        startPos=document.cookie.indexOf(name + "=");
	    if (startPos!=-1)
	        return true;
	}
    return false;
}
function setTrackEvent(ActionCode)
{
	    var url = 'http://profile.fanbox.com/profile/Remote_Track.aspx';
	    var params = 'act='+ActionCode;
	    SetRemote(url+'?'+params);
}

function setTrackEventWithTableName(ActionCode, TableName){
    SetRemote('http://profile.fanbox.com/profile/Remote_Track.aspx?act='+ActionCode+'&tbl='+TableName);
}

function setTrackEventWithTableNameAndParams(cid, aun, run, ac, sid, cn, tn){
	SetRemote('http://profile.fanbox.com/profile/Remote_Track2.aspx?cid='+cid+'&aun='+aun+'&run='+run+'&ac='+ac+'&sid='+sid+'&cn='+cn+'&tn='+tn);
}

function break_out_of_frame() 
{
		if (top.location != location) { 
			top.location.href = document.location.href ;
		}
	        return true;
}

function RedirectTo(url){
		document.location = url;
	        return;
		
}

function Get(id)
{
		if (document.getElementById(id)!=null)
		{
			return document.getElementById(id);
		}
}

function GetDocument()
{
		return document;
}

function GetFromIFrame(id)
{
		return document.getElementById(id);
}

function GetRegionArr(region)
{
		return regionArr[region];
}

function findPosX(obj)
{
		var curleft = 0;
		if(obj){
			if (obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curleft += obj.offsetLeft
					obj = obj.offsetParent;
				}
			}
			else if (obj.x)
				curleft += obj.x;
		}
		return curleft;
}

function findPosY(obj)
{
		var curtop = 0;
		if(obj){
			if (obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curtop += obj.offsetTop				
					obj = obj.offsetParent;
				}
			}
			else if (obj.y)
				curtop = obj.y;
		}
		return curtop;
}
function findPosYscroll(obj)
{
		var curtop = 0;
		if(obj){
			if (obj.offsetParent)
			{
				while (obj.offsetParent)
				{
					curtop += obj.offsetTop
					curtop -= obj.scrollTop;
					obj = obj.offsetParent;
				}
			}
			else if (obj.y)
				curtop = obj.y;
		}
		var scrollH = 1;
		return curtop;
}

function Max(n,m)
{
		return n>m?n:m;
}

function Min(n,m)
{
		return n<m?n:m;
}

function UpperCase(s)
{
		return s.toUpperCase()
}

function WriteDebugInfo(info, writeToId){
		if(isDebug)
			Get(writeToId).innerHTML = info;
                	return;
		
}

function GetClickEvent(){
		var myEvent;
		if(document.all)
			myEvent = window.event.button;
		else
			myEvent = 1;
		return myEvent;
}

function SetRemoteMultiple(querystring,actionIndex){
		if(!isProcessing[actionIndex])
			isProcessing[actionIndex] = 0;
			
		if(isProcessing[actionIndex] == 0){
			isProcessing[actionIndex] = 1;
			setTimeout('isProcessing["'+actionIndex+'"]=0', 30000);
			callToServerMultiple("remote.aspx?" + querystring + "&actionIndex=" +actionIndex,actionIndex);		
			return true;
		}else
		return false;
}

function ReSizePod(key,actionId,podid,newWidth,region,order,podcd,mappingcd,podusernocd){
		var encUno = Get('EncUno');
		SetRemote("remote.aspx?encUno=" + encUno.value +"&key="+key+"&parameters=" + actionId + "|" + podid + "|" 
			+ newWidth + "|" + region + "|" + order + "|" + podcd + "|" + mappingcd + "|" + podusernocd + "&podId=" + podcd, key)	
                return;
		
}


function GetInnerDivContent(wholetext){
		var text = TrimString(wholetext);
		if(text.toLowerCase().indexOf("<div") > -1 && text.toLowerCase().lastIndexOf("</div>") > -1){
			var start = text.toLowerCase().indexOf("<div");
			text = text.substring(start,text.length);
			idx = text.indexOf(">")+1;
			text = text.substring(idx,text.length);	
			var end = text.toLowerCase().lastIndexOf("</div>"); 
			text = text.substring(0,end);		
			return text;
		}
	        return wholetext;	
		
}

function TrimString(sInString) {
		sInString = sInString.replace( /^\s+/g, "" );// strip leading
		return sInString.replace( /\s+$/g, "" );// strip trailing
}

function GetInnerDivContentForBYOP(wholetext){
		if(wholetext.toLowerCase().indexOf("<div") == 0){
			idx = wholetext.indexOf(">")+1;
			wholetext = wholetext.substring(idx,wholetext.length);
			wholetext = wholetext.substring(0,wholetext.length-6);
		}
		return wholetext;
}

function Event(ev)
{
		return (ev) ? ev : ((window.event) ? event : null);
}
function pNm(r,i)
{
		var srk = Get("SUPER_RANDOM_KEY");
		if (srk)
			return "pod"+r+"_"+i+"_"+srk.value;
		return "pod"+r+"_"+i+"_";
}
function DestroyDiv(el)
{
		if(!el)
			return;
			
		el.style.visibility = 'hidden';				
		el.style.left = '-1000px';				
		el.style.top  = '-1000px';				
		el.innerHTML  = '';
		
		
}

function MoveEl(el,cx,cy,ox)
{
		el.style.left=(ox)+(cx-x)+'px';
		el.style.top=(cy + document.body.scrollTop) + 'px';
		
}

function stopper(){
		Get('temp');
		
}

function Querystring(qs) { // optionally pass a querystring to parse
		this.params = new Object()
		this.get=Querystring_get
		if (qs == null)
			qs=location.search.substring(1,location.search.length)
		if (qs.length == 0) return

		qs = qs.replace(/\+/g, ' ')
		var args = qs.split('&') 

		for (var i=0;i<args.length;i++) {
			var value;
			var pair = args[i].split('=')
			var name = unescape(pair[0])

			if (pair.length == 2)
				value = unescape(pair[1])
			else
				value = name
			this.params[name] = value
		}
		
		
}

function Querystring_get(key, default_) {
		if (default_ == null) default_ = null;
		
		var value=this.params[key]
		if (value==null) value=default_;
		
		return value
}

// find out all the images have been loaded up or not ....
function addReadyStateImageCnt()
{
		var obj = event.srcElement;
		
		// If the image has just loaded, update the count
		if (obj.readyState == "complete")
			totalReadyImages++;
		else
			obj.onreadystatechange = addReadyStateImageCnt;
		
		if(totalReadyImages == totalImageCnt  )
		{
			d = new Date();
			presentTime = calcTime(d);	
			SetRemote("/profile/remote.aspx?SetPresentTime=" + presentTime +"&cft=" + convertedfirsttime+'|'+url, "SetPresentTime");
		}
		
}

// Event fired from HTML of the client 
var totalReadyImages;
var totalImageCnt;
var firsttime;
var convertedfirsttime;

function Intime()
{
	    firsttime = new Date();
	    convertedfirsttime = calcTime(firsttime);
		// reset values
		totalReadyImages = 0;
		var timerID = 0;
		totalImageCnt = 0;
		
		// go thru the document
		//get the url of the current application here 
		url  = window.location.href;
		var images = parent.document.getElementsByTagName("img");
		totalImageCnt = images.length;
		timerID = setTimeout('brokenimage()',60000);
		
			for(i=0; i < images.length; i++)
			{
			  
				imgvar = images.item(i);
				if(imgvar.readyState == "complete")
					totalReadyImages++;
				else					
					imgvar.onreadystatechange = addReadyStateImageCnt;
			}
		
			if(totalReadyImages == totalImageCnt )
			{
			   if(timerID)
                  clearTimeout(timerID);
             	d = new Date();
				presentTime = calcTime(d);
				SetRemote("/profile/remote.aspx?SetPresentTime=" + presentTime +"&cft=" + convertedfirsttime+'|'+url, "SetPresentTime");
				
			}
			
			
}

// If the one of the image is broken 
function brokenimage()
{
		var images = document.getElementsByTagName("img");
		var nullimage = new Array();
		for(i=0; i < images.length; i++)
			{
				imgvar = images.item(i);
				if(imgvar.readyState != "complete")
						nullimage[i] = imgvar.href;
				else					
					imgvar.onreadystatechange = addReadyStateImageCnt;
			}
		d = new Date();
		presentTime = calcTime(d);	
		SetRemote("/profile/remote.aspx?SetPresentTime=" + presentTime +"&cft=" + convertedfirsttime+'|'+url, "SetPresentTime");
		
}

// setting the varaible to zero ....

function VerifySetTime(content)
{
		isProcessing["SetPresentTime"] = 0;
		
}

function calcTime(d)
{
		utc = d.getTime() + (d.getTimezoneOffset() * 60000);
		nd = new Date(utc + (3600000*(-8)));
		PTdatestring = getstringformat(nd);
		return PTdatestring;
}

function getstringformat(nd)
{
		MM =nd.getMonth()+1 ;
		dd= nd.getDate();
		yy = nd.getFullYear();
		HH = nd.getHours();
		mm = nd.getMinutes();
		SS = nd.getSeconds();
		ms = nd.getMilliseconds();
		return ( MM + '/' + dd + '/' +  yy +' '+ HH+':'+ mm + ':'+ SS + '.' + ms);
}

function EmailIsValid(CheckEmail) 
{
		var emailReg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		var regex = new RegExp(emailReg);

		return regex.test(CheckEmail);
}

function hasMarkup(inptxt){
		var re= new RegExp('<[^><]*>|<.[^><]*>','g')
		if (inptxt.match(re))
		{
			return true;
		}
		else
		{
			return false;
		}
}

function textRemaining()	{
		var nMaxMessageLength = 120;
		var oMessage = Get("txtMessageBox") ;
		var charLeftText = Get("numCharLeft");
		var charsLeft = nMaxMessageLength - oMessage.innerText.length;
		if (charsLeft <= 0 )	
		{	
		oMessage.innerHTML= oMessage.innerHTML.substring(0,120);
		charLeftText.innerHTML = "0";
		oMessage.focus();
		}
		else
		{
		charLeftText.innerHTML = charsLeft;
		}
		
}

function textRemainingLength(oTarget, maxMsgLength)
{
		var nMaxMessageLength = maxMsgLength;	
		var oMessage = Get(oTarget) ;
		var charsLeft = nMaxMessageLength - oMessage.innerText.length;
		if (charsLeft <= 0 )	
		{	
		oMessage.innerHTML= oMessage.innerHTML.substring(0,maxMsgLength);
		// charLeftText.innerHTML = "&nbsp;" + "0" + "&nbsp;";
		oMessage.focus();
		}
		
}

function trimAll(sString) 
{
		sString = sString.replace(/\s/gi,"");
		return sString;
}

function isNumeric(input) 
{
		var numRegEx = "^\\d+$";
		var regex = new RegExp(numRegEx);
		if (!regex.test(input))
		{
			return false;
		}
		else
		{
			return true;
		}
}

function GoToURL(url)
{
		window.location = url;
}
function SendSmstextRemaining(e, maxChars)	{
	var nMaxMessageLength = 120;		
	var oMessage = Get("txtMessageBox") ;
	var charLeftText = Get("numCharLeft");	
		
	var keyCode = e.keyCode;
	var validChar = false;

	if(document.selection.createRange().text.length != 0) return true;
	
	var allowedChars = new Array(8, 37, 38, 39, 40, 46);	//Backspace, delete and arrow keys
	for(var x=0; x<allowedChars.length; x++) 
		if(allowedChars[x] == keyCode) 
			validChar = true;
	if(oMessage.value.length < maxChars) 
		validChar = true;	
	
	if (validChar){
	
		var charsLeft = nMaxMessageLength - oMessage.innerText.length;
		charLeftText.innerHTML = charsLeft;
	}
	else{
		oMessage.innerHTML= oMessage.innerHTML.substring(0,120);
		charLeftText.innerHTML = "0";
		oMessage.focus();
	}
	return validChar;
}
function SendSmstextRemaining(e, maxChars)	{
	
	var nMaxMessageLength = 120;		
	var oMessage = Get("txtMessageBox") ;
	var charLeftText = Get("numCharLeft");	
		
	var keyCode = e.keyCode;
	var validChar = false;

	if(document.selection.createRange().text.length != 0) return true;
	
	var allowedChars = new Array(8, 37, 38, 39, 40, 46);	//Backspace, delete and arrow keys
	for(var x=0; x<allowedChars.length; x++) 
		if(allowedChars[x] == keyCode) 
			validChar = true;
	if(oMessage.value.length < maxChars) 
		validChar = true;	
	
	if (validChar){
	
		var charsLeft = nMaxMessageLength - oMessage.innerText.length;
		charLeftText.innerHTML = charsLeft;
	}
	else{
		oMessage.innerHTML= oMessage.innerHTML.substring(0,120);
		charLeftText.innerHTML = "0";
		oMessage.focus();
	}
	return validChar;
}
function SendSmstextRemainingFeedback(e, maxChars)
{
}
var tpnoactivity = false;
function tpnoact(){
    if(tpnoactivity)
        setTrackEventWithTableName(658, 'CampaignStats_TrialPod');
}

function openSuggestTool(stID, fromID) {
    new Ajax.Request("http://profile.fanbox.com/Suggest!/Stat.aspx?from=" + fromID, {onComplete : function() {window.location = "http://profile.fanbox.com/Suggest!/SuggestionTool.aspx?stid=" + stID;}});
}

function showGlare(ele) {
	var thiselement = $(ele);

	if(thiselement.style.display == "none") {
		thiselement.style.display = "";
	}
	else {
		thiselement.style.display = "none";
	}
}
    
    function searchMHPTxtKeypress(e)
    {
        var knum;
        if (window.event) //IE
            knum = e.keyCode;
        else if (e.which) //NS/FFox/Opera
            knum = e.which;
        if (knum == 13 || knum == 3)
        {
            onMHPSubmitSearch();
            return false;
         } // if enter key pressed, submit search
         else
             return true;
    } // forwards an enter key keypress event to a button element "el"
    
    function onMHPSubmitSearch()
    {
        profUser = "";
        var qsInput = $("searchField");
        if(qsInput)
        {
            // hide all error messages that may be showing
            var errHate = $("SearchErrHate");
            if(errHate)
                errHate.hide();
            var errBlank = $("SearchErrBlank");
            if(errBlank)
                errBlank.hide();
            var errMarkup = $("SearchErrMarkup");
            if(errMarkup)
                errMarkup.hide();

            // strip the leading and trailing white space characters in the query string
            var qs = qsInput.value.replace(/^\s+|\s+$/g, "");
            // replace strings of white space characters with single spaces
            qs = qs.replace(/\s{2,}/g, " ");
            // encode special characters

            if(qs)
            {
                if(!hasMarkup(qs))
                {
                    //var c = RegExp("[\\?&]c=([^&#]*)").exec(window.location.href);
                    c = $('searchFieldType').value;
                    if(encodeURIComponent)
                        qs = encodeURIComponent(qs);
                    else
                        qs = escape(qs);
                    if(c)
                    {
                        window.location = "http://profile.fanbox.com/ContentSearch/?q="+qs+"&c="+c+"&u="+profUser+"&po=1";
                    } // searching in some category
                    else
                    {   
                        window.location = "http://profile.fanbox.com/ContentSearch/?q="+qs+"&c=89" + "&u="+profUser+"&po=1";
                    } // searching in all categories
                }  // forward query string to adult/hate filter
                else if (errMarkup)
                {
                    errMarkup.show();
                } // show error message for queries containing markups
            }
            else if (errBlank)
            {
                errBlank.show();
            } // show error message for blank query
        }
    }
   
    
    function expandUpload()
    {
        if($('arrow_down').style.display == "none")
        {
            $('uploadText').style.paddingBottom = "7px";
            Element.hide($('arrow_right'));
            Element.show($('arrow_down'));
            Element.show($('upApps'));
        }
        else
        {
            $('uploadText').style.paddingBottom = "0px";
            Element.show($('arrow_right'));
            Element.hide($('arrow_down'));
            Element.hide($('upApps'));
        }
    }
    
    function showSearchDropDown()
    {
        if ($('searchdropdown').style.display == "none")
            Element.show($('searchdropdown'));
        else
            Element.hide($('searchdropdown'));
    }
    
    function acceptRequest()
    {
        Element.hide($('AcceptReject'));
        Element.show($('IsFriend'));
    }
    
    function rejectRequest()
    {
        Element.hide($('AcceptReject'));
        Element.show($('AddFriend'));
    }
    
    function addToFriends()
    {
        Element.hide($('AddFriend'));
        Element.show($('YouHaveAsked'));
    }
