/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*  minor change made by jim
* Updated for iKorb Merchant by Igor Z;
**/

AIM = {

    frame : function(c) {

        var n = 'f' + Math.floor(Math.random() * 99999);
        var d = document.createElement('DIV');
        //  background-color:white; border:1px solid red; width:800px; height:500px;
        //  display:none
        d.innerHTML = '<iframe style="background-color:white; border:1px solid red; width:800px; height:500px;" src="https://www.thenismoshop.com/blank.html" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
        document.body.appendChild(d);

        var i = document.getElementById(n);
        if (c && typeof(c.onComplete) == 'function') {
            i.onComplete = c.onComplete;
        }

        return n;
    },

    form : function(f, name) {
    	try {
	        f.setAttribute('target', name);
    	    f.submit();
    	 } catch (e) {}
    },

    submit : function(f, c) {
        AIM.form(f, AIM.frame(c));
        if (c && typeof(c.onStart) == 'function') {
            return c.onStart();
        } else {
            return true;
        }
    },

    loaded : function(id) {
        var i = document.getElementById(id);
        if (i.contentDocument) {
            var d = i.contentDocument;
        } else if (i.contentWindow) {
            var d = i.contentWindow.document;
        } else {
            var d = window.frames[id].document;
        }
        if (d.location.href == "about:blank") {
            return;
        }

        if (typeof(i.onComplete) == 'function') {
            i.onComplete(d.body.innerHTML);
        }
    }

}

	function loadAIM() {
		$('uploadbtn').onclick = function() {
			AIM.submit($('uploadfrm'), {'onStart': startUpload(), 'onComplete':function(){ setTimeout("stopUpload()", 100);}})
			return false;
		};
	}

	function startUpload(){
		$('upload_form').toggle();
		$('processing_form').toggle();
		return true;
	}

	function stopUpload(){
		$('upload_form').toggle();
		$('processing_form').toggle();

   	    $('successful_upload').style.display = "block";
    
		/* We need to add a new row into this table */
		uploadCompleted();
		return true;
	}
	
	function uploadCompleted(){
		var myRequest = 'ikorb.php?func=memberarea&sub_section=view_gallery&action=get_uploaded';
		var myAjax = new Ajax.Request(myRequest, {
													method: 'get', 
													onComplete: addTableRow
												 }
									);
	}
	
	function addTableRow(reply){
		var xmlDoc = reply.responseXML;
		
		try {
			var error = xmlDoc.getElementsByTagName("error")[0].firstChild.data;
			alert(error);
			return;
		} catch (e){
			/* No Error! */
		}
		try {
			/* Remove the text that says we have no images */
			$('no_gallery_images').innerHTML = "";
		} catch (e){
			/* Nothing to remove. */
		}
		
		/******************************************************************************************/
		/* Grab the fields from the XML */
		/******************************************************************************************/
		try {
			var gallery_id          = xmlDoc.getElementsByTagName("gallery_id")[0].firstChild.data;
		} catch (e){
			var gallery_id = -1;
		}
		
		try {
			var gallery_thumb       = xmlDoc.getElementsByTagName("gallery_thumb")[0].firstChild.data;
		} catch (e){
			var gallery_thumb = "/images/spacer.gif";
		}
		try {
			var gallery_description = xmlDoc.getElementsByTagName("gallery_description")[0].firstChild.data;
		} catch (e){
			var gallery_description = "";
		}
		
		try {
			var gallery_title = xmlDoc.getElementsByTagName("gallery_title")[0].firstChild.data;

		} catch (e){
			var gallery_title = "";
		}

		try {
			var gallery_image       = xmlDoc.getElementsByTagName("gallery_image")[0].firstChild.data;
		} catch (e){
			var gallery_image = "";
		}
		
		try {
			var gallery_status       = xmlDoc.getElementsByTagName("gallery_status")[0].firstChild.data;
		} catch (e){
			var gallery_status = "Pending";
		}
		
		/******************************************************************************************/
		/* Grabbed the fields from the XML */
		/******************************************************************************************/


		var myTable    = $("galleryImagesTable");
		var addedTD = findTD();
		
		addedTD.setAttribute("id", "gallery_#");
		addedTD.setAttribute("align", "center");
		addedTD.setAttribute("valign", "top");
		addedTD.setAttribute("class", "text");

		var divHTML  = '<div>';
			divHTML += '    <div class="catalog padB5" id="gallery_title_"'+gallery_id+'"><a href="#">'+gallery_title+'</a></div>';
			divHTML += '    <div><a href="javascript:;" alt="Edit" onclick="editEntree('+gallery_id+'); return false;">[e]</a>&nbsp;&nbsp;<a href="/ikorb.php?func=memberarea&amp;sub_section=view_gallery&action=Delete&gallery_id='+gallery_id+'" alt="delete">[x]</a></div>';
			divHTML += '    <div title="'+gallery_description+'">';
			divHTML += '         <a href="/images/uploaded_images/'+gallery_image+'" rel="lightbox[]" title="">';
			divHTML += '         <img border="0" class="gallery_'+gallery_status+'" src="/images/uploaded_images/'+gallery_thumb+'" alt="'+gallery_title+'" /></div>';
			divHTML += '    <div id="gallery_description_'+gallery_id+'" style="display:none; width:100%;" class="smalltext pad5">'+gallery_description+'</div>';
			divHTML += '    <div class="bold gallery_'+gallery_status+'_text">'+gallery_status+'</div>';
			divHTML += '</div>';

		addedTD.innerHTML = divHTML;

		/* Reset the upload fields */
		$("galleryUpload_id").value = "";
		$("gallery_title_id").value = "New Image";
		$("gallery_description_id").value = "";
		
		try {
			/* I hope this works :) */
			myLightbox = new Lightbox();
		} catch (e) {}
		return;
	}
	
	function editEntree(gallery_id) {
		var title = $("gallery_title_"+gallery_id).innerHTML;
		var description = $("gallery_description_"+gallery_id).innerHTML;
//    	var cat_pulldown = $("gallery_cat_pulldown_"+gallery_id).innerHTML;
		
		$("gallery_title_"+gallery_id).innerHTML       = '<input id="gallery_title_text_'+gallery_id+'" type="text" value="'+title.strip()+'" name="gallery_title" style="width:100%;" />';
		$("gallery_description_"+gallery_id).toggle();
		$("gallery_description_"+gallery_id).innerHTML = '<textarea id="gallery_description_text_'+gallery_id+'" style="width:100%; height:50%;">'+description.strip()+'</textarea><input type="submit" name="Update" value="Update" onclick="submitEdit(\''+gallery_id+'\'); " />';
		//$("gallery_description_"+gallery_id).innerHTML = '<textarea id="gallery_description_text_'+gallery_id+'" style="width:100%; height:50%;">'+description.strip()+'</textarea><a href="javascript:;"  alt="Update"  onclick="submitEdit('+gallery_id+'); return false;" >[Update]</a>';
		 
//		$("gallery_cat_pulldown_"+gallery_id).toggle();
		$("editLink"+gallery_id).style.display="none";  //Added by Bennett 080509
	}

	function submitEdit(gallery_id){
		var title = $("gallery_title_text_"+gallery_id).value;
		var description = $("gallery_description_text_"+gallery_id).value;
    	//var cat_id = document.forms[2].gallery_cat_id.value;
		$("gallery_title_"+gallery_id).innerHTML       = title.strip();
		$("gallery_description_"+gallery_id).innerHTML = description.strip();
		$("gallery_description_"+gallery_id).toggle();
//		$("gallery_cat_pulldown_"+gallery_id).toggle();		
		$("editLink"+gallery_id).style.display="";  //Added by Bennett 080509
		
		var myRequest = 'ikorb.php?func=memberarea&sub_section=view_gallery&action=Update&gallery_description='+description.strip()+'&gallery_title='+title.strip()+'&gallery_id_h='+gallery_id;
		var myAjax = new Ajax.Request(myRequest, {
													method: 'get', 
													onComplete:null 
												 });
	}

	/* Finds OR creates TDs 
	* For the image that was just uploaded
	*/
	function findTD(){
		var myTable = $("galleryImagesTable");
		
		var allTDs = $A(myTable.getElementsByTagName("td"));
		
		var myTD = allTDs.findAll(function (elem) {
			if(elem.id.length == 0) {
				return elem;
			} else { 
				return null; 
			}
		});

		/* We just need one */
		if(myTD[0]){
			try {
				addedTD = myTD[0];
			} catch (e){ }
		} else {
			var tr = document.createElement('TR');
			var addedTD = document.createElement('TD');
			tr.appendChild( addedTD );
			
			tr.appendChild( document.createElement('TD') );
			tr.appendChild( document.createElement('TD') );
			tr.appendChild( document.createElement('TD') );
			myTable.appendChild( tr );
		}
		return addedTD;
	}
