var URL_POST_RATING = "/ajax/rate";
var responseArray = new Array();
var URL_TEMPLATE_PREFERENCE = "/ajax/templatePreference";
var URL_FORCE_SHOW_TEMPLATE = "/ajax/forceShowTemplate";
var URL_LOGIN = "/users/processlogin.php";
var URL_SIGNUP = "/users/processsignup.php";
var URL_PREVIEW_MOVIE = "/ajax/getMovie";
var URL_FBCONNECT_CHECK = "/ajax/FBConnectCheck";
var URL_FBCONNECT_SIGNIN = "/ajax/FBConnectSignIn";
var URL_GENERATE_TXN = "/ajax/generateTxn";
var URL_CHOOSE_LANGUAGE = "/ajax/chooseLanguage";
var URL_OVERRIDE_GO_LANGUAGE = "/ajax/srp";

var flashVar = "";
var flashAppName = "Player";
var inviteContactName = "rcpt_ml_area";

var on_signup_or_login_complete_handler;
var on_signup_or_login_cancel_handler;
registerSignupLoginCompleteHandler(redirect_after_signup_complete);
registerSignupLoginCancelHandler(goVoid);

function goVoid() {}

function toGoAnimate() {
        new Ajax.Request(URL_OVERRIDE_GO_LANGUAGE,
        {
            method: 'post',
            onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);
		if (responseArray['code'] == '0') {
			window.location = 'http://goanimate.com';
			return true;
		}
            }
        });
	return true;
}

function flashInterfaceWithTracking(flashid, args) {
	$(flashid).share(args);
}

function flashInterface(flashid, args) {
	$(flashid).share(args);
}
function add2flash(str){
	//flashInterface(flashid,'email');
	$(flashAppName).addContact(str);
	showAddressBook(false);
}
function add2form(str){
        var addedContent = $(inviteContactName).value;
        if (addedContent.length > 0)
                addedContent += "\n";
	$(inviteContactName).value =  addedContent + str;
	showAddressBook(false);
        grayOut(false, 'addImportToInvite');
}

function getSelected(){
	var str="";
	if (document.contactform.mlist.length == undefined){
		if (document.contactform.mlist.checked==true){
			str+=document.contactform.mlist.value;
		}
	}else{
		for (i=0; i<document.contactform.mlist.length; i++){
			if (document.contactform.mlist[i].checked==true)
                                if ($('rcpt_ml_area') == null)
                                        str+=document.contactform.mlist[i].value+",";
				else if ($('movieId') != null)
                                        str+=document.contactform.mlist[i].value+", ";
                                else
                                        str+=document.contactform.mlist[i].value+"\n";
		}
		str = str.substr(0, str.length - 1);
	} 
	return str;
}
function recordSignUp() {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/signUpComplete");
}

function postRating(id, rating, type){
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/rate/postRating");
        new Ajax.Request(URL_POST_RATING+'/'+id+'/'+rating,
        {
            method: 'post',
            onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);
		if (responseArray['code'] == '0') {
			var rater_size = 18;
			if (typeof pageTracker != 'undefined' && pageTracker)
				pageTracker._trackPageview("/pageTracker/ajax/rate/postComplete");
			$(type+'_'+id+'_rating').style.width = rating*rater_size+"px";
	                displayFeedback("0" + GT.gettext('Your rating has been sucessfully registered'));
		} else {
			if (typeof responseArray['json'].url != 'undefined') {
				window.location = responseArray['json'].url;
			} else {
				displayFeedback(responseArray['code'] + responseArray['json'].error);
			}
		}
            },
            onFailure: function(){
                displayFeedback("1" + I18N.txt("feedback_rate_fail",'Error contacting the server'));
            }
        });
}

function parseResponse(responseString) {
	responseArray['code'] = responseString.charAt(0);
	var jsonStart = responseString.indexOf('{');
	var jsonEnd = responseString.indexOf('}');
	responseArray['json'] = responseString.substring(jsonStart,jsonEnd+1).evalJSON();
	responseArray['html'] = responseString.substring(jsonEnd+1);
}

function parseRenderString(responseString) {
	this.responseData = new Array();
	responseArray['code'] = responseString.charAt(0);
	responseArray['string'] = responseString.substring(1);
}

function parseResponseClass(responseString) {
	this.responseData = new Array();
	responseArray['code'] = responseString.charAt(0);
	var jsonStart = responseString.indexOf('{');
	var jsonEnd = responseString.indexOf('}');
	this.responseData['json'] = responseString.substring(jsonStart,jsonEnd+1).evalJSON();
	this.responseData['html'] = responseString.substring(jsonEnd+1);
}

function resetResponse() {
	responseArray = new Array();
}

function clearFeedback() {
	var feedback_block = document.getElementById('feedback_block');
	feedback_block.style.display='none';
}

function displayFeedback(msg) {
	var feedback_status = msg.charAt(0);
	var feedback = msg.substring(1);

	if (view_name == "school" || view_name == "go") {
		var feedback_div = document.getElementById('growlfeedback');
		if (feedback_div){ feedback_div.innerHTML = feedback; }
		var feedback_block = document.getElementById('growlfeedback_block');
		if (feedback_status == '0') {
			$('growlerror').style.display="none";
			$('growlnotify').style.display="block";
		} else {
			$('growlnotify').style.display="none";
			$('growlerror').style.display="block";
		}
		jQuery.blockUI({ 
		    message: jQuery('div.growlUI'), 
		    fadeIn: 700, 
		    fadeOut: 700, 
		    timeout: 5000, 
		    showOverlay: false, 
		    centerY: false, 
		    css: { 
			width: '350px', 
			top: '10px', 
			left: '', 
			right: '10px',
			textAlign: 'left',
			border: 'none', 
			padding: '15px', 
			backgroundColor: '#000', 
			'-webkit-border-radius': '10px', 
			'-moz-border-radius': '10px', 
			opacity: .8, 
			color: '#fff' 
		    } 
		}); 		
	} else {
		var feedback_div = document.getElementById('feedback');
		if (feedback_div){ feedback_div.innerHTML = feedback; }
		var feedback_block = document.getElementById('feedback_block');
		if (feedback_status == '0') {
			if (feedback_block){ feedback_div.className='info'; feedback_block.style.display='block';}
		} else {
			if (feedback_block){ feedback_div.className='error'; feedback_block.style.display='block';}
		}
	}
}

