var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}


function blank_all()
{
	$('#usernamel').bind('focus',function() {  $('#usernamel').val('');  });
	$('#usernamel').bind('blur',function() { if($('#usernamel').val() == '') { $('#usernamel').val('Username'); } });
	$('#passwordl').bind('focus',function() { $('#passwordl').val('');  });
	$('#passwordl').bind('blur',function() { if($('#passwordl').val() == '') { $('#passwordl').val('Password'); } });
	//on right panel login
	$('#usernamert').bind('focus',function() { $('#usernamert').val('');  });
	$('#usernamert').bind('blur',function() { if($('#usernamert').val() == '') { $('#usernamert').val('Username'); } });
	$('#passwordrt').bind('focus',function() { $('#passwordrt').val(''); });
	$('#passwordrt').bind('blur',function() { if($('#passwordrt').val() == '') { $('#passwordrt').val('Password'); } });
	$('#usernamereglog').bind('focus',function() {  $('#usernamereglog').val('');  });
	$('#usernamereglog').bind('blur',function() { if($('#usernamereglog').val() == '') { $('#usernamereglog').val('Username'); } });
	$('#passwordreglog').bind('focus',function() { $('#passwordreglog').val('');  });
	$('#passwordreglog').bind('blur',function() { if($('#passwordreglog').val() == '') { $('#passwordreglog').val('Password'); } });
	$('#postquest').bind('focus',function() { $('#postquest').val('');  });
	$('#postquest').bind('blur',function() { if($('#postquest').val() == '') { $('#postquest').val('Post Your Question Here'); } });
	
	$('#search').bind('focus',function() { if($('#search').val() == 'Enter Your Question Here'){ $('#search').val(''); $('#search').css({color:'#000000'}) }});
	$('#search').bind('blur',function() { if($('#search').val() == '') { $('#search').css({color:'#CCCCCC'});$('#search').val('Enter Your Question Here'); } });
	$('#search1').bind('focus',function() { if($('#search1').val() == 'Enter Your Question Here'){ $('#search1').val(''); $('#search1').css({color:'#000000'}) }});
	$('#search1').bind('blur',function() { if($('#search1').val() == '') { $('#search1').css({color:'#CCCCCC'});$('#search1').val('Enter Your Question Here'); } });		
}

function validate_all()
{
	$("#loginfrm").validate();
	$("#registrationfrm").validate();
	$("#postsearch").validate();
	$("#commentfrm").validate();
	$("#frminvite").validate();
	$("#replyfrm").validate();
	$("#frmrec").validate();
	$("#regloginfrm").validate();
	$("#loginlightbox").validate();
	$("#loginlightbox1").validate();
	$("#frmfb").validate();
	$("#rightquesfrm").validate();
	$("#frgtpas_frm").validate();
	$("#contactfrm").validate();
	$("#advsearch").validate();
	$("#expertsfrm").validate();
	$("#profilefrm").validate();
	$("#submitwp").validate();
	$("#form1").validate();
	$("#frmreport").validate();
	$("#editprofilefrm").validate();
	$("#frmaboutme").validate();
	$("#frmwpsubmit").validate();
}

function check_available(username,email,usernamelbl,emaillbl){	
	var min_chars = 4;  
	var characters_error = 'Username must be atleast 4 characters long';  
	var checking_html = 'Checking...';
	if (!(/^[a-z\d]*$/i.test($('#'+username).val()))) {
		alert('Space not allowed in username');
		return false;
	}
	else{
	if($('#'+username).val().length < min_chars) {
		$('#'+usernamelbl).text(characters_error);
		$('#'+emaillbl).text("");
		return false;
	}
	else{
		$('#'+usernamelbl).text("");
	}
	if($('#'+email).val().length == ""){
		$('#'+emaillbl).text('Enter an email address');  
		return false;
	}
	else{  
		$('#'+usernamelbl).text("");
		$('#'+emaillbl).text(checking_html);  
		check_availability(username,email,usernamelbl,emaillbl);
		return true;
	} 
	}
}

