var startChat=false;
var debug=false;
var referID;

function externalLinks() {
 	 if(!document.getElementsByTagName) return;
 	 var links,a,i;
 	 links = document.getElementsByTagName("a");
 	 for(i=0;i<links.length;i++) {
 	   	 a = links[i];
 	   	 if(a.getAttribute("rel") && a.getAttribute("rel").indexOf("external") > -1) {
 	   	   	 a.onclick = function() {
 	   	   	   	 window.open(this.href);
 	   	   	   	 return false;
}}}}

function setDebug(el) {
	debug = (el.checked) ? true : false;
}

function insert_pixelad() {
	el = get("pixelad");
	if(el) el.innerHTML = '<!-- Advertiser \'FlipChat\',  Conversion tracking \'FlipChat\' - DO NOT MODIFY THIS PIXEL IN ANY WAY --><img src="http://ad.yieldads.com/pixel?id=717898&t=2" width="1" height="1" /><!-- End of segment tag -->';
}

function renew_bannerad() {
	el = get("promotion_banner");
	if(el) el.innerHTML = '<!-- BEGIN STANDARD TAG - 468 x 60 - FlipChat: Run-of-site - DO NOT MODIFY --><iframe frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="468" height="65" src="http://ad.yieldads.com/st?ad_type=iframe&amp;ad_size=468x60&amp;section=833992"></iframe><!-- END TAG -->';
}

function log(str) {
	if(!debug)
		return;
	get("chatarea").innerHTML += "<div class=\"JSlog\">JSlog: " + str + "</div>";
	get("chatarea").scrollTop = get("chatarea").scrollHeight;
}

function notify(str) {
	get("chatarea").innerHTML += "<div class=\"notify\">Notice: " + str + "</div>";
	get("chatarea").scrollTop = get("chatarea").scrollHeight;
}

function preconfirm(objLink, strHREF){
    if(confirm("Are you sure?"))
        objLink.href = strHREF;
}

function move(to) {
	document.location.href = to;
}

function popup_close() {
	get("overlay").style.display = "none";
	get("popup_nopremium").style.display = "none";
	get("popup_nopremium_big").style.display = "none";
	get("popup_enquiry").style.display = "none";
	get("popup_addfriend").style.display = "none";
	get("popup_removefriend").style.display = "none";
	get("popup_notification").style.display = "none";
}

function get(el) {
	return document.getElementById(el);
}

function getFlashMovie() {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window["main"] : document["main"];
}

function isPremium(str) {
	var bool=true;
	switch(str) {
		case "friend":
		case "ring":
			bool = (elvira) ? true : false; break;
		default:
	}
	return bool;
}

function openPopup(str, type) {

	if(str == 'popup_nopremium')
		str = 'popup_nopremium_big';

	/*if(str == 'popup_nopremium' || str == 'popup_nopremium_big') {
		switch(type) {
			case 'filter':
				$("div#"+str+" .text").text("Sorry, you can only use the filter as a flipchat premium member."); break;
			case 'friend':
				$("div#"+str+" .text").text("Sorry, you can only add friends as a flipchat premium member."); break;
			case 'friendrequest':
				$("div#"+str+" .title").text("Friend Request");
				$("div#"+str+" .text").text("Oups, you need a flipchat membership to add users as friends."); break;
			case 'ring':
				$("div#"+str+" .text").text("Sorry, you can only use the ring button as a flipchat premium member."); break;
			default:
				$("div#"+str+" .text").text("Sorry, this feature is only available with a premium account!"); break;
		}
	}*/

	if(str == 'popup_nopremium' || str == 'popup_nopremium_big') {
		$(document).ready(function() {
			$("a.register_open").trigger('click');
		});
		return;
	}

	if(str == 'popup_notification') {
		switch(type) {
			case 'addfriend':
				$("div#"+str+" .text").text("You are now friends!"); break;
			case 'startchat':
				$("div#"+str+" .text").text("First, please start the chat!"); break;
			case 'reject':
				$("div#"+str+" .text").text("Your chat request was rejected!"); break;
			case 'loginfailed':
				$("div#"+str+" .text").text("Login failed!"); break;
			case 'userna':
				$("div#"+str+" .text").text("Sorry, user is not available!"); break;
		}
	}

	get("overlay").style.display = "block";
	get(str).style.display = "block";
}

