function preloadImg()
{
	var d=document;
	if(d.images)
	{
		if(!d.PI_p)
		d.PI_p=new Array();
		var i,j=d.PI_p.length,a=preloadImg.arguments;
		for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0)
			{
				d.PI_p[j]=new Image;
				d.PI_p[j++].src=a[i];
			}
	}
}
function openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function isRate(which) {
	if (!document.rate_form.rate[0].checked && 
		!document.rate_form.rate[1].checked && 
		!document.rate_form.rate[2].checked && 
		!document.rate_form.rate[3].checked && 
		!document.rate_form.rate[5].checked && 
		!document.rate_form.rate[6].checked && 
		!document.rate_form.rate[7].checked && 
		!document.rate_form.rate[8].checked && 
		!document.rate_form.rate[9].checked)
	{
		alert("Please rate tutorial first!");
		return false;
	}
}

function contact(which) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var str = document.getElementById('y_name').value;
	if (str != "") {}
	else {
		alert("Please enter your name!");
		return false;
	}
	var str = document.getElementById('y_mail').value;
	if (!filter.test(str)) {
		alert("Please enter your valid e-mail address!");
		return false;
	}
	var str = document.getElementById('y_country').value;
	if (str != "") {}
	else {
		alert("Please enter country name!");
		return false;
	}
	var str = document.getElementById('message').value;
	if (str != "") {}
	else {
		alert("Message is empty!");
		return false;
	}
}

function send2friend(which) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var str = document.getElementById('friend_name').value;
	if (str != "" & str != "Friend's name") {}
	else {
		alert("Please enter friend's name!");
		return false;
	}
	var str = document.getElementById('friend_email').value;
	if (!filter.test(str)) {
		alert("Please enter valid friend's e-mail address!");
		return false;
	}
	var str = document.getElementById('your_name').value;
	if (str != "" & str != "Your name") {}
	else {
		alert("Please enter your name!");
		return false;
	}
	var str = document.getElementById('your_email').value;
	if (!filter.test(str)) {
		alert("Please enter your valid e-mail address!");
		return false;
	}
}

function check_req() {
	var str = document.getElementById('request_tut_text').value;
	if (str != "") {
		document.request_tut_form.submit();
	} else {
		alert("Please enter your request for Tutorial!");
	}
}

function showImage (title, url, w, h) {
        var wnd = window.open('', '', 'top='+(screen.height-h)/2+',left='+(screen.width-w)/2+',width='+w+',height='+h+',toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no');
        var code = '<html><head><title>' + title + '</title></head>\n'+
			'<body bgcolor="#F7F7F7">\n'+
			'<div style="border: 1px solid #999999; background-color: #FFFFFF; width: '+(w-40)+'px;"><img src="'+url+'" alt="'+title+'" lowsrc="http://www.onlinehowto.net/img/uploading.gif" style="border: 5px solid #FFFFFF;"></div><p>\n'+
			'<div align="right" onclick="window.close();" style="cursor: pointer; font-size: 11px; font-family: Arial, Helvetica, sans-serif; color: #999999;"><b>[close]</b></div>\n'+
						   '</body></html>';
        wnd.document.write(code);
        wnd.document.close();
}