//function to check username availability  
function check_availability(username,email,usernamelbl,emaillbl){  
        var username = $('#'+username).val();
		var email = $('#'+email).val();
		//use ajax to run the check  
        $.post("action.php", { username: username,email: email,action:"verify" },  
            function(result){  
                if(result == 1){  
                    //show that the username is available  
                    $('#'+usernamelbl).text(username + ' is not Available');
					$('#'+emaillbl).text(""); 
					return false;
                }
				else if(result == 2){  
					//show that the username is NOT available  
					$('#'+emaillbl).text(email + ' is already registered'); 
					$('#'+usernamelbl).text(""); 
					return false;
				}
				else if(result == 3){  
					$('#'+usernamelbl).text(username + ' is Available'); 
                    $('#'+emaillbl).text(email + ' is Available'); 
					return true;
                }  
        });  
}  

function enable_button(btn)
{
	if($("#accept:checked").val()=='on'){document.getElementById(btn).disabled=false;}
	else {document.getElementById(btn).disabled=true;}
}

function enable_buttonreg(btn)
{
	if($("#acceptreg:checked").val()=='on'){document.getElementById(btn).disabled=false;}
	else {document.getElementById(btn).disabled=true;}
}

function submit_login()
{
	var login=$("#loginbtn").val();
	var action="Login";
	var username = $("#usernamel").val();
	var password = $("#passwordl").val();
	var params = '&username='+username+'&password='+password+'&submit='+login+'&action='+action;
	$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'Incorrect Details') { alert(msg); $("#error_msg1").text('Invalid Login Id or Password'); } else {$('#loginlightbox').submit();}}});
}

function submit_frgtpas()
{
	var action="ForgotPassword";
	var emailto = $("#emailfrgtpas").val();
	var username = $("#usernamefrgtpas").val();
	var params = '&email='+emailto+'&username='+username+'&action='+action;
	$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'register first') { alert('Username and Email id doesn\'t exist'); $("#error_msg1").text('Please register first'); } else {$('#frgtpas_frm').submit();alert("Your Username and Password have been mailed to you.");}}});
}
function submitrt_login()
{
	var login=$("#loginbtn").val();
	var action="Login";
	var username = $("#usernamert").val();
	var password = $("#passwordrt").val();
	var params = '&username='+username+'&password='+password+'&submit='+login+'&action='+action;
	$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'Incorrect Details') { alert(msg); $("#error_msg1").text('Invalid Login Id or Password'); } else {$('#loginlightbox').submit();}}});
}

function submit_register()
{	
	var invite=$("#invite").val();
	var iv_userid=$("#iv_userid").val();
	var iv_useremail=$("#iv_useremail").val();
	var iv_ivemail=$("#iv_ivemail").val();
	var iv_verificationcode=$("#iv_verificationcode").val();
	
	var registerbtn=$("#registerbtn").val();
	var username = $("#username").val();
	var password = $("#Password").val();
	var confirmpassword = $("#cnfrmpassword").val();
	var email = $("#email").val();
	var firstname = $("#firstname").val();
	var lastname = $("#lastname").val();
	var discipline = $("#discipline").val();
	var specialization = $("#specialization").val();
	var gender = $("#gender").val();
	var dobday = $("#dobday").val();
	var dobmonth = $("#dobmonth").val();
	var dobyear = $("#dobyear").val();
	var education = $("#education").val();
	var country = $("#country").val();
	var address = $("#address").val();
	var selfdesc = $("#selfdesc").val();
	var avatarname = $("#avatarnamereg").val();
	var file = $("#filereg").val();
	var receiveemail1 = $("#receiveemail1:checked").val();
	var receiveemail2 = $("#receiveemail2:checked").val();
	if(check_available('username','email','usernamelbl','emaillbl'))
	{
		if(password!=confirmpassword){
			alert("Passwords don't match");
			return false;
		}
		var params = '&action=register&username='+username+'&password='+password+'&confirmpassword='+confirmpassword+'&email='+email+'&firstname='+firstname+'&lastname='+lastname+'&discipline='+discipline+'&specialization='+specialization+'&gender='+gender+'&dobday='+dobday+'&dobmonth='+dobmonth+'&dobyear='+dobyear+'&education='+education+'&country='+country+'&address='+address+'&selfdesc='+selfdesc+'&avatarname='+avatarname+'&file='+file+'&receiveemail1='+receiveemail1+'&receiveemail2='+receiveemail2+'&receiveemail3=1&invite='+invite+'&iv_userid='+iv_userid+'&iv_useremail='+iv_useremail+'&iv_ivemail='+iv_ivemail+'&iv_verificationcode='+iv_verificationcode;
		if($('#registrationfrm').validate().form()) {
			$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'incomplete') { alert('Form is not complete');} else if(msg == 'invalid') { alert('Username or email is already registered');} else if(msg == 'mismatch') { alert('Please enter the same password again');}else if(msg == 'short') { alert('Username should be at least 4 characters long');} else if(msg == 'fileerror') { alert('Either the file is too large or the type is not supported.<br>Please upload a jpeg or a png file only.');} else {$('#u_id').val(msg);$('#registrationfrm').submit();}}});
		}
	}
}