function send(str) {
	if(!isPremium(str)) {
		openPopup("popup_nopremium", str);
		return;
	}
	if(str == "stop") {
		$(".onlyonstart").attr("disabled", "disabled");
		startChat=false;
	} else if(str == "friend") {
		notify("Send friend request to user.");
	}
	getFlashMovie().callbackCommand(str, Ahash);
}

function filter() {
/*	if(!startChat) {
		openPopup("popup_notification", "startchat");
		return;
	} */
	var gender = $("input[name='gender']:checked").val();
	var seek_gents = $("input[name='Fgents']:checked").val();
	var seek_ladies = $("input[name='Fladies']:checked").val();
	var seek_country = $("select[name='Fcountry']").val();
	var status = hasClass(get('FactivateBtn'), 'active') ? false : true;

	if(gender == 'female' && seek_gents == 1 && seek_ladies == undefined) {
		getFlashMovie().callbackFilter(status, gender, (seek_gents==1)?1:0, (seek_ladies==1)?1:0, seek_country);
	} else {
		if(elvira == 1) {
			getFlashMovie().callbackFilter(status, gender, (seek_gents==1)?1:0, (seek_ladies==1)?1:0, seek_country);
		} else {

			$("input[name='gender']").attr("checked","");
			$("input[name='Fgents']").attr("checked","");
			$("input[name='Fladies']").attr("checked","");
			/*$("#FactivateBtn").children().text("FILTER NOT ACTIVATED");*/

			openPopup("popup_nopremium", "filter");
			return;
		}
	}
}

function change(str, el) {
	getFlashMovie().callbackChangeCommand(str, el.checked);
}

function callMessage(str) {
	if(!debug && str.match(/class=\'debug\'/))
		return;

	get("chatarea").innerHTML += str;
	get("chatarea").scrollTop = get("chatarea").scrollHeight;
	$('div#chatarea').smile().linkify();
	externalLinks();
}

function clear() {
	get("chatarea").innerHTML = '';
}

function hasClass(el, str) {
	return el.className.match(new RegExp('(\\s|^)' + str + '(\\s|$)'));
}

function addClass(el, str) {
	el.className += (!this.hasClass(el, str)) ? " " + str : "";
}

function removeClass(el, str) {
	if(hasClass(el, str)) {
    	var reg = new RegExp('(\\s|^)' + str + '(\\s|$)');
    	el.className = el.className.replace(reg, ' ');
	}
}

function callNextEnabled(bool) {
	if(bool) {
		get("next").onclick = function() { send('start'); };
		get("next").onmouseover = function() { addClass(this, 'btn_start_over'); };
		get("next").onmouseout = function() { removeClass(this, 'btn_start_over'); };
		removeClass(get("next"), "btn_start_inactive");
	} else {
		get("next").onclick = function() {};
		get("next").onmouseover = function() {};
		get("next").onmouseout = function() {};
		addClass(get("next"), "btn_start_inactive");
	}
}

function callNextLabel(type) {
	get("nextLabel").innerHTML = (type == "flip") ? "Flip Partner" : "Start Chat";
}

function callBtnChange(el, bool) {

	if(el == 'FactivateBtn') {
		if(bool) {
			addClass(get(el), 'active');
		} else {
			removeClass(get(el), 'active');
		}
		return;
	}
	get(el).checked = bool;
}

function systemKeyUp(e) {
	switch(e.keyCode) {
		case 120: /*F9*/ send("start"); break;
		case 119: /*F8*/ send("stop"); break;
		case 113: /*F2*/ send("report"); break;
		default:
	}
}

function callTextAreaEnabled(bool) {
	if(bool) {
		get("message").removeAttribute("disabled");
		$("div#chat_container .btn").removeClass("disabled");
		$("div#chat_container .btn").click(function() { chat_btn(); });
		get("message").focus();
	} else {
		get("message").setAttribute("disabled", "disabled");
		$("div#chat_container .btn").addClass("disabled");
		$("div#chat_container .btn").click(function() {});
	}
}

function chat(e) {
	if(e.keyCode != 0xA && e.keyCode != 0xD) {
		getFlashMovie().callbackTap();
		return;
	}
	var message = get("message").value;
	getFlashMovie().callbackChatMessage(message);
	var IE='\v'=='v';
	if(IE) {
		get("message").value = '';
	} else get("textarea_container").innerHTML = '<textarea id="message" onkeypress="chat(event);" name="message" rows="0" cols="0"></textarea>';

	$("textarea#message").focus();
}

function chat_btn() {
	if(!startChat) {
		openPopup("popup_notification", "startchat");
		return;
	}
	var message = get("message").value;
	getFlashMovie().callbackChatMessage(message);
	var IE='\v'=='v';
	if(IE) {
		get("message").value = '';
	} else get("textarea_container").innerHTML = '<textarea id="message" onkeypress="chat(event);" name="message" rows="0" cols="0"></textarea>';

	$("textarea#message").focus();
}

function callTap(bool) {
	get("tap").style.display = (bool) ? "inline" : "none";
}

function callActivateInput(bool) {
	startChat=true;
	if(bool) $(".onlyonstart").attr("disabled", "");
}

function newWindow(url) {
	popup_close();
	popup = window.open(url);
	popup.focus();
	return false;
}

function addFriend(uid, userID) {
	/*if(elvira == 1) {*/
		$("p#FriendUID").text(uid);
		$("#popup_friendrequest img").attr("src", "/screen/"+ userID +":big");
		openPopup('popup_addfriend', false);
	/*} else openPopup('popup_nopremium', 'friend');*/
}

function acceptFriend() {
	popup_close();
	uid = $("p#FriendUID").text();

	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/addfriend.php",
		data	: "uid="+uid+"&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();

			var obj = jQuery.parseJSON(data);
			switch(obj.code) {
				case 90:
					/*openPopup('popup_nopremium', 'friendrequest');*/
					$("a.register_addfriends").trigger('click');
					break;
				case 99: default:
					openPopup("popup_notification", "error");
					break;
				case 100:
					openPopup("popup_notification", "addfriend");
					break;
			}
		}
	});
}

