function hideCart(im){
	window.setTimeout('document.getElementById("mCart").style.display = "none";document.getElementById("'+im+'").src = "img/mini_cart/cart_button.gif";', 2000)
}
function showCart(){
	var cont = document.getElementById("mCart");
	cont.style.display = 'block';
	/*}else{
		hideDelay = window.setTimeout('hideCart()', 1000);
	*/
}

function vToggle(tItem){
	if(document.getElementById(tItem).style.display=='none'){
		document.getElementById(tItem).style.display='block';
	}else{
		document.getElementById(tItem).style.display='none';
	}
}

function highlightPromo(item){
	var hItem = document.getElementById("pThumb"+item);
	hItem.className = 'hover';
	for(j=0;j<10;j++){ if(j != item) document.getElementById("pThumb"+j).className = ''; }
	document.getElementById("promoName").innerHTML = promoItems[item]['name'];
	document.getElementById("promoImg").src = promoItems[item]['img'];
	document.getElementById("promoPrice").innerHTML = promoItems[item]['price'];
	document.getElementById("promoSuggest").innerHTML = promoItems[item]['suggested'];
	document.getElementById("promoPrice").innerHTML = promoItems[item]['price'];
	document.getElementById("promoRegular").innerHTML = promoItems[item]['regular'];
	document.getElementById("promoEach5").innerHTML = "for $"+promoItems[item]['each5']+" each";
	document.getElementById("promoEach10").innerHTML = "for $"+promoItems[item]['each10']+" each";
	document.getElementById("promoDesc").innerHTML = promoItems[item]['desc'];
	document.getElementById("promoMorelink").href = promoItems[item]['plink'];
}

function modRate(rating){
	var modSubmit = document.getElementById('mod_submit');
	document.getElementById('curRating').style.width = rating*17+'px';
	document.getElementById('ratingBar').value = rating;
	document.getElementById('rating_score').innerHTML = rating;
}

function checkValue(fld, but, flg){
    var modSubmit = document.getElementById(but);
    var gtg = 0;
    if(fld.value != '') gtg = 1;
    if(flg == 0){
        if($('ratingBar').value > 0){
            if(fld.value != ''){
                gtg = 1;
            }else{
                gtg = 0;
            }
        }
    }

    if(gtg == 1){
        modSubmit.style.color = '#6c6c6c';
        modSubmit.style.cursor = 'pointer';
    }else{
        modSubmit.style.color = '#bdbdbd';
        modSubmit.style.cursor = 'pointer';
    }
}

function checkRatingForm(frm, flg){
    var gtg = 0;
    if($('body').value != '') gtg = 1;
    if(flg == 0){
        if($('ratingBar').value > 0){
            if($('body').value != ''){
                gtg = 1;
            }else{
                gtg = 0;
                alert('You must write a review in order to to rate this extension.');
            }
        }
    }
    if(gtg == 1){
        frm.submit();
    }
}

function selectFeatTab(){
	var tabBut1 = document.getElementById("featScreenshots");
	var tabBut2 = document.getElementById("featScreencasts");
	var tab1 = document.getElementById("featTabScreenshots");
	var tab2 = document.getElementById("featTabScreencasts");
	if(tab1.style.display == 'none'){
		tab2.style.display = 'none';
		tab1.style.display = 'block';
		tabBut2.className = '';
		tabBut1.className = 'active';
	}else{
		tab1.style.display = 'none';
		tab2.style.display = 'block';
		tabBut1.className = '';
		tabBut2.className = 'active';
	}
}

function open_page(page_url, page_title, page_content){
	var paramWin = 'width=500,height=400';
    var oNewWin = window.open('about:blank', '_blank', paramWin);
    
    var sHTML = "<html><head>";
    sHTML += "<title>" + page_title + "</title>";
	sHTML += "</head>";
    sHTML += "<body style='margin:15px;font-family:Arial;font-size:12px;'>";
	sHTML += '<div style="width:470px;">';
	sHTML += "<h3>" + page_title + "</h3>";
    sHTML += "<div style='border:1px solid #eaeaea; background:#f5f5f5; padding:19px;line-height:20px;'>" + page_content + "</div>";
	sHTML += '<div align="center" style="margin:15px;"><input type="button" onclick="window.close();" value="Close" /></div>';
    sHTML += "</div></body></html>";
    oNewWin.document.writeln(sHTML);
}

function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

function checkDownloadSelect (frm){
	for(i=0;i<frm.elements.length;i++){
		var el = frm.elements[i];
		if(el.type == "select-one"){
			if(el.value == ""){
				alert("You must select format in order to continue!");
				return false;
			}
		}
	}
	return true;
}

