/* $Rev: 3634 $ */
var hr = escape(window.location.href);
var popups = new Array();

function MM_preloadImages() { //v3.0
	var d=document;if(d.images){
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){
				d.MM_p[j]=new Image;d.MM_p[j++].src=a[i];
			}
	}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
	var p,i,x;if(!d) d=document;if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n);return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array;for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){
			document.MM_sr[j++]=x;if(!x.oSrc) x.oSrc=x.src;x.src=a[i+2];
		}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function Popup(url,width,height,target,status){
	if(!target) target = '_blank';
	if(!width)  width  = '430';
	if(!height) height = '250';
	if(!status) status = 'no';

	popups[popups.lenght] = window.open(
		url,
		target,
		"width="+width+", height="+height+", scrollbars=yes, status="+status+", resizable=yes"
		);
}
function Replay(id,url){
	document.getElementById(id).src=url;
}


function submit_tell_friend(form, type, templ){
	real_action = '/tell_friend.php'
	target="_tell_friend"
	if (type != 3){
		email = form.friendsemail.value
		arr = email.match("^[0-9a-zA-Z]([0-9a-zA-Z\._\-]*)@(([0-9a-zA-Z\-]+\.)+)([0-9a-zA-Z\-]+)$")

		if (!arr){
			alert("Please enter valid email")
			return
		}
	}

	if (type == 2){
		window.open(real_action + "?type=2&friend_email=" + escape(email), target, "width=580, height=400, location=0, menubar=0, status=0, resizable=1");
	}else if (type == 3){
		window.open(real_action + "?type=3&templ=" + escape(templ), target, "width=580, height=400, location=0, menubar=0, status=0, resizable=1");
	}else{
		window.open(real_action + "?friend_email=" + escape(email), target, "width=580, height=400, location=0, menubar=0, status=0, resizable=1");
	}

}

function wopen2(url){
	window.open(url, 'ww', 'width=600, height=450, location=no,resizable=yes,scrollbars=yes');
}

function wopen(url){
	window.open(url, 'ww', 'width=550, height=450, location=no,resizable=yes,scrollbars=yes');
}
function wopen3(url) {
	window.open(url, 'ww', 'width=575, height=385, location=no,resizable=yes,scrollbars=no');
}

/*function submit_wish(){
	var real_action = 'wish.php';
	var target="Thank_You";
	var wish = document.forms['wish_form'].wish.value;
	var url = document.forms['wish_form'].url.value;
	if( wish.length < 1  ){
		alert("Enter subject you can not find, please !");
	}else if( url.length < 1){
		alert("Enter url of a sample site, please !");
	}else{
		window.open( real_action+"?wish="+escape(wish)+"&url="+escape(url)+"&wish_type=<?=(isset($wish_type) ? $wish_type : "1")?>", target, "location=0, menubar=0, status=0, resizable=1" );
	}
}*/

/******************POPUP*******************/

function getClientCenterX() {
	return parseInt(getClientWidth()/2)+getBodyScrollLeft();
}

function getClientCenterY() {
	return parseInt(getClientHeight()/2)+getBodyScrollTop();
}
function getClientWidth() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight() {
	return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}