function rejectFriend() {
	popup_close();
	uid = $("p#FriendUID").text();
	getFlashMovie().callbackRejectFriend(uid);
}

function rejectFriendNotice(uid) {
	openPopup("popup_notification", "reject");
}

function attachFriend(uid) {
	if(startChat)
		getFlashMovie().callbackAttachFriendNotice(uid);
	else openPopup("popup_notification", "startchat");
}

function attachFriendError() {
	openPopup("popup_notification", "userna");
}

function saveScreen() {
	if(startChat)
		getFlashMovie().callbackSaveScreenshot();
	else openPopup("popup_notification", "startchat");
}

function attachFriendNotice(uid, userID) {
	if(elvira == 1) {
		$("p#EnquiryUID").text(uid);
		$("#popup_cam img").attr("src", "/screen/"+ userID +":big");
		openPopup('popup_enquiry', false);
	} else openPopup('popup_nopremium', 'friend');
}

function rejectEnquiryFriendNotice() {
	popup_close();
	uid = $("p#EnquiryUID").text();
	getFlashMovie().callbackRejectFriend(uid);
}

function acceptAttachFriend() {
	popup_close();
	uid = $("p#EnquiryUID").text();

	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/attachfriend.php",
		data	: "uid="+uid+"&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();

			var obj = jQuery.parseJSON(data);
			switch(obj.code) {
				case 90:
					openPopup('popup_nopremium', 'friend');
					break;
				case 99: default:
					openPopup("popup_notification", "error");
					break;
				case 100:
					getFlashMovie().callbackConnectFriends(uid);
					break;
			}
		}
	});
}

function removeFriendYes() {
	uid = $("p#RemoveUID").text();
	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/removefriend.php",
		data	: "uid="+uid+"&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();
			popup_close();

			var obj = jQuery.parseJSON(data);
			switch(obj.code) {
				case 90:
					openPopup('popup_nopremium', 'friend');
					break;
				case 99: default:
					openPopup("popup_notification", "error");
					break;
				case 100:
					$('div.friend'+uid).fadeOut('slow');
					break;
			}
		}
	});
}

function removeFriend(uid, el) {
	$("p#RemoveUID").text(uid);
	$("#popup_removefriend div.cam img").attr("src", "/screen/"+ uid +":big");
	openPopup('popup_removefriend', false);
}

