// JavaScript Document
var n;
function D(id) { return document.getElementById(id); }
function Q(v) { return v.replace(/\'/, "%27") }
var M = ["", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
function DT(date) {
	if (n && date == n) return date;
	var a = date.split(" ");
	var b = a[0].split("-");
	return b[2] + " " + M[new Number(b[1])] + " " + b[0];
}

var varnames = {
		country:"Country",
		age:"Age",
		nationality:"Nationality",
		langs:"Languages",
		religion:"Religion",
		religiontype:"Religious Type",
		marital_status:"Marital Status",
		marriage:"Regarding Marriage",
		children:"Having Children",
		wantchildren:"Wanting Children",
		education:"Education",
		profession:"Profession",
		height:"Height",
		weight:"Weight",
		hair_color:"Hair Color",
		hair_length:"Hair Length",
		eye_color:"Eye Color",
		outing:"Favorite Outing Places",
		hobbies:"Favorite Hobbies",
		sports:"Favorite Sports",
		smoke:"Smoking",
		picture:"Having a picture"
};

function _getvars(v) {
	if (!v) return "";
	var arr = v.split(",");
	var ret = [];
	for(var i in arr) {
		ret.push(varnames[arr[i]]);
	}
	return ret.join(", ");
}


var blockmsg = "Are you sure you want to block this person?";
var ublockmsg = "Are you sure you want to unblock this person?";
var delmsg = "Are you sure you want to remove this person from your selection?";

// MM
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// chat thingies
function addChat() {
        if (isChat()) return;
        setChats(1);
}

function remChat() {
        if (isChat()) {
                setChats(0);
				p_heartbeat();
        }
}

function isChat() {
        var chats = getChats();
        if (chats == 1)
              return true;
        return false;
}

function setChats(v) {
        var n = document.cookie;
        var m = n.split(";");
        var coo = "chats=" + v + ";";
        for (i in m) {
                if (! m[i].match(/chats=/)) {
                        coo += m[i] + ";";
                }
        }
        document.cookie = coo;
}

function getChats() {
        var n = document.cookie;
        var m = n.split(";");
        for (i in m) {
                if (m[i].match(/chats=/)) {
                    	v = m[i].split("=");
                        chats = v[1];
                        return chats;
                }
        }
        return 0;
}


function getXY(obj) {
		var Y = 0;
		var X = 0;
		var tmp = obj;
		while (obj) {
				Y += obj.offsetTop;
				obj = obj.offsetParent;
		}
		obj = tmp;
		while (obj) {
				X += obj.offsetLeft;
				obj = obj.offsetParent;
		}
		return [X,Y];
}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}
function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}
function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 

	return window.undefined; 
}
function getViewportWidth() {
	var offset = 17;
	var width = null;
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
}

function getScrollTop() {
	if (self.pageYOffset)
	{
		return self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		return document.documentElement.scrollTop;
	}
	else if (document.body) 
	{
		return document.body.scrollTop;
	}
}
function getScrollLeft() {
	if (self.pageXOffset)
	{
		return self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollLeft)
	{
		return document.documentElement.scrollLeft;
	}
	else if (document.body) 
	{
		return document.body.scrollLeft;
	}
}

var chat_written = false;
function WriteChat() {
	
	if (isChat()) return;
	
	if (chat_written) return;
	chat_written = true;
	var div = document.createElement("div");
	div.id = "fixme";
	div.innerHTML = 'Someone is trying to chat with you. <a href="http://www.surfandmeet.com/chatroom.php" target="surfchat" onclick="UnwriteChat()">click here</a> to go to the chatroom.';
	document.body.appendChild(div);	
}

function UnwriteChat() {
	chat_written = false;
	try {
	document.body.removeChild(D("fixme"));	
	} catch(ex) {}
}

var pid = -1;
var pace = 1000 * 30;
function p_heartbeat() {
	clearTimeout(pid);
	pid = setTimeout( function() {
		xmlhttpPost("ping.php");
							   }, pace);
}



function xmlhttpPost(strURL) {
	
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        } 
    }
    self.xmlHttpReq.send("ping=1");
}


function updatepage(str, error){
	
	eval("var o = " + str + ";");

	if (o.chat) {
		WriteChat();
	}
	
	if (!isChat()) {
		p_heartbeat();
	}
}