 // JavaScript Document

var login,commenter,admin,propic="Images/";
var lk="http://www.novacancythemovie.com/novacancy/index2.php";
var url= "http://www.novacancythemovie.com/novacancy/news_letter.php";

function rfresh(){
	(!sessionStorage.getItem("level"))? level = "public" : level = sessionStorage.getItem("level");
	var data = "Action=rfresh&level="+level;
	$("questions").load(lk,data);
}

function member(memtype){
	var memstr = "<select name='setting' id='setting'>";
	memstr+="<option value=''>Setting</option>";
	for(var i = 0;i<memtype.length;i++){
		memstr+="<option value="+memtype[i]+">"+memtype[i]+"</option>";
	}
	memstr+="</select>";
	return memstr;
}

$(function() {
	$("#contact").click(function() {
		$("#dialogcontact").dialog({closeText: "show",title: "Contact",show: "slide",autoOpen: true,hide: "slide"});
		data="head=contact&box=dialogcontact&req=Send";
		$("#dialogcontact").load(url,data);
		return false;
	});
});

$(function() {
	$("#loginform").click(function() {
		$("#dialoglogin").dialog({closeText: "show",title: "Login",show: "slide",autoOpen: true,hide: "slide"}); 
		data="head=login&box=dialoglogin&req=Send";
		$.ajax({type:"POST",url:url,data:data,success: function(xml){
			$("#dialoglogin").html(xml);
			$("#dialoglogin").append(signup);
    	} // End of the callback
  		}); // End $.ajax() login
		return false;
	});
});

function displayform(linkid){
	$("#"+linkid).click();
}

$(function() {
	$("#setting").change(function(){
		var tex = document.getElementById("setting");
		var choice = tex.value;
		var url = "";
		
		switch(choice){
			case "Logout":
				sessionStorage.clear();
				sessionStorage.setItem('login',false);
				document.location = "http://www.novacancythemovie.com";
				break;
			case "Profile":
				if(sessionStorage.getItem('admin') == "true"){
					profile();
				}else if(sessionStorage.getItem('login') == "true"){
					prem("profile","main","req=Update");
				}
				break;
			case "Newpost":
				if(sessionStorage.getItem('admin') == "true"){
					prem("blogs","main","req=Insert");
				}
				break;
			case "Post":
				if(sessionStorage.getItem('admin') == "true"){
					post();
				}
				break;
			case "Newcategory":
				if(sessionStorage.getItem('admin') == "true"){
					prem("category","main","req=Insert");
				}
				break;
			case "Category":
				if(sessionStorage.getItem('admin') == "true"){
					category();
				}
				break;
			case "Upload":
				upload();
				break;
			case "Photo":
				photo(1);
				break;
			case "Newmessage":
				prem("newmessage","main","req=Insert");
				break;
			case "Message":
				var page = 1;
				message(page);
				break;
			default: 
				"invalid";
		}
	});
});

/*
$("#member").hover(
function(){
	$("#tooltip").text("This is Prem");
	$("#tooltip").show();
},
function(){
	$("#tooltip").hide();
}
);
*/

// show large picture when hover on thumbnail
function showpic(num, photo){
	var c=document.getElementById(num);
	//var userid = sessionStorage.getItem("commenter");
	var data = "Action=callout&userid="+photo;
	$("#"+num).load(lk,data);
	c.className="showpic";
}

function hidepic(num){
	// html 5 canvas
	var c=document.getElementById(num);
	c.className = "hidepic";
	
	// uncomment this for html 4 image style
	// document.images[num].className="hidepic";
}

function twitter(parm,txt){	
var str = "http://twitter.com/share?url=";
str+=escape(parm);
str+="&via=TibetNepalGifts";
str+="&text="+escape(txt);
window.open(str,"Twitter","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=550,height=450,screenX=150,screenY=150,top=150,left=150"); 
//window.open(str,"Twitter"); 
}

// This function is used to load facebook page when user click on the facebook button on the page
function facebook(url){
	var share = {
   method: 'stream.share',
   u: url
 };

 FB.ui(share, function(response) { console.log(response); });
}

function getfile(url) {
	$("#main").load(url);
}

function postbytag(target) {
	var tword = $("#"+target).text();
	var data = "Action=tag&tagword="+tword;
	$("#main").load(lk,data);
}

function readpost(target) {
	var param = $("#"+target).attr('href');
	var data = "Action=read&"+param;
	$("#main").load(lk,data);
}

function allpost(page) {
	var data = "Action=allpost&page="+page;
	//var data = "Action=allpost";
	$("#main").load(lk,data);
}