function convertTime(time){
	if ( time < 59 ) {
		return 'less than a minute ago';
	} 
	else if ( time < 119 ) {
		return 'about a minute ago';
	} 
	else if ( time < 3000 ) {
		return ( parseInt( time / 60 )).toString() + ' minutes ago';
	} 
	else if ( time < 5340 ) {
		return 'about an hour ago';
	} 
	else if ( time < 9000 ) {
		return 'a couple of hours ago';  
	}
	else if ( time < 82800 ) {
		return 'about ' + ( parseInt( time / 3600 )).toString() + ' hours ago';
	} 
	else if ( time < 129600 ) {
		return 'a day ago';
	}
	else if ( time < 172800 ) {
		return 'almost 2 days ago';
	}
	else {
		return ( parseInt(time / 86400)).toString() + ' days ago';
	}
}

function horizScroller(opt) /* Used in Showcase pages */
{
   var d = 0;
   opt.delay = opt.delay || 50;
   opt.dist = opt.dist || 2;
   opt.leftEl.onmouseover = function() { d = -opt.dist; scroll(); }
   opt.leftEl.onmouseout = function() { d = 0 }
   opt.rightEl.onmouseover = function() { d = opt.dist; scroll(); }
   opt.rightEl.onmouseout = function() { d = 0 }
   
    function scroll()
   {
       if (!d) return;
       var x = opt.contentEl.scrollLeft+d, stop = false, rightBoundary = opt.contentEl.scrollWidth-opt.contentEl.offsetWidth;
       if (x<0) {
           addClassName(opt.leftEl, 'disabled');
           x = 0;
           stop = true;
       } else {
           removeClassName(opt.leftEl, 'disabled');
       }
       if (x>=rightBoundary) {
           addClassName(opt.rightEl, 'disabled');
           x = rightBoundary;
           stop = true;
       } else {
           removeClassName(opt.rightEl, 'disabled');
       }
       opt.contentEl.scrollLeft = x;
       if (stop) return;
       window.setTimeout(scroll, opt.delay);
   }
   
   function addClassName(el, className)
   {
       el.className = el.className.replace(new RegExp(' ?'+className+'|$'), ' '+className);
   }
   
   function removeClassName(el, className)
   {
       el.className = el.className.replace(new RegExp(' ?'+className+'( |$)'), '$1');
   }
}


function fetchURL(form_name)
{
	var ele = document.getElementById(form_name);
	goURL = ele.options[ele.selectedIndex].value;
	if (goURL) location.href = goURL;
}

function showPaymentList(objId, lnk)
{
    obj = document.getElementById(objId);
    if( obj.style.display == 'block' ){
        obj.style.display = 'none';
        lnk.innerHTML = '[ + ] view all supported payment gateways';
    }else{
        obj.style.display = 'block';
        lnk.innerHTML = '[ - ] hide all supported payment gateways';
    }
}

function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return [curleft,curtop];
    }
}

function extensionsLinksTrack(divId,trackUrl,memberId){
    var container = $(divId);
    var links = container.getElementsByTagName('a');
    if(links.length > 0){
        for( i=0;i<links.length;i++ ){
            if(links[i].href != ''){
                links[i].target = "_blank";
                links[i].onclick = function(){
                    if(memberId > 0){
                        new Ajax(trackUrl, {method: 'get'}).request();
                    }else{
                        showLoginMessage(this);
                        return false;
                    }
                }
            }
        }
    }
}

function loadScript(url, callback){
    var script = document.createElement("script")
    script.type = "text/javascript";
    if (script.readyState){  //IE
        script.onreadystatechange = function(){
            if (script.readyState == "loaded" ||
                    script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
            }
        };
    } else {
        script.onload = function(){
            callback();
        };
    }

    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}  

function loadStyles(url){
    var link = document.createElement("link");
    link.rel = 'stylesheet'
    link.type = "text/css";
    if (link.readyState){  //IE
        link.onreadystatechange = function(){
            if (link.readyState == "loaded" ||
                    link.readyState == "complete"){
                link.onreadystatechange = null;
            }
        };
    }

    link.href = url;
    document.getElementsByTagName("head")[0].appendChild(link);
}  

function getWindowSize(){
     var viewportwidth;
     var viewportheight;
     
     // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
     
     if (typeof window.innerWidth != 'undefined')
     {
          viewportwidth = window.innerWidth,
          viewportheight = window.innerHeight
     }
     
    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

     else if (typeof document.documentElement != 'undefined'
         && typeof document.documentElement.clientWidth !=
         'undefined' && document.documentElement.clientWidth != 0)
     {
           viewportwidth = document.documentElement.clientWidth,
           viewportheight = document.documentElement.clientHeight
     }
     
     // older versions of IE
     
     else
     {
           viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
           viewportheight = document.getElementsByTagName('body')[0].clientHeight
     }
     return [viewportwidth,viewportheight];
}