function showTemplate() {
	new Ajax.Request(URL_FORCE_SHOW_TEMPLATE,
	{
		method: 'post',
		onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);
		if (responseArray['code'] == '0') {
			$('studioBlock').innerHTML = "";
			$('studioBlock').style.display='none';
			$('templateBlock').style.display='block';

			var so = new SWFObject(responseArray['json'].templateUrl,"Template", "954", "629", "9.0.28", "#FFFFFF");
			so.addParam("align", "middle");
			so.addParam("AllowScriptAccess", "always");
			so.addParam("wmode", "transparent");
			so.addVariable("bgload", responseArray['json'].studioUrl); 
			so.addVariable("templateshow", responseArray['json'].templateshow); 
			so.addVariable("forceshow", responseArray['json'].forceshow); 
			so.addVariable("lid", responseArray['json'].lid); 
			so.addVariable("tts_enabled", responseArray['json'].tts_enabled);
			so.addVariable("ve", responseArray['json'].tts_enabled);
			so.addVariable("appCode", "go");
			so.addVariable("tlang", I18N_LANG);
			so.addVariable("apiserver", responseArray['json'].apiserver);
			if (responseArray['json'].tutmode != undefined) {
				so.addVariable('tm', responseArray['json'].tutmode);
			}
			so.write("templateBlock");
		} else {
			if (typeof responseArray['json'].url != 'undefined') {
				window.location = responseArray['json'].url;
			} else {
				displayFeedback(responseArray['code'] + responseArray['json'].error);
			}
		}
	},
	onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
	}
	});
}

function saveCurFlashVar(flashVarStr) {
	flashVar = flashVarStr;
}
function getCurFlashVar() {
	return flashVar;
}

function templateComplete(donotshow,templateid,siteId,tutorial,theme_id){
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/template/"+donotshow+"/"+templateid+"/"+siteId);
	new Ajax.Request(URL_TEMPLATE_PREFERENCE+'/'+donotshow+'/'+templateid,
	{
		method: 'post',
		onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);
		if (responseArray['code'] == '0') {
			$('templateBlock').style.display='none';
			$('templateBlock').innerHTML = "";
			$('studioBlock').style.display='block';

			var so = new SWFObject(responseArray['json'].studioUrl,"Studio", "954", "629", "9.0.28", "#FFFFFF");
			so.addParam("align", "middle");
			so.addParam("AllowScriptAccess", "always");
			so.addParam("wmode", "window");
			so.addVariable("movieId", "");
			so.addVariable("originalId", responseArray['json'].originalId);
			so.addVariable("st", responseArray['json'].st);
			so.addVariable("apiserver", responseArray['json'].apiserver);
			so.addVariable("userId", responseArray['json'].userId);
			so.addVariable("username", responseArray['json'].username);
			so.addVariable("uemail", responseArray['json'].uemail);
			so.addVariable("isEmbed", "0");
			if (typeof(tutorial) != 'undefined') {
				if (tutorial == '1' && responseArray['json'].tutmode != undefined) {
					so.addVariable('tm', responseArray['json'].tutmode);
				} else {
					so.addVariable('tm', tutorial);
				}
			}
			var nextUrl = (typeof URL_STUDIO_AFTER_SAVE != 'undefined'?URL_STUDIO_AFTER_SAVE:'/go/savedMovie/<movieId>/0/1');
			so.addVariable("nextUrl", nextUrl);
			so.addVariable("ut", responseArray['json'].ut);
			so.addVariable("appCode", "go");
			so.addVariable("tts_enabled", responseArray['json'].tts_enabled);
			so.addVariable("ve", responseArray['json'].vip_enabled);
			if (responseArray['json'].uisa != undefined) {
				so.addVariable("uisa", responseArray['json'].uisa);
			}
			if (responseArray['json'].u_info != undefined) {
				so.addVariable(user_cookie_name, responseArray['json'].u_info);
			}
			if (responseArray['json'].tmcc != undefined) {
				so.addVariable("tmcc", responseArray['json'].tmcc);
			}
			so.addVariable("fb_app_url", responseArray['json'].fb_app_url);
			so.addVariable("numContact", responseArray['json'].num_contact);
	   		so.addVariable("is_published", "1");
			so.addVariable("is_private_shared", "0");
			so.addVariable("tlang", I18N_LANG);
			so.addVariable("ctc", "go");
	   		so.addVariable("lang", I18N_LANG);
			so.addVariable("upl", responseArray['json'].allow_user_upload);
			so.addVariable("hb", siteId=="0"?"0":"1");
			so.addVariable("pts", responseArray['json'].pts);
			so.addVariable("siteId", siteId);
			so.addVariable('ad', ((document.cookie.search(/ad=1/) != -1)?'1':'0'));
			if (typeof(theme_id) != undefined) {
				so.addVariable("tray", theme_id);
				so.addVariable("thmid", theme_id);
			}
			
			so.write("studioBlock");
		} else {
			if (typeof responseArray['json'].url != 'undefined') {
				window.location = responseArray['json'].url;
			} else {
				displayFeedback(responseArray['code'] + responseArray['json'].error);
			}
		}
	},
	onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
	}
	});
}

function loginToRate(rateDiv, loginDiv) {
	$(rateDiv).style.display = 'none';
	$(loginDiv).style.display = 'block';
}