function callSaveNewScreen() {
	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/refreshpicture.php",
		data	: "&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();

			var obj = jQuery.parseJSON(data);
			switch(obj.code) {
				case 90:
					openPopup('popup_nopremium', 'friend');
					break;
				case 99: default:
					openPopup("popup_notification", "error");
					break;
				case 100:
					$("div#user_picture").children().fadeOut('fast').remove();
					var newimg = $.create("img", {"src":obj.img});
					$("div#user_picture").append($(newimg));

					break;
			}
		}
	});
}

function changeMyStatus(el) {
	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/updateuserstatus.php",
		data	: "&status="+$(el).val()+"&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();

			var obj = jQuery.parseJSON(data);
			switch(obj.code) {
				case 90:
					openPopup('popup_nopremium', 'friend');
					break;
				case 99: default:
					openPopup("popup_notification", "error");
					break;
				case 100:
					break;
			}
		}
	});
}

function contact_change_reason(el) {
	$("div#popup_contact .passwordWrapper").hide();
	if(el.value == 2)
		$("div#popup_contact .passwordWrapper").show();

}

function updateReferID(uid) {
	if(uid > 0) {
		referID = uid;
	} else referID = 0;
}

var prevContent = '';
var minTimeout = 5000;
var maxTimeout = 10000;
var multiplier = 2;
function periodicalUpdater() {
	if(elvira != 1)
		return;

	timerInterval = minTimeout;

	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/friendbox.php",
		data	: "&session_id="+session_id,
		success: function(data) {
			$('div#friend_box').html(data);
			if(prevContent != data) {
	            timerInterval = minTimeout;
	            prevContent = data;
	            setTimeout(periodicalUpdater, timerInterval);
	         } else{
	            if(timerInterval < maxTimeout) {
	               timerInterval = timerInterval * multiplier;
	            }
	            setTimeout(periodicalUpdater, timerInterval);
	         }
		}
	});
}

function resetForm(id) {
	$('form#'+id).each(function(){ this.reset(); });
}

function switch_payment(str) {
	$.fancybox.showActivity();
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: "/share/assets/ajax/switchpayment.php",
		data	: "switch="+str+"&session_id="+session_id,
		success: function(data) {
			$.fancybox.hideActivity();
			var obj = jQuery.parseJSON(data);
			$("div#popup_register_container").html(obj.data);
		}
	});
}