function upload() {
	var userid = sessionStorage.getItem("commenter");
	uploadact='http://prem.tibetnepalgifts.com/php/upload.php?userid='+userid;
	var data = "Action=upload&userid="+userid;
	$.ajax({type:"POST",url:lk,data:data,success: function(xml){
		$("#main").html(xml);
		$("#uploadframe").attr("src",uploadact);
    } // End of the callback
  	}); // End $.ajax() upload
}

function photo(page) {
	var userid = sessionStorage.getItem("commenter");
	var data = "Action=photo&userid="+userid+"&page="+page;
	$("#main").load(lk,data);
}

function profile() {
	var data = "Action=profile";
	$("#main").load(lk,data);
}

function post() {
	var data = "Action=post";
	$("#main").load(lk,data);
}

function category() {
	var data = "Action=category";
	$("#main").load(lk,data);
}

function friend($page) {
	var data = "Action=friend&page="+$page;
	
	if(sessionStorage.getItem("login")=='true'){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#main").load(lk,data);
	}else{
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest","main");
		sessionStorage.setItem("key","friend");
		displayform("loginform");
		//$( "#loginform" ).click();
	}
}

function photo($page) {
	var data = "Action=photo&page="+$page;
	
	if(sessionStorage.getItem("login")=='true'){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#main").load(lk,data);
	}else{
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest","main");
		sessionStorage.setItem("key","photo");
		displayform("loginform");
		//$( "#loginform" ).click();
	}
}

function audio($page) {
	var data = "Action=audio&page="+$page;
	
	if(sessionStorage.getItem("login")=='true'){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#main").load(lk,data);
	}else{
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest","main");
		sessionStorage.setItem("key","audio");
		displayform("loginform");
		//$( "#loginform" ).click();
	}
}

function video($page) {
	var data = "Action=video&page="+$page;
	
	if(sessionStorage.getItem("login")=='true'){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#main").load(lk,data);
	}else{
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest","main");
		sessionStorage.setItem("key","video");
		displayform("loginform");
		//$( "#loginform" ).click();
	}
}

function share(choice) {
	var memo = $("#timeline").val();
	(!sessionStorage.getItem("level"))? level = "public" : level = sessionStorage.getItem("level");
	var data = "Action=share&level="+level+"&choice="+choice+"&memo="+memo;

	if(sessionStorage.getItem("login")=="true" && memo!=null && level != choice){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#q1").load(lk,data);
		sessionStorage.setItem("level",choice);
		interid = sessionStorage.getItem("interid");
		clearinterval(interid);
		rfreshid = setInterval(rfresh(),10000);
		sessionStorage.setItem("interid",rfreshid);
	}else if(sessionStorage.getItem("login")=="true" && memo == null && level != choice){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		$("#q1").load(lk,data);
		sessionStorage.setItem("level",choice);
		interid = sessionStorage.getItem("interid");
		clearinterval(interid);
		rfreshid = setInterval(rfresh(),10000);
		sessionStorage.setItem("interid",rfreshid);
	}else if(sessionStorage.getItem("login")=="true" && memo != null && level == choice){
		var id = sessionStorage.getItem("commenter");
		data+="&id="+id;
		// alert(data);
		$("#q1").load(lk,data);
	}else {
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest","q1");
		sessionStorage.setItem("key",choice);
		displayform("loginform");
	}
}

function message(page) {
	commenter = sessionStorage.getItem("commenter");
	//var data = "Action=message&userid="+commenter;
	var data = "Action=message&userid="+commenter+"&page="+page;
	$("#main").load(lk,data);
}

function datapage(size,page,datalist){
	commenter = sessionStorage.getItem("commenter");
	var data = "Action=datapage&userid="+commenter+"&size="+size+"&page="+page;
	$("#"+datalist).load(lk,data);
}

function readmsg(destid,messageid){
	if((sessionStorage.getItem("open") == "true") && (sessionStorage.getItem("location") == destid)){
		$("#"+destid).hide(200);
		sessionStorage.setItem("open","false");
		sessionStorage.setItem("location","");
		sessionStorage.setItem("msgid","");
	}else if((sessionStorage.getItem("open") == "true") && (sessionStorage.getItem("location") != destid)){
		var oldlocation = sessionStorage.getItem("location");
		sessionStorage.setItem("location",destid);
		sessionStorage.setItem("msgid",messageid);
		$("#"+oldlocation).hide(200);
		var data = "Action=readmessage&messageid="+messageid;
		$("#"+destid).load(lk,data);
		$("#"+destid).css("padding","18px 1em");
		$("#"+destid).show(200);
	}else{
		sessionStorage.setItem("open","true");
		sessionStorage.setItem("location",destid);
		sessionStorage.setItem("msgid",messageid);
		var data = "Action=readmessage&messageid="+messageid;
		$("#"+destid).load(lk,data);
		$("#"+destid).css("padding","18px 1em");
		$("#"+destid).show(200);
	}
}
 