function hideLoginToRate(rateDiv, loginDiv) {
	$(rateDiv).style.display = 'block';
	$(loginDiv).style.display = 'none';
}
function piper(feed) {
   var tmp='';
   for (var i=0; i<feed.value.items.length; i++) {
      tmp+='<a href="'+feed.value.items[i].link+'">';
      tmp+=feed.value.items[i].title+'</a><br>';
      if (feed.value.items[i].description) {
         tmp+=feed.value.items[i].description;
      }
   }
   $('topfeed').innerHTML=tmp;
}
function tutpiper(feed) {
   if (feed.value.items.length == "3") {
        $('gotipsfeed').style.display = 'block';
   }
   for (var i=0; i<feed.value.items.length; i++) {
      var tmp='';
      tmp+='<div class="gotipsblocktitle"><a href="'+feed.value.items[i].link+'">';
      tmp+=GT.gettext(feed.value.items[i].title)+'</a></div><br>';
      if (feed.value.items[i].description) {
         tmp+='<div class="gotipsblockdesc">'+GT.gettext(feed.value.items[i].description)+'</div>';
      }
      $('tutfeed'+i).innerHTML=tmp;
   }
}
function getFeed(feed,length,type) {
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
        if (type == "index") {
                newScript.src = 'http://pipes.yahoo.com/pipes/pipe.run?_id=a9d57eb2ac1388d7a0f9d50978bed7c2&_render=json&_callback=piper&length='+length+'&feed='+feed;
        } else if (type == "htw") {
                newScript.src = 'http://pipes.yahoo.com/pipes/pipe.run?_id=2569724e3c819b5f0c52efd4e8fea03f&_render=json&_callback=tutpiper&length='+length+'&feed='+feed;
        }
	document.getElementsByTagName("head")[0].appendChild(newScript);
}
function tutpickblockover(obj) {
        if (obj.className == 'tutselectedblock')
                return;
        
        obj.className='tutpickhover';
}
function tutpickblockout(obj) {
        if (obj.className == 'tutselectedblock')
                return;
        
        obj.className='tutpickblock';
}
function setpickblock(obj, len, swfurl) {
        if (obj.className == 'tutselectedblock')
                return;
        
        for (var i=0; i<len; i++) {
                $('tutpickblock'+i).className='tutpickblock';
        }
        
        obj.className='tutselectedblock';
        var so = new SWFObject(swfurl, "ads", "540", "408", "8", "#ffffff");
        so.addParam("allowfullscreen", "true");
        so.addParam("allowscriptaccess", "always");
        so.addParam("wmode", "transparent");
        so.addParam("movie", swfurl);
        so.write("flashtut");
}
function printDot(span_id) {
    var dotstr = $(span_id).innerHTML;
    if (dotstr.length >= 3) {
        $(span_id).innerHTML = '';
    } else {
      $(span_id).innerHTML = dotstr + ".";
    }
}
var wddd = '';
function showPleaseWait (title, top) {
        top -= 100;
        $('overlayWaitingTitle').innerHTML = title;
        $('overlayWaiting').style.display = 'block';
        $('overlayObject').style.margin = top + 'px 0px 0px 0px';
        ddd = window.setInterval('printDot("WaitingDotDotDot")', 300);
        grayOut(true, 'showPleaseWait');
}
function hidePleaseWait() {
        grayOut(false, 'showPleaseWait');
        $('overlayWaiting').style.display = 'none';
        window.clearInterval(ddd);
}
function showHTMLBox (title, top, message, TPLink, left, alertbox) {
        $('overlayHTMLBoxTitle').innerHTML = (title === ""? "&nbsp;" : title);
        $('HTMLBoxMessage').innerHTML = message;
        $('overlayHTMLBox').style.display = 'block';
	if (typeof alertbox == 'undefined') {
		$('overlayHTMLBox').style.backgroundImage = 'url(/static/go/img/v2/overlay_title01_bg.gif)';
		$('overlayHTML_close').className = 'html_overlay_close';
	} else {
		if (view_name == "go") {
			$('overlayHTMLBox').style.backgroundImage = 'url(/static/go/img/v2/overlay_title02_bg.gif)';
		} else if (view_name == "domo") {
			$('overlayHTMLBox').style.backgroundImage = 'url(/static/domo/img/user/overlay_title02_bg.gif)';
		} else if (view_name == "cn") {
			$('overlayHTMLBox').style.backgroundImage = 'url(/static/cn/img/user/overlay_title02_bg.gif)';
		}
		$('overlayHTML_close').className = 'html_overlay_alert_close';
	}
	$('HTMLBoxTP').innerHTML = TPLink;
	var currScrPos = currPos();
        grayOutGlobal(true, TPLink, left);
	$('overlayObjectGlobal').style.top = top + currScrPos[1] + "px";
}
function hideHTMLBox() {
	var TPLink = $('HTMLBoxTP').innerHTML;
        grayOutGlobal(false, TPLink);
        $('overlayHTMLBox').style.display = 'none';
}

