var isEven = function(someNumber){
    return (someNumber%2 == 0) ? true : false;
};

function OperaCheck(){
  var view = document.defaultView;
  if (view && view.getComputedStyle) {
    var docEl = document.documentElement;
    var position = null;
    var style = view.getComputedStyle(docEl, null);
    // if element is not statically positioned, make it as such, then restore
    if (style.position !== 'static') {
      position = style.position;
      docEl.style.position = '';
    }
    var result = (view.getComputedStyle(docEl, null).left !== 'auto');
    if (position !== null) {
      docEl.style.position = position;
    }
    return result;
  }
  return null;
}




function inArray(elem,a){

  	if (a.indexOf ) {
		//alert(elem  + " : " + a.indexOf(elem));
 	 return a.indexOf(elem);
	}

	for ( var i = 0, length = a.length; i < length; i++ ) {
		if ( a[ i ] === elem ) {
		return i;
		}
	}
 return -1;
 }




 function slideShow(params){
     // alert("slideshow");
    //Move image imediatley to left

    if (params.action=="stop"){
     ALLOW_SLIDESHOW = false;
    }
	
    if(ALLOW_SLIDESHOW){
        if (screenSize=="mini"){
         currentImageWidth = CURRENT_IMAGE_WIDTH ;
        }else{
         currentImageWidth = CURRENT_IMAGE_WIDTH ;
        }

		
         $('#photos_inner').delay(3500).animate({"left": "-=" + currentImageWidth +"px"}, 0,"swing", function (){
              if (CURRENT_FRAME_NO < (MAX_FRAME_NO-1)) {
  			   CURRENT_FRAME_NO++;
			//alert(CURRENT_FRAME_NO  + " of " + MAX_FRAME_NO);
			  SLIDESHOW_RUNNING_COUNT++;
				slideShow({'action':'continue'});
  			}else{
  			  CURRENT_FRAME_NO = 0;
			  //alert(CURRENT_FRAME_NO);
  			  $('#photos_inner').css({"left":"0px"});
  			  slideShow({'action':'continue'});
			}																							 		});
		 
	}else{
	 $('#photos_inner').clearQueue();
	 $('#photos_inner').stop(true,true);
	}
}


function moveImage(params){
  //alert("Move me");
 ALLOW_IMAGE_MOVE = false;
 var ok_to_animate = true;
 switch (params.action){
    case "left":
     if (CURRENT_FRAME_NO < (MAX_FRAME_NO -1)){
       var cur_image = (CURRENT_FRAME_NO + 1);
       var animate_left_string = "-=" + CURRENT_IMAGE_WIDTH +"px";
     }else{
       $('#photos_inner').animate({"left": "0px"}, 0,"swing");
	   CURRENT_FRAME_NO = 0;
	   ok_to_animate = false;
     }
    break;
    case "right":
     if (CURRENT_FRAME_NO == 0){
       ok_to_animate = false  ;
     }else{
       var cur_image = (CURRENT_FRAME_NO - 1) ;
       var animate_left_string = "+=" + CURRENT_IMAGE_WIDTH +"px";
     }
    break;
 }
 if (ok_to_animate){
   $('#photos_inner').clearQueue();
 $('#photos_inner').animate({"left": animate_left_string}, 0,"swing",function (){
  ALLOW_IMAGE_MOVE = true;
  CURRENT_FRAME_NO = cur_image;
 });
 }
}

function iLoad(isrc) {
var oImg = new Image();
oImg.src = isrc;
if (oImg.complete) {
window.alert(oImg.src + ' ' + oImg.width + ' x ' + oImg.height);
}
else {
window.setTimeout('iLoad(imgsrc)', 1000);
}
}

function preloadImages(params){
 for (i=0;i<=5;i++){
   //alert(thisData[0]['subnav'][0]['subnav_folio'][i].filename)
 }
}

function displayImages() {
    if (!HAVE_IMAGES_PRELOAD) {
        setTimeout(displayImages, 100);
        return;
    } else {
        // Do stuff here knowing that jQuery has been fully loaded
    }
}

function setFullImages(params){
   var str_build = "";
   var double_class = "right_single";
   var double_class_key = 0;
   var next_increment = 1;
   var maxOperaWidth = 32767; 
  
   // No of image
   var total_image_count = thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'].length; 
   var image_limit  = total_image_count; 
   //test for OPERA
 	 if(OperaCheck()){
	   image_limit = Math.floor(maxOperaWidth / CURRENT_IMAGE_WIDTH);
	  // alert (image_limit)
	 }
   var image_count = 0;
  $.each(thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'], function(key, value) {
        		 image_count++ // Add one to image count
		
		if (image_count <= image_limit){
		//Check to see if single
		if (thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].content_4 !=="single"){
			//NOT a Single so
			//Check next image in sequence is it:
			// 1 - A single if so keep current image as a single
			// 2 - NOT a single in which case make current image left or right of a  2 up format
				double_class_key++;
                //If even then its right of 2up.  No need to check next image so dont up increment key
                if (isEven(double_class_key)){
				 next_increment = key;
				}else{
				  next_increment = (key + 1);
				}
                if (next_increment >= total_image_count){
                 next_increment =  key;
                }

                if (thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][next_increment].content_4 !=="single"  ){//Make as part of a pair
                    //OK set the left right class
					 if (double_class =="right_single"){
						double_class = "left_single";
						var start_cell_tag = "<td>";
                         //Are we at end of folio - in which case close cell
                         if (image_count == total_image_count){
                            var end_cell_tag = "</td>";
                            MAX_FRAME_NO ++;
                            double_class = "";
                          } else{
                            var end_cell_tag = "";
                          }
					 }else{
						double_class = "right_single";
						var start_cell_tag = "";
						var end_cell_tag = "</td>";
						MAX_FRAME_NO ++;
                        //ReSet this back to 0 so checks above work
                      double_class_key=0;
					 }
				str_build = str_build + start_cell_tag + "<div class=\""+ double_class +" \"><img format=\""+double_class+"\" name=\""+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key][0]+"\" src=\"\/core\/fi\/"+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].filename+"\" alt=\"\" /></div>" + end_cell_tag;
				}else{//Keep as single, no adjacent image
                //Re-Set this back to 0 so checks above work
                double_class_key=0;
                MAX_FRAME_NO ++;
				str_build = str_build + "<td><img format=\""+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].content_4+"\" name=\""+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key][0]+"\" src=\"\/core\/fi\/"+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].filename+"\" alt=\"\" /></td>";
				}
		 
		}else{
            //Its a plain old single
            double_class_key=0;
			MAX_FRAME_NO ++;
			str_build = str_build + "<td><img format=\""+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].content_4+"\" name=\""+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key][0]+"\" src=\"\/core\/fi\/"+thisData[params.mainnav_id]['subnav'][params.subnav_id]['subnav_folio'][key].filename+"\" alt=\"\" /></td>";
		}
		}
	});
  str_build = "<tbody><tr>" + str_build+ "<\/tr><\/tbody>";
  $("#photos_inner > tbody").replaceWith(str_build);
}