function submit_registerlog()
{
	var invite=$("#invite").val();
	var iv_userid=$("#iv_userid").val();
	var iv_useremail=$("#iv_useremail").val();
	var iv_ivemail=$("#iv_ivemail").val();
	var iv_verificationcode=$("#iv_verificationcode").val();
	
	var password = $("#passwordreg").val();
	var confirmpassword = $("#cnfrmpasswordreg").val();
	var registerbtn=$("#registerbtn2").val();
	var username = $("#usernamereg").val();
	var email = $("#emailreg").val();
	var firstname = $("#firstnamereg").val();
	var lastname = $("#lastnamereg").val();
	var discipline = $("#disciplinereg").val();
	var specialization = $("#specializationreg").val();
	var gender = $("#genderreg").val();
	var dobday = $("#dobdayreg").val();
	var dobmonth = $("#dobmonthreg").val();
	var dobyear = $("#dobyearreg").val();
	var education = $("#educationreg").val();
	var country = $("#countryreg").val();
	var address = $("#addressreg").val();
	var selfdesc = $("#selfdescreg").val();
	var avatarname = $("#avatarnamereglog").val();
	var file = $("#filereglog").val();
	var receiveemail1 = $("#receiveemailreg1:checked").val();
	var receiveemail2 = $("#receiveemailreg2:checked").val();
	var temp_ques;
	var temp_ques_cat;
	var temp_ques_subcat;
	if(password!=confirmpassword){
		alert("Passwords don't match");
		return false;
	}
	
	if(check_available('usernamereg','emailreg','usernamereglbl','emailreglbl'))
	{
		(($("#questionreg").val())!="") ? temp_ques=$("#questionreg").val() : temp_ques="";
		(($("#quescatreg").val())!="") ? temp_ques_cat=$("#quescatreg").val() : temp_ques_cat="";
		(($("#quessubcatreg").val())!="") ? temp_ques_subcat=$("#quessubcatreg").val() : temp_ques_subcat="";
		
		var params = '&action=register&temp_ques='+temp_ques+'&category='+temp_ques_cat+'&subcategory='+temp_ques_subcat;
		var params = params+'&username='+username+'&password='+password+'&confirmpassword='+confirmpassword+'&email='+email+'&firstname='+firstname+'&lastname='+lastname+'&discipline='+discipline+'&specialization='+specialization+'&gender='+gender+'&dobday='+dobday+'&dobmonth='+dobmonth+'&dobyear='+dobyear+'&education='+education+'&country='+country+'&address='+address+'&selfdesc='+selfdesc+'&avatarname='+avatarname+'&file=filereglog&receiveemail1='+receiveemail1+'&receiveemail2='+receiveemail2+'&receiveemail3=1&invite='+invite+'&iv_userid='+iv_userid+'&iv_useremail='+iv_useremail+'&iv_ivemail='+iv_ivemail+'&iv_verificationcode='+iv_verificationcode;
		if($('#regloginfrm').validate().form()) {
			$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'incomplete') { alert('Form is not complete');} else if(msg == 'invalid') { alert('Username or email is already registered');} else if(msg == 'mismatch') { alert('Please enter the same password again');} else if(msg == 'short') { alert('Username should be at least 4 characters long');} else if(msg == 'fileerror') { alert('Either the file is too large or the type is not supported.<br>Please upload a jpeg or a png file only.');}  else {$('#u_idreg').val(msg);$('#regloginfrm').submit();}}});
		}
	}
}