function showAlertBox (title, top, message, left) {
        $('overlayAlertBoxTitle').innerHTML = (title === ""? "&nbsp;" : title);
        $('alertBoxMessage').innerHTML = message;
        $('overlayAlertBox').style.display = 'block';
	var currScrPos = currPos();
        grayOutGlobal(true, 'showAlertBox', left);
	$('overlayObjectGlobal').style.top = top + currScrPos[1] + "px";
}
function hideAlertBox() {
        grayOutGlobal(false, 'showAlertBox');
        $('overlayAlertBox').style.display = 'none';
}
function showConfirmBox (title, top, message, confirmCallback, cancelCallback, left) {
        $('overlayConfirmBoxTitle').innerHTML = (title === ""? "&nbsp;" : title);
	$('overlayConfirmConfirmBtn').innerHTML = "<input type='button' onClick='javascript:" + confirmCallback + ";' value='"+ GT.gettext("Confirm") + "'>";
	$('overlayConfirmCancelBtn').innerHTML = "<input type='button' onClick='javascript:" + cancelCallback + ";' value='"+ GT.gettext("Cancel") + "'>";;
        $('confirmBoxMessage').innerHTML = message;
        $('overlayConfirmBox').style.display = 'block';
	var currScrPos = currPos();
        grayOut(true, 'showConfirmBox', left);
	$('overlayObject').style.top = top + currScrPos[1] + "px";
}
function hideConfirmBox() {
        grayOut(false, 'showConfirmBox');
        $('overlayConfirmBox').style.display = 'none';
}
function showInputBox (title, top, message, confirmCallback, cancelCallback, left) {
        $('overlayInputBoxTitle').innerHTML = (title === ""? "&nbsp;" : title);
	$('overlayInputSaveBtn').innerHTML = "<input type='button' onClick='javascript:" + confirmCallback + ";' value='"+ GT.gettext("Save") + "'>";
	$('overlayInputCancelBtn').innerHTML = "<input type='button' onClick='javascript:" + cancelCallback + ";' value='"+ GT.gettext("Cancel") + "'>";;
        $('inputBoxMessage').innerHTML = message;
        $('overlayInputBox').style.display = 'block';
	var currScrPos = currPos();
        grayOut(true, 'showInputBox', left);
	$('overlayObject').style.top = top + currScrPos[1] + "px";
	$('inputTextBox').focus();
}
function hideInputBox() {
        grayOut(false, 'showInputBox');
        $('overlayInputBox').style.display = 'none';
}
function showProgressBox(title, top, total, left, message, buttonValue, buttonCallback, closeCallback, TPLink) {
        $('overlayProgressBoxTitle').innerHTML = (title === ""? "&nbsp;" : title);
        $('progressTotal').innerHTML = total;
	$('progressCurr').innerHTML = "1";
	$('progressBoxMessage').innerHTML = message;
	//$('overlayProgressBtn').value = buttonValue;
	$('overlayProgressClose').innerHTML = '<a href="javascript:'+closeCallback+'"></a>';
	$('overlayProgressBoxBtn').innerHTML = '<input id="overlayProgressBtn" type="button" value="'+buttonValue+'" onClick="javascript:'+buttonCallback+'">';
        $('overlayProgressBox').style.display = 'block';
	var currScrPos = currPos();
	if (TPLink == undefined)
		grayOut(true, 'showProgressBox', left);
	else
		grayOut(true, TPLink, left);
	$('overlayObject').style.top = top + currScrPos[1] + "px";
}
function hideProgressBox(TPLink) {
	if (TPLink == undefined)
		grayOut(false, 'showProgressBox');
	else
		grayOut(false, TPLink);
        $('overlayProgressBox').style.display = 'none';
}
  function findPosY(span_id)
  {
        obj = $(span_id);
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

function showLogin (top, returnto, id) {
	var currScrPos = currPos();
	top = currScrPos[1];
        $('loginErr').innerHTML = '&nbsp;';
        $('overlayLogin').style.display = 'block';
        $('overlayObject2').style.margin = top + 'px 0px 0px 0px';
	if (returnto && returnto.length > 0)
		document.loginform.returnto.value = returnto;
        grayOut2(true, 'showLogin');
	if (id && id.length > 0)	// CN only
		document.loginform.formId.value = id;
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/login/true");
	$('siteLoginBox').focus();
}
function hideLogin(returnto) {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/login/false");
	if (returnto && returnto.length > 0)
		document.loginform.returnto.value = returnto;
        grayOut2(false, 'showLogin');
        $('overlayLogin').style.display = 'none';
}

function showUpdatePhone (top, redirect) {
	if (typeof redirect != "undefined") {
		if ($('phonenum').value != "") {
			location.href="/contest_instructions/"+$('phone_ch').value;
			return;
		}
	}
	var currScrPos = currPos();
	top -= 250;
        $('updateErr').innerHTML = '&nbsp;';
        $('overlayPhoneNumber').style.display = 'block';
        $('overlayObject2').style.margin = currScrPos[1] + 'px 0px 0px 0px';
        grayOut2(true, 'showUpdatePhone');
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/updatePhone/true");
	$('phonenum').focus();
}
function hideUpdatePhone() {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/updatePhone/false");
        grayOut2(false, 'showUpdatePhone');
        $('overlayPhoneNumber').style.display = 'none';
}
function siteLogin() {
	$('overlayLogin').style.cursor='wait';
	$('site_login_button').hide();
	$('site_login_button_dis').show();
	new Ajax.Request(URL_LOGIN,
	{
	    method: 'post',
	    parameters: $('loginform').serialize(),
	    onSuccess: function(transport){
	      var response = transport.responseText;
	      sendLoginComplete(response);
	    },
	    onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
		$('loginform').enable();
                grayOut2(false, 'sendLogin');
	    }
	});
        $('loginform').disable();
}
function sendLoginComplete(responseText) {
	parseResponse(responseText);
	$('loginform').enable();
	switch(responseArray['code']) {
	case "0":
                //redirect
		if (typeof pageTracker != 'undefined' && pageTracker)
			pageTracker._trackPageview("/pageTracker/ajax/login/postComplete");
        on_signup_or_login_complete_handler();
		//responseArray['json'].error = "Comment successfully posted";
		//displayFeedback(responseArray['code'] + responseArray['json'].error);
		//$('nvtfrm').reset();
		grayOut2(false, 'sendLogin');
		resetResponse();
		break;
	case "1":
		$('loginErr').innerHTML = responseArray['json']['errmsg'];
		$('overlayLogin').style.cursor='auto';
		$('site_login_button_dis').hide();
		$('site_login_button').show();
		break;
	case "2":
		txt = '<div id="feedback_block"><div id="feedback" align="center" class="info">';
		txt += responseArray['json']['errmsg'];
		txt += '</div></div>';
		$('cookieErr').innerHTML = txt;
		grayOut2(false, 'sendLogin');
		resetResponse();
		break;
	default:
		$('loginErr').innerHTML = GT.gettext("We could not find a match for the given email and password. Please try again.");
		$('overlayLogin').style.cursor='auto';
		$('site_login_button_dis').hide();
		$('site_login_up_button').show();
		//displayFeedback(responseArray['code'] + responseArray['json'].error);
//		resetCommentForm(formname);
		break;
 	}
        
}
function registerSignupLoginCompleteHandler(new_handler){
	on_signup_or_login_complete_handler = new_handler;
}
function getSignupLoginCompleteHandler() {
	return on_signup_or_login_complete_handler;
}
function registerSignupLoginCancelHandler(new_handler){
	on_signup_or_login_cancel_handler = new_handler;
}
function getSignupLoginCancelHandler(){
	return on_signup_or_login_cancel_handler;
}

