// clear default field values on focus
DD.clearDefaultFieldValue = function(obj, defVal){
  if ( $F(obj)==defVal )
    $(obj).value = "";
	$(obj).setStyle({color:'#000'});
}
DD.clearPwdFieldValue = function(obj, defVal){
	if ( $F(obj)==defVal ){
		obj.type = "password";
		DD.clearDefaultFieldValue(obj, defVal)
	}
}


// reset default field value on blur (if nothing entered)
DD.setDefaultFieldValue = function(obj, defVal){
  if ( $F(obj)=="" ){
    $(obj).value = defVal;
		$(obj).setStyle({color:'#aaa'});
	}
}
DD.setPwdFieldValue = function(obj, defVal){
	if ( $F(obj)=="" ){
		obj.type = "text";
		DD.setDefaultFieldValue(obj, defVal)
	}
}

// Ajax Paging
function gocomment_async(ev, obj, qs){
	var evt = (ev) ? ev : ((event) ? event : null);
	if (evt && evt.keyCode==13) GetData(qs + "&page=" + obj.value);
}
function gopage_async(ev, obj, qs){
	var evt = (ev) ? ev : ((event) ? event : null);
	if (evt && evt.keyCode==13) fillrelated(qs + "&page=" + obj.value);
}

var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);

/* fill column script
 *
 * guarantees equall hight columns.
 * init : function that is called at load event to initialize the fillerbox
 * update : updates position and size of fillerbox
 */
var fc = {
	initialized:false,

	init: function(){
		//do not display filler in IE6
		if(DD.Browser.isIE6) { return; }
		if(fc.initialized) return false;
		fc.bdy = $$("body")[0];
		
    if ( fc.bdy.select("div.dv_left_narrow").length > 0 && fc.bdy.select("div.dv_right_wide").length > 0 ){
			fc.col_left = $$("div.dv_left_narrow")[0];
			fc.col_right = $$("div.dv_right_wide")[0];
		} else if ( fc.bdy.select("div.dv_left_wide").length > 0 && fc.bdy.select("div.dv_right_narrow").length > 0 ) {
			fc.col_left = $$("div.dv_left_wide")[0];
			fc.col_right = $$("div.dv_right_narrow")[0];
		}
		if(fc.col_left == null) {
			setTimeout(fc.init,500);
			return;
		}
		var fillerContent = "<div class=\"dv_column_filler\" id=\"dv_column_filler\"><div class=\"boxtop\"><div class=\"extra_bg\"></div></div><div class=\"box\"><div class=\"extra_bg\"></div></div><div class=\"boxbottom\"><div class=\"extra_bg\"></div></div></div>";
		fc.bdy.insert({bottom:fillerContent});
		fc.filler = $('dv_column_filler');
		fc.fillerBox = fc.filler.getElementsBySelector('.box')[0];
		fc.initialized = true;
		fc.update();
    return false;
	},
	update : function(){
		if(!fc.initialized) return false;
		fc.bdy.appendChild(fc.filler);
		var left_height = fc.col_left.getHeight();
		var right_height = fc.col_right.getHeight();
		var diff = (Math.abs(left_height - right_height)-20)	
		if ( diff < 5 )	{fc.filler.hide();return;}

		if ( left_height < right_height ) {
			fc.col_left.appendChild(fc.filler);
		} else {
			fc.col_right.appendChild(fc.filler);
		}
		fc.fillerBox.setStyle({height:diff+'px'}).show();
	}
}

// handles pagination input box
DD.paging = {
	init: function(){
		$$('div.paging:not(.postingpaging) .input').each(function(input){
			if($(input).next('span')){
		    var max_page = parseInt($(input).next('span').firstChild.nodeValue.replace(/[\D]*/,''));
				var anker = $(input.parentNode).getElementsBySelector('a')
				if (anker.length){
			    var url = $(input.parentNode).getElementsBySelector('a')[0].href.replace(/\d*$/,'');
			    Event.observe(input,'keyup',function(e){
			        if(this.value.match(/\D/)){
									this.value = this.value.replace(/[\D]+/,'');
			            e.stop();
			            return false;
			        };
			    });
			    Event.observe(input.parentNode,'submit',function(e){
							var page = parseInt(this.getElementsByTagName('input')[0].value.replace(/[\D]+/,''));
							page = (page>max_page)? max_page : page;
							document.location.href= url+page;
			        e.stop();
			        return false;
			    },false);
				} else {
			    Event.observe(input.parentNode,'submit',function(e){
			        e.stop();
			        return false;
			    },false);				
				}
			}
		});
	}
};

DD.findPosX = function(obj){
		var curleft = 0;
		if (obj.offsetParent){while (obj.offsetParent){curleft += obj.offsetLeft;obj = obj.offsetParent;};}else if (obj.x){curleft += obj.x;}
		return curleft;
	};
DD.findPosY = function(obj){
	var curtop = 0;
	if (obj.offsetParent){while (obj.offsetParent){curtop += obj.offsetTop;obj = obj.offsetParent;};}else if (obj.y){curtop += obj.y;}
	return curtop;
};
	
//BUTTONS
// DD.button.[type](text, link, click);
(function(DD){
	DD.button = {
		standard : function(text, link, click) {
			return inject_texts('<a href="[HREF]" class="button"><span class="left">&nbsp;</span><span class="middle">[TEXT]</span><span class="right">&nbsp;</span></a>',text, link, click);
		}
	}
	function inject_texts(template, text, link, click) {
		if(typeof(click) != 'undefined') { template = template.replace('[HREF]"','[HREF]" onclick="'+click+'"');}
		return template.replace('[TEXT]',text).replace('[HREF]',link);
	}
})(DD);
//BUTTONS END

