/**
* Created by mubashir on 9/21/15.
*/
var mainsys_array = new Array();
function mainsys(id,sharing){
//document.writeln("mainsys constructor called with id: "+id+"
");
sharing = typeof sharing !== 'undefined' ? sharing : 0;
this.id=id;
mainsys_array[id]=this;
this.sysimg_array=new Array();
this.size=0;
this.cur_img=0;
this.sharing=sharing;
}
mainsys.prototype.add_img=function(imgurl,name,picid,description,tags){
//document.writeln("mainsys add_img called with id: "+this.id+"
");
this.sysimg_array[this.size]=new sys_img(this.size++,imgurl,name,picid,description,tags);
}
mainsys.prototype.add_userid_and_name=function (userid,username){
this.userid=userid;
this.username=username;
}
mainsys.prototype.html_creater=function (newSpan){
for(var i=0 in this.sysimg_array){
var image = document.createElement("img");
//document.writeln("in html creator value of i is "+i+" and source is "+this.sysimg_array[i].url+"
");
image.src = this.sysimg_array[i].url;
image.setAttribute("id",this.id+"-"+i);
image.setAttribute("width","100px");
image.setAttribute("height","100px");
image.setAttribute("style","border-style: outset;" +
"hover : border-color: red;");
image.setAttribute("onclick","click_on_small_img("+i+",'"+this.id+"')");
image.setAttribute("value",i+"");
newSpan.appendChild(image);
}
}
function click_on_small_img(pic_number,mainsysid){
mainsys_array[mainsysid].cur_img=pic_number;
document.getElementById(mainsysid+"-bigimage").src=mainsys_array[mainsysid].sysimg_array[mainsys_array[mainsysid].cur_img].url;
mainsys_array[mainsysid].display_comments();
}
//var commnetin;
var callagain;
function commentInserter(tt,commnetin){
for(var i in tt){
commnetin.add_comment(new comment(tt[i]["commentstr"],tt[i]["name"]),tt[i]["userid"]);
}
callagain.display_comments();
}
mainsys.prototype.display_comments=function(){
var side_panel=this.save_sidepanel;
//deleting all elements
while (side_panel.firstChild) {
side_panel.removeChild(side_panel.firstChild);
}
if(this.sysimg_array[this.cur_img].my_comments.check==0){
//commnetin=this.sysimg_array[this.cur_img].my_comments;
callagain=this;
var tempid=this.sysimg_array[this.cur_img].my_comments;
$.ajax({
dataType: "json",
url: "../controller/getComments.php?picid="+this.sysimg_array[this.cur_img].picid,
success: function(data){
commentInserter(data,tempid);
}
});
this.sysimg_array[this.cur_img].my_comments.check=1;
}
var picname=document.createElement("h2");
picname.setAttribute("id",this.id+"-picname");
side_panel.appendChild(picname);
document.getElementById(this.id+"-picname").innerHTML=this.sysimg_array[this.cur_img].name;
//showing description
var txtnode=document.createTextNode("Description:");
var des=document.createElement("h3");
des.appendChild(txtnode);
side_panel.appendChild(des);
des=document.createElement("p");
if(this.sysimg_array[this.cur_img].desc){
txtnode=document.createTextNode(this.sysimg_array[this.cur_img].desc);
des.appendChild(txtnode);
}
side_panel.appendChild(des);
//showing tags
txtnode=document.createTextNode("Tags:");
des=document.createElement("h3");
des.appendChild(txtnode);
side_panel.appendChild(des);
des=document.createElement("p");
if(this.sysimg_array[this.cur_img].desc){
txtnode=document.createTextNode(this.sysimg_array[this.cur_img].tagsExtra);//change here for tags
des.appendChild(txtnode);
}
side_panel.appendChild(des);
var sideheading=document.createElement("h2");
sideheading.setAttribute("id",this.id+"myheading");
side_panel.appendChild(sideheading);
document.getElementById(this.id+"myheading").innerHTML="Comments";
var comment_table=document.createElement("table");
comment_table.setAttribute("id",this.id+"-comments");
//change here
side_panel.appendChild(comment_table);
for(var i in this.sysimg_array[this.cur_img].my_comments.commentarr){
var row=document.createElement("tr");
var username=document.createElement("td");
username.setAttribute("id",this.id+"-comments-username-"+i);
row.appendChild(username);
comment_table.appendChild(row);
var newrow=document.createElement("tr");
var comment_value=document.createElement("td");
comment_value.setAttribute("id",this.id+"-comments-value-"+i);
newrow.appendChild(comment_value);
comment_table.appendChild(newrow);
document.getElementById(this.id+"-comments-username-"+i).innerHTML=this.sysimg_array[this.cur_img].my_comments.commentarr[i].name;
document.getElementById(this.id+"-comments-value-"+i).innerHTML=this.sysimg_array[this.cur_img].my_comments.commentarr[i].value;
}
var row=document.createElement("tr");
var data_in_row=document.createElement("td");
row.appendChild(data_in_row);
var add_new_comments=document.createElement("form");
data_in_row.appendChild(add_new_comments);
//making form
//appending userid field
var formtemp= document.createElement("input");
formtemp.setAttribute("id",this.id+"new_userid");
formtemp.setAttribute("type","hidden");
formtemp.setAttribute("value",this.userid);
add_new_comments.appendChild(formtemp);
//appending breakline and span
formtemp= document.createElement("br");
add_new_comments.appendChild(formtemp);
//appending name field
formtemp= document.createElement("input");
formtemp.setAttribute("id",this.id+"new_name");
formtemp.setAttribute("type","hidden");
formtemp.setAttribute("value",this.username);
add_new_comments.appendChild(formtemp);
//appending breakline and span
formtemp= document.createElement("br");
add_new_comments.appendChild(formtemp);
//add_new_comments.innerHTML="your comment";
//appending comment field
formtemp= document.createElement("input");
formtemp.setAttribute("id",this.id+"new_comment");
formtemp.setAttribute("type","text");
formtemp.setAttribute("value","your comment");
add_new_comments.appendChild(formtemp);
//appending breakline and span
formtemp= document.createElement("br");
add_new_comments.appendChild(formtemp);
//appending submit button
formtemp= document.createElement("input");
formtemp.setAttribute("id",this.id+"submit_button");
formtemp.setAttribute("type","submit");
add_new_comments.appendChild(formtemp);
comment_table.appendChild(row);
//setting values
add_new_comments.setAttribute("action",'javascript:add_comment_from_user("'+this.id+'","'+this.id+"new_userid"+'","'+this.id+"new_name"+'","'+this.id+"new_comment"+'");');
}
function get_value(id){
return document.getElementById(id).value;
}
function add_comment_from_user(mainsysid,input_userid_id,input_name_id,input_comment_value_id){
var temp_userid=get_value(input_userid_id);
var temp_commentstr=get_value(input_comment_value_id);
var temp_picid=mainsys_array[mainsysid].sysimg_array[mainsys_array[mainsysid].cur_img].picid;
//document.writeln(temp_picid+"
");
$.post( "../controller/store_comments.php", { userid: temp_userid, comment: temp_commentstr, picid : temp_picid } );
var temp=new comment(get_value(input_comment_value_id),get_value(input_name_id),get_value(input_userid_id));//comnetstr,name,userid
mainsys_array[mainsysid].sysimg_array[mainsys_array[mainsysid].cur_img].add_comment(temp);
mainsys_array[mainsysid].display_comments();
}
var original_size_bigimg=window.screen.availHeight-500;
mainsys.prototype.display=function(divclass){
//document.writeln("In display funciton
");
//creating all divs here
this.divclass=divclass;
// comment bar div
$("#"+divclass).css("height","550px");
var side_panel=document.createElement("div");
side_panel.setAttribute("class",this.id+"-commentbar");
side_panel.setAttribute("id",this.id+"-idcommentbar");
side_panel.style.width="205px";
//side_panel.style.max-height="100%";
//side_panel.style.display="inline";
side_panel.style.border="2px solid #8AC007";
side_panel.style.fontFamily='"Arial Black", Gadget, sans-serif';
side_panel.style.float="left";
side_panel.style.display="inline-block";
side_panel.style.overflow="auto";
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(side_panel);
else
document.writeln("yes
");
this.save_sidepanel=side_panel;
$('.'+this.id+"-commentbar").css("max-height","100%");
this.display_comments();
//main big image div
var bigimg=document.createElement("div");
bigimg.setAttribute("class",this.id+"-coverbigimg");
bigimg.setAttribute("id",this.id+"-coverbigimg");
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(bigimg);
else
document.writeln("yes
");
$("#"+this.id+"-coverbigimg").css("width",width);
$("#"+this.id+"-coverbigimg").css("height","550px");
$("#"+this.id+"-coverbigimg").css("display","flex");
//main image
var image=document.createElement("img");
image.src=this.sysimg_array[this.cur_img].url;
image.setAttribute("id",this.id+"-bigimage");
image.setAttribute("onclick","nextimg(this, '"+this.id+"',event)");
bigimg.appendChild(image);
var heg=window.screen.availHeight;
var width=window.screen.availWidth;
heg-=700;
width-=700;
$("#"+this.id+"-bigimage").css("max-width",'100%');
$("#"+this.id+"-bigimage").css("max-width",'100%');
//all small images div
var newSpan = document.createElement('div');
// add the class to the 'span'
newSpan.setAttribute('class', this.id+'-slider');
newSpan.setAttribute('id',this.id+'-slider');
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(newSpan);
else
document.writeln("yes
");
$('.'+this.id+'-slider').css("width",width-50);
$('.'+this.id+'-slider').css("max-height","100%");
$('.'+this.id+'-slider').css("overflow","auto");
var $j = jQuery.noConflict();
//create side panel
this.html_creater(newSpan);
//change view button comments
var change=document.createElement("button");
change.setAttribute("type","button");
change.setAttribute("id",this.id+"-change-comments");
change.setAttribute("onclick",'hide_comments("'+this.id+"-idcommentbar"+'","'+this.id+"-bigimage"+'","'+this.id+'-slider'+'")');
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(change);
else
document.writeln("yes
");
document.getElementById(this.id+"-change-comments").innerHTML="toggle comments";
//change main image
var change=document.createElement("button");
change.setAttribute("type","button");
change.setAttribute("id",this.id+"-change-bigimg");
change.setAttribute("onclick",'hide_bigimg("'+this.id+"-idcommentbar"+'","'+this.id+"-bigimage"+'","'+this.id+'-slider'+'")');
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(change);
else
document.writeln("yes
");
document.getElementById(this.id+"-change-bigimg").innerHTML="toggle bigimg";
//change small img
var change=document.createElement("button");
change.setAttribute("type","button");
change.setAttribute("id",this.id+"-change-smallimg");
change.setAttribute("onclick",'hide_smallimg("'+this.id+"-idcommentbar"+'","'+this.id+"-bigimage"+'","'+this.id+'-slider'+'")');
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(change);
else
document.writeln("yes
");
document.getElementById(this.id+"-change-smallimg").innerHTML="toggle smallimg";
//share image
if(this.sharing==0){
var change=document.createElement("button");
change.setAttribute("type","button");
change.setAttribute("id",this.id+"-share");
change.setAttribute("onclick",'share("'+this.id+'")');
if(document.getElementById(divclass)!=null)
document.getElementById(divclass).appendChild(change);
document.getElementById(this.id+"-share").innerHTML="share";
}
document.getElementById(divclass).appendChild(document.createElement("br"));
}
function share(myid){
window.open(
"./sharePic.php?picid="+mainsys_array[myid].sysimg_array[mainsys_array[myid].cur_img].picid,
'_blank' // <- This is what makes it open in a new window.
);
}
function hide_comments(mycomments,mybigpicture,myslider){
var width=window.screen.availWidth;
if(document.getElementById(mycomments).style.display!="none"){
document.getElementById(mycomments).style.display="none";
original_size_bigimg=document.getElementById(mybigpicture).style.width;
document.getElementById(mybigpicture).style.width=width-25+"px";
}
else {
document.getElementById(mybigpicture).style.width=original_size_bigimg;
document.getElementById(mycomments).style.display="inline-block";
}
}
var original_smallimg_height=105;
function hide_bigimg(mycomments,mybigpicture,myslider){
$("#"+mybigpicture).toggle();
}
var original_bigimg_height;
function hide_smallimg(mycomments,mybigpicture,myslider){
var height=window.screen.availHeight;
if(document.getElementById(myslider).style.display!="none"){
document.getElementById(myslider).style.display="none";
$("#"+mybigpicture).height(height-125);
}
else {
$("#"+mybigpicture).height(height-230);
document.getElementById(myslider).style.display="block";
}
}
function nextimg(thisptr,mainsysptr,event){
var original_width=document.getElementById(mainsysptr+"-bigimage").clientWidth;
var x = event.clientX;
if(x>(original_width/2)){
mainsys_array[mainsysptr].cur_img++;
mainsys_array[mainsysptr].cur_img=mainsys_array[mainsysptr].cur_img% mainsys_array[mainsysptr].size;
document.getElementById(mainsysptr+"-bigimage").src=mainsys_array[mainsysptr].sysimg_array[mainsys_array[mainsysptr].cur_img].url;
mainsys_array[mainsysptr].display_comments();
}
else{
mainsys_array[mainsysptr].cur_img--;
if(mainsys_array[mainsysptr].cur_img<0){
mainsys_array[mainsysptr].cur_img=mainsys_array[mainsysptr].size-1;
}
mainsys_array[mainsysptr].cur_img=mainsys_array[mainsysptr].cur_img% mainsys_array[mainsysptr].size;
document.getElementById(mainsysptr+"-bigimage").src=mainsys_array[mainsysptr].sysimg_array[mainsys_array[mainsysptr].cur_img].url;
mainsys_array[mainsysptr].display_comments();
}
}