function changeSignUpButtonName(name) {
	if (name == ""){
		name = "Sign Up";
	}
	$('signup_submit').value=name;
}
function changeLoginButtonName(name) {
	if (name == ""){
		name = "Login";
	}
	$('login_submit').value=name;
}
function showSignup(top, returnto) {
	var currScrPos = currPos();
	top = currScrPos[1];
        $('overlaySignup').style.display = 'block';
        $('overlayObject2').style.margin = top + 'px 0px 0px 0px';
	if (returnto && returnto.length > 0)
		document.signupform.returnto.value = returnto;
        grayOut2(true, 'showSignup');
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/signup/true");

}
function hideSignup() {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/signup/false");
        grayOut2(false, 'showSignup');
        $('overlaySignup').style.display = 'none';
}
function siteSignup() {
	$('overlaySignup').style.cursor='wait';
	$('site_sign_up_button').hide();
	$('site_sign_up_button_dis').show();
	new Ajax.Request(URL_SIGNUP,
	{
	    method: 'post',
	    parameters: $('signupform').serialize(),
	    onSuccess: function(transport){
	      var response = transport.responseText;
	      sendSignupComplete(response);
	    },
	    onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
		$('signupform').enable();
                grayOut2(false, 'sendSignup');
	    }
	});
        $('signupform').disable();
}
function showBizSignup(top, returnto) {
	var currScrPos = currPos();
	top = currScrPos[1];
        $('overlayBizSignup').style.display = 'block';
        $('overlayObject2').style.margin = top + 'px 0px 0px 0px';
	if (returnto && returnto.length > 0)
		document.bizsignupform.returnto.value = returnto;
        grayOut2(true, 'showBizSignup');
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/bizsignup/true");

}
function hideBizSignup() {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/bizsignup/false");
        grayOut2(false, 'showBizSignup');
        $('overlayBizSignup').style.display = 'none';
}
function siteBizSignup() {
	$('overlayBizSignup').style.cursor='wait';
	$('biz_sign_up_button').hide();
	$('biz_sign_up_button_dis').show();
	new Ajax.Request(URL_SIGNUP,
	{
	    method: 'post',
	    parameters: $('bizsignupform').serialize(),
	    onSuccess: function(transport){
	      var response = transport.responseText;
	      sendBizSignupComplete(response);
	    },
	    onFailure: function(){
		displayFeedback("1" + "Error contacting the server");
		$('bizsignupform').enable();
                grayOut2(false, 'sendBizSignup');
	    }
	});
        $('bizsignupform').disable();
}


function redirect_after_signup_complete(){
	window.location = responseArray['json'].redirect;
}

