
/***************************** /home/common/js/common_all.js **********************************************/

function include_dom(script_filename) {

	document.write('<' + 'script');
    document.write(' language="javascript"');
    document.write(' type="text/javascript"');
    document.write(' src="' + script_filename + '">');
    document.write('</' + 'script' + '>');
    
}

	$(document).ready(function (){
		
		$('#siteSearchForm').submit(function (){
			 var url = $(this).attr('action');
			 keyword = $('#siteSearchForm input[type=text]').val();
			 url += 'keyword/'+keyword;
			 document.location.href = url;
			 return false;
	 	});
 	 
	
		switch(page)
		{
			case "contact_us":
			case "return_policy":
			case "link_us":
				$.meta.setType("attr", "validate");
				$("#custInfo").validate();				
				
				// alternate to captcha
				$.get(this_www_root+'ajax.php?cmd=set_form_token',function (data){
					var hdn = '<input type="hidden" name="ts" value="'+data+'">'
					$('#custInfo').append(hdn);
				});			
			break;
            
            case "related_products":
                 jQuery('#related-products').jcarousel({
                    scroll:4,
                    visible:3,
                    initCallback: function (){
                            jQuery('#loading-div').hide();
                            jQuery('.jcarousel-skin-tango').css('visibility','visible');
                            
                        }
                    }); 
            break;
			
			
		}
	});

function append_script_to_header(script_path)
{	
	var script = $('script').filter('[src="'+script_path+'"]');
	if(script.length == 0)
	{
		var str_include = '<' + 'script';
	    str_include += ' language="javascript"';
	    str_include += ' type="text/javascript"';
	    str_include += ' src="' + script_path  + '">';
	    str_include += '</' + 'script' + '>';
			     
	    $('head').append(str_include);
	}
}

function append_script_to_footer(script_path)
{	
	var script = $('script').filter('[src="'+script_path+'"]');	
	if(script.length == 0)
	{
		var str_include = '<' + 'script';
	    str_include += ' language="javascript"';
	    str_include += ' type="text/javascript"';
	    str_include += ' src="' + script_path  + '">';
	    str_include += '</' + 'script' + '>';
			     
	    $('body').append(str_include);
	}
}

function append_style_to_footer(style_path)
{
    var style = $('style').filter('[href="'+style_path+'"]');	
	if(style.length == 0)
	{
	   //<link rel="stylesheet" type="text/css" href="print.css" media="print" />

		var str_include = '<' + 'link';
	    str_include += ' rel="stylesheet"';
	    str_include += ' type="text/css"';
	    str_include += ' href="' + style_path  + '"';
	    str_include += ' />';
			     
	    $('body').append(str_include);
	}
}


var popUpWin=0;

function popUpWindow(URLStr,width,height)
{

  var left = 50;
  var top = 50;

  if(width<1)
  	width = 420;

  if(height<1)
  	height = 495;

  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }

  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
  //popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
  //popUpWin = open(URLStr, 'popUpWin');

}

function roundoff(number,decimal_places)
{
	number = ""+number;
	dot_pos = number.indexOf(".");
	//console.log(dot_pos);
	if(dot_pos==-1){
		// decimal point not found
		// append zeros
		number += "."; 
		for(i=0;i<decimal_places;i++){
			number += "0";
		}
		//console.log(number);
		new_number = number;
		//console.log(new_number);
	}else{
		num_part = dot_pos + decimal_places +1;
		//console.log("indexof: "+num_part);
		new_number = number.substr(0,num_part);
		//console.log(new_number);
		//new_number = (new_number);
	}
	return new_number;
}




function is_valid_email(email){
	return email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i) ;
}

function is_empty_string(str){	
	
	if(str == ''){
		return true;
	}else if (typeof str=="string" && str.match(/^\s$/i)) {		
		return true;	
	}else{		
		return false;
	}
	
}

function getMousePosX(e)
{
	var posx = 0;
	
	if (!e) var e = window.event;
	if (e.pageX) 	{
		posx = e.pageX;
		
	}
	else if (e.clientX ) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;		
	}
	
	return posx;
}