function itemdelete(bbtable,photo,action){
	var item = "";
	var data = "Action=deleteok&bbtable="+bbtable+"&"+action;
	
	switch(bbtable){
		case "bb_message":
			item = "message";
			break;
		case "bb_photo":
			item = "photo";
			break;
	}
	
	$("#"+photo).html("Are you sure you want to delete this "+item+"?  Click ok to continue.<br><input type='button' id='okbtn' onClick=deleteok('"+photo+"','"+data+"') value='ok'>");
	$("#"+photo).show();
	$("#"+photo).dialog({closeText: "show",title: "Confirm",show: "slide",autoOpen: true,hide: "slide"})//,buttons:{"Ok":function(){
		//$().load(lk,data);
	//}}});
}

function deleteok(destid,data){
	//alert("hello");
	//var data = "Action=deletok&messageid="+messageid;
	$("#"+destid).load(lk,data);
}

// This function is used to close the popup window when user click X on the top right of the window
function cut(photo){
  var elem = document.getElementById(photo);
  elem.className="hidepic";
  elem.innerHTML = "";
}

function friendrequest(photo,action){
	var data = "Action=friendrequestok&"+action;
	if(sessionStorage.getItem("login")=='true'){
		var id = sessionStorage.getItem("commenter");
		data+="&msgfrom="+id;
		$("#"+photo).html("Prem you are about send friend request to Emily.  Click ok to continue.<br><input type='button' 						        id='okbtn' onClick=friendrequestok('"+photo+"','"+data+"') value='ok'>");
		$("#"+photo).show();
		$("#"+photo).dialog({closeText: "show",title: "Confirm",show: "slide",autoOpen: true,hide: "slide"});
	}else{
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("dest",photo);
		sessionStorage.setItem("key","friendrequestok");
		sessionStorage.setItem("buff",$("#main").html());
		displayform("loginform");
		// $( "#loginform" ).click();
	}
}

function friendrequestok(destid,data){
	$("#"+destid).load(lk,data);
}

function addnewfriend(elmid,param){
	var data = "Action=addnewfriend&"+param;
	$("#"+elmid).load(lk,data);
}

function scenicsearch(photo){ 
	var stsearch = $("#stsearch").serialize();
	var data = "Action=scenicsearch&page=1&"+stsearch;
	$("#main").load(lk,data);
	$(fieldcol).css("width","10em");
}


function chat(){
	$("#main").load("http://prem.blogdns.com:8124/index.html");
}
// This function is used to display form to input new data when user click new button on the page.
function prem(packet,photo,action) {
	var data = "";
	data+="head="+packet+"&box="+photo+"&"+action;

	if((packet=='blogs' || packet == 'post' || packet == 'profile')&&sessionStorage.getItem('admin') == "true"&&photo=='main'){
		commenter = sessionStorage.getItem("commenter");
		data+="&author_id="+commenter;
		//admin = sessionStorage.getItem("admin");
		
		//if(admin == "true"){
			//data+="&author_id="+commenter+"&admin="+admin;
		//}
		
	  	$("#"+photo).load(url, data);
	}else if((packet == 'profile')&&sessionStorage.getItem('login') == "true"&&photo=='main'){
		commenter = sessionStorage.getItem("commenter");
		data+="&id="+commenter;
		//alert(data);
	  	$("#"+photo).load(url, data);
	}else if(packet == 'comments'&&sessionStorage.getItem('login') == "true"){
		commenter = sessionStorage.getItem("commenter");
		data+="&commenter="+commenter;
		//admin = sessionStorage.getItem("admin");
		
		//if(admin == "true"){
			//data+="&author_id="+commenter+"&admin="+admin;
		//}
		
	  	$("#"+photo).load(url, data);
	}else if(packet=='blogs' || packet == 'comments'){ // holds till user logs in
		sessionStorage.setItem("hold",true);
		sessionStorage.setItem("data",data);
		sessionStorage.setItem("buff",$("#main").html());
		sessionStorage.setItem("dest",photo);
		displayform("loginform");
		//$( "#loginform" ).click();
	}else if(packet == 'edit' || packet == 'friend'){ // displays pop up window without userid
		var content = document.getElementById(photo); 
	 	if (content.className == "hidepic") content.className = "showspan";
		$("#"+photo).load(url, data);
	}else if( packet == 'profile' || packet == 'post' || packet == 'category'){ // this displays pop up window. requirs userid
		//alert("hello");
		commenter = sessionStorage.getItem("commenter");
		data+="&author_id="+commenter;
		var content = document.getElementById(photo); 
	 	if (content.className == "hidepic") content.className = "showspan";
		$("#"+photo).load(url, data);
	}else if( packet == 'message' || packet == 'addfriend' || (packet == 'newmessage' && photo != 'main')){ // this displays pop up window. requirs userid
		//alert("hello");
		commenter = sessionStorage.getItem("commenter");
		data+="&msgfrom="+commenter;
		var content = document.getElementById(photo); 
	 	if (content.className == "hidepic") content.className = "showspan";
		$("#"+photo).load(url, data);
	} else if( packet == 'newmessage' && photo == 'main'){ // this displays pop up window. requirs userid
		commenter = sessionStorage.getItem("commenter");
		data+="&msgfrom="+commenter;
		$("#"+photo).load(url, data);
	} else {
		$("#"+photo).load(url, data);
	} 	 
}

