/**
 * @author S3LAU642
 */
//jquery merging with normal functions

$(document).ready(function(){
	doc_ready();
});

var tm = 0, txml, t_pbar = 0;

//initialization functions
function doc_ready(){
var settings = {
				
				tag:{
						img:"#imageholder",
						map:"#map",
						msg_title:"#phototour_msg_title",
						msg_content:"#phototour_msg_content",
						skip:"#skip_list"
						},
				time:100,//100 microseconds
				debug:false
				}

var pt = new phototour(settings);
	

	//toggle show/hid boxes init
	$("#toggle_map").click(function(){
		var test = tm++ % 2;
		$("#map").toggle( test );
		if( !test )
			$("#toggle_map").text("show boxes");
		else
			$("#toggle_map").text("hide boxes");
		 
		return false;
	});
	//back button init
	$("#p_back").click(function(){
		var j, k;
		if( pt.first_back ){
			j = pt.back_index.pop();
			pt.first_back = false;
			}
		
		k = pt.back_index.pop();
		
		if(typeof k == 'undefined'){
			if(j){
			pt.last_pop = j;
			}
		}else{
			pt.last_pop = k;
			pt.loadImage(k,true);
		}
		return false;	
	});

	$("#embed_input").click(function(){
		this.focus();
		this.select();
		return false;
	});

	//$("#p_bar_icon img").click(function(){
		//var test_pbar = t_pbar++ % 2;
		//if(test_pbar)
		//	$("#p_bar").toggle( test );	
	//});
	
	setTimeout(function(){
				$("#tip").fadeOut("slow");
				}, 5000);
	//$.getScript("http://static.ak.fbcdn.net/connect.php/js/FB.Share");
	$("#fb_share").append('<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>');
	
}

function stringToXML(text){
if (window.DOMParser)
  {
  parser=new DOMParser();
  stox=parser.parseFromString(text,"text/xml");
  }
else // Internet Explorer
  {
  stox=new ActiveXObject("Microsoft.XMLDOM");
  stox.async="false";
  stox.loadXML(text);
  }
  return stox;  
}

function check_comment(){
    var comment = document.getElementById("user_comment").value;
    if(comment=="" || comment=="Write a comment."){
        document.getElementById("comment_msg").innerHTML = "Please fill your comment.";
        return false;
    }
    if(check_invalid_char(comment)){
        document.getElementById("comment_msg").innerHTML = "Invalid characters are not allowed.";
        return false;
    }
    var user_name  = document.getElementById('user_name').value;
    var p_id = document.getElementById('p_id').value;
    //ajax_insert_comment(user_name, p_id, comment);
    //try ajax post..heheheh
    
    var arr_obj = new Object();
    arr_obj['user_name'] = user_name;
    arr_obj['p_id']=p_id;
    arr_obj['user_comment']=comment;
    ajax_post("php_content/insert_comment.php",arr_obj, "comment_inserted");
    return false;
}


function comment_inserted(xmlhttp_responseText){
	if(xmlhttp.responseText=="empty_comment"){
    	document.getElementById('comment_msg').innerHTML = "Please fill in your comment.";
	}else if(xmlhttp.responseText=="error"){
    	document.getElementById('comment_msg').innerHTML = "An error occurred, try again.";
	}else if(xmlhttp.responseText=="invalid_comment"){
    	document.getElementById("comment_msg").innerHTML = "Invalid characters are not allowed in comments.";
	}else{
    	document.getElementById("comment_msg").innerHTML="Your comment have been added.";
    	var b = document.getElementById("comment");
    	var c = b.childNodes.length;

	if(c == 8){
    	b.removeChild(b.childNodes[c-1]);
	};

	var k = stringToXML(xmlhttp_responseText);
	var a = k.getElementsByTagName("c")[0];
	b.innerHTML = ["<div class='comment_holder' id='comment_",
	
	a.getAttribute("cid"),"' ><div class='comment_title_holder' style='background-color:#F0FFFF;'>",
	"<div class='comment_title_user_name'>",
	"<a href='user_page.php?u=",a.getAttribute("username"),"'>",a.getAttribute("username"),"<\/a>",
	"<\/div><div class='comment_title_time'>(",a.getAttribute("time"),
	")<\/div><div class='comment_title_js' id='comment_widget_",a.getAttribute("cid"),"'>",
	"<a href='' onclick=\"delete_comment('",a.getAttribute("cid"),
	"','",a.getAttribute("username"),"');return false;\" >Remove<\/a>",
	"<\/div><\/div><div class='comment_content' style='background-color:#F0FFFF;'>",
	a.getAttribute("comment").replace(/\\n/g,"<br/>"),"<\/div><\/div>"].join('') + b.innerHTML;

	var g = document.getElementById("char_left");
	g.innerHTML = "500";
	var d = document.getElementById("total_comment");
	d.innerHTML = d.innerHTML*1 + 1;
	var f = document.getElementById("number_comment");
		if(f.innerHTML*1 < 8)f.innerHTML=f.innerHTML*1 + 1;
	document.getElementById("user_comment").value = "";
	}
}