function getMousePosY(e)
{	
	var posy = 0;
	if (!e) var e = window.event;
	if ( e.pageY) {		
		posy = e.pageY;
	}
	else if (e.clientY) {		
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	
	return posy;

}


function str_replace(search, replace, str)
{
	while(str.indexOf(search) != -1){
        str = str.replace(search,replace);
    }
	return str;
}

/***************************** /home/vconeq/public_html/_templates/_js/header.js **********************************************/


$(document).ready(function(){		
	
	
});

/***************************** /home/vconeq/public_html/_templates/_js/site.js **********************************************/


switch(page)
{
	case "contact_us":
	case "return_policy":
	case "comparison":		
		include_dom(js_file_path+"jquery/jquery.corner.js");
		include_dom(js_file_path+"jquery/cmxforms.js");
		include_dom(js_file_path+"jquery/jquery.metadata.js");
		include_dom(js_file_path+"jquery/jquery.validate.js");
	break;
}


$(document).ready(function(){
	
	// code common to all pages of site except cart pages,  comes here
	
	
	
	// page specific code
	switch(page)
	{
		case "index":
			$('#all-banners-navigation').html('');
				$('#all-banners').cycle({
					fx:'fade',
					timeout:10000,
					speed:1500,
					pause:1,
					pager: '#all-banners-navigation'
					/*,
					after: onAfter*/
				});
				
				$('#all-banners').css('visibility','visible');
		break;
		
		case "comparison":
			adjust_panel_height();
			$('.comparison').flexigrid({height:'auto',striped:false});
		break;	
		
		case "contact_us":
		case "return_policy":			
		case "privacy_policy":		
		case "applications":
		case "static":
		case "services":
		case "videos":
		case "faqs":
		case "success_stories":
		case "payment_policy":
		case "about_us":
			adjust_panel_height();
			
		break;	
		
		case "help":
			adjust_panel_height();
			
			$('#tutorial').load( function(){
                    $(this.contentDocument).find('body').html('This frame was modified with jQuery! Yay!!!')
            });
		break;

				
	}
	

});


function adjust_panel_height(){
	new_height = $("#middle-right").height();			
	prev_height = $("#panel-left").height();
	if(prev_height < new_height){
		$("#panel-left").css('height',new_height+'px');
	}	
}


/***************************** /home/common/js/jquery/jquery.corner.js **********************************************/

/*
 * jQuery corner plugin
 *
 * version 1.7 (1/26/2007)
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

/**
 * The corner() method provides a simple way of styling DOM elements.  
 *
 * corner() takes a single string argument:  $().corner("effect corners width")
 *
 *   effect:  The name of the effect to apply, such as round or bevel. 
 *            If you don't specify an effect, rounding is used.
 *
 *   corners: The corners can be one or more of top, bottom, tr, tl, br, or bl. 
 *            By default, all four corners are adorned. 
 *
 *   width:   The width specifies the width of the effect; in the case of rounded corners this 
 *            will be the radius of the width. 
 *            Specify this value using the px suffix such as 10px, and yes it must be pixels.
 *
 * For more details see: http://methvin.com/jquery/jq-corner.html
 * For a full demo see:  http://malsup.com/jquery/corner/
 *
 *
 * @example $('.adorn').corner();
 * @desc Create round, 10px corners 
 *
 * @example $('.adorn').corner("25px");
 * @desc Create round, 25px corners 
 *
 * @example $('.adorn').corner("notch bottom");
 * @desc Create notched, 10px corners on bottom only
 *
 * @example $('.adorn').corner("tr dog 25px");
 * @desc Create dogeared, 25px corner on the top-right corner only
 *
 * @example $('.adorn').corner("round 8px").parent().css('padding', '4px').corner("round 10px");
 * @desc Create a rounded border effect by styling both the element and its parent
 * 
 * @name corner
 * @type jQuery
 * @param String options Options which control the corner style
 * @cat Plugins/Corner
 * @return jQuery
 * @author Dave Methvin (dave.methvin@gmail.com)
 * @author Mike Alsup (malsup@gmail.com)
 */
jQuery.fn.corner = function(o) {
    function hex2(s) {
        var s = parseInt(s).toString(16);
        return ( s.length < 2 ) ? '0'+s : s;
    };
    function gpc(node) {
        for ( ; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode  ) {
            var v = jQuery.css(node,'backgroundColor');
            if ( v.indexOf('rgb') >= 0 ) { 
                rgb = v.match(/\d+/g); 
                return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
            }
            if ( v && v != 'transparent' )
                return v;
        }
        return '#ffffff';
    };
    function getW(i) {
        switch(fx) {
        case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
        case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
        case 'sharp':  return Math.round(width*(1-Math.cos(Math.acos(i/width))));
        case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
        case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
        case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
        case 'curl':   return Math.round(width*(Math.atan(i)));
        case 'tear':   return Math.round(width*(Math.cos(i)));
        case 'wicked': return Math.round(width*(Math.tan(i)));
        case 'long':   return Math.round(width*(Math.sqrt(i)));
        case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
        case 'dog':    return (i&1) ? (i+1) : width;
        case 'dog2':   return (i&2) ? (i+1) : width;
        case 'dog3':   return (i&3) ? (i+1) : width;
        case 'fray':   return (i%2)*width;
        case 'notch':  return width; 
        case 'bevel':  return i+1;
        }
    };
    o = (o||"").toLowerCase();
    var keep = /keep/.test(o);                       // keep borders?
    var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]);  // corner color
    var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]);  // strip color
    var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
    var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
    var fx = ((o.match(re)||['round'])[0]);
    var edges = { T:0, B:1 };
    var opts = {
        TL:  /top|tl/.test(o),       TR:  /top|tr/.test(o),
        BL:  /bottom|bl/.test(o),    BR:  /bottom|br/.test(o)
    };
    if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
        opts = { TL:1, TR:1, BL:1, BR:1 };
    var strip = document.createElement('div');
    strip.style.overflow = 'hidden';
    strip.style.height = '1px';
    strip.style.backgroundColor = sc || 'transparent';
    strip.style.borderStyle = 'solid';
    return this.each(function(index){
        var pad = {
            T: parseInt(jQuery.css(this,'paddingTop'))||0,     R: parseInt(jQuery.css(this,'paddingRight'))||0,
            B: parseInt(jQuery.css(this,'paddingBottom'))||0,  L: parseInt(jQuery.css(this,'paddingLeft'))||0
        };

        if (jQuery.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        var cssHeight = jQuery.curCSS(this, 'height');

        for (var j in edges) {
            var bot = edges[j];
            strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
            var d = document.createElement('div');
            var ds = d.style;

            bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

            if (bot && cssHeight != 'auto') {
                if (jQuery.css(this,'position') == 'static')
                    this.style.position = 'relative';
                ds.position = 'absolute';
                ds.bottom = ds.left = ds.padding = ds.margin = '0';
                if (jQuery.browser.msie)
                    ds.setExpression('width', 'this.parentNode.offsetWidth');
                else
                    ds.width = '100%';
            }
            else {
                ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
                                    (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
            }

            for (var i=0; i < width; i++) {
                var w = Math.max(0,getW(i));
                var e = strip.cloneNode(false);
                e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
            }
        }
    });
};


/***************************** /home/common/js/jquery/jquery.reflect.js **********************************************/

/**
 * reflection.js v1.6 for jquery
 *
 * Contributors: Cow http://cow.neondragon.net
 *               Gfx http://www.jroller.com/page/gfx/
 *               Sitharus http://www.sitharus.com
 *               Andreas Linde http://www.andreaslinde.de
 *               Tralala, coder @ http://www.vbulletin.org
 *				 Danny Ferguson, jquery plugin http://www.brendoman.com/dbc
 *
 * Freely distributable under MIT-style license.
 */

jQuery.fn.reflect = function(settings) {
	settings = jQuery.extend({
		height: 0.5,
		opacity: 0.5,
		inline: false
	}, settings);
	
	this.each( function() {
		var rheight = null;
		var ropacity = null;
		
		if (settings["inline"])
		{
			var classes = this.className.split(' ');
			for (j=0;j<classes.length;j++) {
				if (classes[j].indexOf("rheight") == 0) {
					settings["height"] = classes[j].substring(7)/100;
				} else if (classes[j].indexOf("ropacity") == 0) {
					settings["opacity"] = classes[j].substring(8)/100;
				}
			}
		}

		jQuery.Reflection.add(this, settings);
		
	})
	return this;
}

jQuery.Reflection = {
	
	add: function(image, options) {
		jQuery.Reflection.remove(image);
			
		try {
			var d = document.createElement('div');
			var p = image;
			
			var classes = p.className.split(' ');
			var newClasses = '';
			for (j=0;j<classes.length;j++) {
				if (classes[j] != "reflect") {
					if (newClasses) {
						newClasses += ' '
					}
					
					newClasses += classes[j];
				}
			}

			var reflectionHeight = Math.floor(p.height*options['height']);
			var divHeight = Math.floor(p.height*(1+options['height']));
			
			var reflectionWidth = p.width;
			
			if (document.all && !window.opera) {
				/* Copy original image's classes & styles to div */
				d.className = newClasses;
				p.className = 'reflected';
				
				d.style.cssText = p.style.cssText;
				p.style.cssText = 'vertical-align: bottom';
			
				var reflection = document.createElement('img');
				reflection.src = p.src;
				reflection.style.width = reflectionWidth+'px';
				
				reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
				reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';
				
				d.style.width = reflectionWidth+'px';
				d.style.height = divHeight+'px';
				p.parentNode.replaceChild(d, p);
				
				d.appendChild(p);
				d.appendChild(reflection);
			} else {
				var canvas = document.createElement('canvas');
				if (canvas.getContext) {
					/* Copy original image's classes & styles to div */
					d.className = newClasses;
					p.className = 'reflected';
					
					d.style.cssText = p.style.cssText;
					p.style.cssText = 'vertical-align: bottom';
			
					var context = canvas.getContext("2d");
				
					canvas.style.height = reflectionHeight+'px';
					canvas.style.width = reflectionWidth+'px';
					canvas.height = reflectionHeight;
					canvas.width = reflectionWidth;
					
					d.style.width = reflectionWidth+'px';
					d.style.height = divHeight+'px';
					p.parentNode.replaceChild(d, p);
					
					d.appendChild(p);
					d.appendChild(canvas);
					
					context.save();
					
					context.translate(0,image.height-1);
					context.scale(1,-1);
					
					context.drawImage(image, 0, 0, reflectionWidth, image.height);
	
					context.restore();
					
					context.globalCompositeOperation = "destination-out";
					var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
					
					gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
					gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");
		
					context.fillStyle = gradient;
					if (navigator.appVersion.indexOf('WebKit') != -1) {
						context.fill();
					} else {
						context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
					}
				}
			}
		} catch (e) {
	    }
	},
	
	remove : function(image) {
		if (image.className == "reflected") {
			image.className = image.parentNode.className;
			image.parentNode.parentNode.replaceChild(image, image.parentNode);
		}
	}
}



