check_viewers(window.location);

function GetXmlHttpObject(){
	var xmlHttp=null;
	try  {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	}
	catch (e){
	  // Internet Explorer
	  try {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	}
	return xmlHttp;
}
function fetch_images(ulink){

	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/fetch.php";
	var params="link="+ulink;
	xmlHttp.onreadystatechange=return_fetch;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
	document.getElementById('fetch').innerHTML = '<br /><br /><img src="/loading.gif" width=800 height=3 alt="loading" /><br />Please wait, fetching images from '+ulink;
	fetch_title(ulink);

}
function parse_comment(comment_body){
document.getElementById('commentcharsleft').innerHTML = (160 - comment_body.length); 
document.getElementById('commenttextbody').innerHTML = comment_body.substr(0, 159);
}
function textcounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) //
field.value = field.value.substring(0, maxlimit);
else
cntfield.value = maxlimit - field.value.length;
}

function addcomment(cont, ulink){
	cont = cont.replace(/&/g, '%26');
	ulink = escape(ulink);
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/scripts/write_comment.php";
	var params="link="+ulink+"&message="+cont;
	//alert(params);
	xmlHttp.onreadystatechange=return_added_comment;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
//	document.getElementById('fetch').innerHTML = '<br /><br /><img src="/loading.gif" width=800 height=3 alt="loading" /><br />Please wait, fetching images from '+ulink;

}
var viewerscount = 0;
function fetch_comments(ulink, count){
	viewerscount = count;
	count = escape(count);
	ulink = escape(ulink);
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/scripts/chat.php";
	var params="link="+ulink+"&count="+count;
	xmlHttp.onreadystatechange=return_comments;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
	//document.getElementById('chat').innerHTML = '<br /><br /><img src="/loading.gif" width=250 height=3 alt="loading" /><br /><span style="color:#FFFFFF;">Please wait, fetching messages for '+ulink+'</span>';

}
function check_viewers(ulink){
	ulink = escape(ulink);
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/scripts/viewers.php";
	var params="link="+ulink;
	xmlHttp.onreadystatechange=return_viewers;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
	//document.getElementById('chat').innerHTML = '<br /><br /><img src="/loading.gif" width=250 height=3 alt="loading" /><br /><span style="color:#FFFFFF;">Please wait, fetching messages for '+ulink+'</span>';
}
function fetch_title(ulink){
	ulink = escape(ulink);
		xmlHttp2=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url2="/fetch.php";
	var params2="title="+ulink;
	xmlHttp2.onreadystatechange=return_fetch_title;
	xmlHttp2.open("POST",url2,true);
	xmlHttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp2.setRequestHeader("Content-length", params2.length);
	xmlHttp2.setRequestHeader("Connection", "close");
	xmlHttp2.send(params2);
	document.getElementById('fetch').innerHTML = '<br /><br /><img width=800 height=3 src="/loading.gif" alt="loading" /><br />Please wait, fetching images and title from '+ulink;
}
function return_fetch(){ 
	if (xmlHttp.readyState==4){ 
//	alert(xmlHttp.responseText);   //view return
		document.getElementById('fetch').innerHTML = 'For quick moderation, only select an image if it\'s relevant to the bookmark:<br />'+xmlHttp.responseText;
	}
}
function return_added_comment(){ 
	if (xmlHttp.readyState==4){ 
	//alert(xmlHttp.responseText);   //view return
		//document.getElementById('fetch').innerHTML = 'For quick moderation, only select an image if it\'s relevant to the bookmark:<br />'+xmlHttp.responseText;
	}
}
function return_comments(){ 
	if (xmlHttp.readyState==4){ 
//	alert(xmlHttp.responseText);   //view return
		document.getElementById('chat').innerHTML = xmlHttp.responseText;
		clearTimeout(view123);
		var view123 = setTimeout("check_viewers('"+window.location+"')",1000);
	}
}
function return_viewers(){ 
	if (xmlHttp.readyState==4){ 
//	alert(xmlHttp.responseText);   //view return
		fetch_comments(window.location.href, xmlHttp.responseText);
		var view123 = setTimeout("check_viewers('"+window.location+"')",1000);
	}
}
function return_fetch_title(){ 
	if (xmlHttp2.readyState==4){ 
	var tmps = '';
	var tmp = '';
//	alert(xmlHttp.responseText);   //view return
		document.getElementById('add_title').value = xmlHttp2.responseText;
		document.getElementById('btn_add_entry').disabled = false;
		document.getElementById('add_title').disabled = false;
		tmp = xmlHttp2.responseText;
		tmp = tmp.replace("  "," ")
		tmp = tmp.replace("  "," ")
		tmp = tmp.replace("  "," ")
		tmps = tmp.split(' ');

		document.getElementById('add_tags').innerHTML = document.getElementById('add_tags').innerHTML+tmps;
	}
}

function select_img(src){
document.getElementById('add_image').value = src; 
document.getElementById('fetch').innerHTML = '<img src="'+src+'" alt="(;,;)" height="100"/>';
}

//validation
function validate_registration(){
	var userid = document.getElementById('register_email').value;
	var password = document.getElementById('register_password').value;	
	var d_name = document.getElementById('register_name').value;	
	if (is_valid_email(userid)==1 && password.length >= 6 && d_name.length >= 3){
		 check_user(userid);
	}else if (is_valid_email(userid)!=1){
		document.getElementById('register_submit').disabled = true;
		}

}
function check_reg(){
	var userid = document.getElementById('register_email').value;
	var password = document.getElementById('register_password').value;	
	var d_name = document.getElementById('register_name').value;	
	if (is_valid_email(userid)==1 && password.length >= 6 && d_name.length >= 3){
		return true;
	}else {alert("Invalid email, name or password.\n\rPlease make sure that the email is correct, password must be longer than 6 digits and name must be longer than 2 digits."); return false;}

}
function check_login(){
	var userid = document.getElementById('login_email').value;
	var password = document.getElementById('login_password').value;	
	if (is_valid_email(userid)==1 && password.length >= 6 && d_name.length >= 3){
		return true;
	}else {alert("Unable to sign in,\n\rinvalid email or password."); return false;}

}
function is_valid_email(str) {
	if (str.indexOf("..") >= 0){return false;}
	return (str.indexOf(".") > 0) && (str.lastIndexOf(".") > str.indexOf("@")) && (str.indexOf("@") >= 1) && (str.indexOf("@") < str.length -3) && (str.lastIndexOf(".") < str.length -2);
}
function check_user(userid){
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/scripts/action.php";
	var params="user_exists="+userid.toLowerCase();
	xmlHttp.onreadystatechange=return_user_availability;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}
function return_user_availability(){ 
	if (xmlHttp.readyState==4){ 
//	alert(xmlHttp.responseText);   //view return
		if (xmlHttp.responseText == 0){
			document.getElementById('register_submit').disabled = false;
			document.getElementById('register_message').innerHTML = '';
		}else {
			document.getElementById('register_submit').disabled = true;
			document.getElementById('register_message').innerHTML = 'Warning! Supplied email is already registered.<br />';
		}
	}
}
function detectenter(inField, e) {
    var charCode;
    
    if(e && e.which){
        charCode = e.which;
    }else if(window.event){
        e = window.event;
        charCode = e.keyCode;
    }

    if(charCode == 13) {
        addcomment(document.addcommentform.message.value, window.location);
		hide_all();
		document.addcommentform.message.value = '';
    }
}