function more_comment(){
	var count = document.getElementById("number_comment").innerHTML*1;
	count = Math.floor(count/8+1);
	var p_id = document.getElementById('p_id').value;
	var arr_obj = new Object();
	arr_obj['p_id'] = p_id;
	arr_obj['count'] = count;
	ajax_post("php_content/more_comment.php", arr_obj, "more_comment_ajax");
	//ajax_more_comment(p_id,count);
}

function more_comment_ajax(xmlhttp_responseText){
	var a = document.getElementById("comment");
	var user_name = document.getElementById("user_name").value;
	var session_stale = document.getElementById("session_stale").value;

	var div_build = "";
	var data_1 = stringToXML(xmlhttp_responseText);
	data_1 = data_1.getElementsByTagName("c");

	for(var i = 0; i<data_1.length; i++){
		var k = new Array();
		k[0] = data_1[i].getAttribute("cid");
		k[1] = data_1[i].getAttribute("username");
		k[2] = data_1[i].getAttribute("comment").replace(/\\n/g,"<br/>");
		k[3] = data_1[i].getAttribute("time");

	if(session_stale=="false"){
    	if(k[1] == user_name){
        	div_build = [div_build, "<div class='comment_holder' id='comment_",k[0],"'>",
        	"<div class='comment_title_holder'><div class='comment_title_user_name'><a href='user_page.php?u=",k[1],
        	"' >",k[1],"<\/a><\/div><div class='comment_title_time'>(",k[3],")<\/div>",
        	"<div class='comment_title_js' id='comment_widget_",k[0],"'><a href='' onclick=\"delete_comment('",
        	k[0],"','",k[1],"');return false;\" >Remove<\/a><\/div>",
        	"<\/div><div class='comment_content'>",k[2],"<\/div><\/div>"].join('');
    	}else{
        	div_build = [div_build, "<div class='comment_holder' id='comment_",k[0],"'>",
        	"<div class='comment_title_holder'><div class='comment_title_user_name'><a href='user_page.php?u=",k[1],
        	"' >",k[1],"<\/a><\/div><div class='comment_title_time'>(",k[3],")<\/div>",
        	"<div class='comment_title_js' id='comment_widget_",k[0],"'><a href='' onclick=\"spam('",k[0],"','",
        	k[1],"');return false;\" >Spam<\/a><\/div><\/div>",
        	"<div class='comment_content'>",k[2],"<\/div><\/div>"].join('');
    	}
	}else{
        div_build = [div_build, "<div class='comment_holder' id='comment_",k[0],"'>",
        "<div class='comment_title_holder'><div class='comment_title_user_name'><a href='user_page.php?u=",k[1],
        "' >",k[1],"<\/a><\/div><div class='comment_title_time'>(",k[3],")<\/div>",
        "<div class='comment_title_js' id='comment_widget_",k[0],"'><\/div><\/div>",
        "<div class='comment_content'>",k[2],"<\/div><\/div>"].join('');
	}
}

	var b = document.getElementById("comment");
	b.innerHTML = b.innerHTML + div_build;
	var d =document.getElementById("number_comment");
	d.innerHTML = b.childNodes.length;
	
	var c = document.getElementById("total_comment");
	if(c.innerHTML==d.innerHTML){
		document.getElementById("more_comment").disabled = "disabled";
	}
}