function sendSignupComplete(responseText) {
	parseResponse(responseText);
	$('signupform').enable();
	switch(responseText.charAt(responseText.indexOf("{")-1)) {
	case "0":
                //redirect
		if (typeof pageTracker != 'undefined' && pageTracker)
			pageTracker._trackPageview("/pageTracker/ajax/signup/postComplete");
        on_signup_or_login_complete_handler();
		
		//responseArray['json'].error = "Comment successfully posted";
		//displayFeedback(responseArray['code'] + responseArray['json'].error);
		//$('nvtfrm').reset();
		resetResponse();
		grayOut2(false, 'sendSignup');
		break;
	case "1":
		$('email_Err').innerHTML = responseArray['json'].email_error;
		if (responseArray['json'].email_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/signup/email_error");
			$('email_Err').show();
		}
		$('password_Err').innerHTML = responseArray['json'].password_error;
		if (responseArray['json'].password_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/signup/password_error");
			$('password_Err').show();
		} else { $('password_Err').hide(); }
		$('nickname_Err').innerHTML = responseArray['json'].nickname_error;
		if (responseArray['json'].nickname_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/signup/nickname_error");
			$('nickname_Err').show();
		} else { $('nickname_Err').hide(); }
		$('terms_Err').innerHTML = responseArray['json'].terms_error;
		if (responseArray['json'].terms_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/signup/terms_error");
			$('terms_Err').show();
		} else { $('terms_Err').hide(); }
		$('overlaySignup').style.cursor='auto';
		$('site_sign_up_button_dis').hide();
		$('site_sign_up_button').show();
		break;
	case "2":
		txt = '<div id="feedback_block"><div id="feedback" align="center" class="info">';
		txt += responseArray['json']['errmsg'];
		txt += '</div></div>';
		$('cookieErr').innerHTML = txt;
		grayOut2(false, 'sendSignup');
		resetResponse();
		break;
	default:
		$('email_Err').innerHTML = responseArray['json'].email_error;
		if (responseArray['json'].email_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/email_error");
		$('password_Err').innerHTML = responseArray['json'].password_error;
		if (responseArray['json'].password_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/password_error");
		$('nickname_Err').innerHTML = responseArray['json'].nickname_error;
		if (responseArray['json'].nickname_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/nickname_error");
		$('terms_Err').innerHTML = responseArray['json'].terms_error;
		if (responseArray['json'].terms_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/terms_error");
		$('overlaySignup').style.cursor='auto';
		$('site_sign_up_button_dis').hide();
		$('site_sign_up_button').show();
		//displayFeedback(responseArray['code'] + responseArray['json'].error);
//		resetCommentForm(formname);
		break;
 	}
        
}

function sendBizSignupComplete(responseText) {
	parseResponse(responseText);
	$('bizsignupform').enable();
	switch(responseText.charAt(responseText.indexOf("{")-1)) {
	case "0":
                //redirect
		if (typeof pageTracker != 'undefined' && pageTracker)
			pageTracker._trackPageview("/pageTracker/ajax/bizsignup/postComplete");
		
		resetResponse();
		//grayOut2(false, 'sendBizSignup');
		//generate paypal transaction
		generateBizTxn();
		
		break;
	case "1":
		$('biz_email_Err').innerHTML = responseArray['json'].email_error;
		if (responseArray['json'].email_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/bizsignup/email_error");
			$('biz_email_Err').show();
		}
		$('biz_password_Err').innerHTML = responseArray['json'].password_error;
		if (responseArray['json'].password_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/bizsignup/password_error");
			$('biz_password_Err').show();
		} else { $('biz_password_Err').hide(); }
		$('biz_nickname_Err').innerHTML = responseArray['json'].nickname_error;
		if (responseArray['json'].nickname_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/bizsignup/nickname_error");
			$('biz_nickname_Err').show();
		} else { $('biz_nickname_Err').hide(); }
		$('biz_terms_Err').innerHTML = responseArray['json'].terms_error;
		if (responseArray['json'].terms_error != '&nbsp;') {
			pageTracker._trackPageview("/pageTracker/ajax/bizsignup/terms_error");
			$('biz_terms_Err').show();
		} else { $('biz_terms_Err').hide(); }
		$('overlayBizSignup').style.cursor='auto';
		$('biz_sign_up_button_dis').hide();
		$('biz_sign_up_button').show();
		break;
	case "2":
		txt = '<div id="feedback_block"><div id="feedback" align="center" class="info">';
		txt += responseArray['json']['errmsg'];
		txt += '</div></div>';
		$('cookieErr').innerHTML = txt;
		grayOut2(false, 'sendBizSignup');
		resetResponse();
		break;
	default:
		$('biz_email_Err').innerHTML = responseArray['json'].email_error;
		if (responseArray['json'].email_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/email_error");
		$('biz_password_Err').innerHTML = responseArray['json'].password_error;
		if (responseArray['json'].password_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/password_error");
		$('biz_nickname_Err').innerHTML = responseArray['json'].nickname_error;
		if (responseArray['json'].nickname_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/nickname_error");
		$('biz_terms_Err').innerHTML = responseArray['json'].terms_error;
		if (responseArray['json'].terms_error != '&nbsp;') pageTracker._trackPageview("/pageTracker/ajax/signup/terms_error");
		$('overlayBizSignup').style.cursor='auto';
		$('biz_sign_up_button_dis').hide();
		$('biz_sign_up_button').show();
		break;
 	}
        
}

var txnnum = "";
function generateBizTxn() {
	new Ajax.Request(URL_GENERATE_TXN,
	{
	    method: 'post',
	    parameters: 'vipsignup=1',
	    onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);
		if (typeof responseArray['json'].url != 'undefined') {
			window.location = responseArray['json'].url;
		} else {
			generateBizTxnComplete(responseArray['json'].txnnum);
		}
		resetResponse();	
	    },
	    onFailure: function(){
		displayFeedback("1" + "Error contacting the server");
		grayOut2(false, 'sendBizSignup');
	    }
	});
}

function generateBizTxnComplete(txnnum) {
                //set hidden field
                $("bizpp_invoice").value = txnnum;
		//submit form to paypal
		$('bizpp').submit();
}

/*
 * getCookie(): given a cookie name, get its value. Returns null if the cookie can't be found.
 * From http://www.webreference.com/js/column8/functions.html
 *
 */
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));
}
 
/*
 * utmvCookieCheck(): given a value, read the __utmv cookie and see if
 * that value is already set. Return true if so, false otherwise.
 *
 */
function utmvCookieCheck(value) {
	var utmvCookie = getCookie("__utmv"); 
 
	if (utmvCookie == null)
		return false;
 
	// get rid of the Google's domain prefix ID, which appear on all
	// GA cookies
	utmvCookie = utmvCookie.replace(/^\d*\./, '');
 
	return (utmvCookie == value || utmvCookie == 'logged-in' ) ? true : false;
}

function currPos() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function trim(str) {
		str = str.replace(/^\s+/, '');
		str = str.replace(/\s+$/, '');
return str;
}

function showCouponPremiumAssetAlert(tc, fc, n) {
	var html = '';
	html = '<div style="background:transparent url(/static/store/'+tc+'/char/'+fc+'/thumbnail.jpg) -20px top no-repeat;padding-left:100px;clear:both;width:220px;"><p style="font-size:18px">Get '+n+' for free</p><br/><p style="font-size: 13px;width:220px">Create an account now or just login to get access to our <span style="font-size:16px;font-weight:bold;line-height:21px;color:orange">'+n+'</span> character for free.</p><br/><ul class="overlayHTMLul"><li style="width:110px;height:47px;overflow:hidden"><a href="javascript:hideHTMLBox();showSignup(250);"><img src="/static/go/img/v2/btn_signup_arrow_small.gif" width="110" height="94" border="0"></a></li><li style="padding:10px 0px 10px 30px;"><a href="javascript:hideHTMLBox();showLogin(250);">login</a></li></ul></div>'
	showHTMLBox("", 180, html, "pr_willie_alert");
}

function showCouponPremiumAssetConfirm(tc, fc, n) {
	var html = '';
	html = '<div style="background:transparent url(/static/store/'+tc+'/char/'+fc+'/thumbnail.jpg) -20px top no-repeat;padding-left:100px;clear:both;width:220px;"><p style="font-size:18px">Congratulations!</p><br/><p style="font-size: 13px;width:220px"><span style="font-size:16px;font-weight:bold;line-height:21px;color:orange">'+n+'</span> is waiting for you to animate him in our studio.</p><br/><br/><ul class="overlayHTMLul"><li style="width:110px;height:39px;overflow:hidden"><a href="javascript:hideHTMLBox();location.href='+"'/go/create'"+'"><img src="/static/go/img/v2/btn_create.png" width="110" height="78" border="0"></a></li><li style="padding:10px 0px 10px 30px;"><a href="javascript:hideHTMLBox();">Close</a></li></ul></div>'
	showHTMLBox("", 180, html, "pr_willie_confirm");
}
function previewMovie(enc_id){
		new Ajax.Request(URL_PREVIEW_MOVIE+'/'+enc_id,
	{
		method: 'post',
		onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);

		if (responseArray['code'] == '0') {
			$('player_code').innerHTML = responseArray['html'];
			
			var scripts = $('player_code').getElementsByTagName('script');
			for (var ix = 0; ix < scripts.length; ix++) {
				eval(scripts[ix].text);
			}

		} else {
			if (typeof responseArray['json'].url != 'undefined') {
				window.location = responseArray['json'].url;
			} else {
				displayFeedback(responseArray['code'] + responseArray['json'].error);
			}
		}
	},
	onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
	}
	});
}

function iePngFix(img,width,height){
   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])
   
   if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
   {
   
      var imgID = (img.id) ? "id='" + img.id + "' " : ""
      var imgClass = (img.className) ? "class='" + img.className + "' " : ""
      var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
      var imgStyle = "display:inline-block;" + img.style.cssText 
      if (img.align == "left") imgStyle = "float:left;" + imgStyle
      if (img.align == "right") imgStyle = "float:right;" + imgStyle
      if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
      var strNewHTML = "<span " + imgID + imgClass + imgTitle
      + " style=\"" + "width:" + width + "px; height:" + height + "px;" + imgStyle + ";"
      + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
      + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"

      img.outerHTML = strNewHTML
   }
}

