 var g_state_ready = true;
 var g_move_state_ready = true;
 var g_check_state_ready_timer;
 var g_check_parts_left_timer;
 var g_check_state_ready_desc_timer;
 var object_fade_out;
 var g_opacity_state_ready = true;
 
 var g_opacity_objects;
 var g_get_data;
 var g_set_images;

 var g_move_objects_to_left;
 var g_move_objects_to_right;
 
 var g_last_xmlhttp_status;
 
 
 var g_global_fade_out = 1;
 var g_global_fade_in = 0;
 
 var g_multiple_global_fade_out = 1;
 var g_multiple_global_fade_in = 0;
 var g_thumb_state_ready = true;
 

 
 var g_last_xmlhttp_status;
 
 var g_images_array;
 
 var g_rcounter = 0;
 
 var g_thumbs_limit = 0;
 var g_number_images = 0;
 
  var xmlhttp=false;
	 try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e) {
	   xmlhttp = false;
	  }
	 }
	  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	  xmlhttp = new XMLHttpRequest();
	}
	
var Browser = {
  Version: function() {
    var version = 999; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1)
      // bah, IE again, lets downgrade version number
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
}	
	
 function generate_security_code(){
 		var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
		var string_length = 10;
		var random_code = '';
		for (var i=0; i<string_length; i++) {
			var rnum = Math.floor(Math.random() * chars.length);
			random_code += chars.substring(rnum,rnum+1);
		}
		return random_code;
 }
 
 function setGallery(num_images){
 	//g_images_array = new Array(num_images);
 	g_number_images = num_images;
 	/*for(var i=0; i<num_images; i++){
 		g_images_array[i] = 0;
		if(i<6){
			g_images_array[i] = 2;
		}else if(i>=6 && i<12){
			g_images_array[i] = 3;
		}
 	}*/
 	//alert(g_images_array);
 }
 
 function __checkStateReady(){

 	if(g_global_fade_in < 1){
	 	clearTimeout(g_check_state_ready_timer);
			if(g_opacity_state_ready){
					g_check_state_ready_timer = setTimeout("__checkStateReady()", 300);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}else{
		//alert('done');
		clearTimeout(g_check_state_ready_timer);
		g_global_fade_out = 1;
	 	g_global_fade_in = 0;
	 	g_state_ready = true;
	 	
	}	
	
 	if(g_multiple_global_fade_in < 1){
	 	clearTimeout(g_check_state_ready_timer);
			if(g_opacity_state_ready){
					g_check_state_ready_timer = setTimeout("__checkStateReady()", 300);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}else{
		//alert('done');
		clearTimeout(g_check_state_ready_timer);
		g_multiple_global_fade_in = 0;
	 	g_multiple_global_fade_out = 1;
	 	g_thumb_state_ready = true;
	 	
	}
	
	
		
 }

 function __setGalleryImageDescription(img_description){
 	
 	if(g_multiple_global_fade_in < 1){
	 	clearTimeout(g_check_state_ready_desc_timer);
			if(g_opacity_state_ready){
					g_check_state_ready_desc_timer = setTimeout("__setGalleryImageDescription('"+img_description+"')", 300);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}else{
		if(document.getElementById('description_holder') != null){
	 		document.getElementById('description_holder').style.display = 'block';
	 		document.getElementById('description_holder').innerHTML = img_description;
	 	}
	}
	
	if(g_global_fade_in < 1){
	 	clearTimeout(g_check_state_ready_desc_timer);
			if(g_opacity_state_ready){
					g_check_state_ready_desc_timer = setTimeout("__setGalleryImageDescription('"+img_description+"')", 300);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}else{
		if(document.getElementById('description_holder') != null){
	 		document.getElementById('description_holder').style.display = 'block';
	 		document.getElementById('description_holder').innerHTML = img_description;
	 	}
	}
 	
 }

 function changeGalleryImage(img_url, img_description){
 	  //document.getElementById("gallery_image").style.filter = "progid:DXImageTransform.Microsoft.Alpha(Opacity=5)";
 	  if(g_state_ready){
 	  	  
 	  	  g_state_ready = false;
	 	  //g_global_fade_out = 1;
	 	  //g_global_fade_in = 0;
	 	__g_object_fade_out("gallery_image", 0);
	 	
	 	if(document.getElementById('description_holder') != null){
	 		document.getElementById('description_holder').style.display = 'none';
	 	}
	 	
	 	clearTimeout(object_fade_out);
				if(g_opacity_state_ready){
						object_fade_out = setTimeout("__changeGalleryImage('"+img_url+"', 'gallery_image')", 30);
				}else if(g_last_xmlhttp_status == 0){
					alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
				}
 		}else{
 
 			//document.getElementById('gallery_image').innerHTML = '<img src="'+img_url+'" />';
 		}
 		
 		__setGalleryImageDescription(img_description);
 		
 		__checkStateReady();
 	
 }
 
 

 function __changeGalleryImage(img_url, object_id){
  		if(window.ActiveXObject && Browser.Version() <= 7){//IE
  			//if(document.getElementById(object_id).style.opacity <= 5){alert('ha');
  			if(g_global_fade_out == 0){
		 		document.getElementById('gallery_image').innerHTML = '<img src="'+img_url+'" border="0">';
		 		__g_object_fade_in("gallery_image", 0);
		 	}else{
		 		clearTimeout(object_fade_out);
					if(g_opacity_state_ready){
					
							object_fade_out = setTimeout("__changeGalleryImage('"+img_url+"', 'gallery_image')", 30);
					}else if(g_last_xmlhttp_status == 0){
						alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
					}
		 	}
  		}else{
		 	if(document.getElementById(object_id).style.opacity <= 0.06){
		 		document.getElementById('gallery_image').innerHTML = '<img src="'+img_url+'" border="0">';
		 		__g_object_fade_in("gallery_image", 0);
		 	}else{
		 		clearTimeout(object_fade_out);
					if(g_opacity_state_ready){
					
							object_fade_out = setTimeout("__changeGalleryImage('"+img_url+"', 'gallery_image')", 30);
					}else if(g_last_xmlhttp_status == 0){
						alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
					}
		 	}
	 	}
 }


 function __g_object_fade_out(object_prefix, num_objects){
 	
 	if(num_objects > 0){ 	
	 	for(var i=0; i<num_objects; i++){
	 		if(document.getElementById(object_prefix + i)){
	 			__g_set_object_fade_out_opacity(object_prefix + i, g_multiple_global_fade_out, num_objects);
	 		}
	 		 
	 	}
 	}else{
 		__g_set_object_fade_out_opacity(object_prefix, g_global_fade_out, num_objects);
 	}
 	
 }
 
 function __g_set_object_fade_out_opacity(object_id, fade_out, num_objects){
 	//fade_out -= 0.01;
 	//alert(object_id);
 	if(window.ActiveXObject && Browser.Version() <= 7){//IE
 		//document.getElementById(object_id).filters.item("DXImageTransform.Microsoft.Alpha").Opacity=5;
 		//document.getElementById(object_id).filters[0].opacity=0;
		fade_out = 0;
 	}else{
 		fade_out = 0;
 		//document.getElementById(object_id).style.opacity=fade_out;
 	}
 	
 	var fout_opacity;
 	if(fade_out >= 0){
	 	clearTimeout(fout_opacity);
			if(g_opacity_state_ready){
				if(num_objects > 0){
					fout_opacity = setTimeout("__g_set_object_fade_out_opacity('"+object_id+"', "+fade_out+", "+num_objects+")", 10);
				}else{
					fout_opacity = setTimeout("__g_set_object_fade_out_opacity('"+object_id+"', "+fade_out+", "+num_objects+")", 10);
				}
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
 	}
 	
 	if(num_objects > 0){
 		g_multiple_global_fade_out = fade_out;
 	}else{
 		g_global_fade_out = fade_out;
 		
 	}
 	
 }
 
 
  function __g_object_fade_in(object_prefix, num_objects){
 	
 	if(num_objects > 0){ 	
	 	for(var i=0; i<num_objects; i++){
	 		
	 		if(document.getElementById(object_prefix + i)){
	 		
	 			__g_set_object_fade_in_opacity(object_prefix + i, g_multiple_global_fade_in, num_objects);
	 		
	 		}
	 	}
 	}else{
 		__g_set_object_fade_in_opacity(object_prefix, g_global_fade_in, num_objects);
 	}
 	
 }
 
 function __g_set_object_fade_in_opacity(object_id, fade_in, num_objects){
 	fade_in += 0.01;
 	if(window.ActiveXObject && Browser.Version() <= 7){//IE
 		//document.getElementById(object_id).filters.item("DXImageTransform.Microsoft.Alpha").Opacity=100;
 		//document.getElementById(object_id).style="filter: alpha(opacity=10);";
 		//alert(fade_in*100);
 		fade_in = 1;
 	}else{
 		fade_in = 1;
 		//document.getElementById(object_id).style.opacity=fade_in;
 	}
 	var opacity;
 	if(fade_in < 1){
	 	clearTimeout(opacity);
			if(g_opacity_state_ready){
					if(num_objects > 0){	
						opacity = setTimeout("__g_set_object_fade_in_opacity('"+object_id+"', "+fade_in+", "+num_objects+")", 10);
					}else{
						opacity = setTimeout("__g_set_object_fade_in_opacity('"+object_id+"', "+fade_in+", "+num_objects+")", 20);
					}
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
 	} 
 	if(num_objects > 0){	
 		g_multiple_global_fade_in = fade_in;
 	}else{
 		g_global_fade_in = fade_in;
 	}
 }
 
 function move_thumbs_to_left(object_prefix, gallery_id, limit_from, url){
 
 	if(g_thumbs_limit != 0){
	 	clearTimeout(g_move_objects_to_left);
			if(g_move_state_ready){
					g_move_objects_to_left = setTimeout("__move_thumbs_to_left('"+object_prefix+"', "+gallery_id+" ,"+limit_from+", '"+url+"')", 40);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}
	
 }
 
 function __move_thumbs_to_left(object_prefix, gallery_id, limit_from, url){
	if(g_thumb_state_ready){
		
		//if(document.getElementById('move_left_image').style.display == 'block'){
 		// 			document.getElementById('move_left_image').style.display = 'none';	
		// 			document.getElementById('move_right_image').style.display = 'none';	
		//}
		
	 	clearTimeout(g_opacity_objects);
			if(g_thumb_state_ready){
					g_opacity_objects = setTimeout("__g_object_fade_out('"+object_prefix+"', 6)", 300);
					
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	 	
	 	
	 	clearTimeout(g_get_data);
				if(g_thumb_state_ready){
					limit_from = g_thumbs_limit = g_thumbs_limit-6;
					//alert(limit_from);
					g_get_data = setTimeout("__g_get_http_data('"+object_prefix+"', "+gallery_id+", "+limit_from+", '"+url+"');", 500);
				}else if(g_last_xmlhttp_status == 0){
					alert("Sorry there was a problem while executing your request!!\nPlease refresh your page.");
				}
				
		/*		
	 	clearTimeout(g_set_images);
				if(g_state_ready){
					g_set_images = setTimeout("__set_images('"+object_prefix+"');", 350);
				}else if(g_last_xmlhttp_status == 0){
					alert("Sorry there was a problem while executing your request!!\nPlease refresh your page.");
				}
		*/
 	 }		
	
 }
 
 function move_thumbs_to_right(object_prefix, gallery_id, limit_from, url){

 	if(g_number_images >= (g_thumbs_limit+6)){ 	
	 	clearTimeout(g_move_objects_to_left);
			if(g_move_state_ready){
					g_move_objects_to_left = setTimeout("__move_thumbs_to_right('"+object_prefix+"', "+gallery_id+" ,"+limit_from+", '"+url+"')", 40);
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	}
		
 }
 function __move_thumbs_to_right(object_prefix, gallery_id, limit_from, url){

 	if(g_thumb_state_ready){
		
		//if(document.getElementById('move_left_image').style.display == 'block'){
 		// 			document.getElementById('move_left_image').style.display = 'none';	
		// 			document.getElementById('move_right_image').style.display = 'none';	
		//}
		
	 	clearTimeout(g_opacity_objects);
			if(g_thumb_state_ready){
					g_opacity_objects = setTimeout("__g_object_fade_out('"+object_prefix+"', 6)", 300);
					
			}else if(g_last_xmlhttp_status == 0){
				alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
			}
	 	
	 	
	 	clearTimeout(g_get_data);
				if(g_thumb_state_ready){
					limit_from = g_thumbs_limit = g_thumbs_limit+6;
					//alert(limit_from);
					g_get_data = setTimeout("__g_get_http_data('"+object_prefix+"', "+gallery_id+", "+limit_from+", '"+url+"');", 500);
				}else if(g_last_xmlhttp_status == 0){
					alert("Sorry there was a problem while executing your request!!\nPlease refresh your page.");
				}
				
		/*		
	 	clearTimeout(g_set_images);
				if(g_state_ready){
					g_set_images = setTimeout("__set_images('"+object_prefix+"');", 350);
				}else if(g_last_xmlhttp_status == 0){
					alert("Sorry there was a problem while executing your request!!\nPlease refresh your page.");
				}
		*/
 	 }		
 }
  
 function __g_get_http_data(object_prefix, gallery_id, limit_from, url){
 	
 	if(g_thumb_state_ready){
 		
	 	var get_url = '';
			
		get_url = url + "common/httpservices/get_gallery_thumbs.php?limit_from="+limit_from+"&gallery_id="+gallery_id+"&sec_code="+generate_security_code();
		
		
			g_thumb_state_ready = false;
			xmlhttp.open("GET", get_url, true);
				 xmlhttp.onreadystatechange = function() {	
					if (xmlhttp.readyState == 4) {
						if(xmlhttp.status == 200){
							var response_text = xmlhttp.responseText;
							//var response_text_array = response_text;//.split('&');
	
								document.getElementById('gallery_thumb_holder').innerHTML = response_text;
																
								
								
								clearTimeout(opacity_objects);
									if(!g_thumb_state_ready){
											opacity_objects = setTimeout("__g_object_fade_in('"+object_prefix+"', 6)", 300);
									}else if(g_last_xmlhttp_status == 0){
										alert("Sorry there was a problem while executing your request!!\nPlease refresh your page!!");
									}
									
									__checkStateReady();
								
								//setTimeout("state_ready = true; ", 3000);
								
						}
							
					}else if(xmlhttp.readyState == 0){
						alert("Sorry there was a problem while executing your request!!\nPlease refresh your page.");
					}
					g_last_xmlhttp_status = xmlhttp.readyState;
					
				};
			xmlhttp.send(null);	
 		
 	}
 	
 
 }
 
   
  
  
  
  
  
  