function submit_reglogin()
{
	(($("#questionreg").val())!="") ? temp_ques=$("#questionreg").val() : temp_ques="";
	(($("#quescatreg").val())!="") ? temp_ques_cat=$("#quescatreg").val() : temp_ques_cat="";
	(($("#quessubcatreg").val())!="") ? temp_ques_subcat=$("#quessubcatreg").val() : temp_ques_subcat="";
	(($("#questionreg").val())!="") ? document.forms['loginlightbox1'].action='category.php?category='+temp_ques_cat : document.forms['loginlightbox1'].action=window.location.href;
	
	var login=$("#loginbtn").val();
	var action="Login";
	var username = $("#usernamereglog").val();
	var password = $("#passwordreglog").val();
	var params = '&username='+username+'&password='+password+'&submit='+login+'&action='+action+'&quest='+temp_ques+'&category='+temp_ques_cat+'&subcategory='+temp_ques_subcat;
	$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg == 'Incorrect Details') { alert(msg); $("#error_msg2").text('Invalid Login Id or Password'); } else {$('#loginlightbox1').submit();}}});
}


function set_rerating(rating,quesid)
{
	vals = "action=vote&rating="+rating+"&replyid="+quesid;
	var rate=0;
	var star="";
	$.ajax({url:'action.php',data: vals, async: false, type: 'post', success: function(msg) { if(msg == 'You already Voted this Reply') { alert(msg); } else { alert('Thank you for your Rating. You rated '+rating+' out of 5 stars to this Answer.');$("#ratings_"+quesid).html(msg); } }});
	$.ajax({url:'action.php',data: 'action=showrerate&id='+quesid, async: false, type: 'post', success: function(msg) { if(msg) {rate=msg;} }});
	for(var i=1;i<=5;i++){
		if(i<=rate){
			star += "<span class=\"star hover\"></span>";
		}
		else
			star += "<span class=\"nostar hover\"></span>";
	}
	
	$("#ratings_"+quesid).html(star);
}


function set_wprating(rating,quesid)
{
	vals = "action=wp_vote&rating="+rating+"&id="+quesid;
	var rate=0;
	var star="";
	$.ajax({url:'action.php',data: vals, async: false, type: 'post', success: function(msg) { if(msg == 'You already Voted this Whitepaper') { alert(msg); } else { alert('Thank you for your Rating. You rated '+rating+' out of 5 stars to this Whitepaper.');$("#ratings_"+quesid).html(msg); } }});
	$.ajax({url:'action.php',data: 'action=showwprate&id='+quesid, async: false, type: 'post', success: function(msg) { if(msg) {rate=msg;} }});
	for(var i=1;i<=5;i++){
		if(i<=rate){
			star += "<span class=\"star hover\"></span>";
		}
		else
			star += "<span class=\"nostar hover\"></span>";
	}
	
	$("#ratings_"+quesid).html(star);
	$("#lratings_"+quesid).html(star);
}

function set_po_rating(rating,poid)
{
	vals = "action=po_vote&rating="+rating+"&replyid="+poid;
	var rate=0;
	var star="";
	$.ajax({url:'action.php',data: vals, async: false, type: 'post', success: function(msg) { if(msg == 'You already Voted this Question') { alert(msg); } else { alert('Thank you for your Rating. You rated '+rating+' out of 5 stars to this Question.');$("#ratings_"+poid).html(msg); } }});
	$.ajax({url:'action.php',data: 'action=showporate&id='+poid, async: false, type: 'post', success: function(msg) { if(msg) {rate=msg;} }});
	for(var i=1;i<=5;i++){
		if(i<=rate){
			star += "<span class=\"star hover\"></span>";
		}
		else
			star += "<span class=\"nostar hover\"></span>";
	}
	
	$("#ratings_"+poid).html(star);
}

function submitform(formname)
{
	this.formname.submit();
}		

function post_question()
{	
	var ques=Url.encode($("#framedQ").val());
	var category=document.forms['frameQfrm'].framequescat.value
	var subcategory=document.forms['frameQfrm'].quessubcat.value
	//document.forms['frameQfrm'].quescat.value

	if(ques=="Enter Your Question Here")
	{	
		alert("Please type a question first");
		return false;
	}
	if((category=="") || (subcategory=="")){
		alert("Please select the category and subcategory first");
		return false;
	}
	else{
		var params = 'postques='+ques+'&action=postquest&category='+category+'&subcategory='+subcategory;
		$.ajax({url: 'action.php',type: 'POST',data: params,success: function(msg) { if(msg=='here') {$("#msg2").text('Error in posting question : Your question cannot be posted');}else{document.forms['frameQfrm'].action='category.php?category='+msg;$('#frameQfrm').submit();}}});
	}
}

