/* Making Cache */
// Library of functions from http://www.dustindiaz.com/top-ten-javascript
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function toggle(obj, state, static) {
	var el = document.getElementById(obj);
	
	if ((!state && el.style.display != 'none') || (state == 'off' || state == 'hide')) {
		el.style.display = 'none';
		
		if (static == true) {
			setCookie('showhide-'+obj, 'hide', 365);
		}
	}
	else if (!state || state == 'on' || state == 'show') {
		el.style.display = '';
		
		if (static == true) {
			setCookie('showhide-'+obj, 'show', 365);
		}
	}
}

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function deleteCookie(name) {
	setCookie(name,"",-1);
}

function setTimeZone()
	{
	now = new Date();
    	offset = now.getTimezoneOffset();
	setCookie('timeZoneOffset',offset,365);
	}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_GenerateobjHTML(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  return str;
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_FL_RunContentHTML(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  return AC_GenerateobjHTML(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function ButOver(but)
	{
	but.style.background = "#663399";
	but.style.color = "#FFCCFF";
	//but.style.cursor = "pointer";
	}

function ButOut(but)
	{
	but.style.background = "#FFCCFF";
	but.style.color = "#663399";
	}

function C_Over(thecell)
{
    thecell.style.cursor = "pointer";
}

function C_Out(thecell)
{
    thecell.style.cursor = "auto";
}

function NavLink(page)
{
	window.location = page;
}

var HeightsImperialText = "4' 6\"~4' 7\"~4' 8\"~4' 9\"~4' 10\"~4' 11\"~5' 0\"~5' 1\"~5' 2\"~5' 3\"~5' 4\"~5' 5\"~5' 6\"~5' 7\"~5' 8\"~5' 9\"~5' 10\"~5' 11\"~6' 0\"~6' 1\"~6' 2\"~6' 3\"~6' 4\"~6' 5\"~6' 6\"~6' 7\"~6' 8\"~6' 9\"~6' 10\"~6' 11\"~7' 0\"~7' 1\"";
var HeightsImperialValues = "1.37~1.40~1.42~1.45~1.47~1.50~1.52~1.55~1.57~1.60~1.63~1.65~1.68~1.70~1.73~1.75~1.78~1.80~1.83~1.85~1.88~1.91~1.93~1.96~1.98~2.01~2.03~2.06~2.08~2.11~2.13~2.16";
var HeightsMetricValues = "1.37~1.38~1.39~1.40~1.41~1.42~1.43~1.44~1.45~1.46~1.47~1.48~1.49~1.50~1.51~1.52~1.53~1.54~1.55~1.56~1.57~1.58~1.59~1.60~1.61~1.62~1.63~1.64~1.65~1.66~1.67~1.68~1.69~1.70~1.71~1.72~1.73~1.74~1.75~1.76~1.77~1.78~1.79~1.80~1.81~1.82~1.83~1.84~1.85~1.86~1.87~1.88~1.89~1.90~1.91~1.92~1.93~1.94~1.95~1.96~1.97~1.98~1.99~2.00~2.01~2.02~2.03~2.04~2.05~2.06~2.07~2.08~2.09~2.10~2.11~2.12~2.13~2.14~2.15~2.16";
var RunFlag = 0;

function ToggleHeight(Control) 
{
var Metric = Control.options[1].text.indexOf("'")==-1 ? 1 : 0;
var Value = Control.options[Control.selectedIndex].value;
var Temp;
if (RunFlag == 0)
	{
	Value = StartHight;
	RunFlag = 1;
	}
if(Metric) 
	{
	var Temp = parseFloat(Value);
	Temp = (Temp*100)/2.54;
	Temp = Math.round(Temp);
	Temp = (Temp*2.54);
	Temp = Math.round(Temp);
	Temp = Temp/100;
	Value = Temp.toString();
	if(Value.length==3) Value += "0";
	Repopulate(Control,HeightsImperialText,HeightsImperialValues,TopText);
	}
else
	{
	Repopulate(Control,HeightsMetricValues,HeightsMetricValues,TopText);
	}
for(i=1; i<Control.options.length; i++)
	{
	if(parseFloat(Control.options[i].value) == parseFloat(Value))
		{
		Control.selectedIndex = i;
		break;
		}
	}
}

function Repopulate(Control,ItemText,Values,Default) 
{
if(Default=="undefined") Default = "";
var aValues = Values.split("~");
var aText = ItemText.split("~");
while (Control.options.length > 0) 
	{
	Control[0] = null;
	}
if(Default.length) Control[0] = new Option(Default,"0");
if(Values.length > 0) 
	{
	for(i=0; i<aValues.length; i++) 
		{
		Control[Control.length] = new Option(aText[i],aValues[i]);
		}
	}
Control.selectedIndex = 0;
}

function show_help(help_id)	{
	//MM_openBrWindow('/help_popup.php','help','scrollbars=no,resizable=yes,width=550,height=500')
	MM_openBrWindow('/help_and_support.php?id='+help_id,'help','scrollbars=yes,status=no,resizable=yes,width=470,height=300');
}

function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
		// set the check value for all check boxes
		for(var i = 0; i < countCheckBoxes; i++)
			objCheckBoxes[i].checked = CheckValue;
}

function getFlashMovieObject(movieName)
{
 	if (window.document[movieName]) 
  		{
    		return window.document[movieName];
  		}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)
 		{
    		if (document.embeds && document.embeds[movieName])
      			return document.embeds[movieName]; 
  		}
  	else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  		{
    		return document.getElementById(movieName);
  		}
}

function FlashGetCookie(movieName,cookieName)
	{
	flashObj = getFlashMovieObject(movieName);
	var cookieValue=getCookie(cookieName);
	if (cookieValue==" ")cookieValue="";
	flashObj.SetVariable("_root."+cookieName, cookieValue);
	}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function sendMessage(userID, userGender) {
	if (MID == userID) {
		alert('You cannot send a message to yourself!');
	}
	else if (userGender != GENDER) {
		MM_openBrWindow('/message_popup.php?to='+userID, 'NewMessage', 'status=yes,scrollbars=yes,resizable=yes,width=550,height=500');
	}
	else {
		alert('You cannot send a message to a user of the same sex as yourself.');
	}
}

function addToContacts(userID) {
	if (MID == userID) {
		alert('You cannot add yourself to your contacts!');
	}
	else {
		window.location = '/my_contacts.php?ADD=1&ID='+userID;
	}
}

function reportUser(userID, Username) {
	if (userID == MID) {
		alert('You cannot report yourself!');
	}
	else if (confirm('This message will NOT be sent to \''+Username+'\'.\n\nIt is sent to the Single Muslim administration team for investigation.\nIncorrect use of this feature may result in your account being suspended.\n\nAre you sure you want to report this user?')) {
		MM_openBrWindow('/report_popup.php?RID='+userID, 'ReportUser', 'status=yes,scrollbars=yes,resizable=yes,width=550,height=575');
	}
}

function sendToFriend(username) {
	if (!LOGGEDIN) {
		alert('Please log in or register to send this profile to a friend!');
	}
	else {
		MM_openBrWindow('/popup-send_to_friend.php?username='+username, 'SendToFriend', 'status=yes,scrollbars=yes,resizable=yes,width=550,height=350');
	}
}
var clickmessage="Right click disabled on images!"

function disableclick(e)
	{
	if (document.all)
		{
		if (event.button==2||event.button==3)
			{
			if (event.srcElement.tagName=="IMG" && event.srcElement.getAttribute('disable') == "disable")
				{
				alert(clickmessage);
				return false;
				}
			}
		}
	else if (document.layers)
		{
		if (e.which == 3)
			{
			alert(clickmessage);
			return false;
			}
		}
	else if (document.getElementById)
		{
		if (e.which==3&&e.target.tagName=="IMG" && e.target.getAttribute('disable') == "disable")
			{
			e.preventDefault();
			alert(clickmessage)
			return false
			}
		}
	}

function associateimages()
	{
	for(i=0;i<document.images.length;i++)
	document.images[i].onmousedown=disableclick;
	}

document.oncontextmenu = disableclick;
if (document.all)document.onmousedown=disableclick
associateimages()
/*
**************************************
* Preloader Class v1.0               *
* Autor: Carlos R. L. Rodrigues      *
**************************************
*/
Preloader = function(){
	var o = this;
	o.img = [];	o.r = []; o.g = [];
	o.n = {}; o.total = o.loaded = 0;
};
Preloader.prototype.add = function(i, g){
	var o = this, n = (o.g[o.total] = [g || "general"])[0];
	(g = o.n)[n] >= 0 ? ++g[n] : g[n] = 1;
	o.img[o.total++] = i;
};
Preloader.prototype.load = function(){
	var o = this, p = o.img, l = p.length, a, g = o.g;
	while(l--){
		(g[l][1] = a = new Image()).src = p[a.i = l];
		a.onload = function(){
			if(o.r[this.i]) return;
			!--o.n[g[this.i][(o.r[this.i] = 1) - 1]] && o.onGroupComplete && o.onGroupComplete(g[this.i][0]);
			o.onImageComplete && o.onImageComplete(this);
			(++o.loaded == o.total) && o.onComplete && o.onComplete();
		};
		(a.fileSize !== undefined ? a.fileSize > -1 : a.width) && a.onload();
		a.onerror = function(){
			o.onImageError && o.onImageError(this);
		}
	}
};
Preloader.prototype.getImagesByGroup = function(n){
	var g = this.g, i = [], p = 0, n = n || "general";
	for(var j = g.length; j; g[--j][0] == n && (i[p++] = g[j][1]));
	return i;
};