// Ajax based form validation for all form related page.  I tried to make it genetic.

// This function is used to validate the data when user enters it in the individual form field.
function validate(str,place){
  var data="";
  var elm = document.getElementById(str);
 
  if(elm.value == 'off') {
    elm.value='on';
  } else if(elm.value == 'on'){
	elm.value='off';
  }
  var idvalue=document.forms.item(1).id;
  data+="req=validate&word="+elm.name+"&weight="+elm.value+"&elmid="+idvalue;
  sendData(data,place);
}

// This form is used to submit form data when user click send button at the end of the form
function prepareForm(letform,context) {	
	var data = "";
   	if(letform == 'login') {
		/*
    	var x = document.getElementsByTagName("input");
		for (var i = 2; i<x.length; i++){
			var y = x.item(i).name;
			var z = x.item(i).value;
			data+=y+"="+z+"&";
		}
		*/
		var data = $("#"+letform).serialize();
		var x = $("#req").val();
		data+="&req="+x;
	}else if(letform == "addfriend"){
		var data = $("#"+letform).serialize();
		var x = $("#req").val();
		var message = "you have a friend request";
		data+="&req="+x+"&message="+message;
	}else{
		var data = $("#"+letform).serialize();
		var x = $("#req").val();
		data+="&req="+x;
	}// End if condition
	
	displayLoading(context);
	
		$.ajax({type:"POST",url:url,data:data,success: function(xml){
			login = $(xml).find("login").text();
			if(login){
				sessionStorage.setItem("login",true);
				commenter = $(xml).find("userid").text();
				sessionStorage.setItem("commenter",commenter);
				admin = $(xml).find("admin").text();
				sessionStorage.setItem("admin",admin);
				picture = $(xml).find("picture").text();
				sessionStorage.setItem("picture",picture);
				name = $(xml).find("name").text();
				sessionStorage.setItem("name",name);
				document.location = "http://www.novacancythemovie.com";
			}else if(context == "comment"){
				$("#allcomments").first().before(xml);
				$("#"+context).text(" ");
			}else{
				$("#"+context).html(xml);
			}
    	} // End of the callback
  		}); // End $.ajax() login
} // End of prepareForm()

// This function used to display the loading image animation while wating for the response
function displayLoading(content) {
  var image = document.createElement("img");
  image.setAttribute("src","../images/loading.gif");
  image.setAttribute("alt","Loading...");
  image.width = 20;
  image.height = 20;
  var loading="<img src='"+image.src+"' alt='"+image.alt+"' width='"+image.width+"' height='"+image.height+"'>";
  $("#"+content).html(loading);
}

// This function is used to fade background color for error message displayed
function fadeUp(element,red,green,blue) {
  if (element.fade) {
    clearTimeout(element.fade);
  }
  element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
  if (red == 255 && green == 255 && blue == 255) {
    return;
  }
  var newred = red + Math.ceil((255 - red)/10);
  var newgreen = green + Math.ceil((255 - green)/10);
  var newblue = blue + Math.ceil((255 - blue)/10);
  var repeat = function() {
    fadeUp(element,newred,newgreen,newblue)
  };
  element.fade = setTimeout(repeat,100);
}

function fadeUpErrors(element) {
  var messages = element.getElementsByTagName("strong");
  for (var i=0; i<messages.length; i++) {
    if (messages[i].className == "error") {
      fadeUp(messages[i],255,153,153);
    }
  }
}