function post_question_log()
{
	var ques=Url.encode($("#framedQ").val());
	var category=document.forms['frameQfrm'].framequescat.value;
	var subcategory=document.forms['frameQfrm'].quessubcat.value;
	//document.forms['frameQfrm'].quescat.value

	if(ques=="Enter Your Question Here")
	{	
		alert("Please type a question first");
		return false;
	}
	if((category=="") || (subcategory=="")){
		alert("Please select the category and subcategory first");
		return false;
	}
	else{
		document.forms['regloginfrm'].quescatreg.value=category;
		document.forms['regloginfrm'].quessubcatreg.value=subcategory;
		document.forms['regloginfrm'].questionreg.value=ques;
		closebox('boxframe','filterframe',1);
		openbox('boxreglogin','filterreglogin',1);
	}
}

function form_submit()
{
	window.location='experts.php?category='+$("#category").val()+'&subcategory='+$("#subcategory1").val();	
}

function choose_avatar(av,avtext)
{
	var avatar=document.getElementById(avtext);
	avatar.value=document.getElementById(av).name;
}

function submit_contact() 
{	
	if($('#yourname').val()=='Your Name'){alert('Enter your name'); return false;}
	if($('#youremail').val()=='Your Email Address'){alert('Enter your email'); return false;}
	if($('#subject').val()=='Subject'){alert('Enter subject'); return false;}
	if($('#yourmsg').val()=='Enter the Message'){alert('Enter your message'); return false;}
	if($('#verify').val()=='Enter the captcha code'){alert('Enter captcha code'); return false;}
	
	var yourname = $("#yourname").val();
	var youremail = $("#youremail").val();
	var subject = $("#subject").val();
	var yourmsg = $("#yourmsg").val();
	var verify = $("#verify").val();
	
	var params = 'action=contactus&yourname='+yourname+'&youremail='+youremail+'&subject='+subject+'&yourmsg='+yourmsg+'&verify='+verify;
	
	$.ajax({url: 'action.php',type: 'post', data: params, success: function(msg) {if(msg=='Incorrect'){$('#error').html("Captcha code is wrong");} else {$('#contactfrm').submit();}} }); 
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
			var aParam = aQueryString[iParam].split("=");
			strReturn = aParam[1];
			break;
      }
    }
  }
  return unescape(strReturn);
}
function pagingsub()
{	
	document.pagingfrm.submit();
}

function setid(id,table)
{
	if(table=='twk_posts'){
		var params = 'action=editPost&postid='+id;
		$.ajax({url: 'action.php',type: 'post', data: params, success: function(msg) {if(msg){$('#displayPostDetails').html(msg);} else {alert('There was some problem updating your post');}} }); 
		openbox('boxeditQ','filtereditQ',1);
	}
	else if(table=='twk_replies'){
		var params = 'action=editReply&replyid='+id;
		$.ajax({url: 'action.php',type: 'post', data: params, success: function(msg) {if(msg){$('#displayReplyDetails').html(msg);} else {alert('There was some problem updating your Reply');}} }); 
		openbox('boxeditR','filtereditR',1);
	}
}

function changesubcat()
{	
	$('#editquescat').bind('change',function() 
					{	
						$.ajax({url: 'action.php',type: 'post', data: 'action=editques_subcat&editquescat='+$('#editquescat').val(), success: function(msg) { $('#show_editquessubcat').html(msg);}}); 
					});
}


function delpost(table,id)
{
		if(table=='post'){ 
							if($('#editQtitle').val() == '') { 
							var params = 'action=deletePost&id='+id;
								if(confirm('Are you sure you want to delete this post?')){ 
									$.ajax({url: 'action.php',type: 'post', data: params, success: function(msg) {if(msg=='deleted'){document.editQfrm.action=window.location.href;
									document.editQfrm.submit();} else {alert('There was some problem deleting your Post');}} }); 
								} 
							} 
							else {
								document.editQfrm.submit();
							}
					
		}
		if(table=='reply'){
							if($('#editRtitle').val() == '') { 
							var params = 'action=deleteReply&id='+id;
								if(confirm('Are you sure you want to delete this reply?')){
									$.ajax({url: 'action.php',type: 'post', data: params, success: function(msg) {if(msg=='deleted'){document.editRfrm.action=window.location.href;
									document.editRfrm.submit();} else {alert('There was some problem deleting your Reply');}} }); 
								} 
							} 
							else {
								document.editRfrm.submit();
							}
		}
}