$(document).ready(function() {
	periodicalUpdater();
	externalLinks();

	$('.onlyonstart').attr("disabled", "disabled");

	/*$('.onlyonstart').livequery(function() {
		$('.onlyonstart').attr("disabled", "disabled")
	});*/

	$("div.friend_element").livequery("mouseover", function() {
		/*if($(this).children('div:first').attr('class') == 'online')*/
			$(this).children('div.more').css('display', 'block');
	});
	$("div.friend_element").livequery("mouseout", function() {
		$(this).children('div.more').css('display', 'none');
	});

	if(elvira == 1) {
		$(".onlyforpremium").attr("disabled", "");
	} else {
		$(".onlyforpremium").attr("disabled", "disabled");
	}

	$("a#inline").fancybox({
		'hideOnContentClick': true
	});

	$("a#contact").fancybox({
		'showCloseButton'	: false,
		'autoScale'			: true,
		'autoDimensions'	: true,
		'padding'			: 0,
		'margin'			: 0,
		'scrolling'			: 'no',
        'titleShow'    		: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});

	$("a#getpremium").fancybox({
		'width'				: '800',
		'height'			: '750',
        'autoScale'     	: true,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	});

	$("a#footer_getpremium").fancybox({
		'showCloseButton'	: false,
		'autoScale'			: true,
		'autoDimensions'	: true,
		'padding'			: 0,
		'margin'			: 0,
		'scrolling'			: 'no',
        'titleShow'    		: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});

	$("a.register_open").fancybox({
		'showCloseButton'	: false,
		'autoScale'			: true,
		'autoDimensions'	: true,
		'padding'			: 0,
		'margin'			: 0,
		'scrolling'			: 'no',
        'titleShow'    		: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});

	$("a.register_addfriends").fancybox({
		'showCloseButton'	: false,
		'autoScale'			: true,
		'autoDimensions'	: true,
		'padding'			: 0,
		'margin'			: 0,
		'scrolling'			: 'no',
		'titleShow'    		: false,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});
	/*$("a.register_open").trigger('click');*/

	$("a#addfriend").fancybox({
		'showCloseButton'	: false,
		'autoScale'			: true,
		'autoDimensions'	: true,
		'padding'			: 0,
		'margin'			: 0,
		'scrolling'			: 'no',
        'titleShow'    		: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none'
	});

	$("form#contact_form").livequery("submit", function() {
		$.fancybox.showActivity();
		$.fancybox.resize();

		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/share/assets/ajax/contact.php",
			data	: $(this).serialize()+"&session_id="+session_id,
			success: function(data) {
				$.fancybox.hideActivity();

				var obj = jQuery.parseJSON(data);
				switch(obj.code) {
					case 99:
						$("div#popup_contact .contact_result").html(obj.data);
						break;
					case 100:
						resetForm("contact_form");
						$("div#popup_contact .contact_result").html(obj.data);
						break;
				}
			}
		});
		return false;
	});

	$("#register_form").livequery("submit", function() {
		$.fancybox.showActivity();

		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/share/assets/ajax/register.php",
			data	: $(this).serialize()+"&refer_id="+referID+"&session_id="+session_id,
			success: function(data) {
				$.fancybox.hideActivity();
				$("div.register_error").hide();

				var obj = jQuery.parseJSON(data);

				// login user
				if(obj.code != 99) {
					$('div#login_area').html(obj.data2);
					$('input#Fmale').attr("disabled", "disabled");
					$('input#Ffemale').attr("disabled", "disabled");

					if(obj.gender == 'm')
						$('input#Fmale').attr("checked", "checked");
					else
						$('input#Ffemale').attr("checked", "checked");

					Ahash = obj.hash;
					getFlashMovie().callbackSetup(obj.hash);
				}

				switch(obj.code) {
					case 99:
						$("div."+obj.classname).html(obj.text);
						$("div."+obj.classname).show();
						break;
					case 100:
						elvira = 1;
						$("div#popup_register_container").html(obj.text);
						break;
					case 101:
						$.fancybox.showActivity();
						$("div#popup_register_container").html(obj.text);
						$.fancybox.resize();
						$.fancybox.hideActivity();
						break;
					case 102: default:
						$("div#popup_register_container").html(obj.text);
						$.fancybox.resize();
						break;
				}
			}
		});
		return false;
	});

	$("#login_form").bind("submit", function() {

	    if ($("#Fmail").val().length < 1 || $("#Fpassword").val().length < 1) {
	    	$.fancybox("Username or password incorrect.");
	        $.fancybox.resize();
	        return false;
	    }
	    $.fancybox.showActivity();
		$.ajax({
			type	: "POST",
			cache	: false,
			url		: "/share/assets/ajax/login.php",
			data	: $(this).serialize()+"&session_id="+session_id,
			success: function(data) {
			$.fancybox.hideActivity();
				var obj = jQuery.parseJSON(data);
				switch(obj.code) {
					case 99:
						$.fancybox("Login failed.");
						break;
					case 100:
						$('div#login_area').html(obj.data);
						$('input#Fmale').attr("disabled", "disabled");
						$('input#Ffemale').attr("disabled", "disabled");

						if(obj.gender == 'm')
							$('input#Fmale').attr("checked", "checked");
						else
							$('input#Ffemale').attr("checked", "checked");

						if(obj.premium) {
							elvira = 1;
							$(".onlyforpremium").attr("disabled", "");
						}
						Ahash = obj.hash;
						getFlashMovie().callbackSetup(obj.hash);

						$.ajax({
							type	: "POST",
							cache	: false,
							url		: "/share/assets/ajax/friendbox.php",
							data	: "session_id="+session_id,
							success: function(data) {
								$('div#friend_box').html(data);
							}
						});

						break;
					default:
				}
			}
		});
		return false;
	});

	$("select#Fgender").change(function() {
		$("#select_male").css("display", "none");
		$("#select_female").css("display", "none");
		switch($(this).val()) {
			case 'male':
				$("#select_male").css("display", "block");
				break;
			case 'female':
				$("#select_female").css("display", "block");
				break;
			default:
		}
	});


});