function check(id, element_id, what) {
	document.getElementById(element_id).checked=false;
	document.getElementById(element_id).disabled=true;
	var xmlhttp1=GetXmlHttpObject();
	if (xmlhttp1==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var date = new Date();
	var timestamp = date.getTime();
	var url="ajax_lib.php";
	url=url+"?what="+what+"&check="+id;
	url=url+"&time="+timestamp;
	xmlhttp1.onreadystatechange=function() {
		if (xmlhttp1.readyState==4 || xmlhttp1.readyState=="complete") {
			var res=xmlhttp1.responseText;
			if (res==1) {
				document.getElementById(element_id).checked=true;					
				document.getElementById(element_id).disabled=false;
			} else {
				document.getElementById(element_id).checked=false;
				document.getElementById(element_id).disabled=false;
				alert(res);
			}
		}
	}
	xmlhttp1.open("GET",url,true);
	xmlhttp1.send(null);
}

/*
function view_month(month) {
	document.getElementById('wait').style.display='';
	var xmlhttp2=GetXmlHttpObject();
	if (xmlhttp2==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var date = new Date();
	var timestamp = date.getTime();
	var url="ajax_lib.php";
	url=url+"?view_month="+month;
	url=url+"&time="+timestamp;
	xmlhttp2.onreadystatechange=function() {
		if (xmlhttp2.readyState==4 || xmlhttp2.readyState=="complete") {
			var res=xmlhttp2.responseText;
			document.getElementById('view_month').innerHTML=res;
			document.getElementById('wait').style.display='none';
		}
	}
	xmlhttp2.open("GET",url,true);
	xmlhttp2.send(null);
}
*/

function list_subcat(cat_id) {
	document.getElementById('select_subsubcat_name').innerHTML='';		
	document.getElementById('select_subsubcat').innerHTML='';		
	if (cat_id>0) {
		document.getElementById('select_subcat_name').innerHTML='Sub-Category:';
	} else {
		document.getElementById('select_subcat_name').innerHTML='';		
	}
	document.getElementById('select_subcat').innerHTML='<td colspan="2" align="center"><img src="/img/uploading.gif" width="16" height="16"/></td>';
	var xmlhttp3=GetXmlHttpObject();
	if (xmlhttp3==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var date = new Date();
	var timestamp = date.getTime();
	var url="ajax_lib.php";
	url=url+"?list_subcat="+cat_id;
	url=url+"&time="+timestamp;
	xmlhttp3.onreadystatechange=function() {
		if (xmlhttp3.readyState==4 || xmlhttp3.readyState=="complete") {
			var res=xmlhttp3.responseText;
			document.getElementById('select_subcat').innerHTML=res;
		}
	}
	xmlhttp3.open("GET",url,true);
	xmlhttp3.send(null);
}

function list_subsubcat(cat_id,subcat_id) {
	if (subcat_id>0) {
		document.getElementById('select_subsubcat_name').innerHTML='Sub-Sub-Category: * ';
	} else {
		document.getElementById('select_subsubcat_name').innerHTML='';		
	}
	document.getElementById('select_subsubcat').innerHTML='<td colspan="2" align="center"><img src="/img/uploading.gif" width="16" height="16"/></td>';
	var xmlhttp4=GetXmlHttpObject();
	if (xmlhttp4==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var date = new Date();
	var timestamp = date.getTime();
	var url="ajax_lib.php";
	url=url+"?cat_id="+cat_id;
	url=url+"&list_subsubcat="+subcat_id;
	url=url+"&time="+timestamp;
	xmlhttp4.onreadystatechange=function() {
		if (xmlhttp4.readyState==4 || xmlhttp4.readyState=="complete") {
			var res=xmlhttp4.responseText;
			document.getElementById('select_subsubcat').innerHTML=res;
		}
	}
	xmlhttp4.open("GET",url,true);
	xmlhttp4.send(null);
}

function check_submit_tut() {
	var vname=document.getElementById('vname').value;
	var vemail=document.getElementById('vemail').value;
	var tut_name=document.getElementById('tut_name').value;
	while (tut_name.indexOf('    ')>0) {
		tut_name=tut_name.replace('    ', ' ');
	}
	while (tut_name.indexOf('   ')>0) {
		tut_name=tut_name.replace('   ', ' ');
	}
	while (tut_name.indexOf('  ')>0) {
		tut_name=tut_name.replace('  ', ' ');
	}
	var tut_url=document.getElementById('tut_url').value;
	var tut_desc=document.getElementById('tut_desc').value;
	while (tut_desc.indexOf('    ')>0) {
		tut_desc=tut_desc.replace('    ', ' ');
	}
	while (tut_desc.indexOf('   ')>0) {
		tut_desc=tut_desc.replace('   ', ' ');
	}
	while (tut_desc.indexOf('  ')>0) {
		tut_desc=tut_desc.replace('  ', ' ');
	}
	var vcaptcha=document.getElementById('vcaptcha').value;
	var agree=document.getElementById('agree').checked;
	if (document.getElementById('subsubcat')) {
		var subsubcat=document.getElementById('subsubcat').value;
	}
	var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,6})+$/;
	if (!filter.test(vemail) & (vemail!="")) {
		alert("Please enter correct email!");
	} else if (tut_name.length<20) {
		alert("Please enter min. 20 symbols for Tutorial Name!");
	} else if (tut_url=="") {
		alert("Please enter Tutorial URL!");
	} else if (tut_desc.length<150) {
		alert("Please enter min. 150 symbols for Tutorial Description!");
	} else if (subsubcat==undefined || subsubcat=="") {
		alert("Please select Sub-Sub-Category for the Tutorial!");
	} else if (vcaptcha=="") {
		alert("Please enter correct verification code!");
	} else if (agree!=true) {
		alert("Please check Terms & Privacy checkbox!");
	} else {
		document.submit_tut.submit();
	}
}

function delete_submited_tut(tut_id,reason) {
	document.getElementById('wait').style.display='';
	var xmlhttp5=GetXmlHttpObject();
	if (xmlhttp5==null) {
		alert ("Your browser does not support AJAX!");
		return;
	}
	var date = new Date();
	var timestamp = date.getTime();
	var url="ajax_lib.php";
	url=url+"?delete_tut="+tut_id;
	url=url+"&reason="+reason;
	url=url+"&time="+timestamp;
	xmlhttp5.onreadystatechange=function() {
		if (xmlhttp5.readyState==4 || xmlhttp5.readyState=="complete") {
			var res=xmlhttp5.responseText;
			document.getElementById('wait').style.display='none';
			document.location='index.php?page=tuts';
		}
	}
	xmlhttp5.open("GET",url,true);
	xmlhttp5.send(null);
}

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 highlight(field) {
	field.focus();
	field.select();
}

function submit_comment(what,id) {
	var comment=document.getElementById('comments_text').value;
	var email=document.getElementById('comments_email').value;
	if (email) {		
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!filter.test(email)) {
			alert("Please enter your valid e-mail address!");
			return false;
		}
	}
	if (comment.length>3) {
		document.getElementById('wait_for_post').innerHTML='<img src="/img/uploading.gif" width="16" height="16"/>';
		var name=document.getElementById('comments_name').value;
		var http=document.getElementById('comments_http').value;
		var xmlhttp6=GetXmlHttpObject();
		if (xmlhttp6==null) {
			alert ("Your browser does not support AJAX!");
			return;
		}
		var date = new Date();
		var timestamp = date.getTime();
		var url="/ajax_lib.php";
		url=url+"?comment_type="+what;
		if (what=='tut') {
			url=url+"&id="+id;
		} else if (what=='article') {
			url=url+"&id="+id;			
		}
		if (name=='') {
			url=url+"&name=Guest";
		} else {
			url=url+"&name="+name;			
		}
		url=url+"&email="+email;				
		url=url+"&www="+http;
		url=url+"&comment="+encodeURIComponent(comment);
		url=url+"&time="+timestamp;
		date.setTime(date.getTime()+(90*24*60*60*1000));
		var expires=date.toGMTString();
		xmlhttp6.onreadystatechange=function() {
			if (xmlhttp6.readyState==4 || xmlhttp6.readyState=="complete") {
				var res=xmlhttp6.responseText;
				document.getElementById('wait_for_post').innerHTML='';
				document.getElementById('posted_comments').innerHTML=res;
				document.getElementById('comments_text').value=' ';
				document.cookie='comments_email='+email+'; expires='+expires+'; path=/';
				document.cookie='comments_name='+name+'; expires='+expires+'; path=/';
				document.cookie='comments_http='+http+'; expires='+expires+'; path=/';
			}
		}
		xmlhttp6.open("GET",url,true);
		xmlhttp6.send(null);		
	} else {
		alert("This is not valid Comment!");	
	}
}