function toggleOverlay(objid) {
	$(objid).style.display = ($(objid).style.display == "block")? "none" : "block";
}

function in_array(needle, haystack, argStrict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
 
    var found = false, key, strict = !!argStrict;
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
 
    return found;
}

function array_push ( array ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_push(['kevin','van'], 'zonneveld');
    // *     returns 1: 3
 
    var i, argv = arguments, argc = argv.length;
 
    for (i=1; i < argc; i++){
        array[array.length++] = argv[i];
    }
 
    return array.length;
}

// These are for the Domo overlays
function showDomoOverlay() {
	grayOut2(true, null);
	$('domooverlay').style.top = jQuery(document).scrollTop() + 100 + 'px';
	$('domooverlay').style.left = (jQuery(window).width()-$('domooverlay').getWidth())/2 + 'px';
	$('domooverlay').style.display = 'block';
//	if (typeof pageTracker != 'undefined' && pageTracker)
//		pageTracker._trackPageview("/pageTracker/ajax/overlay/login/true");
}
function hideDomoOverlay() {
//	if (typeof pageTracker != 'undefined' && pageTracker)
//		pageTracker._trackPageview("/pageTracker/ajax/overlay/login/false");
	grayOut2(false, null);
	$('domooverlay').style.display = 'none';
}
var textareamaxlength = 2000;
function checkmaxlengthkeypress(obj, evt) {
	var e = window.event ? event.keyCode : evt.which;
	if ( (e == 32) || (e == 13) || (e > 47)) { //IE
		if (obj.value.length > textareamaxlength - 1) {
			if (window.event) {
				window.event.returnValue = null;
			} else {
				evt.cancelDefault;
				return false;
			}
		}
	}
}

function checkmaxlengthkeyup(obj) {
	if (obj.value.length > textareamaxlength - 1) {
		obj.value = obj.value.substr(0, textareamaxlength);
	}
}

function checkmaxlengthpaste(obj) {
	if ((window.event) && (detect.indexOf("safari") + 1 == 0)) { //IE
		var oTR = obj.document.selection.createRange();
		var iInsertLength = textareamaxlength - obj.value.length + oTR.text.length;
		try {
			var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
			oTR.text = sData;
		}
		catch (err) {
		}
		if (window.event) { //IE
			window.event.returnValue = null;
		} else {
			//not IE
			obj.value = obj.value.substr(0,textareamaxlength);
			return false;
		}
	}	
}

function reloadiFrame(objArray) {
	for(i=0; i<objArray.length; i++) {
		$(objArray[i]).src = $(objArray[i]).src;
	}
}

function createPlayer(
		player_div_id, player_url, width, height, wmode, movieOwner, movieOwnerId, movieId,
		movieLid, movieTitle, movieDesc, userId, username, uemail,
		apiserver, thumbnailURL, copyable, isPublished, ctc, tlang, is_private_shared,
		autostart, appCode, is_slideshow, originalId, is_emessage, isEmbed, refuser,
		utm_source, uid, isTemplate, showButtons, chain_mids, showshare, averageRating,
		ratingCount, fb_app_url, numContact, isInitFromExternal
	) {
			var so = new SWFObject(player_url, 
					       "Player", width, height, "9.0.115", "#464646");
			so.useExpressInstall('/static/libs/expressInstall.swf');
			so.addParam("AllowScriptAccess", "always");
			so.addParam("wmode", wmode);
			so.addVariable("movieOwner", movieOwner);
			so.addVariable("movieOwnerId", movieOwnerId);
			so.addVariable("movieId", movieId);
			so.addVariable("movieLid", movieLid);
			so.addVariable("movieTitle", movieTitle);
			so.addVariable("movieDesc", movieDesc);
	   		so.addVariable("userId", userId);
	   		so.addVariable("username", username);
	   		so.addVariable("uemail", uemail);
	   		so.addVariable("ut", "klsdfkldsfkljdsf");
	   		so.addVariable("apiserver", apiserver);
	   		so.addVariable("thumbnailURL", thumbnailURL);
	   		so.addVariable("copyable", copyable);
	   		so.addVariable("isPublished", isPublished);
			so.addVariable("ctc", ctc);
			so.addVariable("tlang", tlang);
	   		so.addVariable("is_private_shared", is_private_shared);
	   		so.addVariable("autostart", autostart);
	   		so.addVariable("appCode", "go");
			so.addVariable("is_slideshow", is_slideshow);
			so.addVariable("originalId", originalId);
			so.addVariable("is_emessage", is_emessage);
			so.addVariable("isEmbed", isEmbed);
			so.addVariable("refuser", refuser);
			so.addVariable("utm_source", utm_source);
			so.addVariable("uid", uid);
			so.addVariable("isTemplate", isTemplate);
	   		so.addVariable("showButtons", showButtons);
	   		so.addVariable("chain_mids", chain_mids);
			so.addVariable("showshare", showshare);
			so.addVariable("averageRating", averageRating);
			so.addVariable("ratingCount", ratingCount);
	   		so.addVariable("fb_app_url", fb_app_url);
	   		so.addVariable("numContact", numContact);
	   		so.addVariable("isInitFromExternal", isInitFromExternal);
			so.addParam("scale", "exactfit");
			so.addParam("allowFullScreen","true");
	   		so.write(player_div_id);
}

function submitFBConnect() {
	if (typeof(FB) !== 'undefined') {
		FB.ensureInit(function(){
		    FB.Connect.requireSession(function(){
			var session = FB.Facebook.apiClient.get_session();
			//alert('got session' + session.session_key + ' ' + session.uid + ' ' + session.expires + ' ' + session.secret + ' ' + session.sig);
			FBConnectCheck(session.uid);
			});
			
		});
	} else {
		displayFeedback ("1" + GT.gettext("Sorry, Facebook is blocked at your location."));
	}
}