function getBodyScrollTop() {
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft() {
	return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function hidden(id) {
	document.getElementById('price').value = '';
	document.getElementById('info').innerHTML = '';
	document.getElementById(id).style.display = 'none';
	document.getElementById('iframe').style.display = 'none';
}


function showpopup(id,tml_id) {
	template_id = tml_id;
	document.getElementById(id).style.top = getBodyScrollTop()+(getClientHeight()/4);
	document.getElementById('iframe').style.top = getBodyScrollTop()+(getClientHeight()/4);
	document.getElementById('iframe').style.display = 'block';
	document.getElementById(id).style.display = 'block';
	document.getElementById('price').focus();
}

function checkPrice() {
	var price = document.getElementById('price').value;
	if(price >= 5) {
		add_link = "javascript: cartWithYourPrice('"+template_id+"', '"+price+"')";
		document.getElementById('buy').href = add_link;
		document.getElementById('add').href = add_link;
	}else {
		document.getElementById('info').innerHTML = "We are sorry but you cannot set the price that is lower than $5.";
	}
}
/*********************************************************/

function tell_a_friend(e)
{
	var f = $(e).closest('form');
    var dataToSend=f.serialize();
    var urlToRequest=f.attr('action')+'?';
    $.ajax({
       url: urlToRequest,
       data: dataToSend,
       dataType:'json',
       success: function(json) {
           if (json && json.type) {
               switch(json.type) {
                   case "error":
                       var v='';
                       for (i=0;json.data.length>i;i++) {v=v+(json.data[i])+'<br />';}
                       $("#tell-a-friend-errors").html('<label style="color: red; font-weght: normal;">' + v + '<br></label>');
                       break;
                   case "ok":
                       $("#tell-a-friend-errors").html('<label style="color: #3F89C3;">' + json.data + '<br><br></label>');
                       $('input[name="friend_email"]',f).val('');
                       $('input[name="friend_name"]',f).val('');
                       break;
               }
           }
       }
    });
}




function ga_track_banner(banner_code){
	try {
		if (_gaq) {
			_gaq.push(['_trackPageview', banner_code]);
		}
	} catch(err) {}
}

function trim(text) {
	return (text || "").replace(/^\s+|\s+$/g, "");
}

//===================
//   McAfee Banner
//===================
function ShowMcAfeeBanner(id) {
	var McAfee_html = '<a target="_blank" href="https://www.mcafeesecure.com/RatingVerify?ref=www.templatemonster.com"><img width="65" height="37" border="0" src="https://images.scanalert.com/meter/www.templatemonster.com/55.gif" alt="McAfee Secure sites help keep you safe from identity theft, credit card fraud, spyware, spam, viruses and online scams" oncontextmenu="alert(\'Copying Prohibited by Law - McAfee Secure is a Trademark of McAfee, Inc.\'); return false;" /></a>';
	var box = document.getElementById(id);
	box.innerHTML = McAfee_html;
}
function initializeMcAfeeBanner() {
	if (typeof (McAfeeBannerInitialized) == 'undefined') {
		if (typeof(jQuery) == 'function') {
			if ((typeof (j) !== 'undefined') && (j == jQuery)) {
				j(document).ready(function(){
					ShowMcAfeeBanner('McAfeeBox')
				});
			} else {
				jQuery(document).ready(function(){
					ShowMcAfeeBanner('McAfeeBox')
				});
			}
		} else if (typeof(Prototype) == 'object') {
			new Event.observe(window, 'load', function(){
				ShowMcAfeeBanner('McAfeeBox');
			});
		} else {
			// works when theren't any framewprks on the page
			setTimeout("ShowMcAfeeBanner('McAfeeBox')", 1500);
		}
		McAfeeBannerInitialized = true;
	}
}
//==========

function initCorrectUrlForDelicious() {
	var delicious_icon = document.getElementById('delicious_social_icon');
	var title_cont = document.getElementsByTagName('title')[0].innerHTML;
	try {
		var meta = document.getElementsByName('description')[0].content;
	} catch(e) {
		meta = '';
	}
	delicious_icon.href += '?url='+location.href+'&title='+title_cont+'&notes='+meta;
}

function initalizeBlocksAligner(wrappers) {
	// jQuery is required
	// ujeen
	$(document).ready(function(){

		function calculateOthers(wrappers) {
			var max_elem_num = wrappers.length-1;
			var max_elem_padding = parseInt(wrappers[max_elem_num].css('padding-top'))+parseInt(wrappers[max_elem_num].css('padding-bottom'));

			for (var i = 0 ; i < wrappers.length-1 ; i++) {
				var temp_var1 = parseInt(wrappers[i].css('padding-top'))+parseInt(wrappers[i].css('padding-bottom'));
				wrappers[i].height(wrappers[max_elem_num].height()-(temp_var1-max_elem_padding))
			}
		}
		function sortFromMax(wrappers) {
			for (var i = 0 ; i < wrappers.length ; i++) {
				var temp_var;
				if (typeof wrappers[i+1] != 'undefined') {
					if (wrappers[i].height() > wrappers[i+1].height()) {
						temp_var = wrappers[i+1];
						wrappers[i+1] = wrappers[i];
						wrappers[i] = temp_var;
					}
				}
			}
			return wrappers;
		}
		if ((wrappers != null) && (typeof wrappers == 'object')) {

			for (var i = 0 ; i < wrappers.length ; i++) {
				wrappers[i] = $(wrappers[i]);
			}
			calculateOthers(sortFromMax(wrappers));
		}

	})
}
/* Tips
 * ujeen
*/
var tipsClass = function() {
  var data = {
    tips                : null  ,
    switcher            : null  ,
    hideButton          : null  ,
    speed               : 1000  ,
    tipClass            : null  ,
    hideStatus          : 'hidden',
    closeAll            : false ,
    closedWrapperClass  : 'closed',
    clickableHeadline   : {
      switcher  : null,
      wrapper   : null,
      enabled   : false
    }

  }

  this.init = function(innerData) {

    $.extend(data , innerData);

    data.closeAll          = data.closeAll === true ? data.closeAll : false ;
    data.tips              = $(data.tips);
    data.switcher          = $(data.switcher);
    data.hideButton        = $(data.hideButton);
    preliminaryStyling();
    attachEvents();
  }

  var preliminaryStyling = function() {
    data.tips.hide();
    if (data.closeAll) {data.hideButton.hide()}
  }

  var attachEvents = function() {

    data.switcher.click(function(){
      animateIt({obj : data.tips , stop : false})
      data.hideButton.show();
      animateIt({obj : $(this) , stop : false , type : 'hide' })
      return false;
    })
    if (data.clickableHeadline.enabled) {
      $(data.clickableHeadline.switcher , data.tips).css('cursor','pointer')
      .click(function(){
        var animatedWrapper = $(this).parent().find(data.clickableHeadline.wrapper);
        if (!animatedWrapper.hasClass('animating')) {
          animatedWrapper.addClass('animating '+data.closedWrapperClass).slideToggle(function(){
            $(this).removeClass('animating')
            if ($(this).css('display') != 'none') {
              $(this).removeClass(data.closedWrapperClass)
            }
          })
        }
      })
    }
    data.hideButton.click(function() {
      if (data.closeAll) {
        refreshView()
      } else {
        var currentTip = $(this).closest(data.tipClass)
        animateIt({obj : currentTip , type : 'hide'}).addClass(data.hideStatus)
      }
      if (checkIfAllClosed()) {
        refreshView()
      }
      return false;
    })
  }

  var animateIt = function (innerAnimData) {
    var animData = {
      obj       : null ,
      type      : 'show',
      stop      : true  ,
      speed     : data.speed ,
      callback  : function(){}
    }
    $.extend(animData , innerAnimData);
    switch (animData.type) {
      case 'show':
        if(animData.stop === true) {
          animData.obj.stop().slideDown(animData.speed,animData.callback)
        } else {
          animData.obj.slideDown(animData.speed,animData.callback)
        }
        break;
      case 'hide':
        if(animData.stop === true) {
          animData.obj.stop().slideUp(animData.speed,animData.callback)
        } else {
          animData.obj.slideUp(animData.speed,animData.callback)
        }
        break;
      default:
        break;
    }
    return animData.obj;

  }

  var stepSlide = function(obj,length) {
    var thisCallback = function(){
      if(length <= 0) {
        animateIt({obj : data.switcher })
      } else {
        stepSlide(obj,length-1)
      }
    }
    var thisSpeed = data.speed;
      if (obj.eq(length).find('.'+data.closedWrapperClass).length > 0 ) {
        thisSpeed = parseInt(thisSpeed / 10);
      }
    animateIt({obj : obj.eq(length) , speed : thisSpeed , type : 'hide' , stop : false , callback : thisCallback})

  }
  var refreshView = function() {
    stepSlide(data.tips, data.tips.length-1);
    if (data.closeAll) {data.hideButton.hide()}
  }

  var checkIfAllClosed = function() {
    return data.tips.filter(function(){
        return !$(this).hasClass(data.hideStatus)
    }).length <= 0
  }
}

/* This class extends a functionality of 'testimonial_popup' object which is declared below
 * ujeen
 */
var multiplePopupClass = function() {

      var buttons,testimonialObj,codesObj;

      this.init = function (button_class, testimonial_popup_obj , codesLiteralObj ) {
        buttons = $(button_class);
        testimonialObj = testimonial_popup_obj;
        codesObj = codesLiteralObj;
        attachEvent()

      }
      var attachEvent = function() {
        buttons.click(function(){
          attachVideo($(this))
          return false;
        })
      }
      var attachVideo = function(button) {
        var button_id = button.attr('id')
        if (button_id != '') {
          var video_code = codesObj[button_id];
          testimonialObj.show_node = button;
          testimonialObj.init(video_code)
          testimonialObj.show_popup();
        } else {
          return false
        }
      }
    }



//Video testimonial popup ----------------------------> Begin
var testimonial_popup = new Object();

$(function(){



    if ($('#video_testimonial_thumbnail').length > 0) {

        testimonial_popup.current_window = $(window);
        testimonial_popup.good_browser = true;
        testimonial_popup.show_node = $('#video_testimonial_thumbnail');
        testimonial_popup.hide_node = $('#close_testimonial_popup');
        testimonial_popup.popup_node = $('#testimonial_popup');
        testimonial_popup.layout_node = $('#popup_back_layout');
        testimonial_popup.video_container = $('#video_wrapper');
        testimonial_popup.video_object = '';
        testimonial_popup.calculate_vertical_offset = function() {
            var vertical_offset = (this.current_window.height() - this.popup_node.height())/2;
            if (!this.good_browser) {
                vertical_offset = vertical_offset + this.current_window.scrollTop();
            }
            if (vertical_offset < 0) {
                vertical_offset = 0;
            }
            return vertical_offset;
        }
        testimonial_popup.show_popup = function() {
            var popup_obj = this;
            popup_obj.video_container.html(popup_obj.video_object);
            var popup = popup_obj.popup_node;
            popup.css('display','block');
            var vertical_offset = popup_obj.calculate_vertical_offset();
            var popup_width = popup.width();
            var horizontal_offset = popup_width/2 - popup_width;
            if (popup_obj.good_browser) {
                popup_obj.layout_node.css('display','block');
            } else {
                popup_obj.layout_node.css({
                    'display':'block',
                    'height':$('body').outerHeight()
                    });
            }
            popup.css({
                'top' : vertical_offset,
                'margin-left' : horizontal_offset,
                'visibility' : 'visible',
                'width':popup_width
            });
        }
        testimonial_popup.hide_popup = function() {
            var popup_obj = this;
            popup_obj.popup_node.css({
                'display':'none',
                'visibility':'hidden'
            });
            popup_obj.video_container.html('');
            popup_obj.layout_node.css('display','none');
        }
        testimonial_popup.init = function(video) {
            var popup_obj = this;
            $('body').css({'position':'relative','height':'100%'});
            popup_obj.video_object = video;
            if ($('body').hasClass('isIE6')) {
                popup_obj.good_browser = false;
            }
            popup_obj.show_node.click(function() {
                popup_obj.show_popup();
                return false;
            });
            popup_obj.layout_node.click(function() {
                popup_obj.hide_popup();
            });
            popup_obj.hide_node.click(function() {
                popup_obj.hide_popup();
                return false;
            });
            popup_obj.current_window.resize(function() {
                popup_obj.popup_node.css('top',popup_obj.calculate_vertical_offset());
            });
            if (!popup_obj.good_browser) {
                popup_obj.current_window.scroll(function() {
                    popup_obj.popup_node.stop().animate({
                        top:popup_obj.calculate_vertical_offset()
                        },500);
                }).resize(function() {
                    popup_obj.layout_node.css('height',$('body').outerHeight());
                });
            }
        }

    }




    //Video testimonial popup ----------------------------> End

})
