$(document).ready(init_cps)

function init_cps(){
  //init_subnav_anim()
  //$('#search_loading').css({display:'none'})
  //document.getElementById('form_search').onsubmit = do_submit

  init_toogle_items()
  //init_upchurch_zoomer()
  //init_popzoom()
  init_portfolio_gallery()
}
function do_submit(form){
  $('#search_loading').css('display','block')
  if(form!=undefined){
    if($('#text_search').val()=='search')$('#text_search').val('')
    form.submit()
  }
}

function init_subnav_anim(){
  if(BrowserDetect.browser == 'Firefox' || BrowserDetect.browser=='Explorer')return
  $('#sub_menu li em').append('<img src="'+ www_root +'/wp-content/themes/cps/images/subnavanim.gif" border="0" style="display:none;margin-left:7px">')
  $('#sub_menu li a').bind('mouseover',
    function(){
      $('img',this).css({display:'block'})
      if($(this).parent().attr('id') == 'page-item-66'){ // 2 lines indicator
        $('img', this).attr('src', www_root +'/wp-content/themes/cps/images/subnavanim_2line.gif')
      }else{
        $('img', this).attr('src', www_root +'/wp-content/themes/cps/images/subnavanim.gif')
      }

    }
  )
  $('#sub_menu li a').bind('mouseout',
    function(){
      $('img',this).css({display:'none'})
      $('img', this).attr({'src':''})
    }
  )
}

function init_toogle_items(){
  $('.toogle_body').hide()

  $('.toogle_arrow a').bind('click', function(){
    var o_next = $(this).parent().next()
    if(o_next.css('display')=='none'){
      o_next.slideDown()
      $(this).parent().addClass('selected')
    }else{
      o_next.slideUp()
      $(this).parent().removeClass('selected')
    }
    return false

  })

  $('.toogle_arrow.selected').next().show()

}


function init_upchurch_zoomer(){
  // Build element structure needed for zoomer
  $('.upchurch_zoomer').each(
    function(i){
      var href = $(this).parent().attr('href')
      var this_html = $(this).parent().html()
      var this_parent = $(this).parent()
      var this_width = $(this).width()
      var this_height= $(this).height()

      this_parent.replaceWith(
      '<div id="upchurch_zoomer_box_'+ i +'" class="upchurch_zoomer_box" style="width:'+ this_width + '; height:'+ this_height +'">' +
        '<a href="#" class="zoomer_button plus">+</a>' +
        '<div class="zoomer_container" style="width:'+ this_width + '; height:'+ this_height +'">' +
          '<div class="zoomer_large">' +
            '<img id="img_large_'+ i +'" src="' + href + '"/>' +
          '</div>' +
          '<div class="zoomer_small">' +
            this_html  +
          '</div>' +
        '</div>' +
      '</div>')

      // reposition when image loaded

      $(this).get(0).onload = function(){

        var w1 = this.width
        var h1= this.height
        var w2 = $('#img_large_' + i).width()
        var h2 = $('#img_large_' + i).height()


        $('#upchurch_zoomer_box_'+ i +',#upchurch_zoomer_box_'+ i +' .zoomer_container' ).css({width:w1,height:h1})

        $('#img_large_'+ i).parent().width( (2*w2) - w1)
        $('#img_large_'+ i).parent().height( (2*h2) - h1)
        $('#img_large_'+ i).parent().css( { top: -(h2-h1), left:-(w2-w1)})
        $('#img_large_'+ i).css( { top: (h2-h1)/2, left:(w2-w1)/2})

      }

      var w1 = this_width
      var h1= this_height
      var w2 = $('#img_large_' + i).get(0).width
      var h2 = $('#img_large_' + i).get(0).height
      $('#upchurch_zoomer_box_'+ i +',#upchurch_zoomer_box_'+ i +' .zoomer_container' ).css({width:w1,height:h1})

      $('#img_large_'+ i).parent().width( (2*w2) - w1)
      $('#img_large_'+ i).parent().height( (2*h2) - h1)
      $('#img_large_'+ i).parent().css( { top: -(h2-h1), left:-(w2-w1)})
      $('#img_large_'+ i).css( { top: (h2-h1)/2, left:(w2-w1)/2})




    }
  )


  $('.zoomer_button').bind('click', function(){
    if($(this).next().children('.zoomer_small').css('display') == 'block'){
      $(this).removeClass('plus')
      $(this).addClass('minus')
      $(this).next().children('.zoomer_small').fadeOut()
      $(this).next().children('.zoomer_large').fadeIn()
      $($(this).next().children('.zoomer_large').children()[0]).draggable({containment: $(this).next().children('.zoomer_large')  })
      $($(this).next().children('.zoomer_large').children()[0]).css('cursor','move')

    }else{
      $(this).removeClass('minus')
      $(this).addClass('plus')
      $(this).next().children('.zoomer_small').fadeIn()
      $(this).next().children('.zoomer_large').fadeOut()
    }
    return false
  })




}