function i_like(){
	var user_name = document.getElementById("user_name").value;
	if(user_name==null || user_name==""){
    	var a = document.getElementById("like_msg");
    	a.innerHTML = "Sign in to vote."; 
    	a ="";
	}else{
    	var p_id = document.getElementById("p_id").value;
    	var arr_obj = new Object();
    	arr_obj['user_name'] = user_name;
    	arr_obj['p_id'] = p_id;
    	ajax_post("php_content/insert_like.php", arr_obj, "insert_like_ajax");
	}
}

function insert_like_ajax(xmlhttp_responseText){
	var a = xmlhttp_responseText;
	document.getElementById("like_msg").innerHTML = a;
}

function spam(comment_id, user_name){
	var arr_obj = new Object();
	arr_obj['comment_id'] = comment_id;
	arr_obj['user_name'] = user_name;
	ajax_post("php_content/insert_spam.php",arr_obj, "spam_ajax");
}

function spam_ajax(xmlhttp_responseText){
	var b = xmlhttp_responseText.split(",")
	var a = "comment_widget_"+b[1];
	if(b[0]=="error"){
    	document.getElementById(a).innerHTML = document.getElementById(a).innerHTML + 
    	"An error occured.Try again.";
	}else if(b[0]=="spam"){
    	document.getElementById(a).innerHTML = "Spam noted.";
	}else if(b[0]=="noted"){
    	document.getElementById(a).innerHTML = "You have reported this comment.";
	}
}

function delete_comment(comment_id, user_name){
	var arr_obj = new Object();
	arr_obj['comment_id'] = comment_id;
	arr_obj['user_name'] = user_name;
	ajax_post("php_content/delete_comment.php",arr_obj, "delete_comment_ajax");
}

function delete_comment_ajax(xmlhttp_responseText){
	var b = xmlhttp_responseText.split(",")
	var a = "comment_widget_"+b[1];
	if(b[0]=="error"){
    	document.getElementById(a).innerHTML = document.getElementById(a).innerHTML + 
    	"An error occured.Try again.";
	}else if(b[0]=="delete"){
    	document.getElementById("spam_msg").innerHTML = "comment deleted";
    	var c = document.getElementById("comment_"+b[1]);
    	c.parentNode.removeChild(c);
	}
}

function check_invalid_char(str){
	//str = escape(str);
	//str = "a" + str; //weird bug that, when str escape has first character as ? it does not work
	var tester = str.search(/(<|>)/);
	//alert(tester);
	if(tester >0){
    	return true;
	}else{
    	return false;
	}
}

function char_counter(){
    var a = document.getElementById("user_comment");
    var str = a.value;
    
    if(str.length >500){
        a.value = str.substring(0,501);
        document.getElementById("char_left").innerHTML = 0;
    }else{
        document.getElementById("char_left").innerHTML = 500 - str.length;
    }   
}

function clear_text(){
	var k = document.getElementById("user_comment");
	if(k.value =="Write a comment."){
		k.value ="";
	}
}

function check_text(){
	var k = document.getElementById("user_comment");
	if(k.value == ""){
		k.value = "Write a comment.";
	}
}

function more_info(elm, text){
	text = html_entity_decode(text);
	//text into description elm
	var k = document.getElementById(elm);
	var short_text = k.innerHTML; 
	k.innerHTML = text;

	var m = document.getElementById("toggle_" + elm);
	m.innerHTML = ["<a href='#' onclick=\"less_info('",elm,"','",html_entity_encode(short_text),
	"');return false;\">less info<\/a>"].join("");
}

function less_info(elm, text){
	text = html_entity_decode(text);
	var k = document.getElementById(elm);
	var long_text = k.innerHTML;
	k.innerHTML =text;

	var n = document.getElementById("toggle_"+elm);
	n.innerHTML = ["<a href='' onclick=\"more_info('",elm,"','",html_entity_encode(long_text),
	"');return false;\">more info<\/a>"].join('');
}

function html_entity_encode(str) {
  str = str.replace(/'/g,"&singlequote;").replace(/"/g,"&doublequote;");
  return str;
}

function html_entity_decode(str) {
    str =str.replace(/&singlequote;/g,"'").replace(/&doublequote;/g,'"');
    return str;
}