//PAGE TYPE && PAGE ID
// returns the current page type for commenting system 
(function(DD){
	DD.pageType = function(){
		if(currentPageType != null){ 
			return currentPageType;}
		if(document.location.href.match(/\/gallery\//)){
			currentPageType = 'G';
			return currentPageType;
		}
		var type = document.location.search;
		switch(true) {
			case (type.search(/go=news/) >=0) : 
			case (type.search(/go=about/) >=0) : 
				currentPageType = 'A';
				break;
			case (type.search(/go=blogs/) >=0) : 
				currentPageType = 'B';
				break;
			case (type.search(/go=photos/) >=0) : 
				currentPageType = 'G';
				break;
			case (type.search(/go=prayers/) >=0) : 
				currentPageType = 'P';
				break;
			default:
				currentPageType = (document.location.pathname.search(/profile/)>=0)? 'A' : '';
				break;
		}
		return currentPageType;
	};
	var currentPageType = null;
	
	DD.pageId = function(){
		if(currentPageId != null){ 
			return currentPageId;}
		switch(DD.pageType()){
			case 'G':
				var id = document.location.search.match(/[^a-zA-Z]id=([0-9]+)/);
				if(id != null) { currentPageId = id[1] }
				else {currentPageId = parseInt(document.location.href.split('/').pop())}
			case 'B':
			case 'P':
				var id = document.location.search.match(/[^a-zA-Z]id=([0-9]+)/);
				if(id != null) { currentPageId = id[1] };
				break;
			default:
				currentPageId = document.location.pathname.match(/[0-9]+$/)[0];
				break;		
		}
		return currentPageId;
	};
	
	DD.setPageId = function(id){
		currentPageId = id;
	};
	var currentPageId = null;
})(DD);
//PAGE TYPE  END

/*RATE COMMENT
 * v: ???
 * id: comment_id
 * type: standard ratecomment, can be rateforum
 */
if(typeof(docorat)=='undefined'){
docorat = function (v,id,type) {
    if(typeof(type) == 'undefined') { type = 'ratecomment'; }
    new Ajax.Request(
        "/getdata.php"
        , {
              method:"post"
            , parameters:"cat=" + type + "&id="+id+"&v="+v
            , contentType: "application/x-www-form-urlencoded"
            , onComplete:function(originalRequest){
                var nn=1*originalRequest.responseText;
								var sign = '';
                if (nn<0)  {rcol="#AF0040";}
                if (nn==0) {rcol="#808080";}
                if (nn>0)  {rcol="#40AF00";sign = '+'; }

                $("ratcox"+id).setStyle({ color: rcol, fontWeight:'bold' }).update("<span>(" + sign + nn + ")</span>");
            }
        }
    );
}
}

//Display reply field
if(typeof(FillRe)=='undefined'){
FillRe = function(nr,page) {
  $("rel"+nr).innerHTML="";
	$("re"+nr).innerHTML="<form name=\"poform\" class='reply'><div id=\"err\"></div><div><textarea id=\"re"+nr+"m\" name=\"message\" rows=\"7\"></textarea><br /><br /><span class=\"fr\">"+
		DD.button.standard(
			DD.texts.profile[145],
			'#',
			'DoPost(\'re'+nr+'\','+page+','+nr+'); return false;')+
		"</span><span class=\"fr\" style=\"padding-right:10px;\"><select size=\"1\" id=\"re"+nr+"l\" name=\"re"+nr+"l\">" +
		DD.texts.misc.language_options + "</select></span><br class=\"clr\" /></div></form>";
	fc.update();
	DD.ie6.isCurrentBrowser && DD.ie6.buttonFix();
}
}

// sends comment to server
if(typeof(DoPost)=='undefined'){
DoPost = function (fname,page,par){	
    new Ajax.Request(
        "/dopost.php"
        , {
              method:"post"
            , evalScripts:true
            , parameters:"id=" + DD.pageType() + DD.pageId() +"&langcop="+$F(fname+"l")+"&message="+encodeURIComponent($F(fname+"m"))+"&parent="+par
            , contentType: "application/x-www-form-urlencoded"
            , onComplete:function(originalRequest){
                switch(originalRequest.responseText) {
                    case "x1": 
                    case "x2": 
                    case "x3": 
											$("err").innerHTML="<span style=\"color:#FF0000; font-weight:bold;\">" + DD.texts.profile[146] + "</span><br>&nbsp;<br />";
											return false;
											break;
                    default: 
											GetData("id=" + DD.pageType() + DD.pageId() +"&page="+page);
											break;
                }
            }
        }
    );
}
}
/*	ALBUMEDIT
 *
 * Functions to create, edit albums
 */
(function(DD){
	DD.albumedit = {
		dosel : function() {	
			$$('#to option').each(function(el){ el.selected = true;});
		},
		doleft : function() {
			var to = $('to');
			var to_length = to.getElementsBySelector('option').length;
			$$('#from option').each(function(el){
				if(el.selected){
					to.appendChild(el);
					el.update((++to_length)+ '. ' + el.innerHTML).selected = false;
				}
			});
		},
		doright : function () {
			var from = $('from');
			$$('#to option').each(function(el){
				if(el.selected){
					from.appendChild(el);
					el.update(el.innerHTML.replace(/^[0-9]+\. /,'')).selected = false;
				}
			});
			updateToList();
		},
		doup : function () {
			var to = $('to');
			$$('#to option').each(function(el){
				if(el.selected){
					if(el.previousSibling != null){
						if(!el.previousSibling.selected){
							to.insertBefore(el, el.previousSibling);
						}
					}
				}
			});
			updateToList();
		},
		dodown : function () {
			var to = $('to');
			$$('#to option').reverse().each(function(el){
				if(el.selected){
					if(el.nextSibling != null){
						if(!el.nextSibling.selected){
							if(el.nextSibling.nextSibling == null){
								to.appendChild(el);
							} else {
								to.insertBefore(el, el.nextSibling.nextSibling);
							}
						}
					}
				}
			});
			updateToList();
		}
	}
	function updateToList(){
		$$('#to option').each(function(el, i){
			el.update(el.innerHTML.replace(/^[0-9]+\. /,(i+1) + '. '));
		});
	}
})(DD);


//IE 6 fixes
DD.ie6 = {
	isCurrentBrowser: (false /*@cc_on || @_jscript_version < 5.7 @*/),
	buttonFix : function(){
		$$('div.dv_right_wide a.button, div.dv_right_narrow a.button, div.dv_right_narrow a.button').each(function(el){
			el.observe('mouseover',function(){
					this.setStyle({backgroundPosition:'0 24px'});
				}).observe('mouseout',function(){
					this.setStyle({backgroundPosition:'0 0'});
				});
		});
	},
    generateDropdownIframes : function(){
        var iframe = "<iframe src=\"javascript:window.status='';\" style=\"position:absolute;left:0;top:0;width:300px;height:500px;background-color:#fff;filter:alpha(opacity=0);z-index:-1\" frameborder=\"0\"></iframe>";
        $$("div.box_subnav_top").each (function(x){
            x.insert ({bottom:iframe});
        });
        $$("div.leftnav_sub").each (function(x){
            x.insert ({bottom:iframe});
        });
    }


}

if(DD.ie6.isCurrentBrowser){
	Event.observe(window, 'load', function() {
		DD.ie6.buttonFix(); // fixes hover state of buttons
        DD.ie6.generateDropdownIframes(); // generates invisible iframes underneath drop down layers
		$$('#dv_searchterm input')[0].focus(); //set focus for scrolling
	}); 
}

/*fold navigation profile*/
DD.userLeftNav = {
    currentTimer : {},
    mouseover : function(evt){
        var id = this.id;
				DD.userLeftNav.currentItem = id;
        if (DD.userLeftNav.currentTimer[id] != null){clearTimeout(DD.userLeftNav.currentTimer[id]);}
        if ($(id+"_sub")){
//				var parent = this.parentNode.id;
            $(this).addClassName("hover");
            $(id+"_sub").setStyle({top:(9+$(this).offsetTop)+"px",display:"block"});
        }
    },
    mouseout : function(evt){
        (function(id){
            DD.userLeftNav.currentTimer[id] = setTimeout(function(){
                if ($(id+"_sub"))
                    $(id+"_sub").setStyle({display:"none"});
                $(id).removeClassName("hover");
            },50);
        })(this.id);
    },
		mousemove : function(evt){
			if(DD.userLeftNav.currentItem == null){
				this.fire('mouseover');
			}
		},
		currentItem: null
};
DD.userLeftNav_sub = {
    mouseover : function(evt){
        clearTimeout(DD.userLeftNav.currentTimer[this.id.substring(0,this.id.lastIndexOf("_"))]);
    },
    mouseout : function(evt){
        (function(id){
            clearTimeout(DD.userLeftNav.currentTimer[id]);
            DD.userLeftNav.currentTimer[id] = setTimeout(function(){
                if ($(id+"_sub"))
                    $(id+"_sub").setStyle({display:"none"});
                $(id).removeClassName("hover");
            },50);
        })(this.id.substring(0,this.id.lastIndexOf("_")));
    }
}


//COMMON DOM:LOADED EVENTS

if( $$("#box_my_xtv_leftnavi").length == 1 ) {
		$("box_my_xtv_leftnavi").select("a").each (function(x){
				if ( $$("#"+x.id+"_sub").length == 1) {
						Event.observe( x, 'mouseover', (DD.userLeftNav.mouseover).bindAsEventListener(x) );
						Event.observe( x, 'mousemove', (DD.userLeftNav.mousemove).bindAsEventListener(x) );
						Event.observe( x, 'mouseout',  (DD.userLeftNav.mouseout).bindAsEventListener(x) );
				}
		});
		$$("div.leftnav_sub").each (function(x){
				Event.observe( x, 'mouseover', (DD.userLeftNav_sub.mouseover).bindAsEventListener(x) );
				Event.observe( x, 'mouseout',  (DD.userLeftNav_sub.mouseout).bindAsEventListener(x) );
		});
}

Event.observe(window,"load", function() {
	DD.paging.init();
	setTimeout(fc.init,100);
});

//HEARTBEAT
// sends ping to server to  set online status
DD.heartbeat = function()
{ 
	//DD.currentUserId is set when page is loaded, if cannot be outside of function !!!!
	if(DD.currentUserId != null) {
		new Ajax.Request("../heartbeat.php", {
			method: 'post',
			parameters: 'id='+DD.currentUserId,
			onSuccess: function() { }});
	}
}  
setInterval(DD.heartbeat,45000);


// ACCOUNT INFORMATION FILL IN FUNCTIONS

//REFACTOR
if(typeof(explodeArray)=='undefined'){
function explodeArray(item,delimiter) {
  tempArray=new Array(1);
  var Count=0;
  var tempString=new String(item);

  while (tempString.indexOf(delimiter)>0) {
    tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
    tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1); 
    Count=Count+1
  }

  tempArray[Count]=tempString;
  return tempArray;
}
}
//REFACTOR
if(typeof(fillcity)=='undefined'){
function fillcity(r1)
{	
	servername= top.location.host;
	var xmlHttp1=CreateXMLhttp();
	t=document.getElementById("city");
	t.length=0;
	t.options[t.length]=new Option(DD.texts.profile[25],"");				
	t.disabled=true;
		
	xmlHttp1.onreadystatechange=function()
	{	if(xmlHttp1.readyState==4)
		{	t.length=0;
			cits=explodeArray(xmlHttp1.responseText,"&")
			t.options[t.length]=new Option(DD.texts.profile[419],0);
			for(i=0;i<(cits.length/2);i++)
			{	t.options[t.length]=new Option((cits[i*2+1]),(cits[i*2]));
				if (r1==(cits[i*2])) { t.selectedIndex=i; }								
			}			
			document.getElementById("city").disabled=false;
		}
	}
  
	xmlHttp1.open("POST", "http://"+servername+"/getdata.php", true);
	xmlHttp1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp1.send("cat=cities&cc="+document.getElementById("country").options[document.getElementById("country").selectedIndex].value+"&rc="+document.getElementById("region").options[document.getElementById("region").selectedIndex].value);	
}
}
//REFACTOR
if(typeof(fillregion)=='undefined'){
function fillregion(r,ci)
{	
	servername= top.location.host;
	var xmlHttp=CreateXMLhttp();
	t=document.getElementById("region");
	t.disabled=true;
	t.length=0;
	t.options[t.length]=new Option(DD.texts.profile[25],0);				
	document.getElementById("city").disabled=true;
	document.getElementById("city").length=0;
	document.getElementById("city").options[t.length]=new Option(DD.texts.profile[25],0);				
	
	xmlHttp.onreadystatechange=function()
	{	if(xmlHttp.readyState==4)
		{	t.length=0;
			regs=explodeArray(xmlHttp.responseText,"&")
			for(i=0;i<(regs.length/2);i++)
			{	t.options[t.length]=new Option((regs[i*2+1]),(regs[i*2]));
				if (r==(regs[i*2])) { t.selectedIndex=i; }
			}
			fillcity(ci);
			document.getElementById("region").disabled=false;			
		}
	}

	xmlHttp.open("POST", "http://"+servername+"/getdata.php", true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.send("cat=regions&cc="+document.getElementById("country").options[document.getElementById("country").selectedIndex].value);	
}
}

//interactions on  startpage
(function(DD){
	DD.dropdown = function(targetselector, entries, active, callback){
		var target = $$(targetselector);
		target.invoke('observe','mouseover', function(el){this.getElementsBySelector('ul.dropdown')[0].setStyle({display:'block'})});
		target.invoke('observe','mouseout', function(el){this.getElementsBySelector('ul.dropdown')[0].setStyle({display:'none'})});
		target.invoke('insert', entries_to_list(entries, active));
		var lis = $$(targetselector+' ul.dropdown li:not(.first):not(.last) a');
		lis.invoke('observe','click',function(el){
			$(this.parentNode.parentNode).setStyle({display:'none'}).getElementsBySelector('.purple')[0].removeClassName('purple');
			$(this).addClassName('purple')
			callback(this.parentNode.value);});
	}
	
	function entries_to_list(entries, active){
		var list = ['<ul class="dropdown"><li class="first"></li>'];
		for (entry in entries){
			var classes = [];
			list.push('<li value="'+ entry +'"><a '+((active==entry)?'class="purple" ':'')+'>' + entries[entry] + '</a></li>');}
		return list.join('') + '<li class="last"></li></ul>';
	}
	
	function setWorldmapTo(imgId){
		$$('#dv_worldmap_teaser .map a')[0].href='/community/peoplesearch?a'+imgId+'='+imgId+'&name=&sex=0&country=&skillb=';
		$$('#dv_worldmap_teaser .map img')[0].src='/pix/startpage_map'+imgId+'.jpg';	
	}
	
	Event.observe(window,"load", function() {
		if($('dv_worldmap_teaser')){
			DD.dropdown('#dv_worldmap_teaser h2 span', DD.maptexts.entries, DD.maptexts.active, function(id){
				switch(id){
					case 18: setWorldmapTo(1); break;
					case 19: setWorldmapTo(2); break;
					case 20: setWorldmapTo(3); break;
					case 21: setWorldmapTo(4); break;
					case 22: setWorldmapTo(5); break;
				}
				$$('#dv_worldmap_teaser h2 span')[0].firstChild.nodeValue=DD.maptexts.entries[id];
			});
		}
	});

})(DD);

//editable elements

//URL edit
(function(DD){
	DD.editable_url = {
		/* initialize editable | set click event to element
		 *	id: element id
		 * maxlength: maxlength of text
		 * editcallback: function after edit submit
		 * callback: callback function after update
		 * canclecallback: callback function after cancle
		 */
		init: function(id, maxlength, editcallback, callback, canclecallback){
			$(id).observe('click', function(){
				if($('editboxurl')) {return;}
				this.insert({after:'<div id="editboxurl"><div class="fl"><input type="text" name="editareaurl" id="editareaurl" value="'+(this.hasClassName('empty_inline_edit')? '' : this.innerHTML )+'" maxlength="'+maxlength+'" /></div><div id="edit_url_div" class="fl ml5">'
					+ DD.button.standard('Change', '#', 'return false;') + '<div class="fr">' 
					+ DD.button.standard('Cancel', '#', '$(\'editboxurl\').remove();$(\''+id+'\').show();') 
					+ '&nbsp;</div></div>'});
				this.hide();
				$('urldiv').addClassName('urledit');				
				$$('#editboxurl a.button')[0].observe('click',function(){DD.editable_url.update(id, callback, canclecallback)});
				$$('#editboxurl a.button')[1].observe('click',function(){canclecallback()});
				$$('#editboxurl input')[0].focus();
				editcallback();
			});
		},
		/* function to update element after submit
		 *  id: element id
		 *  callback: callback to update db
		 *   canclecallback: reset ui state before edit
		 */
		update: function(id, callback, canclecallback){
			var element = $(id)
			var value = $F('editareaurl');
			if(value == element.innerHTML) {
				$('editboxurl').remove();
				canclecallback();
				element.show();
				return;}
			if(!confirm(DD.texts.profile[737])){
				$('editboxurl').remove();
				canclecallback();
				element.show();
				return;
			}
			callback(value, function(resp){
				if(resp == 'ERR: could not update motto'){
					alert("There was an internal error.\nPlease try again later.");
					element.show();
					$('editboxurl').remove();
				}else if(resp == DD.texts.profile[423]){
					alert(resp);
					element.show();
					$('editboxurl').remove();
				}else if(resp == DD.texts.profile[736]){
					alert(resp);
					element.show();
					$('editboxurl').remove();
				}else if(resp == DD.texts.profile[735]){
					alert(resp);
					element.show();
					$('editboxurl').remove();
				}else {
					if(resp===''){
						element.update(resp).addClassName('empty_inline_edit');
					} else {
						element.update(resp).removeClassName('empty_inline_edit');
					}
					$('urllink').href='/'+resp;
					element.title=resp;
					element.show();
					$('editboxurl').remove();
				}
			});
			$('urldiv').removeClassName('urledit');
		}
	}
	Event.observe(window, "load", function() {
		if($$('#url.inline_editable').length){
			DD.editable_url.init('url', 100,  
				function(){
					$$('p.info').invoke('hide');
				},
				function(value, callback){
					new Ajax.Request(
						"/include/profile/misc/post_new_url.php",
						{
							method:"post",
							parameters:"newurl=" + value,
							contentType: "application/x-www-form-urlencoded",
							evalScripts:true,
							onComplete: function(resp){
								callback(resp.responseText)
								$$('p.info').invoke('show');
							}
						}
					);
				},
				function(){
					$('urldiv').removeClassName('urledit');
					$$('p.info').invoke('show');	
				}
			);
		}
	});

})(DD);


(function(DD){
	DD.editable = {
		/* initialize editable | set click event to element
		 *	id: element id
		 * maxlength: maxlength of text
		 * editcallback: function after edit submit
		 * callback: callback function after update
		 * canclecallback: callback function after cancle
		 */
		init: function(id, maxlength, editcallback, callback, canclecallback){
			$(id).observe('click', function(){
				if($('editbox')) {return;}
				this.insert({after:'<div id="editbox"><p><textarea name="editarea" id="editarea" onkeyup="textCounter(this,'+maxlength+')" onkeydown="textCounter(this,'+maxlength+')" onfocus="textCounter(this,'+maxlength+')" id="editarea" rows="'+((DD.Browser.isIE)?2:1)+'" maxlength="'+maxlength+'" class="editlarge">'+ (this.hasClassName('empty_inline_edit')? '' : this.innerHTML ) + '</textarea></p><p class="cancel button_motto">'
					+	DD.button.standard('Cancel', '#', '$(\'editbox\').remove();$(\''+id+'\').show();') + '</p><p class="change button_motto">' 
					+ DD.button.standard('Change', '#', 'return false;') 
					+ '&nbsp;</p></div>'});
				this.hide();
				$$('#editbox a.button')[0].observe('click',function(){canclecallback()});
				$$('#editbox a.button')[1].observe('click',function(){DD.editable.update(id,maxlength, callback, canclecallback)});
				$$('#editbox textarea')[0].focus();
				textCounter(document.getElementById("editarea"),maxlength);
				editcallback();
			});
		},
		/* function to update element after submit
		 *  id: element id
		 *  callback: callback to update db
		 *   canclecallback: reset ui state before edit
		 */
		update: function(id,maxlength, callback, canclecallback){
			var element = $(id)
			var value = $F('editarea');
			if(value == element.innerHTML) {
				$('editbox').remove();
				canclecallback();
				element.show();
				return;}
			if(value.length > maxlength){
				alert("You can only enter up to "+maxlength+" characters.");
				$('editbox').remove();
				canclecallback();
				element.show();
				return;
			}
			callback(value, function(resp){
				if(resp == 'ERR: could not update motto'){
					alert("There was an internal error.\nPlease try again later.");
					element.show();
					$('editbox').remove();
				} else {
					if(resp===''){
						element.update(DD.texts.profile[623]).addClassName('empty_inline_edit');
					} else {
						element.update(resp).removeClassName('empty_inline_edit');
					}
					element.show();
					$('editbox').remove();
				}
			});
		}
	}
	Event.observe(window, "load", function() {
		if($$('#motto.inline_editable').length){
			DD.editable.init('motto', 255,  
				function(){
					$$('p.info').invoke('hide');
				},
				function(value, callback){
					new Ajax.Request(
						"/include/profile/misc/post_new_motto.php",
						{
							method:"post",
							parameters:"newmotto=" + value,
							contentType: "application/x-www-form-urlencoded",
							evalScripts:true,
							onComplete: function(resp){
								callback(resp.responseText)
								$$('p.info').invoke('show');
								try {							
									DD.cw.getActivitiesPage('id='+DD.cw.id+'&cw_page=');
								} catch(err) {}	
								statusForms(resp.responseText);
							}
						}
					);
				},
				function(){
					$$('p.info').invoke('show');	
				}
			);
		}
	});
})(DD);

//Function to check the length of the value entered in the status box.
function textCounter(field,maxlimit) {
	var charcnt = field.value.length;        

	// trim the extra text
	if (charcnt > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
		alert("You can enter only up to "+maxlimit+" characters");
	}
}


//fill related videos and audios
function fillrelated(str) {
		new Ajax.Updater(
					"related"
				, "/xhr/getrelated1.php"
				, {
							method:"post"
						, parameters:str
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}
//fill related videos in channel
function fillrelated_channelvideos(str) {
		new Ajax.Updater(
					"related"
				, "/xhr/get_related_in_channel.php"
				, {
							method:"post"
						, parameters:str
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}

//fill live channel related material
function fillupcominglive(id, page, cid){
		new Ajax.Updater(
					"upcominglive"
				, "/xhr/get_upcoming_live.php"
				, {
							method:"get"
						, parameters:{id:id,page:page,cid:cid}
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}

//fill live channel related material
function fillrandomlivechannels(id){
		new Ajax.Updater(
					"randomchannels"
				, "/xhr/get_random_live_channels.php"
				, {
							method:"post"
						, parameters:id
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}

//fill 247 channel related material
function fillrandom247channels(id){
		new Ajax.Updater(
					"randomchannels"
				, "/xhr/get_random_247_channels.php"
				, {
							method:"post"
						, parameters:id
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}

//fill 247 channel related material
function fillchannelprogram(id, offset,date){
		new Ajax.Updater(
					"channel_program"
				, "/xhr/get_247_channel_program.php"
				, {
							method:"get"
						, parameters:{id:id, offset:offset, date:date}
						, contentType: "application/x-www-form-urlencoded"
						, onComplete:function(){
								window.setTimeout(fc.update, 200);
						}
				}
		);
}

//toggle live event description
DD.toggleEventDescription = function (elem){
	$(elem).toggleClassName('show_description');
	fc.update();
};

// INFO2 JS ??????????????????????
if(document.getElementById("dek")){
	Xoffset=-280;    // modify these values to ...
	Yoffset=-40;    // change the popup position.
	activate=0;
	mactivate=0;
	var old,skn,iex=(document.all),yyy=-1000,openpic="",fff=0.85,lastclick=0;

	var ns4=document.layers
	var ns6=document.getElementById&&!document.all
	var ie4=document.all

	if (ns4)
	skn=document.dek
	else if (ns6)
	skn=document.getElementById("dek").style
	else if (ie4)
	skn=document.all.dek.style
	if(ns4)document.captureEvents(Event.MOUSEMOVE);
	else{
	skn.visibility="visible"
	skn.display="none"
	}
	document.onmousemove=get_mouse;
	document.onclick=pkill;
}

function popup(msg,w,x,y){
fff=0.85;
Xoffset=x; Yoffset=y;
var content="<div style=\"position:absolute;z-index:2000;padding:5px;background-color:#fff;opacity:0.85;-moz-opacity:0.85;filter:alpha(opacity=85);border:solid 2px #8B00CC;width:"+w+"px;\">"+msg+"</div>";

yyy=Yoffset;
if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
if(ie4){document.all("dek").innerHTML=content;skn.display=''}

}


function popupp(msg,w,x,y){
	fff=0.3;
	setTimeout("lastclick=1;",50);
	if (openpic==msg) { kill(); }
	else {
		Xoffset=x; 
		Yoffset=y;
		var content="<table cellpadding=0 cellspacing=0 bgcolor=#EEEEEE style='border:solid 1px #000000; background:#EEEEEE;'><tr><td align=center><img src='"+msg+"'></td></tr></table>";
		yyy=Yoffset;
				
		if(ns4){
			skn.document.write(content);skn.document.close();
			skn.visibility="visible";
		}
		if(ns6){
			document.getElementById("dek").innerHTML=content;
			skn.display='';
		}
		if(ie4){document.all("dek").innerHTML=content;skn.display=''}
	}

	openpic=msg;
	//setTimeout("openpic='"+msg+"';",100);
}


function get_mouse(e){
/*
    var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
	var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
*/

    var x=(ie4) ? window.event.clientX : e.pageX;
	var y=(ie4) ? window.event.clientY : e.pageY;
    if (skn) {
		$('dek').setStyle({left:(x+5)+'px',top:y+20+'px' });
		//$('dek').setStyle({ left:Math.round(x*fff)+Xoffset + 'px',top:y+yyy + 'px' });
		//skn.left=Math.round(x*fff)+Xoffset;
		//skn.top=y+yyy;
	}
}

function pkill(e)
{ lastclick=0;
	setTimeout("pkill1()",100);
}

function pkill1()
{ 
	if (openpic!="" && lastclick==0) { openpic=""; kill(); }
}


function kill(){
yyy=-1000;
openpic="";
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
skn.display="none"
}


/* fill data */ 


/**** RESET BACKGROUND DUE TO MAC PERFORMANCE ****/
var urlt = window.location;
var patt=/inxps/g;
var resultt=patt.test(urlt);

if(resultt==false){
	DD.resetBG = function(){
		$(document.body).setStyle({background:'none'});
	}
}
Event.observe(window,'load', function(){
	var ns6 = (document.getElementById && !document.all)?true:false;
	var firefox = (ns6 && navigator.userAgent.toLowerCase().indexOf("firefox") > -1) ? true : false;
	if(firefox){
		var ff3 = (function x(){})[-5]=='x'
		if(ff3) {
			setTimeout(DD.resetBG,1500);
		}
	} else {
		setTimeout(DD.resetBG,1500);
	}
});

DD.timezone = new Object();
				DD.timezone.set = function(callObj){
					if(callObj.options[callObj.selectedIndex].value){
						var vValuesArr=callObj.options[callObj.selectedIndex].value.toString().split('|');
						var vInput1 = document.createElement("INPUT");
							vInput1.name="timezonemodel[name]";
							vInput1.value=vValuesArr[0];
							vInput1.type='hidden';
							callObj.form.appendChild(vInput1);
						var vInput2 = document.createElement("INPUT");
							vInput2.name="timezonemodel[offset]";
							vInput2.type='hidden';
							vInput2.value=vValuesArr[1];
							callObj.form.appendChild(vInput2);
						callObj.form.submit();
					}
				}

/*function to display the confirmation box on edit profile	*/
function confirm_submit(text){
	input_box=confirm(text);

	if (input_box==true) { 
	    return true;
	}else{
	    return false;
	}
}		

function form_onsubmit(){
	document.forms['updateform'].submit();
}

function submit_function(text)
{
	var res=confirm_submit(text);
	if(res==true){
		form_onsubmit();
	}
}

//function to show the preview of media in blog/forum/page entry 
function mediaPreview(media_id,type,i) {
	var par_type = document.getElementById('ptypea'+i).value;
	document.getElementById("preview"+i).style.display = "block";
	document.getElementById('iframe_pre'+i).style.display = "none";
	var url = "/include/profile/editor/doPreview.php";
	new Ajax.Updater(
			"preview"+i
		, url
		, {
				method:"post"
				, parameters:"media_id="+document.getElementById(media_id).value+"&media_type="+type+"&para_type="+par_type+'&i='+i
				, contentType: "application/x-www-form-urlencoded"
				,evalScripts : true
				, onComplete:function() {
		
				}	
		}
	);
	
} 


//^^^^^this is an excellent javascript code up there!!! i like it. reminds me of the good old days...
// do you know we got prototype???

if($('embed')){
	var embed_code_shown = false;
	$('embed_code').setStyle({position:'static',display:'none'});
	$('embed').observe('click',function(){
		embed_code_shown? $('embed_code').setStyle({position:'static',display:'block'}) : $('embed_code').setStyle({position:'static',display:'none'});
		embed_code_shown = !embed_code_shown;
		return false;
	});

}
if($('embed_video')){
	var embed_code_video_shown = false;
	$('embed_video').observe('click',function(){
		embed_code_video_shown? $('embed_code_video').setStyle({position:'absolute',left:'-9999px'}) : $('embed_code_video').setStyle({position:'static',left:'auto'});
		embed_code_video_shown = !embed_code_video_shown;
		return false;
	});

}

function check_value(status_id,user_id){
	if (DD.cw.current_page != null){ DD.cw.current_page = 1; }
	new Ajax.Updater(
			"cross_wall"
		, "/xhr/change_details.php"
		, {
					method:"get"
				, parameters:{status_id:status_id, user_id:user_id}
				, contentType: "application/x-www-form-urlencoded"
					
					,onCreate: function(){
					$('ajax_spinner_crosswall').setStyle({visibility:'visible'});
					$('rss_link_img').setStyle({visibility:'hidden'})
					},

onComplete: function(){$('ajax_spinner_crosswall').setStyle({visibility:'hidden'})
						$('rss_link_img').setStyle({visibility:'visible'})
						fc_x_wall.update()
						window.setTimeout(fc.update, 1000);
						}
				
		}
);
	
}


function check_about_value(formvalue,aid,text1,text2,check,lang)
{
	var val="val";
	if (document.getElementById('tit_page').value.search(/^\s*$/) == -1) 
	{ 
		new Ajax.Request("/include/commonlib.inc.php", {
			method:"get"
				, parameters:{check:val,param:formvalue,aid:aid,lang:lang}
				, contentType: "application/x-www-form-urlencoded"
				,onComplete: function(resp){
				var x = resp.responseText;
				test_val = resp.responseText;
					if(x=="true")
					{ 
						document.forms['parform'].submit(); 
					} 
					else{
						alert(text1) ;
						return false;
					}    
				}
		});  
	  }
	else{
		alert(text2);
		return false;
	}
}	

function ScriptDoLoad(ScriptUrl,ScriptPos,params){
	myAjax = new Ajax.Updater(ScriptPos,ScriptUrl, {method: 'get', parameters: params, evalScripts: true });
}

/* Ajax post request */
function scriptDoLoadPost(scriptUrl, scriptForm, scriptPos) {
        scriptArgs = $(scriptForm).serialize();
        myAjax = new Ajax.Updater(scriptPos, scriptUrl, {
                method : 'post',
                parameters : scriptArgs,
                evalScripts : true,
                onLoading: function(request){ showLoadingIcon(ScriptPos,NoLoading); },
                insertion : Insertion.Append
        });
}

function checkTitleDivVal(divVal){
	return divVal.innerHTML;
}

function comingsoon(){
	alert('This product will be available, soon.');return false;

}

DD.setNewRequestCookie = function(){
	setCookie('new_request',1,1);
}

/* function to change window location */
function goToUrl(langChangeUrl){
	window.location = langChangeUrl;
}

/* function to ajax request call */
function ajaxRequest(url) {
	new Ajax.Request(url, {
        method: 'get',
        onSuccess: function(transport) {
            
        }
    });
}

/* function to update group permission */
function updateGroupPermission(groupid, permval){
	var url = "/include/profile/misc/dogroupperms.inc.php?groupid="+ groupid + "&permval=" + permval;
	ajaxRequest(url);
}

/* function to validate bluefin payment form*/
function validateFormOnSubmit(theForm) {
	var reason = "";
	var a = new Array();
		a[0]=document.getElementById("Postal_Card_Number").value;
		a[1]=document.getElementById("Postal_Card_Value").value;
		a[2]=document.getElementById("Postal_Name_First").value;
		a[3]=document.getElementById("Postal_Name_Last").value;
		a[4]=document.getElementById("Postal_Street_Line1").value;
		a[5]=document.getElementById("Postal_City").value;
		a[6]=document.getElementById("Postal_PostalCode").value;
		a[7]=document.getElementById("Online_Email").value;
		
		
		if(a[0]=='' || a[0]==' ' ){
			document.getElementById("Postal_Card_Number_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[45]+'</span>';
		}else{
			document.getElementById("Postal_Card_Number_msg").innerHTML='';
		}
		if(a[1]=='' || a[1]==' ' ){
			document.getElementById("Postal_Card_Value_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[46]+'</span>';
		}else{
			document.getElementById("Postal_Card_Value_msg").innerHTML='';
		}	
		if(a[2]=='' || a[2]==' ' ){
			document.getElementById("Postal_Name_First_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[47]+'</span>';
		}else{
			document.getElementById("Postal_Name_First_msg").innerHTML='';
		}	
		if(a[3]=='' || a[3]==' ' ){
			document.getElementById("Postal_Name_Last_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[48]+'</span>';
		}else{
			document.getElementById("Postal_Name_Last_msg").innerHTML='';
		}	
		if(a[4]=='' || a[4]==' ' ){
			document.getElementById("Postal_Street_Line1_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[49]+'</span>';
		}else{
			document.getElementById("Postal_Street_Line1_msg").innerHTML='';
		}	
		if(a[5]=='' || a[5]==' ' ){
			document.getElementById("Postal_City_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[50]+'</span>';
		}else{
			document.getElementById("Postal_City_msg").innerHTML='';
		}	
		if(a[6]=='' || a[6]==' ' ){
			document.getElementById("Postal_PostalCode_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[51]+'</span>';
		}else{
			document.getElementById("Postal_PostalCode_msg").innerHTML='';
		}	
		if(a[7]=='' || a[7]==' ' ){
			document.getElementById("Online_Email_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[52]+'</span>';
		}else{
			document.getElementById("Online_Email_msg").innerHTML='';
		}	


	  reason += validateEmpty(a);
	  reason += validateCard(document.getElementById("Postal_Card_Number").value);
	  reason += validateCardExpDate();
	  reason += validateCvvCode(document.getElementById("Postal_Card_Value").value);
	  reason += validateFirstName(document.getElementById("Postal_Name_First").value);
	  reason += validateLastName(document.getElementById("Postal_Name_Last").value);
	  reason += validatePhone(document.getElementById("Postal_Phone").value);
	  reason += validateEmail(document.getElementById("Online_Email").value);
	  
	      
	  if (reason != "") {
	    //alert(DD.texts.bluefin_pay[37]+":\n" + reason);
	    return false;
	  }
	  document.forms['bfinp'].submit();

}	
function validateEmpty(aa) {
    var error = "";
    var i;
    if(aa.length>0)
    {
    	for(i=0;i<aa.length;i++)
	    {
	    	var t=aa[i];
	    	if(t == 0)
	    	{
	    		error = DD.texts.bluefin_pay[38]+"\n";
	    	}
	    	else
	    	{
	    	}
	    }
	}
    else
    {
    	error = DD.texts.bluefin_pay[38]+"\n";
    }
    
    return error;  
}

function validateCardExpDate(){
	  var error = "";
	  var datenow = new Date();
      var thism = datenow.getMonth()+1;
      var thisy = datenow.getFullYear();
      var cmonth=document.getElementById("Postal_Card_Expire_Month").value;
      var cyear=document.getElementById("Postal_Card_Expire_Year").value;

      if(cmonth < thism && cyear==thisy){
    	  error = DD.texts.bluefin_pay[42]+ "\n"; 
    	  document.getElementById("Postal_Card_Expire_Year_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[42]+'</span>';
      }else{
			document.getElementById("Postal_Card_Expire_Year_msg").innerHTML='';
      }	  
    	  
      return error;
}


function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (tfld != "") {
	    if (!emailFilter.test(tfld)) {              //test email for illegal characters
	        error =DD.texts.bluefin_pay[39]+"\n";
			document.getElementById("Online_Email_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[39]+'</span>';
	    } else if (tfld.match(illegalChars)) {
	        error =DD.texts.bluefin_pay[40]+"\n";
			document.getElementById("Online_Email_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[40]+'</span>';
	    } else {
	    }
    }
    return error;
}

function validatePhone(fld) {
	var tfld = trim(fld);
	  var error = ""; 
	  var numericExpression = /^[0-9]+[- ]*[0-9]+$/;
	  if (tfld != "") {
		if(!tfld.match(numericExpression)){
			error =DD.texts.bluefin_pay[41]+ "\n";
			document.getElementById("Postal_Phone_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[41]+'</span>';
		}else{
			document.getElementById("Postal_Phone_msg").innerHTML='';
		}
	 }
	  return error;
}
function validateCard(s) {
	
    var error = "";    

   if (s != "") {	   
		function cardval(s) {
			// remove non-numerics
			var v = "0123456789";
			var w = "";
			for (i=0; i < s.length; i++) {
			x = s.charAt(i);
			if (v.indexOf(x,0) != -1)
			w += x;
			}
			// validate number
			j = w.length / 2;
			if (j < 6.5 || j > 8 || j == 7) return false;
			k = Math.floor(j);
			m = Math.ceil(j) - k;
			c = 0;
			for (i=0; i<k; i++) {
			a = w.charAt(i*2+m) * 2;
			c += a > 9 ? Math.floor(a/10 + a%10) : a;
			}
			for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
			return (c%10 == 0); 
		}
		if (!cardval(s)) {
			error =DD.texts.bluefin_pay[43]+"\n ";
			document.getElementById("Postal_Card_Number_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[43]+'</span>';
		}else{
		}   
    }
    return error;

}	
function validateCvvCode(fld) {
	var tfld = trim(fld);
	  var error = ""; 
		var numericExpression = /^[0-9]{3,4}$/;
		if (tfld != "") {
			if(!tfld.match(numericExpression)){
				error =DD.texts.bluefin_pay[44]+"\n ";	
				document.getElementById("Postal_Card_Value_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[44]+'</span>';
			}else{
			}
		}
	  return error;
}


function validateFirstName(fld) {
	  var tfld = trim(fld);
	  var error = "";
		var numericExpression = /^[-A-Za-z' ]*$/;
		if (tfld != "") {
			if(!tfld.match(numericExpression)){
				error =DD.texts.bluefin_pay[47]+"\n ";	
				document.getElementById("Postal_Name_First_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[47]+'</span>';
			}else{
			}
		}
	  return error;
}
function validateLastName(fld) {
	var tfld = trim(fld);
	  var error = ""; 
		var numericExpression = /^[-A-Za-z' ]*$/;
		if (tfld != "") {
			if(!tfld.match(numericExpression)){
				error =DD.texts.bluefin_pay[48]+"\n ";	
				document.getElementById("Postal_Name_Last_msg").innerHTML='<span style="color:#FF0000;">'+DD.texts.bluefin_pay[48]+'</span>';
			}else{
			}
		}
	  return error;
}

function validateemail()
{		
	if(document.getElementById("totalf")){
		var totf=document.getElementById("totalf").value;
		var sum=totf;
	}else{
		var sum=6;
	}	
	
	for(k=0;k<=sum;k++)
	{
		var frmid=document.getElementById("f"+k).value;	
		if(frmid)
		{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(frmid))
		{
			
		}
		else
		{
			var txtmsg=DD.texts.general[73];
			alert(frmid+" "+txtmsg);
			document.getElementById("f"+k).value='';
			return false;
		}
		}
	}
	document.signupform.submit();
	return true;
}

function checkGroupPermission(grp_id,user_id){
	new Ajax.Updater(
			"per_div"
		, "/xhr/get_permissions_for_groups.php?id="+grp_id+"&user_id="+user_id
		, {
					method:"get"
				, parameters:{id:grp_id}
				, evalScripts: true
				, contentType: "application/x-www-form-urlencoded"
				, onComplete:function(){
						window.setTimeout(fc.update, 200);
				}
		}
);

}
function addProduct(input_id, add){
	var qty_el = $(input_id);
	var qty = qty_el.value; 
	if( !isNaN( qty ) && add) qty_el.value++;
	else if( !isNaN( qty ) && qty > 1 && !add) qty_el.value--;
	else if( isNaN( qty )) { alert("Please enter a number");qty_el.value = 1; }
	return false;
}

function buyProduct(qty, msg){
	var qty = trim(qty);
	var wholenum = /^\d[0-9]*$/;
		
	if(!isNaN( qty ) && qty >= 1 && wholenum.test(qty)) {
		// to use after the user login
		DD.stickNum = qty;
		new Ajax.Request('/shopper/prepareProductBuying.php', {
			method : 'POST',
			parameters :  "product_qty="+qty+"&product_type=cross.sticks&pchan_type=5", 
			onSuccess: function(transport) {
				var obj= eval(transport.responseText);			
				if(obj && typeof(obj.Status)!="undefined"){
					if(!obj.Status && obj.Error_Num == "401"){
						alert(obj.Error_Message);
						loginForm();
					}
					else if(!obj.Status){
						alert(obj.Error_Message);					
					} else if(obj.PaymentFormHTML != ""){
						$('crosstv_stick_form_div').innerHTML = obj.PaymentFormHTML;
						document.frmBluefin.submit();
					}
				}
			}
		});	
	} else {
		alert(msg);
	}
}

function alertCookieMsg(msg){
	if(document.getElementById("remember").checked){
		if(!window.navigator.cookieEnabled){
			alert(msg);
		}
	}
}
function validateUpload(msg)
{
	var csvFile = document.getElementById('csv_contacts').value;
	var filename = csvFile.split(".");

	if(csvFile != "" 
		&& (filename[filename.length - 1] == "csv" 
			|| filename[filename.length - 1] == "txt"
			|| filename[filename.length - 1] == csvFile)) {
		document.frmCsvUpload.submit();
	} else {
		alert(msg);
		return false;
	}
}

function validateCsvColumns(msg){
	if(document.frmCSVColumns.email_column.value == ""){
		alert(msg);
		return false;
	}
	$('frmCSVColumns').submit();
}

function proceedToAds(base_url){
	mywindow = window.open (base_url + "?go=ROP");
	window.location.href = base_url + "?go=pro_shop";
}

function showLangList(showArea, imgId,what){
	
	if(document.getElementById(showArea).style.display == 'none' || document.getElementById(showArea).style.display == ''){
		document.getElementById(showArea).style.display = 'block';
		document.getElementById(imgId).src = '../images/content/right_wide/folder_bot.gif';
	}else{
		document.getElementById(showArea).style.display = 'none';
		document.getElementById(imgId).src = '../images/content/right_wide/folder_next.gif';
	}
	fc.update();
}


function toggleVisibMode(elem){
	if(elem.id == "lang_mod")
		$('custom_mode').style.display='';
	else 
		$('custom_mode').style.display='none';
	fc.update();
}

function checkAllOptions( div, elem ){
	var select_all = elem;
	var form_checkboxes = $$('#'+div+' input[type=checkbox]');
	var checked = select_all.checked;
	form_checkboxes.each(function(el){
		if(el != elem) {el.checked = checked; }
	});	
}

function updateTwitter(loggedin, url, msg){
	/*
	 * If not logged in to twitter,
	 * the show the login dialog window
	 * else update the status using Ajax request.
	 */
	if(!loggedin)
	{
		var width = 550;
		var height = 350;
		
		var viewportwidth  = document.getElementsByTagName('body')[0].clientWidth;
		var viewportheight = document.getElementsByTagName('body')[0].clientHeight;
		var left = ((viewportwidth/2) - (width/2));
		var top = ((viewportheight/2) - (height/2));	
		var param = "top="+top+",left="+left+",menubar=no,toolbar=no,resizable=1,width="+width+",height="+height;
		twitter_window = window.open(url, "twitter_window", param);
		
		if(twitter_window == null || typeof(twitter_window) == "undefined") {
			message = (msg != "") ? msg : "Please allow popups for cross.tv inorder to update your Twitter status."; 
			alert(message);  
		} else {
			if (window.focus) {twitter_window.focus()}
		}
	}
	else 
	{
		new Ajax.Updater(
			'tw_status',
			'/facebook/therunaround/statusform.php', {
			method : 'POST',
			parameters :  "updateFromDiv=true&app=tw", 
			contentType: "application/x-www-form-urlencoded",
			evalScripts : true,			
			onSuccess: function(transport) {
				//var obj= eval(transport.responseText);
			}
		});			
	}
}
/*
 * SAve the sttings from the dialog
 */
function saveFB_TwSettings(prefix, msg){
	
	if(prefix == "fb"){
		if( !$('update_fb_1').checked && !$('update_fb_2').checked){
			alert(msg);
			return false;
		}
		else {
			if($('update_fb_2').checked) {
				$('fb_action_link').onclick = new Function();
				$('fb_action_link').style.cursor = "default";
			}
		}
			
	}
	
	if(prefix == "tw"){
		if( !$('update_tw_1').checked && !$('update_tw_2').checked){
			alert(msg);
			return false;
		}
		else {
			if($('update_tw_2').checked){
				$('tw_action_link').onclick = new Function();
				$('tw_action_link').style.cursor = "default";
			}
		}		
	}
		
	var params = "updateFrmDlg=true&" ;
	
	if($('update_fb_1') || $('update_fb_2')) {
		params = "auto_update_fb_status=" ;
		params += $('update_fb_1').checked ? '1' : ( $('update_fb_2').checked ? '0' : "0" );
	} 
	if($('update_tw_1') || $('update_tw_2')) { 
		params += "&auto_update_tw_status=";
		params += $('update_tw_1').checked ? '1' : ( $('update_tw_2').checked ? '0' : "0" );
	}

	new Ajax.Request(
			'/facebook/therunaround/statusform.php'
			, {
			method : 'POST',
			parameters :  params,
			contentType: "application/x-www-form-urlencoded",
			evalScripts : true,			
			onSuccess: function(transport) {
				$(prefix+'_settings_div').hide();
				$(prefix+'_save_msg').show();
			}
	});			
}

/*
 * Update the FB/TW status only when 
 * the status is not empty
 */
function statusForms(resp){
	if(resp != ""){
		showStatusForms();
	}
}

function showStatusForms(){
	var url = "/facebook/therunaround/statusform.php";
	new Ajax.Updater(
			"popLoginBody"
			,url
			, {
				method: 'post'
				, parameters:"popup=close"
				, contentType: "application/x-www-form-urlencoded"
				,evalScripts : true	
				, onComplete:function(transport){					

				}
			});	
}

function initFBJsFiles(api_key){
	
	key = api_key;
	if (!window.FB || !window.FB.Connect){
		DD.load_script("http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php", true);
		DD.load_script("http://"+document.domain+"/facebook/therunaround/fbconnect.js", true);
		DD.load_script("http://"+document.domain+"/facebook/therunaround/base.js", true);
		setTimeout('FB.init(key, "http://"+document.domain+"/facebook/therunaround/xd_receiver.php")', 500);
	}
	
}

function showStatusUpsateMessage(message){

		var vDiv=document.createElement("DIV");
			vDiv.id="crosstv_success_msg";
			$$("BODY")[0].appendChild(vDiv);
			$("crosstv_success_msg").setStyle({position:'absolute',display:'none',width:'450px',overflow:'hidden',backgroundColor:'#FFF',border:'2px solid #b06993',color:'#000',zIndex:'9999',padding:'15px 20px'});
			var vDiv2=document.createElement("DIV");
				vDiv2.style.textAlign='center';
			$("crosstv_success_msg").appendChild(vDiv2);
			
		$('crosstv_success_msg').firstChild.innerHTML = message;
		var winHeight=((document.documentElement.clientHeight) ? document.documentElement.clientHeight : window.innerHeight);
		var winWidth=((document.documentElement.clientWidth) ? document.documentElement.clientWidth : window.innerWidth);
		var dvTop= parseInt((winHeight / 2) - ($('crosstv_success_msg').firstChild.offsetHeight / 2) );
		var dvLeft= parseInt((winWidth / 2) - 225);
		$('crosstv_success_msg').setStyle({top: dvTop + 'px',left: dvLeft + 'px',display: 'block'});
		$('dv_cover').style.display='block';
		var dvTop= parseInt((winHeight / 2) - ($('crosstv_success_msg').firstChild.offsetHeight / 2) );
		$('crosstv_success_msg').setStyle({top: dvTop + 'px'});
		Event.observe($('crosstv_success_msg'),'click',function(){$('crosstv_success_msg').style.display='none';$('dv_cover').style.display='none';});
		setTimeout("$('crosstv_success_msg').style.display='none';$('dv_cover').style.display='none'",7000);
}

function updatFBStatus(param){
	if(param){
		var url = "/facebook/therunaround/statusform.php";
		var update_div = $("fb_status") ? "fb_status" : "popLoginBody";
		new Ajax.Updater(
				update_div
				,url
				, {
					method: 'post'
					, parameters:"updateFromDiv=true&app=fb"
					, contentType: "application/x-www-form-urlencoded"
					,evalScripts : true	
					, onComplete:function(){
							
						}
				});
	}	
}