var popzoom = undefined

function init_popzoom(){

  var settings = {padding:5}



  $('.popzoom').each(
    function(i){
      $(this).bind('click', function(){

        var href = $(this).parent().attr('href')
        var offset = $(this).offset()


        if(popzoom == undefined){
          $('body').append('<div id="popzoom"><img id="popzoom_shadow" src="'+ www_root +'/wp-content/themes/upchurch/images/popzoom_shadow.png"><div id="popzoom_window"><img id="popzoom_image"></div></div>')
          popzoom = $('#popzoom').get(0)
        }



        $(popzoom).css({display:'none', 'text-align':'left', position:'absolute','z-index':100, top:offset.top, left:offset.left})

        popzoom.parent_offset = offset
        popzoom._parent= this

        $(popzoom).bind('click', function(){
          return false
        })


        popzoom_img_preloader = new Image()
        popzoom_img_preloader.onload = function(){

          // 267=> 10
          var show_padding_width = (this.width / 267)* 10
          var show_padding_height = (this.height/ 267)* 15


          $('#popzoom_shadow').css({'position':'absolute', 'z-index':101, top:-show_padding_height, left:-show_padding_width} )
          $('#popzoom_shadow').height( this.height+ (2*settings.padding) + (show_padding_height * 2))
          $('#popzoom_shadow').width( this.width + (2*settings.padding) + (show_padding_width*2))

          $('#popzoom_window').css({'position':'absolute', 'z-index':102, top:0, left:0,width: this.width + (2*settings.padding), height:this.height+ (2*settings.padding)} )

          $('#popzoom_image').attr({'src':this.src,'width':this.width, 'height':this.height})
          $('#popzoom_image').css({position:'absolute',top:settings.padding,left:settings.padding})


          $(popzoom).css({
            'width':this.width + (2*settings.padding),
            'height':this.height + (2*settings.padding),
            'top':  popzoom.parent_offset.top - ((this.height+(2*settings.padding) - $(popzoom._parent).height())/2),
            'left':  popzoom.parent_offset.left - ((this.width+(2*settings.padding) - $(popzoom._parent).width())/2)
            })



          $(popzoom).fadeIn('fast').draggable()


          // animate resize the popzoom window

          //alert(settings.padding)


        }

        popzoom_img_preloader.src = href

        return false; // stop go to the url
      }
      )

    }

  )

  $('body').click(function(){
    if(popzoom){
      if($(popzoom).css('display')!= 'none'){
        $('#popzoom').remove()
        popzoom = undefined
      }
    }

  })

}
var portfolio_display_id = undefined
var portfolio_display_info_id = undefined
var  portfolio_display_info = ''
var pf_display_img = new Image()
function init_portfolio_gallery(){
    pf_display_img.onload = function(){
      $('#'+portfolio_display_id).attr('src',this.src)
      if(portfolio_display_info_id !='' && portfolio_display_info_id!= undefined){
        $('#'+portfolio_display_info_id).html(portfolio_display_info)
      }
    }

    $('.portfolio_thumbnails').each(
      function(i){
        $(this).children('a').each(
          function(j){
            $(this).bind('click',function(){
              $(this).parent().children('a.selected').removeClass('selected')
              $(this).addClass('selected')

              portfolio_display_id = $(this).parent().attr('display')
              portfolio_display_info_id = $(this).parent().attr('display_info')
              portfolio_display_info = $(this).children('img').attr('title')

              if(portfolio_display_id!=undefined){
                pf_display_img.src = $(this).attr('href')
              }

              return false

            })
          }
        )
      }
    )
}

/* Browser Detection Class */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser"
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version"
		this.OS = this.searchString(this.dataOS) || "an unknown OS"
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string
			var dataProp = data[i].prop
			this.versionSearchString = data[i].versionSearch || data[i].identity
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity
			}
			else if (dataProp)
				return data[i].identity
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString)
		if (index == -1) return
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1))
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
}

BrowserDetect.init()