function FBConnectCheck(uid) {
	//change event
	new Ajax.Request(URL_FBCONNECT_CHECK,
	{
	    method: 'post',
	    onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);

		if (responseArray['code'] == '0') {
			if (responseArray['json'].status == 'USER_EXIST') {
				var index = window.location.href.indexOf('?signup=1');
				if (index > 0){
					var url = window.location.href.substring(0,index);
					window.location.href = url;
				} else {
					window.location.reload();
				}
				
			} else if (responseArray['json'].status == 'NO_USER') {
				showGAAcctOverlay(true);
			}
		} else if (responseArray['code'] == '1') {
			window.location = responseArray['json'].url;
		}

	    },
	    onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
	    }
	});
	
	
}


function showGAAcctOverlay(vis) {
	//update top position
	var currScrPos = currPos();
	currScrPos[1] = currScrPos[1] + 40;
	$('gaacctoverlay').style.display = 'block';
        $('overlayObject2').style.margin = currScrPos[1]  + 'px 0px 0px 0px';

	if (vis)
		grayOut2(true, 'showGAAcct');
	else
		grayOut2(false, 'showGAAcct');
    
}

function hideGAAcct() {
        grayOut2(false, 'showGAAcct');
        $('gaacctoverlay').style.display = 'none';
}

function showHaveGAAcctOverlay(vis) {
	//update top position
	var currScrPos = currPos();
	currScrPos[1] = currScrPos[1] + 40;
	$('havegaacctoverlay').style.display = 'block';
        $('overlayObject2').style.margin = currScrPos[1]  + 'px 0px 0px 0px';

	if (vis)
		grayOut2(true, 'showHaveGAAcct');
	else
		grayOut2(false, 'showHaveGAAcct');
    
}

function hideHaveGAAcct() {
        grayOut2(false, 'showHaveGAAcct');
        $('havegaacctoverlay').style.display = 'none';
}

function gaacctcheck() {
	for (i=0; i < document.gaacctForm.answer.length; i++){
		if (document.gaacctForm.answer[i].checked)
		{
			ans = document.gaacctForm.answer[i].value;
		}
	}
	hideGAAcct() ;
	if (ans == 'yes') {
		showHaveGAAcctOverlay(true);
	} else {
		
		FBConnectSignIn();
		
	}
	
}

function FBConnectSignIn() {

	//change event
	new Ajax.Request(URL_FBCONNECT_SIGNIN,
	{
	    method: 'post',
	    
	    onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);

		if (responseArray['code'] == '0') {
			if (responseArray['json'].status == 'USER_ADDED') {
				getFBPermission ();
			} 
			
		} else if (responseArray['code'] == '1') {
			window.location = responseArray['json'].url;
		}

	    },
	    onFailure: function(){
		displayFeedback("1" + GT.gettext("Error contacting the server"));
	    }
	});
}

function getFBPermission () {
	FB.ensureInit(function(){
		    
		    FB.Connect.showPermissionDialog('offline_access,publish_stream', 
			    function(result) 
			    { 
			      // alert('fb' + result);
			       var session = FB.Facebook.apiClient.get_session();
			       //alert(session.session_key + ' ' + session.uid + ' ' + session.expires + ' ' + session.secret + ' ' + session.sig);
			       var status = false;
			       
			       if (session.expires == 0){
					var session = FB.Facebook.apiClient.get_session();
					//alert('got session' + session.session_key + ' ' + session.uid + ' ' + session.expires + ' ' + session.secret + ' ' + session.sig);
					
					FBConnectUpdate(session.session_key);
					
					status = true;
			       }
			       
			       if (status == false){
					FBConnectUpdate('no_key');
			       }
			       
		
			    });
		    
	  });
}


function FBConnectUpdate(key) {

	//change event
	new Ajax.Request(URL_FBCONNECT_SIGNIN,
	{
	    method: 'post',
	    parameters: 'fb_key=' + key,
	    onSuccess: function(transport){
		var response = transport.responseText;
		parseResponse(response);

		if (responseArray['code'] == '0') {
			if (responseArray['json'].status == 'USER_UPDATED') {
				window.location.reload();
			} else if (responseArray['json'].status == 'USER_NO_KEY') {
				window.location.reload();
			}
			
		} else if (responseArray['code'] == '1') {
			window.location = responseArray['json'].url;
		}

	    },
	    onFailure: function(){
		displayFeedback("1"+GT.gettext("Error contacting the server"));
	    }
	});
}

function checkFBLogin (ga, fb) {
	if (getCookie(ga) == null && getCookie(fb))
		FBConnectCheck();
}

function chooseLanguage(lang) {
    new Ajax.Request(URL_CHOOSE_LANGUAGE,
    {
        method: 'post',
        parameters: 'lang='+lang+'&uri='+window.location,
        onSuccess: function(transport){
            var response = transport.responseText;
            chooseLanguageComplete(response);
        },
        onFailure: function(){
            displayFeedback("1" + GT.gettext("Error contacting the server"));
        }
    });
}

function chooseLanguageComplete(response){
	parseResponse(response);
	if (typeof responseArray['json'].url != 'undefined') {
		window.location = responseArray['json'].url;
	}
	resetResponse();
}

function buttonOver(div, top) {
	$(div + 'left').style.margin = top + "px 0 0 0";
	$(div + 'right').style.margin = top + "px 0 0 0";
	$(div + 'centerinactive').style.display = 'none';
	$(div + 'centeractive').style.display = 'block';
}

function buttonOut(div) {
	$(div + 'left').style.margin = "0 0 0 0";
	$(div + 'right').style.margin = "0 0 0 0";
	$(div + 'centeractive').style.display = 'none';
	$(div + 'centerinactive').style.display = 'block';
}

function checkEnter(e, js_func, js_params){
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;	
	if(keycode == 13){
		eval(js_func + "(" + js_params + ");" );
		return false;
	} else {
		return true;
	}
}
function showUltimate(top) {
	var currScrPos = currPos();
	top = currScrPos[1];
        $('overlayUltimate').style.display = 'block';
        $('overlayObject2').style.margin = top + 'px 0px 0px 0px';
        grayOut2(true, 'showUltimate');
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/ultimate/true");

}
function hideUltimate() {
	if (typeof pageTracker != 'undefined' && pageTracker)
		pageTracker._trackPageview("/pageTracker/ajax/overlay/ultimate/false");
        grayOut2(false, 'showUltimate');
        $('overlayUltimate').style.display = 'none';
}

