// JavaScript Document

<!--
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_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_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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 validateExtension(fileupload)
{
    if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1)
        var fileSplit = '/';
    else
        var fileSplit = '\\';

    var fileTypes     = '.gif,.jpg,.jpeg,.tif,.bmp,.png'.split(','); // valid filetypes
    var fileName      = fileupload.value; // current value
    var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
    var valid = false;
    for(var i in fileTypes)
    {
        if(fileTypes[i] == extension)
        {
            valid = true;
            break;
        }
    }
	return valid;       
}
var emailPat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
function validate(myForm){
	var errs = '';
	var first = '';
	if (myForm.name.value.length < 1) {
		errs += '   your name \n';
	}
	if (myForm.email.length < 1 || myForm.email.value.match(emailPat)==null) {
		errs += '   a valid email \n';
	}
	if (myForm.phone.value.length < 1) {
		errs += '   your phone \n';
	}
	if (myForm.photo.value.length < 1 && myForm.youtube.value.length < 1) {
		errs += '   an image or youtube link \n';
	}
	if (myForm.photo.value.length > 0 && myForm.youtube.value.length > 0) {
		errs += '   only an image or youtube link is required \n';
	}
	if (myForm.subscribeA.value.length < 1) {
		errs += '   accept the terms and conditions \n';
	}
	if (!isYoutubeLink(myForm.youtube.value))
	{
	    errs += '   a link to your Youtube clip (no embed or iframe accepted) \n';
	}
	if (!validateExtension(myForm.photo) && myForm.youtube.value.length < 1) 
	    errs +='    valid file types (.gif,.jpg,.jpeg,.tif,.bmp,.png)\n';
	    
	if (errs.length > 3) { 
		errs = 'You are missing some required fields.\n\nPlease provide: \n' + errs; 
		alert(errs); 
		return false;
	} else {
		return true;
	}
}

function unsubscribeMe(){
	document.getElementById("tickOff").style.display="block";
	document.getElementById("tickOn").style.display="none";
	document.entryForm.subscribe.value='';
}

function subscribeMe(){
	document.getElementById("tickOff").style.display="none";
	document.getElementById("tickOn").style.display="block";
	document.entryForm.subscribe.value='1';
}

function unsubscribeMeA(){
	document.getElementById("tickOffA").style.display="block";
	document.getElementById("tickOnA").style.display="none";
	document.entryForm.subscribeA.value='';
}

function subscribeMeA(){
	document.getElementById("tickOffA").style.display="none";
	document.getElementById("tickOnA").style.display="block";
	document.entryForm.subscribeA.value='1';
}

function setCookie(c_name,value,exdays)
{
    var exdate=new Date();
    exdate.setHours(0);
    exdate.setMinutes(0);
    exdate.setSeconds(0);
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()) +";path=/";
    document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++)
	{
	  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
	  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
	  x=x.replace(/^\s+|\s+$/g,"");
	  if (x==c_name)
		{
		return unescape(y);
		}
	}
}
function votingSettup() {
    $('.lightbox').nyroModal({
        showCloseButton: true,
        callbacks: {
            afterShowCont: function(nm) {
                $(".nyroModalTitle").show();
                $('.nyroModalTitle .vote').click(function(e) {
                    var videoid = $(this).attr("videoid");
                    var voted = getCookie("voted");
                    if (voted == null)
                        voted = ",";
                    else if (voted.indexOf("," + videoid + ",") != -1) {
                        alert("You have already voted today! Thank you for voting.");
                        return;
                    }
                    $.get('vote/?videoid=' + videoid, function(data) {
                        $(".nyroModalTitle .votenum").text(data);
                        $(".nyroModalTitle .vote").hide();
                        setCookie("voted", voted + videoid + ",", 1);
                        alert("Thank you for voting.");
                    });
                });
            }
        }
    });
}
function isYoutubeLink(youtubeLink){
    var blocktags = "iframe,embed";
    var mandatorytags = "v=";
    var isValid = true;
    if (youtubeLink){
        youtubeLink = youtubeLink.toLowerCase();
        var tags = blocktags.split(",");
        for(i = 0; i < tags.length; i++){
            if (youtubeLink.indexOf(tags[i].toLowerCase())!=-1) isValid = false;
        }
        tags = mandatorytags.split(",");
        for(i = 0; i < tags.length; i++){
            if (youtubeLink.indexOf(tags[i].toLowerCase())==-1) isValid = false;
        }
    }
    return isValid;
}
function checkYoutubeLink(youtubeLink){
    var isValid =isYoutubeLink(youtubeLink);
    if (!isValid)
        alert("Please provide a link to your you tube clip, not an embed or iframe code.");
    return isValid;
}
